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