Class for holding fluxes on domain boundaries.
More...
#include <CD_DomainFluxIFFAB.H>
|
| DomainFluxIFFAB () |
| Default constructor. Must subsequently call define.
|
|
| DomainFluxIFFAB (const ProblemDomain &a_domain, const EBISBox &a_ebisbox, const Box &a_box, const int a_nComp) |
| Full constructor. Calls the define function. More...
|
|
| ~DomainFluxIFFAB () |
| Destructor (does nothing)
|
|
const Box & | box () const |
| Get the defining box.
|
|
int | nComp () const |
| Get number of components.
|
|
const ProblemDomain & | getDomain () const |
| Get the defining problem domain.
|
|
const EBISBox & | getEBISBox () const |
| Get the defining ebis box.
|
|
void | define (const DomainFluxIFFAB &a_copy) |
| Make a clone of an input data holder. More...
|
|
void | define (const ProblemDomain &a_domain, const EBISBox &a_ebisbox, const Box &a_box, const int a_nComp) |
| Full define function. More...
|
|
BaseIFFAB< Real > & | operator() (const int a_dir, const Side::LoHiSide a_side) |
| Get the BaseIFFAB on a particular domain side. More...
|
|
const BaseIFFAB< Real > & | operator() (const int a_dir, const Side::LoHiSide a_side) const |
| Get the BaseIFFAB on a particular domain side. More...
|
|
int | size (const Box &R, const Interval &comps) const |
| Linearization function. More...
|
|
void | linearOut (void *buf, const Box &R, const Interval &comps) const |
| Linearization function. More...
|
|
void | linearIn (void *buf, const Box &R, const Interval &comps) |
| Linearization function. More...
|
|
void | copy (const Box &Rfrom, const Interval &Cdest, const Box &Rto, const DomainFluxIFFAB &src, const Interval &Csrc) |
| Copy functiopn. More...
|
|
|
static int | preAllocatable () |
|
|
ProblemDomain | m_domain |
| Defining domain.
|
|
Box | m_box |
| Defining box.
|
|
EBISBox | m_ebisbox |
| EBISBox.
|
|
int | m_nComp |
| Number of components.
|
|
bool | m_isDefined |
| Is defined or not.
|
|
Tuple< BaseIFFAB< Real > *, CH_SPACEDIM > | m_fluxLo |
| BaseIFFABs on Side::Lo sides.
|
|
Tuple< BaseIFFAB< Real > *, CH_SPACEDIM > | m_fluxHi |
| BaseIFFABs on Side::Hi sides.
|
|
Class for holding fluxes on domain boundaries.
The internal functionality of this class is to use two SpaceDim-sized tuples that hold the fluxes in each direction. Object in this class can be linearized and thus put in LevelData as LevelData<DomainFluxIFFAB>.
- Note
- The BaseIFFABs are defined over the strip of cells abutting a domain boundary – it it will also contain a layer of interior cells.
◆ DomainFluxIFFAB()
DomainFluxIFFAB::DomainFluxIFFAB |
( |
const ProblemDomain & |
a_domain, |
|
|
const EBISBox & |
a_ebisbox, |
|
|
const Box & |
a_box, |
|
|
const int |
a_nComp |
|
) |
| |
Full constructor. Calls the define function.
- Parameters
-
[in] | a_domain | Problem domain |
[in] | a_ebisbox | EBISBox |
[in] | a_box | Cell-centered box in which we define the BaseIFFABs |
[in] | a_nComp | Number of components |
◆ copy()
void DomainFluxIFFAB::copy |
( |
const Box & |
Rfrom, |
|
|
const Interval & |
Cdest, |
|
|
const Box & |
Rto, |
|
|
const DomainFluxIFFAB & |
src, |
|
|
const Interval & |
Csrc |
|
) |
| |
Copy functiopn.
Copies from a subsection of one box into another. Assumes the boxes are both in the same index space, and that box R is completely contained in both the src and destination boxes. This function equired by BoxLayoutData
◆ define() [1/2]
Make a clone of an input data holder.
- Parameters
-
[in] | a_copy | Other domain flux |
◆ define() [2/2]
void DomainFluxIFFAB::define |
( |
const ProblemDomain & |
a_domain, |
|
|
const EBISBox & |
a_ebisbox, |
|
|
const Box & |
a_box, |
|
|
const int |
a_nComp |
|
) |
| |
Full define function.
- Parameters
-
[in] | a_domain | Problem domain |
[in] | a_ebisbox | EBISBox |
[in] | a_box | Cell-centered box in which we define the BaseIFFABs |
[in] | a_nComp | Number of components |
◆ linearIn()
void DomainFluxIFFAB::linearIn |
( |
void * |
buf, |
|
|
const Box & |
R, |
|
|
const Interval & |
comps |
|
) |
| |
Linearization function.
This reuses BaseIFFAB linearization function
◆ linearOut()
void DomainFluxIFFAB::linearOut |
( |
void * |
buf, |
|
|
const Box & |
R, |
|
|
const Interval & |
comps |
|
) |
| const |
Linearization function.
This reuses BaseIFFAB linearization function
◆ operator()() [1/2]
BaseIFFAB< Real > & DomainFluxIFFAB::operator() |
( |
const int |
a_dir, |
|
|
const Side::LoHiSide |
a_side |
|
) |
| |
Get the BaseIFFAB on a particular domain side.
- Parameters
-
[in] | a_dir | Coordinate direction |
[in] | a_side | Side (lo/hi) |
◆ operator()() [2/2]
const BaseIFFAB< Real > & DomainFluxIFFAB::operator() |
( |
const int |
a_dir, |
|
|
const Side::LoHiSide |
a_side |
|
) |
| const |
Get the BaseIFFAB on a particular domain side.
- Parameters
-
[in] | a_dir | Coordinate direction |
[in] | a_side | Side (lo/hi) |
◆ size()
int DomainFluxIFFAB::size |
( |
const Box & |
R, |
|
|
const Interval & |
comps |
|
) |
| const |
Linearization function.
- Returns
- Returns the sum of the BaseIFFAB sizes
The documentation for this class was generated from the following files: