NeoPZ
|
Implements an porous media material to be used together with elastic elastoplastic mechanical counterparts. More...
#include <TPZMatPorous.h>
Public Types | |
enum | SOLUTIONVARS { ENone, EPorePressure } |
Public Types inherited from TPZMaterialData | |
enum | MShapeFunctionType { EEmpty, EScalarShape, EVecandShape, EVecShape } |
Public Types inherited from TPZMatElastoPlastic< T, TMEM > | |
enum | ESolutionVar { ENone, EDisplacementDoF, EDisplacement, EStrain, EStress, EStrainElastic, EStrainPlastic, EYield, EVolHardening, EStrainPValues, EStressPValues, EStrainElasticPValues, EStrainPlasticPValues, EStrainI1, EStressI1, EStrainElasticI1, EStrainPlasticI1, EStrainJ2, EStressJ2, EStrainElasticJ2, EStrainPlasticJ2, EFailureType } |
Public Member Functions | |
TPZMatPorous () | |
TPZMatPorous (int id) | |
TPZMatPorous (const TPZMatPorous< T, TMEM > &mat) | |
virtual | ~TPZMatPorous () |
Default destructor. More... | |
virtual std::string | Name () override |
void | SetUp (const REAL &k, const REAL &Mu, const REAL &StorageEps, const REAL &Alpha, const REAL &Rhof) |
Initializes the poroelastic material coefficients. More... | |
virtual int | Dimension () const override |
virtual int | NStateVariables () const override |
virtual void | Print (std::ostream &out=std::cout, const int memory=0) override |
virtual int | VariableIndex (const std::string &name) override |
virtual int | NSolutionVariables (int var) override |
virtual void | Solution (TPZMaterialData &data, int var, TPZVec< REAL > &Solout) override |
virtual int | NFluxes () override |
virtual void | Flux (TPZVec< REAL > &x, TPZVec< REAL > &Sol, TPZFMatrix< REAL > &DSol, TPZFMatrix< REAL > &axes, TPZVec< REAL > &flux) override |
virtual void | Errors (TPZVec< REAL > &x, TPZVec< REAL > &u, TPZFMatrix< REAL > &dudx, TPZFMatrix< REAL > &axes, TPZVec< REAL > &flux, TPZVec< REAL > &u_exact, TPZFMatrix< REAL > &du_exact, TPZVec< REAL > &values) override |
virtual int | NEvalErrors () override |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ek, TPZFMatrix< REAL > &ef) override |
virtual void | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ek, TPZFMatrix< REAL > &ef, TPZBndCond &bc) override |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ef) override |
virtual void | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ef, TPZBndCond &bc) override |
virtual TPZMaterial * | NewMaterial () override |
virtual int | ClassId () const override |
virtual void | Write (TPZStream &buf, int withclassid) const override |
virtual void | Read (TPZStream &buf, void *context) override |
virtual void | FillDataRequirements (TPZMaterialData &data) override |
void | ComputePorePressure (TPZMaterialData &data, REAL &Pp, TPZVec< REAL > &dPp) |
void | UpdatePorePressure (TPZMaterialData &data) |
void | SetPorePressure (const REAL Pp) |
Public Member Functions inherited from TPZMatTemporal | |
TPZMatTemporal () | |
virtual | ~TPZMatTemporal () |
virtual void | SetDeltaT (const REAL deltaT) |
virtual void | SetContributionTime (TPZContributeTime time) |
int | ClassId () const override |
Public Member Functions inherited from TPZMaterialData | |
TPZMaterialData () | |
Default constructor. More... | |
TPZMaterialData (const TPZMaterialData &cp) | |
Copy constructor. More... | |
~TPZMaterialData () | |
Default destructor. More... | |
void | SetAllRequirements (bool set) |
Set all flags at once. More... | |
TPZMaterialData & | operator= (const TPZMaterialData &cp) |
void | Print (std::ostream &out) const |
Prints the data. More... | |
void | PrintMathematica (std::ostream &out) const |
Prints the data in a format suitable for Mathematica. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) override |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) const override |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
void | ComputeFluxValues (TPZFMatrix< REAL > &fluxes) |
Computes the flux values based on a Material of Hdiv approx space. More... | |
void | ComputeFunctionDivergence () |
Computes the flux divergence values based on a Material of Hdiv approx space. 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 |
Public Member Functions inherited from TPZRegisterClassId | |
template<typename T > | |
TPZRegisterClassId (int(T::*)() const) | |
TPZRegisterClassId ()=default | |
Public Member Functions inherited from TPZMatElastoPlastic< T, TMEM > | |
TPZMatElastoPlastic () | |
TPZMatElastoPlastic (int id) | |
TPZMatElastoPlastic (const TPZMatElastoPlastic &other) | |
virtual | ~TPZMatElastoPlastic () |
virtual void | SetPlasticityModel (T &plasticity) |
virtual void | UpdateMaterialCoeficients (TPZVec< REAL > &x, T &plasticity) |
virtual void | SetBulkDensity (REAL &RhoB) |
virtual void | Print (std::ostream &out) override |
void | ComputeStrainVector (TPZMaterialData &data, TPZFMatrix< REAL > &Strain) |
void | ComputeDeltaStrainVector (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain) |
void | ComputeStressVector (TPZMaterialData &data, TPZFMatrix< REAL > &Stress) |
void | CheckConvergence (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain) |
void | ApplyDeltaStrainComputeDep (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain, TPZFMatrix< REAL > &Stress, TPZFMatrix< REAL > &Dep) |
void | ApplyDeltaStrain (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain, TPZFMatrix< REAL > &Stress) |
void | ApplyDirection (TPZFMatrix< REAL > &vectorTensor, TPZVec< REAL > &Out) |
void | vectorToTensor (const TPZFMatrix< REAL > &vectorTensor, TPZFMatrix< REAL > &Tensor) |
void | EigenValues (TPZFMatrix< REAL > &vectorTensor, TPZVec< REAL > &ev) |
void | EigenVectors (TPZFMatrix< REAL > &vectorTensor, TPZVec< REAL > &Solout, int direction) |
virtual void | SetTol (const REAL &tol) |
virtual void | SetBulkDensity (const REAL &bulk) |
virtual void | SetPorousElasticity (TPZPorousElasticResponse &PER) |
void | SetPlasticModel (T &plasticity_model) |
virtual T & | GetPlasticModel () |
virtual TPZPorousElasticResponse & | GetPorousElasticity (TPZPorousElasticResponse &PER) |
virtual void | FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data) override |
Public Member Functions inherited from TPZMatWithMem< TMEM > | |
TPZMatWithMem () | |
Default constructor. More... | |
TPZMatWithMem (int id) | |
Creates a material object and inserts it in the vector of material pointers of the mesh. More... | |
TPZMatWithMem (const TPZMatWithMem< TMEM, TPZMaterial > &mat) | |
Creates a material object based on the referred object and inserts it in the vector of material pointers of the mesh. More... | |
virtual | ~TPZMatWithMem () |
virtual void | PrintMem (std::ostream &out=std::cout, const int memory=0) |
Prints out the data associated with the material. More... | |
virtual TMEM & | MemItem (const int i) const |
int | ClassId () const override |
Unique identifier for serialization purposes. More... | |
void | Write (TPZStream &buf, int withclassid) const override |
void | Read (TPZStream &buf, void *context) override |
std::shared_ptr< TPZAdmChunkVector< TMEM > > & | GetMemory () |
void | SetMemory (std::shared_ptr< TPZAdmChunkVector< TMEM >> &memory) |
virtual int | PushMemItem (int sourceIndex=-1) override |
Pushes a new entry in the context of materials with memory. More... | |
virtual void | FreeMemItem (int index) override |
Frees an entry in the material with memory internal history storage. More... | |
void | ResetMemItem (int index) |
void | ResetMemory () |
Reset all memory items. More... | |
virtual void | SetDefaultMem (TMEM &defaultMem) |
Sets the default memory settings for initialization. More... | |
virtual TMEM & | GetDefaultMemory () |
Access the default memory settings for initislization. More... | |
virtual void | SetUpdateMem (bool update=1) |
Sets/Unsets the internal memory data to be updated in the next assemble/contribute call. More... | |
virtual bool | GetUpdateMem () |
Gets the internal memory data to be updated in the next assemble/contribute call. 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) |
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 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... | |
void | SetLinearContext (bool IsLinear) |
Sets fLinearContext attribute. More... | |
bool | GetLinearContext () const |
Returns fLinearContext attribute. More... | |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)=0 |
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) |
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) |
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) |
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)=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 > &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 | ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, 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 | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) |
It computes a contribution to the stiffness matrix and load vector at one BC integration point. 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... | |
Protected Attributes | |
REAL | fk |
REAL | fMu |
REAL | fStorageEps |
REAL | m_hardening |
REAL | fRhof |
Protected Attributes inherited from TPZMatTemporal | |
REAL | fDeltaT |
TPZContributeTime | fTime |
Protected Attributes inherited from TPZMatElastoPlastic< T, TMEM > | |
TPZManVector< REAL, 3 > | m_force |
REAL | m_rho_bulk |
TPZManVector< REAL, 3 > | m_PostProcessDirection |
T | m_plasticity_model |
REAL | m_tol |
bool | m_use_non_linear_elasticity_Q |
TPZPorousElasticResponse | m_PER |
Protected Attributes inherited from TPZMatWithMem< TMEM > | |
std::shared_ptr< TPZAdmChunkVector< TMEM > > | fMemory |
Shared pointer to material memory. More... | |
TMEM | fDefaultMem |
Default memory settings. More... | |
bool | fUpdateMem |
Flag to indicate whether the memory data are to be updated in an assemble loop. 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) |
Public Attributes inherited from TPZMaterialData | |
MShapeFunctionType | fShapeType |
int | intLocPtIndex |
Index of the current integration point being evaluated. More... | |
int | intGlobPtIndex |
global point index More... | |
int | NintPts |
amount of points in the integrstion rule More... | |
bool | fNeedsSol |
bool | fNeedsNeighborSol |
bool | fNeedsHSize |
bool | fNeedsNeighborCenter |
bool | fNeedsNormalVecFad |
bool | fNeedsNormal |
bool | fActiveApproxSpace |
TPZFNMatrix< 220, REAL > | phi |
vector of shapefunctions (format is dependent on the value of shapetype) More... | |
TPZFNMatrix< 660, REAL > | dphi |
values of the derivative of the shape functions over the master element More... | |
TPZFNMatrix< 660, REAL > | dphix |
values of the derivative of the shape functions More... | |
TPZFNMatrix< 220, REAL > | divphi |
values of the divergence of the shapefunctions in the mapped element (only applicable to H(div)) spaces More... | |
TPZFNMatrix< 9, REAL > | axes |
axes indicating the directions of the derivatives of the shapefunctions More... | |
TPZFNMatrix< 9, REAL > | jacobian |
value of the jacobian at the integration point More... | |
TPZFNMatrix< 9, REAL > | jacinv |
value of the inverse of the jacobian at the integration point More... | |
TPZManVector< REAL, 3 > | normal |
normal to the element at the integration point More... | |
TPZManVector< REAL, 3 > | x |
value of the coordinate at the integration point More... | |
TPZManVector< REAL, 3 > | xParametric |
value of the coordinate at the integration point corresponding to the x-parametric coordinate (master element) More... | |
int | p |
maximum polinomial order of the shape functions More... | |
TPZSolVec | sol |
vector of the solutions at the integration point More... | |
TPZGradSolVec | dsol |
vector of the derivatives of the solution at the integration point More... | |
TPZSolVec | divsol |
vector of the divergence of the solution at the integration point (only of hdiv spaces) More... | |
REAL | HSize |
measure of the size of the element More... | |
REAL | detjac |
determinant of the jacobian More... | |
TPZManVector< REAL, 3 > | XCenter |
value of the coordinate at the center of the element More... | |
TPZFNMatrix< 180 > | fDirectionsOnMaster |
Directions on the master element. More... | |
int | numberdualfunctions |
number of dual function (e.g. pressure in HDiv approximations) More... | |
int | gelElId |
TPZManVector< std::pair< int, int64_t > > | fVecShapeIndex |
correspondence between normal vector index and index of the shape functions More... | |
TPZFNMatrix< 180 > | fNormalVec |
list of normal vectors More... | |
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) |
Implements an porous media material to be used together with elastic elastoplastic mechanical counterparts.
Definition at line 22 of file TPZMatPorous.h.
enum TPZMatPorous::SOLUTIONVARS |
Enumerator | |
---|---|
ENone | |
EPorePressure |
Definition at line 26 of file TPZMatPorous.h.
TPZMatPorous< T, TMEM >::TPZMatPorous | ( | ) |
Default constructor
Definition at line 18 of file TPZMatPorous_impl.h.
References Advanced_CT, TPZMatTemporal::fDeltaT, TPZMatTemporal::fTime, and LOGPZ_INFO.
TPZMatPorous< T, TMEM >::TPZMatPorous | ( | int | id | ) |
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
Definition at line 33 of file TPZMatPorous_impl.h.
References Advanced_CT, TPZMatTemporal::fDeltaT, TPZMatTemporal::fTime, and LOGPZ_INFO.
TPZMatPorous< T, TMEM >::TPZMatPorous | ( | const TPZMatPorous< T, TMEM > & | mat | ) |
Creates a material object based on the referred 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
Definition at line 48 of file TPZMatPorous_impl.h.
References TPZMatTemporal::fDeltaT, TPZMatTemporal::fTime, and LOGPZ_INFO.
|
virtual |
Default destructor.
Definition at line 65 of file TPZMatPorous_impl.h.
|
overridevirtual |
Unique identifier for serialization purposes
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 198 of file TPZMatPorous.h.
References TPZMatTemporal::ClassId(), TPZMatElastoPlastic< T, TMEM >::ClassId(), and Hash().
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
void TPZMatPorous< T, TMEM >::ComputePorePressure | ( | TPZMaterialData & | data, |
REAL & | Pp, | ||
TPZVec< REAL > & | dPp | ||
) |
Returns the porepressure and its divergent at the current integration point
Definition at line 407 of file TPZMatPorous_impl.h.
References TPZMatPorous< T, TMEM >::Dimension(), TPZMaterialData::dsol, TPZMaterialData::intGlobPtIndex, TPZMatWithMem< TMEM >::MemItem(), TPZMaterialData::sol, and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::NEvalErrors(), and TPZMatPorous< T, TMEM >::Solution().
|
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 |
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 126 of file TPZMatPorous_impl.h.
References Advanced_CT, TPZMaterialData::axes, TPZMatPorous< T, TMEM >::ComputePorePressure(), TPZMatPorous< T, TMEM >::Dimension(), TPZMaterialData::dphi, TPZMaterialData::dphix, TPZMaterialData::dsol, EMatlabNonZeros, TPZFunction< TVar >::Execute(), TPZMatTemporal::fDeltaT, TPZMaterial::fForcingFunction, TPZMatPorous< T, TMEM >::fk, TPZMatPorous< T, TMEM >::fMu, TPZMatPorous< T, TMEM >::fRhof, TPZMatPorous< T, TMEM >::fStorageEps, TPZMatTemporal::fTime, TPZMatWithMem< TMEM >::fUpdateMem, Last_CT, LOGPZ_DEBUG, TPZMatElastoPlastic< T, TMEM >::m_force, TPZMatPorous< T, TMEM >::m_hardening, TPZMatPorous< T, TMEM >::NStateVariables(), TPZMaterialData::phi, TPZMatrix< TVar >::Print(), TPZMatrix< TVar >::Rows(), TPZMaterialData::sol, TBASEPOROUS, TPZFMatrix< TVar >::Transpose(), TPZMatPorous< T, TMEM >::UpdatePorePressure(), val(), and TPZMaterialData::x.
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
|
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 TPZMatElastoPlastic< T, TMEM >.
Definition at line 324 of file TPZMatPorous_impl.h.
References TPZMaterial::Contribute().
|
overridevirtual |
It computes a contribution to the stiffness matrix and load vector at one BC integration point.
data | [in] stores all input data |
weight | [in] is the weight of the integration rule |
ek | [out] is the stiffness matrix |
ef | [out] is the load vector |
bc | [in] is the boundary condition material |
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 262 of file TPZMatPorous_impl.h.
References TPZMatPorous< T, TMEM >::Dimension(), LOGPZ_DEBUG, TPZMatPorous< T, TMEM >::NStateVariables(), TPZMaterialData::phi, TBASEPOROUS, TPZBndCond::Type(), TPZBndCond::Val1(), and TPZBndCond::Val2().
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
|
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 TPZMatElastoPlastic< T, TMEM >.
Definition at line 330 of file TPZMatPorous_impl.h.
References TPZMaterial::ContributeBC().
|
inlineoverridevirtual |
returns the integrable dimension of the material
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 65 of file TPZMatPorous.h.
References TPZMatPorous< T, TMEM >::Dimension(), and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::ComputePorePressure(), TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::ContributeBC(), TPZMatPorous< T, TMEM >::Dimension(), and TPZMatPorous< T, TMEM >::UpdatePorePressure().
|
overridevirtual |
Evaluate error between approximate (FEM) and exact solutions. Method not implemented
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 339 of file TPZMatPorous_impl.h.
References TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::Flux().
|
overridevirtual |
Defining what parameters the material needs. In particular this material needs the evaluation of normal vector for the sake of boundary conditions
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 400 of file TPZMatPorous_impl.h.
References TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
|
inlineoverridevirtual |
Compute the value of the flux function to be used by ZZ error estimator. Method not implemented.
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 96 of file TPZMatPorous.h.
References TPZMaterialData::axes, TPZMatPorous< T, TMEM >::Errors(), PZError, rdt::values, and TPZMaterialData::x.
|
overridevirtual |
returns the name of the material
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 355 of file TPZMatPorous_impl.h.
Referenced by TPZMatPorous< T, TMEM >::Print().
|
inlineoverridevirtual |
Returns the number of norm errors: 3 (Semi H1, L2 and H1) Method not implemented
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 111 of file TPZMatPorous.h.
References bc, TPZMatPorous< T, TMEM >::ClassId(), TPZMatPorous< T, TMEM >::ComputePorePressure(), TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::ContributeBC(), TPZMatPorous< T, TMEM >::FillDataRequirements(), TPZMatPorous< T, TMEM >::NewMaterial(), TPZMatPorous< T, TMEM >::NStateVariables(), TPZMatPorous< T, TMEM >::Read(), TPZMatPorous< T, TMEM >::SetPorePressure(), TPZMatPorous< T, TMEM >::UpdatePorePressure(), and TPZMatPorous< T, TMEM >::Write().
|
overridevirtual |
To create another material of the same type
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 349 of file TPZMatPorous_impl.h.
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
|
inlineoverridevirtual |
Return the number of components which form the flux function Method not implemented.
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 87 of file TPZMatPorous.h.
References PZError.
|
overridevirtual |
returns the number of variables associated with the variable indexed by var. var is obtained by calling VariableIndex
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 92 of file TPZMatPorous_impl.h.
References TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NStateVariables().
|
inlineoverridevirtual |
returns the number of state variables associated with the material
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 68 of file TPZMatPorous.h.
References TPZMatPorous< T, TMEM >::NSolutionVariables(), TPZMatPorous< T, TMEM >::NStateVariables(), TPZMatPorous< T, TMEM >::Print(), TPZMatPorous< T, TMEM >::Solution(), TBASEPOROUS, and TPZMatPorous< T, TMEM >::VariableIndex().
Referenced by TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::ContributeBC(), TPZMatPorous< T, TMEM >::NEvalErrors(), and TPZMatPorous< T, TMEM >::NStateVariables().
|
overridevirtual |
print out the data associated with the material
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 71 of file TPZMatPorous_impl.h.
References TPZMatTemporal::fDeltaT, TPZMatPorous< T, TMEM >::fk, TPZMatPorous< T, TMEM >::fMu, TPZMatPorous< T, TMEM >::fStorageEps, TPZMatPorous< T, TMEM >::m_hardening, TPZMatPorous< T, TMEM >::Name(), and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NStateVariables().
|
overridevirtual |
Read the element data from a stream
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 373 of file TPZMatPorous_impl.h.
References TPZMatTemporal::fDeltaT, TPZMatPorous< T, TMEM >::fk, TPZMatPorous< T, TMEM >::fMu, TPZMatPorous< T, TMEM >::fStorageEps, TPZMatPorous< T, TMEM >::m_hardening, and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
void TPZMatPorous< T, TMEM >::SetPorePressure | ( | const REAL | Pp | ) |
Initializes the default memory pore pressure.
Definition at line 438 of file TPZMatPorous_impl.h.
References TPZMatWithMem< TMEM >::fDefaultMem, and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
void TPZMatPorous< T, TMEM >::SetUp | ( | const REAL & | k, |
const REAL & | Mu, | ||
const REAL & | StorageEps, | ||
const REAL & | Alpha, | ||
const REAL & | Rhof | ||
) |
Initializes the poroelastic material coefficients.
[in] | k | permeability of porous medium |
[in] | Mu | Fluid viscosity |
[in] | StorageEps | poroelastic Storage Coeff at constant strain |
[in] | Alpha | Biot-Willis ceofficient |
[in] | Rhof | Fluid density |
Definition at line 387 of file TPZMatPorous_impl.h.
References TPZMatPorous< T, TMEM >::fk, TPZMatPorous< T, TMEM >::fMu, TPZMatPorous< T, TMEM >::fRhof, TPZMatPorous< T, TMEM >::fStorageEps, and TPZMatPorous< T, TMEM >::m_hardening.
|
overridevirtual |
returns the solution associated with the var index based on the finite element approximation
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 100 of file TPZMatPorous_impl.h.
References TPZMatPorous< T, TMEM >::ComputePorePressure(), and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NStateVariables().
void TPZMatPorous< T, TMEM >::UpdatePorePressure | ( | TPZMaterialData & | data | ) |
Updates the porepressure and its divergent history
Definition at line 422 of file TPZMatPorous_impl.h.
References TPZMatPorous< T, TMEM >::Dimension(), TPZMaterialData::dsol, TPZMaterialData::intGlobPtIndex, TPZMatWithMem< TMEM >::MemItem(), TPZMaterialData::sol, and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::Contribute(), and TPZMatPorous< T, TMEM >::NEvalErrors().
|
overridevirtual |
returns the variable index associated with the name
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 85 of file TPZMatPorous_impl.h.
References TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NStateVariables().
|
overridevirtual |
Save the element data to a stream
Reimplemented from TPZMatElastoPlastic< T, TMEM >.
Definition at line 361 of file TPZMatPorous_impl.h.
References TPZMatTemporal::fDeltaT, TPZMatPorous< T, TMEM >::fk, TPZMatPorous< T, TMEM >::fMu, TPZMatPorous< T, TMEM >::fStorageEps, TPZMatPorous< T, TMEM >::m_hardening, and TBASEPOROUS.
Referenced by TPZMatPorous< T, TMEM >::NEvalErrors().
|
protected |
porous medium intrinsic permeability
Definition at line 181 of file TPZMatPorous.h.
Referenced by TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::Print(), TPZMatPorous< T, TMEM >::Read(), TPZMatPorous< T, TMEM >::SetUp(), and TPZMatPorous< T, TMEM >::Write().
|
protected |
Fluid viscosity
Definition at line 184 of file TPZMatPorous.h.
Referenced by TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::Print(), TPZMatPorous< T, TMEM >::Read(), TPZMatPorous< T, TMEM >::SetUp(), and TPZMatPorous< T, TMEM >::Write().
|
protected |
fluid density
Definition at line 193 of file TPZMatPorous.h.
Referenced by TPZMatPorous< T, TMEM >::Contribute(), and TPZMatPorous< T, TMEM >::SetUp().
|
protected |
Storage coefficient at constant strain
Definition at line 187 of file TPZMatPorous.h.
Referenced by TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::Print(), TPZMatPorous< T, TMEM >::Read(), TPZMatPorous< T, TMEM >::SetUp(), and TPZMatPorous< T, TMEM >::Write().
|
protected |
Biot-Willis poroelastic coefficient
Definition at line 190 of file TPZMatPorous.h.
Referenced by TPZMatPorous< T, TMEM >::Contribute(), TPZMatPorous< T, TMEM >::Print(), TPZMatPorous< T, TMEM >::Read(), TPZMatPorous< T, TMEM >::SetUp(), and TPZMatPorous< T, TMEM >::Write().