OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Material interface for gradient material models. More...
#include <graddpmaterialextensioninterface.h>
Public Member Functions | |
GradDpMaterialExtensionInterface (Domain *d) | |
Constructor. More... | |
virtual | ~GradDpMaterialExtensionInterface () |
Destructor. More... | |
virtual void | givePDGradMatrix_uu (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0 |
Left upper block. More... | |
virtual void | givePDGradMatrix_ku (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0 |
Left lower block. More... | |
virtual void | givePDGradMatrix_uk (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0 |
Right upper block. More... | |
virtual void | givePDGradMatrix_kk (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0 |
Right lower block. More... | |
virtual void | givePDGradMatrix_LD (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0 |
Stress-based averaging. More... | |
virtual void | giveRealStressVectorGrad (FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep) |
gradient - based giveRealStressVector More... | |
virtual void | giveFirstPKStressVectorGrad (FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep) |
virtual void | giveCauchyStressVectorGrad (FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep) |
virtual IRResultType | initializeFrom (InputRecord *ir) |
int | giveAveragingType () |
Public Member Functions inherited from oofem::Interface | |
Interface () | |
Constructor. More... | |
virtual | ~Interface () |
virtual const char * | giveClassName () const =0 |
Protected Member Functions | |
void | giveDistanceBasedCharacteristicLength (const FloatArray &gpCoords) |
Provides the distance based interaction radius This function is called when averType is set to 1. More... | |
Protected Attributes | |
Domain * | dom |
double | cl0 |
Initial(user defined) characteristic length of the nonlocal model (its interpretation depends on the weight function) Is different to cl when a Stress-based or a Distance-based nonlocal variation is applied. More... | |
int | averType |
Parameter which defines the averaging type When averType is equal to zereo classical approach is used for averType equal to one, distance-based apprach is used and avetType equal to two corresponds to stress-based averaging. More... | |
double | beta |
Parameter which multiplied with the interaction radius cl0 gives its minimum allowed value. More... | |
double | zeta |
Parameter used when Distance-based nonlocal variation is applied When it is multiplied with the interaction radius cl gives the maxinmum distance of the Gauss Point from the boundary. More... | |
double | cl |
Characteristic length of the nonlocal model (its interpretation depends on the type of weight function). More... | |
Material interface for gradient material models.
Definition at line 59 of file graddpmaterialextensioninterface.h.
oofem::GradDpMaterialExtensionInterface::GradDpMaterialExtensionInterface | ( | Domain * | d | ) |
|
inlinevirtual |
Destructor.
Definition at line 117 of file graddpmaterialextensioninterface.h.
References givePDGradMatrix_kk(), givePDGradMatrix_ku(), givePDGradMatrix_LD(), givePDGradMatrix_uk(), and givePDGradMatrix_uu().
|
inline |
Definition at line 134 of file graddpmaterialextensioninterface.h.
References averType.
Referenced by oofem::GradDpElement::computeStiffnessMatrix_kk(), oofem::GradDpElement::computeStiffnessMatrix_ku(), oofem::GradDpElement::giveInternalForcesVector(), and oofem::GradDpElement::giveLocalInternalForcesVector().
|
inlinevirtual |
Definition at line 131 of file graddpmaterialextensioninterface.h.
References initializeFrom(), and OOFEM_ERROR.
Referenced by oofem::GradDpElement::computeStressVectorAndLocalCumulatedStrain().
|
protected |
Provides the distance based interaction radius This function is called when averType is set to 1.
The function loops over all user defined nonlocal boundaries to find minimum distance from the GP. Then calculates interaction radius
gpCoords | The Gauss points' coordinates, whose interaction radius is calculated based on the distance-based averaging approach. |
Definition at line 100 of file graddpmaterialextensioninterface.C.
References beta, oofem::NonlocalBarrier::calculateMinimumDistanceFromBoundary(), cl, cl0, dom, oofem::Domain::giveNonlocalBarrier(), oofem::Domain::giveNumberOfNonlocalBarriers(), and zeta.
Referenced by oofem::IDGMaterial::giveInternalLength().
|
inlinevirtual |
Reimplemented in oofem::LargeStrainMasterMaterialGrad.
Definition at line 130 of file graddpmaterialextensioninterface.h.
References OOFEM_ERROR.
Referenced by oofem::GradDpElement::computeStressVectorAndLocalCumulatedStrain().
|
pure virtual |
Right lower block.
Implemented in oofem::RankineMatGrad, oofem::MisesMatGrad, oofem::TrabBoneGrad3D, oofem::IDGMaterial, and oofem::LargeStrainMasterMaterialGrad.
Referenced by oofem::GradDpElement::computeStiffnessMatrix_kk(), oofem::GradDpElement::giveInternalForcesVector(), oofem::LargeStrainMasterMaterialGrad::giveInternalLength(), oofem::GradDpElement::giveLocalInternalForcesVector(), and ~GradDpMaterialExtensionInterface().
|
pure virtual |
Left lower block.
Implemented in oofem::RankineMatGrad, oofem::MisesMatGrad, oofem::TrabBoneGrad3D, oofem::IDGMaterial, and oofem::LargeStrainMasterMaterialGrad.
Referenced by oofem::GradDpElement::computeStiffnessMatrix_ku(), oofem::LargeStrainMasterMaterialGrad::give3dKappaMatrix(), oofem::GradDpElement::giveInternalForcesVector(), and ~GradDpMaterialExtensionInterface().
|
pure virtual |
Stress-based averaging.
Implemented in oofem::RankineMatGrad, oofem::MisesMatGrad, oofem::TrabBoneGrad3D, oofem::IDGMaterial, and oofem::LargeStrainMasterMaterialGrad.
Referenced by oofem::GradDpElement::computeStiffnessMatrix_ku(), oofem::GradDpElement::giveInternalForcesVector(), and ~GradDpMaterialExtensionInterface().
|
pure virtual |
Right upper block.
Implemented in oofem::RankineMatGrad, oofem::MisesMatGrad, oofem::TrabBoneGrad3D, oofem::IDGMaterial, and oofem::LargeStrainMasterMaterialGrad.
Referenced by oofem::GradDpElement::computeStiffnessMatrix_uk(), oofem::LargeStrainMasterMaterialGrad::give3dGprime(), oofem::GradDpElement::giveInternalForcesVector(), and ~GradDpMaterialExtensionInterface().
|
pure virtual |
Left upper block.
Implemented in oofem::RankineMatGrad, oofem::MisesMatGrad, oofem::TrabBoneGrad3D, oofem::IDGMaterial, and oofem::LargeStrainMasterMaterialGrad.
Referenced by oofem::GradDpElement::computeStiffnessMatrix_ku(), oofem::GradDpElement::computeStiffnessMatrix_uu(), oofem::GradDpElement::giveInternalForcesVector(), and ~GradDpMaterialExtensionInterface().
|
inlinevirtual |
gradient - based giveRealStressVector
Reimplemented in oofem::RankineMatGrad, oofem::TrabBoneGrad3D, oofem::MisesMatGrad, and oofem::IDGMaterial.
Definition at line 129 of file graddpmaterialextensioninterface.h.
References OOFEM_ERROR.
Referenced by oofem::GradDpElement::computeStressVectorAndLocalCumulatedStrain(), and oofem::LargeStrainMasterMaterialGrad::giveFirstPKStressVectorGrad().
|
virtual |
Reimplemented in oofem::RankineMatGrad, oofem::TrabBoneGrad3D, oofem::MisesMatGrad, oofem::IDGMaterial, and oofem::LargeStrainMasterMaterialGrad.
Definition at line 66 of file graddpmaterialextensioninterface.C.
References _IFT_GradDpMaterialExtensionInterface_averagingtype, _IFT_GradDpMaterialExtensionInterface_beta, _IFT_GradDpMaterialExtensionInterface_cl, _IFT_GradDpMaterialExtensionInterface_zeta, averType, beta, cl, cl0, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, and zeta.
Referenced by giveCauchyStressVectorGrad(), and oofem::IDGMaterial::initializeFrom().
|
protected |
Parameter which defines the averaging type When averType is equal to zereo classical approach is used for averType equal to one, distance-based apprach is used and avetType equal to two corresponds to stress-based averaging.
Definition at line 79 of file graddpmaterialextensioninterface.h.
Referenced by giveAveragingType(), GradDpMaterialExtensionInterface(), and initializeFrom().
|
protected |
Parameter which multiplied with the interaction radius cl0 gives its minimum allowed value.
It is used when a Stress-based or a Distance-based nonlocal variation is applied
Definition at line 86 of file graddpmaterialextensioninterface.h.
Referenced by oofem::TrabBoneGrad3D::give3dKappaMatrix(), oofem::TrabBoneGrad3D::give3dMaterialStiffnessMatrix(), giveDistanceBasedCharacteristicLength(), GradDpMaterialExtensionInterface(), and initializeFrom().
|
protected |
Characteristic length of the nonlocal model (its interpretation depends on the type of weight function).
Definition at line 100 of file graddpmaterialextensioninterface.h.
Referenced by giveDistanceBasedCharacteristicLength(), oofem::IDGMaterial::giveInternalLength(), oofem::IDGMaterial::giveInternalLengthDerivative(), GradDpMaterialExtensionInterface(), and initializeFrom().
|
protected |
Initial(user defined) characteristic length of the nonlocal model (its interpretation depends on the weight function) Is different to cl when a Stress-based or a Distance-based nonlocal variation is applied.
Definition at line 70 of file graddpmaterialextensioninterface.h.
Referenced by giveDistanceBasedCharacteristicLength(), oofem::IDGMaterial::giveInternalLength(), GradDpMaterialExtensionInterface(), and initializeFrom().
|
protected |
Definition at line 62 of file graddpmaterialextensioninterface.h.
Referenced by giveDistanceBasedCharacteristicLength(), and GradDpMaterialExtensionInterface().
|
protected |
Parameter used when Distance-based nonlocal variation is applied When it is multiplied with the interaction radius cl gives the maxinmum distance of the Gauss Point from the boundary.
If the Gauss Point's distance from the boundary is larger than this value the interaction radius cl is set to cl0
Definition at line 94 of file graddpmaterialextensioninterface.h.
Referenced by giveDistanceBasedCharacteristicLength(), GradDpMaterialExtensionInterface(), and initializeFrom().