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

Finite pressure relaxation. More...

#include <RelaxationPFinite.h>

Inherits RelaxationP.

Collaboration diagram for RelaxationPFinite:
[legend]

Public Member Functions

 RelaxationPFinite ()
 RelaxationPFinite (tinyxml2::XMLElement *element, std::string fileName="Unknown file")
 ~RelaxationPFinite () override
void relaxation (Cell *cell, const double &dt, Prim type=vecPhases) override
 Finite Pressure relaxation method.
void computePressureDifferences (Cell *cell, Prim type=vecPhases)
 Compute the pressure differences.
Public Member Functions inherited from RelaxationP
 RelaxationP ()
 ~RelaxationP () override
int getType () const override
 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.
int m_integrationSolver
 Int to choose between Euler, RK45 and LSODA solvers.

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" )
Here is the call graph for this function:

◆ ~RelaxationPFinite()

RelaxationPFinite::~RelaxationPFinite ( )
override

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
Here is the call graph for this function:
Here is the caller graph for this function:

◆ relaxation()

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

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.

Here is the call graph for this function:

◆ 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
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_integrationSolver

int RelaxationPFinite::m_integrationSolver
protected

Int to choose between Euler, RK45 and LSODA solvers.

◆ 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: