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

#include <AMReX_MacBndry.H>

Inheritance diagram for amrex::MacBndry:
amrex::InterpBndryData amrex::BndryData amrex::BndryRegister

Public Member Functions

 MacBndry ()
 
 MacBndry (const BoxArray &_grids, const DistributionMapping &_dmap, int _ncomp, const Geometry &_geom)
 
virtual ~MacBndry () override
 
 MacBndry (MacBndry &&rhs)=delete
 
 MacBndry (const MacBndry &rhs)=delete
 
MacBndryoperator= (const MacBndry &rhs)=delete
 
MacBndryoperator= (MacBndry &&rhs)=delete
 
virtual void setBndryConds (const BCRec &phys_bc, int ratio) override
 interpret user BCs to those expected by LinOp: takes integer ratio and is a wrapper to the IntVect version More...
 
virtual void setBndryConds (const BCRec &phys_bc, const IntVect &ratio, int comp=0) override
 interpret user BCs to those expected by LinOp: takes IntVect ratio More...
 
void setHomogValues (const BCRec &bc, const IntVect &ratio)
 
int phys_bc_lo (int dir) const noexcept
 
int phys_bc_hi (int dir) const noexcept
 
const BCRecPhysBC () const noexcept
 
- Public Member Functions inherited from amrex::InterpBndryData
 InterpBndryData () noexcept
 default constructor More...
 
 InterpBndryData (const BoxArray &_grids, const DistributionMapping &_dmap, int _ncomp, const Geometry &geom)
 constructor for given BoxArray, etc More...
 
 InterpBndryData (const InterpBndryData &rhs)
 Copy constructor. More...
 
virtual ~InterpBndryData () override
 
InterpBndryDataoperator= (const InterpBndryData &rhs)
 Copy assignment operator. More...
 
 InterpBndryData (InterpBndryData &&rhs)=delete
 
InterpBndryDataoperator= (InterpBndryData &&rhs)=delete
 
virtual void setBndryValues (const MultiFab &mf, int mf_start, int bnd_start, int num_comp, const BCRec &phys_bc)
 set bndry values at coarse level (non interpolation performed) More...
 
virtual void setBndryValues (const MultiFab &mf, int mf_start, int bnd_start, int num_comp, int ratio, const BCRec &phys_bc)
 
virtual void setBndryValues (const MultiFab &mf, int mf_start, int bnd_start, int num_comp, const IntVect &ratio, const BCRec &phys_bc)
 
virtual void setBndryValues (BndryRegister &crse, int c_start, const MultiFab &fine, int f_start, int bnd_start, int num_comp, int ratio, const BCRec &phys_bc, int max_order=IBD_max_order_DEF)
 set bndry values at fine level, performing necessary interpolations More...
 
virtual void setBndryValues (BndryRegister &crse, int c_start, const MultiFab &fine, int f_start, int bnd_start, int num_comp, const IntVect &ratio, const BCRec &phys_bc, int max_order=IBD_max_order_DEF)
 set bndry values at fine level, performing necessary interpolations More...
 
void updateBndryValues (BndryRegister &crse, int c_start, int bnd_start, int num_comp, const IntVect &ratio, int max_order=IBD_max_order_DEF)
 
void updateBndryValues (BndryRegister &crse, int c_start, int bnd_start, int num_comp, int ratio, int max_order=IBD_max_order_DEF)
 
void setHomogValues ()
 
void BndryValuesDoIt (BndryRegister &crse, int c_start, const MultiFab *fine, int f_start, int bnd_start, int num_comp, const IntVect &ratio, const BCRec *phys_bc, int max_order)
 
- Public Member Functions inherited from amrex::BndryData
 BndryData () noexcept
 Default constructor. More...
 
 BndryData (const BoxArray &grids, const DistributionMapping &dmap, int ncomp, const Geometry &geom)
 constructor specifying number of components and box of physical domain (cell-centered) More...
 
virtual ~BndryData ()
 destructor More...
 
 BndryData (const BndryData &src)
 copy constructor More...
 
BndryDataoperator= (const BndryData &src)
 copy assignment operator More...
 
 BndryData (BndryData &&rhs)=delete
 
BndryDataoperator= (BndryData &&rhs)=delete
 
void define (const BoxArray &grids, const DistributionMapping &dmap, int ncomp, const Geometry &geom)
 allocate bndry fabs along given face More...
 
const MultiMaskbndryMasks (Orientation face) const noexcept
 
const FabSetbndryValues (Orientation face) const noexcept
 Return FabSet on given face. More...
 
const RealTuplebndryLocs (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 RealTuplebndryLocs (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 BoxgetDomain () const noexcept
 return domain used to define masks More...
 
const GeometrygetGeom () 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, Real val) noexcept
 set boundary location for given orientation on nth grid More...
 
void setBoundLoc (Orientation face, const MFIter &mfi, Real val) noexcept
 
const FabSetoperator[] (Orientation face) const noexcept
 implement public access to const BndryRegister::operator[] More...
 
FabSetoperator[] (Orientation face) noexcept
 implement public access to BndryRegister::operator[] More...
 
- Public Member Functions inherited from amrex::BndryRegister
 BndryRegister () noexcept
 The default constructor. More...
 
 BndryRegister (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...
 
 BndryRegister (const BndryRegister &src)
 The copy constructor. More...
 
BndryRegisteroperator= (const BndryRegister &src)
 The copy assignment operator. More...
 
virtual ~BndryRegister ()
 The destructor. More...
 
 BndryRegister (BndryRegister &&rhs) noexcept=default
 
BndryRegisteroperator= (BndryRegister &&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 BoxArrayboxes () 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 FabSetoperator[] (Orientation face) const noexcept
 Return const set of FABs bounding the domain grid boxes on a given orientation. More...
 
FabSetoperator[] (Orientation face) noexcept
 Return set of FABs bounding the domain grid boxes on a given orientation. More...
 
void setVal (Real v)
 Set all boundary FABs to given value. More...
 
BndryRegisteroperator+= (const BndryRegister &rhs)
 register += rhs More...
 
BndryRegisterplus (const BndryRegister &rhs)
 
BndryRegistercopyFrom (const MultiFab &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 MultiFab. More...
 
BndryRegisterplusFrom (const MultiFab &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 MultiFab. More...
 
BndryRegisterlinComb (Real a, const MultiFab &mfa, int a_comp, Real b, const MultiFab &mfb, int b_comp, int dest_comp, int num_comp, int n_ghost=0)
 Linear combination: this := a*mfa + b*mfb on intersection of MultiFabs with the boundary FABs. More...
 
void setBoxes (const BoxArray &grids)
 Set box domain, if not set previously. More...
 
const DistributionMappingDistributionMap () 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...
 
void init (const BndryRegister &src)
 Used by the copy constructor and assignment operator. More...
 

Private Attributes

BCRec m_phys_bc
 save phys_bc for FMultiGrid More...
 

Additional Inherited Members

- Public Types inherited from amrex::BndryData
enum  MaskVal { covered = 0, not_covered = 1, outside_domain = 2, NumMaskVals = 3 }
 mask values enumeration More...
 
using RealTuple = Array< Real, 2 *AMREX_SPACEDIM >
 Some useful typedefs. More...
 
- Static Public Member Functions inherited from amrex::InterpBndryData
static int maxOrderDEF ()
 
- Static Public Member Functions inherited from amrex::BndryRegister
static void Copy (BndryRegister &dst, const BndryRegister &src)
 Local copy function. More...
 
- Static Public Attributes inherited from amrex::InterpBndryData
static int IBD_max_order_DEF = 3
 
- Protected Member Functions inherited from amrex::BndryData
void init (const BndryData &src)
 Helper function for copy constructor and assignment operator. More...
 
- Protected Attributes inherited from amrex::BndryData
LayoutData< Vector< Vector< BoundCond > > > bcond
 Map of boundary condition type specifiers. The outer Array dimension is over Orientation. More...
 
LayoutData< RealTuplebcloc
 
Vector< MultiMaskmasks
 Boundary condition mask. More...
 
Geometry geom
 Domain used for mask definitions. More...
 
int m_ncomp
 
bool m_defined
 
- Protected Attributes inherited from amrex::BndryRegister
FabSet bndry [2 *AMREX_SPACEDIM]
 The data. More...
 
BoxArray grids
 

Constructor & Destructor Documentation

◆ MacBndry() [1/4]

amrex::MacBndry::MacBndry ( )

◆ MacBndry() [2/4]

amrex::MacBndry::MacBndry ( const BoxArray _grids,
const DistributionMapping _dmap,
int  _ncomp,
const Geometry _geom 
)

◆ ~MacBndry()

amrex::MacBndry::~MacBndry ( )
overridevirtual

◆ MacBndry() [3/4]

amrex::MacBndry::MacBndry ( MacBndry &&  rhs)
delete

◆ MacBndry() [4/4]

amrex::MacBndry::MacBndry ( const MacBndry rhs)
delete

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ phys_bc_hi()

int amrex::MacBndry::phys_bc_hi ( int  dir) const
inlinenoexcept

◆ phys_bc_lo()

int amrex::MacBndry::phys_bc_lo ( int  dir) const
inlinenoexcept

◆ PhysBC()

const BCRec& amrex::MacBndry::PhysBC ( ) const
inlinenoexcept

◆ setBndryConds() [1/2]

void amrex::MacBndry::setBndryConds ( const BCRec ,
const IntVect ,
int  = 0 
)
overridevirtual

interpret user BCs to those expected by LinOp: takes IntVect ratio

Parameters
phys_bc
ratio
comp

Reimplemented from amrex::InterpBndryData.

◆ setBndryConds() [2/2]

void amrex::MacBndry::setBndryConds ( const BCRec phys_bc,
int  ratio 
)
overridevirtual

interpret user BCs to those expected by LinOp: takes integer ratio and is a wrapper to the IntVect version

Parameters
phys_bc
ratio

Reimplemented from amrex::InterpBndryData.

◆ setHomogValues()

void amrex::MacBndry::setHomogValues ( const BCRec bc,
const IntVect ratio 
)

Member Data Documentation

◆ m_phys_bc

BCRec amrex::MacBndry::m_phys_bc
private

save phys_bc for FMultiGrid


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