5 #ifndef TPZYCVONMISESCOMBTRESCA_H 6 #define TPZYCVONMISESCOMBTRESCA_H 21 virtual int ClassId()
const override;
26 return "TPZYCVonMisesCombTresca";
29 void Print(std::ostream & out)
const override 31 out <<
"\n" << this->
Name();
32 out <<
"\n fVonMises :\n";
34 out <<
"\n fTresca :\n";
125 sigmaTensor.
XX() = sigma[0];
126 sigmaTensor.
YY() = sigma[1];
127 sigmaTensor.
ZZ() = sigma[2];
128 Compute(sigmaTensor, kprev, yield, 0);
147 #ifdef LOG4CXX_PLASTICITY 148 LoggerPtr logger(Logger::getLogger(
"plasticity.ycvonmisescombtresca"));
152 #ifdef LOG4CXX_PLASTICITY 153 std::stringstream sout;
154 sout << __PRETTY_FUNCTION__ <<
" wrong vector size: res has dimension = " << res.
NElements()
155 <<
" waiting for size = 2";
161 const T aux1 = A*T(
cos(3.141592/6.)/
cos(3.141592/12.));
167 #ifdef LOG4CXX_PLASTICITY 169 std::stringstream sout;
170 sout << __PRETTY_FUNCTION__ <<
" valores dos phi " <<
res;
171 sout <<
"\nvalor aux1 " << aux1;
172 sout <<
"\nvalor A " << A;
182 #ifdef LOG4CXX_PLASTICITY 183 LoggerPtr logger(Logger::getLogger(
"plasticity.ycvonmisescombtresca"));
185 if (NDir.NElements()!=2)
187 #ifdef LOG4CXX_PLASTICITY 188 std::stringstream sout;
189 sout << __PRETTY_FUNCTION__ <<
" wrong vector size: Ndir has dimension = " << NDir.NElements()
190 <<
" waiting for size = 2";
198 fTresca.
N(sigma,A,aux,checkForcedYield);
206 #ifdef LOG4CXX_PLASTICITY 207 LoggerPtr logger(Logger::getLogger(
"plasticity.ycvonmisescombtresca"));
211 #ifdef LOG4CXX_PLASTICITY 212 std::stringstream sout;
213 sout << __PRETTY_FUNCTION__ <<
" wrong vector size: h has dimension = " << h.
NElements()
214 <<
" waiting for size = 2";
222 fTresca.
H(sigma,A,aux,checkForcedYield);
Implementa a plastificacao do criterio de Von Mises.
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 SetYieldStatusMode(const TPZTensor< REAL > &sigma, const REAL &A)
void AlphaMultiplier(const T &A, T &multiplier) const
virtual int GetNYield() const override
std::underlying_type< Enumeration >::type as_integer(const Enumeration value)
void N(const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield=0) const
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
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 H(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
void Read(TPZStream &buf, void *context) override
read objects from the stream
const char * Name() const
TPZYCVonMisesCombTresca()
Constructor.
TPZYCTrescaRegularized fTresca
Pointer to Tresca's yield criteria object.
void Print(std::ostream &out) const override
void Compute(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &res, int checkForcedYield=0) const
void Compute(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &result, int checkForcedYield=0) const
Calculo do criterio de plastificacao.
#define LOGPZ_DEBUG(A, B)
Define log for debug info.
void YieldFunction(const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override
void H(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const
#define LOGPZ_ERROR(A, B)
Define log for errors (cout)
This class implements a tresca yield criteria whrere the gradient of the inverse angle is regularized...
void N(const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &NDir, int checkForcedYield=0) const
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
void N(const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield=0) const
Derivada da funcao de plastificacao.
TPZYCVonMises fVonMises
Pointer to Von Mises's yield criteria object.
virtual int ClassId() const override
Define the class id associated with the class.
void SetForceYield(const int forceYield)
void Read(TPZStream &buf, void *context) override
read objects from the stream
void Print(std::ostream &out) const override
void H(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const
Defines the interface for saving and reading data. Persistency.
int64_t NElements() const
Returns the number of elements of the vector.
TPZFlopCounter cos(const TPZFlopCounter &orig)
Returns the cosine in radians and increments the counter of the Cosine.
void Compute(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &res, int checkForcedYield=0) const
void Print(std::ostream &out) const override