5 #ifndef TZPDRUCKERPRAGER_H 6 #define TZPDRUCKERPRAGER_H 16 #ifdef LOG4CXX_PLASTICITY 17 static LoggerPtr loggerDrucker(Logger::getLogger(
"plasticity.Drucker"));
20 #define DRUCKERPARENT TPZPlasticStep<TPZYCDruckerPrager, TPZThermoForceA, TPZElasticResponse> 32 fMaterialTensionSign = 1;
33 fInterfaceTensionSign = 1;
42 DRUCKERPARENT::operator=(source);
49 virtual const char *
Name()
const override {
50 return "TPZDruckerPrager";
64 void SetUp(REAL young, REAL poisson, REAL fangle, REAL coesion, REAL hardeningModulus,
int InnerOuter = 0) {
66 DRUCKERPARENT::fYC.SetUp(fangle / 180. * M_PI, InnerOuter);
67 DRUCKERPARENT::fTFA.SetUp(coesion, hardeningModulus);
68 DRUCKERPARENT::fER.SetEngineeringData(young, poisson);
79 DRUCKERPARENT::SetUp(epsTotal);
88 virtual void Print(std::ostream & out)
const override {
89 out <<
"\n" << this->
Name();
90 out <<
"\n Base Class Data:\n";
91 DRUCKERPARENT::Print(out);
92 out <<
"\nTPZDruckerPrager internal members:";
93 out <<
"\n a*Pa = " <<
faPa;
101 DRUCKERPARENT::Write(buf, withclassid);
108 DRUCKERPARENT::Read(buf, context);
130 REAL hardeningModulus = 1.;
132 material.fResTol = 1.e-8;
135 material.
SetUp(young, poisson, fangle, coesion, hardeningModulus);
141 REAL young = 10000000000.;
143 REAL hardeningModulus = 10000000000.;
144 REAL coesion = 10000.;
145 material.fResTol = 1.e-8;
146 material.
SetUp(young, poisson, fangle, coesion, hardeningModulus);
152 REAL cohesion = 11.2033;
153 REAL phi = 20. / 180. * pi;
154 REAL hardening = 1000.;
157 material.fYC.
SetUp(phi, InnerOuter);
158 material.fTFA.
SetUp(cohesion, hardening);
159 material.fER.SetEngineeringData(young, poisson);
165 REAL phi = 20. / 180. * pi;
166 REAL hardening = 10000.;
169 material.fYC.
SetUp(phi, InnerOuter);
170 material.fTFA.
SetUp(cohesion, hardening);
171 material.fER.SetEngineeringData(young, poisson);
195 #endif //TPZDruckerPrager_H
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
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 PlainConcreteMPa(TPZDruckerPrager &material)
virtual void Print(std::ostream &out) const override
std::underlying_type< Enumeration >::type as_integer(const Enumeration value)
REAL YieldRadius(TPZPlasticState< REAL > state)
void Write(TPZStream &buf, int withclassid) const override
TPZDruckerPrager(const TPZDruckerPrager &source)
virtual void Write(const bool val)
virtual const char * Name() const override
static void TaludeMaterial(TPZDruckerPrager &material, int InnerOuter)
TPZDruckerPrager & operator=(const TPZDruckerPrager &source)
expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ sqrt
void Read(TPZStream &buf, void *context) override
read objects from the stream
void SetUp(REAL young, REAL poisson, REAL fangle, REAL coesion, REAL hardeningModulus, int InnerOuter=0)
const T & VolHardening() const
int ClassId() const override
virtual void SetUp(const TPZTensor< REAL > &epsTotal) override
void Read(TPZStream &buf, void *context) override
static void ConventionalConcrete(TPZDruckerPrager &material, int InnerOuter)
TPZPlasticState< REAL > fInitialEps
Defines the interface for saving and reading data. Persistency.
virtual int GetNYield() const
static void VeryRigidMaterial(TPZDruckerPrager &material)
virtual void Read(bool &val)