Class for creating an uniaxial hertzian contact material for one-dimensional elements.
More...
#include <Hertzian1DLinear.hpp>
Class for creating an uniaxial hertzian contact material for one-dimensional elements.
- See also
- Material.hpp
◆ Hertzian1DLinear()
Hertzian1DLinear::Hertzian1DLinear |
( |
const double |
k1, |
|
|
const double |
k2, |
|
|
const double |
k3, |
|
|
const double |
rho = 0.0 |
|
) |
| |
◆ ~Hertzian1DLinear()
Hertzian1DLinear::~Hertzian1DLinear |
( |
| ) |
|
◆ CommitState()
void Hertzian1DLinear::CommitState |
( |
| ) |
|
|
virtual |
Perform converged material state update.
- Note
- This function sets the trail stress and strain as converged.
Implements Material.
◆ CopyMaterial()
std::unique_ptr<Material> Hertzian1DLinear::CopyMaterial |
( |
| ) |
|
|
virtual |
◆ GetBulkModulus()
double Hertzian1DLinear::GetBulkModulus |
( |
| ) |
const |
|
virtual |
Access bulk modulus.
- Returns
- The material bulk's (K) modulus.
Implements Material.
◆ GetDamping()
Eigen::MatrixXd Hertzian1DLinear::GetDamping |
( |
| ) |
const |
|
virtual |
Returns the material viscous damping.
- Returns
- Vector with the material damping components.
Implements Material.
◆ GetDensity()
double Hertzian1DLinear::GetDensity |
( |
| ) |
const |
|
virtual |
◆ GetElasticityModulus()
double Hertzian1DLinear::GetElasticityModulus |
( |
| ) |
const |
|
virtual |
Access modulus of elasticity.
- Returns
- The material Elasticity's (E) modulus.
Implements Material.
◆ GetEnergy()
double Hertzian1DLinear::GetEnergy |
( |
| ) |
const |
|
virtual |
Access the material's energy at current strain.
- Returns
- Scalar with the material energy value.
Implements Material.
◆ GetInitialTangentStiffness()
Eigen::MatrixXd Hertzian1DLinear::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 Hertzian1DLinear::GetPoissonRatio |
( |
| ) |
const |
|
virtual |
Returns the Poisson's ratio.
- Returns
- The material poisson's ratio.
Implements Material.
◆ GetShearModulus()
double Hertzian1DLinear::GetShearModulus |
( |
| ) |
const |
|
virtual |
Access shear modulus.
- Returns
- The material shear's (G) modulus.
Implements Material.
◆ GetStrain()
Eigen::VectorXd Hertzian1DLinear::GetStrain |
( |
| ) |
const |
|
virtual |
Returns the material strain.
- Returns
- Vector with the material strain components.
- Note
- The strain can be revisited in Hertzian1DLinear.
Implements Material.
◆ GetStrainRate()
Eigen::VectorXd Hertzian1DLinear::GetStrainRate |
( |
| ) |
const |
|
virtual |
Returns the material strain rate.
- Returns
- Vector with the material strain-rate components.
- Note
- The strain-rate can be revisited in Hertzian1DLinear.
Implements Material.
◆ GetStress()
Eigen::VectorXd Hertzian1DLinear::GetStress |
( |
| ) |
const |
|
virtual |
Returns the material stress.
- Returns
- Vector with the material stress components.
- Note
- The stress can be revisited in Hertzian1DLinear.
Implements Material.
◆ GetTangentStiffness()
Eigen::MatrixXd Hertzian1DLinear::GetTangentStiffness |
( |
| ) |
const |
|
virtual |
Returns the material stiffness.
- Returns
- Matrix with the material tangent stiffness matrix.
- Note
- The stiffness matrix can be revisited in Hertzian1DLinear.
Implements Material.
◆ GetTotalStress()
Eigen::VectorXd Hertzian1DLinear::GetTotalStress |
( |
| ) |
const |
|
virtual |
Computes the material total stress.
- Returns
- Vector with the material total stress components.
Implements Material.
◆ InitialState()
void Hertzian1DLinear::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 Hertzian1DLinear::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 Hertzian1DLinear::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.
◆ k1
double Hertzian1DLinear::k1 |
|
private |
The linear Spring Constant.
◆ k2
double Hertzian1DLinear::k2 |
|
private |
The quadratic Spring Constant.
◆ k3
double Hertzian1DLinear::k3 |
|
private |
The cubic Spring Constant.
◆ newStrain
Eigen::VectorXd Hertzian1DLinear::newStrain |
|
private |
◆ Rho
double Hertzian1DLinear::Rho |
|
private |
◆ Strain
Eigen::VectorXd Hertzian1DLinear::Strain |
|
private |