34 #ifndef _HERTZIAN1DLINEAR_HPP_ 35 #define _HERTZIAN1DLINEAR_HPP_ 39 #include <Eigen/Dense> 141 void UpdateState(
const Eigen::VectorXd strain,
const unsigned int cond);
Eigen::VectorXd GetStrainRate() const
Returns the material strain rate.
double GetBulkModulus() const
Access bulk modulus.
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the material state for this iteration.
double k1
The linear Spring Constant.
Definition: Hertzian1DLinear.hpp:145
Eigen::VectorXd GetStress() const
Returns the material stress.
std::unique_ptr< Material > CopyMaterial()
Clone the selected material.
void CommitState()
Perform converged material state update.
double Rho
Material density.
Definition: Hertzian1DLinear.hpp:154
Eigen::MatrixXd GetTangentStiffness() const
Returns the material stiffness.
This file contains the abstract "Material object" declarations, which computes the strain...
Eigen::VectorXd GetStrain() const
Returns the material strain.
double GetShearModulus() const
Access shear modulus.
Hertzian1DLinear(const double k1, const double k2, const double k3, const double rho=0.0)
Creates a Hertzian1DLinear material to be specified at a Gauss-point in an Element.
Eigen::MatrixXd GetDamping() const
Returns the material viscous damping.
double GetElasticityModulus() const
Access modulus of elasticity.
double GetEnergy() const
Access the material's energy at current strain.
double k3
The cubic Spring Constant.
Definition: Hertzian1DLinear.hpp:151
double GetPoissonRatio() const
Returns the Poisson's ratio.
Virtual class for creating a material object.
Definition: Material.hpp:45
Eigen::VectorXd Strain
Strain vector.
Definition: Hertzian1DLinear.hpp:157
Eigen::MatrixXd GetInitialTangentStiffness() const
Returns the initial material stiffness.
~Hertzian1DLinear()
Destroys this Hertzian1DLinear material.
double GetDensity() const
Access material density.
void ReverseState()
Reverse the material states to previous converged state.
Class for creating an uniaxial hertzian contact material for one-dimensional elements.
Definition: Hertzian1DLinear.hpp:50
Eigen::VectorXd newStrain
Commited Strain vector.
Definition: Hertzian1DLinear.hpp:160
void InitialState()
Brings the material states to its initial state in the element.
double k2
The quadratic Spring Constant.
Definition: Hertzian1DLinear.hpp:148
Eigen::VectorXd GetTotalStress() const
Computes the material total stress.