16#include <RefCountedPtr.H>
25#include <CD_NamespaceHeader.H>
767#include <CD_NamespaceFooter.H>
Declaration of core class for handling AMR-related operations (with embedded boundaries)
Declaration of a base class for tagging cells across an AMR hierarchy.
Declaration of base class for defining geometries.
Declaration of the initialization functions for chombo-discharge.
Declaration of main (abstract) time stepper class.
Main class for time/space advancement of streamer equations.
Definition CD_Driver.H:32
int m_restartStep
Restart step.
Definition CD_Driver.H:193
std::string m_geometryGeneration
Geometry generation method – can choose between native Chombo or chombo-discharge.
Definition CD_Driver.H:102
bool m_allowCoarsening
Allow grid coarsening.
Definition CD_Driver.H:294
int getFinestTagLevel(const EBAMRTags &a_cellTags) const
Return the finest tag level.
Definition CD_Driver.cpp:1859
void getCellsAndBoxes(long long &a_numLocalCells, long long &a_numLocalCellsGhosts, long long &a_numLocalBoxes, long long &a_numTotalCells, long long &a_numTotalCellsGhosts, long long &a_numTotalBoxes, Vector< long long > &a_numLocalLevelBoxes, Vector< long long > &a_numTotalLevelBoxes, Vector< long long > &a_numLocalLevelCells, Vector< long long > &a_numTotalLevelCells, const int &a_finestLevel, const Vector< DisjointBoxLayout > &a_grids)
Get statics about a DisjointBoxLaout. This will compute the number of grid cells and patches both loc...
Definition CD_Driver.cpp:371
void cacheTags(const EBAMRTags &a_tags)
Cache tags. This is used.
Definition CD_Driver.cpp:191
void parseGeometryGeneration()
Parse option for geometry generation.
Definition CD_Driver.cpp:1199
int m_irregTagGrowth
Irregular tag growth.
Definition CD_Driver.H:122
void setupGeometryOnly()
Set for restart.
Definition CD_Driver.cpp:1396
int m_regridInterval
Regrid interval.
Definition CD_Driver.H:138
bool m_plotLevelset
Plot level sets.
Definition CD_Driver.H:344
int m_numPlotGhost
Number of ghost cells to plot.
Definition CD_Driver.H:188
std::string m_outputDirectory
Output directory for output files.
Definition CD_Driver.H:107
void writePreRegridFile()
Write a regrid file.
Definition CD_Driver.cpp:2154
virtual void writeLoads(LevelData< EBCellFAB > &a_output, int &a_comp, const int a_level) const noexcept
Write computational loads to output.
Definition CD_Driver.cpp:2482
std::string m_inputFile
Input file.
Definition CD_Driver.H:92
int m_plotInterval
Plot interval.
Definition CD_Driver.H:148
bool tagCells(Vector< IntVectSet > &a_allTags, EBAMRTags &a_cellTags)
Tag cells for refinement. This computes cell tags and global tags (union of cell tags with geometric ...
Definition CD_Driver.cpp:1888
EBAMRBool m_cachedTags
Cached tags. This is done so that when we regrid and change box ownership we can copy the tags around...
Definition CD_Driver.H:213
void setupFresh(const int a_initialRegrids)
Setup function.
Definition CD_Driver.cpp:1483
void allocateInternals()
Allocate internal storage for Driver.
Definition CD_Driver.cpp:158
void stepReport(const Real a_startTime, const Real a_endTime, const int a_maxSteps)
Write a time step report.
Definition CD_Driver.cpp:1749
std::string m_outputFileNames
Prefix for all output files.
Definition CD_Driver.H:112
void parseIrregTagGrowth()
Parse irregular tag growth.
Definition CD_Driver.cpp:1184
RefCountedPtr< MultiFluidIndexSpace > m_multifluidIndexSpace
Index space.
Definition CD_Driver.H:67
Real m_wallClockTwo
MPI timer.
Definition CD_Driver.H:258
void rebuildParmParse() const
Rebuild Parmparse.
Definition CD_Driver.cpp:1014
void writeCrashFile()
Write a crash file.
Definition CD_Driver.cpp:2205
int m_verbosity
Verbosity.
Definition CD_Driver.H:117
void gridReport()
Print regrid report.
Definition CD_Driver.cpp:447
Driver()=delete
Weak constructor. Not allowed.
Real m_startTime
Simulation start time.
Definition CD_Driver.H:223
std::string m_realm
Name of realm where Driver allocates his data. This is always Realm::Primal.
Definition CD_Driver.H:97
void writeComputationalLoads()
Write computational loads.
Definition CD_Driver.cpp:1993
RefCountedPtr< AmrMesh > m_amr
AMR.
Definition CD_Driver.H:72
void writePlotFile()
Write a plot file. This writes to plt/.
Definition CD_Driver.cpp:2134
int getNumberOfPlotVariables() const
Get number of plot variables.
Definition CD_Driver.cpp:89
EBAMRTags m_tags
Tags.
Definition CD_Driver.H:208
void parseGeometryRefinement()
Parse geometrical refinement.
Definition CD_Driver.cpp:1217
void writeCheckpointFile()
Write a checkpoint file.
Definition CD_Driver.cpp:2522
void createOutputDirectories()
Create output directories.
Definition CD_Driver.cpp:1258
bool m_plotRanks
Plot MPI ranks.
Definition CD_Driver.H:334
int m_maxPlotLevel
Maximum plot depth.
Definition CD_Driver.H:173
Real m_refineAngle
Angle refinement threshold.
Definition CD_Driver.H:263
Real m_stopTime
Simulation stop time.
Definition CD_Driver.H:228
RefCountedPtr< TimeStepper > m_timeStepper
Time stepper.
Definition CD_Driver.H:82
RefCountedPtr< ComputationalGeometry > m_computationalGeometry
Geometry.
Definition CD_Driver.H:77
virtual void writeLevelset(LevelData< EBCellFAB > &a_output, int &a_comp, const int a_level) const noexcept
Write level sets.
Definition CD_Driver.cpp:2435
void getGeometryTags()
Get geometric tags.
Definition CD_Driver.cpp:233
bool m_writeRestartFiles
Write restart files or not.
Definition CD_Driver.H:289
void setup(const std::string a_inputFile, const int a_initialRegrids, const bool a_restart, const std::string a_restartFile)
Setup function.
Definition CD_Driver.cpp:1350
Real m_time
Time.
Definition CD_Driver.H:238
Real m_wallClockOne
MPI timer.
Definition CD_Driver.H:253
void writeGeometry()
Write checkpoint data.
Definition CD_Driver.cpp:2080
int m_geoScanLevel
Geometry scan level.
Definition CD_Driver.H:128
void regridInternals(const int a_oldFinestLevel, const int a_newFinestLevel)
Regrid internal storage for this class.
Definition CD_Driver.cpp:717
bool m_geometryOnly
Geometry only.
Definition CD_Driver.H:319
void sanityCheck()
Sanity check.
Definition CD_Driver.cpp:1738
virtual void writePlotData(LevelData< EBCellFAB > &a_output, int &a_comp, const int a_level) const noexcept
Write internal plot data.
Definition CD_Driver.cpp:2334
Real m_wallClockStart
MPI timer.
Definition CD_Driver.H:248
void writePostRegridFile()
Write a regrid file.
Definition CD_Driver.cpp:2171
int m_geometricTagsDepth
Geometric tag depth.
Definition CD_Driver.H:153
void setCellTagger(const RefCountedPtr< CellTagger > &a_cellTagger)
Set the cell tagger.
Definition CD_Driver.cpp:1054
bool m_writeMemory
Write memory report.
Definition CD_Driver.H:304
void run(const Real a_startTime, const Real a_endTime, const int a_maxSteps)
Run a simulation for a specific time, or until a maximum number of steps have been performed.
Definition CD_Driver.cpp:772
void parseRuntimeOptions()
Parse runtime options.
Definition CD_Driver.cpp:1117
bool m_profile
Profile or not.
Definition CD_Driver.H:268
int m_dielectricTagsDepth
Geometric tag depth for dielectrics.
Definition CD_Driver.H:163
bool m_needsNewGeometricTags
Special option for when geometric tags are changed during a simulation.
Definition CD_Driver.H:279
bool m_writeRegridFiles
Write regrid files or not.
Definition CD_Driver.H:284
int m_timeStep
Time step.
Definition CD_Driver.H:133
void setComputationalGeometry(const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry)
Set the computational geometry.
Definition CD_Driver.cpp:1027
void regrid(const int a_lmin, const int a_lmax, const bool a_useInitialData)
Do a regrid step.
Definition CD_Driver.cpp:606
int m_conductorTagsDepth
Geometric tag depth for conductors.
Definition CD_Driver.H:158
int m_maxSteps
Maximum number of steps.
Definition CD_Driver.H:168
bool m_plotLoads
Plot patch loads.
Definition CD_Driver.H:339
bool m_restart
Restart or not.
Definition CD_Driver.H:314
int m_growTags
Grow tagged cells.
Definition CD_Driver.H:198
void writeRestartFile()
Write a restart file.
Definition CD_Driver.cpp:2188
RefCountedPtr< CellTagger > m_cellTagger
Cell tagger.
Definition CD_Driver.H:87
void writeMemoryUsage()
Write the memory usage to file.
Definition CD_Driver.cpp:1955
virtual void writeTags(LevelData< EBCellFAB > &a_output, int &a_comp, const int a_level) const noexcept
Write cell tags to file.
Definition CD_Driver.cpp:2359
void parsePlotVariables()
Parse plot variables.
Definition CD_Driver.cpp:1147
Real m_outputDt
Time between outputs.
Definition CD_Driver.H:218
virtual ~Driver()
Destructor (does nothing)
Definition CD_Driver.cpp:83
Real m_dt
Time increment.
Definition CD_Driver.H:233
int m_initialRegrids
Number of initial regrids.
Definition CD_Driver.H:183
int m_checkpointInterval
Checkpoint interval.
Definition CD_Driver.H:143
bool m_ebisMemoryLoadBalance
Use memory as load balance for EBIS.
Definition CD_Driver.H:324
bool m_writeLoads
Write loads to file or not.
Definition CD_Driver.H:309
void parseOptions()
Parse options.
Definition CD_Driver.cpp:1069
bool m_doInitLoadBalancing
Do init load balancing.
Definition CD_Driver.H:299
virtual void writeRanks(LevelData< EBCellFAB > &a_output, int &a_comp, const int a_level) const noexcept
Write MPI ranks to output.
Definition CD_Driver.cpp:2407
bool m_doCoarsening
Turn on/off geometry coarsening below the base level.
Definition CD_Driver.H:273
void checkRestartFile(const std::string a_restartFile) const
Check if restart file exists.
Definition CD_Driver.cpp:1723
void setupAndRun()
Setup and run simulations.
Definition CD_Driver.cpp:992
int m_maxCheckpointDepth
Maximum plot depth.
Definition CD_Driver.H:178
Vector< std::string > getPlotVariableNames() const
Get the string identifiers for the internal plot variables from Driver.
Definition CD_Driver.cpp:115
Vector< IntVectSet > m_geomTags
Tags.
Definition CD_Driver.H:203
void setTimeStepper(const RefCountedPtr< TimeStepper > &a_timeStepper)
Set the time stepper.
Definition CD_Driver.cpp:1041
void setAmr(const RefCountedPtr< AmrMesh > &a_amrMesh)
Set amr.
Definition CD_Driver.cpp:1336
bool m_plotTags
Plot tagged cells.
Definition CD_Driver.H:329
void writeEBIS()
Write the geometry to file.
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25