3 #ifndef TPZLADEKIMTHERMOFORCEA_H 4 #define TPZLADEKIMTHERMOFORCEA_H 56 return "TPZLadeKimThermoForceA";
59 void Print(std::ostream & out)
const 61 out <<
"\n" << this->
Name();
62 out <<
"\n fRho = " <<
fRho;
63 out <<
"\n fD = " <<
fD;
64 out <<
"\n fPa = " <<
fPa;
69 void SetUp(REAL ksi1, REAL p, REAL
h, REAL C, REAL pa)
81 T
Compute(
const T & alpha)
const;
86 REAL
Compute(
const REAL & alpha)
const;
141 #ifdef LOG4CXX_PLASTICITY 142 LoggerPtr logger(Logger::getLogger(
"plasticity.ladekimthermoforce"));
144 gRefThermoForce = state(0,0);
145 #ifdef LOG4CXX_PLASTICITY 146 std::stringstream sout;
147 sout <<
"Plastic Work " << state;
154 #ifdef LOG4CXX_PLASTICITY 155 LoggerPtr logger(Logger::getLogger(
"plasticity.ladekimthermoforce"));
168 #ifdef LOG4CXX_PLASTICITY 169 std::stringstream sout;
170 sout <<
"Matriz tangent " << tangent;
177 #ifdef LOG4CXX_PLASTICITY 178 LoggerPtr logger(Logger::getLogger(
"plasticity.ladekimthermoforce"));
189 #ifdef LOG4CXX_PLASTICITY 190 std::stringstream sout;
191 sout <<
"Residual vector " <<
res;
209 REAL ksi1 = 0.00155 *
pow(m, -1.27);
210 TFALadeNelson.
SetUp(ksi1, p,
h, C, pa);
228 REAL invRho = 1./
fRho;
230 return T(
pow(
fD, - invRho ) ) *
exp( T(invRho) *
log( localAlpha / T(
fPa) ) );
235 REAL localAlpha = alpha;
237 if( localAlpha < 1.e-60)localAlpha = 1.e-60;
239 REAL invRho = 1./
fRho;
240 return pow(
fD, - invRho ) *
pow( alpha /
fPa, invRho );
246 REAL invRho = 1./
fRho;
247 return T(
pow(
fD, - invRho ) * invRho /
fPa ) *
pow( alpha /
fPa, invRho-1.);
250 #endif //TPZTHERMOFORCEA_H void CheckConvergence(TConv &obj, TPZFMatrix< STATE > &state, TPZFMatrix< STATE > &range, TPZVec< REAL > &coefs)
Implements a general procedure to check whether the class TConv implements a consistente tangent matr...
void LoadState(TPZFMatrix< REAL > &state)
Templated vector implementation.
void ComputeTangent(TPZFMatrix< REAL > &tangent, TPZVec< REAL > &, int icase)
clarg::argBool h("-h", "help message", false)
static REAL gRefThermoForce
void Read(TPZStream &buf, void *context) override
read objects from the stream
void Residual(TPZFMatrix< REAL > &res, int icase)
virtual void Write(const bool val)
#define LOGPZ_DEBUG(A, B)
Define log for debug info.
T Compute(const T &alpha) const
int ClassId() const override
Define the class id associated with the class.
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
T ComputeTangent(const T &alpha) const
TPZLadeKimThermoForceA & operator=(const TPZLadeKimThermoForceA &source)
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
TPZFlopCounter pow(const TPZFlopCounter &orig, const TPZFlopCounter &xp)
Returns the power and increments the counter of the power.
expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ log
const char * Name() const
expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ exp
Defines the interface for saving and reading data. Persistency.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
clarg::argString m("-m", "input matrix file name (text format)", "matrix.txt")
Contains the implementation of the CheckConvergence function.
This class defines the interface to save and restore objects from TPZStream objects. Persistency.
void SetUp(REAL ksi1, REAL p, REAL h, REAL C, REAL pa)
void Print(std::ostream &out) const
Non abstract class which implements full matrices with preallocated storage with (N+1) entries...
TPZLadeKimThermoForceA(const TPZLadeKimThermoForceA &source)
virtual void Read(bool &val)