NeoPZ
|
#include <TPZNullMaterial.h>
Public Member Functions | |
TPZNullMaterial (int num) | |
TPZNullMaterial (const TPZNullMaterial ©) | |
TPZNullMaterial & | operator= (const TPZNullMaterial ©) |
TPZNullMaterial () | |
Creates a material object and inserts it in the vector of material pointers of the mesh. More... | |
virtual | ~TPZNullMaterial () |
Default destructor. More... | |
virtual TPZMaterial * | NewMaterial () override |
To create another material of the same type. More... | |
virtual std::string | Name () override |
Returns the name of the material. More... | |
virtual int | Dimension () const override |
Returns the integrable dimension of the material. More... | |
void | SetDimension (int dim) |
virtual int | NStateVariables () const override |
Returns the number of state variables associated with the material. More... | |
void | SetNStateVariables (int nstate) |
virtual int | NFluxes () override |
Returns the number of components which form the flux function. More... | |
virtual void | Print (std::ostream &out=std::cout) override |
Prints out the data associated with the material. More... | |
virtual int | VariableIndex (const std::string &name) override |
Returns the variable index associated with the name. More... | |
virtual int | NSolutionVariables (int var) override |
Returns the number of variables associated with the variable indexed by var. 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 | Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout) override |
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) override |
Returns the solution associated with the var index based on the finite element approximation around one interface element. More... | |
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 (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 |
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 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... | |
void | ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) 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 | 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) |
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) |
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 | Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) |
virtual void | Errors (TPZVec< REAL > &x, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux, TPZVec< STATE > &uexact, TPZFMatrix< STATE > &duexact, TPZVec< REAL > &val) |
Computes the error due to the difference between the interpolated flux and the flux computed based on the derivative of the solution. More... | |
virtual int | NEvalErrors () |
Returns the number of norm errors. Default is 3: energy, L2 and H1. 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... | |
virtual void | ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) |
It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More... | |
virtual void | Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux) |
Computes the value of the flux function to be used by ZZ error estimator. More... | |
Public Member Functions inherited from TPZSavable | |
TPZSavable () | |
virtual | ~TPZSavable () |
virtual std::list< std::map< std::string, uint64_t > > | VersionHistory () const |
virtual std::pair< std::string, uint64_t > | Version () const |
virtual bool | Compare (TPZSavable *copy, bool override=false) |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) const |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
Public Member Functions inherited from TPZRegisterClassId | |
template<typename T > | |
TPZRegisterClassId (int(T::*)() const) | |
TPZRegisterClassId ()=default | |
Protected 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 | |
int | fDim |
Problem dimension. More... | |
int | fNState |
Number of state variables. 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... | |
Definition at line 12 of file TPZNullMaterial.h.
|
inline |
Definition at line 16 of file TPZNullMaterial.h.
|
inline |
Definition at line 21 of file TPZNullMaterial.h.
TPZNullMaterial::TPZNullMaterial | ( | ) |
Creates a material object and inserts it in the vector of material pointers of the mesh.
Upon return vectorindex contains the index of the material object within the vector Default constructor
Definition at line 28 of file TPZNullMaterial.cpp.
Referenced by NewMaterial(), and operator=().
|
virtual |
|
overridevirtual |
Unique identifier for serialization purposes.
Reimplemented from TPZMaterial.
Definition at line 106 of file TPZNullMaterial.cpp.
References TPZMaterial::ClassId(), and Hash().
Referenced by ContributeBC().
|
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 TPZMaterial.
Definition at line 132 of file TPZNullMaterial.cpp.
Referenced by Contribute(), and ContributeBC().
|
overridevirtual |
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.
Definition at line 100 of file TPZNullMaterial.cpp.
|
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.
Definition at line 122 of file TPZNullMaterial.h.
References bc, Contribute(), ContributeBC(), and TPZMatrix< TVar >::Rows().
|
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 TPZMaterial.
Definition at line 94 of file TPZNullMaterial.cpp.
|
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 TPZMaterial.
Definition at line 137 of file TPZNullMaterial.cpp.
References TPZMaterialData::axes, TPZFunction< TVar >::Execute(), TPZMaterial::ForcingFunction(), TPZMaterial::gBigNumber, TPZMaterial::HasForcingFunction(), TPZMaterialData::phi, test::res, TPZMatrix< TVar >::Rows(), TPZBndCond::Type(), TPZBndCond::Val2(), and TPZMaterialData::x.
Referenced by Contribute(), and 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.
Definition at line 131 of file TPZNullMaterial.h.
References ClassId(), Contribute(), ContributeBC(), ErrorsHdiv(), Read(), rdt::values, and Write().
|
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 |
ef | [out] is the load vector |
bc | [in] is the boundary condition material |
Reimplemented from TPZMaterial.
Definition at line 97 of file TPZNullMaterial.cpp.
|
inlineoverridevirtual |
Returns the integrable dimension of the material.
Implements TPZMaterial.
Definition at line 57 of file TPZNullMaterial.h.
References fDim.
|
overridevirtual |
Reimplemented from TPZMaterial.
Definition at line 172 of file TPZNullMaterial.cpp.
Referenced by ContributeBC().
|
inlineoverridevirtual |
Returns the name of the material.
Reimplemented from TPZMaterial.
Definition at line 54 of file TPZNullMaterial.h.
|
inlineoverridevirtual |
To create another material of the same type.
Reimplemented from TPZMaterial.
Definition at line 47 of file TPZNullMaterial.h.
References TPZNullMaterial().
|
inlineoverridevirtual |
Returns the number of components which form the flux function.
Reimplemented from TPZMaterial.
Definition at line 78 of file TPZNullMaterial.h.
References NSolutionVariables(), Print(), Solution(), and VariableIndex().
|
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 50 of file TPZNullMaterial.cpp.
References TPZMaterial::NSolutionVariables().
Referenced by NFluxes().
|
inlineoverridevirtual |
Returns the number of state variables associated with the material.
Implements TPZMaterial.
Definition at line 67 of file TPZNullMaterial.h.
References fNState.
|
inline |
Definition at line 28 of file TPZNullMaterial.h.
References fDim, fNState, TPZMaterial::operator=(), TPZNullMaterial(), and ~TPZNullMaterial().
|
overridevirtual |
Prints out the data associated with the material.
Reimplemented from TPZMaterial.
Definition at line 40 of file TPZNullMaterial.cpp.
References TPZMaterial::Print().
Referenced by NFluxes().
|
overridevirtual |
Reads the element data from a stream.
Reimplemented from TPZMaterial.
Definition at line 120 of file TPZNullMaterial.cpp.
References DebugStop, fDim, fNState, TPZStream::Read(), and TPZMaterial::Read().
Referenced by ContributeBC().
|
inline |
Definition at line 62 of file TPZNullMaterial.h.
References fDim.
Referenced by TPZMHMixedMeshControl::InsertPeriferalHdivMaterialObjects(), TPZMHMixedMeshControl::InsertPeriferalMaterialObjects(), TPZMHMixedMeshControl::InsertPeriferalPressureMaterialObjects(), and TPZMHMixedMeshControl::InsertPeriferalRotationMaterialObjects().
|
inline |
Definition at line 72 of file TPZNullMaterial.h.
References fNState.
Referenced by TPZMHMixedMeshControl::InsertPeriferalHdivMaterialObjects(), TPZMHMixedMeshControl::InsertPeriferalMaterialObjects(), TPZMHMixedMeshControl::InsertPeriferalPressureMaterialObjects(), and TPZMHMixedMeshControl::InsertPeriferalRotationMaterialObjects().
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Definition at line 54 of file TPZNullMaterial.cpp.
References TPZMaterialData::axes, DebugStop, TPZMaterialData::dsol, TPZVec< T >::size(), and TPZMaterialData::sol.
Referenced by NFluxes().
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Definition at line 62 of file TPZNullMaterial.cpp.
References DebugStop.
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation around one interface element.
Reimplemented from TPZMaterial.
Definition at line 66 of file TPZNullMaterial.cpp.
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation around one interface element.
Reimplemented from TPZMaterial.
Definition at line 70 of file TPZNullMaterial.cpp.
|
overrideprotectedvirtual |
Reimplemented from TPZMaterial.
Definition at line 75 of file TPZNullMaterial.cpp.
References fDim, TPZMaterial::Solution(), and val().
|
overridevirtual |
Returns the variable index associated with the name.
Reimplemented from TPZMaterial.
Definition at line 46 of file TPZNullMaterial.cpp.
References TPZMaterial::VariableIndex().
Referenced by NFluxes().
|
overridevirtual |
Saves the element data to a stream.
Reimplemented from TPZMaterial.
Definition at line 110 of file TPZNullMaterial.cpp.
References DebugStop, fDim, fNState, TPZStream::Write(), and TPZMaterial::Write().
Referenced by ContributeBC().
|
protected |
Problem dimension.
Definition at line 111 of file TPZNullMaterial.h.
Referenced by Dimension(), operator=(), Read(), SetDimension(), Solution(), TPZNullMaterial(), and Write().
|
protected |
Number of state variables.
Definition at line 114 of file TPZNullMaterial.h.
Referenced by NStateVariables(), operator=(), Read(), SetNStateVariables(), TPZNullMaterial(), and Write().