Chombo + EB + MF
3.2
|
Class to describe the multi-block topology between 2 blocks, or placehold a BC. More...
#include <BlockBoundary.H>
Public Types | |
enum | btype { BOUNDARY, CONFORMAL, MAPPED, UNKNOWN } |
Public Member Functions | |
BlockBoundary () | |
null constructor leaves object in type=UNKNOWN state. It can be overridden by MappedDomain More... | |
BlockBoundary (int a_boundaryClass) | |
the boundary is an external boundary condition. More... | |
void | define (int a_boundaryClass) |
BlockBoundary (const IndicesTransformation &a_transformation, int a_neighbor) | |
the boundary is a conformal connection between two blocks. More... | |
void | define (const IndicesTransformation &a_transformation, int a_neighbor) |
void | defineConformal (int a_neighbor) |
bool | isInterface () const |
int | neighbor () const |
IndicesTransformation | getTransformation () const |
bool | isDomainBoundary () const |
bool | isConformal () const |
bool | isMapped () const |
int | reorientFace (int a_dir) const |
int | dirOther (int a_dir) const |
btype | type () const |
Protected Attributes | |
IndicesTransformation | m_transformation |
int | m_bc |
int | m_neighbor |
btype | m_type |
Friends | |
BlockBoundary | coarsen (const BlockBoundary &a_bb, int a_refinement_ratio) |
BlockBoundary | refine (const BlockBoundary &a_bb, int a_refinement_ratio) |
Class to describe the multi-block topology between 2 blocks, or placehold a BC.
enum BlockBoundary::btype |
BlockBoundary::BlockBoundary | ( | ) |
null constructor leaves object in type=UNKNOWN state. It can be overridden by MappedDomain
BlockBoundary::BlockBoundary | ( | int | a_boundaryClass | ) |
the boundary is an external boundary condition.
Boundary condition label. Application is responsible for interpreting the pointer.
BlockBoundary::BlockBoundary | ( | const IndicesTransformation & | a_transformation, |
int | a_neighbor | ||
) |
the boundary is a conformal connection between two blocks.
The BlockMap between these two MappedBlocks are conformal, hence no spatial interpolation needs to be performed. However, the index spaces may require a transform.
these topological connections are redundant between two blocks. the user can choose to specify all connections, and have MappedDomain verify the topology, or the user can provide just the sufficient non-redundant set and have MappedDomain construct the mirrors.
void BlockBoundary::define | ( | int | a_boundaryClass | ) |
void BlockBoundary::define | ( | const IndicesTransformation & | a_transformation, |
int | a_neighbor | ||
) |
void BlockBoundary::defineConformal | ( | int | a_neighbor | ) |
conformal mapping with unchanged coordinate system
|
inline |
|
inline |
References m_neighbor.
|
inline |
References m_transformation.
|
inline |
References dirOther(), m_type, MAPPED, and reorientFace().
int BlockBoundary::reorientFace | ( | int | a_dir | ) | const |
Returns 1 if flux in direction a_dir points the same way on the other side of the block boundary, or -1 if it points the opposite way.
Referenced by isMapped().
int BlockBoundary::dirOther | ( | int | a_dir | ) | const |
Returns the direction in the block on the other side of the block boundary corresponding to a_dir in this block.
Referenced by isMapped().
|
inline |
References m_type.
Referenced by isInterface().
|
friend |
Referenced by isInterface().
|
friend |
Referenced by isInterface().
|
protected |
Referenced by getTransformation().
|
protected |
|
protected |
Referenced by neighbor().
|
protected |
Referenced by isConformal(), isDomainBoundary(), isMapped(), and type().