NeoPZ
Static Public Member Functions | Static Private Attributes | List of all members
TEulerDiffusivity Class Reference

Implements a numerical diffusivity coeficient for the SUPG method. Analysis: Solving process Analysis. More...

#include <eulerdif.h>

Static Public Member Functions

static STATE Pressure (TPZVec< STATE > &U)
 Calculates the pressure from equation of state.
It is expected: $ U = (density, density * velocityX, density * velocityY, energy) $. More...
 
static void Flux (TPZVec< STATE > &u, TPZVec< STATE > &flux)
 Calculates the fluxes $ F_x $ and $ F_y $. More...
 
static void JacobFlux (TPZVec< STATE > &u, TPZFMatrix< STATE > &Ajacob, TPZFMatrix< STATE > &Bjacob)
 
static void JacobFlux (TPZVec< STATE > &U, TPZFMatrix< STATE > &jacob, TPZVec< REAL > &normal)
 
static void ValJacobFlux (TPZVec< STATE > &u, TPZFMatrix< STATE > &valjacob, TPZVec< REAL > &normal)
 
static void MatrixDiff (TPZVec< STATE > &sol, TPZFMatrix< REAL > &axes, TPZFMatrix< REAL > &jacinv, TPZFMatrix< STATE > &ATauA, TPZFMatrix< STATE > &ATauB, TPZFMatrix< STATE > &BTauA, TPZFMatrix< STATE > &BTauB)
 
static void InvJacob2d (TPZFMatrix< REAL > &axes, TPZFMatrix< REAL > &jacinv)
 
static void InverseJacob (TPZFMatrix< STATE > &jac)
 
static int main ()
 Static main for test. More...
 

Static Private Attributes

static STATE fGamma
 Polytropic gas constant. More...
 

Detailed Description

Implements a numerical diffusivity coeficient for the SUPG method. Analysis: Solving process Analysis.

The associated material is the bi-dimensional Euler equations for dynamic of the gases.

Note
This class is to be used as a template argument for a different class.
Variables:
$ U = (\rho, \rho * \upsilon_x, \rho * \upsilon_y, E) $
$ \rho = $ density
$ (\upsilon_x, \upsilon_y) = $ velocity
$ \| \mbox{velocity} \| = \| v \| = \sqrt(\upsilon_x^2 + \upsilon_y^2 ) $
$ E = $ energy
$ p = $ pressure
$ c_p = $ specific heat at constant pressure of the gas
$ c_V = $ specific heat at constant volume of the gas.
Fluxes:
$ F_x(U) = (\rho * \upsilon_x, \rho * \upsilon_x^2 + p, \rho * \upsilon_x * \upsilon_y, \upsilon_x (\rho * E + p)) $
$ F_y(U) = (\rho * \upsilon_y, \rho * \upsilon_x * \upsilon_y, \rho * \upsilon_y^2 + p, \upsilon_y (\rho * E + p)) $
Equation of state:
$ p = (\gamma - 1) \star (E - \frac{1}{2} \rho \| v \| ) $
$ \gamma = \frac{c_p}{c_V} $
For tests we used $ \gamma = 1.4 $ .

Definition at line 40 of file eulerdif.h.

Member Function Documentation

◆ Flux()

void TEulerDiffusivity::Flux ( TPZVec< STATE > &  u,
TPZVec< STATE > &  flux 
)
static

Calculates the fluxes $ F_x $ and $ F_y $.

Definition at line 20 of file eulerdif.cpp.

Referenced by main().

◆ InverseJacob()

void TEulerDiffusivity::InverseJacob ( TPZFMatrix< STATE > &  jac)
static

Definition at line 182 of file eulerdif.cpp.

References test::f, TPZFMatrix< TVar >::GetVal(), h, and m.

◆ InvJacob2d()

void TEulerDiffusivity::InvJacob2d ( TPZFMatrix< REAL > &  axes,
TPZFMatrix< REAL > &  jacinv 
)
static

Definition at line 218 of file eulerdif.cpp.

References tmp.

◆ JacobFlux() [1/2]

void TEulerDiffusivity::JacobFlux ( TPZVec< STATE > &  u,
TPZFMatrix< STATE > &  Ajacob,
TPZFMatrix< STATE > &  Bjacob 
)
static

Definition at line 43 of file eulerdif.cpp.

Referenced by main().

◆ JacobFlux() [2/2]

void TEulerDiffusivity::JacobFlux ( TPZVec< STATE > &  U,
TPZFMatrix< STATE > &  jacob,
TPZVec< REAL > &  normal 
)
static

Definition at line 288 of file eulerdif.cpp.

◆ main()

int TEulerDiffusivity::main ( )
static

Static main for test.

Definition at line 314 of file eulerdif.cpp.

References Flux(), JacobFlux(), MatrixDiff(), TPZMatrix< TVar >::Print(), sqrt, and ValJacobFlux().

◆ MatrixDiff()

void TEulerDiffusivity::MatrixDiff ( TPZVec< STATE > &  sol,
TPZFMatrix< REAL > &  axes,
TPZFMatrix< REAL > &  jacinv,
TPZFMatrix< STATE > &  ATauA,
TPZFMatrix< STATE > &  ATauB,
TPZFMatrix< STATE > &  BTauA,
TPZFMatrix< STATE > &  BTauB 
)
static

Definition at line 236 of file eulerdif.cpp.

References TPZFMatrix< TVar >::Zero().

Referenced by main().

◆ Pressure()

STATE TEulerDiffusivity::Pressure ( TPZVec< STATE > &  U)
static

Calculates the pressure from equation of state.
It is expected: $ U = (density, density * velocityX, density * velocityY, energy) $.

Definition at line 14 of file eulerdif.cpp.

◆ ValJacobFlux()

void TEulerDiffusivity::ValJacobFlux ( TPZVec< STATE > &  u,
TPZFMatrix< STATE > &  valjacob,
TPZVec< REAL > &  normal 
)
static

Definition at line 77 of file eulerdif.cpp.

References fabs, sqrt, and TPZFMatrix< TVar >::Zero().

Referenced by main().

Member Data Documentation

◆ fGamma

STATE TEulerDiffusivity::fGamma
staticprivate

Polytropic gas constant.

Ratio of the specific heat at constant pressure and the specific heat at constant volume. It is used at equation of state.

Definition at line 43 of file eulerdif.h.


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