ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
RelaxationPFinite Class Reference

Finite pressure relaxation. More...

#include <RelaxationPFinite.h>

Inherits RelaxationP.

Public Member Functions

 RelaxationPFinite ()
 
 RelaxationPFinite (tinyxml2::XMLElement *element, std::string fileName="Unknown file")
 
virtual ~RelaxationPFinite ()
 
virtual void relaxation (Cell *cell, const double &dt, Prim type=vecPhases)
 Finite Pressure relaxation method.
 
void computePressureDifferences (Cell *cell, Prim type=vecPhases)
 Compute the pressure differences.
 
- Public Member Functions inherited from RelaxationP
 RelaxationP ()
 
virtual ~RelaxationP ()
 
virtual int getType () const
 Return the pressure-relaxation type.
 
void NewtonRaphson (double &pStar, int &iteration)
 Newton-Raphson method for the infinite pressure relaxation.
 
double computeInterfacePressure (Cell *cell, Prim type=vecPhases)
 Compute interface pressure.
 
- Public Member Functions inherited from Relaxation
 Relaxation ()
 
virtual ~Relaxation ()
 
virtual void initializeCriticalPressure (Cell *)
 Initialize the theoritical critical pressure of the fluid (only required for PTMu relax)
 

Static Public Member Functions

static void system_relaxation (double, double *y, double *ydot, void *)
 System of equations to integrate for the LSODA solver.
 

Protected Attributes

double m_muFactor
 Factor for the relaxation coefficient. Herein, the relaxation coefficient is identical for all phase_k–phase_j combinations.
 
bool m_LSODA
 Bool to choose between LSODA and Euler solver. LSODA solver when m_LSODA=true and Euler solver when m_LSODA=false.
 

Detailed Description

Finite pressure relaxation.

Constructor & Destructor Documentation

◆ RelaxationPFinite() [1/2]

RelaxationPFinite::RelaxationPFinite ( )

◆ RelaxationPFinite() [2/2]

RelaxationPFinite::RelaxationPFinite ( tinyxml2::XMLElement element,
std::string  fileName = "Unknown file" 
)

◆ ~RelaxationPFinite()

RelaxationPFinite::~RelaxationPFinite ( )
virtual

Member Function Documentation

◆ computePressureDifferences()

void RelaxationPFinite::computePressureDifferences ( Cell cell,
Prim  type = vecPhases 
)

Compute the pressure differences.

Call for this method computes pressure differences used for relaxation terms.

Parameters
cellcell to relax
typeenumeration allowing to relax either state in the cell or second order half time step state

◆ relaxation()

void RelaxationPFinite::relaxation ( Cell cell,
const double &  dt,
Prim  type = vecPhases 
)
virtual

Finite Pressure relaxation method.

Call for this method computes the mechanical relaxed state in a given cell. Relaxed state is stored depending on the type enum.

Parameters
cellcell to relax
dttime step
typeenumeration allowing to relax either state in the cell or second order half time step state

Reimplemented from Relaxation.

◆ system_relaxation()

void RelaxationPFinite::system_relaxation ( double  ,
double *  y,
double *  ydot,
void *   
)
static

System of equations to integrate for the LSODA solver.

This method is called by LSODA solver and it computes the time derivatives of the system in function of the primitive variables.

Parameters
ttime
yprimitive variables
ydottime derivatives
datapointer to data not contained in t and y

Member Data Documentation

◆ m_LSODA

bool RelaxationPFinite::m_LSODA
protected

Bool to choose between LSODA and Euler solver. LSODA solver when m_LSODA=true and Euler solver when m_LSODA=false.

◆ m_muFactor

double RelaxationPFinite::m_muFactor
protected

Factor for the relaxation coefficient. Herein, the relaxation coefficient is identical for all phase_k–phase_j combinations.


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