33 #ifndef _PLASTIC3DJ2_HPP_    34 #define _PLASTIC3DJ2_HPP_    38 #include <Eigen/Dense>    60         Plastic3DJ2(
const double K, 
const double G, 
const double rho, 
const double Hbar, 
const double beta, 
const double SigmaY);
   150         void UpdateState(
const Eigen::VectorXd strain, 
const unsigned int cond);
 std::unique_ptr< Material > CopyMaterial()
Eigen::MatrixXd TangentStiffness_n
Consistent tangent stiffness at time n. 
Definition: Plastic3DJ2.hpp:232
Class for creating a triaxial J2 plastic material for three-dimensional elements. ...
Definition: Plastic3DJ2.hpp:49
Eigen::VectorXd GetStrain() const
Returns the material strain. 
Eigen::VectorXd GetTotalStress() const
Computes the material total stress. 
Eigen::MatrixXd ComputeDeviatoricTensor() const
Constructs deviatoric tensor. 
Plastic3DJ2(const double K, const double G, const double rho, const double Hbar, const double beta, const double SigmaY)
Creates a Plastic3DJ2 material to be specified at a Gauss-point in an Element. 
double alpha_n
Internal hardening variable at time n. 
Definition: Plastic3DJ2.hpp:202
void ReverseState()
Reverse the material states to previous converged state. 
Eigen::VectorXd PlasticStrain_n
Plastic strain at time n. 
Definition: Plastic3DJ2.hpp:223
double ComputeTensorNorm(const Eigen::VectorXd &T)
Computes the norm of a tensor of second-rank. 
This file contains the abstract "Material object" declarations, which computes the strain...
void CommitState()
Perform converged material state update. 
Eigen::VectorXd BackStress
Trial Back stress. 
Definition: Plastic3DJ2.hpp:211
double GetPoissonRatio() const
Returns the Poisson's ratio. 
double beta
Linear hardening parameter. 
Definition: Plastic3DJ2.hpp:193
double GetElasticityModulus() const
Access modulus of elasticity. 
Eigen::MatrixXd GetDamping() const
Returns the material viscous damping. 
double SigmaY
Yield stress. 
Definition: Plastic3DJ2.hpp:196
Eigen::VectorXd BackStress_n
Back stress at time n. 
Definition: Plastic3DJ2.hpp:220
Eigen::VectorXd Strain_n
Strain at time n. 
Definition: Plastic3DJ2.hpp:226
Eigen::MatrixXd TangentStiffness
Trial Consistent tangent stiffness. 
Definition: Plastic3DJ2.hpp:217
double H
Kinematic hardening modulus. 
Definition: Plastic3DJ2.hpp:190
Eigen::VectorXd GetStrainRate() const
Returns the material strain rate. 
Eigen::VectorXd PlasticStrain
Trial Plastic strain. 
Definition: Plastic3DJ2.hpp:214
double alpha
Trial Internal hardening variable. 
Definition: Plastic3DJ2.hpp:199
Eigen::VectorXd ComputeIdentityVector() const
Constructs a Second Order Identity Tensor. 
Eigen::MatrixXd ComputeIdentityOperator() const
Constructs fourth-rank symmetric identity operator. 
Eigen::VectorXd Stress_n
Stress vector at time n. 
Definition: Plastic3DJ2.hpp:229
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the material state for this iteration. 
Virtual class for creating a material object. 
Definition: Material.hpp:45
double ComputeTensorTrace(const Eigen::VectorXd &T)
Computes the trace of a tensor of second-rank. 
double G
Shear modulus. 
Definition: Plastic3DJ2.hpp:184
double GetDensity() const
Access material density. 
double GetShearModulus() const
Access shear modulus. 
Eigen::VectorXd GetStress() const
Returns the material stress. 
double Rho
Material density. 
Definition: Plastic3DJ2.hpp:187
~Plastic3DJ2()
Destroys this Plastic3DJ2 material. 
Eigen::VectorXd Strain
Trial Strain vector. 
Definition: Plastic3DJ2.hpp:205
double GetEnergy() const
Access the material's energy at current strain. 
Eigen::MatrixXd GetTangentStiffness() const
Returns the material stiffness. 
Eigen::MatrixXd GetInitialTangentStiffness() const
Returns the initial material stiffness. 
void InitialState()
Brings the material states to its initial state in the element. 
double K
Bulk modulus. 
Definition: Plastic3DJ2.hpp:181
Eigen::MatrixXd ComputeIdentityTensor() const
Constructs fourth-rank identity tensor. 
double GetBulkModulus() const
Access bulk modulus. 
Eigen::VectorXd Stress
Trial Stress vector. 
Definition: Plastic3DJ2.hpp:208