31 #ifndef _VISCOUS1DLINEAR_HPP_ 32 #define _VISCOUS1DLINEAR_HPP_ 36 #include <Eigen/Dense> 139 void UpdateState(
const Eigen::VectorXd strain,
const unsigned int cond);
Eigen::MatrixXd Damping
The material damping matrix.
Definition: Viscous1DLinear.hpp:152
double GetShearModulus() const
Access shear modulus.
Eigen::MatrixXd GetTangentStiffness() const
Returns the material stiffness.
void ReverseState()
Reverse the material states to previous converged state.
double GetEnergy() const
Access the material's energy at current strain.
~Viscous1DLinear()
Destroys this Viscous1DLinear material.
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the material state for this iteration.
Eigen::VectorXd GetStrain() const
Returns the material strain.
Eigen::VectorXd GetStress() const
Returns the material stress.
This file contains the abstract "Material object" declarations, which computes the strain...
Eigen::VectorXd GetStrainRate() const
Returns the material strain rate.
double eta
The material viscosity.
Definition: Viscous1DLinear.hpp:143
Eigen::VectorXd Stress
The material stress vector.
Definition: Viscous1DLinear.hpp:149
Eigen::MatrixXd GetDamping() const
Returns the material viscous damping.
double GetDensity() const
Access material density.
double GetPoissonRatio() const
Returns the Poisson's ratio.
void InitialState()
Brings the material states to its initial state in the element.
Eigen::VectorXd StrainRate
The material strain-rate vector.
Definition: Viscous1DLinear.hpp:146
Class for creating an uniaxial viscous material in for one-dimensional elements.
Definition: Viscous1DLinear.hpp:47
Eigen::MatrixXd GetInitialTangentStiffness() const
Returns the initial material stiffness.
void CommitState()
Perform converged material state update.
Viscous1DLinear(const double eta)
Creates a Viscous1DLinear material to be specified at a Gauss-point in an Element.
Virtual class for creating a material object.
Definition: Material.hpp:45
std::unique_ptr< Material > CopyMaterial()
double GetBulkModulus() const
Access bulk modulus.
Eigen::VectorXd GetTotalStress() const
Computes the material total stress.
double GetElasticityModulus() const
Access modulus of elasticity.