ABLATE Source Documentation  0.12.34
ablate::finiteVolume::processes::PressureGradientScaling Class Reference

#include <pressureGradientScaling.hpp>

+ Inheritance diagram for ablate::finiteVolume::processes::PressureGradientScaling:

Public Member Functions

 PressureGradientScaling (std::shared_ptr< eos::EOS > eos, double alphaInit, double domainLength, double maxAlphaAllowed={}, double maxDeltaPressureFac={}, std::shared_ptr< ablate::monitors::logs::Log >={})
 
PetscErrorCode UpdatePreconditioner (TS flowTs, ablate::solver::Solver &flow)
 
void Setup (ablate::finiteVolume::FiniteVolumeSolver &fv) override
 
const PetscReal & GetAlpha ()
 
const PetscReal & GetMaxMach ()
 
const std::string & GetId () const override
 
PetscErrorCode Save (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
 
PetscErrorCode Restore (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
 
- Public Member Functions inherited from ablate::finiteVolume::processes::Process
virtual void Initialize (ablate::finiteVolume::FiniteVolumeSolver &fv)
 
- Public Member Functions inherited from ablate::io::Serializable
virtual SerializerType Serialize () const
 

Additional Inherited Members

- Public Types inherited from ablate::io::Serializable
enum class  SerializerType { none , collective , serial }
 
- Static Protected Member Functions inherited from ablate::io::Serializable
static PetscErrorCode SaveKeyValue (PetscViewer viewer, const char *name, PetscScalar value)
 
static PetscErrorCode RestoreKeyValue (PetscViewer viewer, const char *name, PetscScalar &value)
 
template<class T >
static PetscErrorCode SaveKeyValue (PetscViewer viewer, const char *name, T value)
 
template<class T >
static PetscErrorCode RestoreKeyValue (PetscViewer viewer, const char *name, T &value)
 
template<class T >
static SerializerType DetermineSerializerType (const T &types)
 

Detailed Description

Rescales the thermodynamic pressure gradient scaling the acoustic propagation speeds to allow for a larger time step. See: DesJardin, Paul E., Timothy J. O’Hern, and Sheldon R. Tieszen. "Large eddy simulation and experimental measurements of the near-field of a large turbulent helium plume." Physics of fluids 16.6 (2004): 1866-1883.

Member Function Documentation

◆ GetId()

const std::string& ablate::finiteVolume::processes::PressureGradientScaling::GetId ( ) const
inlineoverridevirtual

only required function, returns the id of the object. Should be unique for the simulation

Returns

Implements ablate::io::Serializable.

◆ Restore()

PetscErrorCode ablate::finiteVolume::processes::PressureGradientScaling::Restore ( PetscViewer  viewer,
PetscInt  sequenceNumber,
PetscReal  time 
)
overridevirtual

Restore the state from the PetscViewer

Parameters
viewer
sequenceNumber
time

Implements ablate::io::Serializable.

◆ Save()

PetscErrorCode ablate::finiteVolume::processes::PressureGradientScaling::Save ( PetscViewer  viewer,
PetscInt  sequenceNumber,
PetscReal  time 
)
overridevirtual

Save the state to the PetscViewer

Parameters
viewer
sequenceNumber
time

Implements ablate::io::Serializable.

◆ Setup()

void ablate::finiteVolume::processes::PressureGradientScaling::Setup ( ablate::finiteVolume::FiniteVolumeSolver fv)
overridevirtual

Function to setup timestepping with the PressureGradientScaling. This can be called multiple times and will only be registered once

Returns

Implements ablate::finiteVolume::processes::Process.

◆ UpdatePreconditioner()

PetscErrorCode ablate::finiteVolume::processes::PressureGradientScaling::UpdatePreconditioner ( TS  flowTs,
ablate::solver::Solver flow 
)

function to compute the average density in the domain

Parameters
flowTs
flow
Returns

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