![]() |
NeoPZ
|
This material consider exactly just laplace equation (i.e. coefficient equal to 1) More...
#include <TPZDualPoisson.h>
Public Member Functions | |
| TPZDualPoisson () | |
| default constructor More... | |
| ~TPZDualPoisson () | |
| default desconstructor More... | |
| TPZDualPoisson (int mat_id) | |
| constructor based on material id More... | |
| TPZDualPoisson (const TPZDualPoisson ©) | |
| constructor based on object copy More... | |
| TPZMaterial * | NewMaterial () override |
| return a material object from a this object More... | |
| TPZDualPoisson & | operator= (const TPZDualPoisson &other) |
| assignment operator More... | |
Material attributes | |
| int | Dimension () const override |
| return the euclidean dimension of the weak statement More... | |
| virtual int | NStateVariables () const override |
| return the number of state variables associated with each trial function More... | |
| void | Print (std::ostream &out) override |
| print all material information More... | |
| std::string | Name () override |
| print material name More... | |
| void | FillDataRequirements (TPZMaterialData &data) override |
| fill requirements for volumetric contribute methods More... | |
| void | FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data) override |
| fill requirements for bounadry contribute methods More... | |
| void | FillDataRequirements (TPZVec< TPZMaterialData > &datavec) override |
| fill requirements for volumetric contribute methods multiphsycis mesh More... | |
| void | FillBoundaryConditionDataRequirement (int type, TPZVec< TPZMaterialData > &datavec) override |
| fill requirements for boundary contribute methods multiphsycis mesh More... | |
| virtual int | ClassId () const override |
| unique class identifier More... | |
| virtual void | Write (TPZStream &buf, int withclassid) const override |
| write class in disk More... | |
| void | Read (TPZStream &buf, void *context) override |
| write class from disk More... | |
Contribute methods (weak formulation) no multiphysics mesh | |
| void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override |
| Volumetric contribute without jacobian matrix. More... | |
| void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override |
| Volumetric contribute. More... | |
| void | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
| Boundary contribute without jacobian matrix. More... | |
| void | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
| Boundary contribute. More... | |
Contribute methods (weak formulation) multiphysics mesh | |
| void | Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override |
| Volumetric contribute without jacobian matrix. More... | |
| void | Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef) override |
| Volumetric contribute. More... | |
| void | ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
| Boundary contribute without jacobian matrix. More... | |
| void | ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
| Boundary contribute. More... | |
Post-processing methods | |
| int | NEvalErrors () override |
| Number of errors being computed = { 0-> h1, 1 ->L2 primal, 2 L2 dual}. More... | |
| int | VariableIndex (const std::string &name) override |
| Variable index based on variable naming. More... | |
| int | NSolutionVariables (int var) override |
| size of the current variable (1 -> scalar, 3-> vector, 9 -> Tensor ) More... | |
| void | Solution (TPZMaterialData &data, int var, TPZVec< STATE > &Solout) override |
| Postprocess required variables. More... | |
| void | Solution (TPZVec< TPZMaterialData > &datavec, int var, TPZVec< STATE > &Solout) override |
| Postprocess required variables multiphysics. More... | |
| void | Errors (TPZVec< REAL > &x, TPZVec< STATE > &u, TPZFMatrix< STATE > &du, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &error) override |
| Compute errors, no comments!!! More... | |
| void | Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override |
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 | FillDataRequirementsInterface (TPZMaterialData &data) |
| This method defines which parameters need to be initialized in order to compute the contribution of interface elements. More... | |
| virtual void | FillDataRequirementsInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &datavec_left, TPZVec< TPZMaterialData > &datavec_right) |
| This method defines which parameters need to be initialized in order to compute the contribution of interface elements. More... | |
| int | Id () const |
| void | SetId (int id) |
| virtual int | NFluxes () |
| Returns the number of components which form the flux function. More... | |
| int | NumLoadCases () |
| returns the number of load cases for this material object More... | |
| virtual int | MinimumNumberofLoadCases () |
| returns the minimum number of load cases for this material More... | |
| void | SetNumLoadCases (int numloadcases) |
| changes the number of load cases for this material More... | |
| void | SetPostProcessIndex (int index) |
| indicates which variable should be post processed More... | |
| virtual 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 | Errors (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) |
| virtual void | ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) |
| virtual void | SetData (std::istream &data) |
| Reads data of the material from a istream (file data) More... | |
| virtual void | Clone (std::map< int, TPZMaterial * > &matvec) |
| Creates a copy of the material object and put it in the vector which is passed on. More... | |
| virtual int | FluxType () |
| To return a numerical flux type to apply over the interfaces of the elements. More... | |
| virtual void | ContributeErrors (TPZMaterialData &data, REAL weight, TPZVec< REAL > &nk, int &errorid) |
| virtual REAL | ComputeSquareResidual (TPZVec< REAL > &X, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol) |
| Computes square of residual of the differential equation at one integration point. More... | |
| virtual int | PushMemItem (int sourceIndex=-1) |
| Pushes a new entry in the context of materials with memory, returning its index at the internal storage stack. More... | |
| virtual void | FreeMemItem (int index) |
| Frees an entry in the material with memory internal history storage. More... | |
| void | SetLinearContext (bool IsLinear) |
| Sets fLinearContext attribute. More... | |
| bool | GetLinearContext () const |
| Returns fLinearContext attribute. More... | |
| int | ClassId () const override |
| Unique identifier for serialization purposes. More... | |
| void | Write (TPZStream &buf, int withclassid) const override |
| Saves the element data to a stream. More... | |
| void | Read (TPZStream &buf, void *context) override |
| Reads the element data from a stream. More... | |
| virtual void | Solution (TPZMaterialData &data, 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... | |
This material consider exactly just laplace equation (i.e. coefficient equal to 1)
Definition at line 29 of file TPZDualPoisson.h.
| TPZDualPoisson::TPZDualPoisson | ( | ) |
| TPZDualPoisson::~TPZDualPoisson | ( | ) |
default desconstructor
Definition at line 16 of file TPZDualPoisson.cpp.
| TPZDualPoisson::TPZDualPoisson | ( | int | mat_id | ) |
constructor based on material id
Definition at line 20 of file TPZDualPoisson.cpp.
| TPZDualPoisson::TPZDualPoisson | ( | const TPZDualPoisson & | copy | ) |
constructor based on object copy
Definition at line 24 of file TPZDualPoisson.cpp.
|
overridevirtual |
unique class identifier
Implements TPZSavable.
Definition at line 85 of file TPZDualPoisson.cpp.
References TPZMaterial::ClassId(), and Hash().
|
overridevirtual |
Volumetric contribute without jacobian matrix.
Volumetric contribute with jacobian matrix.
Implements TPZMaterial.
Definition at line 107 of file TPZDualPoisson.cpp.
References DebugStop.
Referenced by Contribute().
|
overridevirtual |
Volumetric contribute.
Reimplemented from TPZMaterial.
Definition at line 115 of file TPZDualPoisson.cpp.
References DebugStop.
|
overridevirtual |
Volumetric contribute without jacobian matrix.
Volumetric contribute with jacobian matrix.
Reimplemented from TPZMaterial.
Definition at line 146 of file TPZDualPoisson.cpp.
References TPZFunction< TVar >::Execute(), test::f, TPZMaterial::fForcingFunction, TPZMaterial::HasForcingFunction(), TPZVec< T >::NElements(), TPZMatrix< TVar >::Rows(), and TPZVec< T >::size().
|
overridevirtual |
Volumetric contribute.
Reimplemented from TPZMaterial.
Definition at line 233 of file TPZDualPoisson.cpp.
References Contribute(), and TPZMatrix< TVar >::Rows().
|
overridevirtual |
Boundary contribute without jacobian matrix.
Boundary contribute with jacobian matrix.
Reimplemented from TPZMaterial.
Definition at line 122 of file TPZDualPoisson.cpp.
References DebugStop.
Referenced by ContributeBC().
|
overridevirtual |
Boundary contribute.
Implements TPZMaterial.
Definition at line 130 of file TPZDualPoisson.cpp.
References DebugStop.
|
overridevirtual |
Boundary contribute without jacobian matrix.
Reimplemented from TPZMaterial.
Definition at line 240 of file TPZDualPoisson.cpp.
References ContributeBC(), and TPZMatrix< TVar >::Rows().
|
overridevirtual |
Boundary contribute.
Reimplemented from TPZMaterial.
Definition at line 248 of file TPZDualPoisson.cpp.
References DebugStop, TPZFunction< TVar >::Execute(), TPZMaterial::ForcingFunction(), TPZMaterial::gBigNumber, TPZMaterial::HasForcingFunction(), TPZMatrix< TVar >::Rows(), TPZBndCond::Type(), and TPZBndCond::Val2().
|
overridevirtual |
return the euclidean dimension of the weak statement
Implements TPZMaterial.
Definition at line 41 of file TPZDualPoisson.cpp.
Referenced by Errors(), NSolutionVariables(), and Solution().
|
overridevirtual |
Compute errors, no comments!!!
Reimplemented from TPZMaterial.
Definition at line 449 of file TPZDualPoisson.cpp.
References DebugStop.
|
overridevirtual |
error[0] : primal error using L2 norm
error[1] : dual error using L2 norm
error[2] : div error norm
Reimplemented from TPZMaterial.
Definition at line 414 of file TPZDualPoisson.cpp.
References Dimension(), test::f, and TPZVec< T >::Fill().
|
overridevirtual |
fill requirements for bounadry contribute methods
Reimplemented from TPZMaterial.
Definition at line 61 of file TPZDualPoisson.cpp.
References TPZMaterialData::fNeedsSol, and TPZMaterialData::SetAllRequirements().
|
overridevirtual |
fill requirements for boundary contribute methods multiphsycis mesh
Reimplemented from TPZMaterial.
Definition at line 76 of file TPZDualPoisson.cpp.
References TPZVec< T >::size().
|
overridevirtual |
fill requirements for volumetric contribute methods
Reimplemented from TPZMaterial.
Definition at line 55 of file TPZDualPoisson.cpp.
References TPZMaterialData::fNeedsSol, and TPZMaterialData::SetAllRequirements().
|
overridevirtual |
fill requirements for volumetric contribute methods multiphsycis mesh
Reimplemented from TPZMaterial.
Definition at line 67 of file TPZDualPoisson.cpp.
References TPZVec< T >::size().
|
overridevirtual |
print material name
Reimplemented from TPZMaterial.
Definition at line 52 of file TPZDualPoisson.cpp.
|
overridevirtual |
Number of errors being computed = { 0-> h1, 1 ->L2 primal, 2 L2 dual}.
Reimplemented from TPZMaterial.
Definition at line 314 of file TPZDualPoisson.cpp.
|
overridevirtual |
return a material object from a this object
Reimplemented from TPZMaterial.
Definition at line 28 of file TPZDualPoisson.cpp.
References TPZDualPoisson().
|
overridevirtual |
size of the current variable (1 -> scalar, 3-> vector, 9 -> Tensor )
Reimplemented from TPZMaterial.
Definition at line 328 of file TPZDualPoisson.cpp.
References Dimension(), and TPZMaterial::NSolutionVariables().
Referenced by Solution().
|
overridevirtual |
return the number of state variables associated with each trial function
Implements TPZMaterial.
Definition at line 43 of file TPZDualPoisson.cpp.
| TPZDualPoisson & TPZDualPoisson::operator= | ( | const TPZDualPoisson & | other | ) |
assignment operator
Definition at line 32 of file TPZDualPoisson.cpp.
References TPZMaterial::operator=().
|
overridevirtual |
print all material information
Reimplemented from TPZMaterial.
Definition at line 48 of file TPZDualPoisson.cpp.
References TPZMaterial::Print().
|
overridevirtual |
write class from disk
Reimplemented from TPZSavable.
Definition at line 94 of file TPZDualPoisson.cpp.
References DebugStop.
|
overridevirtual |
Postprocess required variables.
Reimplemented from TPZMaterial.
Definition at line 339 of file TPZDualPoisson.cpp.
References DebugStop.
|
overridevirtual |
Postprocess required variables multiphysics.
Reimplemented from TPZMaterial.
Definition at line 345 of file TPZDualPoisson.cpp.
References DebugStop, Dimension(), TPZFunction< TVar >::Execute(), test::f, TPZMaterial::fForcingFunctionExact, TPZMaterial::HasForcingFunctionExact(), NSolutionVariables(), and TPZVec< T >::Resize().
|
overridevirtual |
Variable index based on variable naming.
Reimplemented from TPZMaterial.
Definition at line 316 of file TPZDualPoisson.cpp.
References TPZMaterial::VariableIndex().
|
overridevirtual |
write class in disk
Reimplemented from TPZSavable.
Definition at line 89 of file TPZDualPoisson.cpp.
References DebugStop.
1.8.13