class Workshop3D

Automatic embedded boundary generator

Inheritance:


public members:

Constructors, destructors
Workshop3D()
~Workshop3D()

Modification functions
virtual VoF::VoFType state( IntVect iv)
virtual void whichEndUp( IntVect iv, int& dir, int& sgn, Real center[3])
virtual Real f(Real x[ BL_SPACEDIM ], int dir, int sgn)
void construct( EBIndexSpace & ispace, Real dx)
void add(const EBIndexSpace & ispace1, const EBIndexSpace & ispace2, EBIndexSpace & ispace3)
void subtract(const EBIndexSpace & ispace1, const EBIndexSpace & ispace2, EBIndexSpace & ispace3)
void complement(const EBIndexSpace & ispace1, EBIndexSpace & ispace2)
void setTol(Real t)
void getTransDir(int dir, int tdir[2])

Documentation

Given a function which describes the shape of the body, this class contains functions which will automatically generate the vofs and faces by using bi-linear interpolation.

Workshop3D ()
Default constructor.

~Workshop3D ()
Default destructor.

virtual VoF::VoFType state ( IntVect iv)
Returns VoF::Irregular, VoF::Covered, or VoF::Regular if a grid cell is cut by, covered by, or outside of the body, respectively. Arguments: iv (not modified) is the (i,j,k) coordinates of the cell. Returns: VoF::Irregular if the body cuts the grid cell. VoF::Covered if the grid cell is completely inside the body. VoFe:Regular if the grid cell is completely outside the body. This: This object is not modified.

virtual void whichEndUp ( IntVect iv, int& dir, int& sgn, Real center[3])
Given the (i,j,k) coordinates of a grid cell, this function returns which direction is "up", whether "up" is in the positive or negative direction, and the (x,y,z) coordinates of the center of the cell. Arguments: iv (not modified) is the (i,j,k) coordinates of the cell. dir (modified) is the "up" direction. E.G., dir = 2 means z=z(x,y). sgn (modified) = 1 for the plus direction, -1 for the minus direction, 0 for a thin wall with parallel sides. I.E., is this cell at the "top" (sgn=1) of the shape, or the "bottom" (sgn=-1). center (modified) is the (x,y,z) coordinates of the center of the cell. Returns: none. This: This object is modified.

virtual Real f (Real x[ BL_SPACEDIM ], int dir, int sgn)
f is a function that describes the body. Arguments: x (not modified) is the coordinates of a point. dir (not modified) is the "up" direction. sgn (not modified) = 1 for the plus direction, -1 for the minus direction. Returns: the value of the function that describes the body at the point x. This: This object is not modified.

void construct ( EBIndexSpace & ispace, Real dx)
Creates the vofs and faces for EBIS by using f (see above). It then closes the EBIS. Arguments: ispace (modified) is the input EBIS. dx (not modified) the grid spacing. Returns: none. This: This object is modified.

void add (const EBIndexSpace & ispace1, const EBIndexSpace & ispace2, EBIndexSpace & ispace3)
Adds the embedded boundaries from ispace1 and ispace2 to create an embedded boundary for ispace3. The embedded boundaries must not intersect the same grid cells. Arguments: ispace1 (not modified) and ispace2 (not modified) are input EBIS. ispace3 (modified) is the output EBIS. add automatically closes ispace3. All three EBIS must be defined on equal sized boxes. Returns: none. This: This object is modified.

void subtract (const EBIndexSpace & ispace1, const EBIndexSpace & ispace2, EBIndexSpace & ispace3)
Subtracts the embedded boundaries in ispace2 from the one in ispace1 to create an embedded boundary for ispace3. The embedded boundary in ispace2 must be able to be locally approximated by planes, i.e. it must have only 1 vof per grid cell. Arguments: ispace1 (not modified) and ispace2 (not modified) are input EBIS. ispace3 (modified) is the output EBIS. subtract automatically closes ispace3. All three EBIS must be defined on equal sized boxes. Returns: none. This: This object is modified.

void complement (const EBIndexSpace & ispace1, EBIndexSpace & ispace2)
Sets ispace2 to be the complement of ispace1. Arguments: ispace1 (not modified) is the input EBIS. ispace2 (modified) is the output EBIS. complement automatically closes ispace2. Both EBIS must be defined on equal sized boxes. It is assumed that there are a maximum of two vofs per grid cell. Returns: none. This: This object is modified.

void setTol (Real t)
Sets the tolerance used to check for zero. Arguments: t (not modified) is the value of the new tolerance. Returns: none. This: This object is modified.

void getTransDir (int dir, int tdir[2])
Returns the directions that are transverse to dir. Arguments: dir (not modified) the direction. tdir[2] (modified) the two transverse directions. Returns: none. This: This object is not modified.


this class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++