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

This material implements the weak statement of the three-dimensional compressible euler equations. More...

#include <pzeuler.h>

Inheritance diagram for TPZEulerEquation:
[legend]
Collaboration diagram for TPZEulerEquation:
[legend]

Public Types

enum  BCType { EFreeSlip }
 Type of boundary condition. More...
 
enum  CALCType { EFlux, EGradient }
 Type of flux computing. More...
 

Public Member Functions

 TPZEulerEquation (int nummat, STATE gamma)
 Constructor with Gamma value. More...
 
 ~TPZEulerEquation ()
 Default destructor. More...
 
 TPZEulerEquation ()
 Default constructor. More...
 
 TPZEulerEquation (const TPZEulerEquation &cp)
 Copy constructor. More...
 
TPZMaterialNewMaterial () override
 Creates a copy of this. More...
 
virtual int NStateVariables () const override
 Object-based overload. More...
 
virtual int Dimension () const override
 Object-based overload. More...
 
STATE cSpeed (TPZVec< STATE > &sol)
 Computes sound speed. More...
 
STATE uRes (TPZVec< STATE > &sol)
 Returns $ u = Sqrt(u2 + v2 + w2) $. More...
 
virtual void Print (std::ostream &out) override
 Prints out the data associated with the material. More...
 
virtual std::string Name () override
 Returns the name of the material. More...
 
virtual int VariableIndex (const std::string &name) override
 Returns the variable index associated with the name. More...
 
virtual int NSolutionVariables (int var) override
 Returns the number of variables associated with the variable indexed by var. More...
 
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
 
Contribute methods

data contains material data. data.soll and data.solr are expected in primitive variables

virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the stiffness matrix and load vector at one integration point. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the residual vector at one integration point. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 It computes a contribution to stiffness matrix and load vector at one integration point. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef) override
 It computes a contribution to residual vector at one integration point. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to stiffness matrix and load vector at one BC integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to residual vector at one BC integration point. More...
 
virtual int ClassId () const override
 Unique identifier for serialization purposes. More...
 
- Public Member Functions inherited from TPZDiscontinuousGalerkin
 TPZDiscontinuousGalerkin ()
 Simple constructor. More...
 
 TPZDiscontinuousGalerkin (int nummat)
 Constructor with the index of the material object within the vector. More...
 
 TPZDiscontinuousGalerkin (const TPZDiscontinuousGalerkin &copy)
 Copy constructor. More...
 
virtual ~TPZDiscontinuousGalerkin ()
 Destructor. More...
 
virtual void FillDataRequirementsInterface (TPZMaterialData &data) override
 Fill material data parameter with necessary requirements for the ContributeInterface method. More...
 
virtual int GetIntegrationOrder (TPZVec< int > &porder_left, TPZVec< int > &porder_right) const
 return the integration order as a function of interpolation orders of the left and right elements More...
 
virtual int IsInterfaceConservative ()
 Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces. More...
 
virtual void InterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump)
 Computes interface jump = leftu - rightu. More...
 
virtual void BCInterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZBndCond &bc, TPZSolVec &jump)
 Computes interface jump from element to Dirichlet boundary condition. It has to reimplemented. More...
 
virtual void ContributeInterfaceErrors (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR, int &errorid)
 
virtual void ContributeInterfaceBCErrors (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc, int &errorid)
 
virtual void Errors (TPZVec< REAL > &x, TPZVec< STATE > &u, TPZFMatrix< STATE > &dudx, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) override
 Computes the error due to the difference between the interpolated flux
and the flux computed based on the derivative of the solution. More...
 
virtual void Errors (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual void Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point. More...
 
virtual void ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeInterface (TPZVec< TPZMaterialData > &datavec, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 
virtual void ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 Computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ef)
 Computes a contribution to residual vector at one integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
void SolutionDisc (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
- Public Member Functions inherited from TPZMaterial
 TPZMaterial (int id)
 Creates a material object and inserts it in the vector of material pointers of the mesh. More...
 
 TPZMaterial ()
 Default constructor. More...
 
 TPZMaterial (const TPZMaterial &mat)
 Creates a material object based on the referred object and inserts it in the vector of material pointers of the mesh. More...
 
TPZMaterialoperator= (const TPZMaterial &copy)
 operator = More...
 
virtual ~TPZMaterial ()
 Default destructor. More...
 
virtual void FillDataRequirements (TPZMaterialData &data)
 Fill material data parameter with necessary requirements for the. More...
 
virtual void FillDataRequirements (TPZVec< TPZMaterialData > &datavec)
 Fill material data parameter with necessary requirements for the Contribute method. Here, in base class, all requirements are considered as necessary. Each derived class may optimize performance by selecting only the necessary data. More...
 
virtual void FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data)
 This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More...
 
virtual void FillBoundaryConditionDataRequirement (int type, TPZVec< TPZMaterialData > &datavec)
 This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More...
 
virtual void FillDataRequirementsInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &datavec_left, TPZVec< TPZMaterialData > &datavec_right)
 This method defines which parameters need to be initialized in order to compute the contribution of interface elements. More...
 
int Id () const
 
void SetId (int id)
 
virtual int NFluxes ()
 Returns the number of components which form the flux function. More...
 
int NumLoadCases ()
 returns the number of load cases for this material object More...
 
virtual int MinimumNumberofLoadCases ()
 returns the minimum number of load cases for this material More...
 
void SetNumLoadCases (int numloadcases)
 changes the number of load cases for this material More...
 
void SetPostProcessIndex (int index)
 indicates which variable should be post processed More...
 
virtual TPZBndCondCreateBC (TPZMaterial *reference, int id, int typ, TPZFMatrix< STATE > &val1, TPZFMatrix< STATE > &val2)
 Creates an object TPZBndCond derived of TPZMaterial. More...
 
void SetForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as source function for the material. More...
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result), int porder)
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &gradu), int porder)
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunction ()
 Returns a procedure as source function for the material. More...
 
void SetForcingFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunctionExact ()
 Returns a procedure as exact solution for the problem. More...
 
void SetTimeDependentForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent source function for the material. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimeDependentForcingFunction ()
 Returns a procedure as time dependent source function for the material. More...
 
void SetTimeDependentFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentFunctionExact ()
 Returns a procedure as time dependent exact solution for the problem. More...
 
void SetBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & BCForcingFunction ()
 Returns a procedure as variable boundary condition. More...
 
void SetTimedependentBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentBCForcingFunction ()
 Returns a procedure as time variable boundary condition. More...
 
virtual int HasForcingFunction ()
 Directive that gives true if the material has a forcing function. More...
 
virtual int HasForcingFunctionExact ()
 Directive that gives true if the material has a function exact. More...
 
virtual int HasBCForcingFunction ()
 Directive that gives true if the material has a bc forcing function exact. More...
 
virtual int HasTimedependentFunctionExact ()
 Directive that gives true if the material has a time dependent function exact. More...
 
virtual int HasTimedependentForcingFunction ()
 Directive that gives true if the material has a time dependent forcing function. More...
 
virtual int HasTimedependentBCForcingFunction ()
 Directive that gives true if the material has a time dependent bc forcing function. More...
 
virtual int IntegrationRuleOrder (int elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element with polinomial order p. More...
 
virtual int IntegrationRuleOrder (TPZVec< int > &elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element multiphysic. More...
 
virtual void ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values)
 
virtual int NEvalErrors ()
 Returns the number of norm errors. Default is 3: energy, L2 and H1. More...
 
virtual void SetData (std::istream &data)
 Reads data of the material from a istream (file data) More...
 
virtual void Clone (std::map< int, TPZMaterial * > &matvec)
 Creates a copy of the material object and put it in the vector which is passed on. More...
 
virtual int FluxType ()
 To return a numerical flux type to apply over the interfaces of the elements. More...
 
virtual void ContributeErrors (TPZMaterialData &data, REAL weight, TPZVec< REAL > &nk, int &errorid)
 
virtual REAL ComputeSquareResidual (TPZVec< REAL > &X, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol)
 Computes square of residual of the differential equation at one integration point. More...
 
virtual int PushMemItem (int sourceIndex=-1)
 Pushes a new entry in the context of materials with memory, returning its index at the internal storage stack. More...
 
virtual void FreeMemItem (int index)
 Frees an entry in the material with memory internal history storage. More...
 
void SetLinearContext (bool IsLinear)
 Sets fLinearContext attribute. More...
 
bool GetLinearContext () const
 Returns fLinearContext attribute. More...
 
int ClassId () const override
 Unique identifier for serialization purposes. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
virtual void Solution (TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Solution (TPZVec< TPZMaterialData > &datavec, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation around one interface element. More...
 
virtual void Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout, TPZCompEl *left, TPZCompEl *ritgh)
 Returns the solution associated with the var index based on the finite element approximation around one interface element. More...
 
virtual void Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux)
 Computes the value of the flux function to be used by ZZ error estimator. More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Static Public Member Functions

static void SetComputeFlux ()
 Set type of flux computing. More...
 
static void SetComputeGradient ()
 
static REAL Gamma ()
 
static void FromPrimitiveToConservative (TPZVec< STATE > &sol, STATE gamma)
 Convert from primitive to conservative variables. More...
 
static void FromConservativeToPrimitive (TPZVec< STATE > &sol, STATE gamma)
 Convert from conservative to primitive variables. More...
 
static REAL Pressure (TPZVec< STATE > &U, double gamma)
 Returns the pressure value. More...
 
- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 

Private Member Functions

void ComputeEulerFlux (TPZVec< STATE > &sol, TPZFMatrix< STATE > &F)
 Compute Euler Flux. More...
 

Private Attributes

TPZAUSMFlux fAUSMFlux
 Convective flux object. More...
 
TPZGradientFlux fGradientFlux
 Gradient flux object. More...
 

Static Private Attributes

static CALCType gType
 
static STATE gGamma
 Ratio between specific heat at constant pressure and the specific heat at constant volume of a polytropic gas. More...
 

Additional Inherited Members

- Static Public Attributes inherited from TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Member Functions inherited from TPZMaterial
- Protected Attributes inherited from TPZMaterial
TPZAutoPointer< TPZFunction< STATE > > fForcingFunction
 Pointer to forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fForcingFunctionExact
 Pointer to exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimeDependentForcingFunction
 Pointer to time dependent forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentFunctionExact
 Pointer to time dependent exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fBCForcingFunction
 Pointer to bc forcing function, it is a variable boundary condition at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentBCForcingFunction
 Pointer to time dependent bc forcing function, it is a variable boundary condition at differential equation. More...
 
bool fLinearContext
 Defines whether the equation context is linear solver or non linear. More...
 
int fNumLoadCases
 Defines the number of load cases generated by this material. More...
 
int fPostProcIndex
 indicates which solution should be used for post processing More...
 

Detailed Description

This material implements the weak statement of the three-dimensional compressible euler equations.

It is for transient analysis, finite volume method and explicit time integrator only.

Note
For Olivier Roussel's project.
Conservation Law:
$ U_t(t, X) + \nabla \cdot F(U(t, X)) = 0 $
Variables:
$ U = (\rho, \rho * \upsilon_x, \rho * \upsilon_y, \rho * \upsilon_z, E) $
$ \rho = $ density
$ (\upsilon_x, \upsilon_y, \upsilon_z) = $ velocity
$ \| \mbox{velocity} \| = \| v \| = \sqrt(\upsilon_x^2 + \upsilon_y^2 + \upsilon_z^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, \rho * \upsilon_x * \upsilon_z, \upsilon_x (E + p)) $
$ F_y(U) = (\rho * \upsilon_y, \rho * \upsilon_x * \upsilon_y, \rho * \upsilon_y^2 + p, \rho * \upsilon_y * \upsilon_z, \upsilon_y (E + p)) $
$ F_z(U) = (\rho * \upsilon_z, \rho * \upsilon_x * \upsilon_z, \rho * \upsilon_y * \upsilon_z, \rho * \upsilon_z^2 + p, \upsilon_z (E + p)) $
Equation of state:
$ p = (\gamma - 1) \star (E - \frac{1}{2} \rho \| v \| ) $
$ \gamma = \frac{c_p}{c_V} $
Note
For tests we used $ \gamma = 1.4 $ .

Definition at line 52 of file pzeuler.h.

Member Enumeration Documentation

◆ BCType

Type of boundary condition.

Enumerator
EFreeSlip 

Definition at line 56 of file pzeuler.h.

◆ CALCType

Type of flux computing.

Enumerator
EFlux 
EGradient 

Definition at line 58 of file pzeuler.h.

Constructor & Destructor Documentation

◆ TPZEulerEquation() [1/3]

TPZEulerEquation::TPZEulerEquation ( int  nummat,
STATE  gamma 
)

Constructor with Gamma value.

Definition at line 83 of file pzeuler.cpp.

References gamma(), and gGamma.

◆ ~TPZEulerEquation()

TPZEulerEquation::~TPZEulerEquation ( )

Default destructor.

Definition at line 79 of file pzeuler.cpp.

Referenced by Gamma().

◆ TPZEulerEquation() [2/3]

TPZEulerEquation::TPZEulerEquation ( )

Default constructor.

Definition at line 89 of file pzeuler.cpp.

Referenced by Gamma(), and NewMaterial().

◆ TPZEulerEquation() [3/3]

TPZEulerEquation::TPZEulerEquation ( const TPZEulerEquation cp)

Copy constructor.

Definition at line 95 of file pzeuler.cpp.

Member Function Documentation

◆ ClassId()

int TPZEulerEquation::ClassId ( ) const
overridevirtual

Unique identifier for serialization purposes.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 394 of file pzeuler.cpp.

References TPZDiscontinuousGalerkin::ClassId(), and Hash().

Referenced by Name().

◆ ComputeEulerFlux()

void TPZEulerEquation::ComputeEulerFlux ( TPZVec< STATE > &  sol,
TPZFMatrix< STATE > &  F 
)
private

Compute Euler Flux.

Definition at line 375 of file pzeuler.cpp.

References gGamma, Pressure(), and TPZFMatrix< TVar >::Resize().

◆ Contribute() [1/2]

void TPZEulerEquation::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one integration point.

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 193 of file pzeuler.cpp.

Referenced by Name().

◆ Contribute() [2/2]

void TPZEulerEquation::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to the residual vector at one integration point.

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ef[out] is the residual vector
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 198 of file pzeuler.cpp.

◆ ContributeBC()

void TPZEulerEquation::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one BC integration point.

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition material
Since
October 07, 2011

Implements TPZDiscontinuousGalerkin.

Definition at line 260 of file pzeuler.cpp.

References DebugStop.

Referenced by Name().

◆ ContributeBCInterface() [1/2]

void TPZEulerEquation::ContributeBCInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to stiffness matrix and load vector at one BC integration point.

Parameters
data[in]
dataleft[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition object
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 268 of file pzeuler.cpp.

Referenced by Name().

◆ ContributeBCInterface() [2/2]

void TPZEulerEquation::ContributeBCInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to residual vector at one BC integration point.

Parameters
data[in]
dataleft[in]
weight[in]
ef[out] is the load vector
bc[in] is the boundary condition object
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 276 of file pzeuler.cpp.

References TPZMatrix< TVar >::Cols(), TPZGradientFlux::ComputeFlux(), TPZAUSMFlux::ComputeFlux(), ContributeInterface(), DebugStop, EFlux, EFreeSlip, EGradient, fAUSMFlux, fGradientFlux, TPZMaterial::Flux(), FromPrimitiveToConservative(), gGamma, gType, TPZMaterialData::normal, TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZBndCond::Type().

◆ ContributeInterface() [1/2]

void TPZEulerEquation::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to stiffness matrix and load vector at one integration point.

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 203 of file pzeuler.cpp.

Referenced by ContributeBCInterface(), and Name().

◆ ContributeInterface() [2/2]

void TPZEulerEquation::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to residual vector at one integration point.

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ef[out] is the load vector
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 209 of file pzeuler.cpp.

References TPZGradientFlux::ApplyLimiter(), TPZGradientFlux::ComputeFlux(), TPZAUSMFlux::ComputeFlux(), DebugStop, EFlux, EGradient, fAUSMFlux, fGradientFlux, TPZMaterial::Flux(), FromPrimitiveToConservative(), gGamma, gType, TPZMaterialData::normal, TPZVec< T >::size(), and TPZMaterialData::sol.

◆ cSpeed()

STATE TPZEulerEquation::cSpeed ( TPZVec< STATE > &  sol)

Computes sound speed.

Definition at line 346 of file pzeuler.cpp.

References DebugStop, gGamma, Pressure(), PZError, and sqrt.

Referenced by Gamma(), and Solution().

◆ Dimension()

int TPZEulerEquation::Dimension ( ) const
overridevirtual

Object-based overload.

Implements TPZMaterial.

Definition at line 109 of file pzeuler.cpp.

Referenced by Gamma(), NSolutionVariables(), and Solution().

◆ FromConservativeToPrimitive()

void TPZEulerEquation::FromConservativeToPrimitive ( TPZVec< STATE > &  sol,
STATE  gamma 
)
static

Convert from conservative to primitive variables.

Definition at line 61 of file pzeuler.cpp.

References DebugStop, IsZero(), Pressure(), and PZError.

Referenced by Gamma().

◆ FromPrimitiveToConservative()

void TPZEulerEquation::FromPrimitiveToConservative ( TPZVec< STATE > &  sol,
STATE  gamma 
)
static

Convert from primitive to conservative variables.

Definition at line 42 of file pzeuler.cpp.

References fabs, and Pressure().

Referenced by ContributeBCInterface(), ContributeInterface(), and Gamma().

◆ Gamma()

static REAL TPZEulerEquation::Gamma ( )
inlinestatic

◆ Name()

virtual std::string TPZEulerEquation::Name ( )
inlineoverridevirtual

Returns the name of the material.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 134 of file pzeuler.h.

References bc, ClassId(), Contribute(), ContributeBC(), ContributeBCInterface(), ContributeInterface(), NSolutionVariables(), Solution(), and VariableIndex().

◆ NewMaterial()

TPZMaterial * TPZEulerEquation::NewMaterial ( )
overridevirtual

Creates a copy of this.

Reimplemented from TPZMaterial.

Definition at line 101 of file pzeuler.cpp.

References TPZEulerEquation().

Referenced by Gamma().

◆ NSolutionVariables()

int TPZEulerEquation::NSolutionVariables ( int  var)
overridevirtual

Returns the number of variables associated with the variable indexed by var.

Parameters
varIndex variable into the solution, is obtained by calling VariableIndex

Reimplemented from TPZMaterial.

Definition at line 130 of file pzeuler.cpp.

References Dimension(), and NStateVariables().

Referenced by Name().

◆ NStateVariables()

int TPZEulerEquation::NStateVariables ( ) const
overridevirtual

Object-based overload.

Implements TPZMaterial.

Definition at line 105 of file pzeuler.cpp.

Referenced by Gamma(), NSolutionVariables(), and Solution().

◆ Pressure()

REAL TPZEulerEquation::Pressure ( TPZVec< STATE > &  U,
double  gamma 
)
static

Returns the pressure value.

Definition at line 322 of file pzeuler.cpp.

References DebugStop, and PZError.

Referenced by ComputeEulerFlux(), cSpeed(), FromConservativeToPrimitive(), FromPrimitiveToConservative(), Gamma(), and Solution().

◆ Print()

void TPZEulerEquation::Print ( std::ostream &  out)
overridevirtual

Prints out the data associated with the material.

Reimplemented from TPZMaterial.

Definition at line 113 of file pzeuler.cpp.

References gGamma, and TPZMaterial::Print().

Referenced by Gamma().

◆ SetComputeFlux()

static void TPZEulerEquation::SetComputeFlux ( )
inlinestatic

Set type of flux computing.

Definition at line 60 of file pzeuler.h.

References EFlux, and gType.

◆ SetComputeGradient()

static void TPZEulerEquation::SetComputeGradient ( )
inlinestatic

Definition at line 64 of file pzeuler.h.

References EGradient, and gType.

◆ Solution()

void TPZEulerEquation::Solution ( TPZVec< STATE > &  Sol,
TPZFMatrix< STATE > &  DSol,
TPZFMatrix< REAL > &  axes,
int  var,
TPZVec< STATE > &  Solout 
)
overridevirtual
Deprecated:
Deprecated interface for Solution method which must use material data.

Reimplemented from TPZMaterial.

Definition at line 140 of file pzeuler.cpp.

References cSpeed(), DebugStop, Dimension(), gGamma, IsZero(), NStateVariables(), Pressure(), PZError, TPZVec< T >::Resize(), TPZMaterial::Solution(), sqrt, and uRes().

Referenced by Name().

◆ uRes()

STATE TPZEulerEquation::uRes ( TPZVec< STATE > &  sol)

Returns $ u = Sqrt(u2 + v2 + w2) $.

Definition at line 365 of file pzeuler.cpp.

References DebugStop, PZError, and sqrt.

Referenced by Gamma(), and Solution().

◆ VariableIndex()

int TPZEulerEquation::VariableIndex ( const std::string &  name)
overridevirtual

Returns the variable index associated with the name.

Reimplemented from TPZMaterial.

Definition at line 118 of file pzeuler.cpp.

References TPZMaterial::VariableIndex().

Referenced by Name().

Member Data Documentation

◆ fAUSMFlux

TPZAUSMFlux TPZEulerEquation::fAUSMFlux
private

Convective flux object.

Definition at line 84 of file pzeuler.h.

Referenced by ContributeBCInterface(), and ContributeInterface().

◆ fGradientFlux

TPZGradientFlux TPZEulerEquation::fGradientFlux
private

Gradient flux object.

Definition at line 87 of file pzeuler.h.

Referenced by ContributeBCInterface(), and ContributeInterface().

◆ gGamma

STATE TPZEulerEquation::gGamma
staticprivate

Ratio between specific heat at constant pressure and the specific heat at constant volume of a polytropic gas.

Definition at line 81 of file pzeuler.h.

Referenced by ComputeEulerFlux(), ContributeBCInterface(), ContributeInterface(), cSpeed(), Gamma(), Print(), Solution(), and TPZEulerEquation().

◆ gType

TPZEulerEquation::CALCType TPZEulerEquation::gType
staticprivate

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