NeoPZ
|
This class implements a linear convection equation using a burger flux instead of the linear flux. More...
#include <pzburger.h>
Public Types | |
enum | EStabilizationScheme { ESUPG, EGRADIENT } |
Enum for stabilization scheme into of the element. More... | |
Public Member Functions | |
TPZBurger (int nummat, int dim) | |
Constructor with id of material and dimension of the space. More... | |
TPZBurger (const TPZBurger &cp) | |
Copy constructor. More... | |
virtual | ~TPZBurger () |
Destructor. More... | |
bool | IsReferred () |
void | SetReferred (bool Is) |
int | ClassId () const override |
Unique identifier for serialization purposes. More... | |
Contribute methods | |
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... | |
void | ContributeGradStab (TPZVec< REAL > &x, TPZFMatrix< REAL > &jacinv, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol, REAL weight, TPZFMatrix< REAL > &axes, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
void | ContributeSUPG (TPZVec< REAL > &x, TPZFMatrix< REAL > &jacinv, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol, REAL weight, TPZFMatrix< REAL > &axes, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
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 | 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 | ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
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 | 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 | 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... | |
Public Member Functions inherited from TPZMatPoisson3dReferred | |
TPZMatPoisson3dReferred (int nummat, int dim) | |
virtual | ~TPZMatPoisson3dReferred () |
TPZMatPoisson3dReferred (const TPZMatPoisson3dReferred ©) | |
virtual TPZMaterial * | NewMaterial () override |
To create another material of the same type. More... | |
virtual int | NStateVariables () const override |
Returns the number of state variables associated with the material. More... | |
void | SetAlpha (REAL alpha) |
REAL | GetAlpha () |
Public Member Functions inherited from TPZMatPoisson3d | |
void | SetNoPenalty () |
Defines no penalty terms in ContributeInterface. More... | |
void | SetFluxPenalty () |
Defines flux penalty terms in ContributeInterface. More... | |
void | SetSolutionPenalty () |
Defines solution penalty terms in ContributeInterface. More... | |
void | SetBothPenalty () |
Defines solution and flux penalty terms in ContributeInterface. More... | |
TPZMatPoisson3d (int nummat, int dim) | |
TPZMatPoisson3d (int matid) | |
TPZMatPoisson3d () | |
TPZMatPoisson3d (const TPZMatPoisson3d ©) | |
virtual | ~TPZMatPoisson3d () |
TPZMatPoisson3d & | operator= (const TPZMatPoisson3d ©) |
void | SetSymmetric () |
Set material elliptic term as the global element method, i.e. the symmetrical formulation. More... | |
void | SetTrueFShapeHdiv () |
void | SetNeumannProblem () |
void | SetNonSymmetric () |
Set material elliptic term as the Baumann's formulation, i.e. the non-symmetrical formulation. More... | |
bool | IsSymetric () |
virtual void | FillDataRequirements (TPZMaterialData &data) override |
Fill material data parameter with necessary requirements for the. More... | |
virtual void | FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data) override |
This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More... | |
int | Dimension () const override |
Returns the integrable dimension of the material. More... | |
virtual void | SetParameters (STATE diff, REAL conv, TPZVec< REAL > &convdir) |
void | GetParameters (STATE &diff, REAL &conv, TPZVec< REAL > &convdir) |
void | SetDimension (int dim) |
void | SetInternalFlux (STATE flux) |
void | SetSD (STATE sd) |
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 |
virtual int | NSolutionVariables (int var) override |
Returns the number of variables associated with the variable indexed by var. More... | |
virtual int | NFluxes () override |
Returns the number of components which form the flux function. More... | |
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 | Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux) override |
Computes the value of the flux function to be used by ZZ error estimator. More... | |
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 (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override |
void | ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) override |
virtual int | NEvalErrors () override |
Returns the number of norm errors. Default is 3: energy, L2 and H1. More... | |
virtual REAL | ComputeSquareResidual (TPZVec< REAL > &X, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol) override |
Compute square of residual of the differential equation at one integration point. More... | |
void | InterfaceErrors (TPZVec< REAL > &, TPZVec< STATE > &leftu, TPZFMatrix< STATE > &leftdudx, TPZVec< STATE > &rightu, TPZFMatrix< STATE > &rightdudx, TPZVec< STATE > &, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values, TPZVec< STATE > normal, STATE elsize) |
virtual void | BCInterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZBndCond &bc, TPZSolVec &jump) override |
Computes interface jump from element to Dirichlet boundary condition. More... | |
virtual int | IsInterfaceConservative () override |
Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces. More... | |
virtual void | Write (TPZStream &buf, int withclassid) const override |
Saves the element data to a stream. More... | |
virtual void | Read (TPZStream &buf, void *context) override |
Reads the element data from a stream. More... | |
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 | 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 | ContributeBCHDiv (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) |
virtual void | ContributeHDiv (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
Compute the contribution at an integration point to the stiffness matrix of the HDiv formulation. More... | |
virtual void | LocalNeumanContribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
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 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 void | InterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump) |
Computes interface jump = leftu - rightu. 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 (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override |
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 > &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... | |
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... | |
TPZMaterial & | operator= (const TPZMaterial ©) |
operator = More... | |
virtual | ~TPZMaterial () |
Default destructor. 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 TPZBndCond * | CreateBC (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 | 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 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, 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... | |
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 | |
Public Attributes | |
REAL | fSolRef |
Public Attributes inherited from TPZMatPoisson3d | |
REAL | fPenaltyConstant |
Constant multiplyer of penalty term, when required is set. More... | |
bool | fNeumann |
Static Public Attributes | |
static int | gStabilizationScheme |
Static Public Attributes inherited from TPZMatPoisson3d | |
static STATE | gAlfa |
Using in InterfaceErrors. More... | |
Static Public Attributes inherited from TPZMaterial | |
static REAL | gBigNumber |
Big number to penalization method, used for Dirichlet conditions. More... | |
Protected Attributes | |
bool | fIsReferred |
Protected Attributes inherited from TPZMatPoisson3dReferred | |
REAL | falpha |
Protected Attributes inherited from TPZMatPoisson3d | |
STATE | fXf |
Forcing function value. More... | |
int | fDim |
Problem dimension. More... | |
STATE | fK |
Coeficient which multiplies the Laplacian operator. More... | |
REAL | fC |
Variable which multiplies the convection term of the equation. More... | |
REAL | fConvDir [3] |
Direction of the convection operator. More... | |
REAL | fSymmetry |
Symmetry coefficient of elliptic term. More... | |
STATE | fSD |
Multiplication value for the streamline diffusion term. More... | |
EPenaltyType | fPenaltyType |
Penalty term definition. More... | |
bool | fShapeHdiv |
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... | |
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 TPZSavable * | CreateInstance (const int &classId) |
Protected Types inherited from TPZMatPoisson3d | |
enum | EPenaltyType { ENoPenalty, EFluxPenalty, ESolutionPenalty, EBoth } |
Enumerate for penalty term definitions. More... | |
Protected Member Functions inherited from TPZMatPoisson3dReferred | |
void | SetConvectionTerm (TPZFMatrix< STATE > &dsol, TPZFMatrix< REAL > &axes) |
Sets convection term. More... | |
void | SetConvectionTermInterface (TPZFMatrix< STATE > &dsolL, TPZFMatrix< STATE > &dsolR) |
Sets convection term for ContributeInterface methods. More... | |
Protected Member Functions inherited from TPZMatPoisson3d | |
virtual void | Solution (TPZVec< TPZMaterialData > &datavec, int var, TPZVec< STATE > &Solout) override |
Returns the solution associated with the var index based on the finite element approximation. More... | |
virtual void | FillDataRequirements (TPZVec< TPZMaterialData > &datavec) override |
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 | Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override |
Protected Member Functions inherited from TPZMaterial |
This class implements a linear convection equation using a burger flux instead of the linear flux.
Definition at line 22 of file pzburger.h.
Enum for stabilization scheme into of the element.
Enumerator | |
---|---|
ESUPG | |
EGRADIENT |
Definition at line 26 of file pzburger.h.
TPZBurger::TPZBurger | ( | int | nummat, |
int | dim | ||
) |
Constructor with id of material and dimension of the space.
Definition at line 13 of file pzburger.cpp.
References ESUPG, fIsReferred, fSolRef, and gStabilizationScheme.
TPZBurger::TPZBurger | ( | const TPZBurger & | cp | ) |
|
virtual |
Destructor.
Definition at line 26 of file pzburger.cpp.
|
overridevirtual |
Unique identifier for serialization purposes.
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 524 of file pzburger.cpp.
References TPZMatPoisson3dReferred::ClassId(), and Hash().
Referenced by ContributeBCInterface().
|
inlineoverridevirtual |
It computes a contribution to the stiffness matrix and load vector at one integration point.
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 |
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 45 of file pzburger.h.
References TPZMaterialData::axes, ContributeGradStab(), ContributeSUPG(), DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, EGRADIENT, ESUPG, gStabilizationScheme, TPZMaterialData::jacinv, TPZMaterialData::phi, TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.
|
inlineoverridevirtual |
It computes a contribution to the residual vector at one integration point.
data | [in] stores all input data |
weight | [in] is the weight of the integration rule |
ef | [out] is the residual vector |
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 62 of file pzburger.h.
References bc, TPZMatPoisson3dReferred::Contribute(), ContributeBC(), ContributeBCInterface(), ContributeGradStab(), ContributeInterface(), and ContributeSUPG().
|
overridevirtual |
It computes a contribution to the stiffness matrix and load vector at one BC integration point.
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 |
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 183 of file pzburger.cpp.
References TPZMaterialData::axes, DebugStop, TPZMatPoisson3d::fC, TPZMatPoisson3d::fConvDir, TPZMatPoisson3d::fDim, fSolRef, TPZMaterial::gBigNumber, TPZMatPoisson3d::IsSymetric(), TPZMaterialData::phi, PZError, TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, TPZBndCond::Type(), TPZBndCond::Val2(), and TPZMatrix< TVar >::VerifySymmetry().
Referenced by Contribute().
|
inlineoverridevirtual |
It computes a contribution to the stiffness matrix and load vector at one BC integration point.
data | [in] stores all input data |
weight | [in] is the weight of the integration rule |
ef | [out] is the load vector |
bc | [in] is the boundary condition material |
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 91 of file pzburger.h.
References TPZMatPoisson3dReferred::ContributeBC().
|
overridevirtual |
Termos de penalidade.
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 425 of file pzburger.cpp.
References DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, TPZMatPoisson3d::fC, TPZMatPoisson3d::fConvDir, TPZMatPoisson3d::fDim, TPZMatPoisson3d::fK, fSolRef, TPZMatPoisson3d::fSymmetry, IsReferred(), TPZMatPoisson3d::IsSymetric(), TPZMaterialData::normal, TPZMaterialData::phi, PZError, TPZMatrix< TVar >::Rows(), TPZMatPoisson3dReferred::SetConvectionTermInterface(), TPZVec< T >::size(), TPZMaterialData::sol, TPZBndCond::Type(), TPZBndCond::Val2(), and TPZMatrix< TVar >::VerifySymmetry().
Referenced by Contribute().
|
inlineoverridevirtual |
It computes a contribution to residual vector at one BC integration point.
data | [in] |
dataleft | [in] |
weight | [in] |
ef | [out] is the load vector |
bc | [in] is the boundary condition object |
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 106 of file pzburger.h.
References ClassId(), and TPZMatPoisson3dReferred::ContributeBCInterface().
void TPZBurger::ContributeGradStab | ( | TPZVec< REAL > & | x, |
TPZFMatrix< REAL > & | jacinv, | ||
TPZVec< STATE > & | sol, | ||
TPZFMatrix< STATE > & | dsol, | ||
REAL | weight, | ||
TPZFMatrix< REAL > & | axes, | ||
TPZFMatrix< REAL > & | phi, | ||
TPZFMatrix< REAL > & | dphi, | ||
TPZFMatrix< STATE > & | ek, | ||
TPZFMatrix< STATE > & | ef | ||
) |
Definition at line 30 of file pzburger.cpp.
References TPZFunction< TVar >::Execute(), fabs, TPZMatPoisson3d::fC, TPZMatPoisson3d::fConvDir, TPZMatPoisson3d::fDim, TPZMaterial::fForcingFunction, TPZMatPoisson3d::fK, TPZMatPoisson3d::fSD, fSolRef, TPZMatPoisson3d::fXf, IsReferred(), PZError, test::res, TPZMatrix< TVar >::Rows(), TPZMatPoisson3dReferred::SetConvectionTerm(), and TPZMatrix< TVar >::VerifySymmetry().
Referenced by Contribute().
|
overridevirtual |
It computes a contribution to stiffness matrix and load vector at one integration point.
data | [in] |
dataleft | [in] |
dataright | [in] |
weight | [in] |
ek | [out] is the stiffness matrix |
ef | [out] is the load vector |
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 266 of file pzburger.cpp.
References DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, TPZMatPoisson3d::fC, TPZMatPoisson3d::fConvDir, TPZMatPoisson3d::fDim, TPZMatPoisson3d::fK, fSolRef, TPZMatPoisson3d::fSymmetry, IsReferred(), TPZMatPoisson3d::IsSymetric(), TPZMaterialData::normal, TPZMaterialData::phi, TPZMatrix< TVar >::Rows(), TPZMatPoisson3dReferred::SetConvectionTermInterface(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZMatrix< TVar >::VerifySymmetry().
Referenced by Contribute().
|
inlineoverridevirtual |
It computes a contribution to residual vector at one integration point.
data | [in] |
dataleft | [in] |
dataright | [in] |
weight | [in] |
ef | [out] is the load vector |
Reimplemented from TPZMatPoisson3dReferred.
Definition at line 99 of file pzburger.h.
References TPZMatPoisson3dReferred::ContributeInterface().
void TPZBurger::ContributeSUPG | ( | TPZVec< REAL > & | x, |
TPZFMatrix< REAL > & | jacinv, | ||
TPZVec< STATE > & | sol, | ||
TPZFMatrix< STATE > & | dsol, | ||
REAL | weight, | ||
TPZFMatrix< REAL > & | axes, | ||
TPZFMatrix< REAL > & | phi, | ||
TPZFMatrix< REAL > & | dphi, | ||
TPZFMatrix< STATE > & | ek, | ||
TPZFMatrix< STATE > & | ef | ||
) |
Definition at line 106 of file pzburger.cpp.
References TPZFunction< TVar >::Execute(), fabs, TPZMatPoisson3d::fC, TPZMatPoisson3d::fConvDir, TPZMatPoisson3d::fDim, TPZMaterial::fForcingFunction, TPZMatPoisson3d::fK, TPZMatPoisson3d::fSD, fSolRef, TPZMatPoisson3d::fXf, IsReferred(), PZError, test::res, TPZMatrix< TVar >::Rows(), TPZMatPoisson3dReferred::SetConvectionTerm(), sqrt, and TPZMatrix< TVar >::VerifySymmetry().
Referenced by Contribute().
|
inline |
Definition at line 36 of file pzburger.h.
References fIsReferred.
Referenced by ContributeBCInterface(), ContributeGradStab(), ContributeInterface(), and ContributeSUPG().
|
inline |
Definition at line 38 of file pzburger.h.
References fIsReferred.
|
protected |
Definition at line 119 of file pzburger.h.
Referenced by IsReferred(), SetReferred(), and TPZBurger().
REAL TPZBurger::fSolRef |
Definition at line 40 of file pzburger.h.
Referenced by ContributeBC(), ContributeBCInterface(), ContributeGradStab(), ContributeInterface(), ContributeSUPG(), and TPZBurger().
|
static |
Definition at line 28 of file pzburger.h.
Referenced by Contribute(), and TPZBurger().