ABLATE Source Documentation  0.12.34
ablate::boundarySolver::lodi::LODIBoundary Class Reference
+ Inheritance diagram for ablate::boundarySolver::lodi::LODIBoundary:

Public Member Functions

 LODIBoundary (std::shared_ptr< eos::EOS > eos, std::shared_ptr< finiteVolume::processes::PressureGradientScaling > pressureGradientScaling={})
 
void Setup (ablate::boundarySolver::BoundarySolver &bSolver) override
 
void Setup (PetscInt dims, PetscInt nEqs, PetscInt nSpecEqs=0, std::vector< PetscInt > nEvEqs={}, const std::vector< domain::Field > &fields={})
 
- Public Member Functions inherited from ablate::boundarySolver::BoundaryProcess
virtual void Initialize (ablate::boundarySolver::BoundarySolver &fv)
 

Protected Types

enum  BoundaryEulerComponents {
  RHO = finiteVolume::CompressibleFlowFields::RHO , RHOE = finiteVolume::CompressibleFlowFields::RHOE , RHOVELN = finiteVolume::CompressibleFlowFields::RHOU , RHOVELT1 = finiteVolume::CompressibleFlowFields::RHOV ,
  RHOVELT2 = finiteVolume::CompressibleFlowFields::RHOW
}
 

Protected Member Functions

void GetVelAndCPrims (PetscReal velNorm, PetscReal speedOfSound, PetscReal Cp, PetscReal Cv, PetscReal &velNormPrim, PetscReal &speedOfSoundPrim)
 
void GetEigenValues (PetscReal veln, PetscReal c, PetscReal velnprm, PetscReal cprm, PetscReal lamda[]) const
 
void GetmdFdn (const PetscInt sOff[], const PetscReal *velNormCord, PetscReal rho, PetscReal T, PetscReal Cp, PetscReal Cv, PetscReal C, PetscReal Enth, PetscReal velnprm, PetscReal Cprm, const PetscReal *conserved, const PetscInt uOff[], const PetscReal *sL, const PetscReal transformationMatrix[3][3], PetscReal *mdFdn) const
 

Protected Attributes

const std::shared_ptr< finiteVolume::processes::PressureGradientScalingpressureGradientScaling
 
PetscInt dims
 
PetscInt nEqs
 
PetscInt nSpecEqs
 
PetscInt nEvEqs
 
PetscInt eulerId
 
PetscInt speciesId
 
std::vector< PetscInt > evIds
 There maybe more than one ev field so keep a separate id for each.
 
std::vector< PetscInt > nEvComps
 Track the number of components in each ev field.
 
std::vector< std::string > fieldNames
 
const std::shared_ptr< eos::EOSeos
 
eos::ThermodynamicFunction computeTemperature
 
eos::ThermodynamicTemperatureFunction computePressureFromTemperature
 
eos::ThermodynamicTemperatureFunction computeSpeedOfSound
 
eos::ThermodynamicTemperatureFunction computeSpecificHeatConstantPressure
 
eos::ThermodynamicTemperatureFunction computeSpecificHeatConstantVolume
 
eos::ThermodynamicTemperatureFunction computeSensibleEnthalpyFunction
 
eos::ThermodynamicFunction computePressure
 

Member Function Documentation

◆ Setup() [1/2]

void ablate::boundarySolver::lodi::LODIBoundary::Setup ( ablate::boundarySolver::BoundarySolver fv)
overridevirtual

Setup up all functions not dependent upon the mesh

Parameters
fv

Implements ablate::boundarySolver::BoundaryProcess.

Reimplemented in ablate::boundarySolver::lodi::OpenBoundary.

◆ Setup() [2/2]

void ablate::boundarySolver::lodi::LODIBoundary::Setup ( PetscInt  dims,
PetscInt  nEqs,
PetscInt  nSpecEqs = 0,
std::vector< PetscInt >  nEvEqs = {},
const std::vector< domain::Field > &  fields = {} 
)

This function directly sets the known values and is useful for testing

Parameters
dims
nEqs
nSpecEqs
nEvEqsnumber of ev

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