Virtual class for creating a material object. More...
#include <Material.hpp>
Public Member Functions | |
Material (std::string name, bool model) | |
Creates a Material to be specified at a Gauss-point in an Element. More... | |
virtual | ~Material ()=0 |
Destroys this Material object. More... | |
virtual std::unique_ptr< Material > | CopyMaterial ()=0 |
Clone the selected material. More... | |
virtual double | GetDensity () const =0 |
Access material density. More... | |
virtual double | GetPoissonRatio () const =0 |
Returns the Poisson's ratio. More... | |
virtual double | GetBulkModulus () const =0 |
Access bulk modulus. More... | |
virtual double | GetShearModulus () const =0 |
Access shear modulus. More... | |
virtual double | GetElasticityModulus () const =0 |
Access modulus of elasticity. More... | |
virtual double | GetEnergy () const =0 |
Computes the material energy for a given strain. More... | |
virtual Eigen::MatrixXd | GetDamping () const =0 |
Returns the material viscous damping. More... | |
virtual Eigen::VectorXd | GetStrain () const =0 |
Computes the material strain in Voight notation. More... | |
virtual Eigen::VectorXd | GetStress () const =0 |
Computes the material stress in Voight notation. More... | |
virtual Eigen::VectorXd | GetStrainRate () const =0 |
Computes the material strain rate in Voight notation. More... | |
virtual Eigen::VectorXd | GetTotalStress () const =0 |
Computes the material total stress in Voight notation. More... | |
virtual Eigen::MatrixXd | GetTangentStiffness () const =0 |
Computes the material stiffness in Voight notation. More... | |
virtual Eigen::MatrixXd | GetInitialTangentStiffness () const =0 |
Computes the initial material stiffness in Voight notation. More... | |
virtual void | CommitState ()=0 |
Perform converged material state update. More... | |
virtual void | ReverseState ()=0 |
Reverse the material states to previous converged state. More... | |
virtual void | InitialState ()=0 |
Brings the material states to its initial state in the element. More... | |
virtual void | UpdateState (const Eigen::VectorXd strain, const unsigned int cond=0)=0 |
Update the material state for this iteration. More... | |
std::string | GetName () |
Gets material information. More... | |
bool | IsViscous () |
Gets material stress model. More... | |
Private Attributes | |
std::string | Name |
Material Name. More... | |
bool | isViscous |
Material Stress Model. More... | |
Virtual class for creating a material object.
Material::Material | ( | std::string | name, |
bool | model | ||
) |
Creates a Material to be specified at a Gauss-point in an Element.
name | Name of the derived class. |
model | If the material is viscous. |
|
pure virtual |
Destroys this Material object.
|
pure virtual |
Perform converged material state update.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic1DJ2, Concrete1DFiber, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Plastic1DGap, Elastic1DFiber, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Elastic1DGap, Hertzian1DLinear, and Viscous1DLinear.
|
pure virtual |
Clone the selected material.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic3DJ2, Concrete1DFiber, Plastic1DJ2, PlasticPlaneStrainJ2, Hertzian1DLinear, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Plastic1DGap, Viscous1DLinear, Elastic1DGap, and Elastic1DFiber.
|
pure virtual |
Access bulk modulus.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic3DJ2, Concrete1DFiber, Plastic1DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Hertzian1DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Returns the material viscous damping.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic1DJ2, Plastic3DJ2, Concrete1DFiber, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Hertzian1DLinear, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Access material density.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic3DJ2, Concrete1DFiber, Plastic1DJ2, PlasticPlaneStrainJ2, Hertzian1DLinear, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Plastic1DGap, Viscous1DLinear, Elastic1DFiber, and Elastic1DGap.
|
pure virtual |
Access modulus of elasticity.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic3DJ2, Concrete1DFiber, Plastic1DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Hertzian1DLinear, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Computes the material energy for a given strain.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic3DJ2, Concrete1DFiber, Plastic1DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Hertzian1DLinear, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Computes the initial material stiffness in Voight notation.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic1DJ2, Plastic3DBA, Concrete1DFiber, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Plastic1DGap, Elastic1DFiber, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Elastic1DGap, Hertzian1DLinear, and Viscous1DLinear.
std::string Material::GetName | ( | ) |
|
pure virtual |
Returns the Poisson's ratio.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Concrete1DFiber, Plastic1DJ2, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Hertzian1DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Access shear modulus.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic3DJ2, PlasticPlaneStrainJ2, Concrete1DFiber, Plastic1DJ2, Elastic1DLinear, Elastic3DLinear, Hertzian1DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Computes the material strain in Voight notation.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic1DJ2, Plastic3DJ2, Concrete1DFiber, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Hertzian1DLinear, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Computes the material strain rate in Voight notation.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic1DJ2, Plastic3DBA, Plastic3DJ2, Concrete1DFiber, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Hertzian1DLinear, Plastic1DGap, Elastic1DFiber, Viscous1DLinear, and Elastic1DGap.
|
pure virtual |
Computes the material stress in Voight notation.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic1DJ2, Plastic3DJ2, Concrete1DFiber, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Hertzian1DLinear, Plastic1DGap, Elastic1DFiber, Elastic1DGap, and Viscous1DLinear.
|
pure virtual |
Computes the material stiffness in Voight notation.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic1DJ2, Plastic3DBA, Concrete1DFiber, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Plastic1DGap, Elastic1DFiber, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Elastic1DGap, Hertzian1DLinear, and Viscous1DLinear.
|
pure virtual |
Computes the material total stress in Voight notation.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic1DJ2, Plastic3DBA, Concrete1DFiber, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Elastic3DLinear, Plastic1DGap, Elastic1DFiber, Elastic2DPlaneStrain, Elastic2DPlaneStress, Hertzian1DLinear, Elastic1DGap, and Viscous1DLinear.
|
pure virtual |
Brings the material states to its initial state in the element.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic1DJ2, Concrete1DFiber, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Plastic1DGap, Elastic1DFiber, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Elastic1DGap, Hertzian1DLinear, and Viscous1DLinear.
bool Material::IsViscous | ( | ) |
|
pure virtual |
Reverse the material states to previous converged state.
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic1DJ2, Concrete1DFiber, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Plastic1DGap, Elastic1DFiber, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Elastic1DGap, Hertzian1DLinear, and Viscous1DLinear.
|
pure virtual |
Update the material state for this iteration.
strain | Vector with the strain components at this Gauss-point. |
cond | If the the elastic/plastic material components will be updated. |
Implemented in Steel1DFiber, PlasticPlaneStrainBA, Plastic3DBA, Plastic1DJ2, Concrete1DFiber, Plastic3DJ2, PlasticPlaneStrainJ2, Elastic1DLinear, Plastic1DGap, Elastic1DFiber, Elastic3DLinear, Elastic2DPlaneStrain, Elastic2DPlaneStress, Elastic1DGap, Hertzian1DLinear, and Viscous1DLinear.
|
private |
Material Stress Model.
|
private |
Material Name.