NeoPZ
|
Defines the interface which material objects need to implement for discontinuous Galerkin formulations. More...
#include <pzdiscgal.h>
Public Member Functions | |
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 std::string | Name () override |
Returns the name of the material. 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 (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override=0 |
It computes a contribution to the stiffness matrix and load vector at one integration point. 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 | 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 (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override=0 |
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 > &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 | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override |
It computes a contribution to the residual vector at one integration point. 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 (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
It computes a contribution to stiffness matrix and load vector at one integration point. 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, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef) |
It computes a contribution to residual vector at one integration point. 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... | |
Save and Load methods | |
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... | |
TPZMaterial & | operator= (const TPZMaterial ©) |
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... | |
virtual int | Dimension () const =0 |
Returns the integrable dimension of the material. More... | |
int | Id () const |
void | SetId (int id) |
virtual int | NStateVariables () const =0 |
Returns the number of state variables associated with the material. More... | |
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 void | Print (std::ostream &out=std::cout) |
Prints out the data associated with the material. 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 | 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 TPZMaterial * | NewMaterial () |
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 int | VariableIndex (const std::string &name) |
Returns the variable index associated with the name. More... | |
virtual int | NSolutionVariables (int var) |
Returns the number of variables associated with the variable indexed by var. 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 | |
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) |
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 | |
virtual void | Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) |
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... | |
Defines the interface which material objects need to implement for discontinuous Galerkin formulations.
Definition at line 20 of file pzdiscgal.h.
TPZDiscontinuousGalerkin::TPZDiscontinuousGalerkin | ( | ) |
Simple constructor.
Definition at line 12 of file pzdiscgal.cpp.
TPZDiscontinuousGalerkin::TPZDiscontinuousGalerkin | ( | int | nummat | ) |
Constructor with the index of the material object within the vector.
Definition at line 14 of file pzdiscgal.cpp.
TPZDiscontinuousGalerkin::TPZDiscontinuousGalerkin | ( | const TPZDiscontinuousGalerkin & | copy | ) |
Copy constructor.
Definition at line 16 of file pzdiscgal.cpp.
|
virtual |
Destructor.
Definition at line 18 of file pzdiscgal.cpp.
|
virtual |
Computes interface jump from element to Dirichlet boundary condition. It has to reimplemented.
Reimplemented in TPZMatPoisson3d, and TPZMatLaplacian.
Definition at line 102 of file pzdiscgal.cpp.
References DebugStop, and PZError.
Referenced by TPZBndCond::InterfaceJump(), and SolutionDisc().
|
overridevirtual |
Unique identifier for serialization purposes.
Implements TPZSavable.
Reimplemented in TPZEulerConsLaw, TPZMultiphase, TPZMatPoisson3d, TPZLagrangeMultiplier, TPZMixedElasticityMaterial, TPZMatLaplacian, TPZElasticityMaterial, TPZCoupledTransportDarcy, TPZMixedPoisson, TPZMatConvectionProblem, TPZEulerEquation, TPZL2Projection, TPZElasticityAxiMaterial, TPZPostProcMat, TPZCoupledTransportDarcyBC, TPZNonLinBiharmonic, TPZTracerFlow, TPZBurger, TPZMatPoisson3dReferred, TPZNonLinearPoisson3d, TPZMatDualHybridPoisson, TPZElasticity2DHybrid, TPZBCTension, TPZBiharmonic, TPZElasticityHybridMaterial, TPZBndCondWithMem< TMEM >, and TPZMaterialCoupling.
Definition at line 110 of file pzdiscgal.cpp.
References TPZMaterial::ClassId(), and Hash().
Referenced by TPZBiharmonic::ClassId(), TPZMatDualHybridPoisson::ClassId(), TPZNonLinBiharmonic::ClassId(), TPZElasticityAxiMaterial::ClassId(), TPZPostProcMat::ClassId(), TPZL2Projection::ClassId(), TPZEulerEquation::ClassId(), TPZMatConvectionProblem::ClassId(), TPZCoupledTransportDarcy::ClassId(), TPZElasticityMaterial::ClassId(), TPZConservationLaw::ClassId(), TPZMatLaplacian::ClassId(), TPZMixedElasticityMaterial::ClassId(), TPZLagrangeMultiplier::ClassId(), TPZMatPoisson3d::ClassId(), TPZBndCond::ClassId(), TPZMultiphase::ClassId(), and Errors().
|
overridepure virtual |
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 |
Implements TPZMaterial.
Implemented in TPZEulerConsLaw, TPZBndCond, TPZMatPoisson3d, TPZMixedElasticityMaterial, TPZMatLaplacian, TPZConservationLaw, TPZEulerEquation, TPZMatConvectionProblem, TPZCoupledTransportDarcy, TPZLagrangeMultiplier, TPZBndCondWithMem< TMEM >, TPZPostProcMat, TPZElasticityAxiMaterial, TPZElasticityMaterial, TPZCoupledTransportDarcyBC, TPZTracerFlow, TPZMultiphase, TPZHybridPoisson, TPZL2Projection, TPZMatDualHybridPoisson, TPZMatPoisson3dReferred, TPZElasticityHybridMaterial, TPZNonLinBiharmonic, TPZConsLawTest, TPZBiharmonic, TPZNonLinearPoisson3d, TPZBurger, and TPZBCTension.
Referenced by TPZBiharmonic::Contribute(), TPZNonLinBiharmonic::Contribute(), TPZL2Projection::Contribute(), TPZElasticityMaterial::Contribute(), TPZCoupledTransportDarcy::Contribute(), TPZConservationLaw::Contribute(), TPZMatPoisson3d::Contribute(), TPZMatLaplacian::Contribute(), and TPZMixedElasticityMaterial::Contribute().
|
inlineoverridevirtual |
It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation.
datavec | [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 TPZMaterial.
Reimplemented in TPZBndCond, TPZMatPoisson3d, TPZMixedElasticityMaterial, TPZMatLaplacian, TPZMixedPoisson, TPZLagrangeMultiplier, TPZBndCondWithMem< TMEM >, TPZElasticityMaterial, TPZMixedPoissonParabolic, TPZTracerFlow, TPZMultiphase, and TPZElasticity2DHybrid.
Definition at line 54 of file pzdiscgal.h.
References TPZMaterial::Contribute().
|
inlineoverridevirtual |
It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation.
datavec | [in] stores all input data |
weight | [in] is the weight of the integration rule |
ef | [out] is the load vector |
Reimplemented from TPZMaterial.
Reimplemented in TPZBndCondWithMem< TMEM >, TPZMixedPoissonParabolic, TPZTracerFlow, and TPZMultiphase.
Definition at line 64 of file pzdiscgal.h.
References bc, TPZMaterial::Contribute(), and ContributeBC().
|
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 TPZMaterial.
Reimplemented in TPZBndCond, TPZEulerConsLaw, TPZMixedElasticityMaterial, TPZMatPoisson3d, TPZMatLaplacian, TPZConservationLaw, TPZEulerEquation, TPZLagrangeMultiplier, TPZCoupledTransportDarcy, TPZElasticityMaterial, TPZPostProcMat, TPZBndCondWithMem< TMEM >, TPZCoupledTransportDarcyBC, TPZMatPoisson3dReferred, TPZBCTension, TPZHybridPoisson, TPZL2Projection, TPZNonLinBiharmonic, TPZNonLinearPoisson3d, TPZBurger, TPZConsLawTest, and TPZBiharmonic.
Definition at line 76 of file pzdiscgal.h.
References TPZMaterial::Contribute().
|
overridepure virtual |
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 |
Implements TPZMaterial.
Implemented in TPZEulerConsLaw, TPZBndCond, TPZMatPoisson3d, TPZMixedElasticityMaterial, TPZConservationLaw, TPZMatLaplacian, TPZEulerEquation, TPZMatConvectionProblem, TPZElasticityMaterial, TPZLagrangeMultiplier, TPZCoupledTransportDarcy, TPZPostProcMat, TPZL2Projection, TPZBndCondWithMem< TMEM >, TPZElasticityAxiMaterial, TPZCoupledTransportDarcyBC, TPZMultiphase, TPZTracerFlow, TPZMatDualHybridPoisson, TPZBurger, TPZNonLinBiharmonic, TPZMatPoisson3dReferred, TPZConsLawTest, TPZNonLinearPoisson3d, TPZBiharmonic, and TPZElasticity2DHybrid.
Referenced by Contribute(), TPZBiharmonic::ContributeBC(), TPZNonLinBiharmonic::ContributeBC(), TPZL2Projection::ContributeBC(), TPZCoupledTransportDarcy::ContributeBC(), TPZElasticityMaterial::ContributeBC(), TPZMatPoisson3d::ContributeBC(), TPZConservationLaw::ContributeBC(), TPZMixedElasticityMaterial::ContributeBC(), and TPZEulerConsLaw::ContributeBC().
|
inlineoverridevirtual |
It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation.
datavec | [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 TPZMaterial.
Reimplemented in TPZMixedElasticityMaterial, TPZMatLaplacian, TPZMatPoisson3d, TPZMixedPoisson, TPZLagrangeMultiplier, TPZElasticityMaterial, TPZMixedPoissonParabolic, TPZTracerFlow, and TPZMultiphase.
Definition at line 72 of file pzdiscgal.h.
References TPZMaterial::ContributeBC().
|
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 TPZMaterial.
Reimplemented in TPZBndCond, TPZEulerConsLaw, TPZMatPoisson3d, TPZMixedElasticityMaterial, TPZConservationLaw, TPZElasticityMaterial, TPZLagrangeMultiplier, TPZCoupledTransportDarcy, TPZL2Projection, TPZBndCondWithMem< TMEM >, TPZCoupledTransportDarcyBC, TPZBurger, TPZMatPoisson3dReferred, TPZNonLinBiharmonic, TPZConsLawTest, TPZBiharmonic, and TPZNonLinearPoisson3d.
Definition at line 79 of file pzdiscgal.h.
References TPZMaterial::ContributeBC().
|
inlineoverridevirtual |
It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation.
datavec | [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 TPZMaterial.
Reimplemented in TPZMultiphase.
Definition at line 83 of file pzdiscgal.h.
References TPZMaterial::ContributeBC(), ContributeBCInterface(), and ContributeInterface().
|
pure virtual |
It computes a contribution to stiffness matrix and load vector at one BC integration point.
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 |
Implemented in TPZBndCond, TPZEulerConsLaw, TPZMixedElasticityMaterial, TPZMatPoisson3d, TPZLagrangeMultiplier, TPZMatLaplacian, TPZCoupledTransportDarcy, TPZEulerEquation, TPZElasticityMaterial, TPZMatConvectionProblem, TPZPostProcMat, TPZBndCondWithMem< TMEM >, TPZCoupledTransportDarcyBC, TPZNonLinBiharmonic, TPZBiharmonic, TPZElasticityAxiMaterial, TPZMultiphase, TPZTracerFlow, TPZL2Projection, TPZNonLinearPoisson3d, TPZBurger, TPZMatDualHybridPoisson, TPZMatPoisson3dReferred, and TPZElasticityHybridMaterial.
Referenced by ContributeBC(), TPZBiharmonic::ContributeBCInterface(), TPZNonLinBiharmonic::ContributeBCInterface(), ContributeBCInterface(), TPZCoupledTransportDarcy::ContributeBCInterface(), TPZMatPoisson3d::ContributeBCInterface(), and TPZBndCond::ContributeInterface().
|
virtual |
It computes a contribution to stiffness matrix and load vector at one BC integration point to multiphysics simulation.
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 |
Reimplemented in TPZLagrangeMultiplier, TPZTracerFlow, and TPZMultiphase.
Definition at line 60 of file pzdiscgal.cpp.
References ContributeBCInterface(), and TPZMatrix< TVar >::Rows().
|
virtual |
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 in TPZBndCond, TPZEulerConsLaw, TPZMixedElasticityMaterial, TPZLagrangeMultiplier, TPZMatPoisson3d, TPZCoupledTransportDarcy, TPZElasticityMaterial, TPZEulerEquation, TPZCoupledTransportDarcyBC, TPZBndCondWithMem< TMEM >, TPZNonLinBiharmonic, TPZBiharmonic, TPZBurger, TPZMultiphase, TPZMatPoisson3dReferred, TPZL2Projection, TPZNonLinearPoisson3d, and TPZTracerFlow.
Definition at line 68 of file pzdiscgal.cpp.
References ContributeBCInterface(), and TPZMatrix< TVar >::Rows().
|
virtual |
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 in TPZBndCond, TPZEulerConsLaw, TPZMatPoisson3d, TPZMixedElasticityMaterial, TPZMatLaplacian, TPZConservationLaw, TPZCoupledTransportDarcy, TPZMatConvectionProblem, TPZLagrangeMultiplier, TPZElasticityMaterial, TPZEulerEquation, TPZPostProcMat, TPZBndCondWithMem< TMEM >, TPZCoupledTransportDarcyBC, TPZNonLinBiharmonic, TPZElasticityAxiMaterial, TPZBiharmonic, TPZMultiphase, TPZTracerFlow, TPZL2Projection, TPZBurger, TPZNonLinearPoisson3d, TPZMatDualHybridPoisson, TPZMatPoisson3dReferred, TPZHybridPoisson, TPZConsLawTest, TPZElasticityHybridMaterial, and TPZMaterialCoupling.
Definition at line 30 of file pzdiscgal.cpp.
References DebugStop.
Referenced by TPZInterfaceElement::CalcResidual(), TPZMultiphysicsInterfaceElement::CalcStiff(), ContributeBC(), TPZBiharmonic::ContributeInterface(), ContributeInterface(), TPZNonLinBiharmonic::ContributeInterface(), TPZCoupledTransportDarcy::ContributeInterface(), TPZConservationLaw::ContributeInterface(), and TPZMatPoisson3d::ContributeInterface().
|
virtual |
|
virtual |
Computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation.
data | [in] |
dataleft | [in] |
dataright | [in] |
weight | [in] |
ek | [out] is the stiffness matrix |
ef | [out] is the load vector |
Reimplemented in TPZBndCond, TPZLagrangeMultiplier, TPZBndCondWithMem< TMEM >, TPZTracerFlow, and TPZMultiphase.
Definition at line 48 of file pzdiscgal.cpp.
References ContributeInterface(), and TPZMatrix< TVar >::Rows().
|
virtual |
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 in TPZBndCond, TPZEulerConsLaw, TPZMatPoisson3d, TPZMixedElasticityMaterial, TPZConservationLaw, TPZLagrangeMultiplier, TPZCoupledTransportDarcy, TPZElasticityMaterial, TPZEulerEquation, TPZBndCondWithMem< TMEM >, TPZCoupledTransportDarcyBC, TPZNonLinBiharmonic, TPZBiharmonic, TPZBurger, TPZMatPoisson3dReferred, TPZL2Projection, TPZNonLinearPoisson3d, and TPZHybridPoisson.
Definition at line 36 of file pzdiscgal.cpp.
References ContributeInterface(), and TPZMatrix< TVar >::Rows().
|
virtual |
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 in TPZLagrangeMultiplier, TPZTracerFlow, and TPZMultiphase.
Definition at line 42 of file pzdiscgal.cpp.
References ContributeInterface(), and TPZMatrix< TVar >::Rows().
|
inlinevirtual |
Reimplemented in TPZBndCond, TPZLagrangeMultiplier, and TPZBiharmonicEstimator.
Definition at line 220 of file pzdiscgal.h.
References PZError.
Referenced by TPZBndCond::ContributeInterfaceErrors().
|
inlinevirtual |
Reimplemented in TPZBndCond, TPZLagrangeMultiplier, and TPZBiharmonicEstimator.
Definition at line 212 of file pzdiscgal.h.
References PZError.
Referenced by TPZInterfaceElement::ComputeErrorFace().
|
inlineoverridevirtual |
Computes the error due to the difference between the interpolated flux
and the flux computed based on the derivative of the solution.
Reimplemented from TPZMaterial.
Reimplemented in TPZBndCond, TPZMixedElasticityMaterial, TPZMatPoisson3d, TPZMatLaplacian, TPZElasticityMaterial, TPZMatConvectionProblem, TPZCoupledTransportDarcy, TPZL2Projection, TPZElasticityAxiMaterial, TPZCoupledTransportDarcyBC, TPZBiharmonicEstimator, TPZBiharmonic, TPZNonLinBiharmonic, TPZConsLawTest, and TPZMatDualHybridPoisson.
Definition at line 228 of file pzdiscgal.h.
References ClassId(), TPZMaterial::Errors(), Read(), and Write().
Referenced by TPZMatPoisson3d::Errors().
|
overridevirtual |
Reimplemented from TPZMaterial.
Definition at line 91 of file pzdiscgal.cpp.
References TPZMaterial::Errors().
|
overridevirtual |
Reimplemented from TPZMaterial.
Reimplemented in TPZMixedElasticityMaterial, TPZMatPoisson3d, and TPZMixedPoisson.
Definition at line 96 of file pzdiscgal.cpp.
References TPZMaterial::Errors().
|
overridevirtual |
Fill material data parameter with necessary requirements for the ContributeInterface method.
Reimplemented from TPZMaterial.
Reimplemented in TPZMatLaplacian, TPZLagrangeMultiplier, TPZTracerFlow, and TPZHybridPoisson.
Definition at line 22 of file pzdiscgal.cpp.
References TPZMaterial::fLinearContext, TPZMaterialData::fNeedsNeighborSol, TPZMaterialData::fNeedsSol, and TPZMaterialData::SetAllRequirements().
Referenced by TPZInterfaceElement::InitMaterialData().
|
virtual |
return the integration order as a function of interpolation orders of the left and right elements
Definition at line 123 of file pzdiscgal.cpp.
References porder.
Referenced by TPZMultiphysicsInterfaceElement::CalcStiff(), and TPZMultiphysicsInterfaceElement::CreateIntegrationRule().
|
virtual |
Computes interface jump = leftu - rightu.
Reimplemented in TPZBndCond, and TPZLagrangeMultiplier.
Definition at line 77 of file pzdiscgal.cpp.
References TPZVec< T >::NElements(), TPZManVector< T, NumExtAlloc >::Resize(), and TPZVec< T >::size().
Referenced by TPZInterfaceElement::EvaluateInterfaceJump(), and SolutionDisc().
|
virtual |
Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces.
Reimplemented in TPZMatPoisson3d, TPZMatLaplacian, and TPZCoupledTransportDarcy.
Definition at line 73 of file pzdiscgal.cpp.
Referenced by SolutionDisc().
|
overridevirtual |
Returns the name of the material.
Reimplemented from TPZMaterial.
Reimplemented in TPZMatPoisson3d, TPZMatLaplacian, TPZMixedElasticityMaterial, TPZConservationLaw, TPZEulerEquation, TPZCoupledTransportDarcy, TPZEulerConsLaw, TPZElasticityAxiMaterial, TPZMixedPoissonParabolic, TPZElasticityMaterial, TPZMixedPoisson, TPZLagrangeMultiplier, TPZMatConvectionProblem, TPZPostProcMat, TPZMultiphase, TPZMatDualHybridPoisson, TPZTracerFlow, TPZConsLawTest, TPZElasticityHybridMaterial, TPZNonLinBiharmonic, TPZBiharmonic, TPZBndCondWithMem< TMEM >, and TPZHybridPoisson.
Definition at line 20 of file pzdiscgal.cpp.
Referenced by TPZInterfaceElement::CalcResidual(), and TPZInterfaceElement::EvaluateInterfaceJump().
|
overridevirtual |
Reads the element data from a stream.
Reimplemented from TPZSavable.
Reimplemented in TPZEulerConsLaw, TPZMatPoisson3d, TPZLagrangeMultiplier, TPZMixedElasticityMaterial, TPZMatLaplacian, TPZElasticityMaterial, TPZPostProcMat, TPZElasticityAxiMaterial, TPZTracerFlow, TPZMatDualHybridPoisson, TPZElasticity2DHybrid, and TPZBndCondWithMem< TMEM >.
Definition at line 118 of file pzdiscgal.cpp.
References TPZMaterial::Read().
Referenced by Errors(), TPZPostProcMat::Read(), TPZMatLaplacian::Read(), TPZLagrangeMultiplier::Read(), TPZMatPoisson3d::Read(), and TPZBndCond::Read().
|
inline |
Returns the solution associated with the var index based on the finite element approximation.
Definition at line 176 of file pzdiscgal.h.
References BCInterfaceJump(), InterfaceJump(), and IsInterfaceConservative().
Referenced by TPZInterfaceElement::IntegrateInterface(), TPZBiharmonic::SolutionDisc(), TPZNonLinBiharmonic::SolutionDisc(), TPZL2Projection::SolutionDisc(), TPZCoupledTransportDarcy::SolutionDisc(), TPZElasticityMaterial::SolutionDisc(), and TPZMixedElasticityMaterial::SolutionDisc().
|
overridevirtual |
Saves the element data to a stream.
Reimplemented from TPZSavable.
Reimplemented in TPZEulerConsLaw, TPZMatPoisson3d, TPZLagrangeMultiplier, TPZMixedElasticityMaterial, TPZMatLaplacian, TPZElasticityMaterial, TPZElasticityAxiMaterial, TPZPostProcMat, TPZMatDualHybridPoisson, TPZElasticity2DHybrid, and TPZBndCondWithMem< TMEM >.
Definition at line 114 of file pzdiscgal.cpp.
References TPZMaterial::Write().
Referenced by Errors(), TPZPostProcMat::Write(), TPZMatLaplacian::Write(), TPZLagrangeMultiplier::Write(), TPZMatPoisson3d::Write(), and TPZBndCond::Write().