46 #ifndef J2Plasticity_h 47 #define J2Plasticity_h 76 #include "utility/matrix/Vector.h" 77 #include "utility/matrix/Matrix.h" 78 #include "material/nD/NDMaterial.h" 117 static constexpr
int tDim= 3;
120 static double IIdev[tDim][tDim][tDim][tDim];
121 static double IbunI[tDim][tDim][tDim][tDim];
127 static constexpr
double one3= (1/3);
128 static constexpr
double two3= (2/3);
129 static constexpr
double four3= (4/3);
130 static const double root23;
137 double q(
double xi );
138 double qprime(
double xi );
141 virtual void index_map(
int matrix_index,
int &i,
int &j )
const;
156 double viscosity = 0 );
159 J2Plasticity(
int tag,
int classTag,
double K,
double G );
163 void setup(
const double &K= 0.0,
const double &G= 0.0,
const double &yield0= 0.0,
const double &yield_infty= 0.0,
const double &d= 0.0,
const double &H= 0.0,
const double &viscosity= 0.0);
176 void Print(std::ostream &s,
int flag = 0)
const;
179 virtual const std::string &getType(
void)
const;
180 virtual int getOrder(
void)
const;
virtual int commitState(void)
Commit material state.
Definition: J2Plasticity.cpp:544
virtual int revertToStart(void)
Revert to start.
Definition: J2Plasticity.cpp:556
double sigma_0
initial yield stress
Definition: J2Plasticity.h:103
Base class for J2 isotropic hardening materials.The von Mises theory is often called “J2 plasticityâ€...
Definition: J2Plasticity.h:97
virtual int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: J2Plasticity.cpp:616
Communication parameters between processes.
Definition: Communicator.h:66
Matrix epsilon_p_nplus1
plastic strain time n+1
Definition: J2Plasticity.h:111
void doInitialTangent(void) const
Set up for initial elastic.
Definition: J2Plasticity.cpp:429
double delta
exponential hardening parameter
Definition: J2Plasticity.h:105
Matrix strain
strain tensor
Definition: J2Plasticity.h:124
J2Plasticity()
Default constructor.
Definition: J2Plasticity.cpp:171
virtual int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: J2Plasticity.cpp:601
void zero()
Zero internal variables.
Definition: J2Plasticity.cpp:92
double Hard
linear hardening parameter
Definition: J2Plasticity.h:106
Matrix epsilon_p_n
plastic strain time n
Definition: J2Plasticity.h:110
double q(double xi)
Hardening function.
Definition: J2Plasticity.cpp:457
double xi_nplus1
xi time n+1
Definition: J2Plasticity.h:113
double qprime(double xi)
Hardening function derivative.
Definition: J2Plasticity.cpp:465
static double initialTangent[tDim][tDim][tDim][tDim]
material tangent
Definition: J2Plasticity.h:119
double bulk
bulk modulus: ratio between pressure increase and the resulting decrease in a material's volume...
Definition: J2Plasticity.h:101
double eta
viscosity
Definition: J2Plasticity.h:107
virtual NDMaterial * getCopy(void) const
Virtual constructor.
Definition: J2Plasticity.cpp:518
Base class for 2D and 3D materials.
Definition: NDMaterial.h:101
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: J2Plasticity.cpp:564
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: J2Plasticity.cpp:582
Matrix stress
stress tensor
Definition: J2Plasticity.h:116
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
double tangent[tDim][tDim][tDim][tDim]
tensor dimension
Definition: J2Plasticity.h:118
virtual int revertToLastCommit(void)
Revert to the last committed state.
Definition: J2Plasticity.cpp:552
double xi_n
xi time n
Definition: J2Plasticity.h:112
Matrix of floats.
Definition: Matrix.h:111
static double IIdev[tDim][tDim][tDim][tDim]
rank 4 deviatoric
Definition: J2Plasticity.h:120
static double IbunI[tDim][tDim][tDim][tDim]
rank 4 I bun I
Definition: J2Plasticity.h:121
double shear
shear modulus
Definition: J2Plasticity.h:102
void Print(std::ostream &s, int flag=0) const
Print stuff.
Definition: J2Plasticity.cpp:238
double sigma_infty
final saturation yield stress (often comparable to the ultimate tensile strength).
Definition: J2Plasticity.h:104
void plastic_integrator()
Plasticity integration routine.
Definition: J2Plasticity.cpp:257
void setup(const double &K=0.0, const double &G=0.0, const double &yield0=0.0, const double &yield_infty=0.0, const double &d=0.0, const double &H=0.0, const double &viscosity=0.0)
Setup internal variables.
Definition: J2Plasticity.cpp:106