PlasCom2  1.0
XPACC Multi-physics simluation application
base< GridT, StateT > Class Template Reference

Detailed Description

template<typename GridT, typename StateT>
class simulation::domain::base< GridT, StateT >

Definition at line 40 of file Domain.H.

#include <Domain.H>

Public Types

typedef GridT GridType
 
typedef StateT StateType
 
typedef GridType::HaloType HaloType
 
typedef boundary::base BoundaryType
 
typedef boundary::bc::base BCType
 
typedef StateType::MetaDataSetType DataDictionaryType
 
typedef plascom2::operators::sbp::base OperatorType
 
typedef simulation::rhs::domain_base< GridType, StateType, OperatorTypeRHSType
 
typedef std::vector< GridType * > gridvector
 
typedef std::vector< StateType * > statevector
 
typedef std::vector< RHSType * > rhsvector
 

Public Member Functions

 base ()
 
StateTypeState (int iGrid)
 
StateTypeTarget (int iGrid)
 
StateTypeParam (int iGrid)
 
GridTypeGrid (int iGrid)
 
RHSTypeRHS (int iGrid)
 
gridvectorGrids ()
 
statevectorStates ()
 
statevectorTargets ()
 
statevectorParams ()
 
rhsvectorRHSs ()
 
std::vector< BoundaryType > & GridBoundaries (int iGrid)
 
std::vector< BoundaryType > & DomainBoundary (int iGrid)
 
std::vector< std::vector< BoundaryType > > & DomainBoundaries ()
 
const std::vector< std::string > & BCNames () const
 
const std::vector< std::string > & BoundaryNames () const
 
void SetGrid (int gridIndex, GridType &inGrid)
 
void SetGridState (int gridIndex, StateType &inState)
 
void SetGridTarget (int gridIndex, StateType &inState)
 
void SetGridParams (int gridIndex, StateType &paramState)
 
std::string Name () const
 
void SetGlobal (pcpp::ParallelGlobalType &inGlobal)
 
int SetNumGrids (int numberOfGrids)
 
int ConfigureDomain (fixtures::ConfigurationType &inConfig, std::ostream &inMessageStream)
 
int ConfigureGridDomainBoundaries (fixtures::ConfigurationType &inConfig, int iGrid, std::ostream &inMessageStream)
 
int CreateData (std::ostream &messageStream)
 
int CreateData (int gridIndex, std::ostream &messageStream)
 
int GetGridIndex (const std::string &gridName) const
 
int NumberOfGrids ()
 
int NumberOfLocalGrids ()
 
std::vector< int > & LocalGridIndices ()
 
int LocalGridIndex (int localGridIndex)
 
std::string Report ()
 
DataDictionaryTypeStateDictionary ()
 
DataDictionaryTypeParamDictionary ()
 
void PopulateGridMeta (DataDictionaryType &gridMeta)
 
void PopulateGridParamMeta (DataDictionaryType &gridMeta)
 
void PopulateDomainStateMeta ()
 
void PopulateDomainParamMeta ()
 
fixtures::ConfigurationTypeConfig ()
 
std::vector< std::string > & GeometryNames ()
 
std::vector< std::string > & GridNames ()
 
std::string GridName (int iGrid)
 
std::vector< std::string > IOFieldNames ()
 
void SetSpatialOrder (int inOrder)
 
int SpatialOrder ()
 
void SetTime (double inTime)
 
double Time ()
 
OperatorTypeOperator ()
 
const OperatorTypeOperator () const
 
void SetMessageStream (std::ostream &inStream)
 
std::vector< BCType > & BCs ()
 
const std::vector< BCType > & BCs () const
 
RHSTypeRHS ()
 
int SetRHS (RHSType &inRHS)
 
int SetRHS (int gridIndex, RHSType &inRHS)
 
fixtures::CommunicatorTypeCommunicator ()
 
fixtures::CommunicatorTypeGridCommunicator (int gridIndex)
 
std::vector< fixtures::CommunicatorType > & GridCommunicators ()
 
fixtures::CommunicatorTypeSetCommunicator (fixtures::CommunicatorType &inCommunicator)
 
int PartitionDomain (int inOptions=0)
 
int InitializeRHS (int inOptions)
 
int Step ()
 
void SetStep (int inStep)
 
double TimeStep (double *outCFL=NULL)
 
void ComputeDV (int threadId=0)
 
int SetNumThreads (int numThreads)
 
int SetDomainBCs ()
 
int InitThreads ()
 
int FinalizeAdvance (double newTime)
 
void SetGeometryInfo (geometry::info &geometryInfo)
 
void SetScalarNames (const std::string &inNames)
 
std::vector< std::string > & ScalarNames ()
 
const std::vector< std::string > & ScalarNames () const
 

Protected Attributes

geometry::infogeometryInfoPtr
 
pcpp::ParallelGlobalTypeglobalPtr
 
std::ostream * messageStreamPtr
 
std::string domainName
 
OperatorType domainOperator
 
StateType domainState
 
StateType domainParams
 
gridvector domainGrids
 
statevector gridStates
 
statevector gridTargets
 
statevector gridParams
 
rhsvector gridRHSs
 
int spatialOrder
 
int stepNumber
 
double domainTime
 
std::vector< bool > ownRHS
 
std::vector< bool > ownGrid
 
std::vector< bool > ownState
 
fixtures::ConfigurationType domainConfig
 
DataDictionaryType stateDataDictionary
 
DataDictionaryType paramDataDictionary
 
std::vector< std::string > gridNames
 
std::vector< std::string > geometryNames
 
std::vector< std::string > ioFieldNames
 
std::vector< std::vector< BoundaryType > > domainBoundaries
 
std::vector< std::string > bcNames
 
std::vector< std::string > boundaryNames
 
std::vector< std::string > scalarNames
 
std::vector< BCTypedomainBCs
 
RHSTyperhsPtr
 
RHSType dummyRHS
 
fixtures::CommunicatorType domainCommunicator
 
std::vector< fixtures::CommunicatorTypegridCommunicators
 
int domainRank
 
int numGrids
 
partitioninfo partitionInfo
 

Friends

template<typename DomainT >
class DomainInitializer
 
Collaboration diagram for base< GridT, StateT >:

Member Typedef Documentation

◆ BCType

Definition at line 53 of file Domain.H.

◆ BoundaryType

Definition at line 52 of file Domain.H.

◆ DataDictionaryType

typedef StateType::MetaDataSetType DataDictionaryType

Definition at line 54 of file Domain.H.

◆ GridType

typedef GridT GridType

Definition at line 47 of file Domain.H.

◆ gridvector

typedef std::vector<GridType*> gridvector

Definition at line 63 of file Domain.H.

◆ HaloType

typedef GridType::HaloType HaloType

Definition at line 49 of file Domain.H.

◆ OperatorType

Definition at line 55 of file Domain.H.

◆ RHSType

◆ rhsvector

typedef std::vector<RHSType*> rhsvector

Definition at line 65 of file Domain.H.

◆ StateType

typedef StateT StateType

Definition at line 48 of file Domain.H.

◆ statevector

typedef std::vector<StateType*> statevector

Definition at line 64 of file Domain.H.

Constructor & Destructor Documentation

◆ base()

base ( )
inline

Definition at line 71 of file Domain.H.

Member Function Documentation

◆ BCNames()

const std::vector<std::string>& BCNames ( ) const
inline

Definition at line 91 of file Domain.H.

References simulation::domain::boundary::bc::bcNames.

◆ BCs() [1/2]

std::vector<BCType>& BCs ( )
inline

Definition at line 728 of file Domain.H.

◆ BCs() [2/2]

const std::vector<BCType>& BCs ( ) const
inline

Definition at line 729 of file Domain.H.

◆ BoundaryNames()

const std::vector<std::string>& BoundaryNames ( ) const
inline

Definition at line 92 of file Domain.H.

◆ Communicator()

fixtures::CommunicatorType& Communicator ( )
inline

Definition at line 759 of file Domain.H.

◆ ComputeDV()

void ComputeDV ( int  threadId = 0)
inline

Definition at line 923 of file Domain.H.

◆ Config()

fixtures::ConfigurationType& Config ( )
inline

Definition at line 716 of file Domain.H.

◆ ConfigureDomain()

◆ ConfigureGridDomainBoundaries()

int ConfigureGridDomainBoundaries ( fixtures::ConfigurationType inConfig,
int  iGrid,
std::ostream &  inMessageStream 
)
inline

◆ CreateData() [1/2]

int CreateData ( std::ostream &  messageStream)
inline

Definition at line 459 of file Domain.H.

References bufferSizes, pcpp::util::ConfigKey(), ConfigStateValues(), apptools::DumpContents(), and numPointsBuffer.

Here is the call graph for this function:

◆ CreateData() [2/2]

int CreateData ( int  gridIndex,
std::ostream &  messageStream 
)
inline

Definition at line 527 of file Domain.H.

References bufferSizes, pcpp::util::ConfigKey(), ConfigStateValues(), apptools::DumpContents(), simulation::report::Grid(), and numPointsBuffer.

Here is the call graph for this function:

◆ DomainBoundaries()

std::vector<std::vector<BoundaryType> >& DomainBoundaries ( )
inline

Definition at line 89 of file Domain.H.

◆ DomainBoundary()

std::vector<BoundaryType>& DomainBoundary ( int  iGrid)
inline

Definition at line 88 of file Domain.H.

◆ FinalizeAdvance()

int FinalizeAdvance ( double  newTime)
inline

Definition at line 966 of file Domain.H.

◆ GeometryNames()

std::vector<std::string>& GeometryNames ( )
inline

Definition at line 717 of file Domain.H.

◆ GetGridIndex()

int GetGridIndex ( const std::string &  gridName) const
inline

Definition at line 579 of file Domain.H.

◆ Grid()

GridType& Grid ( int  iGrid)
inline

Definition at line 78 of file Domain.H.

◆ GridBoundaries()

std::vector<BoundaryType>& GridBoundaries ( int  iGrid)
inline

Definition at line 87 of file Domain.H.

◆ GridCommunicator()

fixtures::CommunicatorType& GridCommunicator ( int  gridIndex)
inline

Definition at line 760 of file Domain.H.

◆ GridCommunicators()

std::vector<fixtures::CommunicatorType>& GridCommunicators ( )
inline

Definition at line 765 of file Domain.H.

◆ GridName()

std::string GridName ( int  iGrid)
inline

Definition at line 719 of file Domain.H.

◆ GridNames()

std::vector<std::string>& GridNames ( )
inline

Definition at line 718 of file Domain.H.

◆ Grids()

gridvector& Grids ( )
inline

Definition at line 81 of file Domain.H.

◆ InitializeRHS()

int InitializeRHS ( int  inOptions)
inline

Definition at line 884 of file Domain.H.

◆ InitThreads()

int InitThreads ( )
inline

Definition at line 955 of file Domain.H.

◆ IOFieldNames()

std::vector<std::string> IOFieldNames ( )
inline

Definition at line 720 of file Domain.H.

◆ LocalGridIndex()

int LocalGridIndex ( int  localGridIndex)
inline

Definition at line 599 of file Domain.H.

◆ LocalGridIndices()

std::vector<int>& LocalGridIndices ( )
inline

Definition at line 595 of file Domain.H.

◆ Name()

std::string Name ( ) const
inline

Definition at line 120 of file Domain.H.

◆ NumberOfGrids()

int NumberOfGrids ( )
inline

Definition at line 593 of file Domain.H.

◆ NumberOfLocalGrids()

int NumberOfLocalGrids ( )
inline

Definition at line 594 of file Domain.H.

◆ Operator() [1/2]

OperatorType& Operator ( )
inline

Definition at line 725 of file Domain.H.

◆ Operator() [2/2]

const OperatorType& Operator ( ) const
inline

Definition at line 726 of file Domain.H.

◆ Param()

StateType& Param ( int  iGrid)
inline

Definition at line 77 of file Domain.H.

◆ ParamDictionary()

DataDictionaryType& ParamDictionary ( )
inline

Definition at line 668 of file Domain.H.

◆ Params()

statevector& Params ( )
inline

Definition at line 84 of file Domain.H.

◆ PartitionDomain()

int PartitionDomain ( int  inOptions = 0)
inline
Todo:
finish automatic domain splitting [mtc]

Definition at line 768 of file Domain.H.

References gridSizes, and ix::util::SortPermutation().

Here is the call graph for this function:

◆ PopulateDomainParamMeta()

void PopulateDomainParamMeta ( )
inline

Definition at line 704 of file Domain.H.

◆ PopulateDomainStateMeta()

void PopulateDomainStateMeta ( )
inline

Definition at line 692 of file Domain.H.

◆ PopulateGridMeta()

void PopulateGridMeta ( DataDictionaryType gridMeta)
inline

Definition at line 670 of file Domain.H.

◆ PopulateGridParamMeta()

void PopulateGridParamMeta ( DataDictionaryType gridMeta)
inline

Definition at line 681 of file Domain.H.

◆ Report()

◆ RHS() [1/2]

RHSType& RHS ( int  iGrid)
inline

Definition at line 79 of file Domain.H.

◆ RHS() [2/2]

RHSType& RHS ( )
inline

Definition at line 730 of file Domain.H.

◆ RHSs()

rhsvector& RHSs ( )
inline

Definition at line 85 of file Domain.H.

◆ ScalarNames() [1/2]

std::vector<std::string>& ScalarNames ( )
inline

Definition at line 988 of file Domain.H.

References navierstokes::scalarNames().

Here is the call graph for this function:

◆ ScalarNames() [2/2]

const std::vector<std::string>& ScalarNames ( ) const
inline

Definition at line 989 of file Domain.H.

References navierstokes::scalarNames().

Here is the call graph for this function:

◆ SetCommunicator()

fixtures::CommunicatorType& SetCommunicator ( fixtures::CommunicatorType inCommunicator)
inline

Definition at line 766 of file Domain.H.

◆ SetDomainBCs()

int SetDomainBCs ( )
inline

Definition at line 944 of file Domain.H.

◆ SetGeometryInfo()

void SetGeometryInfo ( geometry::info geometryInfo)
inline

Definition at line 984 of file Domain.H.

◆ SetGlobal()

void SetGlobal ( pcpp::ParallelGlobalType inGlobal)
inline

Definition at line 122 of file Domain.H.

◆ SetGrid()

void SetGrid ( int  gridIndex,
GridType inGrid 
)
inline

Definition at line 96 of file Domain.H.

◆ SetGridParams()

void SetGridParams ( int  gridIndex,
StateType paramState 
)
inline

Definition at line 114 of file Domain.H.

◆ SetGridState()

void SetGridState ( int  gridIndex,
StateType inState 
)
inline

Definition at line 102 of file Domain.H.

◆ SetGridTarget()

void SetGridTarget ( int  gridIndex,
StateType inState 
)
inline

Definition at line 108 of file Domain.H.

◆ SetMessageStream()

void SetMessageStream ( std::ostream &  inStream)
inline

Definition at line 727 of file Domain.H.

◆ SetNumGrids()

int SetNumGrids ( int  numberOfGrids)
inline

Definition at line 127 of file Domain.H.

◆ SetNumThreads()

int SetNumThreads ( int  numThreads)
inline

Definition at line 933 of file Domain.H.

◆ SetRHS() [1/2]

int SetRHS ( RHSType inRHS)
inline

Definition at line 731 of file Domain.H.

◆ SetRHS() [2/2]

int SetRHS ( int  gridIndex,
RHSType inRHS 
)
inline

Definition at line 741 of file Domain.H.

◆ SetScalarNames()

void SetScalarNames ( const std::string &  inNames)
inline

Definition at line 987 of file Domain.H.

References navierstokes::scalarNames().

Here is the call graph for this function:

◆ SetSpatialOrder()

void SetSpatialOrder ( int  inOrder)
inline

Definition at line 721 of file Domain.H.

◆ SetStep()

void SetStep ( int  inStep)
inline

Definition at line 903 of file Domain.H.

◆ SetTime()

void SetTime ( double  inTime)
inline

Definition at line 723 of file Domain.H.

◆ SpatialOrder()

int SpatialOrder ( )
inline

Definition at line 722 of file Domain.H.

◆ State()

StateType& State ( int  iGrid)
inline

Definition at line 75 of file Domain.H.

◆ StateDictionary()

DataDictionaryType& StateDictionary ( )
inline

Definition at line 667 of file Domain.H.

◆ States()

statevector& States ( )
inline

Definition at line 82 of file Domain.H.

◆ Step()

int Step ( )
inline

Definition at line 902 of file Domain.H.

◆ Target()

StateType& Target ( int  iGrid)
inline

Definition at line 76 of file Domain.H.

◆ Targets()

statevector& Targets ( )
inline

Definition at line 83 of file Domain.H.

◆ Time()

double Time ( )
inline

Definition at line 724 of file Domain.H.

◆ TimeStep()

double TimeStep ( double *  outCFL = NULL)
inline

Definition at line 906 of file Domain.H.

Friends And Related Function Documentation

◆ DomainInitializer

friend class DomainInitializer
friend

Definition at line 43 of file Domain.H.

Member Data Documentation

◆ bcNames

std::vector<std::string> bcNames
protected

Definition at line 1018 of file Domain.H.

◆ boundaryNames

std::vector<std::string> boundaryNames
protected

Definition at line 1019 of file Domain.H.

◆ domainBCs

std::vector<BCType> domainBCs
protected

Definition at line 1021 of file Domain.H.

◆ domainBoundaries

std::vector<std::vector<BoundaryType> > domainBoundaries
protected

Definition at line 1017 of file Domain.H.

◆ domainCommunicator

fixtures::CommunicatorType domainCommunicator
protected

Definition at line 1024 of file Domain.H.

◆ domainConfig

fixtures::ConfigurationType domainConfig
protected

Definition at line 1011 of file Domain.H.

◆ domainGrids

gridvector domainGrids
protected

Definition at line 1000 of file Domain.H.

◆ domainName

std::string domainName
protected

Definition at line 996 of file Domain.H.

◆ domainOperator

OperatorType domainOperator
protected

Definition at line 997 of file Domain.H.

◆ domainParams

StateType domainParams
protected

Definition at line 999 of file Domain.H.

◆ domainRank

int domainRank
protected

Definition at line 1026 of file Domain.H.

◆ domainState

StateType domainState
protected

Definition at line 998 of file Domain.H.

◆ domainTime

double domainTime
protected

Definition at line 1007 of file Domain.H.

◆ dummyRHS

RHSType dummyRHS
protected

Definition at line 1023 of file Domain.H.

◆ geometryInfoPtr

geometry::info* geometryInfoPtr
protected

Definition at line 989 of file Domain.H.

◆ geometryNames

std::vector<std::string> geometryNames
protected

Definition at line 1015 of file Domain.H.

◆ globalPtr

pcpp::ParallelGlobalType* globalPtr
protected

Definition at line 994 of file Domain.H.

◆ gridCommunicators

std::vector<fixtures::CommunicatorType> gridCommunicators
protected

Definition at line 1025 of file Domain.H.

◆ gridNames

std::vector<std::string> gridNames
protected

Definition at line 1014 of file Domain.H.

◆ gridParams

statevector gridParams
protected

Definition at line 1003 of file Domain.H.

◆ gridRHSs

rhsvector gridRHSs
protected

Definition at line 1004 of file Domain.H.

◆ gridStates

statevector gridStates
protected

Definition at line 1001 of file Domain.H.

◆ gridTargets

statevector gridTargets
protected

Definition at line 1002 of file Domain.H.

◆ ioFieldNames

std::vector<std::string> ioFieldNames
protected

Definition at line 1016 of file Domain.H.

◆ messageStreamPtr

std::ostream* messageStreamPtr
protected

Definition at line 995 of file Domain.H.

◆ numGrids

int numGrids
protected

Definition at line 1027 of file Domain.H.

◆ ownGrid

std::vector<bool> ownGrid
protected

Definition at line 1009 of file Domain.H.

◆ ownRHS

std::vector<bool> ownRHS
protected

Definition at line 1008 of file Domain.H.

◆ ownState

std::vector<bool> ownState
protected

Definition at line 1010 of file Domain.H.

◆ paramDataDictionary

DataDictionaryType paramDataDictionary
protected

Definition at line 1013 of file Domain.H.

◆ partitionInfo

partitioninfo partitionInfo
protected

Definition at line 1028 of file Domain.H.

◆ rhsPtr

RHSType* rhsPtr
protected

Definition at line 1022 of file Domain.H.

◆ scalarNames

std::vector<std::string> scalarNames
protected

Definition at line 1020 of file Domain.H.

◆ spatialOrder

int spatialOrder
protected

Definition at line 1005 of file Domain.H.

◆ stateDataDictionary

DataDictionaryType stateDataDictionary
protected

Definition at line 1012 of file Domain.H.

◆ stepNumber

int stepNumber
protected

Definition at line 1006 of file Domain.H.


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