An InterpBndryData object adds to a BndryData object the ability to manipulate and set the data stored in the boundary cells.
More...
|
| InterpBndryDataT () noexcept=default |
| default constructor More...
|
|
| InterpBndryDataT (const BoxArray &_grids, const DistributionMapping &_dmap, int _ncomp, const Geometry &geom) |
| constructor for given BoxArray, etc More...
|
|
| ~InterpBndryDataT ()=default |
|
| InterpBndryDataT (const InterpBndryDataT< MF > &rhs)=delete |
|
| InterpBndryDataT (InterpBndryDataT< MF > &&rhs)=delete |
|
InterpBndryDataT< MF > & | operator= (const InterpBndryDataT< MF > &rhs)=delete |
|
InterpBndryDataT< MF > & | operator= (InterpBndryDataT< MF > &&rhs)=delete |
|
void | setPhysBndryValues (const MF &mf, int mf_start, int bnd_start, int num_comp) |
| Set bndry values at physical boundaries. More...
|
|
void | setBndryValues (BndryRegisterT< MF > const &crse, int c_start, const MF &fine, int f_start, int bnd_start, int num_comp, const IntVect &ratio, int max_order=IBD_max_order_DEF, int max_width=2) |
|
void | updateBndryValues (BndryRegisterT< MF > &crse, int c_start, int bnd_start, int num_comp, const IntVect &ratio, int max_order=IBD_max_order_DEF, int max_width=2) |
| Update boundary values at coarse/fine boundaries. More...
|
|
void | setHomogValues () |
| Set boundary values to zero. More...
|
|
| BndryDataT () noexcept=default |
| Default constructor. More...
|
|
| BndryDataT (const BoxArray &grids, const DistributionMapping &dmap, int ncomp, const Geometry &geom) |
| constructor specifying number of components and box of physical domain (cell-centered) More...
|
|
| ~BndryDataT ()=default |
| destructor More...
|
|
| BndryDataT (const BndryDataT< MF > &src)=delete |
|
| BndryDataT (BndryDataT< MF > &&rhs)=delete |
|
BndryDataT< MF > & | operator= (const BndryDataT< MF > &src)=delete |
|
BndryDataT< MF > & | operator= (BndryDataT< MF > &&rhs)=delete |
|
void | define (const BoxArray &grids, const DistributionMapping &dmap, int ncomp, const Geometry &geom) |
| allocate bndry fabs along given face More...
|
|
const MultiMask & | bndryMasks (Orientation face) const noexcept |
|
const FabSetT< MF > & | bndryValues (Orientation face) const noexcept |
| Return FabSet on given face. More...
|
|
const RealTuple & | bndryLocs (int igrid) const noexcept |
| Return boundary location on given face for grids we own. It's an error if we don't own that grid. RealTuple is indexed with Orientation. More...
|
|
const RealTuple & | bndryLocs (const MFIter &mfi) const noexcept |
|
const Vector< Vector< BoundCond > > & | bndryConds (int igrid) const noexcept |
| Return boundary type specifier on given face for grids we own. It's an error if we don't own that grid. More...
|
|
const Vector< Vector< BoundCond > > & | bndryConds (const MFIter &mfi) const noexcept |
|
int | nComp () const noexcept |
| return number of components for which this object is intended More...
|
|
const Box & | getDomain () const noexcept |
| return domain used to define masks More...
|
|
const Geometry & | getGeom () const noexcept |
| return geometry used to define masks More...
|
|
void | setValue (Orientation face, int n, Real val) noexcept |
| set values of boundary Fab for given orientation on nth grid More...
|
|
void | setBoundCond (Orientation face, int n, int comp, const BoundCond &bcn) noexcept |
| set boundary type specifier for given orientation on nth grid More...
|
|
void | setBoundCond (Orientation face, const MFIter &mfi, int comp, const BoundCond &bcn) noexcept |
|
void | setBoundLoc (Orientation face, int n, value_type val) noexcept |
| set boundary location for given orientation on nth grid More...
|
|
void | setBoundLoc (Orientation face, const MFIter &mfi, value_type val) noexcept |
|
const FabSetT< MF > & | operator[] (Orientation face) const noexcept |
| implement public access to const BndryRegister::operator[] More...
|
|
FabSetT< MF > & | operator[] (Orientation face) noexcept |
| implement public access to BndryRegister::operator[] More...
|
|
| BndryRegisterT () noexcept=default |
| The default constructor. More...
|
|
| BndryRegisterT (const BoxArray &grids_, const DistributionMapping &dmap, int in_rad, int out_rad, int extent_rad, int ncomp) |
| The constructor, given number of cells in/out, extent and number of components (assumes cell-centered boxes, and allocates cell-centered FABs) More...
|
|
| ~BndryRegisterT ()=default |
| The destructor. More...
|
|
| BndryRegisterT (BndryRegisterT< MF > &&rhs) noexcept=default |
|
| BndryRegisterT (const BndryRegisterT< MF > &src)=delete |
|
BndryRegisterT & | operator= (const BndryRegisterT< MF > &src)=delete |
|
BndryRegisterT & | operator= (BndryRegisterT< MF > &&rhs)=delete |
|
void | define (const BoxArray &grids_, const DistributionMapping &dmap, int in_rad, int out_rad, int extent_rad, int ncomp) |
|
void | define (Orientation face, IndexType typ, int in_rad, int out_rad, int extent_rad, int ncomp, const DistributionMapping &dm) |
| Build FABs along given face, specifying the DistributionMapping. More...
|
|
void | clear () |
|
const BoxArray & | boxes () const noexcept |
| Get box domain (as an array of boxes). More...
|
|
int | size () const noexcept |
| Return the number of grids in this domain. More...
|
|
const FabSetT< MF > & | operator[] (Orientation face) const noexcept |
| Return const set of FABs bounding the domain grid boxes on a given orientation. More...
|
|
FabSetT< MF > & | operator[] (Orientation face) noexcept |
| Return set of FABs bounding the domain grid boxes on a given orientation. More...
|
|
void | setVal (value_type v) |
| Set all boundary FABs to given value. More...
|
|
BndryRegisterT< MF > & | operator+= (const BndryRegisterT< MF > &rhs) |
| register += rhs More...
|
|
BndryRegisterT< MF > & | plus (const BndryRegisterT< MF > &rhs) |
|
BndryRegisterT< MF > & | copyFrom (const MF &src, int nghost, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic()) |
| Fill the boundary FABs on intersection with given MF. More...
|
|
BndryRegisterT< MF > & | plusFrom (const MF &src, int nghost, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic()) |
| Increment the boundary FABs on intersect with given MF. More...
|
|
BndryRegisterT< MF > & | linComb (value_type a, const MF &mfa, int a_comp, value_type b, const MF &mfb, int b_comp, int dest_comp, int num_comp, int n_ghost=0) |
| Linear combination: this := a*mfa + b*mfb on intersection of MFs with the boundary FABs. More...
|
|
void | setBoxes (const BoxArray &grids) |
| Set box domain, if not set previously. More...
|
|
const DistributionMapping & | DistributionMap () const noexcept |
| Returns constant reference to associated DistributionMapping. More...
|
|
void | write (const std::string &name, std::ostream &os) const |
| Write (used for writing to checkpoint) More...
|
|
void | read (const std::string &name, std::istream &is) |
| Read (used for reading from checkpoint) More...
|
|
template<typename MF>
class amrex::InterpBndryDataT< MF >
An InterpBndryData object adds to a BndryData object the ability to manipulate and set the data stored in the boundary cells.
The InterpBndryData class is a class derived from BndryData. It is intended to provide a more physical method for filling boundary-related data. Boundary values in a BndryData object are stored in FabSets around each grid in the domain, and the InterpBndryData class provides a mechanism for filling these FabSets, consistent with AMR-like numerical discretizations. When asked to set its boundary values, an InterpBndryData object:
Fills with physical boundary values if the FAB is on the domain boundary - the corresponding values are presumed to be stored in the ghost cells of a MultiFab given to the boundary filling routine
Fills on intersection with data from the VALID region of the input MultiFab, ensuring that adjacent FABs use consistent data at their intersection, and otherwise,
Fills with values interpolated from a coarser FAB that bounds the cells that do not meet the above two criteria