NeoPZ
Public Member Functions | Public Attributes | Private Attributes | List of all members
TPZElasticityAxiMaterial Class Reference

Implements a two dimensional elastic material in plane stress or strain. More...

#include <pzelasAXImat.h>

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

Public Member Functions

 TPZElasticityAxiMaterial ()
 Default constructor. More...
 
 TPZElasticityAxiMaterial (int num, REAL E, REAL nu, REAL fx, REAL fy)
 Creates an elastic material with elasticity modulus (E), poisson coefficient (nu) and forcing functions (fx and fy). More...
 
 TPZElasticityAxiMaterial (int num, REAL E, REAL nu, REAL fx, REAL fy, REAL coefTheta, REAL coefAlpha)
 Creates an elastic material test with elasticity modulus (E), poisson coefficient (nu) and forcing functions (fx, fy) and penalty term (coefAlpha). More...
 
 TPZElasticityAxiMaterial (const TPZElasticityAxiMaterial &copy)
 Copies the data of one TPZElasticityAxiMaterial object to another. More...
 
virtual TPZMaterialNewMaterial () override
 Creates a new material from the current object ?? More...
 
virtual ~TPZElasticityAxiMaterial ()
 Destructor. More...
 
void SetOrigin (TPZManVector< REAL > &Orig, TPZManVector< REAL > &AxisZ, TPZManVector< REAL > &AxisR)
 Set the origin of Revolution Axis ( $Z$), the direction of Revolution Axis ( $Z$),
and the Radius vector (orthogonal with respect of $Z$ axis). More...
 
REAL ComputeR (TPZVec< REAL > &x)
 
void SetMohrCoulomb (double c, double phi)
 
void SetThermalExpansionCoefficient (REAL alpha)
 
void SetTemperature (REAL delt)
 
virtual int Dimension () const override
 Returns the model dimension. More...
 
virtual int NStateVariables () const override
 Returns the number of state variables associated with the material. More...
 
virtual void Print (std::ostream &out=std::cout) override
 Prints the material data. More...
 
std::string Name () override
 Returns the material name. More...
 
virtual short NumberOfFluxes ()
 Return the number of components which form the flux function. More...
 
virtual int NFluxes () override
 Return the number of components which form the flux function. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 Calculates the element stiffness matrix. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 Applies the element boundary conditions. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 It computes a contribution to stiffness matrix and load vector at one integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to stiffness matrix and load vector at one BC integration point. 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.
var is obtained by calling VariableIndex. 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 Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux) override
 Computes the value of the flux function to be used by ZZ error estimator. More...
 
void Errors (TPZVec< REAL > &x, TPZVec< STATE > &u, TPZFMatrix< STATE > &dudx, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) override
 Computes the error due to the difference between the interpolated flux and the flux computed based
on the derivative of the solution. More...
 
REAL E ()
 Returns the elasticity modulus E. More...
 
REAL Nu ()
 Returns the poison coefficient modulus E. More...
 
void SetPreStress (REAL Sigxx, REAL Sigyy, REAL Sigxy)
 Sets PresStress Tensor. More...
 
void SetTemperatureFunction (void(*func)(const TPZVec< REAL > &rz, REAL &temperature))
 
virtual int ClassId () const override
 Unique identifier for serialization purposes. More...
 
virtual void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
virtual void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
TPZManVector< REAL > GetAxisR ()
 
TPZManVector< REAL > GetAxisZ ()
 
TPZManVector< REAL > GetOrigin ()
 
- Public Member Functions inherited from TPZDiscontinuousGalerkin
 TPZDiscontinuousGalerkin ()
 Simple constructor. More...
 
 TPZDiscontinuousGalerkin (int nummat)
 Constructor with the index of the material object within the vector. More...
 
 TPZDiscontinuousGalerkin (const TPZDiscontinuousGalerkin &copy)
 Copy constructor. More...
 
virtual ~TPZDiscontinuousGalerkin ()
 Destructor. More...
 
virtual void FillDataRequirementsInterface (TPZMaterialData &data) override
 Fill material data parameter with necessary requirements for the ContributeInterface method. More...
 
virtual int GetIntegrationOrder (TPZVec< int > &porder_left, TPZVec< int > &porder_right) const
 return the integration order as a function of interpolation orders of the left and right elements More...
 
virtual int IsInterfaceConservative ()
 Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces. More...
 
virtual void InterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump)
 Computes interface jump = leftu - rightu. More...
 
virtual void BCInterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZBndCond &bc, TPZSolVec &jump)
 Computes interface jump from element to Dirichlet boundary condition. It has to reimplemented. More...
 
virtual void ContributeInterfaceErrors (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR, int &errorid)
 
virtual void ContributeInterfaceBCErrors (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc, int &errorid)
 
virtual void Errors (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual void Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &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 (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 void ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeInterface (TPZVec< TPZMaterialData > &datavec, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 
virtual void ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 Computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef)
 It computes a contribution to residual vector at one integration point. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ef)
 Computes a contribution to residual vector at one integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to residual vector at one BC integration point. More...
 
void SolutionDisc (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
- Public Member Functions inherited from TPZMaterial
 TPZMaterial (int id)
 Creates a material object and inserts it in the vector of material pointers of the mesh. More...
 
 TPZMaterial ()
 Default constructor. More...
 
 TPZMaterial (const TPZMaterial &mat)
 Creates a material object based on the referred object and inserts it in the vector of material pointers of the mesh. More...
 
TPZMaterialoperator= (const TPZMaterial &copy)
 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, 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 (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 ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values)
 
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...
 
int ClassId () const override
 Unique identifier for serialization purposes. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
virtual void Solution (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 Attributes

REAL fIntegral
 

Private Attributes

REAL f_phi
 Mohr Coulomb Plasticity Criteria Data. More...
 
REAL f_c
 Mohr Coulomb Plasticity Criteria Data. More...
 
REAL fE
 Elasticity modulus. More...
 
REAL fnu
 Poison coeficient. More...
 
REAL fAlpha
 Thermal expansion coeficient. More...
 
REAL ff [3]
 Forcing vector. More...
 
REAL fDelTemperature
 Temperature difference. More...
 
REAL fEover21PlusNu
 $ G = E/2(1-nu) $ More...
 
REAL fEover1MinNu2
 $ E/(1-nu) $ More...
 
TPZManVector< REAL > f_AxisR
 Direction of Surface. More...
 
TPZManVector< REAL > f_AxisZ
 Revolution Axis. More...
 
TPZManVector< REAL > f_Origin
 Origin of AxisR and AxisZ. More...
 
REAL fSymmetric
 Symmetric. More...
 
REAL fPenaltyConstant
 Penalty term. More...
 
void(* fTemperatureFunction )(const TPZVec< REAL > &rz, REAL &temperature)
 Function which defines the temperature. 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 TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Member Functions inherited from TPZMaterial
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout)
 
- Protected Attributes inherited from TPZMaterial
TPZAutoPointer< TPZFunction< STATE > > fForcingFunction
 Pointer to forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fForcingFunctionExact
 Pointer to exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimeDependentForcingFunction
 Pointer to time dependent forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentFunctionExact
 Pointer to time dependent exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fBCForcingFunction
 Pointer to bc forcing function, it is a variable boundary condition at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentBCForcingFunction
 Pointer to time dependent bc forcing function, it is a variable boundary condition at differential equation. More...
 
bool fLinearContext
 Defines whether the equation context is linear solver or non linear. More...
 
int fNumLoadCases
 Defines the number of load cases generated by this material. More...
 
int fPostProcIndex
 indicates which solution should be used for post processing More...
 

Detailed Description

Implements a two dimensional elastic material in plane stress or strain.

Definition at line 21 of file pzelasAXImat.h.

Constructor & Destructor Documentation

◆ TPZElasticityAxiMaterial() [1/4]

TPZElasticityAxiMaterial::TPZElasticityAxiMaterial ( )

Default constructor.

Definition at line 25 of file pzelasAXImat.cpp.

References f_AxisR, f_AxisZ, f_c, f_phi, fDelTemperature, fE, fEover1MinNu2, fEover21PlusNu, ff, fnu, fPenaltyConstant, and fSymmetric.

Referenced by NewMaterial().

◆ TPZElasticityAxiMaterial() [2/4]

TPZElasticityAxiMaterial::TPZElasticityAxiMaterial ( int  num,
REAL  E,
REAL  nu,
REAL  fx,
REAL  fy 
)

Creates an elastic material with elasticity modulus (E), poisson coefficient (nu) and forcing functions (fx and fy).

Parameters
nummaterial id
EElasticity modulus
nu$=\nu$ Poisson coefficient
fxForcing function $ -x = fx $
fyForcing function $ -y = fy $
Note
$ fplainstress = 1 $ indicates use of plainstress

Definition at line 51 of file pzelasAXImat.cpp.

References E(), f_AxisR, f_AxisZ, f_c, f_phi, fE, fEover1MinNu2, fEover21PlusNu, ff, fnu, fPenaltyConstant, and fSymmetric.

◆ TPZElasticityAxiMaterial() [3/4]

TPZElasticityAxiMaterial::TPZElasticityAxiMaterial ( int  num,
REAL  E,
REAL  nu,
REAL  fx,
REAL  fy,
REAL  coefTheta,
REAL  coefAlpha 
)

Creates an elastic material test with elasticity modulus (E), poisson coefficient (nu) and forcing functions (fx, fy) and penalty term (coefAlpha).

Parameters
nummaterial id
EElasticity modulus
nu$=\nu$ Poisson coefficient
fxForcing function $ -x = fx $
fyForcing function $ -y = fy $
coefThetaSymmetrical method (-1-> symmetric, 1->nonsymmetric)
coefAlphaPenalty term

Definition at line 73 of file pzelasAXImat.cpp.

References E(), f_AxisR, f_AxisZ, f_c, f_phi, fE, fEover1MinNu2, fEover21PlusNu, ff, fnu, fPenaltyConstant, and fSymmetric.

◆ TPZElasticityAxiMaterial() [4/4]

TPZElasticityAxiMaterial::TPZElasticityAxiMaterial ( const TPZElasticityAxiMaterial copy)

Copies the data of one TPZElasticityAxiMaterial object to another.

Definition at line 94 of file pzelasAXImat.cpp.

References ff.

◆ ~TPZElasticityAxiMaterial()

TPZElasticityAxiMaterial::~TPZElasticityAxiMaterial ( )
virtual

Destructor.

Definition at line 155 of file pzelasAXImat.cpp.

Referenced by NewMaterial().

Member Function Documentation

◆ ClassId()

int TPZElasticityAxiMaterial::ClassId ( ) const
overridevirtual

Unique identifier for serialization purposes.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 1269 of file pzelasAXImat.cpp.

References TPZDiscontinuousGalerkin::ClassId(), and Hash().

Referenced by SetTemperatureFunction().

◆ ComputeR()

REAL TPZElasticityAxiMaterial::ComputeR ( TPZVec< REAL > &  x)

Definition at line 135 of file pzelasAXImat.cpp.

References f_AxisR, and f_Origin.

Referenced by NewMaterial().

◆ Contribute()

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

◆ ContributeBC()

void TPZElasticityAxiMaterial::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

◆ ContributeBCInterface()

virtual void TPZElasticityAxiMaterial::ContributeBCInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
inlineoverridevirtual

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

Parameters
data[in]
dataleft[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition object
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 114 of file pzelasAXImat.h.

References DebugStop, Errors(), Flux(), NSolutionVariables(), PZError, Solution(), rdt::values, and VariableIndex().

◆ ContributeInterface()

void TPZElasticityAxiMaterial::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

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

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
April 16, 2007

R = Dot[{data.x - origin},{AxisR}] ***because AxisR is already normalized!

Constant of thermo of penalty

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 421 of file pzelasAXImat.cpp.

References TPZMaterialData::axes, DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, EMathematicaInput, f_AxisR, f_AxisZ, f_Origin, fabs, fE, fnu, fPenaltyConstant, fSymmetric, TPZFMatrix< TVar >::GetVal(), TPZMaterialData::HSize, LOGPZ_DEBUG, TPZMaterialData::normal, TPZMaterialData::p, TPZMaterialData::phi, TPZVec< T >::Print(), TPZMatrix< TVar >::Print(), TPZMaterialData::PrintMathematica(), TPZFMatrix< TVar >::PutVal(), TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.

Referenced by NFluxes().

◆ Dimension()

virtual int TPZElasticityAxiMaterial::Dimension ( ) const
inlineoverridevirtual

Returns the model dimension.

Implements TPZMaterial.

Definition at line 87 of file pzelasAXImat.h.

References NStateVariables(), and Print().

◆ E()

REAL TPZElasticityAxiMaterial::E ( )
inline

Returns the elasticity modulus E.

Definition at line 142 of file pzelasAXImat.h.

References fE.

Referenced by TPZElasticityAxiMaterial().

◆ Errors()

void TPZElasticityAxiMaterial::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 
)
overridevirtual

Computes the error due to the difference between the interpolated flux and the flux computed based
on the derivative of the solution.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 1214 of file pzelasAXImat.cpp.

References TPZMaterialData::axes, TPZAxesTools< TVar >::Axes2XYZ(), TPZMaterialData::dsol, fabs, fE, fEover1MinNu2, fnu, gamma(), pow(), TPZMaterialData::sol, Solution(), and TPZMaterialData::x.

Referenced by ContributeBCInterface().

◆ Flux()

void TPZElasticityAxiMaterial::Flux ( TPZVec< REAL > &  x,
TPZVec< STATE > &  Sol,
TPZFMatrix< STATE > &  DSol,
TPZFMatrix< REAL > &  axes,
TPZVec< STATE > &  flux 
)
overridevirtual

Computes the value of the flux function to be used by ZZ error estimator.

Reimplemented from TPZMaterial.

Definition at line 1205 of file pzelasAXImat.cpp.

References fabs, and TPZMatrix< TVar >::Print().

Referenced by ContributeBCInterface().

◆ GetAxisR()

TPZManVector< REAL > TPZElasticityAxiMaterial::GetAxisR ( )

Definition at line 140 of file pzelasAXImat.cpp.

References f_AxisR.

Referenced by SetTemperatureFunction().

◆ GetAxisZ()

TPZManVector< REAL > TPZElasticityAxiMaterial::GetAxisZ ( )

Definition at line 145 of file pzelasAXImat.cpp.

References f_AxisZ.

Referenced by SetTemperatureFunction().

◆ GetOrigin()

TPZManVector< REAL > TPZElasticityAxiMaterial::GetOrigin ( )

Definition at line 150 of file pzelasAXImat.cpp.

References f_Origin.

Referenced by SetTemperatureFunction().

◆ Name()

std::string TPZElasticityAxiMaterial::Name ( )
inlineoverridevirtual

Returns the material name.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 96 of file pzelasAXImat.h.

Referenced by Print().

◆ NewMaterial()

virtual TPZMaterial* TPZElasticityAxiMaterial::NewMaterial ( )
inlineoverridevirtual

Creates a new material from the current object ??

Reimplemented from TPZMaterial.

Definition at line 54 of file pzelasAXImat.h.

References ComputeR(), SetOrigin(), TPZElasticityAxiMaterial(), and ~TPZElasticityAxiMaterial().

◆ NFluxes()

virtual int TPZElasticityAxiMaterial::NFluxes ( )
inlineoverridevirtual

Return the number of components which form the flux function.

Reimplemented from TPZMaterial.

Definition at line 102 of file pzelasAXImat.h.

References bc, Contribute(), ContributeBC(), and ContributeInterface().

◆ NSolutionVariables()

int TPZElasticityAxiMaterial::NSolutionVariables ( int  var)
overridevirtual

Returns the number of variables associated with the variable indexed by var.
var is obtained by calling VariableIndex.

returns the number of variables associated with the variable indexed by var, var is obtained by calling VariableIndex

Reimplemented from TPZMaterial.

Definition at line 864 of file pzelasAXImat.cpp.

References TPZMaterial::NSolutionVariables().

Referenced by ContributeBCInterface().

◆ NStateVariables()

int TPZElasticityAxiMaterial::NStateVariables ( ) const
overridevirtual

Returns the number of state variables associated with the material.

Implements TPZMaterial.

Definition at line 158 of file pzelasAXImat.cpp.

Referenced by Dimension().

◆ Nu()

REAL TPZElasticityAxiMaterial::Nu ( )
inline

Returns the poison coefficient modulus E.

Definition at line 145 of file pzelasAXImat.h.

References fnu, and SetPreStress().

◆ NumberOfFluxes()

virtual short TPZElasticityAxiMaterial::NumberOfFluxes ( )
inlinevirtual

Return the number of components which form the flux function.

Definition at line 99 of file pzelasAXImat.h.

◆ Print()

void TPZElasticityAxiMaterial::Print ( std::ostream &  out = std::cout)
overridevirtual

Prints the material data.

Reimplemented from TPZMaterial.

Definition at line 162 of file pzelasAXImat.cpp.

References fE, ff, fnu, Name(), and TPZMaterial::Print().

Referenced by Dimension().

◆ Read()

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

Reads the element data from a stream.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 1277 of file pzelasAXImat.cpp.

References fE, fEover1MinNu2, fEover21PlusNu, ff, fnu, TPZStream::Read(), and TPZMaterial::Read().

Referenced by SetTemperatureFunction().

◆ SetMohrCoulomb()

void TPZElasticityAxiMaterial::SetMohrCoulomb ( double  c,
double  phi 
)
inline

Definition at line 70 of file pzelasAXImat.h.

References f_c, and f_phi.

◆ SetOrigin()

void TPZElasticityAxiMaterial::SetOrigin ( TPZManVector< REAL > &  Orig,
TPZManVector< REAL > &  AxisZ,
TPZManVector< REAL > &  AxisR 
)

Set the origin of Revolution Axis ( $Z$), the direction of Revolution Axis ( $Z$),
and the Radius vector (orthogonal with respect of $Z$ axis).

Parameters
OrigOrigin of revolution axis
AxisZDirection vector of revolutin axis
AxisRRadius vector

Definition at line 107 of file pzelasAXImat.cpp.

References DebugStop, f_AxisR, f_AxisZ, f_Origin, and TPZVec< T >::size().

Referenced by NewMaterial().

◆ SetPreStress()

void TPZElasticityAxiMaterial::SetPreStress ( REAL  Sigxx,
REAL  Sigyy,
REAL  Sigxy 
)

Sets PresStress Tensor.

Referenced by Nu().

◆ SetTemperature()

void TPZElasticityAxiMaterial::SetTemperature ( REAL  delt)
inline

Definition at line 81 of file pzelasAXImat.h.

References fDelTemperature.

◆ SetTemperatureFunction()

void TPZElasticityAxiMaterial::SetTemperatureFunction ( void(*)(const TPZVec< REAL > &rz, REAL &temperature)  func)
inline

Definition at line 150 of file pzelasAXImat.h.

References ClassId(), fTemperatureFunction, GetAxisR(), GetAxisZ(), GetOrigin(), Read(), and Write().

◆ SetThermalExpansionCoefficient()

void TPZElasticityAxiMaterial::SetThermalExpansionCoefficient ( REAL  alpha)
inline

Definition at line 76 of file pzelasAXImat.h.

References fAlpha.

◆ Solution()

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

Returns the solution associated with the var index based on the finite element approximation.

returns the solution associated with the var index based on the finite element approximation

Reimplemented from TPZMaterial.

Definition at line 893 of file pzelasAXImat.cpp.

References acos, TPZMaterialData::axes, cos(), DebugStop, TPZMaterialData::dsol, f_AxisR, f_AxisZ, f_c, f_Origin, f_phi, fabs, fAlpha, fDelTemperature, fE, fnu, fTemperatureFunction, TPZFMatrix< TVar >::GetVal(), LOGPZ_DEBUG, pow(), TPZMatrix< TVar >::Print(), TPZFMatrix< TVar >::PutVal(), TPZVec< T >::Resize(), sin, TPZVec< T >::size(), TPZMaterialData::sol, TPZMaterial::Solution(), sqrt, pzgeom::tol, and TPZMaterialData::x.

Referenced by ContributeBCInterface(), and Errors().

◆ VariableIndex()

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

Returns the variable index associated with the name.

returns the variable index associated with the name

Reimplemented from TPZMaterial.

Definition at line 846 of file pzelasAXImat.cpp.

References TPZMaterial::VariableIndex().

Referenced by ContributeBCInterface().

◆ Write()

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

Saves the element data to a stream.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 1288 of file pzelasAXImat.cpp.

References fE, fEover1MinNu2, fEover21PlusNu, ff, fnu, TPZStream::Write(), and TPZMaterial::Write().

Referenced by SetTemperatureFunction().

Member Data Documentation

◆ f_AxisR

TPZManVector<REAL> TPZElasticityAxiMaterial::f_AxisR
private

◆ f_AxisZ

TPZManVector<REAL> TPZElasticityAxiMaterial::f_AxisZ
private

◆ f_c

REAL TPZElasticityAxiMaterial::f_c
private

Mohr Coulomb Plasticity Criteria Data.

Definition at line 174 of file pzelasAXImat.h.

Referenced by SetMohrCoulomb(), Solution(), and TPZElasticityAxiMaterial().

◆ f_Origin

TPZManVector<REAL> TPZElasticityAxiMaterial::f_Origin
private

Origin of AxisR and AxisZ.

Definition at line 204 of file pzelasAXImat.h.

Referenced by ComputeR(), Contribute(), ContributeBC(), ContributeInterface(), GetOrigin(), SetOrigin(), and Solution().

◆ f_phi

REAL TPZElasticityAxiMaterial::f_phi
private

Mohr Coulomb Plasticity Criteria Data.

Definition at line 172 of file pzelasAXImat.h.

Referenced by SetMohrCoulomb(), Solution(), and TPZElasticityAxiMaterial().

◆ fAlpha

REAL TPZElasticityAxiMaterial::fAlpha
private

Thermal expansion coeficient.

Definition at line 183 of file pzelasAXImat.h.

Referenced by Contribute(), SetThermalExpansionCoefficient(), and Solution().

◆ fDelTemperature

REAL TPZElasticityAxiMaterial::fDelTemperature
private

Temperature difference.

Definition at line 189 of file pzelasAXImat.h.

Referenced by Contribute(), SetTemperature(), Solution(), and TPZElasticityAxiMaterial().

◆ fE

REAL TPZElasticityAxiMaterial::fE
private

Elasticity modulus.

Definition at line 177 of file pzelasAXImat.h.

Referenced by Contribute(), ContributeInterface(), E(), Errors(), Print(), Read(), Solution(), TPZElasticityAxiMaterial(), and Write().

◆ fEover1MinNu2

REAL TPZElasticityAxiMaterial::fEover1MinNu2
private

$ E/(1-nu) $

Definition at line 195 of file pzelasAXImat.h.

Referenced by Errors(), Read(), TPZElasticityAxiMaterial(), and Write().

◆ fEover21PlusNu

REAL TPZElasticityAxiMaterial::fEover21PlusNu
private

$ G = E/2(1-nu) $

Definition at line 192 of file pzelasAXImat.h.

Referenced by Read(), TPZElasticityAxiMaterial(), and Write().

◆ ff

REAL TPZElasticityAxiMaterial::ff[3]
private

Forcing vector.

Definition at line 186 of file pzelasAXImat.h.

Referenced by Contribute(), Print(), Read(), TPZElasticityAxiMaterial(), and Write().

◆ fIntegral

REAL TPZElasticityAxiMaterial::fIntegral

Definition at line 167 of file pzelasAXImat.h.

Referenced by Contribute().

◆ fnu

REAL TPZElasticityAxiMaterial::fnu
private

Poison coeficient.

Definition at line 180 of file pzelasAXImat.h.

Referenced by Contribute(), ContributeInterface(), Errors(), Nu(), Print(), Read(), Solution(), TPZElasticityAxiMaterial(), and Write().

◆ fPenaltyConstant

REAL TPZElasticityAxiMaterial::fPenaltyConstant
private

Penalty term.

Definition at line 210 of file pzelasAXImat.h.

Referenced by ContributeInterface(), and TPZElasticityAxiMaterial().

◆ fSymmetric

REAL TPZElasticityAxiMaterial::fSymmetric
private

Symmetric.

Definition at line 207 of file pzelasAXImat.h.

Referenced by ContributeInterface(), and TPZElasticityAxiMaterial().

◆ fTemperatureFunction

void(* TPZElasticityAxiMaterial::fTemperatureFunction) (const TPZVec< REAL > &rz, REAL &temperature)
private

Function which defines the temperature.

Definition at line 213 of file pzelasAXImat.h.

Referenced by Contribute(), SetTemperatureFunction(), and Solution().


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