32 #ifndef _ELASTIC1DLINEAR_HPP_ 33 #define _ELASTIC1DLINEAR_HPP_ 37 #include <Eigen/Dense> 147 void UpdateState(
const Eigen::VectorXd strain,
const unsigned int cond);
void CommitState()
Perform converged material state update.
double GetElasticityModulus() const
Access modulus of elasticity.
double nu
Poisson's ratio.
Definition: Elastic1DLinear.hpp:154
double GetPoissonRatio() const
Returns the Poisson's ratio.
Class for creating an uniaxial isotropic linear elastic material for one-dimensional elements...
Definition: Elastic1DLinear.hpp:48
std::unique_ptr< Material > CopyMaterial()
double Rho
Material density.
Definition: Elastic1DLinear.hpp:157
This file contains the abstract "Material object" declarations, which computes the strain...
double GetBulkModulus() const
Access bulk modulus.
Eigen::VectorXd GetStrainRate() const
Returns the material strain rate.
void ReverseState()
Reverse the material states to previous converged state.
double GetEnergy() const
Access the material's energy at current strain.
Eigen::MatrixXd GetInitialTangentStiffness() const
Returns the initial material stiffness.
void InitialState()
Brings the material states to its initial state in the element.
Eigen::VectorXd newStrain
Commited Strain vector.
Definition: Elastic1DLinear.hpp:163
Eigen::VectorXd Strain
Strain vector.
Definition: Elastic1DLinear.hpp:160
Eigen::MatrixXd GetTangentStiffness() const
Returns the material stiffness.
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the material state for this iteration.
double GetDensity() const
Access material density.
~Elastic1DLinear()
Destroys this Elastic1DLinear material.
Eigen::MatrixXd TangentStiffness
Tangent stiffness matrix.
Definition: Elastic1DLinear.hpp:166
Virtual class for creating a material object.
Definition: Material.hpp:45
Eigen::VectorXd GetStress() const
Returns the material stress.
Eigen::VectorXd GetTotalStress() const
Computes the material total stress.
double E
Modulus of elasticity.
Definition: Elastic1DLinear.hpp:151
Elastic1DLinear(const double E, const double nu=0, const double rho=0.0)
Creates a Elastic1DLinear material to be specified at a Gauss-point in an Element.
double GetShearModulus() const
Access shear modulus.
Eigen::VectorXd GetStrain() const
Returns the material strain.
Eigen::MatrixXd GetDamping() const
Returns the material viscous damping.