|
| Amr (LevelBld *a_levelbld) |
| The constructor. More...
|
|
| Amr (const RealBox *rb, int max_level_in, const Vector< int > &n_cell_in, int coord, LevelBld *a_levelbld) |
|
| Amr (const Amr &rhs)=delete |
|
| Amr (Amr &&rhs)=delete |
|
Amr & | operator= (const Amr &rhs)=delete |
|
Amr & | operator= (Amr &&rhs)=delete |
|
void | InitAmr () |
|
| ~Amr () override |
| The destructor. More...
|
|
virtual void | init (Real strt_time, Real stop_time) |
| Init data after construction. Must be called before timestepping. More...
|
|
void | InitializeInit (Real strt_time, Real stop_time, const BoxArray *lev0_grids=nullptr, const Vector< int > *pmap=nullptr) |
| First part of initialInit. More...
|
|
void | FinalizeInit (Real strt_time, Real stop_time) |
| Second part of initialInit. More...
|
|
void | setDtLevel (const Vector< Real > &dt_lev) noexcept |
| Set the timestep on each level. More...
|
|
void | setDtLevel (Real dt, int lev) noexcept |
| Set the timestep at one level. More...
|
|
void | setDtMin (const Vector< Real > &dt_min_in) noexcept |
| Set the dtmin on each level. More...
|
|
void | setNCycle (const Vector< int > &ns) noexcept |
| Set the cycle count on each level. More...
|
|
int | subCycle () const noexcept |
| Subcycle in time? More...
|
|
const std::string & | subcyclingMode () const noexcept |
| How are we subcycling? More...
|
|
int | level_being_advanced () const noexcept |
| What is "level" in Amr::timeStep? This is only relevant if we are still in Amr::timeStep; it is set back to -1 on leaving Amr::timeStep. More...
|
|
Real | cumTime () const noexcept |
| Physical time. More...
|
|
void | setCumTime (Real t) noexcept |
|
Real | startTime () const noexcept |
| Physical time this simulation started. More...
|
|
void | setStartTime (Real t) noexcept |
|
Real | dtLevel (int level) const noexcept |
| Time step at specified level. More...
|
|
Real | dtMin (int level) const noexcept |
| Max time step (typically based on physics) at specified level. More...
|
|
const Vector< Real > & | dtLevel () const noexcept |
| Array of time steps at all levels. More...
|
|
int | nCycle (int level) const noexcept |
| Number of subcycled time steps. More...
|
|
int | levelSteps (int lev) const noexcept |
| Number of time steps at specified level. More...
|
|
void | setLevelSteps (int lev, int n) noexcept |
| Number of time steps at specified level. More...
|
|
int | levelCount (int lev) const noexcept |
| Which step are we at for the specified level? More...
|
|
void | setLevelCount (int lev, int n) noexcept |
| Which step are we at for the specified level? More...
|
|
int | regridInt (int lev) const noexcept |
| Interval between regridding. More...
|
|
int | checkInt () const noexcept |
| Number of time steps between checkpoint files. More...
|
|
Real | checkPer () const noexcept |
| Time between checkpoint files. More...
|
|
int | plotInt () const noexcept |
| Number of time steps between plot files. More...
|
|
Real | plotPer () const noexcept |
| Time between plot files. More...
|
|
Real | plotLogPer () const noexcept |
| Spacing in log10(time) of logarithmically spaced plot files. More...
|
|
int | plotMaxLevel () const noexcept |
| Maximum level to plot. More...
|
|
int | smallplotInt () const noexcept |
| Number of time steps between small plot files. More...
|
|
Real | smallplotPer () const noexcept |
| Time between plot files. More...
|
|
Real | smallplotLogPer () const noexcept |
| Spacing in log10(time) of logarithmically spaced small plot files. More...
|
|
AmrLevel & | getLevel (int lev) noexcept |
| AmrLevel lev. More...
|
|
Vector< std::unique_ptr< AmrLevel > > & | getAmrLevels () noexcept |
| Array of AmrLevels. More...
|
|
Long | cellCount () noexcept |
| Total number of cells. More...
|
|
Long | cellCount (int lev) noexcept |
| Number of cells at given level. More...
|
|
int | numGrids () noexcept |
| Total number of grids. More...
|
|
int | numGrids (int lev) noexcept |
| Number of grids at given level. More...
|
|
int | okToContinue () noexcept |
| More work to be done? More...
|
|
void | regrid (int lbase, Real time, bool initial=false) override |
| Rebuild grid hierarchy finer than lbase. More...
|
|
void | RegridOnly (Real time, bool do_io=true) |
| Regrid only! More...
|
|
bool | okToRegrid (int level) noexcept |
| Should we regrid this level? More...
|
|
virtual void | coarseTimeStep (Real stop_time) |
| Do a complete integration cycle. More...
|
|
Real | coarseTimeStepDt (Real stop_time) |
| Do a complete integration cycle and return the coarse dt. More...
|
|
std::unique_ptr< MultiFab > | derive (const std::string &name, Real time, int lev, int ngrow) |
| Retrieve derived data. User is responsible for deleting pointer. More...
|
|
const std::string & | theRestartFile () const noexcept |
| Name of the restart chkpoint file. More...
|
|
const std::string & | theRestartPlotFile () const noexcept |
| Name of the restart plotfile. More...
|
|
std::ostream & | DataLog (int i) |
| The ith datalog file. Do with it what you want. More...
|
|
std::string | DataLogName (int i) const noexcept |
| The filename of the ith datalog file. More...
|
|
int | NumDataLogs () noexcept |
| How many datalogs have been opened. More...
|
|
virtual void | writePlotFile () |
| Write the plot file to be used for visualization. More...
|
|
int | stepOfLastPlotFile () const noexcept |
|
virtual void | writeSmallPlotFile () |
| Write the small plot file to be used for visualization. More...
|
|
int | stepOfLastSmallPlotFile () const noexcept |
|
virtual void | checkPoint () |
| Write current state into a chk* file. More...
|
|
int | stepOfLastCheckPoint () const noexcept |
|
void | setBoundaryGeometry (BoundaryPointList &IntersectLoX, BoundaryPointList &IntersectHiX, BoundaryPointList &IntersectLoY, BoundaryPointList &IntersectHiY) noexcept |
| Specialized version: Define BoundaryPointLists that give the intersections of the external geometry with constant (i,k) and (j,k) These are defined at the coarsest level indexing only. More...
|
|
void | setBoundaryGeometry (BoundaryPointList &IntersectLoX, BoundaryPointList &IntersectHiX, BoundaryPointList &IntersectLoY, BoundaryPointList &IntersectHiY, BoundaryPointList &IntersectLoZ, BoundaryPointList &IntersectHiZ) noexcept |
| More general version: Define BoundaryPointLists that give the intersections of the external geometry with constant (i,k),(j,k) and (i,j). These are defined at the coarsest level indexing only. More...
|
|
BoundaryPointList & | getIntersectLoX () noexcept |
|
BoundaryPointList & | getIntersectHiX () noexcept |
|
BoundaryPointList & | getIntersectLoY () noexcept |
|
BoundaryPointList & | getIntersectHiY () noexcept |
|
BoundaryPointList & | getIntersectLoZ () noexcept |
|
BoundaryPointList & | getIntersectHiZ () noexcept |
|
void | InstallNewDistributionMap (int lev, const DistributionMapping &newdm) |
|
| AmrCore () |
|
| AmrCore (const RealBox *rb, int max_level_in, const Vector< int > &n_cell_in, int coord=-1, Vector< IntVect > ref_ratios=Vector< IntVect >(), const int *is_per=nullptr) |
|
| AmrCore (const RealBox &rb, int max_level_in, const Vector< int > &n_cell_in, int coord, Vector< IntVect > const &ref_ratios, Array< int, AMREX_SPACEDIM > const &is_per) |
|
| AmrCore (Geometry const &level_0_geom, AmrInfo const &amr_info) |
|
| AmrCore (AmrCore &&rhs) noexcept |
|
AmrCore & | operator= (AmrCore &&rhs) noexcept |
|
| AmrCore (const AmrCore &rhs)=delete |
|
AmrCore & | operator= (const AmrCore &rhs)=delete |
|
| ~AmrCore () override |
|
void | InitFromScratch (Real time) |
| Initialize BoxArray, DistributionMapping and data from scratch. Calling this function requires the derive class implement its own MakeNewLevelFromScratch to allocate and initialize data. Also note usually one needs to average the fine data down to coarse level after this. More...
|
|
void | printGridSummary (std::ostream &os, int min_lev, int max_lev) const noexcept |
|
| AmrMesh () |
|
| AmrMesh (const RealBox *rb, int max_level_in, const Vector< int > &n_cell_in, int coord=-1, Vector< IntVect > refrat=Vector< IntVect >(), const int *is_per=nullptr) |
|
| AmrMesh (const RealBox &rb, int max_level_in, const Vector< int > &n_cell_in, int coord, Vector< IntVect > const &a_refrat, Array< int, AMREX_SPACEDIM > const &is_per) |
|
| AmrMesh (Geometry const &level_0_geom, AmrInfo const &amr_info) |
|
| AmrMesh (const AmrMesh &rhs)=delete |
|
AmrMesh & | operator= (const AmrMesh &rhs)=delete |
|
| AmrMesh (AmrMesh &&rhs)=default |
|
AmrMesh & | operator= (AmrMesh &&rhs)=default |
|
virtual | ~AmrMesh ()=default |
|
int | Verbose () const noexcept |
|
int | maxLevel () const noexcept |
| Return the max level. More...
|
|
int | finestLevel () const noexcept |
| Return the finest level. More...
|
|
IntVect | refRatio (int lev) const noexcept |
| Return the refinement ratio for level lev. More...
|
|
int | MaxRefRatio (int lev) const noexcept |
| Return the maximum refinement ratio in any direction. More...
|
|
const Vector< IntVect > & | refRatio () const noexcept |
| Return refinement ratios between all levels. More...
|
|
const Vector< Geometry > & | Geom () const noexcept |
|
const Vector< DistributionMapping > & | DistributionMap () const noexcept |
|
const Vector< BoxArray > & | boxArray () const noexcept |
|
const Geometry & | Geom (int lev) const noexcept |
|
const DistributionMapping & | DistributionMap (int lev) const noexcept |
|
const BoxArray & | boxArray (int lev) const noexcept |
|
Vector< Geometry > | Geom (int a_coarsest_lev, int a_finest_lev) const noexcept |
|
Vector< BoxArray > | boxArray (int a_coarsest_lev, int a_finest_lev) const noexcept |
|
Vector< DistributionMapping > | DistributionMap (int a_coarsest_lev, int a_finest_lev) const noexcept |
|
Vector< Geometry > & | Geom () noexcept |
|
Geometry & | Geom (int lev) noexcept |
|
void | SetMaxGridSize (int new_mgs) noexcept |
|
void | SetMaxGridSize (const IntVect &new_mgs) noexcept |
|
void | SetMaxGridSize (const Vector< int > &new_mgs) noexcept |
|
void | SetMaxGridSize (const Vector< IntVect > &new_mgs) noexcept |
|
void | SetBlockingFactor (int new_bf) noexcept |
|
void | SetBlockingFactor (const IntVect &new_bf) noexcept |
|
void | SetBlockingFactor (const Vector< int > &new_bf) noexcept |
|
void | SetBlockingFactor (const Vector< IntVect > &new_bf) noexcept |
|
void | SetGridEff (Real eff) noexcept |
|
void | SetNProper (int n) noexcept |
|
void | SetFinestLevel (int new_finest_level) noexcept |
| Set ref_ratio would require rebuilding Geometry objects. More...
|
|
void | SetDistributionMap (int lev, const DistributionMapping &dmap_in) noexcept |
|
void | SetBoxArray (int lev, const BoxArray &ba_in) noexcept |
|
void | SetGeometry (int lev, const Geometry &geom_in) noexcept |
|
int | GetLevel (Box const &domain) const noexcept |
| Given domain box, return AMR level. Return -1 if there is no match. More...
|
|
void | ClearDistributionMap (int lev) noexcept |
|
void | ClearBoxArray (int lev) noexcept |
|
int | nErrorBuf (int lev, int direction=0) const noexcept |
| Return the number of buffer cells (as a single integer) in error estimator. More...
|
|
const IntVect & | nErrorBufVect (int lev) const noexcept |
| Return the number of buffer cells (as an IntVect) in error estimator. More...
|
|
Real | gridEff () const noexcept |
| Return the minimum allowable grid efficiency. More...
|
|
int | nProper () const noexcept |
| Return the number of cells to define proper nesting. More...
|
|
const IntVect & | blockingFactor (int lev) const noexcept |
| Return the blocking factor at level lev. More...
|
|
const IntVect & | maxGridSize (int lev) const noexcept |
| Return the largest allowable grid. More...
|
|
bool | LevelDefined (int lev) const noexcept |
|
bool | useFixedCoarseGrids () const noexcept |
| Should we keep the coarser grids fixed (and not regrid those levels) at all? More...
|
|
int | useFixedUpToLevel () const noexcept |
| Up to what level should we keep the coarser grids fixed (and not regrid those levels)? More...
|
|
void | ChopGrids (int lev, BoxArray &ba, int target_size) const |
| "Try" to chop up grids so that the number of boxes in the BoxArray is greater than the target_size. More...
|
|
BoxArray | MakeBaseGrids () const |
| Make a level 0 grids covering the whole domain. It does NOT install the new grids. More...
|
|
void | MakeNewGrids (int lbase, Real time, int &new_finest, Vector< BoxArray > &new_grids) |
| Make new grids based on error estimates. This function expects that valid BoxArrays exist in this->grids from level lbase to level this->finest_level (the current finest level). new_grids. On return, the new finest level is stored in new_finest, and the new grids are stored in new_grids from Array element lbase+1 to new_finest_level (unless fixed grids are used). Note that this function adds at most one more level to the existing levels, and it may remove all levels above the base level. This function does not change the value of this->finest_level, nor does it modifies any BoxArrays stored in this->grids. It also does not modify new_grids's elements outside the range [lbase+1,new_finest_level]. More...
|
|
void | MakeNewGrids (Real time=0.0) |
| This function makes new grid for all levels (including level 0). More...
|
|
virtual void | PostProcessBaseGrids (BoxArray &) const |
|
Long | CountCells (int lev) const noexcept |
|
virtual DistributionMapping | MakeDistributionMap (int lev, BoxArray const &ba) |
|
|
static bool | RegridOnRestart () noexcept |
| Whether to regrid right after restart. More...
|
|
static const std::list< std::string > & | statePlotVars () noexcept |
| The names of state variables to output in the plotfile. They can be set using the amr.plot_vars variable in a ParmParse inputs file. More...
|
|
static const std::list< std::string > & | stateSmallPlotVars () noexcept |
|
static bool | isStatePlotVar (const std::string &name) |
| Is the string the name of a variable in state_plot_vars? More...
|
|
static bool | isStateSmallPlotVar (const std::string &name) |
|
static void | addStatePlotVar (const std::string &name) |
| If the string is not the name of a variable in state_plot_vars, add it to state_plot_vars. More...
|
|
static void | addStateSmallPlotVar (const std::string &name) |
|
static void | deleteStatePlotVar (const std::string &name) |
| Remove the string from state_plot_vars. More...
|
|
static void | clearStatePlotVarList () |
| Clear the list of state_plot_vars. More...
|
|
static void | clearStateSmallPlotVarList () |
|
static void | fillStatePlotVarList () |
| Fill the list of state_plot_vars with all of the state quantities. More...
|
|
static void | fillStateSmallPlotVarList () |
|
static bool | Plot_Files_Output () |
| Write out plotfiles (True/False)? More...
|
|
static const std::list< std::string > & | derivePlotVars () noexcept |
| The names of derived variables to output in the plotfile. They can be set using the amr.derive_plot_vars variable in a ParmParse inputs file. More...
|
|
static const std::list< std::string > & | deriveSmallPlotVars () noexcept |
|
static bool | isDerivePlotVar (const std::string &name) noexcept |
| Is the string the name of a variable in derive_plot_vars? More...
|
|
static bool | isDeriveSmallPlotVar (const std::string &name) noexcept |
|
static void | addDerivePlotVar (const std::string &name) |
| If the string is not the name of a variable in derive_plot_vars, add it to derive_plot_vars. More...
|
|
static void | addDeriveSmallPlotVar (const std::string &name) |
|
static void | deleteDerivePlotVar (const std::string &name) |
| Remove the string from derive_plot_vars. More...
|
|
static void | deleteDeriveSmallPlotVar (const std::string &name) |
|
static void | clearDerivePlotVarList () |
| Clear the list of derive_plot_vars. More...
|
|
static void | clearDeriveSmallPlotVarList () |
|
static void | fillDerivePlotVarList () |
| Fill the list of derive_plot_vars with all derived quantities. More...
|
|
static void | fillDeriveSmallPlotVarList () |
|
static void | setComputeNewDtOnRegrid (bool flag) |
|
static void | Initialize () |
|
static void | Finalize () |
|
static const BoxArray & | initialBa (int level) noexcept |
| Array of BoxArrays read in to initially define grid hierarchy. More...
|
|
static int | initialBaLevels () noexcept |
| Number of levels at which the grids are initially specified. More...
|
|
static Real | computeOptimalSubcycling (int n, int *best, const Real *dt_max, const Real *est_work, const int *cycle_max) |
| Compute the optimal subcycling pattern. This assumes that anything less than cycle_max[i] is a valid number of subcycles at level[i]. For example if ref_ratio[i] = cycle_max[i] = 4, then 1,2,3,4 are all valid values for n_cycles[i]. More...
|
|
static const Vector< BoxArray > & | getInitialBA () noexcept |
|
static bool | UsingPrecreateDirectories () noexcept |
|
|
void | initialInit (Real strt_time, Real stop_time, const BoxArray *lev0_grids=nullptr, const Vector< int > *pmap=nullptr) |
| Initialize grid hierarchy – called by Amr::init. More...
|
|
void | readProbinFile (int &init) |
| Read the probin file. More...
|
|
void | checkInput () |
| Check for valid input. More...
|
|
void | restart (const std::string &filename) |
| Restart from a checkpoint file. More...
|
|
void | defBaseLevel (Real strt_time, const BoxArray *lev0_grids=nullptr, const Vector< int > *pmap=nullptr) |
| Define and initialize coarsest level. More...
|
|
void | bldFineLevels (Real strt_time) |
| Define and initialize refined levels. More...
|
|
virtual void | regrid_level_0_on_restart () |
| Regrid level 0 on restart. More...
|
|
void | grid_places (int lbase, Real time, int &new_finest, Vector< BoxArray > &new_grids) |
| Define new grid locations (called from regrid) and put into new_grids. More...
|
|
DistributionMapping | makeLoadBalanceDistributionMap (int lev, Real time, const BoxArray &ba) const |
|
void | LoadBalanceLevel0 (Real time) |
|
void | ErrorEst (int lev, TagBoxArray &tags, Real time, int ngrow) override |
| Tag cells for refinement. TagBoxArray tags is built on level lev grids. More...
|
|
BoxArray | GetAreaNotToTag (int lev) override |
|
void | ManualTagsPlacement (int lev, TagBoxArray &tags, const Vector< IntVect > &bf_lev) override |
| Manually tag. Note that tags is built on level lev grids coarsened by bf_lev[lev]. More...
|
|
virtual void | timeStep (int level, Real time, int iteration, int niter, Real stop_time) |
| Do a single timestep on level L. More...
|
|
void | MakeNewLevelFromScratch (int, Real, const BoxArray &, const DistributionMapping &) override |
|
void | MakeNewLevelFromCoarse (int, Real, const BoxArray &, const DistributionMapping &) override |
| Make a new level using provided BoxArray and DistributionMapping and fill with interpolated coarse level data. More...
|
|
void | RemakeLevel (int, Real, const BoxArray &, const DistributionMapping &) override |
| Remake an existing level using provided BoxArray and DistributionMapping and fill with existing fine and coarse data. More...
|
|
void | ClearLevel (int) override |
| Delete level data. More...
|
|
bool | writePlotNow () noexcept |
| Whether to write a plotfile now. More...
|
|
bool | writeSmallPlotNow () noexcept |
|
void | printGridInfo (std::ostream &os, int min_lev, int max_lev) |
|
void | setRecordGridInfo (const std::string &) |
|
void | setRecordRunInfo (const std::string &) |
|
void | setRecordRunInfoTerse (const std::string &) |
|
void | setRecordDataInfo (int i, const std::string &) |
|
void | initSubcycle () |
|
void | initPltAndChk () |
|
int | updateInSitu () |
|
void | checkInput () |
|
void | SetIterateToFalse () noexcept |
|
void | SetUseNewChop () noexcept |
|