5 #ifndef TPZYCVONMISES_H 6 #define TPZYCVONMISES_H 26 return "TPZYCVonMises";
30 virtual int ClassId()
const override;
33 void Print(std::ostream & out)
const override 105 sigmaTensor.
XX() = sigma[0];
106 sigmaTensor.
YY() = sigma[1];
107 sigmaTensor.
ZZ() = sigma[2];
108 Compute(sigmaTensor, kprev, yield, 0);
133 #ifdef LOG4CXX_PLASTICITY 134 LoggerPtr logger(Logger::getLogger(
"plasticity.ycvonmises"));
137 for(i=0; i<6; i++) gRefTension[i] = state(i,0);
138 #ifdef LOG4CXX_PLASTICITY 139 std::stringstream sout;
140 sout <<
"Tensao " << state;
147 #ifdef LOG4CXX_PLASTICITY 148 LoggerPtr logger(Logger::getLogger(
"plasticity.ycvonmises"));
159 gRefTension.
dJ2(dj2);
161 for(i=0; i<6; i++) tangent(0,i) = dj2[i];
164 j2 = gRefTension.
J2();
165 gRefTension.
dJ2(dj2);
169 for(i=0; i<6; i++) tangent(0,i) = dj2[i];
172 N(gRefTension,A,ndir,0);
174 for(i=0; i<6; i++) tangent(0,i) = ndir[0][i];
176 #ifdef LOG4CXX_PLASTICITY 177 std::stringstream sout;
178 sout <<
"Matriz tangent " << tangent;
185 #ifdef LOG4CXX_PLASTICITY 186 LoggerPtr logger(Logger::getLogger(
"plasticity.ycvonmises"));
194 j2 = gRefTension.
J2();
199 j2 = gRefTension.
J2();
204 Compute(gRefTension,A,phivec,0);
206 res(0,0) = phivec[0];
209 #ifdef LOG4CXX_PLASTICITY 210 std::stringstream sout;
211 sout <<
"valor phi " <<
res(0,0);
227 T temp =
sqrt(T(3.)*J2);
244 Ndir[0].Multiply(T(0.5)/
sqrt(sigma.
J2()),
sqrt(3.));
259 #endif //TPZYCVONMISES_H const char * Name() const
void Multiply(const T1 &multipl, const T2 &constant)
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.
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 YieldFunction(const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override
clarg::argBool h("-h", "help message", false)
This class implements a simple vector storage scheme for a templated class T. Utility.
virtual int ClassId() const override
Define the class id associated with the class.
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
void SetYieldStatusMode(const TPZTensor< REAL > &sigma, const REAL &A)
void AlphaMultiplier(const T &A, T &multiplier) const
Contains TPZMatrixclass which implements full matrix (using column major representation).
#define LOGPZ_DEBUG(A, B)
Define log for debug info.
void dJ2(TPZTensor< T > &Tangent) const
void LoadState(TPZFMatrix< REAL > &state)
void H(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const
expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ sqrt
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
virtual int GetNYield() const override
void Read(TPZStream &buf, void *context) override
read objects from the stream
void Print(std::ostream &out) const override
Defines the interface for saving and reading data. Persistency.
static TPZTensor< REAL > gRefTension
void ComputeTangent(TPZFMatrix< REAL > &tangent, TPZVec< REAL > &, int icase)
void Residual(TPZFMatrix< REAL > &res, int icase)
void Compute(const TPZTensor< T > &sigma, const T &A, TPZVec< T > &res, int checkForcedYield=0) const
void SetForceYield(const int forceYield)
void S(TPZTensor< T > &s) const