NeoPZ
TPZPlasticBase.h
Go to the documentation of this file.
1 /*
2  * File: TPZPlasticBase.h
3  * Author: quinelato
4  *
5  * Created on 30 de Outubro de 2017, 09:32
6  */
7 
8 #ifndef TPZPLASTICBASE_H
9 #define TPZPLASTICBASE_H
10 
11 #include "TPZSavable.h"
12 #include "TPZTensor.h"
13 #include "TPZPlasticState.h"
14 #include "TPZElasticResponse.h"
15 #include "TPZPlasticCriterion.h"
16 
17 class TPZPlasticBase : public TPZSavable {
18 public:
19 
20  int ClassId() const override;
21 
22  virtual ~TPZPlasticBase();
23  virtual void ApplyStrain(const TPZTensor<REAL> &epsTotal) = 0; // Candidate to be deprecated.
24  // @TODO:: Rename to ComputeStress
25  virtual void ApplyStrainComputeSigma(const TPZTensor<REAL> &epsTotal, TPZTensor<REAL> &sigma, TPZFMatrix<REAL> * tangent = NULL) = 0;
26  virtual void ApplyStrainComputeDep(const TPZTensor<REAL> &epsTotal, TPZTensor<REAL> &sigma, TPZFMatrix<REAL> &Dep) = 0; // Candidate to be deprecated.
27  // @TODO:: Rename to ComputeStrain
28  virtual void ApplyLoad(const TPZTensor<REAL> & sigma, TPZTensor<REAL> &epsTotal) = 0;
29 
30  virtual void SetState(const TPZPlasticState<REAL> &state) = 0;
31  virtual TPZPlasticState<REAL> GetState() const = 0;
32 
33  // @TODO:: Rename to GetYieldCriterion
34  virtual TPZPlasticCriterion& GetYC() = 0;
35  virtual void Phi(const TPZTensor<REAL> &epsTotal, TPZVec<REAL> &phi) const = 0;
36  virtual int IntegrationSteps() const;
37 
38  virtual void SetElasticResponse(TPZElasticResponse &ER) = 0;
39  virtual TPZElasticResponse GetElasticResponse() const = 0;
40  virtual const char * Name()const = 0;
41  virtual void Print(std::ostream & out)const = 0;
42  virtual void Write(TPZStream& buf, int withclassid) const override = 0;
43  virtual void Read(TPZStream& buf, void* context) override = 0;
44 
45 
46  virtual void ResetPlasticStrain();
47 
48 };
49 
50 
51 #endif /* TPZPLASTICBASE_H */
52 
virtual TPZElasticResponse GetElasticResponse() const =0
Contains declaration of the TPZSavable class which defines the interface to save and restore objects ...
virtual TPZPlasticState< REAL > GetState() const =0
virtual void SetState(const TPZPlasticState< REAL > &state)=0
virtual TPZPlasticCriterion & GetYC()=0
virtual void Write(TPZStream &buf, int withclassid) const override=0
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
virtual void ApplyStrain(const TPZTensor< REAL > &epsTotal)=0
virtual void ApplyLoad(const TPZTensor< REAL > &sigma, TPZTensor< REAL > &epsTotal)=0
virtual const char * Name() const =0
virtual void Read(TPZStream &buf, void *context) override=0
read objects from the stream
virtual void Print(std::ostream &out) const =0
virtual ~TPZPlasticBase()
virtual void ApplyStrainComputeDep(const TPZTensor< REAL > &epsTotal, TPZTensor< REAL > &sigma, TPZFMatrix< REAL > &Dep)=0
virtual int IntegrationSteps() const
virtual void Phi(const TPZTensor< REAL > &epsTotal, TPZVec< REAL > &phi) const =0
virtual void ApplyStrainComputeSigma(const TPZTensor< REAL > &epsTotal, TPZTensor< REAL > &sigma, TPZFMatrix< REAL > *tangent=NULL)=0
virtual void ResetPlasticStrain()
Defines the interface for saving and reading data. Persistency.
Definition: TPZStream.h:50
This class defines the interface to save and restore objects from TPZStream objects. Persistency.
Definition: TPZSavable.h:67
int ClassId() const override
Define the class id associated with the class.
virtual void SetElasticResponse(TPZElasticResponse &ER)=0