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.