Proto  3.2
Public Member Functions | Private Attributes | List of all members
Proto::MBProblemDomain Class Reference

Mapped Multi-Block Problem Domain. More...

#include <Proto_MBProblemDomain.H>

Public Member Functions

 MBProblemDomain ()
 
 MBProblemDomain (unsigned int a_numBlocks)
 
 MBProblemDomain (std::shared_ptr< MBGraph > a_graph)
 
void defineDomain (BlockIndex a_blockID, Point a_domainSize)
 
void defineBoundary (BlockIndex a_srcBlock, BlockIndex a_dstBlock, unsigned int a_dir, Side::LoHiSide a_side, CoordPermutation &a_rotation)
 
void defineBoundary (BlockIndex a_srcBlock, BlockIndex a_dstBlock, Point a_dir, CoordPermutation &a_rotation)
 
unsigned int size () const
 
unsigned int numBlocks () const
 
MBGraphgraph () const
 
std::shared_ptr< MBGraphgraphPtr () const
 
const ProblemDomaingetBlock (BlockIndex a_blockID) const
 
Point blockSize (BlockIndex a_blockID) const
 
double dv (BlockIndex a_blockID) const
 
std::vector< MBGraphArcboundaries (BlockIndex a_srcBlock, Point a_dir) const
 
Point convertNode (Point a_point, BlockIndex a_srcBlock, BlockIndex a_dstBlock) const
 
Point convertPoint (Point a_point, BlockIndex a_srcBlock, BlockIndex a_dstBlock, Centering a_ctr) const
 
Box convertBox (Box a_box, BlockIndex a_srcBlock, BlockIndex a_dstBlock, Centering a_ctr=PR_CELL) const
 
MBProblemDomain coarsen (Point a_refRatio) const
 
MBProblemDomain coarsen (const std::vector< Point > &a_refRatios) const
 
MBProblemDomain refine (Point a_refRatio) const
 
MBProblemDomain refine (const std::vector< Point > &a_refRatios) const
 
bool coarsenable (Point a_refRatio) const
 
bool coarsenable (BlockIndex a_block, Point a_refRatio) const
 
bool defined () const
 
bool operator== (const MBProblemDomain &a_rhs) const
 
void close () const
 
std::vector< MBPointpatches (int a_boxSize) const
 
std::vector< MBPointpatches (Point a_boxSize) const
 
std::vector< MBPointpatches (const std::vector< Point > &a_boxSizes) const
 
bool isPointInTriplePoint (Point a_point, BlockIndex a_block) const
 
bool isPointInTriplePoint (Point a_point, BlockIndex a_block, Point a_dir) const
 
bool isPointInBlockBoundary (Point a_point, BlockIndex a_block) const
 
bool isPointInBlockBoundary (Point a_point, BlockIndex a_block, Point a_dir) const
 
bool isPointInDomainBoundary (Point a_point, BlockIndex a_block) const
 
bool isPointInDomainBoundary (Point a_point, BlockIndex a_block, Point a_dir) const
 
bool isPointInInterior (Point a_point, BlockIndex a_block) const
 
bool isPointOnBlockBoundary (Point a_point, BlockIndex a_block) const
 
bool isPointOnBlockBoundary (Point a_point, BlockIndex a_block, Point a_dir) const
 
bool isPointOnDomainBoundary (Point a_point, BlockIndex a_block) const
 
bool isPointOnDomainBoundary (Point a_point, BlockIndex a_block, Point a_dir) const
 

Private Attributes

bool m_closed
 
std::vector< ProblemDomainm_domains
 
std::shared_ptr< MBGraphm_graph
 
std::vector< bool > m_domainsDefined
 

Detailed Description

Mapped Multi-Block Problem Domain.

The ProblemDomain equivalent for a MMB domain. Contains all of the normal ProblemDomain objects for each individual block as well as the connectivity information between blocks.

Constructor & Destructor Documentation

◆ MBProblemDomain() [1/3]

Proto::MBProblemDomain::MBProblemDomain ( )
inline

◆ MBProblemDomain() [2/3]

Proto::MBProblemDomain::MBProblemDomain ( unsigned int  a_numBlocks)
inline

◆ MBProblemDomain() [3/3]

Proto::MBProblemDomain::MBProblemDomain ( std::shared_ptr< MBGraph a_graph)
inline

Member Function Documentation

◆ defineDomain()

void Proto::MBProblemDomain::defineDomain ( BlockIndex  a_blockID,
Point  a_domainSize 
)
inline

◆ defineBoundary() [1/2]

void Proto::MBProblemDomain::defineBoundary ( BlockIndex  a_srcBlock,
BlockIndex  a_dstBlock,
unsigned int  a_dir,
Side::LoHiSide  a_side,
CoordPermutation a_rotation 
)
inline

◆ defineBoundary() [2/2]

void Proto::MBProblemDomain::defineBoundary ( BlockIndex  a_srcBlock,
BlockIndex  a_dstBlock,
Point  a_dir,
CoordPermutation a_rotation 
)
inline

◆ size()

unsigned int Proto::MBProblemDomain::size ( ) const
inline

◆ numBlocks()

unsigned int Proto::MBProblemDomain::numBlocks ( ) const
inline

◆ graph()

MBGraph& Proto::MBProblemDomain::graph ( ) const
inline

◆ graphPtr()

std::shared_ptr<MBGraph> Proto::MBProblemDomain::graphPtr ( ) const
inline

References boundaries, and Proto::PR_CELL.

◆ getBlock()

const ProblemDomain & Proto::MBProblemDomain::getBlock ( BlockIndex  a_blockID) const
inline

◆ blockSize()

Point Proto::MBProblemDomain::blockSize ( BlockIndex  a_blockID) const
inline

◆ dv()

double Proto::MBProblemDomain::dv ( BlockIndex  a_blockID) const
inline

◆ boundaries()

std::vector< MBGraphArc > Proto::MBProblemDomain::boundaries ( BlockIndex  a_srcBlock,
Point  a_dir 
) const
inline

◆ convertNode()

Point Proto::MBProblemDomain::convertNode ( Point  a_point,
BlockIndex  a_srcBlock,
BlockIndex  a_dstBlock 
) const
inline

◆ convertPoint()

Point Proto::MBProblemDomain::convertPoint ( Point  a_point,
BlockIndex  a_srcBlock,
BlockIndex  a_dstBlock,
Centering  a_ctr 
) const
inline

◆ convertBox()

Box Proto::MBProblemDomain::convertBox ( Box  a_box,
BlockIndex  a_srcBlock,
BlockIndex  a_dstBlock,
Centering  a_ctr = PR_CELL 
) const
inline

◆ coarsen() [1/2]

MBProblemDomain Proto::MBProblemDomain::coarsen ( Point  a_refRatio) const
inline

◆ coarsen() [2/2]

MBProblemDomain Proto::MBProblemDomain::coarsen ( const std::vector< Point > &  a_refRatios) const
inline

◆ refine() [1/2]

MBProblemDomain Proto::MBProblemDomain::refine ( Point  a_refRatio) const
inline

◆ refine() [2/2]

MBProblemDomain Proto::MBProblemDomain::refine ( const std::vector< Point > &  a_refRatios) const
inline

◆ coarsenable() [1/2]

bool Proto::MBProblemDomain::coarsenable ( Point  a_refRatio) const
inline

◆ coarsenable() [2/2]

bool Proto::MBProblemDomain::coarsenable ( BlockIndex  a_block,
Point  a_refRatio 
) const
inline

◆ defined()

bool Proto::MBProblemDomain::defined ( ) const
inline

◆ operator==()

bool Proto::MBProblemDomain::operator== ( const MBProblemDomain a_rhs) const
inline

◆ close()

void Proto::MBProblemDomain::close ( ) const
inline

◆ patches() [1/3]

std::vector< MBPoint > Proto::MBProblemDomain::patches ( int  a_boxSize) const
inline

◆ patches() [2/3]

std::vector< MBPoint > Proto::MBProblemDomain::patches ( Point  a_boxSize) const
inline

◆ patches() [3/3]

std::vector< MBPoint > Proto::MBProblemDomain::patches ( const std::vector< Point > &  a_boxSizes) const
inline

◆ isPointInTriplePoint() [1/2]

bool Proto::MBProblemDomain::isPointInTriplePoint ( Point  a_point,
BlockIndex  a_block 
) const
inline

◆ isPointInTriplePoint() [2/2]

bool Proto::MBProblemDomain::isPointInTriplePoint ( Point  a_point,
BlockIndex  a_block,
Point  a_dir 
) const
inline

◆ isPointInBlockBoundary() [1/2]

bool Proto::MBProblemDomain::isPointInBlockBoundary ( Point  a_point,
BlockIndex  a_block 
) const
inline

◆ isPointInBlockBoundary() [2/2]

bool Proto::MBProblemDomain::isPointInBlockBoundary ( Point  a_point,
BlockIndex  a_block,
Point  a_dir 
) const
inline

◆ isPointInDomainBoundary() [1/2]

bool Proto::MBProblemDomain::isPointInDomainBoundary ( Point  a_point,
BlockIndex  a_block 
) const
inline

◆ isPointInDomainBoundary() [2/2]

bool Proto::MBProblemDomain::isPointInDomainBoundary ( Point  a_point,
BlockIndex  a_block,
Point  a_dir 
) const
inline

◆ isPointInInterior()

bool Proto::MBProblemDomain::isPointInInterior ( Point  a_point,
BlockIndex  a_block 
) const
inline

◆ isPointOnBlockBoundary() [1/2]

bool Proto::MBProblemDomain::isPointOnBlockBoundary ( Point  a_point,
BlockIndex  a_block 
) const
inline

◆ isPointOnBlockBoundary() [2/2]

bool Proto::MBProblemDomain::isPointOnBlockBoundary ( Point  a_point,
BlockIndex  a_block,
Point  a_dir 
) const
inline

◆ isPointOnDomainBoundary() [1/2]

bool Proto::MBProblemDomain::isPointOnDomainBoundary ( Point  a_point,
BlockIndex  a_block 
) const
inline

◆ isPointOnDomainBoundary() [2/2]

bool Proto::MBProblemDomain::isPointOnDomainBoundary ( Point  a_point,
BlockIndex  a_block,
Point  a_dir 
) const
inline

Member Data Documentation

◆ m_closed

bool Proto::MBProblemDomain::m_closed
mutableprivate

◆ m_domains

std::vector<ProblemDomain> Proto::MBProblemDomain::m_domains
private

◆ m_graph

std::shared_ptr<MBGraph> Proto::MBProblemDomain::m_graph
private

◆ m_domainsDefined

std::vector<bool> Proto::MBProblemDomain::m_domainsDefined
private

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