32 #ifndef _PLASTIC1DJ2_HPP_ 33 #define _PLASTIC1DJ2_HPP_ 37 #include <Eigen/Dense> 59 Plastic1DJ2(
const double E,
const double nu,
const double rho,
const double K,
const double H,
const double SigmaY);
151 void UpdateState(
const Eigen::VectorXd strain,
const unsigned int cond);
Eigen::MatrixXd GetInitialTangentStiffness() const
Returns the initial material stiffness.
Eigen::VectorXd PlasticStrain_n
Plastic strain at time n.
Definition: Plastic1DJ2.hpp:197
Eigen::MatrixXd GetTangentStiffness() const
Returns the material stiffness.
Eigen::VectorXd PlasticStrain
Plastic strain.
Definition: Plastic1DJ2.hpp:188
Class for creating an uniaxial isotropic plastic material for one-dimensional elements.
Definition: Plastic1DJ2.hpp:48
void InitialState()
Brings the material states to its initial state in the element.
std::unique_ptr< Material > CopyMaterial()
Eigen::VectorXd BackStress
Back stress.
Definition: Plastic1DJ2.hpp:185
Eigen::VectorXd GetStrain() const
Returns the material strain.
double nu
Poisson's ratio.
Definition: Plastic1DJ2.hpp:158
This file contains the abstract "Material object" declarations, which computes the strain...
Eigen::VectorXd Strain
Strain vector.
Definition: Plastic1DJ2.hpp:179
double GetDensity() const
Access material density.
Eigen::VectorXd Stress
Stress vector.
Definition: Plastic1DJ2.hpp:182
double E
Modulus of elasticity.
Definition: Plastic1DJ2.hpp:155
Eigen::VectorXd BackStress_n
Back stress at time n.
Definition: Plastic1DJ2.hpp:194
double GetEnergy() const
Access the material's energy at current strain.
Eigen::VectorXd Strain_n
Strain at time n.
Definition: Plastic1DJ2.hpp:200
double GetPoissonRatio() const
Returns the Poisson's ratio.
Eigen::VectorXd GetStrainRate() const
Returns the material strain rate.
double Rho
Material density.
Definition: Plastic1DJ2.hpp:161
double GetBulkModulus() const
Access bulk modulus.
void CommitState()
Perform converged material state update.
Virtual class for creating a material object.
Definition: Material.hpp:45
double H
Kinematic hardening modulus.
Definition: Plastic1DJ2.hpp:167
Eigen::MatrixXd GetDamping() const
Returns the material viscous damping.
Eigen::MatrixXd TangentStiffness_n
Consistent tangent stiffness at time n.
Definition: Plastic1DJ2.hpp:206
~Plastic1DJ2()
Destroys this Plastic1DJ2 material.
double alpha_n
Internal hardening variable at time n.
Definition: Plastic1DJ2.hpp:176
double alpha
Internal hardening variable.
Definition: Plastic1DJ2.hpp:173
double GetElasticityModulus() const
Access modulus of elasticity.
double SigmaY
Yield stress.
Definition: Plastic1DJ2.hpp:170
Eigen::VectorXd Stress_n
Stress vector at time n.
Definition: Plastic1DJ2.hpp:203
double K
Plastic modulus.
Definition: Plastic1DJ2.hpp:164
Eigen::MatrixXd TangentStiffness
Consistent tangent stiffness.
Definition: Plastic1DJ2.hpp:191
Plastic1DJ2(const double E, const double nu, const double rho, const double K, const double H, const double SigmaY)
Creates a Plastic1DJ2 material to be specified at a Gauss-point in an Element.
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the material state for this iteration.
double GetShearModulus() const
Access shear modulus.
void ReverseState()
Reverse the material states to previous converged state.
Eigen::VectorXd GetStress() const
Returns the material stress.
Eigen::VectorXd GetTotalStress() const
Computes the material total stress.