|
OOFEM 3.0
|
#include <intmatisodamage.h>
Public Member Functions | |
| IntMatIsoDamage (int n, Domain *d) | |
| const char * | giveInputRecordName () const override |
| const char * | giveClassName () const override |
| bool | hasAnalyticalTangentStiffness () const override |
| FloatArrayF< 3 > | giveEngTraction_3d (const FloatArrayF< 3 > &jump, GaussPoint *gp, TimeStep *tStep) const override |
| FloatArrayF< 3 > | giveFirstPKTraction_3d (const FloatArrayF< 3 > &jump, const FloatMatrixF< 3, 3 > &F, GaussPoint *gp, TimeStep *tStep) const override |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| virtual double | computeEquivalentJump (const FloatArray &jump) const |
| virtual double | computeDamageParam (double kappa) const |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| FloatMatrixF< 2, 2 > | give2dStiffnessMatrix_Eng (MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 3, 3 > | give3dStiffnessMatrix_Eng (MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const override |
| Public Member Functions inherited from oofem::StructuralInterfaceMaterial | |
| StructuralInterfaceMaterial (int n, Domain *d) | |
| virtual double | giveFirstPKTraction_1d (double jump, double reducedF, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatArrayF< 2 > | giveFirstPKTraction_2d (const FloatArrayF< 2 > &jump, const FloatMatrixF< 2, 2 > &reducedF, GaussPoint *gp, TimeStep *tStep) const |
| virtual double | giveEngTraction_1d (double jump, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatArrayF< 2 > | giveEngTraction_2d (const FloatArrayF< 2 > &jump, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 1, 1 > | give1dStiffnessMatrix_dTdj (MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 2, 2 > | give2dStiffnessMatrix_dTdj (MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 3, 3 > | give3dStiffnessMatrix_dTdj (MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 1, 1 > | give1dStiffnessMatrix_Eng (MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 1, 1 > | give1dStiffnessMatrix_dTdj_Num (GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 2, 2 > | give2dStiffnessMatrix_dTdj_Num (GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 3, 3 > | give3dStiffnessMatrix_dTdj_Num (GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 1, 1 > | give1dStiffnessMatrix_Eng_Num (GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 2, 2 > | give2dStiffnessMatrix_Eng_Num (GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 3, 3 > | give3dStiffnessMatrix_Eng_Num (GaussPoint *gp, TimeStep *tStep) const |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| virtual FloatArray | giveInterfaceStrength () |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| Public Member Functions inherited from oofem::Material | |
| Material (int n, Domain *d) | |
| virtual | ~Material ()=default |
| Destructor. | |
| virtual bool | isCharacteristicMtrxSymmetric (MatResponseMode rMode) const |
| virtual void | giveCharacteristicMatrix (FloatMatrix &answer, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic matrix of the receiver. | |
| virtual void | giveCharacteristicVector (FloatArray &answer, FloatArray &flux, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic vector of the receiver. | |
| virtual double | giveCharacteristicValue (MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic value of the receiver. | |
| virtual double | give (int aProperty, GaussPoint *gp) const |
| virtual bool | hasProperty (int aProperty, GaussPoint *gp) const |
| virtual void | modifyProperty (int aProperty, double value, GaussPoint *gp) |
| double | giveCastingTime () const |
| virtual bool | isActivated (TimeStep *tStep) const |
| virtual bool | hasMaterialModeCapability (MaterialMode mode) const |
| virtual bool | hasCastingTimeSupport () const |
| virtual int | setIPValue (const FloatArray &value, GaussPoint *gp, InternalStateType type) |
| void | printYourself () override |
| Prints receiver state on stdout. Useful for debugging. | |
| virtual void | saveIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp) |
| virtual void | restoreIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp) |
| int | checkConsistency () override |
| virtual void | restoreConsistency (GaussPoint *gp) |
| virtual int | initMaterial (Element *element) |
| virtual MaterialStatus * | giveStatus (GaussPoint *gp) const |
| virtual int | packUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) |
| virtual int | unpackAndUpdateUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) |
| virtual int | estimatePackSize (DataStream &buff, GaussPoint *ip) |
| virtual double | predictRelativeComputationalCost (GaussPoint *gp) |
| virtual double | predictRelativeRedistributionCost (GaussPoint *gp) |
| virtual void | initTempStatus (GaussPoint *gp) const |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| virtual | ~FEMComponent ()=default |
| Virtual destructor. | |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| int | giveNumber () const |
| void | setNumber (int num) |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| virtual void | initializeFrom (InputRecord &ir, int priority) |
| virtual void | initializeFinish () |
| virtual void | postInitialize () |
| Performs post initialization steps. Called after all components are created and initialized. | |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| virtual Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Protected Attributes | |
| double | kn = 0. |
| Elastic properties (normal moduli). | |
| double | ks = 0. |
| Shear moduli. | |
| double | ft = 0. |
| Tension strength. | |
| double | gf = 0. |
| Fracture energy. | |
| double | e0 = 0. |
| Limit elastic deformation. | |
| double | maxOmega = 0.999999 |
| Maximum limit on omega. The purpose is elimination of a too compliant material which may cause convergency problems. Set to something like 0.99 if needed. | |
| bool | semiExplicit = false |
| Protected Attributes inherited from oofem::Material | |
| Dictionary | propertyDictionary |
| double | castingTime |
| int | preCastingTimeMat |
| Material existing before casting time - optional parameter, zero by default. | |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
Additional Inherited Members | |
| Public Attributes inherited from oofem::StructuralInterfaceMaterial | |
| bool | useNumericalTangent |
Simple isotropic damage based model for interface elements. In 2d, the interface elements are used to model contact layer between element edges. The jump vector contains the relative displacements (in normal and shear direction). The traction vector contains the corresponding tractions in normal and tangent direction.
The behaviour of the model is elastic, described by normal and shear stiffness components. Isotropic damage is initiated when the stress reaches the tensile strength. The damage evolution is governed by the normal jump
Definition at line 110 of file intmatisodamage.h.
| oofem::IntMatIsoDamage::IntMatIsoDamage | ( | int | n, |
| Domain * | d ) |
Definition at line 48 of file intmatisodamage.C.
References oofem::StructuralInterfaceMaterial::StructuralInterfaceMaterial().
Referenced by oofem::IntMatIsoDamageTable::IntMatIsoDamageTable().
|
virtual |
computes the value of damage parameter omega, based on given value of equivalent strain.
| kappa | Equivalent strain measure. |
| strain | Total strain vector in full form. (unnecessary?) |
| gp | Integration point. |
Reimplemented in oofem::IntMatIsoDamageTable.
Definition at line 274 of file intmatisodamage.C.
Referenced by give2dStiffnessMatrix_Eng(), and giveEngTraction_3d().
|
virtual |
Computes the equivalent jump measure from given jump vector (full form).
| jump | Jump vector in full form. |
| gp | Integration point. |
| tStep | Time step. |
Definition at line 268 of file intmatisodamage.C.
References oofem::FloatArray::at().
Referenced by giveEngTraction_3d().
|
inlineoverridevirtual |
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 163 of file intmatisodamage.h.
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 112 of file intmatisodamage.C.
References oofem::FloatArray::at(), computeDamageParam(), oofem::diag(), e0, ft, gf, oofem::IntMatIsoDamageStatus::giveKappa(), oofem::Material::giveStatus(), oofem::IntMatIsoDamageStatus::giveTempDamage(), oofem::StructuralInterfaceMaterialStatus::giveTempJump(), oofem::IntMatIsoDamageStatus::giveTempKappa(), kn, ks, maxOmega, and oofem::min().
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 164 of file intmatisodamage.C.
References oofem::diag(), oofem::Material::giveStatus(), oofem::IntMatIsoDamageStatus::giveTempDamage(), oofem::StructuralInterfaceMaterialStatus::giveTempJump(), kn, ks, maxOmega, and oofem::min().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Reimplemented in oofem::IntMatIsoDamageTable.
Definition at line 132 of file intmatisodamage.h.
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 53 of file intmatisodamage.C.
References oofem::FloatArrayF< N >::at(), computeDamageParam(), computeEquivalentJump(), oofem::IntMatIsoDamageStatus::giveDamage(), oofem::IntMatIsoDamageStatus::giveKappa(), oofem::Material::giveStatus(), kn, ks, oofem::StructuralInterfaceMaterialStatus::letTempJumpBe(), oofem::StructuralInterfaceMaterialStatus::letTempTractionBe(), maxOmega, oofem::min(), semiExplicit, oofem::IntMatIsoDamageStatus::setTempDamage(), and oofem::IntMatIsoDamageStatus::setTempKappa().
Referenced by giveFirstPKTraction_3d().
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 102 of file intmatisodamage.C.
References giveEngTraction_3d(), oofem::Material::giveStatus(), and oofem::StructuralInterfaceMaterialStatus::letTempFirstPKTractionBe().
|
overridevirtual |
Setups the input record string of receiver.
| input | Dynamic input record to be filled by receiver. |
Reimplemented from oofem::FEMComponent.
Reimplemented in oofem::IntMatIsoDamageTable.
Definition at line 253 of file intmatisodamage.C.
References _IFT_IntMatIsoDamage_ft, _IFT_IntMatIsoDamage_gf, _IFT_IntMatIsoDamage_kn, _IFT_IntMatIsoDamage_ks, _IFT_IntMatIsoDamage_maxOmega, ft, gf, kn, ks, maxOmega, and oofem::DynamicInputRecord::setField().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Reimplemented in oofem::IntMatIsoDamageTable.
Definition at line 131 of file intmatisodamage.h.
References _IFT_IntMatIsoDamage_Name.
|
overridevirtual |
Returns the integration point corresponding value in Reduced form.
| answer | Contain corresponding ip value, zero sized if not available. |
| gp | Integration point to which the value refers. |
| type | Determines the type of internal variable. |
| tStep | Determines the time step. |
Reimplemented from oofem::Material.
Definition at line 201 of file intmatisodamage.C.
References oofem::FloatArray::at(), oofem::IntMatIsoDamageStatus::giveDamage(), oofem::IntMatIsoDamageStatus::giveKappa(), oofem::Material::giveStatus(), oofem::IntMatIsoDamageStatus::giveTempDamage(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().
|
inlineoverridevirtual |
Tells if the model has implemented analytical tangent stiffness. If not, the tangent must be computed numerically.
Implements oofem::StructuralInterfaceMaterial.
Definition at line 134 of file intmatisodamage.h.
|
overridevirtual |
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. Note that initializeFrom may be called mutiple times.
| ir | Input record to initialize from. |
| priority | Priority of the input record. This is used to determine the order of initialization |
Reimplemented from oofem::FEMComponent.
Reimplemented in oofem::IntMatIsoDamageTable.
Definition at line 233 of file intmatisodamage.C.
References _IFT_IntMatIsoDamage_ft, _IFT_IntMatIsoDamage_gf, _IFT_IntMatIsoDamage_kn, _IFT_IntMatIsoDamage_ks, _IFT_IntMatIsoDamage_maxOmega, e0, ft, gf, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, kn, ks, oofem::max(), maxOmega, and oofem::min().
|
protected |
Limit elastic deformation.
Definition at line 122 of file intmatisodamage.h.
Referenced by computeDamageParam(), oofem::IntMatIsoDamageTable::computeDamageParam(), give2dStiffnessMatrix_Eng(), initializeFrom(), and oofem::IntMatIsoDamageTable::initializeFrom().
|
protected |
Tension strength.
Definition at line 118 of file intmatisodamage.h.
Referenced by computeDamageParam(), give2dStiffnessMatrix_Eng(), giveInputRecord(), oofem::IntMatIsoDamageTable::giveInputRecord(), initializeFrom(), and oofem::IntMatIsoDamageTable::initializeFrom().
|
protected |
Fracture energy.
Definition at line 120 of file intmatisodamage.h.
Referenced by computeDamageParam(), give2dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Elastic properties (normal moduli).
Definition at line 114 of file intmatisodamage.h.
Referenced by give2dStiffnessMatrix_Eng(), give3dStiffnessMatrix_Eng(), giveEngTraction_3d(), giveInputRecord(), oofem::IntMatIsoDamageTable::giveInputRecord(), initializeFrom(), and oofem::IntMatIsoDamageTable::initializeFrom().
|
protected |
Shear moduli.
Definition at line 116 of file intmatisodamage.h.
Referenced by give2dStiffnessMatrix_Eng(), give3dStiffnessMatrix_Eng(), giveEngTraction_3d(), giveInputRecord(), oofem::IntMatIsoDamageTable::giveInputRecord(), initializeFrom(), and oofem::IntMatIsoDamageTable::initializeFrom().
|
protected |
Maximum limit on omega. The purpose is elimination of a too compliant material which may cause convergency problems. Set to something like 0.99 if needed.
Definition at line 124 of file intmatisodamage.h.
Referenced by give2dStiffnessMatrix_Eng(), give3dStiffnessMatrix_Eng(), giveEngTraction_3d(), giveInputRecord(), oofem::IntMatIsoDamageTable::giveInputRecord(), initializeFrom(), and oofem::IntMatIsoDamageTable::initializeFrom().
|
protected |
Definition at line 126 of file intmatisodamage.h.
Referenced by giveEngTraction_3d().