NeoPZ
Public Types | Public Member Functions | Protected Attributes | List of all members
TPZViscoelastic Class Reference

This class implements an isotropic viscoelasticity material. More...

#include <pzviscoelastic.h>

Inheritance diagram for TPZViscoelastic:
[legend]
Collaboration diagram for TPZViscoelastic:
[legend]

Public Types

enum  SOLUTIONVARS { ENone, EViscoStressX, EViscoStressY, EViscoStressZ }
 
- Public Types inherited from TPZElasticity3D
enum  SOLUTIONVARS {
  ENone, EDisplacement, EDisplacementX, EDisplacementY,
  EDisplacementZ, EPrincipalStress, EPrincipalStrain, EPrincipalDirection1,
  EPrincipalDirection2, EPrincipalDirection3, EVonMisesStress, EStress,
  EStrain, EStrain1, EStress1, ENormalStress,
  ENormalStrain, EStressX, EStressY, EStressZ,
  EI1, EI2, EI3, EPlasticFunction
}
 

Public Member Functions

 TPZViscoelastic (TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D > &matwithmem, int id, REAL lambdaE, REAL muE, REAL lambdaV, REAL muV, REAL alphaT)
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ek, TPZFMatrix< REAL > &ef)
 
 TPZViscoelastic ()
 Empty constructor. More...
 
 TPZViscoelastic (int id)
 id constructor More...
 
 TPZViscoelastic (int id, STATE ElaE, STATE poissonE, STATE lambdaV, STATE muV, STATE alpha, STATE deltaT, TPZVec< STATE > &force)
 Not a good variables initialization constructor. Uses Hooke for elastic part and lame for viscous part. More...
 
void SetMaterialDataHooke (STATE ElaE, STATE poissonE, STATE ElaV, STATE poissonV, STATE alpha, STATE deltaT, TPZVec< STATE > &force)
 Set material Data with hooke constants. 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...
 
void UpdateQsi (TPZMaterialData &data)
 
virtual int VariableIndex (const std::string &name) override
 Returns index of post-processing variable. More...
 
virtual int NSolutionVariables (int var) override
 Number of data of variable var. More...
 
virtual void ComputeStressTensor (TPZFMatrix< STATE > &Stress, TPZMaterialData &data) const override
 
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 FillDataRequirements (TPZMaterialData &data) override
 Fill material data parameter with necessary requirements for the Contribute method. 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...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
- Public Member Functions inherited from TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >
 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< TPZFMatrix< STATE >, TPZElasticity3D > &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 std::string Name () override
 Returns the name of the material. More...
 
virtual void PrintMem (std::ostream &out=std::cout, const int memory=0)
 Prints out the data associated with the material. More...
 
virtual void Print (std::ostream &out) override
 Prints out the data associated with the material. More...
 
virtual TPZFMatrix< STATE > & 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< TPZFMatrix< STATE > > > & GetMemory ()
 
void SetMemory (std::shared_ptr< TPZAdmChunkVector< TPZFMatrix< STATE > >> &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 (TPZFMatrix< STATE > &defaultMem)
 Sets the default memory settings for initialization. More...
 
virtual TPZFMatrix< STATE > & 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 TPZElasticity3D
 TPZElasticity3D (int nummat, STATE E, STATE poisson, TPZVec< STATE > &force, STATE preStressXX=0., STATE preStressYY=0., STATE preStressZZ=0.)
 Class constructor. More...
 
 TPZElasticity3D (int nummat)
 Constructor. More...
 
 TPZElasticity3D ()
 Default constructor. More...
 
 TPZElasticity3D (const TPZElasticity3D &cp)
 Copy constructor. More...
 
virtual ~TPZElasticity3D ()
 Default destructor. More...
 
int Dimension () const override
 Returns model dimension. More...
 
int NStateVariables () const override
 Number of state variables. More...
 
virtual int IntegrationRuleOrder (int elPMaxOrder) const override
 Gets the order of the integration rule necessary to integrate an element with polinomial order p. More...
 
void SetPostProcessingDirection (TPZVec< REAL > &Direction)
 Direction to post process stress and strain.
Result of post processing is (Stress.Direction) or (Strain.Direction) More...
 
void SetVonMises (REAL fy)
 
void SetMohrCoulomb (REAL fc, REAL ft)
 
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 ContributeVecShape (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 Implements Dirichlet and Neumann boundary conditions. More...
 
virtual void ContributeVecShapeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 Implements Dirichlet and Neumann boundary conditions. More...
 
virtual int NFluxes () override
 Return the number of components which form the flux function. More...
 
virtual void Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux) override
 Compute 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
 Evaluate error between approximate (FEM) and exact solutions. More...
 
virtual int NEvalErrors () override
 Returns the number of norm errors: 3 (Semi H1, L2 and H1) 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...
 
void SetMaterialDataHook (REAL Ela, REAL poisson)
 
void SetMaterialDataLame (REAL lambda, REAL mu)
 
void SetC ()
 
void SetForce (TPZVec< STATE > force)
 
STATE GetE ()
 
STATE GetPoisson ()
 
STATE GetLambda ()
 
STATE GetMU ()
 
STATE GetPrestress (int index)
 
virtual void ComputeStressVector (TPZFMatrix< STATE > &Stress, TPZFMatrix< STATE > &DSol) const
 
void ComputeStrainVector (TPZFMatrix< STATE > &Strain, TPZFMatrix< STATE > &DSol) const
 
void ComputeStressTensor (TPZFMatrix< STATE > &Stress, TPZFMatrix< STATE > &DSol) const
 
void ComputeStrainTensor (TPZFMatrix< STATE > &Strain, TPZFMatrix< STATE > &DSol) const
 
void ApplyDirection (TPZFMatrix< STATE > &StrVec, TPZVec< STATE > &Out) const
 
void PrincipalDirection (TPZFMatrix< STATE > &DSol, TPZVec< STATE > &Solout, int direction) const
 
virtual TPZMaterialNewMaterial () override
 Creates a new material from the current object ?? 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...
 
TPZMaterialoperator= (const TPZMaterial &copy)
 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 TPZBndCondCreateBC (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 (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 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 (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 (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 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...
 
- 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 Member Functions inherited from TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >
 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< TPZFMatrix< REAL >, TPZElasticity3D > &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 std::string Name () override
 Returns the name of the material. More...
 
virtual void PrintMem (std::ostream &out=std::cout, const int memory=0)
 Prints out the data associated with the material. More...
 
virtual void Print (std::ostream &out) override
 Prints out the data associated with the material. More...
 
virtual TPZFMatrix< REAL > & 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< TPZFMatrix< REAL > > > & GetMemory ()
 
void SetMemory (std::shared_ptr< TPZAdmChunkVector< TPZFMatrix< REAL > >> &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 (TPZFMatrix< REAL > &defaultMem)
 Sets the default memory settings for initialization. More...
 
virtual TPZFMatrix< REAL > & 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...
 

Protected Attributes

REAL flambdaE
 
REAL fmuE
 
REAL flambdaV
 
REAL fmuV
 
REAL falphaT
 
STATE fAlpha
 the stability coeficient alpha More...
 
STATE fDeltaT
 the stability coeficient alpha More...
 
STATE fLambdaV
 viscoelasticity coeficients More...
 
STATE fmuV
 
- Protected Attributes inherited from TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >
std::shared_ptr< TPZAdmChunkVector< TPZFMatrix< STATE > > > fMemory
 Shared pointer to material memory. More...
 
TPZFMatrix< STATE > 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 TPZElasticity3D
STATE fE
 Young's modulus. More...
 
STATE fPoisson
 Poisson's ratio. More...
 
REAL C1
 
REAL C2
 
REAL C3
 
TPZManVector< STATE, 3 > fForce
 External forces. More...
 
TPZManVector< REAL, 3 > fPostProcessDirection
 Direction to compute stress and strain. More...
 
REAL fFy
 Yeilding stress for von mises post processing. More...
 
REAL fFrictionAngle
 Mohr-Coulomb parameters. More...
 
REAL fCohesion
 
PLASTICPOSTPROC fPlasticPostProc
 Plastic model for post-processing. More...
 
TPZManVector< REAL > fPreStress
 
- 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...
 
- Protected Attributes inherited from TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >
std::shared_ptr< TPZAdmChunkVector< TPZFMatrix< REAL > > > fMemory
 Shared pointer to material memory. More...
 
TPZFMatrix< REAL > fDefaultMem
 Default memory settings. More...
 
bool fUpdateMem
 Flag to indicate whether the memory data are to be updated in an assemble loop. 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 TPZSavableCreateInstance (const int &classId)
 
- Static Public Attributes inherited from TPZElasticity3D
static STATE gTolerance
 
- Static Public Attributes inherited from TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Member Functions inherited from TPZElasticity3D
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
 Post-processing method. Based on solution Sol and its derivatives DSol, it computes the post-processed variable var. More...
 
- Protected Member Functions inherited from TPZMaterial

Detailed Description

This class implements an isotropic viscoelasticity material.

This class implements an isotropic viscoelasticity material.

Since
Aug 31, 2005.
Author
Nathan Shauer
Since
7/16/2010.

Definition at line 36 of file pzviscoelastic.h.

Member Enumeration Documentation

◆ SOLUTIONVARS

Enumerator
ENone 
EViscoStressX 
EViscoStressY 
EViscoStressZ 

Definition at line 42 of file pzviscoelastic.h.

Constructor & Destructor Documentation

◆ TPZViscoelastic() [1/4]

TPZViscoelastic::TPZViscoelastic ( TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D > &  matwithmem,
int  id,
REAL  lambdaE,
REAL  muE,
REAL  lambdaV,
REAL  muV,
REAL  alphaT 
)

◆ TPZViscoelastic() [2/4]

TPZViscoelastic::TPZViscoelastic ( )

Empty constructor.

Definition at line 8 of file pzviscoelastic.cpp.

◆ TPZViscoelastic() [3/4]

TPZViscoelastic::TPZViscoelastic ( int  id)

id constructor

Definition at line 15 of file pzviscoelastic.cpp.

◆ TPZViscoelastic() [4/4]

TPZViscoelastic::TPZViscoelastic ( int  id,
STATE  ElaE,
STATE  poissonE,
STATE  lambdaV,
STATE  muV,
STATE  alpha,
STATE  deltaT,
TPZVec< STATE > &  force 
)

Not a good variables initialization constructor. Uses Hooke for elastic part and lame for viscous part.

Definition at line 22 of file pzviscoelastic.cpp.

References DebugStop, fAlpha, fDeltaT, PZError, TPZElasticity3D::SetForce(), and TPZElasticity3D::SetMaterialDataHook().

Member Function Documentation

◆ ClassId()

int TPZViscoelastic::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

This id has to be unique for all classes A non unique id is flagged at the startup of the program

Reimplemented from TPZElasticity3D.

Definition at line 321 of file pzviscoelastic.cpp.

References Hash().

◆ ComputeStressTensor()

void TPZViscoelastic::ComputeStressTensor ( TPZFMatrix< STATE > &  Stress,
TPZMaterialData data 
) const
overridevirtual

◆ Contribute() [1/2]

void TPZViscoelastic::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< REAL > &  ek,
TPZFMatrix< REAL > &  ef 
)
virtual

◆ Contribute() [2/2]

void TPZViscoelastic::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one integration point.

Parameters
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
Since
April 16, 2007

Reimplemented from TPZElasticity3D.

Definition at line 66 of file pzviscoelastic.cpp.

References _XX_, _XY_, _XZ_, _YY_, _YZ_, _ZZ_, Contribute(), DebugStop, TPZMaterialData::dphix, fAlpha, fDeltaT, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >::fUpdateMem, TPZMaterialData::intGlobPtIndex, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >::MemItem(), TPZElasticity3D::NStateVariables(), TPZMaterialData::phi, TPZMatrix< TVar >::Rows(), UpdateQsi(), and val().

◆ FillDataRequirements()

void TPZViscoelastic::FillDataRequirements ( TPZMaterialData data)
overridevirtual

Fill material data parameter with necessary requirements for the Contribute method.

Reimplemented from TPZElasticity3D.

Definition at line 294 of file pzviscoelastic.cpp.

References TPZMaterial::FillDataRequirements(), and TPZMaterialData::fNeedsSol.

◆ NSolutionVariables()

int TPZViscoelastic::NSolutionVariables ( int  var)
overridevirtual

◆ Read()

void TPZViscoelastic::Read ( TPZStream buf,
void *  context 
)
overridevirtual

Reads the element data from a stream.

Read the element data from a stream

Reimplemented from TPZElasticity3D.

Definition at line 311 of file pzviscoelastic.cpp.

References fAlpha, fDeltaT, fLambdaV, fmuV, and TPZStream::Read().

◆ SetMaterialDataHooke()

void TPZViscoelastic::SetMaterialDataHooke ( STATE  ElaE,
STATE  poissonE,
STATE  ElaV,
STATE  poissonV,
STATE  alpha,
STATE  deltaT,
TPZVec< STATE > &  force 
)

Set material Data with hooke constants.

Definition at line 42 of file pzviscoelastic.cpp.

References DebugStop, fAlpha, fDeltaT, fLambdaV, fmuV, PZError, TPZElasticity3D::SetForce(), and TPZElasticity3D::SetMaterialDataHook().

Referenced by InsertViscoElasticity().

◆ Solution()

void TPZViscoelastic::Solution ( TPZMaterialData data,
int  var,
TPZVec< STATE > &  Solout 
)
overridevirtual

◆ UpdateQsi()

void TPZViscoelastic::UpdateQsi ( TPZMaterialData data)

◆ VariableIndex()

int TPZViscoelastic::VariableIndex ( const std::string &  name)
overridevirtual

◆ Write()

void TPZViscoelastic::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Saves the element data to a stream.

Save the element data to a stream

Reimplemented from TPZElasticity3D.

Definition at line 301 of file pzviscoelastic.cpp.

References fAlpha, fDeltaT, fLambdaV, fmuV, and TPZStream::Write().

Member Data Documentation

◆ fAlpha

STATE TPZViscoelastic::fAlpha
protected

the stability coeficient alpha

Definition at line 107 of file pzviscoelastic.h.

Referenced by ComputeStressTensor(), Contribute(), Read(), SetMaterialDataHooke(), TPZViscoelastic(), UpdateQsi(), and Write().

◆ falphaT

REAL TPZViscoelastic::falphaT
protected

Definition at line 51 of file pzviscoelastic.h.

Referenced by Contribute(), and TPZViscoelastic().

◆ fDeltaT

STATE TPZViscoelastic::fDeltaT
protected

the stability coeficient alpha

Definition at line 112 of file pzviscoelastic.h.

Referenced by ComputeStressTensor(), Contribute(), Read(), SetMaterialDataHooke(), TPZViscoelastic(), UpdateQsi(), and Write().

◆ flambdaE

REAL TPZViscoelastic::flambdaE
protected

Definition at line 51 of file pzviscoelastic.h.

Referenced by TPZViscoelastic().

◆ flambdaV

REAL TPZViscoelastic::flambdaV
protected

Definition at line 51 of file pzviscoelastic.h.

Referenced by Contribute(), and TPZViscoelastic().

◆ fLambdaV

STATE TPZViscoelastic::fLambdaV
protected

viscoelasticity coeficients

Definition at line 117 of file pzviscoelastic.h.

Referenced by Read(), SetMaterialDataHooke(), UpdateQsi(), and Write().

◆ fmuE

REAL TPZViscoelastic::fmuE
protected

Definition at line 51 of file pzviscoelastic.h.

Referenced by TPZViscoelastic().

◆ fmuV [1/2]

REAL TPZViscoelastic::fmuV
protected

◆ fmuV [2/2]

STATE TPZViscoelastic::fmuV
protected

Definition at line 118 of file pzviscoelastic.h.


The documentation for this class was generated from the following files: