|
| | AmrCore () |
| | Construct an empty 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) |
| | Construct using legacy inputs that mirror AmrMesh.
|
| |
| | AmrCore (const RealBox &rb, int max_level_in, const Vector< int > &n_cell_in, int coord, Vector< IntVect > const &ref_ratios, Array< int, 3 > const &is_per) |
| | Construct with an explicit domain and periodicity array.
|
| |
| | AmrCore (Geometry const &level_0_geom, AmrInfo const &amr_info) |
| | Construct from a ready-made Geometry and AmrInfo bundle.
|
| |
| | AmrCore (AmrCore &&rhs) noexcept |
| |
| AmrCore & | operator= (AmrCore &&rhs) noexcept |
| |
| | AmrCore (const AmrCore &rhs)=delete |
| |
| AmrCore & | operator= (const AmrCore &rhs)=delete |
| |
| | ~AmrCore () override |
| |
| AmrParGDB * | GetParGDB () const noexcept |
| | Return AmrParGDB pointer for particle containers.
|
| |
| void | InitFromScratch (Real time) |
| | Initialize BoxArray, DistributionMapping, and level data from scratch.
|
| |
| virtual void | regrid (int lbase, Real time, bool initial=false) |
| | Rebuild all levels finer than lbase at simulation time time.
|
| |
| void | printGridSummary (std::ostream &os, int min_lev, int max_lev) const noexcept |
| | Print a human-readable summary of grid sizes between min_lev and max_lev.
|
| |
| | AmrMesh () |
| | Construct an empty mesh.
|
| |
| | 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) |
| | Construct using legacy inputs (same signature as AmrCore).
|
| |
| | AmrMesh (const RealBox &rb, int max_level_in, const Vector< int > &n_cell_in, int coord, Vector< IntVect > const &a_refrat, Array< int, 3 > const &is_per) |
| | Construct with explicit domain and periodicity array.
|
| |
| | AmrMesh (Geometry const &level_0_geom, AmrInfo const &amr_info) |
| | Construct from a pre-built Geometry and AmrInfo bundle.
|
| |
| | 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.
|
| |
| int | finestLevel () const noexcept |
| | Return the finest level.
|
| |
| IntVect | refRatio (int lev) const noexcept |
| | Return the refinement ratio for level lev.
|
| |
| int | MaxRefRatio (int lev) const noexcept |
| | Return the maximum refinement ratio in any direction.
|
| |
| const Vector< IntVect > & | refRatio () const noexcept |
| | Return refinement ratios between all levels.
|
| |
| 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 |
| | Override the max grid size constraint for all levels (scalar version).
|
| |
| void | SetMaxGridSize (const IntVect &new_mgs) noexcept |
| | Override the max grid size constraint using explicit IntVect new_mgs.
|
| |
| void | SetMaxGridSize (const Vector< int > &new_mgs) noexcept |
| | Override per-level max grid sizes using scalar-per-level vector new_mgs.
|
| |
| void | SetMaxGridSize (const Vector< IntVect > &new_mgs) noexcept |
| | Override per-level max grid sizes using explicit IntVect-per-level vector new_mgs.
|
| |
| void | SetBlockingFactor (int new_bf) noexcept |
| | Override the blocking factor constraint for all levels (scalar version).
|
| |
| void | SetBlockingFactor (const IntVect &new_bf) noexcept |
| | Override blocking factor using explicit IntVect new_bf.
|
| |
| void | SetBlockingFactor (const Vector< int > &new_bf) noexcept |
| | Override per-level blocking factors using scalar-per-level vector new_bf.
|
| |
| void | SetBlockingFactor (const Vector< IntVect > &new_bf) noexcept |
| | Override per-level blocking factors using explicit IntVect vector new_bf.
|
| |
| void | SetGridEff (Real eff) noexcept |
| | Set the minimum acceptable grid efficiency to eff.
|
| |
| void | SetNProper (int n) noexcept |
| | Set the number of cell blocks required for proper nesting to n.
|
| |
| void | SetFinestLevel (int new_finest_level) noexcept |
| | Update the recorded finest level index to new_finest_level (without reallocating).
|
| |
| void | SetDistributionMap (int lev, const DistributionMapping &dmap_in) noexcept |
| | Install a DistributionMapping for level lev.
|
| |
| void | SetBoxArray (int lev, const BoxArray &ba_in) noexcept |
| | Install a BoxArray for level lev.
|
| |
| void | SetGeometry (int lev, const Geometry &geom_in) noexcept |
| | Install a Geometry object for level lev.
|
| |
| int | GetLevel (Box const &domain) const noexcept |
| | Given domain box, return AMR level. Return -1 if there is no match.
|
| |
| void | ClearDistributionMap (int lev) noexcept |
| | Clear the stored DistributionMapping for level lev.
|
| |
| void | ClearBoxArray (int lev) noexcept |
| | Clear the stored BoxArray for level lev.
|
| |
| int | nErrorBuf (int lev, int direction=0) const noexcept |
| | Return the number of buffer cells (as a single integer) in error estimator.
|
| |
| const IntVect & | nErrorBufVect (int lev) const noexcept |
| | Return the number of buffer cells (as an IntVect) in error estimator.
|
| |
| Real | gridEff () const noexcept |
| | Return the minimum allowable grid efficiency.
|
| |
| int | nProper () const noexcept |
| | Return the number of cell blocks to define proper nesting.
|
| |
| const IntVect & | blockingFactor (int lev) const noexcept |
| | Return the blocking factor at level lev.
|
| |
| const IntVect & | maxGridSize (int lev) const noexcept |
| | Return the largest allowable grid.
|
| |
| bool | LevelDefined (int lev) const noexcept |
| | Return true if valid grids/dmaps exist for level lev.
|
| |
| bool | useFixedCoarseGrids () const noexcept |
| | Should we keep the coarser grids fixed (and not regrid those levels) at all?
|
| |
| int | useFixedUpToLevel () const noexcept |
| | Up to what level should we keep the coarser grids fixed (and not regrid those levels)?
|
| |
| void | ChopGrids (int lev, BoxArray &ba, int target_size) const |
| | Try to chop grids on level lev until BoxArray ba has at least target_size boxes.
|
| |
| BoxArray | MakeBaseGrids () const |
| | Make a level-0 BoxArray covering the whole domain (without installing it).
|
| |
| 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].
|
| |
| void | MakeNewGrids (Real time=0.0) |
| | Convenience overload that rebuilds every level (including level 0) at time time.
|
| |
| virtual void | ManualTagsPlacement (int lev, TagBoxArray &tags, const Vector< IntVect > &bf_lev) |
| | Manual tagging hook. Tags are defined on level lev grids coarsened by bf_lev[lev].
|
| |
| virtual void | PostProcessBaseGrids (BoxArray &box_array) const |
| | Allow derived classes to edit the base-level grids before installing them.
|
| |
| virtual BoxArray | GetAreaNotToTag (int lev) |
| | Return a BoxArray that should never be tagged on level lev (e.g., buffer zones).
|
| |
| Long | CountCells (int lev) const noexcept |
| | Count the total number of cells at level lev.
|
| |
| virtual DistributionMapping | MakeDistributionMap (int lev, BoxArray const &ba) |
| | Build a distribution map for level lev grid layout ba (override to customize load balancing).
|
| |
Provide basic functionalities to set up an AMR hierarchy.
Because it does not own any floating point data, AmrCore used virtual functions to allocate, initialize and delete data. It also requires the derived class to tag cells for refinement.