Class for creating a biaxial plastic J2 material for two-dimensional elements.
More...
#include <PlasticPlaneStrainJ2.hpp>
Class for creating a biaxial plastic J2 material for two-dimensional elements.
- See also
- Material.hpp
◆ PlasticPlaneStrainJ2()
PlasticPlaneStrainJ2::PlasticPlaneStrainJ2 |
( |
const double |
K, |
|
|
const double |
G, |
|
|
const double |
rho, |
|
|
const double |
Hbar, |
|
|
const double |
beta, |
|
|
const double |
SigmaY |
|
) |
| |
◆ ~PlasticPlaneStrainJ2()
PlasticPlaneStrainJ2::~PlasticPlaneStrainJ2 |
( |
| ) |
|
◆ CommitState()
void PlasticPlaneStrainJ2::CommitState |
( |
| ) |
|
|
virtual |
Perform converged material state update.
- Note
- This function sets the trail stress and strain as converged.
Implements Material.
◆ ComputeDeviatoricTensor()
Eigen::MatrixXd PlasticPlaneStrainJ2::ComputeDeviatoricTensor |
( |
| ) |
const |
|
protected |
Constructs deviatoric tensor.
- Returns
- The deviatoric tensor.
◆ ComputeIdentityOperator()
Eigen::MatrixXd PlasticPlaneStrainJ2::ComputeIdentityOperator |
( |
| ) |
const |
|
protected |
Constructs fourth-rank symmetric identity operator.
- Returns
- A rank-four tensor.
◆ ComputeIdentityTensor()
Eigen::MatrixXd PlasticPlaneStrainJ2::ComputeIdentityTensor |
( |
| ) |
const |
|
protected |
Constructs fourth-rank identity tensor.
- Returns
- A rank-four tensor.
◆ ComputeIdentityVector()
Eigen::VectorXd PlasticPlaneStrainJ2::ComputeIdentityVector |
( |
| ) |
const |
|
protected |
Constructs a Second Order Identity Tensor.
- Returns
- The identity second-rank tensor.
◆ ComputeTensorNorm()
double PlasticPlaneStrainJ2::ComputeTensorNorm |
( |
const Eigen::VectorXd & |
T | ) |
|
|
protected |
Computes the norm of a tensor of second-rank.
- Parameters
-
- Returns
- An scalar with the norm.
◆ ComputeTensorTrace()
double PlasticPlaneStrainJ2::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> PlasticPlaneStrainJ2::CopyMaterial |
( |
| ) |
|
|
virtual |
◆ GetBulkModulus()
double PlasticPlaneStrainJ2::GetBulkModulus |
( |
| ) |
const |
|
virtual |
◆ GetDamping()
Eigen::MatrixXd PlasticPlaneStrainJ2::GetDamping |
( |
| ) |
const |
|
virtual |
Returns the material viscous damping.
- Returns
- Vector with the material damping components.
Implements Material.
◆ GetDensity()
double PlasticPlaneStrainJ2::GetDensity |
( |
| ) |
const |
|
virtual |
◆ GetElasticityModulus()
double PlasticPlaneStrainJ2::GetElasticityModulus |
( |
| ) |
const |
|
virtual |
Access modulus of elasticity.
- Returns
- The material Elasticity's modulus.
Implements Material.
◆ GetEnergy()
double PlasticPlaneStrainJ2::GetEnergy |
( |
| ) |
const |
|
virtual |
Access the material's energy at current strain.
- Returns
- Scalar with the material energy value.
Implements Material.
◆ GetInitialTangentStiffness()
Eigen::MatrixXd PlasticPlaneStrainJ2::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 PlasticPlaneStrainJ2::GetPoissonRatio |
( |
| ) |
const |
|
virtual |
Returns the Poisson's ratio.
- Returns
- The material poisson's ratio.
Implements Material.
◆ GetShearModulus()
double PlasticPlaneStrainJ2::GetShearModulus |
( |
| ) |
const |
|
virtual |
◆ GetStrain()
Eigen::VectorXd PlasticPlaneStrainJ2::GetStrain |
( |
| ) |
const |
|
virtual |
◆ GetStrainRate()
Eigen::VectorXd PlasticPlaneStrainJ2::GetStrainRate |
( |
| ) |
const |
|
virtual |
Returns the material strain rate.
- Returns
- Vector with the material strain-rate components.
- Note
- The strain-rate can be revisited in PlasticPlaneStrainJ2.
Implements Material.
◆ GetStress()
Eigen::VectorXd PlasticPlaneStrainJ2::GetStress |
( |
| ) |
const |
|
virtual |
◆ GetTangentStiffness()
Eigen::MatrixXd PlasticPlaneStrainJ2::GetTangentStiffness |
( |
| ) |
const |
|
virtual |
◆ GetTotalStress()
Eigen::VectorXd PlasticPlaneStrainJ2::GetTotalStress |
( |
| ) |
const |
|
virtual |
◆ InitialState()
void PlasticPlaneStrainJ2::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 PlasticPlaneStrainJ2::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 PlasticPlaneStrainJ2::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 PlasticPlaneStrainJ2::alpha |
|
private |
Internal hardening variable.
◆ alpha_n
double PlasticPlaneStrainJ2::alpha_n |
|
private |
Internal hardening variable at time n.
◆ BackStress
Eigen::VectorXd PlasticPlaneStrainJ2::BackStress |
|
private |
◆ BackStress_n
Eigen::VectorXd PlasticPlaneStrainJ2::BackStress_n |
|
private |
◆ beta
double PlasticPlaneStrainJ2::beta |
|
private |
The linear hardening parameter.
double PlasticPlaneStrainJ2::G |
|
private |
double PlasticPlaneStrainJ2::H |
|
private |
Kinematic hardening modulus.
double PlasticPlaneStrainJ2::K |
|
private |
◆ PlasticStrain
Eigen::VectorXd PlasticPlaneStrainJ2::PlasticStrain |
|
private |
◆ PlasticStrain_n
Eigen::VectorXd PlasticPlaneStrainJ2::PlasticStrain_n |
|
private |
Plastic strain at time n.
◆ Rho
double PlasticPlaneStrainJ2::Rho |
|
private |
◆ SigmaY
double PlasticPlaneStrainJ2::SigmaY |
|
private |
◆ Strain
Eigen::VectorXd PlasticPlaneStrainJ2::Strain |
|
private |
◆ Strain_n
Eigen::VectorXd PlasticPlaneStrainJ2::Strain_n |
|
private |
◆ Stress
Eigen::VectorXd PlasticPlaneStrainJ2::Stress |
|
private |
◆ Stress_n
Eigen::VectorXd PlasticPlaneStrainJ2::Stress_n |
|
private |
◆ TangentStiffness
Eigen::MatrixXd PlasticPlaneStrainJ2::TangentStiffness |
|
private |
Trial Consistent tangent stiffness.
◆ TangentStiffness_n
Eigen::MatrixXd PlasticPlaneStrainJ2::TangentStiffness_n |
|
private |
Consistent tangent stiffness at time n.