NeoPZ
Public Member Functions | Protected Attributes | List of all members
TPZConservationLaw Class Referenceabstract

Implements the interface for conservation laws, keeping track of the timestep as well. More...

#include <pzconslaw.h>

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

Public Member Functions

 TPZConservationLaw (int nummat, REAL timeStep, int dim)
 Simple constructor with material id, time step (dt) and dimension of the spatial domain. More...
 
 TPZConservationLaw (const TPZConservationLaw &cp)
 Copy constructor. More...
 
virtual ~TPZConservationLaw ()
 Default destructor. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Save the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Read the element data from a stream. More...
 
Attributes and parameters
int Dimension () const override
 Returns the dimension of the problem. More...
 
REAL TimeStep ()
 Returns the value of the time step. More...
 
void SetTimeStep (REAL timeStep)
 Sets the time step used for time integration. More...
 
virtual REAL SetTimeStep (REAL maxveloc, REAL deltax, int degree)=0
 Sets the time step used for time integration. More...
 
REAL CFL ()
 Returns the CFL number. More...
 
void SetCFL (REAL CFL)
 Sets the CFL number. More...
 
REAL Gamma ()
 Returns the value of Gamma (constant of gas) More...
 
void SetGamma (int gamma)
 Sets the value of Gamma (constant of gas) More...
 
void SetContributionTime (TPZContributeTime time)
 Sets whether the contribution is advanced or referring to the last state. More...
 
void SetResidualType (TPZResidualType type)
 Residual_RT for calculations and Flux_RT for convergence check. More...
 
virtual int NStateVariables () const override=0
 Number of state variables according to the dimension. More...
 
virtual STATE Pressure (TPZVec< STATE > &U)=0
 Thermodynamic pressure determined by the law of an ideal gas. More...
 
virtual void Print (std::ostream &out) override
 Prints the state of internal variables. More...
 
virtual std::string Name () override=0
 Returns the material name. More...
 
virtual int VariableIndex (const std::string &name) override=0
 Returns the relative index of a variable according to its name. More...
 
virtual int NSolutionVariables (int var) override=0
 Returns the number of variables associated with the variable indexed by var. More...
 
virtual int NFluxes () override
 Returns the number of fluxes associated to this material. More...
 
Contribute methods
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override=0
 Contributes to the residual vector and tangent matrix the volume-based quantities. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
 Contributes to the residual vector and tangent matrix the volume-based quantities. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override=0
 Contributes to the residual vector and tangent matrix the face-based quantities. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef) override
 Contributes to the residual vector and tangent matrix the face-based quantities. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override=0
 Contributes to the residual vector the boundary conditions. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 Contributes to the residual vector the boundary conditions. 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 (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, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)=0
 It computes a contribution to stiffness matrix and load vector at one BC 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...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to residual vector at one BC integration point. 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...
 
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...
 
- 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)
 
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 TPZMaterialNewMaterial ()
 To create another material of the same type. 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 (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
 

Protected Attributes

int fDim
 Dimension of the problem. More...
 
REAL fTimeStep
 Time step used for time integration. More...
 
REAL fCFL
 CFL number. More...
 
REAL fGamma
 Ratio between specific heat is constant and the specific heat the constant volume of a polytropic gas. More...
 
TPZContributeTime fContributionTime
 Variable indicating the context of the solution. More...
 
TPZResidualType fResidualType
 Variable to indicate the type of residual to be computed by Assemble. More...
 
- 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...
 

Solutions

virtual void Solution (TPZMaterialData &data, int var, TPZVec< STATE > &Solout) override
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override=0
 

Additional Inherited Members

- 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)
 
- 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

Detailed Description

Implements the interface for conservation laws, keeping track of the timestep as well.

Defines the aditional interface necessary to compute contributions over the interfaces between elements

Definition at line 71 of file pzconslaw.h.

Constructor & Destructor Documentation

◆ TPZConservationLaw() [1/2]

TPZConservationLaw::TPZConservationLaw ( int  nummat,
REAL  timeStep,
int  dim 
)

Simple constructor with material id, time step (dt) and dimension of the spatial domain.

Definition at line 17 of file pzconslaw.cpp.

References DebugStop, fDim, fResidualType, fTimeStep, PZError, and Residual_RT.

◆ TPZConservationLaw() [2/2]

TPZConservationLaw::TPZConservationLaw ( const TPZConservationLaw cp)
inline

◆ ~TPZConservationLaw()

TPZConservationLaw::~TPZConservationLaw ( )
virtual

Default destructor.

Definition at line 45 of file pzconslaw.cpp.

Referenced by TPZConservationLaw().

Member Function Documentation

◆ CFL()

REAL TPZConservationLaw::CFL ( )
inline

Returns the CFL number.

Definition at line 281 of file pzconslaw.h.

References fCFL.

Referenced by SetCFL(), TPZConsLawTest::SetMaterial(), TPZEulerConsLaw::SetTimeStep(), and TPZConservationLaw().

◆ ClassId()

int TPZConservationLaw::ClassId ( ) const
inlineoverridevirtual

Define the class id associated with the class.

This id has to be unique for all classes A non unique id is flagged at the startup of the program

Implements TPZSavable.

Reimplemented in TPZEulerConsLaw.

Definition at line 230 of file pzconslaw.h.

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

Referenced by TPZEulerConsLaw::ClassId().

◆ Contribute() [1/2]

virtual void TPZConservationLaw::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridepure virtual

Contributes to the residual vector and tangent matrix the volume-based quantities.

Implements TPZDiscontinuousGalerkin.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by TPZConsLawTest::Contribute(), and Solution().

◆ Contribute() [2/2]

virtual void TPZConservationLaw::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
inlineoverridevirtual

Contributes to the residual vector and tangent matrix the volume-based quantities.

Reimplemented from TPZDiscontinuousGalerkin.

Reimplemented in TPZEulerConsLaw, and TPZConsLawTest.

Definition at line 197 of file pzconslaw.h.

References TPZDiscontinuousGalerkin::Contribute(), and ContributeInterface().

◆ ContributeBC() [1/2]

virtual void TPZConservationLaw::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridepure virtual

Contributes to the residual vector the boundary conditions.

Implements TPZDiscontinuousGalerkin.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by TPZConsLawTest::ContributeBC(), and ContributeInterface().

◆ ContributeBC() [2/2]

virtual void TPZConservationLaw::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
inlineoverridevirtual

Contributes to the residual vector the boundary conditions.

Reimplemented from TPZDiscontinuousGalerkin.

Reimplemented in TPZEulerConsLaw, and TPZConsLawTest.

Definition at line 220 of file pzconslaw.h.

References TPZDiscontinuousGalerkin::ContributeBC().

◆ ContributeInterface() [1/2]

virtual void TPZConservationLaw::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridepure virtual

Contributes to the residual vector and tangent matrix the face-based quantities.

Reimplemented from TPZDiscontinuousGalerkin.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by Contribute().

◆ ContributeInterface() [2/2]

virtual void TPZConservationLaw::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
inlineoverridevirtual

Contributes to the residual vector and tangent matrix the face-based quantities.

Reimplemented from TPZDiscontinuousGalerkin.

Reimplemented in TPZEulerConsLaw.

Definition at line 208 of file pzconslaw.h.

References bc, ContributeBC(), and TPZDiscontinuousGalerkin::ContributeInterface().

◆ Dimension()

int TPZConservationLaw::Dimension ( ) const
inlineoverridevirtual

◆ Gamma()

REAL TPZConservationLaw::Gamma ( )
inline

Returns the value of Gamma (constant of gas)

Definition at line 297 of file pzconslaw.h.

References fGamma.

Referenced by TPZFlowCompMesh::MaxVelocityOfMesh(), and TPZConservationLaw().

◆ Name()

virtual std::string TPZConservationLaw::Name ( )
overridepure virtual

Returns the material name.

Reimplemented from TPZDiscontinuousGalerkin.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by Print(), and TPZConservationLaw().

◆ NFluxes()

int TPZConservationLaw::NFluxes ( )
inlineoverridevirtual

Returns the number of fluxes associated to this material.

Reimplemented from TPZMaterial.

Reimplemented in TPZEulerConsLaw, and TPZConsLawTest.

Definition at line 312 of file pzconslaw.h.

Referenced by TPZConservationLaw().

◆ NSolutionVariables()

virtual int TPZConservationLaw::NSolutionVariables ( int  var)
overridepure virtual

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.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by TPZConservationLaw().

◆ NStateVariables()

virtual int TPZConservationLaw::NStateVariables ( ) const
overridepure virtual

Number of state variables according to the dimension.

Implements TPZMaterial.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by TPZFlowCompMesh::MaxVelocityOfMesh(), and TPZConservationLaw().

◆ Pressure()

virtual STATE TPZConservationLaw::Pressure ( TPZVec< STATE > &  U)
pure virtual

Thermodynamic pressure determined by the law of an ideal gas.

Parameters
[in]Uvector of state variables (sol)

Implemented in TPZEulerConsLaw.

Referenced by TPZFlowCompMesh::MaxVelocityOfMesh(), and TPZConservationLaw().

◆ Print()

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

Prints the state of internal variables.

Parameters
outOutput to print the information of the current object

Reimplemented from TPZMaterial.

Reimplemented in TPZEulerConsLaw, and TPZConsLawTest.

Definition at line 49 of file pzconslaw.cpp.

References Advanced_CT, fCFL, fContributionTime, fDim, fGamma, fTimeStep, Last_CT, Name(), None_CT, and TPZMaterial::Print().

Referenced by TPZEulerConsLaw::Print(), and TPZConservationLaw().

◆ Read()

void TPZConservationLaw::Read ( TPZStream buf,
void *  context 
)
overridevirtual

Read the element data from a stream.

Reimplemented from TPZSavable.

Reimplemented in TPZEulerConsLaw.

Definition at line 83 of file pzconslaw.cpp.

References fCFL, fContributionTime, fDim, fGamma, fResidualType, fTimeStep, Last_CT, TPZStream::Read(), TPZMaterial::Read(), and Residual_RT.

Referenced by ClassId(), and TPZEulerConsLaw::Read().

◆ SetCFL()

void TPZConservationLaw::SetCFL ( REAL  CFL)
inline

Sets the CFL number.

Parameters
[in]CFLValue of the CFL condition

Definition at line 286 of file pzconslaw.h.

References CFL(), and fCFL.

Referenced by TPZConservationLaw().

◆ SetContributionTime()

void TPZConservationLaw::SetContributionTime ( TPZContributeTime  time)
inline

Sets whether the contribution is advanced or referring to the last state.

Definition at line 317 of file pzconslaw.h.

References fContributionTime.

Referenced by TPZConservationLaw().

◆ SetGamma()

void TPZConservationLaw::SetGamma ( int  gamma)
inline

Sets the value of Gamma (constant of gas)

Parameters
[in]gammaGamma value to Euler equation.

Definition at line 292 of file pzconslaw.h.

References fGamma, and gamma().

Referenced by TPZConservationLaw().

◆ SetResidualType()

void TPZConservationLaw::SetResidualType ( TPZResidualType  type)
inline

Residual_RT for calculations and Flux_RT for convergence check.

Definition at line 323 of file pzconslaw.h.

References fResidualType.

Referenced by TPZConservationLaw().

◆ SetTimeStep() [1/2]

void TPZConservationLaw::SetTimeStep ( REAL  timeStep)
inline

Sets the time step used for time integration.

Parameters
[in]timeStepTime step (dt)

Definition at line 302 of file pzconslaw.h.

References fTimeStep.

Referenced by TPZFlowCompMesh::ComputeTimeStep(), TPZNonLinMultGridAnalysis::OneGridAlgorithm(), TPZNonLinMultGridAnalysis::SetDeltaTime(), TPZEulerConsLaw::SetTimeStep(), and TPZConservationLaw().

◆ SetTimeStep() [2/2]

virtual REAL TPZConservationLaw::SetTimeStep ( REAL  maxveloc,
REAL  deltax,
int  degree 
)
pure virtual

Sets the time step used for time integration.

Returns
Returns the resultant time step.
Parameters
[in]maxvelocMaximal speed of flow inside the cell
[in]deltaxGreatest dimension
[in]degreeInterpolation degree

Implemented in TPZEulerConsLaw.

◆ Solution() [1/2]

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

Reimplemented from TPZMaterial.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by TPZEulerConsLaw::Solution(), and TPZConservationLaw().

◆ Solution() [2/2]

virtual void TPZConservationLaw::Solution ( TPZMaterialData data,
int  var,
TPZVec< STATE > &  Solout 
)
inlineoverridevirtual

Returns the solution associated with the var index based on the finite element approximation.

Parameters
[in]dataMaterial data to compute the solution.
[in]varNumber of the variable wished
[out]SoloutVector with the computed solution values

Reimplemented from TPZMaterial.

Reimplemented in TPZEulerConsLaw, and TPZConsLawTest.

Definition at line 181 of file pzconslaw.h.

References Contribute(), and TPZMaterial::Solution().

◆ TimeStep()

REAL TPZConservationLaw::TimeStep ( )
inline

◆ VariableIndex()

virtual int TPZConservationLaw::VariableIndex ( const std::string &  name)
overridepure virtual

Returns the relative index of a variable according to its name.

Parameters
[in]nameName of the variable wished.

Reimplemented from TPZMaterial.

Implemented in TPZEulerConsLaw, and TPZConsLawTest.

Referenced by TPZConservationLaw().

◆ Write()

void TPZConservationLaw::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Save the element data to a stream.

Reimplemented from TPZSavable.

Reimplemented in TPZEulerConsLaw.

Definition at line 74 of file pzconslaw.cpp.

References fCFL, fDim, fGamma, fTimeStep, TPZStream::Write(), and TPZMaterial::Write().

Referenced by ClassId(), and TPZEulerConsLaw::Write().

Member Data Documentation

◆ fCFL

REAL TPZConservationLaw::fCFL
protected

CFL number.

Definition at line 249 of file pzconslaw.h.

Referenced by CFL(), Print(), Read(), SetCFL(), TPZEulerConsLaw::SetTimeStep(), and Write().

◆ fContributionTime

TPZContributeTime TPZConservationLaw::fContributionTime
protected

Variable indicating the context of the solution.

If advanced, then the implicit terms are to be contributed. If last, then the explicit.

Definition at line 261 of file pzconslaw.h.

Referenced by TPZEulerConsLaw::Contribute(), TPZEulerConsLaw::ContributeBCInterface(), TPZEulerConsLaw::ContributeInterface(), Print(), Read(), and SetContributionTime().

◆ fDim

int TPZConservationLaw::fDim
protected

◆ fGamma

REAL TPZConservationLaw::fGamma
protected

◆ fResidualType

TPZResidualType TPZConservationLaw::fResidualType
protected

Variable to indicate the type of residual to be computed by Assemble.

A Flux Evaluation type is interesting for residual evaluation, and a complete residual for the global invertion.

Definition at line 268 of file pzconslaw.h.

Referenced by TPZEulerConsLaw::ContributeAdv(), TPZEulerConsLaw::ContributeLast(), Read(), SetResidualType(), TimeStep(), and TPZConservationLaw().

◆ fTimeStep

REAL TPZConservationLaw::fTimeStep
protected

Time step used for time integration.

Definition at line 246 of file pzconslaw.h.

Referenced by Print(), Read(), SetTimeStep(), TimeStep(), TPZConservationLaw(), and Write().


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