A BndryData stores and manipulates boundary data information on each side of each box in a BoxArray.
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::BndryDataT< MF >
A BndryData stores and manipulates boundary data information on each side of each box in a BoxArray.
A BndryData contains a BndryRegister about each side of each grid in a Boxarray. These data are used to store information along the outer layer of each grid (at the same level of coarseness), such as the value of boundary conditions there. Also, for each boundary, this class maintains a BoundCond identifier and a location. This "location" often specifies where, in physical space, a value, which is stored in the boundary registers, will be applied by a solver (although interpretation of this information is application-specific).
In addition to boundary condition values, types and locations, and BndryDate object maintains a mask for each boundary value. Given a Geometry describing the physical "domain" of application, a BndryData object fills the mask arrays with a mask value to indicate if the node is outside the domain (outside_domain), or, if not, whether it lays within the valid region of an adjacent grid (covered), or not (not_covered). This mask data is created upon non-default class instantiation.