13 #ifndef TPZMOHRCOULOMB_H 14 #define TPZMOHRCOULOMB_H 24 #ifdef LOG4CXX_PLASTICITY 25 static LoggerPtr loggerMohrCoulomb(Logger::getLogger(
"MCC"));
28 #define MOHRCOULOMBPARENT TPZPlasticStep<TPZYCMohrCoulomb, TPZThermoForceA, TPZElasticResponse> 41 fMaterialTensionSign = 1;
42 fInterfaceTensionSign = 1;
51 MOHRCOULOMBPARENT::operator=(source);
55 virtual const char *
Name()
const override 57 return "TPZMohrCoulomb";
63 REAL cohesion = 11.2033;
64 REAL phi = 20./180. * pi;
65 REAL hardening = 1000.;
68 material.fYC.
SetUp(phi);
69 material.fTFA.
SetUp(cohesion, hardening);
70 material.fER.SetEngineeringData(young, poisson);
77 REAL phi = 20./180. * pi;
81 material.fYC.
SetUp(phi);
82 material.fTFA.
SetUp(cohesion, hardening);
83 material.fER.SetEngineeringData(young, poisson);
86 void SetUp(REAL & cohesion, REAL & phi, REAL & hardening, REAL &young, REAL &poisson)
88 MOHRCOULOMBPARENT::fYC.SetUp(phi);
89 MOHRCOULOMBPARENT::fTFA.SetUp(cohesion, hardening);
90 MOHRCOULOMBPARENT::fER.SetEngineeringData(young, poisson);
94 MOHRCOULOMBPARENT::SetUp(epsTotal);
97 virtual void Print(std::ostream & out)
const override 99 out <<
"\n" << this->
Name();
100 out <<
"\n Base Class Data:\n";
101 MOHRCOULOMBPARENT::Print(out);
109 MOHRCOULOMBPARENT::Write(buf, withclassid);
111 buf.
Write(&fYC.fPhi, 1);
113 REAL lambda = fER.Lambda();
115 buf.
Write(&lambda, 1);
118 buf.
Write(&fTFA.fSigmaYield0, 1);
119 buf.
Write(&fTFA.fK, 1);
121 buf.
Write(&fResTol, 1);
122 buf.
Write(&fIntegrTol, 1);
123 buf.
Write(&fMaxNewton, 1);
124 buf.
Write(&fMinLambda, 1);
126 buf.
Write(&fN.m_eps_t.fData[0], 6);
127 buf.
Write(&fN.m_eps_p.fData[0], 6);
128 buf.
Write(&fN.m_hardening, 1);
134 MOHRCOULOMBPARENT::Read(buf, context);
136 buf.
Read(&fYC.fPhi, 1);
138 REAL lambda = fER.Lambda();
140 buf.
Read(&lambda, 1);
143 buf.
Read(&fTFA.fSigmaYield0, 1);
144 buf.
Read(&fTFA.fK, 1);
146 buf.
Read(&fResTol, 1);
147 buf.
Read(&fIntegrTol, 1);
148 buf.
Read(&fMaxNewton, 1);
149 buf.
Read(&fMinLambda, 1);
151 buf.
Read(&fN.m_eps_t.fData[0], 6);
152 buf.
Read(&fN.m_eps_p.fData[0], 6);
153 buf.
Read(&fN.m_hardening, 1);
155 fPlasticMem.Resize(0);
168 #endif //TPZMohrCoulomb_H TPZMohrCoulomb(const TPZMohrCoulomb &source)
Contains definitions to LOGPZ_DEBUG, LOGPZ_INFO, LOGPZ_WARN, LOGPZ_ERROR and LOGPZ_FATAL, and the implementation of the inline InitializePZLOG(string) function using log4cxx library or not. It must to be called out of "#ifdef LOG4CXX" scope.
static void ConventionalConcrete(TPZMohrCoulomb &material)
void Read(TPZStream &buf, void *context) override
std::underlying_type< Enumeration >::type as_integer(const Enumeration value)
void Write(TPZStream &buf, int withclassid) const override
virtual void SetUp(const TPZTensor< REAL > &epsTotal) override
virtual void Print(std::ostream &out) const override
virtual const char * Name() const override
virtual int GetNYield() const
virtual void Write(const bool val)
static void TaludeMaterial(TPZMohrCoulomb &material)
void SetUp(REAL &cohesion, REAL &phi, REAL &hardening, REAL &young, REAL &poisson)
#define MOHRCOULOMBPARENT
int ClassId() const override
Defines the interface for saving and reading data. Persistency.
TPZMohrCoulomb & operator=(const TPZMohrCoulomb &source)
virtual void Read(bool &val)