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.