3 #ifndef TPZYCMOHRCOULOMB_H 4 #define TPZYCMOHRCOULOMB_H 13 #ifdef LOG4CXX_PLASTICITY 14 static LoggerPtr logMohr(Logger::getLogger(
"TPZYCMohrOriginal"));
23 virtual int ClassId()
const override;
28 return "TPZYCMohrCoulomb";
31 void Print(std::ostream & out)
const override 121 sigmaTensor.
XX() = sigma[0];
122 sigmaTensor.
YY() = sigma[1];
123 sigmaTensor.
ZZ() = sigma[2];
124 Compute(sigmaTensor, kprev, yield, 0);
149 for(i=0; i<6; i++) gRefTension.
fData[i] = state(i,0);
161 tangent(0,0)=Ndir[0].XX();tangent(0,1)=Ndir[0].XY();tangent(0,2)=Ndir[0].XZ();
162 tangent(1,0)=Ndir[0].XY();tangent(1,1)=Ndir[0].YY();tangent(1,2)=Ndir[0].YZ();
163 tangent(2,0)=Ndir[0].XZ();tangent(2,1)=Ndir[0].YZ();tangent(2,2)=Ndir[0].ZZ();
173 tangent(0,0)=Ndir[0].XX();tangent(0,1)=Ndir[0].XY();tangent(0,2)=Ndir[0].XZ();
174 tangent(1,0)=Ndir[0].XY();tangent(1,1)=Ndir[0].YY();tangent(1,2)=Ndir[0].YZ();
175 tangent(2,0)=Ndir[0].XZ();tangent(2,1)=Ndir[0].YZ();tangent(2,2)=Ndir[0].ZZ();
184 tangent(0,0)=Ndir[0].XX();tangent(0,1)=Ndir[0].XY();tangent(0,2)=Ndir[0].XZ();
185 tangent(1,0)=Ndir[0].XY();tangent(1,1)=Ndir[0].YY();tangent(1,2)=Ndir[0].YZ();
186 tangent(2,0)=Ndir[0].XZ();tangent(2,1)=Ndir[0].YZ();tangent(2,2)=Ndir[0].ZZ();
206 this->
Compute(gRefTension,yield,phi,0);
214 this->
Compute(gRefTension,yield,phi,0);
222 this->
Compute(gRefTension,yield,phi,0);
243 T sigma1,sigma2,sigma3;
244 sigma1 = EigenValues.
XX();
245 sigma2 = EigenValues.
YY();
246 sigma3 = EigenValues.
ZZ();
250 res1=(sigma1 - sigma3) + (sigma1 + sigma3)*
sin(
fPhi) - T(2.)*A*
cos(
fPhi);
251 res6=(sigma1 - sigma2) + (sigma1 + sigma2)*
sin(
fPhi) - T(2.)*A*
cos(
fPhi);
252 res2=(sigma2 - sigma3) + (sigma2 + sigma3)*
sin(
fPhi) - T(2.)*A*
cos(
fPhi);
268 TPZTensor<T> EigenValues, EigenVec1,EigenVec2,EigenVec3;
271 T umplussin,umminsin;
272 TPZTensor<T> e1(EigenVec1),e3(EigenVec3),e1b(EigenVec1),e2b(EigenVec2),e2c(EigenVec2),e3c(EigenVec3);
virtual int GetNYield() const override
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.
void Compute(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &result, int checkForcedYield=0) const
TPZManVector< T, 6 > fData
void Residual(TPZFMatrix< REAL > &res, int icase)
void LoadState(TPZFMatrix< REAL > &state)
LoadState will keep a given state as static variable of the class.
std::underlying_type< Enumeration >::type as_integer(const Enumeration value)
void SetForceYield(const int forceYield)
void AlphaMultiplier(const T &A, T &multiplier) const
clarg::argBool h("-h", "help message", false)
This class implements a simple vector storage scheme for a templated class T. Utility.
void Read(TPZStream &buf, void *context) override
read objects from the stream
void SetUp(const REAL &phi)
void Print(std::ostream &out) const override
virtual void Write(const bool val)
TPZTensor< REAL > gRefTension
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
const char * Name() const
void SetYieldStatusMode(const TPZTensor< REAL > &sigma, const REAL &A)
Defines the interface for saving and reading data. Persistency.
void YieldFunction(const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override
void ComputeTangent(TPZFMatrix< REAL > &tangent, TPZVec< REAL > &coefs, int icase)
int NumCases()
Number of types of residuals.
virtual int ClassId() const override
Define the class id associated with the class.
void H(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const
TPZFlopCounter cos(const TPZFlopCounter &orig)
Returns the cosine in radians and increments the counter of the Cosine.
void N(const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield=0) const
virtual void Read(bool &val)