|
OOFEM
2.1
|
#include <hyperelasticmaterial.h>
Inheritance diagram for oofem::HyperElasticMaterial:
Collaboration diagram for oofem::HyperElasticMaterial:Public Member Functions | |
| HyperElasticMaterial (int n, Domain *d) | |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Initializes receiver according to object description stored in input record. | |
| virtual void | give3dMaterialStiffnessMatrix (FloatMatrix &answer, MatResponseForm form, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) |
| Computes full 3d material stiffness matrix at given integration point, time, respecting load history in integration point. | |
| virtual void | giveRealStressVector (FloatArray &answer, MatResponseForm form, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep) |
| Computes the real stress vector for given total strain and integration point. | |
| virtual MaterialStatus * | CreateStatus (GaussPoint *gp) const |
| Creates new copy of associated status and inserts it into given integration point. | |
| virtual int | hasMaterialModeCapability (MaterialMode) |
| Tests if material supports material mode. | |
| virtual const char * | giveClassName () const |
| virtual classType | giveClassID () const |
| Returns classType id of receiver. | |
Protected Attributes | |
| double | K |
| Bulk modulus. | |
| double | G |
| Shear modulus. | |
Definition at line 64 of file hyperelasticmaterial.h.
| oofem::HyperElasticMaterial::HyperElasticMaterial | ( | int | n, |
| Domain * | d | ||
| ) |
Definition at line 40 of file hyperelasticmaterial.C.
| MaterialStatus * oofem::HyperElasticMaterial::CreateStatus | ( | GaussPoint * | gp | ) | const [virtual] |
Creates new copy of associated status and inserts it into given integration point.
| gp | Integration point where newly created status will be stored. |
Reimplemented from oofem::Material.
Definition at line 160 of file hyperelasticmaterial.C.
References oofem::FEMComponent::giveDomain().
| void oofem::HyperElasticMaterial::give3dMaterialStiffnessMatrix | ( | FloatMatrix & | answer, |
| MatResponseForm | form, | ||
| MatResponseMode | mode, | ||
| GaussPoint * | gp, | ||
| TimeStep * | tStep | ||
| ) | [virtual] |
Computes full 3d material stiffness matrix at given integration point, time, respecting load history in integration point.
| answer | Computed results. |
| form | Material response form. |
| mode | Material response mode. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when atTime is current time step). |
Reimplemented from oofem::StructuralMaterial.
Definition at line 62 of file hyperelasticmaterial.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatMatrix::beInverseOf(), G, oofem::FloatMatrix::giveDeterminant(), oofem::Material::giveStatus(), oofem::StructuralMaterialStatus::giveTempStrainVector(), K, and oofem::FloatMatrix::resize().
| virtual classType oofem::HyperElasticMaterial::giveClassID | ( | ) | const [inline, virtual] |
Returns classType id of receiver.
Intended for run time type checking. Every derived class have to overload this method.
Reimplemented from oofem::StructuralMaterial.
Definition at line 86 of file hyperelasticmaterial.h.
References oofem::HyperElasticMaterialClass.
| virtual const char* oofem::HyperElasticMaterial::giveClassName | ( | ) | const [inline, virtual] |
Reimplemented from oofem::StructuralMaterial.
Definition at line 85 of file hyperelasticmaterial.h.
| void oofem::HyperElasticMaterial::giveRealStressVector | ( | FloatArray & | answer, |
| MatResponseForm | form, | ||
| GaussPoint * | gp, | ||
| const FloatArray & | reducedStrain, | ||
| TimeStep * | tStep | ||
| ) | [virtual] |
Computes the real stress vector for given total strain and integration point.
The total strain is defined as strain computed directly from displacement field at given time. The stress independent parts (temperature, eigenstrains) are subtracted in constitutive driver. The service should use previously reached equilibrium history variables. Also it should update temporary history variables in status according to newly reached state. The temporary history variables are moved into equilibrium ones after global structure equilibrium has been reached by iteration process.
| answer | Contains result. |
| form | Material response form. |
| gp | Integration point. |
| reducedStrain | Strain vector in reduced form. |
| tStep | Current time step (most models are able to respond only when atTime is current time step). |
Implements oofem::StructuralMaterial.
Definition at line 120 of file hyperelasticmaterial.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatMatrix::beInverseOf(), G, oofem::FloatMatrix::giveDeterminant(), oofem::Material::giveStatus(), oofem::StructuralMaterial::giveStressDependentPartOfStrainVector(), K, oofem::StructuralMaterialStatus::letTempStrainVectorBe(), oofem::StructuralMaterialStatus::letTempStressVectorBe(), and oofem::FloatArray::resize().
| int oofem::HyperElasticMaterial::hasMaterialModeCapability | ( | MaterialMode | mode | ) | [virtual] |
Tests if material supports material mode.
| mode | Required material mode. |
Reimplemented from oofem::StructuralMaterial.
Definition at line 48 of file hyperelasticmaterial.C.
| IRResultType oofem::HyperElasticMaterial::initializeFrom | ( | InputRecord * | ir | ) | [virtual] |
Initializes receiver according to object description stored in input record.
This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record.
| ir | Input record to initialize from. |
Reimplemented from oofem::StructuralMaterial.
Definition at line 170 of file hyperelasticmaterial.C.
References G, oofem::IFT_HyperElasticMaterial_g, oofem::IFT_HyperElasticMaterial_k, IR_GIVE_FIELD, oofem::IRRT_OK, and K.
double oofem::HyperElasticMaterial::G [protected] |
Shear modulus.
Definition at line 68 of file hyperelasticmaterial.h.
Referenced by give3dMaterialStiffnessMatrix(), giveRealStressVector(), and initializeFrom().
double oofem::HyperElasticMaterial::K [protected] |
Bulk modulus.
Definition at line 67 of file hyperelasticmaterial.h.
Referenced by give3dMaterialStiffnessMatrix(), giveRealStressVector(), and initializeFrom().