OOFEM  2.1
Public Member Functions | Protected Attributes
oofem::HyperElasticMaterial Class Reference

#include <hyperelasticmaterial.h>

+ Inheritance diagram for oofem::HyperElasticMaterial:
+ Collaboration diagram for oofem::HyperElasticMaterial:

List of all members.

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 MaterialStatusCreateStatus (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.

Detailed Description

Definition at line 64 of file hyperelasticmaterial.h.


Constructor & Destructor Documentation

Definition at line 40 of file hyperelasticmaterial.C.


Member Function Documentation

Creates new copy of associated status and inserts it into given integration point.

Parameters:
gpIntegration point where newly created status will be stored.
Returns:
Reference to new status.

Reimplemented from oofem::Material.

Definition at line 160 of file hyperelasticmaterial.C.

References oofem::FEMComponent::giveDomain().

Computes full 3d material stiffness matrix at given integration point, time, respecting load history in integration point.

Parameters:
answerComputed results.
formMaterial response form.
modeMaterial response mode.
gpIntegration point.
tStepTime 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.

See also:
classType.
Returns:
Class type of receiver.

Reimplemented from oofem::StructuralMaterial.

Definition at line 86 of file hyperelasticmaterial.h.

References oofem::HyperElasticMaterialClass.

virtual const char* oofem::HyperElasticMaterial::giveClassName ( ) const [inline, virtual]
Returns:
Class name of the receiver.

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.

Parameters:
answerContains result.
formMaterial response form.
gpIntegration point.
reducedStrainStrain vector in reduced form.
tStepCurrent 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().

Tests if material supports material mode.

Parameters:
modeRequired material mode.
Returns:
Nonzero if supported, zero otherwise.

Reimplemented from oofem::StructuralMaterial.

Definition at line 48 of file hyperelasticmaterial.C.

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.

See also:
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters:
irInput record to initialize from.
Returns:
IRResultType

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.


Member Data Documentation

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().


The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Sun Mar 10 2013 18:17:01 for OOFEM by doxygen 1.7.6.1 written by Dimitri van Heesch, © 1997-2011