|
OOFEM 3.0
|
#include <isointerfacedamage02.h>
Public Member Functions | |
| IsoInterfaceDamageMaterial_2 (int n, Domain *d) | |
| Constructor. | |
| bool | hasAnalyticalTangentStiffness () const override |
| const char * | giveInputRecordName () const override |
| const char * | giveClassName () const override |
| FloatArrayF< 3 > | giveEngTraction_3d (const FloatArrayF< 3 > &jump, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 3, 3 > | give3dStiffnessMatrix_Eng (MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const override |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| virtual double | computeEquivalentStrain (const FloatArrayF< 3 > &strain, GaussPoint *gp, TimeStep *tStep) const |
| virtual double | computeDamageParam (double kappa, const FloatArrayF< 3 > &strain, GaussPoint *gp) const |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) 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 FloatArrayF< 3 > | giveFirstPKTraction_3d (const FloatArrayF< 3 > &jump, const FloatMatrixF< 3, 3 > &F, 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 |
| virtual FloatMatrixF< 2, 2 > | give2dStiffnessMatrix_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 | 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. | |
| std::string | tablename |
| Name of table file. | |
| FloatArray | damages |
| Damages read from the second column in the table file. | |
| FloatArray | strains |
| Strains read from the first column in the table file. | |
| 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 2d and 3d interface elements. In 2d, the interface elements are used to model contact layer between element edges. The generalized strain vector contains two relative displacements (in normal and shear direction). The generalized stress vector contains corresponding tractions in normal and tangent direction.
In 3d, the interface elements are used to model contact layer between element surfaces. The generalized strain vector contains two relative displacements (in normal and shear direction). The generalized stress vector contains 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. Damage evolution is governed by normal component of generalized strain vector (normal relative displacement) by a table given by a file that relates the normal displacement to the damage. A linear interpolation is made between the values given in the table. If the strain is greater than the largest value in the table the largest damage in the table will be used.
Differences between this class and IsoInterfaceDamageMaterial written by:
Definition at line 123 of file isointerfacedamage02.h.
| oofem::IsoInterfaceDamageMaterial_2::IsoInterfaceDamageMaterial_2 | ( | int | n, |
| Domain * | d ) |
Constructor.
Definition at line 50 of file isointerfacedamage02.C.
References oofem::StructuralInterfaceMaterial::StructuralInterfaceMaterial().
|
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. |
Definition at line 246 of file isointerfacedamage02.C.
References damages, e0, and strains.
Referenced by giveEngTraction_3d().
|
virtual |
Computes the equivalent strain measure from given strain vector (full form).
| strain | Total strain vector in full form. |
| gp | Integration point. |
| tStep | Time step. |
Definition at line 240 of file isointerfacedamage02.C.
References oofem::FloatArrayF< N >::at(), and oofem::macbra().
|
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 178 of file isointerfacedamage02.h.
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 95 of file isointerfacedamage02.C.
References oofem::FloatArrayF< N >::at(), oofem::diag(), oofem::dot(), e0, ft, oofem::IsoInterfaceDamageMaterialStatus_2::giveKappa(), oofem::Material::giveStatus(), oofem::IsoInterfaceDamageMaterialStatus_2::giveTempDamage(), oofem::StructuralInterfaceMaterialStatus::giveTempJump(), oofem::IsoInterfaceDamageMaterialStatus_2::giveTempKappa(), kn, ks, maxOmega, and oofem::min().
Referenced by giveEngTraction_3d().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 150 of file isointerfacedamage02.h.
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 55 of file isointerfacedamage02.C.
References oofem::FloatArrayF< N >::at(), computeDamageParam(), oofem::dot(), give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterialStatus_2::giveDamage(), oofem::IsoInterfaceDamageMaterialStatus_2::giveKappa(), oofem::Material::giveStatus(), oofem::StructuralInterfaceMaterialStatus::letTempJumpBe(), oofem::StructuralInterfaceMaterialStatus::letTempTractionBe(), oofem::macbra(), oofem::IsoInterfaceDamageMaterialStatus_2::setTempDamage(), and oofem::IsoInterfaceDamageMaterialStatus_2::setTempKappa().
|
overridevirtual |
Setups the input record string of receiver.
| input | Dynamic input record to be filled by receiver. |
Reimplemented from oofem::FEMComponent.
Definition at line 227 of file isointerfacedamage02.C.
References _IFT_IsoInterfaceDamageMaterial_2_ft, _IFT_IsoInterfaceDamageMaterial_2_kn, _IFT_IsoInterfaceDamageMaterial_2_ks, _IFT_IsoInterfaceDamageMaterial_2_maxOmega, _IFT_IsoInterfaceDamageMaterial_2_tablename, ft, kn, ks, maxOmega, oofem::DynamicInputRecord::setField(), and tablename.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 149 of file isointerfacedamage02.h.
References _IFT_IsoInterfaceDamageMaterial_2_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 136 of file isointerfacedamage02.C.
References oofem::FloatArray::at(), oofem::IsoInterfaceDamageMaterialStatus_2::giveDamage(), oofem::IsoInterfaceDamageMaterialStatus_2::giveKappa(), oofem::Material::giveStatus(), oofem::IsoInterfaceDamageMaterialStatus_2::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 147 of file isointerfacedamage02.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.
Definition at line 168 of file isointerfacedamage02.C.
References _IFT_IsoInterfaceDamageMaterial_2_ft, _IFT_IsoInterfaceDamageMaterial_2_kn, _IFT_IsoInterfaceDamageMaterial_2_ks, _IFT_IsoInterfaceDamageMaterial_2_maxOmega, _IFT_IsoInterfaceDamageMaterial_2_tablename, damages, e0, ft, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, kn, ks, oofem::max(), maxOmega, oofem::min(), OOFEM_ERROR, strains, and tablename.
|
protected |
Damages read from the second column in the table file.
Definition at line 139 of file isointerfacedamage02.h.
Referenced by computeDamageParam(), and initializeFrom().
|
protected |
Limit elastic deformation.
Definition at line 133 of file isointerfacedamage02.h.
Referenced by computeDamageParam(), give3dStiffnessMatrix_Eng(), and initializeFrom().
|
protected |
Tension strength.
Definition at line 131 of file isointerfacedamage02.h.
Referenced by give3dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Elastic properties (normal moduli).
Definition at line 127 of file isointerfacedamage02.h.
Referenced by give3dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Shear moduli.
Definition at line 129 of file isointerfacedamage02.h.
Referenced by give3dStiffnessMatrix_Eng(), giveInputRecord(), and 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 135 of file isointerfacedamage02.h.
Referenced by give3dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Strains read from the first column in the table file.
Definition at line 141 of file isointerfacedamage02.h.
Referenced by computeDamageParam(), and initializeFrom().
|
protected |
Name of table file.
Definition at line 137 of file isointerfacedamage02.h.
Referenced by giveInputRecord(), and initializeFrom().