#include <source/apputils/embedded_boundary/CutCell.h>
Public Member Functions | |
CutCell () | |
CutCell (const pdat::CellIndex< DIM > &cut_cell) | |
CutCell (const appu::CutCell< DIM > &cut_cell) | |
CutCell & | copy (const appu::CutCell< DIM > &cut_cell) |
~CutCell () | |
pdat::CellIndex< DIM > | getIndex () const |
double | getVolume () const |
const double * | getArea () const |
double | getArea (const int i) const |
const double * | getNormal () const |
double | getNormal (const int i) const |
double | getFrontArea () const |
const double * | getFrontCentroid () const |
double | getFrontCentroid (const int i) const |
double | getSurrVolume () const |
double | getNewBase (const int i, const int j) const |
int | getNumberBoundaryNodes () const |
BoundaryNode< DIM > | getBoundaryNode (const int i) const |
double | getFluxFront (const int m) const |
void | setVolume (const double volume) |
void | setArea (const double area, const int i) |
void | setNormal (const double normal, const int i) |
void | setNormal (const double *normal) |
void | setSurrVolume (const double surrvol) |
void | setFrontArea (const double area) |
void | setFrontCentroid (const double centroid, const int i) |
void | setSplit () |
void | setNewBase (const double base, const int i, const int j) |
void | setNewBase (const double *base) |
void | setNewBase () |
void | setFluxFront (const int m, const double front) |
void | setBoundaryNode (const BoundaryNode< DIM > &node) |
void | setBoundaryNode (const BoundaryNode< DIM > &node, const int i) |
void | setBoundaryNode (const pdat::NodeIndex< DIM > &node) |
void | printVolumeAndAreas (ostream &os) const |
void | printNormal (ostream &os) const |
void | printBoundaryNodes (ostream &os) const |
void | printAll (ostream &os) const |
void | copySourceItem (hier::Index< DIM > &index, const hier::IntVector< DIM > &src_offset, appu::CutCell< DIM > &src_item) |
size_t | getDataStreamSize () |
void | packStream (tbox::AbstractStream &stream) |
void | unpackStream (tbox::AbstractStream &stream, const hier::IntVector< DIM > &offset) |
void | getFromDatabase (tbox::Pointer< tbox::Database > &database) |
void | putToDatabase (tbox::Pointer< tbox::Database > &database) |
Static Public Member Functions | |
static void | enableBoundaryNodeStorage () |
static bool | boundaryNodesEnabled () |
Information maintained by the struct includes the following:
|
Create a new ``empty'' CutCell. |
|
Create a new cut cell with specified cell index. |
|
The copy constructor copies the data of the argument cell. |
|
The destructor for CutCell. |
|
Static function to set whether storage will be allocated for boundary node information.
|
|
Static function that returns whether storage is allocated for boundary node information. |
|
The assignment operator copies the data of the argument cell. |
|
Returns the index (i,j,k) of the cell. |
|
Returns the volume fraction of cell. |
|
Returns the area fraction of the cell (dimension 2*DIM) 0,1 - Xlower,Xupper 2,3 - Ylower,Yupper 4,5 - Zlower,Zupper |
|
Returns the area fraction of the cell for face i i = 0,1 - Xlower,Xupper i = 2,3 - Ylower,Yupper i = 4,5 - Zlower,Zupper |
|
Returns the normal vector (dimension DIM). |
|
Returns the ith component of the normal vector. |
|
Returns the frontal area of exposed cut surface. |
|
Returns the front centroid vector (dimension DIM). |
|
Returns the front centroid location for direction i. |
|
Returns the volume of the cells surrounding the cut cell. |
|
Returns the new base with components (i,j). |
|
Return number of boundary nodes. |
|
Return boundary node class for location i. |
|
TO BE REMOVED (eventually) |
|
Sets the volume fraction of cell. |
|
Sets the area fraction of the cell for face i i = 0,1 - Xlower,Xupper i = 2,3 - Ylower,Yupper i = 4,5 - Zlower,Zupper |
|
Sets the normal vector for dimension i. |
|
Sets the normal vector (dimension DIM). |
|
Sets the volume of the cells surrounding the cut cell. |
|
Sets the front area. |
|
Sets the front centroid location for direction i. |
|
Set split cell. |
|
Explicitly set the new base vector with components (i,j). |
|
Set new base vector using supplied "base" vector. |
|
Set new base vector using cell's normal vector. |
|
TO BE REMOVED (eventually) |
|
Add the supplied boundary node to the array of boundary nodes maintained by this cut cell. |
|
Overwrite index i of the boundary node array maintained by the cut cell with the supplied boundary node. |
|
Add the supplied index as an uninitialized boundary node. |
|
Print volume and area data for the cell. |
|
Print normal data for the cell. |
|
Print boundary nodes for the cell. |
|
Print all data in the struct. |
|
The copySourceItem() method allows CutCell to be a templated data type for IndexData - i.e. IndexData<DIM,CutCell<DIM>>. In addition to this method, the other methods that must be defined are getDataStreamSize(), packStream(), unpackStream() for communication, putToDatabase(), getFromDatabase for restart. These are described below. |
|
The following functions enable parallel communication with CutCells. They are used in SAMRAI communication infrastructure to specify the number of bytes of data stored in each CutCell object, and to pack and unpack the data to the specified stream. |
|
|
|
|
|
These functions are used to read/write CutCell data to/from restart. |
|
|