OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Propagation law that propagates the crack in the direction that gives . More...
#include <plhoopstresscirc.h>
Public Member Functions | |
PLHoopStressCirc () | |
virtual | ~PLHoopStressCirc () |
virtual const char * | giveClassName () const |
virtual const char * | giveInputRecordName () const |
virtual IRResultType | initializeFrom (InputRecord *ir) |
virtual void | giveInputRecord (DynamicInputRecord &input) |
virtual bool | hasPropagation () const |
virtual bool | propagateInterface (Domain &iDomain, EnrichmentFront &iEnrFront, TipPropagation &oTipProp) |
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 .
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.
|
inlinevirtual |
Definition at line 79 of file plhoopstresscirc.h.
|
inlinevirtual |
Implements oofem::PropagationLaw.
Definition at line 81 of file plhoopstresscirc.h.
|
virtual |
Implements oofem::PropagationLaw.
Definition at line 74 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().
|
inlinevirtual |
Implements oofem::PropagationLaw.
Definition at line 82 of file plhoopstresscirc.h.
References _IFT_PLHoopStressCirc_Name.
Referenced by giveInputRecord().
|
inlinevirtual |
Implements oofem::PropagationLaw.
Definition at line 87 of file plhoopstresscirc.h.
|
virtual |
Implements oofem::PropagationLaw.
|
virtual |
Implements oofem::PropagationLaw.
Definition at line 89 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::EnrichmentItem::calcXiZeroLevel(), oofem::Element::computeVolumeAround(), oofem::FloatArray::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(), oofem::XFEMDebugTools::WriteArrayToGnuplot(), oofem::XFEMDebugTools::WriteArrayToMatlab(), and oofem::FloatArray::zero().
|
inline |
Definition at line 91 of file plhoopstresscirc.h.
|
inline |
Definition at line 93 of file plhoopstresscirc.h.
|
inline |
Definition at line 92 of file plhoopstresscirc.h.
|
inline |
Definition at line 90 of file plhoopstresscirc.h.
|
inline |
Definition at line 94 of file plhoopstresscirc.h.
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), and propagateInterface().
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), and propagateInterface().
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), and propagateInterface().
|
protected |
Definition at line 97 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), and propagateInterface().
|
protected |
Definition at line 98 of file plhoopstresscirc.h.
Referenced by giveInputRecord(), and propagateInterface().