PlasCom2  1.0
XPACC Multi-physics simluation application
eos Class Referenceabstract

base API for equations of state More...

Detailed Description

base API for equations of state

At the most basic level, an equation of state should take the conserved state variables (density, momentum, and energy) and convert them to their observable counterparts (pressure and temperature)

Definition at line 17 of file EOS.H.

#include <EOS.H>

Public Member Functions

 eos ()
 
void Initialize ()
 
virtual int InitializeMaterialProperties ()=0
 Derive material properties from a minimum required set. More...
 
int ComputePressureBuffer (const pcpp::IndexIntervalType &regionInterval, const std::vector< size_t > &bufferSizes)
 Compute pressure for the entire buffer. More...
 
int ComputeTemperatureBuffer (const pcpp::IndexIntervalType &regionInterval, const std::vector< size_t > &bufferSizes)
 Compute temperature for the entire buffer. More...
 
virtual void ComputePressure (size_t index)=0
 Compute pressure at a single buffer index. More...
 
virtual void ComputeTemperature (size_t index)=0
 Compute temperature at a single buffer index. More...
 
void SetupPressureBuffer (double *const inPtr)
 
void SetupTemperatureBuffer (double *const inPtr)
 
void SetupSpecificVolumeBuffer (double *const inPtr)
 
void SetupDensityBuffer (double *const inPtr)
 
void SetupInternalEnergyBuffer (double *const inPtr)
 
virtual double GetSpecificGasConstant ()=0
 
virtual double GetHeatCapacityCv ()=0
 
virtual double GetHeatCapacityCp ()=0
 
virtual double GetGamma ()=0
 
virtual void SetSpecificGasConstant (const double &inValue)=0
 
virtual void SetGamma (const double &inValue)=0
 

Protected Attributes

int numDim
 
double * densityPtr
 
double * momentumPtr
 
double * internalEnergyPtr
 
double * totalEnergyPtr
 
double * pressurePtr
 
double * temperaturePtr
 
double * specificVolumePtr
 
size_t xStart
 
size_t xEnd
 
size_t xSize
 
size_t yStart
 
size_t yEnd
 
size_t ySize
 
size_t zStart
 
size_t zEnd
 
size_t zSize
 
size_t numPointsBuffer
 
Inheritance diagram for eos:

Constructor & Destructor Documentation

◆ eos()

eos ( )
inline

Definition at line 20 of file EOS.H.

References plascom2::operators::sbp::Initialize().

Here is the call graph for this function:

Member Function Documentation

◆ ComputePressure()

virtual void ComputePressure ( size_t  index)
pure virtual

Compute pressure at a single buffer index.

Implemented in perfect_gas.

◆ ComputePressureBuffer()

int ComputePressureBuffer ( const pcpp::IndexIntervalType regionInterval,
const std::vector< size_t > &  bufferSizes 
)

Compute pressure for the entire buffer.

Definition at line 5 of file EOS.C.

References numPointsBuffer.

Referenced by TestEOS_ComputeBuffers(), TestEulerKernels(), TestViscidKernels(), and TestViscidKernelsMetrics().

Here is the caller graph for this function:

◆ ComputeTemperature()

virtual void ComputeTemperature ( size_t  index)
pure virtual

Compute temperature at a single buffer index.

Implemented in perfect_gas.

◆ ComputeTemperatureBuffer()

int ComputeTemperatureBuffer ( const pcpp::IndexIntervalType regionInterval,
const std::vector< size_t > &  bufferSizes 
)

Compute temperature for the entire buffer.

Definition at line 52 of file EOS.C.

References numPointsBuffer.

Referenced by TestEOS_ComputeBuffers(), TestEulerKernels(), TestViscidKernels(), and TestViscidKernelsMetrics().

Here is the caller graph for this function:

◆ GetGamma()

virtual double GetGamma ( )
pure virtual

Implemented in perfect_gas.

◆ GetHeatCapacityCp()

virtual double GetHeatCapacityCp ( )
pure virtual

Implemented in perfect_gas.

◆ GetHeatCapacityCv()

virtual double GetHeatCapacityCv ( )
pure virtual

Implemented in perfect_gas.

◆ GetSpecificGasConstant()

virtual double GetSpecificGasConstant ( )
pure virtual

Implemented in perfect_gas.

◆ Initialize()

void Initialize ( )
inline

Definition at line 22 of file EOS.H.

References bufferSizes.

◆ InitializeMaterialProperties()

virtual int InitializeMaterialProperties ( )
pure virtual

Derive material properties from a minimum required set.

Implemented in perfect_gas.

◆ SetGamma()

virtual void SetGamma ( const double &  inValue)
pure virtual

Implemented in perfect_gas.

◆ SetSpecificGasConstant()

virtual void SetSpecificGasConstant ( const double &  inValue)
pure virtual

Implemented in perfect_gas.

◆ SetupDensityBuffer()

void SetupDensityBuffer ( double *const  inPtr)
inline

Definition at line 72 of file EOS.H.

◆ SetupInternalEnergyBuffer()

void SetupInternalEnergyBuffer ( double *const  inPtr)
inline

Definition at line 73 of file EOS.H.

Referenced by TestEOS_ComputeBuffers(), TestEulerKernels(), TestViscidKernels(), and TestViscidKernelsMetrics().

Here is the caller graph for this function:

◆ SetupPressureBuffer()

void SetupPressureBuffer ( double *const  inPtr)
inline

Definition at line 69 of file EOS.H.

Referenced by TestEOS_ComputeBuffers(), TestEulerKernels(), TestViscidKernels(), and TestViscidKernelsMetrics().

Here is the caller graph for this function:

◆ SetupSpecificVolumeBuffer()

void SetupSpecificVolumeBuffer ( double *const  inPtr)
inline

Definition at line 71 of file EOS.H.

Referenced by TestEOS_ComputeBuffers(), TestEulerKernels(), TestViscidKernels(), and TestViscidKernelsMetrics().

Here is the caller graph for this function:

◆ SetupTemperatureBuffer()

void SetupTemperatureBuffer ( double *const  inPtr)
inline

Definition at line 70 of file EOS.H.

Referenced by TestEOS_ComputeBuffers(), TestEulerKernels(), TestViscidKernels(), and TestViscidKernelsMetrics().

Here is the caller graph for this function:

Member Data Documentation

◆ densityPtr

double* densityPtr
protected

Definition at line 87 of file EOS.H.

◆ internalEnergyPtr

double* internalEnergyPtr
protected

Definition at line 89 of file EOS.H.

Referenced by perfect_gas::ComputePressure(), and perfect_gas::ComputeTemperature().

◆ momentumPtr

double* momentumPtr
protected

Definition at line 88 of file EOS.H.

◆ numDim

int numDim
protected

Definition at line 85 of file EOS.H.

◆ numPointsBuffer

size_t numPointsBuffer
protected

Definition at line 105 of file EOS.H.

◆ pressurePtr

double* pressurePtr
protected

Definition at line 91 of file EOS.H.

Referenced by perfect_gas::ComputePressure().

◆ specificVolumePtr

double* specificVolumePtr
protected

Definition at line 93 of file EOS.H.

Referenced by perfect_gas::ComputeTemperature().

◆ temperaturePtr

double* temperaturePtr
protected

Definition at line 92 of file EOS.H.

Referenced by perfect_gas::ComputeTemperature().

◆ totalEnergyPtr

double* totalEnergyPtr
protected

Definition at line 90 of file EOS.H.

◆ xEnd

size_t xEnd
protected

Definition at line 97 of file EOS.H.

◆ xSize

size_t xSize
protected

Definition at line 98 of file EOS.H.

◆ xStart

size_t xStart
protected

Definition at line 96 of file EOS.H.

◆ yEnd

size_t yEnd
protected

Definition at line 100 of file EOS.H.

◆ ySize

size_t ySize
protected

Definition at line 101 of file EOS.H.

◆ yStart

size_t yStart
protected

Definition at line 99 of file EOS.H.

◆ zEnd

size_t zEnd
protected

Definition at line 103 of file EOS.H.

◆ zSize

size_t zSize
protected

Definition at line 104 of file EOS.H.

◆ zStart

size_t zStart
protected

Definition at line 102 of file EOS.H.


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