Chombo + EB
3.2
|
A FArrayBox-like container for edge-centered fluxes. More...
#include <EdgeDataBox.H>
Public Member Functions | |
EdgeDataBox () | |
default constructor More... | |
EdgeDataBox (const Box &bx, int n=1) | |
constructs EdgeDataBox on cell-centered box with n components More... | |
~EdgeDataBox () | |
destructor More... | |
void | define (const Box &bx, int n=1) |
resize EdgeDataBox similar to BaseFab::resize() More... | |
void | clear () |
this function returns the EdgeDataBox to the undefined state More... | |
int | nComp () const |
{ access functions} More... | |
const Box & | box () const |
returns cell-centered box which defines EdgeDataBox More... | |
FArrayBox & | getData (const int dir) |
returns edge-centered data in direction dir More... | |
const FArrayBox & | getData (const int dir) const |
FArrayBox & | operator[] (const int dir) |
returns FArrayBox in direction dir More... | |
const FArrayBox & | operator[] (const int dir) const |
constant version More... | |
void | setVal (const Real val) |
void | setVal (const Real val, const int dir) |
set fluxes in direction dir to val More... | |
void | setVal (const Real val, const int dir, const int startComp, const int nComp) |
more specific setVal More... | |
void | setVal (const Real val, const Box &bx) |
sets fluxes on edges surrounding cell-centered box bx More... | |
void | setVal (const Real val, const Box &bx, const int dir, const int startComp, const int nComp) |
void | copy (const EdgeDataBox &src) |
copy from src to this EdgeDataBox – sizes must be identical More... | |
void | copy (const EdgeDataBox &src, const int srcComp, const int destComp, const int numComp) |
copy on overlap, for all directions More... | |
void | copy (const EdgeDataBox &src, const int dir, const int srcComp, const int destComp, const int numComp) |
copy on overlap of EdgeDataBoxes, in direction dir More... | |
void | copy (const Box &RegionFrom, const Interval &Cdest, const Box &RegionTo, const EdgeDataBox &src, const Interval &Csrc) |
EdgeDataBox & | plus (const EdgeDataBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1) |
Modifes this EdgeDataBox by adding src in the CELL-CENTERED sub-box. More... | |
void | plus (const Box &srcbox, const Interval &destcomps, const Box &destbox, const EdgeDataBox &src, const Interval &srccomps) |
size_t | size (const Box &bx, const Interval &comps) const |
{ Linearization Functions} More... | |
void | linearOut (void *buf, const Box &R, const Interval &comps) const |
void * | linearOut2 (void *buf, const Box &R, const Interval &comps) const |
like linearOut, but returns current position in the buffer More... | |
void | linearIn (void *buf) |
void | linearIn (void *buf, const Box &R, const Interval &comps) |
read a linear representation of the data over the box R More... | |
void * | linearIn2 (void *buf, const Box &R, const Interval &comps) |
like linearIn, but returns current position in the buffer More... | |
Static Public Member Functions | |
static int | preAllocatable () |
Protected Attributes | |
Box | m_bx |
int | m_nvar |
Vector< FArrayBox * > | m_data |
BL_SPACEDIM FArrayBoxes which hold fluxes. More... | |
Private Member Functions | |
EdgeDataBox (const EdgeDataBox &) | |
these are disallowed More... | |
EdgeDataBox & | operator= (const EdgeDataBox &) |
A FArrayBox-like container for edge-centered fluxes.
This is a class to contain edge-centered fluxes on a box.
EdgeDataBox::EdgeDataBox | ( | ) |
default constructor
EdgeDataBox::EdgeDataBox | ( | const Box & | bx, |
int | n = 1 |
||
) |
constructs EdgeDataBox on cell-centered box with n components
EdgeDataBox::~EdgeDataBox | ( | ) |
destructor
|
private |
these are disallowed
void EdgeDataBox::define | ( | const Box & | bx, |
int | n = 1 |
||
) |
resize EdgeDataBox similar to BaseFab::resize()
void EdgeDataBox::clear | ( | ) |
this function returns the EdgeDataBox to the undefined state
int EdgeDataBox::nComp | ( | ) | const |
{ access functions}
number of components
const Box& EdgeDataBox::box | ( | ) | const |
returns cell-centered box which defines EdgeDataBox
FArrayBox& EdgeDataBox::getData | ( | const int | dir | ) |
returns edge-centered data in direction dir
const FArrayBox& EdgeDataBox::getData | ( | const int | dir | ) | const |
const FArrayBox& EdgeDataBox::operator[] | ( | const int | dir | ) | const |
constant version
void EdgeDataBox::setVal | ( | const Real | val | ) |
{ data modification functions} set all fluxes to val
void EdgeDataBox::setVal | ( | const Real | val, |
const int | dir | ||
) |
set fluxes in direction dir to val
void EdgeDataBox::setVal | ( | const Real | val, |
const int | dir, | ||
const int | startComp, | ||
const int | nComp | ||
) |
more specific setVal
sets fluxes on edges surrounding cell-centered box bx
void EdgeDataBox::setVal | ( | const Real | val, |
const Box & | bx, | ||
const int | dir, | ||
const int | startComp, | ||
const int | nComp | ||
) |
void EdgeDataBox::copy | ( | const EdgeDataBox & | src | ) |
copy from src to this EdgeDataBox – sizes must be identical
void EdgeDataBox::copy | ( | const EdgeDataBox & | src, |
const int | srcComp, | ||
const int | destComp, | ||
const int | numComp | ||
) |
copy on overlap, for all directions
void EdgeDataBox::copy | ( | const EdgeDataBox & | src, |
const int | dir, | ||
const int | srcComp, | ||
const int | destComp, | ||
const int | numComp | ||
) |
copy on overlap of EdgeDataBoxes, in direction dir
void EdgeDataBox::copy | ( | const Box & | RegionFrom, |
const Interval & | Cdest, | ||
const Box & | RegionTo, | ||
const EdgeDataBox & | src, | ||
const Interval & | Csrc | ||
) |
EdgeDataBox& EdgeDataBox::plus | ( | const EdgeDataBox & | a_src, |
const Box & | a_subbox, | ||
int | a_srccomp, | ||
int | a_destcomp, | ||
int | a_numcomp = 1 |
||
) |
Modifes this EdgeDataBox by adding src in the CELL-CENTERED sub-box.
Modifies this EdgeDataBox by pointwise addition of values in the argument EdgeDataBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) to this EdgeDataBox's components (a_destcomp : a_destcomp+numcomp-1) where the domain of this EdgeDataBox intersects the a_subbox. The actual directionally-dependent subbox is given by a_subbox.surroundingNodes(); a_subbox.enclosedCells(dir); NOTE: a_subbox must be contained in the cell-centered Box of this EdgeDataBox. Returns *this
void EdgeDataBox::plus | ( | const Box & | srcbox, |
const Interval & | destcomps, | ||
const Box & | destbox, | ||
const EdgeDataBox & | src, | ||
const Interval & | srccomps | ||
) |
{ Linearization Functions}
like linearOut, but returns current position in the buffer
void EdgeDataBox::linearIn | ( | void * | buf | ) |
read a linear representation of the data over the box R
Reads in the output of LinearOut
like linearIn, but returns current position in the buffer
|
inlinestatic |
|
private |
|
protected |
|
protected |