NeoPZ
TPZMatElastoPlastic2D.h
Go to the documentation of this file.
1 
5 #ifndef PZELASTOPLASTIC2D_H
6 #define PZELASTOPLASTIC2D_H
7 
8 #include "TPZMaterial.h"
9 #include "TPZMatWithMem.h"
10 #include "TPZElastoPlasticMem.h"
11 #include "pzporoelastoplasticmem.h"
12 #include "TPZMatElastoPlastic.h"
13 #include "TPZMaterial.h"
14 
20 template <class T, class TMEM = TPZElastoPlasticMem>
21 class TPZMatElastoPlastic2D : public TPZMatElastoPlastic<T,TMEM> //, TPZMatWithMem<TMEM>
22 {
23 public:
24 
25  //enum SOLUTIONVARS{ENone = -1};
30 
36  TPZMatElastoPlastic2D(int id , int PlaneStrainOrPlaneStress);
37 
44 
45  virtual ~TPZMatElastoPlastic2D();
46 
48  virtual std::string Name() override;
49 
51  virtual int Dimension() const override { return 2; }
52 
54  virtual int NStateVariables() const override { return 2; }
55 
57  virtual void Print(std::ostream &out) override;
58 
60  virtual void Print(std::ostream &out, const int memory) override;
61 
62 
65  virtual void Solution(TPZMaterialData &data, int var, TPZVec<REAL> &Solout) override;
66 
74  virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix<REAL> &ef) override;
75 
83  virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix<REAL> &ek, TPZFMatrix<REAL> &ef) override;
84 
88  virtual void FillBoundaryConditionDataRequirement(int type,TPZMaterialData &data) override;
89 
98  virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix<STATE> &ek, TPZFMatrix<STATE> &ef, TPZBndCond &bc) override;
99 
108  virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix<STATE> &ef, TPZBndCond &bc) override;
109 
110 
115  virtual void ComputeDeltaStrainVector(TPZMaterialData & data, TPZFMatrix<REAL> &DeltaStrain);
116 
117 
124  virtual void ApplyDeltaStrainComputeDep(TPZMaterialData & data, TPZFMatrix<REAL> & DeltaStrain,
125  TPZFMatrix<REAL> & Stress, TPZFMatrix<REAL> & Dep);
126 
132  virtual void ApplyDeltaStrain(TPZMaterialData & data, TPZFMatrix<REAL> & DeltaStrain,
133  TPZFMatrix<REAL> & Stress);
134 
135 
137  virtual TPZMaterial * NewMaterial() override;
138 
139 
143  public:
144 virtual int ClassId() const override;
145 
146 
150  virtual void Write(TPZStream &buf, int withclassid) const override;
151 
155  virtual void Read(TPZStream &buf, void *context) override;
156 
157 
158 protected:
159 
160 
162 
163 };
164 
165 template <class T, class TMEM>
167  return Hash("TPZMatElastoPlastic2D") ^ TPZMatElastoPlastic<T,TMEM>::ClassId() << 1;
168 }
169 
170 #endif
clarg::argBool bc("-bc", "binary checkpoints", false)
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
virtual void ComputeDeltaStrainVector(TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain)
virtual void FillBoundaryConditionDataRequirement(int type, TPZMaterialData &data) override
virtual void Read(TPZStream &buf, void *context) override
virtual int Dimension() const override
This abstract class defines the behaviour which each derived class needs to implement.
Definition: TPZMaterial.h:39
virtual void Write(TPZStream &buf, int withclassid) const override
This class defines the boundary condition for TPZMaterial objects.
Definition: pzbndcond.h:29
virtual int ClassId() const override
virtual void ApplyDeltaStrainComputeDep(TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain, TPZFMatrix< REAL > &Stress, TPZFMatrix< REAL > &Dep)
virtual void Solution(TPZMaterialData &data, int var, TPZVec< REAL > &Solout) override
int32_t Hash(std::string str)
Definition: TPZHash.cpp:10
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ef) override
Contains the TPZMatWithMem class which implements the memory features.
virtual void ApplyDeltaStrain(TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain, TPZFMatrix< REAL > &Stress)
virtual int ClassId() const override
virtual std::string Name() override
virtual void Print(std::ostream &out) override
Prints out the data associated with the material.
virtual int NStateVariables() const override
Defines the interface for saving and reading data. Persistency.
Definition: TPZStream.h:50
virtual TPZMaterial * NewMaterial() override