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
|
| |
| | InterpBndryDataT (const BoxArray &_grids, const DistributionMapping &_dmap, int _ncomp, const Geometry &geom) |
| | constructor for given BoxArray, etc
|
| |
| | ~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.
|
| |
| 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) |
| | Sset bndry values at coarse/fine and physical boundaries.
|
| |
| 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.
|
| |
| void | setHomogValues () |
| | Set boundary values to zero.
|
| |
| | BndryDataT () noexcept=default |
| | Default constructor.
|
| |
| | BndryDataT (const BoxArray &grids, const DistributionMapping &dmap, int ncomp, const Geometry &geom) |
| | constructor specifying number of components and box of physical domain (cell-centered)
|
| |
| | ~BndryDataT ()=default |
| | destructor
|
| |
| | 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 masks and boundary registers for the supplied grids.
|
| |
| const MultiMask & | bndryMasks (Orientation face) const noexcept |
| | Return the per-face mask built during define() for orientation face.
|
| |
| const FabSetT< MF > & | bndryValues (Orientation face) const noexcept |
| | Access the boundary values stored on orientation face.
|
| |
| const RealTuple & | bndryLocs (int igrid) const noexcept |
| | Return physical boundary locations for all faces owned by a grid.
|
| |
| const RealTuple & | bndryLocs (const MFIter &mfi) const noexcept |
| | Same as bndryLocs(int) but uses iterator mfi to reference the grid.
|
| |
| const Vector< Vector< BoundCond > > & | bndryConds (int igrid) const noexcept |
| | Return boundary type specifiers stored for a grid.
|
| |
| const Vector< Vector< BoundCond > > & | bndryConds (const MFIter &mfi) const noexcept |
| | Same as bndryConds(int) but locates the grid via iterator mfi.
|
| |
| int | nComp () const noexcept |
| | Return number of components this boundary data manages.
|
| |
| const Box & | getDomain () const noexcept |
| | Return domain used to define masks.
|
| |
| const Geometry & | getGeom () const noexcept |
| | Return geometry used to define masks.
|
| |
| void | setValue (Orientation face, int n, Real val) noexcept |
| | Set all components on boundary face face of grid n to scalar value val.
|
| |
| void | setBoundCond (Orientation face, int n, int comp, const BoundCond &bcn) noexcept |
| | Set boundary type at grid index n, component comp, and face face to bcn.
|
| |
| void | setBoundCond (Orientation face, const MFIter &mfi, int comp, const BoundCond &bcn) noexcept |
| | Set boundary type using MFIter mfi to identify the grid, component comp, and identifier bcn.
|
| |
| void | setBoundLoc (Orientation face, int n, value_type val) noexcept |
| | Set the physical boundary location val for grid index n and face face.
|
| |
| void | setBoundLoc (Orientation face, const MFIter &mfi, value_type val) noexcept |
| | Set the boundary location value val by MFIter mfi on face face.
|
| |
| const FabSetT< MF > & | operator[] (Orientation face) const noexcept |
| | Provide access to boundary registers for orientation face.
|
| |
| FabSetT< MF > & | operator[] (Orientation face) noexcept |
| | Provide mutable access to boundary registers for orientation face.
|
| |
| | BndryRegisterT () noexcept=default |
| | The default constructor.
|
| |
| | 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)
|
| |
| | ~BndryRegisterT ()=default |
| | The destructor.
|
| |
| | 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) |
| | Allocate boundary FabSets for all faces.
|
| |
| void | define (Orientation face, IndexType typ, int in_rad, int out_rad, int extent_rad, int ncomp, const DistributionMapping &dm) |
| | Build FABs along a particular face orientation.
|
| |
| void | clear () |
| | Release all FABs and clear the associated BoxArray.
|
| |
| const BoxArray & | boxes () const noexcept |
| | Get box domain (as an array of boxes).
|
| |
| int | size () const noexcept |
| | Return the number of grids in this domain.
|
| |
| const FabSetT< MF > & | operator[] (Orientation face) const noexcept |
| | Return const set of FABs bounding the domain grid boxes on orientation face.
|
| |
| FabSetT< MF > & | operator[] (Orientation face) noexcept |
| | Return set of FABs bounding the domain grid boxes on orientation face.
|
| |
| void | setVal (value_type v) |
| | Set all boundary FABs to the scalar value v across every component.
|
| |
| BndryRegisterT< MF > & | operator+= (const BndryRegisterT< MF > &rhs) |
| | Accumulate another register with identical layout into this one.
|
| |
| BndryRegisterT< MF > & | plus (const BndryRegisterT< MF > &rhs) |
| | Convenience alias for operator+=.
|
| |
| BndryRegisterT< MF > & | copyFrom (const MF &src, int nghost, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic()) |
| | Fill boundary FABs with num_comp components copied from src (component src_comp) into dest_comp, sampling nghost layers and honoring period.
|
| |
| BndryRegisterT< MF > & | plusFrom (const MF &src, int nghost, int src_comp, int dest_comp, int num_comp, const Periodicity &period=Periodicity::NonPeriodic()) |
| | Increment boundary FABs with num_comp components from src, using the same arguments as copyFrom().
|
| |
| 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 the boundary, using components a_comp/b_comp and writing to dest_comp for num_comp entries with n_ghost layers.
|
| |
| void | setBoxes (const BoxArray &grids) |
| | Set the BoxArray domain to grids once prior to calling define().
|
| |
| const DistributionMapping & | DistributionMap () const noexcept |
| | Returns the DistributionMapping describing which MPI ranks own each boundary FAB.
|
| |
| void | write (const std::string &name, std::ostream &os) const |
| | Write all FabSets to disk (used for checkpoint data).
|
| |
| void | read (const std::string &name, std::istream &is) |
| | Read all FabSets from disk (used for checkpoint data).
|
| |
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