39 EVonMisesStress,
EStress,
EStrain,
EStrain1,
EStress1,
ENormalStress,
ENormalStrain,
EStressX,
EStressY,
EStressZ,
52 STATE preStressXX = 0., STATE preStressYY = 0., STATE preStressZZ = 0.);
81 return 2*(elPMaxOrder);
85 virtual void Print(std::ostream & out)
override;
93 PZError << __PRETTY_FUNCTION__ <<
" - ERROR!\n";
114 virtual std::string
Name()
override {
return "TPZElasticity3D"; }
169 PZError <<
"\nTPZElasticity3D::NFluxes() - Method not implemented\n";
178 PZError <<
"\nTPZElasticity3D::Flux - Method not implemented\n";
211 fE = mu*((REAL(3))*lambda+((REAL(2))*mu))/(lambda + mu);
212 fPoisson = lambda/((REAL(2))*(lambda + mu));
225 for(
int i = 0; i < 3; i++) this->
fForce[i] = force[i];
294 virtual void Write(
TPZStream &buf,
int withclassid)
const override;
299 virtual int ClassId()
const override;
virtual void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
virtual void Solution(TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
Returns the solution associated with the var index based on the finite element approximation.
void ComputeStrainVector(TPZFMatrix< STATE > &Strain, TPZFMatrix< STATE > &DSol) const
REAL fFy
Yeilding stress for von mises post processing.
void SetVonMises(REAL fy)
void PrincipalDirection(TPZFMatrix< STATE > &DSol, TPZVec< STATE > &Solout, int direction) const
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
It computes a contribution to the residual vector at one integration point.
virtual void ContributeVecShapeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
void SetMaterialDataLame(REAL lambda, REAL mu)
clarg::argBool bc("-bc", "binary checkpoints", false)
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-processe...
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.
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.
int Dimension() const override
Returns model dimension.
Templated vector implementation.
This class implements a 3D isotropic elasticity material.
PLASTICPOSTPROC fPlasticPostProc
Plastic model for post-processing.
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...
virtual void ContributeVecShape(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
void ApplyDirection(TPZFMatrix< STATE > &StrVec, TPZVec< STATE > &Out) const
void Invariants(TPZFMatrix< STATE > &A, STATE &I1, STATE &I2, STATE &I3) const
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...
virtual TPZMaterial * NewMaterial() override
Creates a new material from the current object ??
virtual void ComputeStressTensor(TPZFMatrix< STATE > &Stress, TPZMaterialData &data) const
void StressDecomposition(TPZFMatrix< STATE > &StressTensor, TPZFMatrix< STATE > &Deviator, STATE &p) const
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object.
REAL fFrictionAngle
Mohr-Coulomb parameters.
virtual int ClassId() const override
Define the class id associated with the class.
This abstract class defines the behaviour which each derived class needs to implement.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
Implements Dirichlet and Neumann boundary conditions.
void SetForce(TPZVec< STATE > force)
virtual void Print(std::ostream &out) override
Print material report.
virtual int NFluxes() override
Return the number of components which form the flux function.
TPZManVector< REAL, 3 > fPostProcessDirection
Direction to compute stress and strain.
TPZManVector< REAL > fPreStress
virtual ~TPZElasticity3D()
Default destructor.
void FillDataRequirements(TPZMaterialData &data) override
Fill material data parameter with necessary requirements for the Contribute method.
Contains TPZMatrixclass which implements full matrix (using column major representation).
virtual std::string Name() override
Material name.
This class defines the boundary condition for TPZMaterial objects.
virtual int IntegrationRuleOrder(int elPMaxOrder) const override
Gets the order of the integration rule necessary to integrate an element with polinomial order p...
void SetMohrCoulomb(REAL fc, REAL ft)
STATE MohrCoulombPlasticFunction(TPZFMatrix< STATE > &StressTensor) const
virtual int NEvalErrors() override
Returns the number of norm errors: 3 (Semi H1, L2 and H1)
int NStateVariables() const override
Number of state variables.
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...
void SetPostProcessingDirection(TPZVec< REAL > &Direction)
Direction to post process stress and strain. Result of post processing is (Stress.Direction) or (Strain.Direction)
virtual void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
void ComputeStrainTensor(TPZFMatrix< STATE > &Strain, TPZFMatrix< STATE > &DSol) const
virtual void ComputeStressVector(TPZFMatrix< STATE > &Stress, TPZFMatrix< STATE > &DSol) const
void SetMaterialDataHook(REAL Ela, REAL poisson)
virtual void FillBoundaryConditionDataRequirement(int type, TPZMaterialData &data) override
This method defines which parameters need to be initialized in order to compute the contribution of t...
STATE fPoisson
Poisson's ratio.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
Implements Dirichlet and Neumann boundary conditions.
expr_ expr_ expr_ expr_ expr_ expr_ asin
TPZManVector< STATE, 3 > fForce
External forces.
Defines the interface for saving and reading data. Persistency.
STATE fE
Young's modulus.
int64_t NElements() const
Returns the number of elements of the vector.
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.
STATE VonMisesPlasticFunction(TPZFMatrix< STATE > &StressTensor) const
virtual int VariableIndex(const std::string &name) override
Returns index of post-processing variable.
STATE GetPrestress(int index)
TPZElasticity3D()
Default constructor.
virtual int NSolutionVariables(int var) override
Number of data of variable var.
#define PZError
Defines the output device to error messages and the DebugStop() function.