BlockBoundary Class Reference

#include <BlockBoundary.H>

List of all members.


Detailed Description

Class to describe the multi-block topology between 2 blocks, or placehold a BC.

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
 BlockBoundary (int a_boundaryClass)
 the boundary is an external boundary condition.
void define (int a_boundaryClass)
 BlockBoundary (const IndicesTransformation &a_transformation, int a_neighbor)
 the boundary is a conformal connection between two blocks.
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)

Member Enumeration Documentation

Enumerator:
BOUNDARY 
CONFORMAL 
MAPPED 
UNKNOWN 


Constructor & Destructor Documentation

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.


Member Function Documentation

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

bool BlockBoundary::isInterface (  )  const [inline]

Returns true if boundary is an interface between two blocks or false otherwise (e.g., a domain boundary)

References CONFORMAL, MAPPED, and type().

int BlockBoundary::neighbor (  )  const [inline]

References m_neighbor.

IndicesTransformation BlockBoundary::getTransformation (  )  const [inline]

References m_transformation.

bool BlockBoundary::isDomainBoundary (  )  const [inline]

References BOUNDARY, and m_type.

bool BlockBoundary::isConformal (  )  const [inline]

References CONFORMAL, and m_type.

bool BlockBoundary::isMapped (  )  const [inline]

References m_type, and MAPPED.

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.

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.

btype BlockBoundary::type (  )  const [inline]

References m_type.

Referenced by isInterface().


Friends And Related Function Documentation

BlockBoundary coarsen ( const BlockBoundary a_bb,
int  a_refinement_ratio 
) [friend]

BlockBoundary refine ( const BlockBoundary a_bb,
int  a_refinement_ratio 
) [friend]


Member Data Documentation

Referenced by getTransformation().

int BlockBoundary::m_bc [protected]

int BlockBoundary::m_neighbor [protected]

Referenced by neighbor().


The documentation for this class was generated from the following file:

Generated on Tue Oct 17 03:26:57 2017 for Chombo + EB + MF by  doxygen 1.5.5