Class for creating an triaxial plastic bounding surface material for three-dimensional elements.
More...
#include <Plastic3DBA.hpp>
Class for creating an triaxial plastic bounding surface material for three-dimensional elements.
- See also
- Material.hpp
◆ Plastic3DBA()
Plastic3DBA::Plastic3DBA |
( |
const double |
K, |
|
|
const double |
G, |
|
|
const double |
rho, |
|
|
const double |
H0, |
|
|
const double |
h, |
|
|
const double |
m, |
|
|
const double |
Su, |
|
|
const double |
beta |
|
) |
| |
◆ ~Plastic3DBA()
Plastic3DBA::~Plastic3DBA |
( |
| ) |
|
◆ CommitState()
void Plastic3DBA::CommitState |
( |
| ) |
|
|
virtual |
◆ ComputeDeviatoricTensor()
Eigen::MatrixXd Plastic3DBA::ComputeDeviatoricTensor |
( |
| ) |
const |
|
protected |
Constructs deviatoric tensor.
- Returns
- The deviatoric tensor.
◆ ComputeHardening()
Eigen::VectorXd Plastic3DBA::ComputeHardening |
( |
Eigen::VectorXd const & |
DeviatoricIncrStrain, |
|
|
const Eigen::VectorXd & |
DeviatoricStress |
|
) |
| |
|
protected |
Compute hardening using the Newton-Rhapson method.
- Parameters
-
DeviatoricIncrStrain | The deviatoric incremental strain. |
DeviatoricStress | The deviatoric stress. |
- Returns
- Vector that contains kappa and psi using Newton-Rhapson method.
◆ ComputeHardeningBisection()
Eigen::VectorXd Plastic3DBA::ComputeHardeningBisection |
( |
Eigen::VectorXd const & |
DeviatoricIncrStrain, |
|
|
const Eigen::VectorXd & |
DeviatoricStress |
|
) |
| |
|
protected |
Compute hardening using the bi-section method.
- Parameters
-
DeviatoricIncrStrain | The deviatoric incremental strain. |
DeviatoricStress | The deviatoric stress. |
- Returns
- Vector that contains kappa and psi using bisection method.
◆ ComputeIdentityOperator()
Eigen::MatrixXd Plastic3DBA::ComputeIdentityOperator |
( |
| ) |
const |
|
protected |
Constructs fourth-rank symmetric identity operator.
- Returns
- A rank-four tensor.
◆ ComputeIdentityTensor()
Eigen::MatrixXd Plastic3DBA::ComputeIdentityTensor |
( |
| ) |
const |
|
protected |
Constructs fourth-rank identity tensor.
- Returns
- A rank-four tensor.
◆ ComputeIdentityVector()
Eigen::VectorXd Plastic3DBA::ComputeIdentityVector |
( |
| ) |
const |
|
protected |
Constructs a Second Order Identity Tensor.
- Returns
- The identity second-rank tensor.
◆ ComputeInnerProduct()
double Plastic3DBA::ComputeInnerProduct |
( |
const Eigen::VectorXd & |
V1, |
|
|
const Eigen::VectorXd & |
V2 |
|
) |
| |
|
protected |
Compute inner product of two tensor of first-rank.
- Parameters
-
V1 | A first-rank tensor. |
V2 | A first-rank tensor. |
- Returns
- An scalar with the inner product.
◆ ComputeTensorNorm()
double Plastic3DBA::ComputeTensorNorm |
( |
const Eigen::VectorXd & |
T | ) |
|
|
protected |
Computes the norm of a tensor of second-rank.
- Parameters
-
- Returns
- An scalar with the norm.
◆ ComputeTensorTrace()
double Plastic3DBA::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> Plastic3DBA::CopyMaterial |
( |
| ) |
|
|
virtual |
◆ GetBulkModulus()
double Plastic3DBA::GetBulkModulus |
( |
| ) |
const |
|
virtual |
◆ GetDamping()
Eigen::MatrixXd Plastic3DBA::GetDamping |
( |
| ) |
const |
|
virtual |
Returns the material viscous damping.
- Returns
- Vector with the material damping components.
Implements Material.
◆ GetDensity()
double Plastic3DBA::GetDensity |
( |
| ) |
const |
|
virtual |
◆ GetElasticityModulus()
double Plastic3DBA::GetElasticityModulus |
( |
| ) |
const |
|
virtual |
Access modulus of elasticity.
- Returns
- The material Elasticity's modulus.
Implements Material.
◆ GetEnergy()
double Plastic3DBA::GetEnergy |
( |
| ) |
const |
|
virtual |
Access the material's energy at current strain.
- Returns
- Scalar with the material energy value.
Implements Material.
◆ GetInitialTangentStiffness()
Eigen::MatrixXd Plastic3DBA::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 Plastic3DBA::GetPoissonRatio |
( |
| ) |
const |
|
virtual |
Returns the Poisson's ratio.
- Returns
- The material poisson's ratio.
Implements Material.
◆ GetShearModulus()
double Plastic3DBA::GetShearModulus |
( |
| ) |
const |
|
virtual |
◆ GetStrain()
Eigen::VectorXd Plastic3DBA::GetStrain |
( |
| ) |
const |
|
virtual |
◆ GetStrainRate()
Eigen::VectorXd Plastic3DBA::GetStrainRate |
( |
| ) |
const |
|
virtual |
Returns the material strain rate.
- Returns
- Vector with the material strain-rate components.
- Note
- The strain can be revisited in Plastic3DBA.
Implements Material.
◆ GetStress()
Eigen::VectorXd Plastic3DBA::GetStress |
( |
| ) |
const |
|
virtual |
◆ GetTangentStiffness()
Eigen::MatrixXd Plastic3DBA::GetTangentStiffness |
( |
| ) |
const |
|
virtual |
◆ GetTotalStress()
Eigen::VectorXd Plastic3DBA::GetTotalStress |
( |
| ) |
const |
|
virtual |
Computes the material total stress.
- Returns
- Vector with the material total stress components.
- See also
- Plastic3DBA::Stress.
Implements Material.
◆ InitialState()
void Plastic3DBA::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 Plastic3DBA::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 Plastic3DBA::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.
◆ beta
◆ DeviatoricStress0
Eigen::VectorXd Plastic3DBA::DeviatoricStress0 |
|
private |
◆ DeviatoricStress0_n
Eigen::VectorXd Plastic3DBA::DeviatoricStress0_n |
|
private |
Stress tensor at F0 at time n.
◆ FirstLoadFlag
int Plastic3DBA::FirstLoadFlag |
|
private |
◆ FirstLoadFlag_n
int Plastic3DBA::FirstLoadFlag_n |
|
private |
First loading flag at time n.
Exponential hardening parameter.
◆ H0
Bounding surface hardening.
◆ Hn
◆ kappa
double Plastic3DBA::kappa |
|
private |
Internal hardening parameters.
◆ kappa_n
double Plastic3DBA::kappa_n |
|
private |
Internal hardening parameter at time n.
Exponential hardening parameter.
◆ psi
Internal hardening parameters.
◆ psi_n
double Plastic3DBA::psi_n |
|
private |
Internal hardening parameter at time n.
◆ Rho
◆ rootFlag
int Plastic3DBA::rootFlag |
|
private |
Flag to control the linear system solution.
◆ rootFlag_n
int Plastic3DBA::rootFlag_n |
|
private |
Flag to control the linear system solution at time n.
◆ Strain
Eigen::VectorXd Plastic3DBA::Strain |
|
private |
◆ Strain_n
Eigen::VectorXd Plastic3DBA::Strain_n |
|
private |
◆ Stress
Eigen::VectorXd Plastic3DBA::Stress |
|
private |
◆ Stress_n
Eigen::VectorXd Plastic3DBA::Stress_n |
|
private |
◆ Su
◆ TangentStiffness
Eigen::MatrixXd Plastic3DBA::TangentStiffness |
|
private |
Consistent tangent stiffness.
◆ TangentStiffness_n
Eigen::MatrixXd Plastic3DBA::TangentStiffness_n |
|
private |
Consistent tangent stiffness at time n.