Class for creating a triaxial J2 plastic material for three-dimensional elements.
More...
#include <Plastic3DJ2.hpp>
Class for creating a triaxial J2 plastic material for three-dimensional elements.
- See also
- Material.hpp
◆ Plastic3DJ2()
Plastic3DJ2::Plastic3DJ2 |
( |
const double |
K, |
|
|
const double |
G, |
|
|
const double |
rho, |
|
|
const double |
Hbar, |
|
|
const double |
beta, |
|
|
const double |
SigmaY |
|
) |
| |
◆ ~Plastic3DJ2()
Plastic3DJ2::~Plastic3DJ2 |
( |
| ) |
|
◆ CommitState()
void Plastic3DJ2::CommitState |
( |
| ) |
|
|
virtual |
Perform converged material state update.
- Note
- This function sets the trail stress and strain as converged.
Implements Material.
◆ ComputeDeviatoricTensor()
Eigen::MatrixXd Plastic3DJ2::ComputeDeviatoricTensor |
( |
| ) |
const |
|
protected |
Constructs deviatoric tensor.
- Returns
- The deviatoric tensor.
◆ ComputeIdentityOperator()
Eigen::MatrixXd Plastic3DJ2::ComputeIdentityOperator |
( |
| ) |
const |
|
protected |
Constructs fourth-rank symmetric identity operator.
- Returns
- A rank-four tensor.
◆ ComputeIdentityTensor()
Eigen::MatrixXd Plastic3DJ2::ComputeIdentityTensor |
( |
| ) |
const |
|
protected |
Constructs fourth-rank identity tensor.
- Returns
- A rank-four tensor.
◆ ComputeIdentityVector()
Eigen::VectorXd Plastic3DJ2::ComputeIdentityVector |
( |
| ) |
const |
|
protected |
Constructs a Second Order Identity Tensor.
- Returns
- The identity second-rank tensor.
◆ ComputeTensorNorm()
double Plastic3DJ2::ComputeTensorNorm |
( |
const Eigen::VectorXd & |
T | ) |
|
|
protected |
Computes the norm of a tensor of second-rank.
- Parameters
-
- Returns
- An scalar with the norm.
◆ ComputeTensorTrace()
double Plastic3DJ2::ComputeTensorTrace |
( |
const Eigen::VectorXd & |
T | ) |
|
|
protected |
Computes the trace of a tensor of second-rank.
- Parameters
-
- Returns
- An scalar with the trace.
◆ CopyMaterial()
std::unique_ptr<Material> Plastic3DJ2::CopyMaterial |
( |
| ) |
|
|
virtual |
◆ GetBulkModulus()
double Plastic3DJ2::GetBulkModulus |
( |
| ) |
const |
|
virtual |
◆ GetDamping()
Eigen::MatrixXd Plastic3DJ2::GetDamping |
( |
| ) |
const |
|
virtual |
Returns the material viscous damping.
- Returns
- Vector with the material damping components.
Implements Material.
◆ GetDensity()
double Plastic3DJ2::GetDensity |
( |
| ) |
const |
|
virtual |
◆ GetElasticityModulus()
double Plastic3DJ2::GetElasticityModulus |
( |
| ) |
const |
|
virtual |
Access modulus of elasticity.
- Returns
- The material Elasticity's modulus.
Implements Material.
◆ GetEnergy()
double Plastic3DJ2::GetEnergy |
( |
| ) |
const |
|
virtual |
Access the material's energy at current strain.
- Returns
- Scalar with the material energy value.
Implements Material.
◆ GetInitialTangentStiffness()
Eigen::MatrixXd Plastic3DJ2::GetInitialTangentStiffness |
( |
| ) |
const |
|
virtual |
Returns the initial material stiffness.
- Returns
- Matrix with the initial material tangent stiffness matrix.
- Note
- The initial tangent stiffness matrix is computed when the strain vector is zero.
Implements Material.
◆ GetPoissonRatio()
double Plastic3DJ2::GetPoissonRatio |
( |
| ) |
const |
|
virtual |
Returns the Poisson's ratio.
- Returns
- The material poisson's ratio.
Implements Material.
◆ GetShearModulus()
double Plastic3DJ2::GetShearModulus |
( |
| ) |
const |
|
virtual |
◆ GetStrain()
Eigen::VectorXd Plastic3DJ2::GetStrain |
( |
| ) |
const |
|
virtual |
◆ GetStrainRate()
Eigen::VectorXd Plastic3DJ2::GetStrainRate |
( |
| ) |
const |
|
virtual |
Returns the material strain rate.
- Returns
- Vector with the material strain-rate components.
- Note
- The strain-rate can be revisited in Plastic3DJ2.
Implements Material.
◆ GetStress()
Eigen::VectorXd Plastic3DJ2::GetStress |
( |
| ) |
const |
|
virtual |
◆ GetTangentStiffness()
Eigen::MatrixXd Plastic3DJ2::GetTangentStiffness |
( |
| ) |
const |
|
virtual |
◆ GetTotalStress()
Eigen::VectorXd Plastic3DJ2::GetTotalStress |
( |
| ) |
const |
|
virtual |
Computes the material total stress.
- Returns
- Vector with the material total stress components.
- See also
- Plastic3DJ2::Stress.
Implements Material.
◆ InitialState()
void Plastic3DJ2::InitialState |
( |
| ) |
|
|
virtual |
Brings the material states to its initial state in the element.
- Note
- This funtion returns the material states to the beginning.
Implements Material.
◆ ReverseState()
void Plastic3DJ2::ReverseState |
( |
| ) |
|
|
virtual |
Reverse the material states to previous converged state.
- Note
- This funtion returns the material states to previous converged states.
Implements Material.
◆ UpdateState()
void Plastic3DJ2::UpdateState |
( |
const Eigen::VectorXd |
strain, |
|
|
const unsigned int |
cond |
|
) |
| |
|
virtual |
Update the material state for this iteration.
- Parameters
-
strain | Vector with the strain components at this Gauss-point. |
cond | If the the elastic/plastic material components will be updated. |
- Note
- This function computes the strain and tanget stiffness matrix once the trial strain converged.
Implements Material.
◆ alpha
double Plastic3DJ2::alpha |
|
private |
Trial Internal hardening variable.
◆ alpha_n
double Plastic3DJ2::alpha_n |
|
private |
Internal hardening variable at time n.
◆ BackStress
Eigen::VectorXd Plastic3DJ2::BackStress |
|
private |
◆ BackStress_n
Eigen::VectorXd Plastic3DJ2::BackStress_n |
|
private |
◆ beta
Kinematic hardening modulus.
◆ PlasticStrain
Eigen::VectorXd Plastic3DJ2::PlasticStrain |
|
private |
◆ PlasticStrain_n
Eigen::VectorXd Plastic3DJ2::PlasticStrain_n |
|
private |
Plastic strain at time n.
◆ Rho
◆ SigmaY
double Plastic3DJ2::SigmaY |
|
private |
◆ Strain
Eigen::VectorXd Plastic3DJ2::Strain |
|
private |
◆ Strain_n
Eigen::VectorXd Plastic3DJ2::Strain_n |
|
private |
◆ Stress
Eigen::VectorXd Plastic3DJ2::Stress |
|
private |
◆ Stress_n
Eigen::VectorXd Plastic3DJ2::Stress_n |
|
private |
◆ TangentStiffness
Eigen::MatrixXd Plastic3DJ2::TangentStiffness |
|
private |
Trial Consistent tangent stiffness.
◆ TangentStiffness_n
Eigen::MatrixXd Plastic3DJ2::TangentStiffness_n |
|
private |
Consistent tangent stiffness at time n.