Chombo + EB + MF  3.2
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
BlockBoundary Class Reference

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)
 

Detailed Description

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

Member Enumeration Documentation

◆ btype

Enumerator
BOUNDARY 
CONFORMAL 
MAPPED 
UNKNOWN 

Constructor & Destructor Documentation

◆ BlockBoundary() [1/3]

BlockBoundary::BlockBoundary ( )

null constructor leaves object in type=UNKNOWN state. It can be overridden by MappedDomain

◆ BlockBoundary() [2/3]

BlockBoundary::BlockBoundary ( int  a_boundaryClass)

the boundary is an external boundary condition.

Boundary condition label. Application is responsible for interpreting the pointer.

◆ BlockBoundary() [3/3]

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

◆ define() [1/2]

void BlockBoundary::define ( int  a_boundaryClass)

◆ define() [2/2]

void BlockBoundary::define ( const IndicesTransformation a_transformation,
int  a_neighbor 
)

◆ defineConformal()

void BlockBoundary::defineConformal ( int  a_neighbor)

conformal mapping with unchanged coordinate system

◆ isInterface()

bool BlockBoundary::isInterface ( ) const
inline

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

References coarsen, CONFORMAL, MAPPED, refine, and type().

◆ neighbor()

int BlockBoundary::neighbor ( ) const
inline

References m_neighbor.

◆ getTransformation()

IndicesTransformation BlockBoundary::getTransformation ( ) const
inline

References m_transformation.

◆ isDomainBoundary()

bool BlockBoundary::isDomainBoundary ( ) const
inline

References BOUNDARY, and m_type.

◆ isConformal()

bool BlockBoundary::isConformal ( ) const
inline

References CONFORMAL, and m_type.

◆ isMapped()

bool BlockBoundary::isMapped ( ) const
inline

References dirOther(), m_type, MAPPED, and reorientFace().

◆ 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().

◆ dirOther()

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().

◆ type()

btype BlockBoundary::type ( ) const
inline

References m_type.

Referenced by isInterface().

Friends And Related Function Documentation

◆ coarsen

BlockBoundary coarsen ( const BlockBoundary a_bb,
int  a_refinement_ratio 
)
friend

Referenced by isInterface().

◆ refine

BlockBoundary refine ( const BlockBoundary a_bb,
int  a_refinement_ratio 
)
friend

Referenced by isInterface().

Member Data Documentation

◆ m_transformation

IndicesTransformation BlockBoundary::m_transformation
protected

Referenced by getTransformation().

◆ m_bc

int BlockBoundary::m_bc
protected

◆ m_neighbor

int BlockBoundary::m_neighbor
protected

Referenced by neighbor().

◆ m_type

btype BlockBoundary::m_type
protected

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