13 TPZViscoelastic::TPZViscoelastic(
TPZMatWithMem<
TPZFMatrix<REAL>,
TPZElasticity3D> &matwithmem,
int id,REAL lambdaE,REAL muE, REAL lambdaV, REAL muV, REAL alphaT):
TPZMatWithMem<
TPZFMatrix<REAL>,
TPZElasticity3D>(matwithmem), flambdaE(lambdaE),fmuE(muE),flambdaV(lambdaV),fmuV(muV),falphaT(alphaT)
19 std::cout<<
"lambda"<<std::endl;
20 std::cout<<lambda<<std::endl;
21 std::cout<<
"mu"<<std::endl;
22 std::cout<<mu<<std::endl;
24 fE=mu*(3*lambda+2*mu)/(lambda+mu);
27 std::cout<<
"elasticity modulus"<<std::endl;
28 std::cout<<
fE<<std::endl;
29 std::cout<<
"poisson"<<std::endl;
45 const int phr = phi.
Rows();
61 for(in = 0; in < phr; in++)
65 val -= qsi(
_XX_,0) * dphi(0,in);
66 val -= qsi(
_XY_,0) * dphi(1,in);
67 val -= qsi(
_XZ_,0) * dphi(2,in);
69 ef(in*nstate+0,0) += weight *
val;
73 val -= qsi(
_XY_,0) * dphi(0,in);
74 val -= qsi(
_YY_,0) * dphi(1,in);
75 val -= qsi(
_YZ_,0) * dphi(2,in);
77 ef(in*nstate+1,0) += weight *
val;
81 val -= qsi(
_XZ_,0) * dphi(0,in);
82 val -= qsi(
_YZ_,0) * dphi(1,in);
83 val -= qsi(
_ZZ_,0) * dphi(2,in);
85 ef(in*nstate+2,0) += weight *
val;
107 DSolXYZ = data.
dsol[0];
111 Strain(
_XX_,0) = DSolXYZ(0,0);
112 Strain(
_YY_,0) = DSolXYZ(1,1);
113 Strain(
_ZZ_,0) = DSolXYZ(2,2);
114 Strain(
_XY_,0) = 0.5 * ( DSolXYZ(1,0) + DSolXYZ(0,1) );
115 Strain(
_XZ_,0) = 0.5 * ( DSolXYZ(2,0) + DSolXYZ(0,2) );
116 Strain(
_YZ_,0) = 0.5 * ( DSolXYZ(2,1) + DSolXYZ(1,2) );
virtual void Print(std::ostream &out) override
Prints out the data associated with the material.
This class implements a 3D isotropic elasticity material.
TPZGradSolVec dsol
vector of the derivatives of the solution at the integration point
REAL val(STATE &number)
Returns value of the variable.
Implements an abstract class implementing the memory features.
TPZFNMatrix< 220, REAL > phi
vector of shapefunctions (format is dependent on the value of shapetype)
TPZFNMatrix< 660, REAL > dphix
values of the derivative of the shape functions
bool fUpdateMem
Flag to indicate whether the memory data are to be updated in an assemble loop.
int64_t Rows() const
Returns number of rows.
int NStateVariables() const override
Number of state variables.
int intGlobPtIndex
global point index
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
TPZViscoelastic()
Empty constructor.
STATE fPoisson
Poisson's ratio.
STATE fE
Young's modulus.
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ek, TPZFMatrix< REAL > &ef)
virtual TPZFMatrix< STATE > & MemItem(const int i) const