|
OOFEM 3.0
|
#include <isointerfacedamage01.h>
Public Member Functions | |
| IsoInterfaceDamageMaterial (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 |
| double | computeEquivalentStrain (const FloatArrayF< 3 > &jump, 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 | tempDillatCoeff = 0. |
| Coefficient of thermal dilatation. | |
| 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. | |
| double | beta = 0. |
| Weight factor for the influence of shear component of displacement jump on equivalent strain. | |
| 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 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.
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 an exponential softening law.
Definition at line 110 of file isointerfacedamage01.h.
| oofem::IsoInterfaceDamageMaterial::IsoInterfaceDamageMaterial | ( | int | n, |
| Domain * | d ) |
Constructor.
Definition at line 48 of file isointerfacedamage01.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 208 of file isointerfacedamage01.C.
Referenced by giveEngTraction_3d().
| double oofem::IsoInterfaceDamageMaterial::computeEquivalentStrain | ( | const FloatArrayF< 3 > & | jump, |
| GaussPoint * | gp, | ||
| TimeStep * | tStep ) const |
Definition at line 197 of file isointerfacedamage01.C.
References oofem::FloatArrayF< N >::at(), beta, oofem::FloatArrayF< N >::giveSize(), and oofem::macbra().
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 158 of file isointerfacedamage01.h.
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 87 of file isointerfacedamage01.C.
References oofem::FloatArrayF< N >::at(), oofem::diag(), oofem::dot(), e0, ft, gf, oofem::IsoInterfaceDamageMaterialStatus::giveKappa(), oofem::Material::giveStatus(), oofem::IsoInterfaceDamageMaterialStatus::giveTempDamage(), oofem::StructuralInterfaceMaterialStatus::giveTempJump(), oofem::IsoInterfaceDamageMaterialStatus::giveTempKappa(), kn, ks, maxOmega, and oofem::min().
Referenced by giveEngTraction_3d().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 137 of file isointerfacedamage01.h.
|
overridevirtual |
Reimplemented from oofem::StructuralInterfaceMaterial.
Definition at line 53 of file isointerfacedamage01.C.
References computeDamageParam(), computeEquivalentStrain(), oofem::dot(), give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterialStatus::giveDamage(), oofem::IsoInterfaceDamageMaterialStatus::giveKappa(), oofem::Material::giveStatus(), oofem::StructuralInterfaceMaterialStatus::letTempJumpBe(), oofem::StructuralInterfaceMaterialStatus::letTempTractionBe(), oofem::IsoInterfaceDamageMaterialStatus::setTempDamage(), and oofem::IsoInterfaceDamageMaterialStatus::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 182 of file isointerfacedamage01.C.
References _IFT_IsoInterfaceDamageMaterial_ft, _IFT_IsoInterfaceDamageMaterial_gf, _IFT_IsoInterfaceDamageMaterial_kn, _IFT_IsoInterfaceDamageMaterial_ks, _IFT_IsoInterfaceDamageMaterial_maxOmega, ft, gf, kn, ks, maxOmega, and oofem::DynamicInputRecord::setField().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 136 of file isointerfacedamage01.h.
References _IFT_IsoInterfaceDamageMaterial_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 128 of file isointerfacedamage01.C.
References oofem::FloatArray::at(), oofem::IsoInterfaceDamageMaterialStatus::giveDamage(), oofem::IsoInterfaceDamageMaterialStatus::giveKappa(), oofem::Material::giveStatus(), oofem::IsoInterfaceDamageMaterialStatus::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 isointerfacedamage01.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 160 of file isointerfacedamage01.C.
References _IFT_IsoInterfaceDamageMaterial_beta, _IFT_IsoInterfaceDamageMaterial_ft, _IFT_IsoInterfaceDamageMaterial_gf, _IFT_IsoInterfaceDamageMaterial_kn, _IFT_IsoInterfaceDamageMaterial_ks, _IFT_IsoInterfaceDamageMaterial_maxOmega, beta, e0, ft, gf, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, kn, ks, oofem::max(), maxOmega, and oofem::min().
|
protected |
Weight factor for the influence of shear component of displacement jump on equivalent strain.
Definition at line 128 of file isointerfacedamage01.h.
Referenced by computeEquivalentStrain(), and initializeFrom().
|
protected |
Limit elastic deformation.
Definition at line 124 of file isointerfacedamage01.h.
Referenced by computeDamageParam(), give3dStiffnessMatrix_Eng(), and initializeFrom().
|
protected |
Tension strength.
Definition at line 120 of file isointerfacedamage01.h.
Referenced by computeDamageParam(), give3dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Fracture energy.
Definition at line 122 of file isointerfacedamage01.h.
Referenced by computeDamageParam(), give3dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Elastic properties (normal moduli).
Definition at line 116 of file isointerfacedamage01.h.
Referenced by give3dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Shear moduli.
Definition at line 118 of file isointerfacedamage01.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 126 of file isointerfacedamage01.h.
Referenced by give3dStiffnessMatrix_Eng(), giveInputRecord(), and initializeFrom().
|
protected |
Coefficient of thermal dilatation.
Definition at line 114 of file isointerfacedamage01.h.