Block-Structured AMR Software Framework
amrex::Amr Class Reference

Manage hierarchy of levels for time-dependent AMR computations. More...

#include <AMReX_Amr.H>

Inheritance diagram for amrex::Amr:
amrex::AmrCore amrex::AmrMesh amrex::AmrInfo

Public Member Functions

 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
 
Amroperator= (const Amr &rhs)=delete
 
Amroperator= (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...
 
AmrLevelgetLevel (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< MultiFabderive (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...
 
BoundaryPointListgetIntersectLoX () noexcept
 
BoundaryPointListgetIntersectHiX () noexcept
 
BoundaryPointListgetIntersectLoY () noexcept
 
BoundaryPointListgetIntersectHiY () noexcept
 
BoundaryPointListgetIntersectLoZ () noexcept
 
BoundaryPointListgetIntersectHiZ () noexcept
 
void InstallNewDistributionMap (int lev, const DistributionMapping &newdm)
 
- Public Member Functions inherited from amrex::AmrCore
 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
 
AmrCoreoperator= (AmrCore &&rhs) noexcept
 
 AmrCore (const AmrCore &rhs)=delete
 
AmrCoreoperator= (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
 
- Public Member Functions inherited from amrex::AmrMesh
 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
 
AmrMeshoperator= (const AmrMesh &rhs)=delete
 
 AmrMesh (AmrMesh &&rhs)=default
 
AmrMeshoperator= (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 GeometryGeom (int lev) const noexcept
 
const DistributionMappingDistributionMap (int lev) const noexcept
 
const BoxArrayboxArray (int lev) const noexcept
 
Vector< GeometryGeom (int a_coarsest_lev, int a_finest_lev) const noexcept
 
Vector< BoxArrayboxArray (int a_coarsest_lev, int a_finest_lev) const noexcept
 
Vector< DistributionMappingDistributionMap (int a_coarsest_lev, int a_finest_lev) const noexcept
 
Vector< Geometry > & Geom () noexcept
 
GeometryGeom (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 IntVectnErrorBufVect (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 IntVectblockingFactor (int lev) const noexcept
 Return the blocking factor at level lev. More...
 
const IntVectmaxGridSize (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 Public Member Functions

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 BoxArrayinitialBa (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
 

Public Attributes

BoundaryPointList intersect_lox
 
BoundaryPointList intersect_loy
 
BoundaryPointList intersect_loz
 
BoundaryPointList intersect_hix
 
BoundaryPointList intersect_hiy
 
BoundaryPointList intersect_hiz
 

Static Public Attributes

static bool first_smallplotfile
 

Protected Member Functions

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 ()
 
- Protected Member Functions inherited from amrex::AmrMesh
void checkInput ()
 
void SetIterateToFalse () noexcept
 
void SetUseNewChop () noexcept
 

Static Protected Member Functions

static int initInSitu ()
 
static int finalizeInSitu ()
 

Protected Attributes

std::string regrid_grids_file
 Grids file that will bypass regridding. More...
 
std::string initial_grids_file
 Grids file that will bypass regridding only at initialization. More...
 
Vector< std::unique_ptr< AmrLevel > > amr_level
 Vector of levels. More...
 
Real cumtime = std::numeric_limits<Real>::lowest()
 Physical time variable. More...
 
Real start_time = std::numeric_limits<Real>::lowest()
 Physical time this simulation started. More...
 
Vector< Real > dt_level
 Timestep at this level. More...
 
Vector< intlevel_steps
 Number of time steps at this level. More...
 
Vector< intlevel_count
 
Vector< intn_cycle
 
std::string subcycling_mode
 Type of subcycling to use. More...
 
Vector< Real > dt_min
 
Vector< intregrid_int
 Interval between regridding. More...
 
int last_checkpoint
 Step number of previous checkpoint. More...
 
int check_int
 How often checkpoint (# time steps). More...
 
Real check_per
 How often checkpoint (units of time). More...
 
std::string check_file_root
 Root name of checkpoint file. More...
 
int last_plotfile
 Step number of previous plotfile. More...
 
int last_smallplotfile
 Step number of previous small plotfile. More...
 
int plot_int
 How often plotfile (# of time steps) More...
 
Real plot_per
 How often plotfile (in units of time) More...
 
Real plot_log_per
 How often plotfile (in units of log10(time)) More...
 
int plot_max_level
 Maximum AMR level to write to a plotfile. More...
 
int small_plot_int
 How often small plotfile (# of time steps) More...
 
Real small_plot_per
 How often small plotfile (in units of time) More...
 
Real small_plot_log_per
 How often small plotfile (in units of log10(time)) More...
 
bool write_plotfile_with_checkpoint
 Write out a plotfile whenever we checkpoint. More...
 
int file_name_digits
 How many digits to use in the plotfile and checkpoint names. More...
 
int message_int
 How often checking messages touched by user, such as "stop_run". More...
 
std::string plot_file_root
 Root name of plotfile. More...
 
std::string small_plot_file_root
 Root name of small plotfile. More...
 
int which_level_being_advanced = -1
 Only >=0 if we are in Amr::timeStep(level,...) More...
 
int record_grid_info
 
int record_run_info
 
int record_run_info_terse
 
std::ofstream gridlog
 
std::ofstream runlog
 
std::ofstream runlog_terse
 
Vector< std::unique_ptr< std::fstream > > datalog
 
Vector< std::string > datalogname
 
int sub_cycle
 
std::string restart_chkfile
 
std::string restart_pltfile
 
std::string probin_file
 
LevelBldlevelbld
 
bool abort_on_stream_retry_failure
 
int stream_max_tries
 
int loadbalance_with_workestimates
 
int loadbalance_level0_int
 
Real loadbalance_max_fac
 
bool bUserStopRequest
 
- Protected Attributes inherited from amrex::AmrMesh
int finest_level
 Current finest level. More...
 
Vector< Geometrygeom
 
Vector< DistributionMappingdmap
 
Vector< BoxArraygrids
 
unsigned int num_setdm = 0
 
unsigned int num_setba = 0
 
- Protected Attributes inherited from amrex::AmrInfo
int verbose = 0
 
int max_level = 0
 Maximum allowed level. More...
 
Vector< IntVectref_ratio {{IntVect(2)}}
 Refinement ratios. More...
 
Vector< IntVectblocking_factor {{IntVect(8)}}
 Blocking factor in grid generation (by level). More...
 
Vector< IntVectmax_grid_size {{IntVect(AMREX_D_PICK(128,128,64))}}
 Maximum allowable grid size (by level). More...
 
Vector< IntVectn_error_buf {{IntVect(1)}}
 Buffer cells around each tagged cell. More...
 
Real grid_eff = static_cast<Real>(0.7)
 Grid efficiency. More...
 
int n_proper = 1
 Cells required for proper nesting. More...
 
int use_fixed_upto_level = 0
 
bool use_fixed_coarse_grids = false
 
bool refine_grid_layout = true
 
IntVect refine_grid_layout_dims = IntVect(1)
 
bool check_input = true
 
bool use_new_chop = false
 
bool iterate_on_new_grids = true
 

Static Protected Attributes

static std::list< std::string > state_plot_vars
 State Vars to dump to plotfile. More...
 
static std::list< std::string > state_small_plot_vars
 State Vars to dump to small plotfile. More...
 
static std::list< std::string > derive_plot_vars
 Derived Vars to dump to plotfile. More...
 
static std::list< std::string > derive_small_plot_vars
 Derived Vars to dump to small plotfile. More...
 
static bool first_plotfile
 
static Vector< BoxArrayinitial_ba
 Array of BoxArrays read in to initially define grid hierarchy. More...
 
static Vector< BoxArrayregrid_ba
 Array of BoxArrays read in to externally define grid hierarchy at each regrid. More...
 
static bool compute_new_dt_on_regrid
 

Private Types

using BoundaryPointList = std::multimap< std::pair< int, int >, double >
 

Private Member Functions

void writePlotFileDoit (std::string const &pltfile, bool regular)
 

Detailed Description

Manage hierarchy of levels for time-dependent AMR computations.

The Amr class is designed to manage parts of the computation which do not belong on a single level, like establishing and updating the hierarchy of levels, global timestepping, and managing the different AmrLevels

Member Typedef Documentation

◆ BoundaryPointList

using amrex::Amr::BoundaryPointList = std::multimap< std::pair<int, int>, double >
private

Constructor & Destructor Documentation

◆ Amr() [1/4]

amrex::Amr::Amr ( LevelBld a_levelbld)

The constructor.

◆ Amr() [2/4]

amrex::Amr::Amr ( const RealBox rb,
int  max_level_in,
const Vector< int > &  n_cell_in,
int  coord,
LevelBld a_levelbld 
)

◆ Amr() [3/4]

amrex::Amr::Amr ( const Amr rhs)
delete

◆ Amr() [4/4]

amrex::Amr::Amr ( Amr &&  rhs)
delete

◆ ~Amr()

amrex::Amr::~Amr ( )
override

The destructor.

Member Function Documentation

◆ addDerivePlotVar()

void amrex::Amr::addDerivePlotVar ( const std::string &  name)
static

If the string is not the name of a variable in derive_plot_vars, add it to derive_plot_vars.

◆ addDeriveSmallPlotVar()

void amrex::Amr::addDeriveSmallPlotVar ( const std::string &  name)
static

◆ addStatePlotVar()

void amrex::Amr::addStatePlotVar ( const std::string &  name)
static

If the string is not the name of a variable in state_plot_vars, add it to state_plot_vars.

◆ addStateSmallPlotVar()

void amrex::Amr::addStateSmallPlotVar ( const std::string &  name)
static

◆ bldFineLevels()

void amrex::Amr::bldFineLevels ( Real  strt_time)
protected

Define and initialize refined levels.

◆ cellCount() [1/2]

Long amrex::Amr::cellCount ( )
noexcept

Total number of cells.

◆ cellCount() [2/2]

Long amrex::Amr::cellCount ( int  lev)
noexcept

Number of cells at given level.

◆ checkInput()

void amrex::Amr::checkInput ( )
protected

Check for valid input.

◆ checkInt()

int amrex::Amr::checkInt ( ) const
inlinenoexcept

Number of time steps between checkpoint files.

◆ checkPer()

Real amrex::Amr::checkPer ( ) const
inlinenoexcept

Time between checkpoint files.

◆ checkPoint()

void amrex::Amr::checkPoint ( )
virtual

Write current state into a chk* file.

◆ clearDerivePlotVarList()

void amrex::Amr::clearDerivePlotVarList ( )
static

Clear the list of derive_plot_vars.

◆ clearDeriveSmallPlotVarList()

void amrex::Amr::clearDeriveSmallPlotVarList ( )
static

◆ ClearLevel()

void amrex::Amr::ClearLevel ( int  lev)
inlineoverrideprotectedvirtual

Delete level data.

Implements amrex::AmrCore.

◆ clearStatePlotVarList()

void amrex::Amr::clearStatePlotVarList ( )
static

Clear the list of state_plot_vars.

◆ clearStateSmallPlotVarList()

void amrex::Amr::clearStateSmallPlotVarList ( )
static

◆ coarseTimeStep()

void amrex::Amr::coarseTimeStep ( Real  stop_time)
virtual

Do a complete integration cycle.

◆ coarseTimeStepDt()

Real amrex::Amr::coarseTimeStepDt ( Real  stop_time)

Do a complete integration cycle and return the coarse dt.

◆ computeOptimalSubcycling()

Real amrex::Amr::computeOptimalSubcycling ( int  n,
int best,
const Real *  dt_max,
const Real *  est_work,
const int cycle_max 
)
static

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].

◆ cumTime()

Real amrex::Amr::cumTime ( ) const
inlinenoexcept

Physical time.

◆ DataLog()

std::ostream & amrex::Amr::DataLog ( int  i)

The ith datalog file. Do with it what you want.

◆ DataLogName()

std::string amrex::Amr::DataLogName ( int  i) const
inlinenoexcept

The filename of the ith datalog file.

◆ defBaseLevel()

void amrex::Amr::defBaseLevel ( Real  strt_time,
const BoxArray lev0_grids = nullptr,
const Vector< int > *  pmap = nullptr 
)
protected

Define and initialize coarsest level.

◆ deleteDerivePlotVar()

void amrex::Amr::deleteDerivePlotVar ( const std::string &  name)
static

Remove the string from derive_plot_vars.

◆ deleteDeriveSmallPlotVar()

void amrex::Amr::deleteDeriveSmallPlotVar ( const std::string &  name)
static

◆ deleteStatePlotVar()

void amrex::Amr::deleteStatePlotVar ( const std::string &  name)
static

Remove the string from state_plot_vars.

◆ derive()

std::unique_ptr< MultiFab > amrex::Amr::derive ( const std::string &  name,
Real  time,
int  lev,
int  ngrow 
)

Retrieve derived data. User is responsible for deleting pointer.

◆ derivePlotVars()

static const std::list<std::string>& amrex::Amr::derivePlotVars ( )
inlinestaticnoexcept

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.

◆ deriveSmallPlotVars()

static const std::list<std::string>& amrex::Amr::deriveSmallPlotVars ( )
inlinestaticnoexcept

◆ dtLevel() [1/2]

const Vector<Real>& amrex::Amr::dtLevel ( ) const
inlinenoexcept

Array of time steps at all levels.

◆ dtLevel() [2/2]

Real amrex::Amr::dtLevel ( int  level) const
inlinenoexcept

Time step at specified level.

◆ dtMin()

Real amrex::Amr::dtMin ( int  level) const
inlinenoexcept

Max time step (typically based on physics) at specified level.

◆ ErrorEst()

void amrex::Amr::ErrorEst ( int  lev,
TagBoxArray tags,
Real  time,
int  ngrow 
)
overrideprotectedvirtual

Tag cells for refinement. TagBoxArray tags is built on level lev grids.

Implements amrex::AmrCore.

◆ fillDerivePlotVarList()

void amrex::Amr::fillDerivePlotVarList ( )
static

Fill the list of derive_plot_vars with all derived quantities.

◆ fillDeriveSmallPlotVarList()

void amrex::Amr::fillDeriveSmallPlotVarList ( )
static

◆ fillStatePlotVarList()

void amrex::Amr::fillStatePlotVarList ( )
static

Fill the list of state_plot_vars with all of the state quantities.

◆ fillStateSmallPlotVarList()

void amrex::Amr::fillStateSmallPlotVarList ( )
static

◆ Finalize()

void amrex::Amr::Finalize ( )
static

◆ FinalizeInit()

void amrex::Amr::FinalizeInit ( Real  strt_time,
Real  stop_time 
)

Second part of initialInit.

◆ finalizeInSitu()

int amrex::Amr::finalizeInSitu ( )
staticprotected

◆ getAmrLevels()

Vector< std::unique_ptr< AmrLevel > > & amrex::Amr::getAmrLevels ( )
noexcept

Array of AmrLevels.

◆ GetAreaNotToTag()

BoxArray amrex::Amr::GetAreaNotToTag ( int  lev)
overrideprotectedvirtual

Reimplemented from amrex::AmrMesh.

◆ getInitialBA()

const Vector< BoxArray > & amrex::Amr::getInitialBA ( )
staticnoexcept

◆ getIntersectHiX()

BoundaryPointList& amrex::Amr::getIntersectHiX ( )
inlinenoexcept

◆ getIntersectHiY()

BoundaryPointList& amrex::Amr::getIntersectHiY ( )
inlinenoexcept

◆ getIntersectHiZ()

BoundaryPointList& amrex::Amr::getIntersectHiZ ( )
inlinenoexcept

◆ getIntersectLoX()

BoundaryPointList& amrex::Amr::getIntersectLoX ( )
inlinenoexcept

◆ getIntersectLoY()

BoundaryPointList& amrex::Amr::getIntersectLoY ( )
inlinenoexcept

◆ getIntersectLoZ()

BoundaryPointList& amrex::Amr::getIntersectLoZ ( )
inlinenoexcept

◆ getLevel()

AmrLevel& amrex::Amr::getLevel ( int  lev)
inlinenoexcept

AmrLevel lev.

◆ grid_places()

void amrex::Amr::grid_places ( int  lbase,
Real  time,
int new_finest,
Vector< BoxArray > &  new_grids 
)
protected

Define new grid locations (called from regrid) and put into new_grids.

◆ init()

void amrex::Amr::init ( Real  strt_time,
Real  stop_time 
)
virtual

Init data after construction. Must be called before timestepping.

◆ InitAmr()

void amrex::Amr::InitAmr ( )

◆ initialBa()

static const BoxArray& amrex::Amr::initialBa ( int  level)
inlinestaticnoexcept

Array of BoxArrays read in to initially define grid hierarchy.

◆ initialBaLevels()

static int amrex::Amr::initialBaLevels ( )
inlinestaticnoexcept

Number of levels at which the grids are initially specified.

◆ initialInit()

void amrex::Amr::initialInit ( Real  strt_time,
Real  stop_time,
const BoxArray lev0_grids = nullptr,
const Vector< int > *  pmap = nullptr 
)
protected

Initialize grid hierarchy – called by Amr::init.

◆ Initialize()

void amrex::Amr::Initialize ( )
static

◆ InitializeInit()

void amrex::Amr::InitializeInit ( Real  strt_time,
Real  stop_time,
const BoxArray lev0_grids = nullptr,
const Vector< int > *  pmap = nullptr 
)

First part of initialInit.

◆ initInSitu()

int amrex::Amr::initInSitu ( )
staticprotected

◆ initPltAndChk()

void amrex::Amr::initPltAndChk ( )
protected

◆ initSubcycle()

void amrex::Amr::initSubcycle ( )
protected

◆ InstallNewDistributionMap()

void amrex::Amr::InstallNewDistributionMap ( int  lev,
const DistributionMapping newdm 
)

◆ isDerivePlotVar()

bool amrex::Amr::isDerivePlotVar ( const std::string &  name)
staticnoexcept

Is the string the name of a variable in derive_plot_vars?

◆ isDeriveSmallPlotVar()

bool amrex::Amr::isDeriveSmallPlotVar ( const std::string &  name)
staticnoexcept

◆ isStatePlotVar()

bool amrex::Amr::isStatePlotVar ( const std::string &  name)
static

Is the string the name of a variable in state_plot_vars?

◆ isStateSmallPlotVar()

bool amrex::Amr::isStateSmallPlotVar ( const std::string &  name)
static

◆ level_being_advanced()

int amrex::Amr::level_being_advanced ( ) const
inlinenoexcept

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.

◆ levelCount()

int amrex::Amr::levelCount ( int  lev) const
inlinenoexcept

Which step are we at for the specified level?

◆ levelSteps()

int amrex::Amr::levelSteps ( int  lev) const
inlinenoexcept

Number of time steps at specified level.

◆ LoadBalanceLevel0()

void amrex::Amr::LoadBalanceLevel0 ( Real  time)
protected

◆ makeLoadBalanceDistributionMap()

DistributionMapping amrex::Amr::makeLoadBalanceDistributionMap ( int  lev,
Real  time,
const BoxArray ba 
) const
protected

◆ MakeNewLevelFromCoarse()

void amrex::Amr::MakeNewLevelFromCoarse ( int  lev,
Real  time,
const BoxArray ba,
const DistributionMapping dm 
)
inlineoverrideprotectedvirtual

Make a new level using provided BoxArray and DistributionMapping and fill with interpolated coarse level data.

Implements amrex::AmrCore.

◆ MakeNewLevelFromScratch()

void amrex::Amr::MakeNewLevelFromScratch ( int  lev,
Real  time,
const BoxArray ba,
const DistributionMapping dm 
)
inlineoverrideprotectedvirtual

Make a new level from scratch using provided BoxArray and DistributionMapping. Only used during initialization.

Implements amrex::AmrCore.

◆ ManualTagsPlacement()

void amrex::Amr::ManualTagsPlacement ( int  ,
TagBoxArray ,
const Vector< IntVect > &   
)
overrideprotectedvirtual

Manually tag. Note that tags is built on level lev grids coarsened by bf_lev[lev].

Reimplemented from amrex::AmrMesh.

◆ nCycle()

int amrex::Amr::nCycle ( int  level) const
inlinenoexcept

Number of subcycled time steps.

◆ NumDataLogs()

int amrex::Amr::NumDataLogs ( )
noexcept

How many datalogs have been opened.

◆ numGrids() [1/2]

int amrex::Amr::numGrids ( )
noexcept

Total number of grids.

◆ numGrids() [2/2]

int amrex::Amr::numGrids ( int  lev)
noexcept

Number of grids at given level.

◆ okToContinue()

int amrex::Amr::okToContinue ( )
noexcept

More work to be done?

◆ okToRegrid()

bool amrex::Amr::okToRegrid ( int  level)
noexcept

Should we regrid this level?

◆ operator=() [1/2]

Amr& amrex::Amr::operator= ( Amr &&  rhs)
delete

◆ operator=() [2/2]

Amr& amrex::Amr::operator= ( const Amr rhs)
delete

◆ Plot_Files_Output()

bool amrex::Amr::Plot_Files_Output ( )
static

Write out plotfiles (True/False)?

◆ plotInt()

int amrex::Amr::plotInt ( ) const
inlinenoexcept

Number of time steps between plot files.

◆ plotLogPer()

Real amrex::Amr::plotLogPer ( ) const
inlinenoexcept

Spacing in log10(time) of logarithmically spaced plot files.

◆ plotMaxLevel()

int amrex::Amr::plotMaxLevel ( ) const
inlinenoexcept

Maximum level to plot.

◆ plotPer()

Real amrex::Amr::plotPer ( ) const
inlinenoexcept

Time between plot files.

◆ printGridInfo()

void amrex::Amr::printGridInfo ( std::ostream &  os,
int  min_lev,
int  max_lev 
)
protected

◆ readProbinFile()

void amrex::Amr::readProbinFile ( int init)
protected

Read the probin file.

◆ regrid()

void amrex::Amr::regrid ( int  lbase,
Real  time,
bool  initial = false 
)
overridevirtual

Rebuild grid hierarchy finer than lbase.

Reimplemented from amrex::AmrCore.

◆ regrid_level_0_on_restart()

void amrex::Amr::regrid_level_0_on_restart ( )
protectedvirtual

Regrid level 0 on restart.

◆ regridInt()

int amrex::Amr::regridInt ( int  lev) const
inlinenoexcept

Interval between regridding.

◆ RegridOnly()

void amrex::Amr::RegridOnly ( Real  time,
bool  do_io = true 
)

Regrid only!

◆ RegridOnRestart()

bool amrex::Amr::RegridOnRestart ( )
staticnoexcept

Whether to regrid right after restart.

◆ RemakeLevel()

void amrex::Amr::RemakeLevel ( int  lev,
Real  time,
const BoxArray ba,
const DistributionMapping dm 
)
inlineoverrideprotectedvirtual

Remake an existing level using provided BoxArray and DistributionMapping and fill with existing fine and coarse data.

Implements amrex::AmrCore.

◆ restart()

void amrex::Amr::restart ( const std::string &  filename)
protected

Restart from a checkpoint file.

◆ setBoundaryGeometry() [1/2]

void amrex::Amr::setBoundaryGeometry ( BoundaryPointList IntersectLoX,
BoundaryPointList IntersectHiX,
BoundaryPointList IntersectLoY,
BoundaryPointList IntersectHiY 
)
inlinenoexcept

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.

◆ setBoundaryGeometry() [2/2]

void amrex::Amr::setBoundaryGeometry ( BoundaryPointList IntersectLoX,
BoundaryPointList IntersectHiX,
BoundaryPointList IntersectLoY,
BoundaryPointList IntersectHiY,
BoundaryPointList IntersectLoZ,
BoundaryPointList IntersectHiZ 
)
inlinenoexcept

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.

◆ setComputeNewDtOnRegrid()

static void amrex::Amr::setComputeNewDtOnRegrid ( bool  flag)
inlinestatic

◆ setCumTime()

void amrex::Amr::setCumTime ( Real  t)
inlinenoexcept

◆ setDtLevel() [1/2]

void amrex::Amr::setDtLevel ( const Vector< Real > &  dt_lev)
noexcept

Set the timestep on each level.

◆ setDtLevel() [2/2]

void amrex::Amr::setDtLevel ( Real  dt,
int  lev 
)
noexcept

Set the timestep at one level.

◆ setDtMin()

void amrex::Amr::setDtMin ( const Vector< Real > &  dt_min_in)
noexcept

Set the dtmin on each level.

◆ setLevelCount()

void amrex::Amr::setLevelCount ( int  lev,
int  n 
)
inlinenoexcept

Which step are we at for the specified level?

◆ setLevelSteps()

void amrex::Amr::setLevelSteps ( int  lev,
int  n 
)
inlinenoexcept

Number of time steps at specified level.

◆ setNCycle()

void amrex::Amr::setNCycle ( const Vector< int > &  ns)
noexcept

Set the cycle count on each level.

◆ setRecordDataInfo()

void amrex::Amr::setRecordDataInfo ( int  i,
const std::string &  filename 
)
protected

◆ setRecordGridInfo()

void amrex::Amr::setRecordGridInfo ( const std::string &  filename)
protected

◆ setRecordRunInfo()

void amrex::Amr::setRecordRunInfo ( const std::string &  filename)
protected

◆ setRecordRunInfoTerse()

void amrex::Amr::setRecordRunInfoTerse ( const std::string &  filename)
protected

◆ setStartTime()

void amrex::Amr::setStartTime ( Real  t)
inlinenoexcept

◆ smallplotInt()

int amrex::Amr::smallplotInt ( ) const
inlinenoexcept

Number of time steps between small plot files.

◆ smallplotLogPer()

Real amrex::Amr::smallplotLogPer ( ) const
inlinenoexcept

Spacing in log10(time) of logarithmically spaced small plot files.

◆ smallplotPer()

Real amrex::Amr::smallplotPer ( ) const
inlinenoexcept

Time between plot files.

◆ startTime()

Real amrex::Amr::startTime ( ) const
inlinenoexcept

Physical time this simulation started.

◆ statePlotVars()

static const std::list<std::string>& amrex::Amr::statePlotVars ( )
inlinestaticnoexcept

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.

◆ stateSmallPlotVars()

static const std::list<std::string>& amrex::Amr::stateSmallPlotVars ( )
inlinestaticnoexcept

◆ stepOfLastCheckPoint()

int amrex::Amr::stepOfLastCheckPoint ( ) const
inlinenoexcept

◆ stepOfLastPlotFile()

int amrex::Amr::stepOfLastPlotFile ( ) const
inlinenoexcept

◆ stepOfLastSmallPlotFile()

int amrex::Amr::stepOfLastSmallPlotFile ( ) const
inlinenoexcept

◆ subCycle()

int amrex::Amr::subCycle ( ) const
inlinenoexcept

Subcycle in time?

◆ subcyclingMode()

const std::string& amrex::Amr::subcyclingMode ( ) const
inlinenoexcept

How are we subcycling?

◆ theRestartFile()

const std::string& amrex::Amr::theRestartFile ( ) const
inlinenoexcept

Name of the restart chkpoint file.

◆ theRestartPlotFile()

const std::string& amrex::Amr::theRestartPlotFile ( ) const
inlinenoexcept

Name of the restart plotfile.

◆ timeStep()

void amrex::Amr::timeStep ( int  level,
Real  time,
int  iteration,
int  niter,
Real  stop_time 
)
protectedvirtual

Do a single timestep on level L.

◆ updateInSitu()

int amrex::Amr::updateInSitu ( )
protected

◆ UsingPrecreateDirectories()

bool amrex::Amr::UsingPrecreateDirectories ( )
staticnoexcept

◆ writePlotFile()

void amrex::Amr::writePlotFile ( )
virtual

Write the plot file to be used for visualization.

◆ writePlotFileDoit()

void amrex::Amr::writePlotFileDoit ( std::string const &  pltfile,
bool  regular 
)
private

◆ writePlotNow()

bool amrex::Amr::writePlotNow ( )
protectednoexcept

Whether to write a plotfile now.

◆ writeSmallPlotFile()

void amrex::Amr::writeSmallPlotFile ( )
virtual

Write the small plot file to be used for visualization.

◆ writeSmallPlotNow()

bool amrex::Amr::writeSmallPlotNow ( )
protectednoexcept

Member Data Documentation

◆ abort_on_stream_retry_failure

bool amrex::Amr::abort_on_stream_retry_failure
protected

◆ amr_level

Vector<std::unique_ptr<AmrLevel> > amrex::Amr::amr_level
protected

Vector of levels.

◆ bUserStopRequest

bool amrex::Amr::bUserStopRequest
protected

◆ check_file_root

std::string amrex::Amr::check_file_root
protected

Root name of checkpoint file.

◆ check_int

int amrex::Amr::check_int
protected

How often checkpoint (# time steps).

◆ check_per

Real amrex::Amr::check_per
protected

How often checkpoint (units of time).

◆ compute_new_dt_on_regrid

bool amrex::Amr::compute_new_dt_on_regrid
staticprotected

◆ cumtime

Real amrex::Amr::cumtime = std::numeric_limits<Real>::lowest()
protected

Physical time variable.

◆ datalog

Vector<std::unique_ptr<std::fstream> > amrex::Amr::datalog
protected

◆ datalogname

Vector<std::string> amrex::Amr::datalogname
protected

◆ derive_plot_vars

std::list< std::string > amrex::Amr::derive_plot_vars
staticprotected

Derived Vars to dump to plotfile.

◆ derive_small_plot_vars

std::list< std::string > amrex::Amr::derive_small_plot_vars
staticprotected

Derived Vars to dump to small plotfile.

◆ dt_level

Vector<Real> amrex::Amr::dt_level
protected

Timestep at this level.

◆ dt_min

Vector<Real> amrex::Amr::dt_min
protected

◆ file_name_digits

int amrex::Amr::file_name_digits
protected

How many digits to use in the plotfile and checkpoint names.

◆ first_plotfile

bool amrex::Amr::first_plotfile
staticprotected

◆ first_smallplotfile

bool amrex::Amr::first_smallplotfile
static

◆ gridlog

std::ofstream amrex::Amr::gridlog
protected

◆ initial_ba

Vector< BoxArray > amrex::Amr::initial_ba
staticprotected

Array of BoxArrays read in to initially define grid hierarchy.

◆ initial_grids_file

std::string amrex::Amr::initial_grids_file
protected

Grids file that will bypass regridding only at initialization.

◆ intersect_hix

BoundaryPointList amrex::Amr::intersect_hix

◆ intersect_hiy

BoundaryPointList amrex::Amr::intersect_hiy

◆ intersect_hiz

BoundaryPointList amrex::Amr::intersect_hiz

◆ intersect_lox

BoundaryPointList amrex::Amr::intersect_lox

◆ intersect_loy

BoundaryPointList amrex::Amr::intersect_loy

◆ intersect_loz

BoundaryPointList amrex::Amr::intersect_loz

◆ last_checkpoint

int amrex::Amr::last_checkpoint
protected

Step number of previous checkpoint.

◆ last_plotfile

int amrex::Amr::last_plotfile
protected

Step number of previous plotfile.

◆ last_smallplotfile

int amrex::Amr::last_smallplotfile
protected

Step number of previous small plotfile.

◆ level_count

Vector<int> amrex::Amr::level_count
protected

◆ level_steps

Vector<int> amrex::Amr::level_steps
protected

Number of time steps at this level.

◆ levelbld

LevelBld* amrex::Amr::levelbld
protected

◆ loadbalance_level0_int

int amrex::Amr::loadbalance_level0_int
protected

◆ loadbalance_max_fac

Real amrex::Amr::loadbalance_max_fac
protected

◆ loadbalance_with_workestimates

int amrex::Amr::loadbalance_with_workestimates
protected

◆ message_int

int amrex::Amr::message_int
protected

How often checking messages touched by user, such as "stop_run".

◆ n_cycle

Vector<int> amrex::Amr::n_cycle
protected

◆ plot_file_root

std::string amrex::Amr::plot_file_root
protected

Root name of plotfile.

◆ plot_int

int amrex::Amr::plot_int
protected

How often plotfile (# of time steps)

◆ plot_log_per

Real amrex::Amr::plot_log_per
protected

How often plotfile (in units of log10(time))

◆ plot_max_level

int amrex::Amr::plot_max_level
protected

Maximum AMR level to write to a plotfile.

◆ plot_per

Real amrex::Amr::plot_per
protected

How often plotfile (in units of time)

◆ probin_file

std::string amrex::Amr::probin_file
protected

◆ record_grid_info

int amrex::Amr::record_grid_info
protected

◆ record_run_info

int amrex::Amr::record_run_info
protected

◆ record_run_info_terse

int amrex::Amr::record_run_info_terse
protected

◆ regrid_ba

Vector< BoxArray > amrex::Amr::regrid_ba
staticprotected

Array of BoxArrays read in to externally define grid hierarchy at each regrid.

◆ regrid_grids_file

std::string amrex::Amr::regrid_grids_file
protected

Grids file that will bypass regridding.

◆ regrid_int

Vector<int> amrex::Amr::regrid_int
protected

Interval between regridding.

◆ restart_chkfile

std::string amrex::Amr::restart_chkfile
protected

◆ restart_pltfile

std::string amrex::Amr::restart_pltfile
protected

◆ runlog

std::ofstream amrex::Amr::runlog
protected

◆ runlog_terse

std::ofstream amrex::Amr::runlog_terse
protected

◆ small_plot_file_root

std::string amrex::Amr::small_plot_file_root
protected

Root name of small plotfile.

◆ small_plot_int

int amrex::Amr::small_plot_int
protected

How often small plotfile (# of time steps)

◆ small_plot_log_per

Real amrex::Amr::small_plot_log_per
protected

How often small plotfile (in units of log10(time))

◆ small_plot_per

Real amrex::Amr::small_plot_per
protected

How often small plotfile (in units of time)

◆ start_time

Real amrex::Amr::start_time = std::numeric_limits<Real>::lowest()
protected

Physical time this simulation started.

◆ state_plot_vars

std::list< std::string > amrex::Amr::state_plot_vars
staticprotected

State Vars to dump to plotfile.

◆ state_small_plot_vars

std::list< std::string > amrex::Amr::state_small_plot_vars
staticprotected

State Vars to dump to small plotfile.

◆ stream_max_tries

int amrex::Amr::stream_max_tries
protected

◆ sub_cycle

int amrex::Amr::sub_cycle
protected

◆ subcycling_mode

std::string amrex::Amr::subcycling_mode
protected

Type of subcycling to use.

◆ which_level_being_advanced

int amrex::Amr::which_level_being_advanced = -1
protected

Only >=0 if we are in Amr::timeStep(level,...)

◆ write_plotfile_with_checkpoint

bool amrex::Amr::write_plotfile_with_checkpoint
protected

Write out a plotfile whenever we checkpoint.


The documentation for this class was generated from the following files: