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

Detailed Description

template<typename GridT, typename StateT, typename OperatorT>
class Maxwell::rhs< GridT, StateT, OperatorT >

Definition at line 45 of file MaxwellSolver.H.

#include <MaxwellSolver.H>

Public Types

typedef GridT GridType
 
typedef StateT StateType
 
typedef OperatorT OperatorType
 
typedef simulation::grid::halo HaloType
 
typedef simulation::rhs::domain_base< GridType, StateType, OperatorTyperhs_base_t
 
typedef rhs_base_t::BoundaryType BoundaryType
 
typedef rhs_base_t::BCType BCType
 
- Public Types inherited from domain_base< GridT, StateT, OperatorT >
typedef GridT GridType
 
typedef StateT StateType
 
typedef OperatorT OperatorType
 
typedef simulation::grid::halo halo_t
 
typedef simulation::domain::boundary::base BoundaryType
 
typedef simulation::domain::boundary::bc::base BCType
 
typedef pcpp::ParallelGlobalType GlobalType
 

Public Member Functions

int Initialize (GridType &inGrid, StateType &inState, const StateType &paramState, OperatorType &inOperator)
 
int SetupRHS (GridType &inGrid, StateType &inState, StateType &rhsState, int myThreadID=0)
 
int HandleBoundaryConditions (int threadID)
 
int HandleSources (int threadID)
 
int RHS (int threadID)
 
int ComputeDV (int threadID)
 
int MaxwellRHS (int threadID)
 
std::vector< double * > & StateBuffers ()
 
std::vector< double * > & RHSBuffers ()
 
int SetParamState (const StateType &paramState)
 
int InitializeState (StateType &inState)
 
int SetupStencilConnectivities ()
 
int SetupOperator (OperatorType &inOperator)
 
int SetState (StateType &inState)
 
int InitThreadIntervals ()
 
int SetGrid (GridType &inGrid)
 
int SetRHSState (StateType &rhsState)
 
int HaloSetup (HaloType &inHalo)
 
int SetHalo (HaloType &inHalo)
 
void SetDomainBoundaries (std::vector< BoundaryType > &domainBoundaries)
 
void SetDomainBCs (std::vector< BCType > &domainBCs)
 
int InitStep (GridType &inGrid, StateType &inState)
 
int SetupTempBuffers ()
 
int ComputeRecipDXUniformGrid ()
 
double TimeStep (double *outCFL=NULL)
 
- Public Member Functions inherited from domain_base< GridT, StateT, OperatorT >
virtual int Initialize (GridType &inGrid, StateType &inState, StateType &inParam, OperatorType &inOperator)
 
virtual int Initialize (GridType &inGrid, StateType &inState, StateType &inParam, StateType &targetState, OperatorType &inOperator)
 
virtual void SetGlobal (GlobalType &inGlobal)
 
virtual void SetDomainBCs (std::vector< BoundaryType > &domainBoundaries, std::vector< BCType > &domainBCs)
 

Protected Attributes

int eFieldHandle
 
int bFieldHandle
 
int dFieldHandle
 
int hFieldHandle
 
int jHandle
 
int dEHandle
 
int dHHandle
 
int timeHandle
 
int epsilonMuHandle
 
int gridSpacingHandle
 
int epsilon0Handle
 
int mu0Handle
 
int cflHandle
 
int deltaTHandle
 
int cRefHandle
 
double time
 
double epsilon0
 
double mu0
 
double cfl
 
double deltaT
 
double cRef
 
int numStateFields
 
int numStateVar
 
GridTypegridPtr
 
fixtures::CommunicatorTypegridCommPtr
 
std::vector< int > gridNeighbors
 
int numDim
 
std::vector< size_t > gridSizes
 
std::vector< size_t > bufferSizes
 
pcpp::IndexIntervalType partitionInterval
 
pcpp::IndexIntervalType partitionBufferInterval
 
size_t numPointsPartition
 
size_t numPointsBuffer
 
std::vector< double > gridMetric
 
double gridJacobian
 
std::vector< double > dX
 
std::vector< int > periodicDirs
 
std::vector< size_t > opInterval
 
HaloTypehaloPtr
 
std::vector< std::vector< size_t > > fortranBufferIntervals
 
std::vector< std::vector< size_t > > fortranPartitionBufferIntervals
 
const double * epsilon0Ptr
 
const double * mu0Ptr
 
const double * cflPtr
 
const double * deltaTPtr
 
const double * cRefPtr
 
double * eFieldPtr
 
double * bFieldPtr
 
double * dFieldPtr
 
double * hFieldPtr
 
double * jPtr
 
double * epsilonMuPtr
 
double * timePtr
 
double * eFieldRHSPtr
 
double * hFieldRHSPtr
 
std::vector< double * > myStateBuffers
 
std::vector< double * > myRHSBuffers
 
OperatorType myOperator
 
int numStencils
 
int boundaryDepth
 
int numStencilValues
 
int numComponents
 
int * stencilOffsets
 
int * stencilID
 
int * stencilStarts
 
int * stencilSizes
 
double * stencilWeights
 
size_t * dualStencilConn
 
size_t * numPointsStencil
 
bool stateInitialized
 
bool gridInitialized
 
bool operatorInitialized
 
std::vector< bool > haveHalo
 
int errorCode
 
HaloTyperhsHaloPtr
 
std::vector< BoundaryType > * domainBoundariesPtr
 
std::vector< GridRegionType > * subRegionsPtr
 
std::vector< BCType > * domainBCsPtr
 
double boundaryWeight
 
std::vector< double > recipEpsMu
 
std::vector< double > recipDX
 
bool dynamicEpsMu
 
- Protected Attributes inherited from domain_base< GridT, StateT, OperatorT >
GlobalTypeglobalPtr
 

Private Member Functions

int Init ()
 
Inheritance diagram for rhs< GridT, StateT, OperatorT >:
Collaboration diagram for rhs< GridT, StateT, OperatorT >:

Member Typedef Documentation

◆ BCType

Definition at line 54 of file MaxwellSolver.H.

◆ BoundaryType

Definition at line 53 of file MaxwellSolver.H.

◆ GridType

typedef GridT GridType

Definition at line 48 of file MaxwellSolver.H.

◆ HaloType

Definition at line 51 of file MaxwellSolver.H.

◆ OperatorType

typedef OperatorT OperatorType

Definition at line 50 of file MaxwellSolver.H.

◆ rhs_base_t

◆ StateType

typedef StateT StateType

Definition at line 49 of file MaxwellSolver.H.

Member Function Documentation

◆ ComputeDV()

◆ ComputeRecipDXUniformGrid()

int ComputeRecipDXUniformGrid ( )
inline

◆ HaloSetup()

int HaloSetup ( HaloType inHalo)
inline

Definition at line 881 of file MaxwellSolver.H.

References rhs< GridT, StateT, OperatorT >::numDim, halo::PeriodicDirs(), rhs< GridT, StateT, OperatorT >::periodicDirs, and rhs< GridT, StateT, OperatorT >::SetHalo().

Referenced by rhs< GridT, StateT, OperatorT >::Initialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HandleBoundaryConditions()

◆ HandleSources()

int HandleSources ( int  threadID)
inline

Definition at line 268 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::RHS().

Here is the caller graph for this function:

◆ Init()

int Init ( )
inlineprivate

Definition at line 1010 of file MaxwellSolver.H.

References rhs< GridT, StateT, OperatorT >::bFieldHandle, rhs< GridT, StateT, OperatorT >::bFieldPtr, rhs< GridT, StateT, OperatorT >::cflHandle, rhs< GridT, StateT, OperatorT >::cflPtr, rhs< GridT, StateT, OperatorT >::cRefHandle, rhs< GridT, StateT, OperatorT >::cRefPtr, rhs< GridT, StateT, OperatorT >::dEHandle, rhs< GridT, StateT, OperatorT >::deltaTHandle, rhs< GridT, StateT, OperatorT >::deltaTPtr, rhs< GridT, StateT, OperatorT >::dFieldHandle, rhs< GridT, StateT, OperatorT >::dFieldPtr, rhs< GridT, StateT, OperatorT >::dHHandle, rhs< GridT, StateT, OperatorT >::domainBCsPtr, rhs< GridT, StateT, OperatorT >::domainBoundariesPtr, rhs< GridT, StateT, OperatorT >::dynamicEpsMu, rhs< GridT, StateT, OperatorT >::eFieldHandle, rhs< GridT, StateT, OperatorT >::eFieldPtr, rhs< GridT, StateT, OperatorT >::eFieldRHSPtr, rhs< GridT, StateT, OperatorT >::epsilon0Handle, rhs< GridT, StateT, OperatorT >::epsilon0Ptr, rhs< GridT, StateT, OperatorT >::epsilonMuHandle, rhs< GridT, StateT, OperatorT >::epsilonMuPtr, rhs< GridT, StateT, OperatorT >::errorCode, rhs< GridT, StateT, OperatorT >::gridInitialized, rhs< GridT, StateT, OperatorT >::gridPtr, rhs< GridT, StateT, OperatorT >::gridSpacingHandle, rhs< GridT, StateT, OperatorT >::hFieldHandle, rhs< GridT, StateT, OperatorT >::hFieldPtr, rhs< GridT, StateT, OperatorT >::hFieldRHSPtr, rhs< GridT, StateT, OperatorT >::jHandle, rhs< GridT, StateT, OperatorT >::jPtr, rhs< GridT, StateT, OperatorT >::mu0Handle, rhs< GridT, StateT, OperatorT >::mu0Ptr, rhs< GridT, StateT, OperatorT >::numDim, rhs< GridT, StateT, OperatorT >::numPointsBuffer, rhs< GridT, StateT, OperatorT >::numPointsPartition, rhs< GridT, StateT, OperatorT >::numStateFields, rhs< GridT, StateT, OperatorT >::numStateVar, rhs< GridT, StateT, OperatorT >::operatorInitialized, rhs< GridT, StateT, OperatorT >::rhsHaloPtr, rhs< GridT, StateT, OperatorT >::stateInitialized, rhs< GridT, StateT, OperatorT >::subRegionsPtr, rhs< GridT, StateT, OperatorT >::timeHandle, and rhs< GridT, StateT, OperatorT >::timePtr.

Referenced by rhs< GridT, StateT, OperatorT >::Initialize().

Here is the caller graph for this function:

◆ Initialize()

◆ InitializeState()

◆ InitStep()

int InitStep ( GridType inGrid,
StateType inState 
)
inline

Definition at line 973 of file MaxwellSolver.H.

◆ InitThreadIntervals()

int InitThreadIntervals ( )
inlinevirtual

◆ MaxwellRHS()

◆ RHS()

int RHS ( int  threadID)
inlinevirtual

◆ RHSBuffers()

std::vector<double *>& RHSBuffers ( )
inline

Definition at line 414 of file MaxwellSolver.H.

References rhs< GridT, StateT, OperatorT >::myRHSBuffers.

◆ SetDomainBCs()

void SetDomainBCs ( std::vector< BCType > &  domainBCs)
inline

Definition at line 969 of file MaxwellSolver.H.

References rhs< GridT, StateT, OperatorT >::domainBCsPtr.

◆ SetDomainBoundaries()

◆ SetGrid()

◆ SetHalo()

int SetHalo ( HaloType inHalo)
inline

Definition at line 908 of file MaxwellSolver.H.

References rhs< GridT, StateT, OperatorT >::haloPtr.

Referenced by rhs< GridT, StateT, OperatorT >::HaloSetup(), and rhs< GridT, StateT, OperatorT >::SetupRHS().

Here is the caller graph for this function:

◆ SetParamState()

◆ SetRHSState()

◆ SetState()

◆ SetupOperator()

◆ SetupRHS()

int SetupRHS ( GridType inGrid,
StateType inState,
StateType rhsState,
int  myThreadID = 0 
)
inlinevirtual

◆ SetupStencilConnectivities()

◆ SetupTempBuffers()

int SetupTempBuffers ( )
inline

Definition at line 979 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::Initialize().

Here is the caller graph for this function:

◆ StateBuffers()

std::vector<double *>& StateBuffers ( )
inline

Definition at line 408 of file MaxwellSolver.H.

References rhs< GridT, StateT, OperatorT >::myStateBuffers.

◆ TimeStep()

double TimeStep ( double *  outCFL = NULL)
inlinevirtual

Reimplemented from domain_base< GridT, StateT, OperatorT >.

Definition at line 1004 of file MaxwellSolver.H.

References rhs< GridT, StateT, OperatorT >::deltaT.

Member Data Documentation

◆ bFieldHandle

int bFieldHandle
protected

◆ bFieldPtr

double* bFieldPtr
protected

◆ boundaryDepth

◆ boundaryWeight

double boundaryWeight
protected

Definition at line 1187 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetupOperator().

◆ bufferSizes

◆ cfl

double cfl
protected

Definition at line 1107 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetParamState().

◆ cflHandle

int cflHandle
protected

◆ cflPtr

const double* cflPtr
protected

◆ cRef

double cRef
protected

Definition at line 1109 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetParamState().

◆ cRefHandle

int cRefHandle
protected

◆ cRefPtr

const double* cRefPtr
protected

◆ dEHandle

int dEHandle
protected

◆ deltaT

double deltaT
protected

◆ deltaTHandle

int deltaTHandle
protected

◆ deltaTPtr

const double* deltaTPtr
protected

◆ dFieldHandle

int dFieldHandle
protected

◆ dFieldPtr

double* dFieldPtr
protected

◆ dHHandle

int dHHandle
protected

◆ domainBCsPtr

◆ domainBoundariesPtr

◆ dualStencilConn

size_t* dualStencilConn
protected

Definition at line 1169 of file MaxwellSolver.H.

◆ dX

std::vector<double> dX
protected

◆ dynamicEpsMu

bool dynamicEpsMu
protected

◆ eFieldHandle

◆ eFieldPtr

◆ eFieldRHSPtr

double* eFieldRHSPtr
protected

◆ epsilon0

double epsilon0
protected

Definition at line 1105 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetParamState().

◆ epsilon0Handle

int epsilon0Handle
protected

◆ epsilon0Ptr

const double* epsilon0Ptr
protected

◆ epsilonMuHandle

int epsilonMuHandle
protected

◆ epsilonMuPtr

double* epsilonMuPtr
protected

◆ errorCode

int errorCode
protected

◆ fortranBufferIntervals

std::vector<std::vector<size_t> > fortranBufferIntervals
protected

◆ fortranPartitionBufferIntervals

◆ gridCommPtr

fixtures::CommunicatorType* gridCommPtr
protected

Definition at line 1115 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetGrid().

◆ gridInitialized

◆ gridJacobian

double gridJacobian
protected

Definition at line 1125 of file MaxwellSolver.H.

◆ gridMetric

std::vector<double> gridMetric
protected

Definition at line 1124 of file MaxwellSolver.H.

◆ gridNeighbors

std::vector<int> gridNeighbors
protected

Definition at line 1116 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetGrid().

◆ gridPtr

◆ gridSizes

std::vector<size_t> gridSizes
protected

Definition at line 1118 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetGrid().

◆ gridSpacingHandle

int gridSpacingHandle
protected

Definition at line 1096 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::Init().

◆ haloPtr

HaloType* haloPtr
protected

Definition at line 1129 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetHalo().

◆ haveHalo

std::vector<bool> haveHalo
protected

Definition at line 1177 of file MaxwellSolver.H.

◆ hFieldHandle

◆ hFieldPtr

◆ hFieldRHSPtr

double* hFieldRHSPtr
protected

◆ jHandle

int jHandle
protected

◆ jPtr

double* jPtr
protected

◆ mu0

double mu0
protected

Definition at line 1106 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetParamState().

◆ mu0Handle

int mu0Handle
protected

◆ mu0Ptr

const double* mu0Ptr
protected

◆ myOperator

◆ myRHSBuffers

◆ myStateBuffers

◆ numComponents

int numComponents
protected

◆ numDim

◆ numPointsBuffer

◆ numPointsPartition

size_t numPointsPartition
protected

◆ numPointsStencil

size_t* numPointsStencil
protected

Definition at line 1170 of file MaxwellSolver.H.

◆ numStateFields

int numStateFields
protected

Definition at line 1110 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::Init().

◆ numStateVar

int numStateVar
protected

Definition at line 1111 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::Init().

◆ numStencils

int numStencils
protected

Definition at line 1160 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetupOperator().

◆ numStencilValues

int numStencilValues
protected

Definition at line 1162 of file MaxwellSolver.H.

◆ operatorInitialized

◆ opInterval

◆ partitionBufferInterval

◆ partitionInterval

◆ periodicDirs

std::vector<int> periodicDirs
protected

◆ recipDX

◆ recipEpsMu

std::vector<double> recipEpsMu
protected

◆ rhsHaloPtr

HaloType* rhsHaloPtr
protected

Definition at line 1181 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::Init().

◆ stateInitialized

◆ stencilID

◆ stencilOffsets

int* stencilOffsets
protected

Definition at line 1164 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetupOperator().

◆ stencilSizes

int* stencilSizes
protected

Definition at line 1167 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetupOperator().

◆ stencilStarts

int* stencilStarts
protected

Definition at line 1166 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetupOperator().

◆ stencilWeights

double* stencilWeights
protected

Definition at line 1168 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::SetupOperator().

◆ subRegionsPtr

◆ time

double time
protected

Definition at line 1104 of file MaxwellSolver.H.

Referenced by rhs< GridT, StateT, OperatorT >::InitializeState().

◆ timeHandle

int timeHandle
protected

◆ timePtr

double* timePtr
protected

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