|
OOFEM 3.0
|
#include <plhoopstresscirc.h>
Public Member Functions | |
| PLHoopStressCirc () | |
| virtual | ~PLHoopStressCirc () |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| bool | hasPropagation () const override |
| bool | propagateInterface (Domain &iDomain, EnrichmentFront &iEnrFront, TipPropagation &oTipProp) override |
| void | setRadius (double iRadius) |
| void | setAngleInc (double iAngleInc) |
| void | setIncrementLength (double iIncrementLength) |
| void | setHoopStressThreshold (double iHoopStressThreshold) |
| void | setUseRadialBasisFunc (bool iUseRadialBasisFunc) |
| Public Member Functions inherited from oofem::PropagationLaw | |
| PropagationLaw () | |
| virtual | ~PropagationLaw () |
Protected Attributes | |
| double | mRadius |
| double | mAngleInc |
| double | mIncrementLength |
| double | mHoopStressThreshold |
| bool | mUseRadialBasisFunc |
Propagation law that propagates the crack in the direction that gives \( \sigma_{r\theta} = 0 \). Based on T.P. Fries and M. Baydoun: "Crack propagation with the extended finite element method and a hybrid explicit-implicit crack description", Internat. J. Numer. Methods Engrg 89, pp. 1527–1558 (2012)
The stress is evaluated in several points on a circle surrounding the crack tip.
Compared to the paper above, the implementation has been extended with a criterion for crack propagation instead of always propagating a predefined increment length. Two options are currently available for stress interpolation: 1) Take stress of closest Gauss point 2) Interpolate with radial basis functions
Definition at line 75 of file plhoopstresscirc.h.
|
inline |
Definition at line 78 of file plhoopstresscirc.h.
References mAngleInc, mHoopStressThreshold, mIncrementLength, mRadius, and mUseRadialBasisFunc.
|
inlinevirtual |
Definition at line 79 of file plhoopstresscirc.h.
|
inlineoverridevirtual |
Implements oofem::PropagationLaw.
Definition at line 81 of file plhoopstresscirc.h.
|
overridevirtual |
Implements oofem::PropagationLaw.
Definition at line 70 of file plhoopstresscirc.C.
References _IFT_PLHoopStressCirc_AngleInc, _IFT_PLHoopStressCirc_HoopStressThreshold, _IFT_PLHoopStressCirc_IncLength, _IFT_PLHoopStressCirc_RadialBasisFunc, _IFT_PLHoopStressCirc_Radius, giveInputRecordName(), mAngleInc, mHoopStressThreshold, mIncrementLength, mRadius, mUseRadialBasisFunc, oofem::DynamicInputRecord::setField(), and oofem::DynamicInputRecord::setRecordKeywordField().
Referenced by initializeFrom().
|
inlineoverridevirtual |
Implements oofem::PropagationLaw.
Definition at line 82 of file plhoopstresscirc.h.
References _IFT_PLHoopStressCirc_Name.
Referenced by giveInputRecord().
|
inlineoverridevirtual |
Implements oofem::PropagationLaw.
Definition at line 87 of file plhoopstresscirc.h.
References mIncrementLength.
|
overridevirtual |
Implements oofem::PropagationLaw.
References giveInputRecord().
|
overridevirtual |
Implements oofem::PropagationLaw.
Definition at line 85 of file plhoopstresscirc.C.
References oofem::FloatArray::add(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::beProductOf(), oofem::FloatMatrix::beProductOf(), oofem::FloatArray::beScaled(), oofem::FloatMatrix::beTProductOf(), oofem::Element::computeVolumeAround(), oofem::distance(), oofem::FloatArray::dotProduct(), oofem::FEInterpolation::evalN(), oofem::SpatialLocalizer::giveAllElementsWithIpWithinBox(), oofem::SpatialLocalizer::giveClosestIP(), oofem::DofManager::giveCoordinate(), oofem::DofManager::giveCoordinates(), oofem::Element::giveDefaultIntegrationRulePtr(), oofem::Element::giveDofManager(), oofem::Domain::giveElement(), oofem::SpatialLocalizer::giveElementContainingPoint(), oofem::Element::giveInterpolation(), oofem::GaussPoint::giveMaterialStatus(), oofem::Element::giveNumberOfDofManagers(), oofem::FloatArray::giveSize(), oofem::Domain::giveSpatialLocalizer(), oofem::StructuralMaterialStatus::giveStressVector(), oofem::EnrichmentFront::giveTipInfo(), oofem::XfemManager::giveVtkDebug(), oofem::Domain::giveXfemManager(), M_PI, mAngleInc, oofem::TipInfo::mGlobalCoord, mHoopStressThreshold, mIncrementLength, oofem::TipInfo::mNormalDir, oofem::TipPropagation::mPropagationDir, oofem::TipPropagation::mPropagationLength, mRadius, oofem::TipInfo::mTangDir, oofem::TipInfo::mTipIndex, oofem::TipPropagation::mTipIndex, mUseRadialBasisFunc, N, oofem::FloatArray::normalize(), OOFEM_ERROR, oofem::EnrichmentFront::propagationIsAllowed(), oofem::FloatArray::resize(), oofem::FloatMatrix::setColumn(), and oofem::FloatArray::zero().
|
inline |
Definition at line 91 of file plhoopstresscirc.h.
References mAngleInc.
|
inline |
Definition at line 93 of file plhoopstresscirc.h.
References mHoopStressThreshold.
|
inline |
Definition at line 92 of file plhoopstresscirc.h.
References mIncrementLength.
|
inline |
Definition at line 90 of file plhoopstresscirc.h.
References mRadius.
|
inline |
Definition at line 94 of file plhoopstresscirc.h.
References mUseRadialBasisFunc.
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), PLHoopStressCirc(), propagateInterface(), and setAngleInc().
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), PLHoopStressCirc(), propagateInterface(), and setHoopStressThreshold().
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), hasPropagation(), PLHoopStressCirc(), propagateInterface(), and setIncrementLength().
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), PLHoopStressCirc(), propagateInterface(), and setRadius().
|
protected |
Definition at line 98 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), PLHoopStressCirc(), propagateInterface(), and setUseRadialBasisFunc().