NeoPZ
|
#include <TPZMatLaplacian.h>
Public Member Functions | |
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... | |
TPZMatLaplacian (int matid, int dim) | |
TPZMatLaplacian (int matid) | |
TPZMatLaplacian () | |
TPZMatLaplacian (const TPZMatLaplacian ©) | |
virtual | ~TPZMatLaplacian () |
TPZMatLaplacian & | operator= (const TPZMatLaplacian ©) |
void | SetSymmetric () |
Set material elliptic term as the global element method, i.e. the symmetrical formulation. More... | |
void | SetNonSymmetric () |
Set material elliptic term as the Baumann's formulation, i.e. the non-symmetrical formulation. More... | |
bool | IsSymetric () |
virtual TPZMaterial * | NewMaterial () override |
To create another material of the same type. More... | |
virtual void | FillDataRequirements (TPZMaterialData &data) override |
Fill material data parameter with necessary requirements for the. More... | |
virtual void | FillDataRequirementsInterface (TPZMaterialData &data) override |
Fill material data parameter with necessary requirements for the ContributeInterface method. 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... | |
virtual int | Dimension () const override |
Returns the integrable dimension of the material. More... | |
virtual int | NStateVariables () const override |
Returns the number of state variables associated with the material. More... | |
void | SetParameters (STATE diff, STATE f) |
Set a uniform diffusion constant and external flux. More... | |
void | GetParameters (STATE &diff, STATE &f) const |
Return the values of constant diffusion and external flux. More... | |
void | SetPermeability (REAL perm) |
void | SetValPenaltyConstant (REAL penalty) |
void | SetPermeabilityFunction (TPZAutoPointer< TPZFunction< STATE > > fp) |
void | SetDimension (int dim) |
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 | 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 | 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... | |
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 int | ClassId () const override |
Unique identifier for serialization purposes. 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... | |
Contribute methods (weak formulation) | |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override |
It computes a contribution to the stiffness matrix and load vector at one integration point. More... | |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override |
It computes a contribution to the residual vector at one integration point. More... | |
virtual void | 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 | 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 | 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 | 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 | ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
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... | |
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 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 | 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 > &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 > &ef, TPZBndCond &bc) override |
It computes a contribution to the stiffness matrix and load vector at one BC integration point. More... | |
virtual void | ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More... | |
virtual void | ContributeInterface (TPZVec< TPZMaterialData > &datavec, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
virtual void | ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
Computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More... | |
virtual void | ContributeInterface (TPZMaterialData &data, 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, 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... | |
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 (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, 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... | |
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 | fPenaltyConstant |
Constant multiplier of penalty term, when required is set. More... | |
Protected Types | |
enum | EPenaltyType { ENoPenalty, EFluxPenalty, ESolutionPenalty, EBoth } |
Enumerate for penalty term definitions. More... | |
Protected Member Functions | |
virtual void | Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override |
Protected Member Functions inherited from TPZMaterial |
Protected Attributes | |
STATE | fXf |
Forcing function value. More... | |
int | fDim |
Problem dimension. More... | |
STATE | fK |
Coeficient which multiplies the Laplacian operator. More... | |
TPZFNMatrix< 9, STATE > | fTensorK |
Tensor de permeabilidade. More... | |
TPZFNMatrix< 9, STATE > | fInvK |
REAL | fSymmetry |
Symmetry coefficient of elliptic term. More... | |
EPenaltyType | fPenaltyType |
Penalty term definition. More... | |
TPZAutoPointer< TPZFunction< STATE > > | fPermeabilityFunction |
Pointer to forcing function, it is the Permeability and its inverse. 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... | |
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 |
Enumerate for penalty term definitions.
Enumerator | |
---|---|
ENoPenalty | |
EFluxPenalty | |
ESolutionPenalty | |
EBoth |
Definition at line 44 of file TPZMatLaplacian.h.
TPZMatLaplacian::TPZMatLaplacian | ( | int | matid, |
int | dim | ||
) |
Definition at line 27 of file TPZMatLaplacian.cpp.
References fInvK, fK, fPenaltyConstant, fTensorK, SetNonSymmetric(), and SetNoPenalty().
|
inline |
Definition at line 71 of file TPZMatLaplacian.h.
References operator=(), TPZMatLaplacian(), and ~TPZMatLaplacian().
TPZMatLaplacian::TPZMatLaplacian | ( | ) |
Definition at line 40 of file TPZMatLaplacian.cpp.
References fK, fPenaltyConstant, SetNonSymmetric(), and SetNoPenalty().
Referenced by NewMaterial(), SetBothPenalty(), and TPZMatLaplacian().
TPZMatLaplacian::TPZMatLaplacian | ( | const TPZMatLaplacian & | copy | ) |
Definition at line 48 of file TPZMatLaplacian.cpp.
References operator=().
|
virtual |
Definition at line 84 of file TPZMatLaplacian.cpp.
Referenced by TPZMatLaplacian().
|
overridevirtual |
Computes interface jump from element to Dirichlet boundary condition.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 782 of file TPZMatLaplacian.cpp.
References test::f, TPZVec< T >::Fill(), TPZManVector< T, NumExtAlloc >::Resize(), TPZVec< T >::size(), TPZBndCond::Type(), and TPZBndCond::Val2().
Referenced by NEvalErrors().
|
overridevirtual |
Unique identifier for serialization purposes.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1156 of file TPZMatLaplacian.cpp.
References TPZDiscontinuousGalerkin::ClassId(), and Hash().
Referenced by IsInterfaceConservative().
|
overridevirtual |
Compute square of residual of the differential equation at one integration point.
X | is the point coordinate (x,y,z) |
sol | is the solution vector |
dsol | is the solution derivative with respect to x,y,z as computed in TPZShapeDisc::Shape2DFull |
Reimplemented from TPZMaterial.
Definition at line 1117 of file TPZMatLaplacian.cpp.
References abs(), Dimension(), TPZFunction< TVar >::Execute(), TPZMaterial::fForcingFunction, fK, fXf, and test::res.
Referenced by NEvalErrors().
|
overridevirtual |
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 TPZDiscontinuousGalerkin.
Definition at line 101 of file TPZMatLaplacian.cpp.
References ContributeHDiv(), TPZMaterialData::dphix, TPZFunction< TVar >::Execute(), fDim, TPZMaterial::fForcingFunction, fK, fPermeabilityFunction, fXf, IsSymetric(), TPZMaterialData::numberdualfunctions, TPZMaterialData::phi, test::res, TPZMatrix< TVar >::Rows(), TPZMatrix< TVar >::VerifySymmetry(), and TPZMaterialData::x.
Referenced by Name().
|
overridevirtual |
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 TPZDiscontinuousGalerkin.
Definition at line 155 of file TPZMatLaplacian.cpp.
References DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, TPZFunction< TVar >::Execute(), fDim, TPZMaterial::fForcingFunction, fK, fXf, TPZMaterialData::numberdualfunctions, TPZMaterialData::phi, test::res, TPZMatrix< TVar >::Rows(), and TPZMaterialData::x.
|
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 TPZDiscontinuousGalerkin.
Definition at line 200 of file TPZMatLaplacian.h.
References bc, TPZDiscontinuousGalerkin::Contribute(), ContributeBC(), ContributeBCHDiv(), ContributeBCInterface(), ContributeHDiv(), ContributeInterface(), NSolutionVariables(), and VariableIndex().
|
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 |
Implements TPZDiscontinuousGalerkin.
Definition at line 321 of file TPZMatLaplacian.cpp.
References ContributeBCHDiv(), TPZMaterialData::EVecandShape, TPZMaterialData::EVecShape, TPZFunction< TVar >::Execute(), TPZMaterial::ForcingFunction(), TPZMaterialData::fShapeType, TPZMaterial::gBigNumber, TPZMaterial::HasForcingFunction(), IsSymetric(), TPZMaterialData::phi, test::res, TPZMatrix< TVar >::Rows(), TPZBndCond::Type(), TPZBndCond::Val1(), TPZBndCond::Val2(), TPZMatrix< TVar >::VerifySymmetry(), and TPZMaterialData::x.
Referenced by Contribute(), and ContributeBC().
|
overridevirtual |
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 TPZDiscontinuousGalerkin.
Definition at line 316 of file TPZMatLaplacian.cpp.
References ContributeBC().
|
virtual |
Definition at line 260 of file TPZMatLaplacian.cpp.
References TPZFunction< TVar >::Execute(), TPZMaterial::ForcingFunction(), TPZMaterial::gBigNumber, TPZMaterial::HasForcingFunction(), IsSymetric(), TPZMaterialData::phi, TPZMatrix< TVar >::Rows(), TPZBndCond::Type(), TPZBndCond::Val1(), TPZBndCond::Val2(), TPZMatrix< TVar >::VerifySymmetry(), and TPZMaterialData::x.
Referenced by Contribute(), and ContributeBC().
|
overridevirtual |
Termos de penalidade.
Implements TPZDiscontinuousGalerkin.
Definition at line 1004 of file TPZMatLaplacian.cpp.
References abs(), TPZMaterialData::dphix, EBoth, ESolutionPenalty, TPZFunction< TVar >::Execute(), fDim, fK, TPZMaterial::ForcingFunction(), fPenaltyConstant, fPenaltyType, fSymmetry, TPZMaterial::HasForcingFunction(), TPZMaterialData::HSize, IsSymetric(), TPZMaterialData::normal, TPZMaterialData::p, TPZMaterialData::phi, PZError, test::res, TPZMatrix< TVar >::Rows(), TPZBndCond::Type(), TPZBndCond::Val2(), TPZMatrix< TVar >::VerifySymmetry(), and TPZMaterialData::x.
Referenced by Contribute().
|
virtual |
Compute the contribution at an integration point to the stiffness matrix of the HDiv formulation.
monta a matriz |A B^T | = |0 | |B 0 | |f |
Definition at line 193 of file TPZMatLaplacian.cpp.
References TPZMaterialData::axes, TPZMaterialData::dphix, TPZFunction< TVar >::Execute(), fDim, TPZMaterial::fForcingFunction, fK, TPZMaterialData::fNormalVec, TPZMaterialData::fVecShapeIndex, fXf, TPZMatrix< TVar >::Multiply(), TPZVec< T >::NElements(), TPZMaterialData::numberdualfunctions, TPZMaterialData::phi, test::res, TPZMatrix< TVar >::Rows(), and TPZMaterialData::x.
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 TPZDiscontinuousGalerkin.
Definition at line 797 of file TPZMatLaplacian.cpp.
References abs(), TPZMaterialData::axes, TPZAxesTools< TVar >::Axes2XYZ(), TPZMaterialData::dphix, EBoth, EFluxPenalty, ESolutionPenalty, fDim, fK, fPenaltyConstant, fPenaltyType, fSymmetry, TPZMaterialData::HSize, IsSymetric(), TPZMaterialData::normal, TPZMaterialData::p, TPZMaterialData::phi, TPZMatrix< TVar >::Rows(), and TPZMatrix< TVar >::VerifySymmetry().
Referenced by Contribute().
|
inlineoverridevirtual |
Returns the integrable dimension of the material.
Implements TPZMaterial.
Definition at line 134 of file TPZMatLaplacian.h.
References test::f, fDim, NStateVariables(), and SetParameters().
Referenced by ComputeSquareResidual().
|
overridevirtual |
Computes the error due to the difference between the interpolated flux
and the flux computed based on the derivative of the solution.
L2 norm
semi norma de H1
H1 norm
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 738 of file TPZMatLaplacian.cpp.
References TPZAxesTools< TVar >::Axes2XYZ(), TPZFunction< TVar >::Execute(), fDim, TPZVec< T >::Fill(), fInvK, fPermeabilityFunction, fTensorK, TPZVec< T >::Resize(), TPZMatrix< TVar >::Rows(), TPZExtractVal::val(), and val().
Referenced by Solution().
|
overridevirtual |
Reimplemented from TPZMaterial.
Definition at line 667 of file TPZMatLaplacian.cpp.
References abs(), TPZFunction< TVar >::Execute(), fDim, fK, fPermeabilityFunction, LOGPZ_DEBUG, TPZMaterialData::numberdualfunctions, TPZMatrix< TVar >::Rows(), Solution(), and TPZMaterialData::x.
Referenced by Solution().
|
inlineoverridevirtual |
This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition.
Reimplemented from TPZMaterial.
Definition at line 122 of file TPZMatLaplacian.h.
References TPZMaterialData::fNeedsNormal, TPZMaterialData::fNeedsSol, and TPZMaterialData::SetAllRequirements().
|
overridevirtual |
Fill material data parameter with necessary requirements for the.
Reimplemented from TPZMaterial.
Definition at line 1099 of file TPZMatLaplacian.cpp.
References TPZMaterialData::fNeedsNeighborCenter, TPZMaterialData::fNeedsNeighborSol, TPZMaterialData::fNeedsNormal, TPZMaterialData::fNeedsSol, and TPZMaterialData::SetAllRequirements().
Referenced by NewMaterial().
|
overridevirtual |
Fill material data parameter with necessary requirements for the ContributeInterface method.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1108 of file TPZMatLaplacian.cpp.
References TPZMaterialData::fNeedsHSize, TPZMaterialData::fNeedsNeighborCenter, TPZMaterialData::fNeedsNeighborSol, TPZMaterialData::fNeedsNormal, and TPZMaterialData::SetAllRequirements().
Referenced by NewMaterial().
|
overridevirtual |
Computes the value of the flux function to be used by ZZ error estimator.
Reimplemented from TPZMaterial.
Definition at line 664 of file TPZMatLaplacian.cpp.
Referenced by Solution().
|
inline |
Return the values of constant diffusion and external flux.
Definition at line 142 of file TPZMatLaplacian.h.
void TPZMatLaplacian::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 | ||
) |
Referenced by NEvalErrors().
|
inlineoverridevirtual |
Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 273 of file TPZMatLaplacian.h.
|
inline |
Definition at line 98 of file TPZMatLaplacian.h.
References PZError.
Referenced by Contribute(), ContributeBC(), ContributeBCHDiv(), ContributeBCInterface(), and ContributeInterface().
|
inlineoverridevirtual |
Returns the name of the material.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 189 of file TPZMatLaplacian.h.
References Contribute().
Referenced by Print().
|
inlineoverridevirtual |
Returns the number of norm errors. Default is 3: energy, L2 and H1.
Reimplemented from TPZMaterial.
Definition at line 248 of file TPZMatLaplacian.h.
References BCInterfaceJump(), ComputeSquareResidual(), and InterfaceErrors().
|
inlineoverridevirtual |
To create another material of the same type.
Reimplemented from TPZMaterial.
Definition at line 105 of file TPZMatLaplacian.h.
References FillDataRequirements(), FillDataRequirementsInterface(), and TPZMatLaplacian().
|
inlineoverridevirtual |
Returns the number of components which form the flux function.
Reimplemented from TPZMaterial.
Definition at line 226 of file TPZMatLaplacian.h.
References Solution().
|
overridevirtual |
Returns the number of variables associated with the variable indexed by var.
var | Index variable into the solution, is obtained by calling VariableIndex |
Reimplemented from TPZMaterial.
Definition at line 407 of file TPZMatLaplacian.cpp.
References fDim, and TPZMaterial::NSolutionVariables().
Referenced by Contribute(), and Solution().
|
overridevirtual |
Returns the number of state variables associated with the material.
Implements TPZMaterial.
Definition at line 87 of file TPZMatLaplacian.cpp.
Referenced by Dimension().
TPZMatLaplacian & TPZMatLaplacian::operator= | ( | const TPZMatLaplacian & | copy | ) |
Definition at line 54 of file TPZMatLaplacian.cpp.
References fDim, fInvK, fK, fPenaltyConstant, fPenaltyType, fPermeabilityFunction, fSymmetry, fTensorK, fXf, and TPZMaterial::operator=().
Referenced by TPZMatLaplacian().
|
overridevirtual |
Prints out the data associated with the material.
Reimplemented from TPZMaterial.
Definition at line 91 of file TPZMatLaplacian.cpp.
References fK, fPenaltyConstant, fXf, Name(), and TPZMaterial::Print().
Referenced by SetDimension().
|
overridevirtual |
Reads the element data from a stream.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1147 of file TPZMatLaplacian.cpp.
References fDim, fK, fPenaltyConstant, fSymmetry, fXf, TPZStream::Read(), and TPZDiscontinuousGalerkin::Read().
Referenced by IsInterfaceConservative().
|
inline |
Defines solution and flux penalty terms in ContributeInterface.
Definition at line 67 of file TPZMatLaplacian.h.
References EBoth, and TPZMatLaplacian().
|
inline |
Definition at line 171 of file TPZMatLaplacian.h.
References DebugStop, fInvK, fK, fTensorK, Print(), and TPZFMatrix< TVar >::Redim().
Referenced by CreatePressureMesh(), and TPZMHMixedHybridMeshControl::InsertPeriferalPressureMaterialObjects().
|
inline |
Defines flux penalty terms in ContributeInterface.
Definition at line 61 of file TPZMatLaplacian.h.
References EFluxPenalty.
|
inline |
Set material elliptic term as the Baumann's formulation, i.e. the non-symmetrical formulation.
Definition at line 94 of file TPZMatLaplacian.h.
Referenced by TPZMatLaplacian().
|
inline |
Defines no penalty terms in ContributeInterface.
Definition at line 58 of file TPZMatLaplacian.h.
References ENoPenalty.
Referenced by TPZMatLaplacian().
void TPZMatLaplacian::SetParameters | ( | STATE | diff, |
STATE | f | ||
) |
Set a uniform diffusion constant and external flux.
Definition at line 68 of file TPZMatLaplacian.cpp.
References test::f, fDim, fInvK, fK, fTensorK, fXf, and TPZFMatrix< TVar >::Zero().
Referenced by Dimension().
|
inline |
Definition at line 148 of file TPZMatLaplacian.h.
References fDim, fInvK, fTensorK, and TPZFMatrix< TVar >::Zero().
|
inline |
Definition at line 163 of file TPZMatLaplacian.h.
|
inline |
Defines solution penalty terms in ContributeInterface.
Definition at line 64 of file TPZMatLaplacian.h.
References ESolutionPenalty.
|
inline |
Set material elliptic term as the global element method, i.e. the symmetrical formulation.
Definition at line 89 of file TPZMatLaplacian.h.
Referenced by CreatePressureMesh().
|
inline |
Definition at line 158 of file TPZMatLaplacian.h.
|
overrideprotectedvirtual |
Reimplemented from TPZMaterial.
Definition at line 598 of file TPZMatLaplacian.cpp.
References TPZAxesTools< TVar >::Axes2XYZ(), fDim, fK, NSolutionVariables(), TPZVec< T >::Resize(), TPZMaterial::Solution(), sqrt, and val().
Referenced by ErrorsHdiv(), NFluxes(), and Solution().
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Definition at line 434 of file TPZMatLaplacian.cpp.
References TPZMaterialData::axes, TPZAxesTools< TVar >::Axes2XYZ(), DebugStop, TPZMaterialData::dsol, TPZFunction< TVar >::Execute(), test::f, fDim, TPZMaterial::fForcingFunctionExact, fK, fPermeabilityFunction, TPZVec< T >::NElements(), TPZMaterialData::numberdualfunctions, TPZMaterialData::p, TPZVec< T >::size(), TPZMaterialData::sol, Solution(), and TPZMaterialData::x.
|
inlineoverridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Definition at line 235 of file TPZMatLaplacian.h.
References DebugStop, Errors(), ErrorsHdiv(), Flux(), and rdt::values.
|
overridevirtual |
Returns the variable index associated with the name
Reimplemented from TPZMaterial.
Definition at line 377 of file TPZMatLaplacian.cpp.
References TPZMaterial::VariableIndex().
Referenced by Contribute().
|
overridevirtual |
Saves the element data to a stream.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1138 of file TPZMatLaplacian.cpp.
References fDim, fK, fPenaltyConstant, fSymmetry, fXf, TPZStream::Write(), and TPZDiscontinuousGalerkin::Write().
Referenced by IsInterfaceConservative().
|
protected |
Problem dimension.
Definition at line 28 of file TPZMatLaplacian.h.
Referenced by Contribute(), ContributeBCInterface(), ContributeHDiv(), ContributeInterface(), Dimension(), Errors(), ErrorsHdiv(), NSolutionVariables(), operator=(), Read(), SetParameters(), SetPermeability(), Solution(), and Write().
|
protected |
Definition at line 34 of file TPZMatLaplacian.h.
Referenced by Errors(), operator=(), SetDimension(), SetParameters(), SetPermeability(), and TPZMatLaplacian().
|
protected |
Coeficient which multiplies the Laplacian operator.
Definition at line 31 of file TPZMatLaplacian.h.
Referenced by ComputeSquareResidual(), Contribute(), ContributeBCInterface(), ContributeHDiv(), ContributeInterface(), ErrorsHdiv(), GetParameters(), operator=(), Print(), Read(), SetDimension(), SetParameters(), Solution(), TPZMatLaplacian(), and Write().
REAL TPZMatLaplacian::fPenaltyConstant |
Constant multiplier of penalty term, when required is set.
Definition at line 55 of file TPZMatLaplacian.h.
Referenced by ContributeBCInterface(), ContributeInterface(), operator=(), Print(), Read(), TPZMatLaplacian(), and Write().
|
protected |
Penalty term definition.
Definition at line 47 of file TPZMatLaplacian.h.
Referenced by ContributeBCInterface(), ContributeInterface(), and operator=().
|
protected |
Pointer to forcing function, it is the Permeability and its inverse.
Definition at line 50 of file TPZMatLaplacian.h.
Referenced by Contribute(), Errors(), ErrorsHdiv(), operator=(), and Solution().
|
protected |
Symmetry coefficient of elliptic term.
Symmetrical formulation - Global element method - has coefficient = -1.
Non-symmetrical formulation - Baumann's formulation - has coefficient = +1.
Definition at line 41 of file TPZMatLaplacian.h.
Referenced by ContributeBCInterface(), ContributeInterface(), operator=(), Read(), and Write().
|
protected |
Tensor de permeabilidade.
Definition at line 34 of file TPZMatLaplacian.h.
Referenced by Errors(), operator=(), SetDimension(), SetParameters(), SetPermeability(), and TPZMatLaplacian().
|
protected |
Forcing function value.
Definition at line 25 of file TPZMatLaplacian.h.
Referenced by ComputeSquareResidual(), Contribute(), ContributeHDiv(), GetParameters(), operator=(), Print(), Read(), SetParameters(), and Write().