OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Abstract class representing entity, which is included in the FE model using one (or more) global functions. More...
#include <enrichmentitem.h>
Public Member Functions | |
EnrichmentItem (int n, XfemManager *xm, Domain *aDomain) | |
Constructor / destructor. More... | |
virtual | ~EnrichmentItem () |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
virtual void | giveInputRecord (DynamicInputRecord &input) |
Note the special treatment here, the "normal" syntax would be giveInputRecord(DynamicInputRecord &input). More... | |
virtual void | appendInputRecords (DynamicDataReader &oDR)=0 |
virtual int | instanciateYourself (DataReader &dr)=0 |
virtual const char * | giveClassName () const =0 |
const IntArray * | giveEnrichesDofsWithIdArray () const |
int | giveNumberOfEnrDofs () const |
virtual void | writeVtkDebug () const |
bool | isElementEnriched (const Element *element) const |
bool | isDofManEnriched (const DofManager &iDMan) const |
int | giveNumDofManEnrichments (const DofManager &iDMan) const |
virtual bool | canModifyMaterial () const |
virtual bool | isMaterialModified (GaussPoint &iGP, Element &iEl, CrossSection *&opCS) const |
virtual void | updateGeometry (FailureCriteriaStatus *fc, TimeStep *tStep) |
virtual void | updateGeometry (TimeStep *tStep) |
virtual void | updateGeometry ()=0 |
virtual void | propagateFronts (bool &oFrontsHavePropagated)=0 |
virtual bool | hasPropagatingFronts () const |
virtual bool | hasInitiationCriteria () |
int | giveStartOfDofIdPool () const |
int | giveEndOfDofIdPool () const |
virtual int | giveDofPoolSize () const |
virtual void | computeEnrichedDofManDofIdArray (IntArray &oDofIdArray, DofManager &iDMan) |
Compute Id's of enriched dofs for a given DofManager. More... | |
virtual void | giveEIDofIdArray (IntArray &answer) const |
virtual void | givePotentialEIDofIdArray (IntArray &answer) const |
virtual void | evaluateEnrFuncInNode (std::vector< double > &oEnrFunc, const Node &iNode) const =0 |
virtual void | evaluateEnrFuncAt (std::vector< double > &oEnrFunc, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const =0 |
virtual void | evaluateEnrFuncAt (std::vector< double > &oEnrFunc, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl, const FloatArray &iN, const IntArray &iElNodes) const =0 |
virtual void | evaluateEnrFuncDerivAt (std::vector< FloatArray > &oEnrFuncDeriv, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const =0 |
virtual void | evaluateEnrFuncDerivAt (std::vector< FloatArray > &oEnrFuncDeriv, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl, const FloatArray &iN, const FloatMatrix &idNdX, const IntArray &iElNodes) const =0 |
bool | evalLevelSetNormalInNode (double &oLevelSet, int iNodeInd, const FloatArray &iGlobalCoord) const |
bool | evalLevelSetTangInNode (double &oLevelSet, int iNodeInd, const FloatArray &iGlobalCoord) const |
bool | evalNodeEnrMarkerInNode (double &oNodeEnrMarker, int iNodeInd) const |
virtual void | createEnrichedDofs () |
virtual bool | giveElementTipCoord (FloatArray &oCoord, double &oArcPos, Element &iEl, const FloatArray &iElCenter) const =0 |
PropagationLaw * | givePropagationLaw () |
void | setPropagationLaw (PropagationLaw *ipPropagationLaw) |
bool | hasPropagationLaw () |
virtual void | callGnuplotExportModule (GnuplotExportModule &iExpMod, TimeStep *tStep) |
const std::unordered_map< int, NodeEnrichmentType > & | giveEnrNodeMap () const |
virtual void | giveBoundingSphere (FloatArray &oCenter, double &oRadius)=0 |
EnrichmentFront * | giveEnrichmentFrontStart () |
void | setEnrichmentFrontStart (EnrichmentFront *ipEnrichmentFrontStart, bool iDeleteOld=true) |
EnrichmentFront * | giveEnrichmentFrontEnd () |
void | setEnrichmentFrontEnd (EnrichmentFront *ipEnrichmentFrontEnd, bool iDeleteOld=true) |
bool | tipIsTouchingEI (const TipInfo &iTipInfo) |
void | setEnrichmentFunction (EnrichmentFunction *ipEnrichmentFunc) |
Public Member Functions inherited from oofem::FEMComponent | |
FEMComponent (int n, Domain *d) | |
Regular constructor, creates component with given number and belonging to given domain. More... | |
virtual | ~FEMComponent () |
Virtual destructor. More... | |
virtual const char * | giveInputRecordName () const =0 |
Domain * | giveDomain () const |
virtual void | setDomain (Domain *d) |
Sets associated Domain. More... | |
int | giveNumber () const |
void | setNumber (int num) |
Sets number of receiver. More... | |
virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
Local renumbering support. More... | |
virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Stores receiver state to output stream. More... | |
virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Restores the receiver state previously written in stream. More... | |
virtual int | checkConsistency () |
Allows programmer to test some internal data, before computation begins. More... | |
virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
Prints output of receiver to stream, for given time step. More... | |
virtual void | printYourself () |
Prints receiver state on stdout. Useful for debugging. More... | |
virtual Interface * | giveInterface (InterfaceType t) |
Interface requesting service. More... | |
std::string | errorInfo (const char *func) const |
Returns string for prepending output (used by error reporting macros). More... | |
Static Public Member Functions | |
static double | calcXiZeroLevel (const double &iQ1, const double &iQ2) |
static void | calcPolarCoord (double &oR, double &oTheta, const FloatArray &iOrigin, const FloatArray &iPos, const FloatArray &iN, const FloatArray &iT, const EfInput &iEfInput, bool iFlipTangent) |
Protected Member Functions | |
virtual void | evalLevelSetNormal (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const =0 |
Evaluate the normal direction level set in the point iGlobalCoord. More... | |
virtual void | evalLevelSetTangential (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const =0 |
Evaluate the tangential direction level set in the point iGlobalCoord. More... | |
virtual void | evalGradLevelSetNormal (FloatArray &oGradLevelSet, const FloatArray &iGlobalCoord, const FloatMatrix &idNdX, const IntArray &iNodeInd) const =0 |
Evaluate the gradient of the normal direction level set in the point iGlobalCoord. More... | |
virtual void | updateNodeEnrMarker (XfemManager &ixFemMan)=0 |
Protected Attributes | |
EnrichmentFunction * | mpEnrichmentFunc |
EnrichmentFront * | mpEnrichmentFrontStart |
EnrichmentFront * | mpEnrichmentFrontEnd |
int | mEnrFrontIndex |
mEnrFrontIndex: nonzero if an enrichment front is present, zero otherwise. More... | |
PropagationLaw * | mpPropagationLaw |
int | mPropLawIndex |
mPropLawIndex: nonzero if a propagation law is present, zero otherwise. More... | |
bool | mInheritBoundaryConditions |
If newly created enriched dofs should inherit boundary conditions from the node they are introduced in. More... | |
bool | mInheritOrderedBoundaryConditions |
int | startOfDofIdPool |
int | endOfDofIdPool |
IntArray | mpEnrichesDofsWithIdArray |
Geometry associated with EnrichmentItem. More... | |
std::unordered_map< int, double > | mLevelSetNormalDirMap |
std::unordered_map< int, double > | mLevelSetTangDirMap |
std::unordered_map< int, NodeEnrichmentType > | mNodeEnrMarkerMap |
IntArray | mEIDofIdArray |
bool | mLevelSetsNeedUpdate |
const double | mLevelSetTol2 |
Protected Attributes inherited from oofem::FEMComponent | |
int | number |
Component number. More... | |
Domain * | domain |
Link to domain object, useful for communicating with other FEM components. More... | |
Static Protected Attributes | |
static const double | mLevelSetTol = 1.0e-12 |
static const double | mLevelSetRelTol = 1.0e-3 |
Abstract class representing entity, which is included in the FE model using one (or more) global functions.
Such entity may represent crack, material interface, etc. As the geometry of such entity may be represented in a number of ways, the hierarchy of classes derived from base Geometry class is used to achieve flexibility of geometry representation.
Each EnrichmentItem keeps its DOF labels (assigned/allocated by XFemManager, its geometry representation, and keeps the list of its EnrichmentFunctions.
Definition at line 106 of file enrichmentitem.h.
oofem::EnrichmentItem::EnrichmentItem | ( | int | n, |
XfemManager * | xm, | ||
Domain * | aDomain | ||
) |
Constructor / destructor.
Definition at line 68 of file enrichmentitem.C.
|
virtual |
Definition at line 84 of file enrichmentitem.C.
References mpEnrichmentFrontEnd, mpEnrichmentFrontStart, mpEnrichmentFunc, and mpPropagationLaw.
|
pure virtual |
Implemented in oofem::Delamination, and oofem::GeometryBasedEI.
Referenced by oofem::StructuralFE2MaterialStatus::copyStateVariables().
|
static |
Definition at line 406 of file enrichmentitem.C.
References oofem::FloatArray::at(), oofem::FloatArray::distance(), oofem::FloatArray::dotProduct(), oofem::XfemTolerances::giveApproxZero(), M_PI, oofem::EfInput::mArcPos, oofem::EfInput::mLevelSet, and oofem::FloatArray::times().
Referenced by oofem::EnrFrontLinearBranchFuncOneEl::evaluateEnrFuncAt(), oofem::EnrFrontLinearBranchFuncRadius::evaluateEnrFuncAt(), oofem::EnrFrontCohesiveBranchFuncOneEl::evaluateEnrFuncAt(), oofem::EnrFrontLinearBranchFuncOneEl::evaluateEnrFuncDerivAt(), oofem::EnrFrontLinearBranchFuncRadius::evaluateEnrFuncDerivAt(), and oofem::EnrFrontCohesiveBranchFuncOneEl::evaluateEnrFuncDerivAt().
|
static |
Definition at line 387 of file enrichmentitem.C.
References mLevelSetTol.
Referenced by oofem::GeometryBasedEI::computeIntersectionPoints(), oofem::XfemElementInterface::partitionEdgeSegment(), oofem::PLHoopStressCirc::propagateInterface(), and oofem::GeometryBasedEI::updateNodeEnrMarker().
|
virtual |
Reimplemented in oofem::Crack.
Definition at line 476 of file enrichmentitem.C.
Referenced by oofem::GnuplotExportModule::doOutput().
|
inlinevirtual |
Reimplemented in oofem::Inclusion.
Definition at line 140 of file enrichmentitem.h.
Referenced by oofem::XfemManager::updateNodeEnrichmentItemMap().
|
virtual |
Compute Id's of enriched dofs for a given DofManager.
Definition at line 195 of file enrichmentitem.C.
References oofem::IntArray::at(), giveEnrichesDofsWithIdArray(), giveNumDofManEnrichments(), oofem::IntArray::giveSize(), giveStartOfDofIdPool(), oofem::DofManager::hasDofID(), and oofem::IntArray::resize().
Referenced by createEnrichedDofs(), oofem::PlaneStress2dXfem::giveDofManDofIDMask(), oofem::QTrPlaneStress2dXFEM::giveDofManDofIDMask(), and oofem::TrPlaneStress2dXFEM::giveDofManDofIDMask().
|
virtual |
TODO: add choise of inheriting only specific BC.
Definition at line 285 of file enrichmentitem.C.
References oofem::IntArray::at(), oofem::IntArray::clear(), computeEnrichedDofManDofIdArray(), oofem::IntArray::containsOnlyZeroes(), oofem::IntArray::findFirstIndexOf(), oofem::IntArray::findNonzeros(), oofem::IntArray::followedBy(), oofem::Domain::giveDofManager(), oofem::FEMComponent::giveDomain(), giveEndOfDofIdPool(), oofem::Domain::giveNumberOfDofManagers(), oofem::IntArray::giveSize(), giveStartOfDofIdPool(), isDofManEnriched(), mEIDofIdArray, mInheritBoundaryConditions, and mInheritOrderedBoundaryConditions.
Referenced by oofem::ListBasedEI::updateGeometry(), and oofem::GeometryBasedEI::updateGeometry().
|
protectedpure virtual |
Evaluate the gradient of the normal direction level set in the point iGlobalCoord.
To improve performance, basis function values corresponding to that point should also be provided.
Implemented in oofem::Delamination, oofem::HybridEI, and oofem::DirectEI.
Referenced by oofem::GeometryBasedEI::evaluateEnrFuncDerivAt().
|
protectedpure virtual |
Evaluate the normal direction level set in the point iGlobalCoord.
To improve performance, basis function values corresponding to that point should also be provided.
Implemented in oofem::Delamination, oofem::HybridEI, and oofem::DirectEI.
Referenced by oofem::GeometryBasedEI::evaluateEnrFuncAt(), oofem::GeometryBasedEI::evaluateEnrFuncDerivAt(), oofem::GeometryBasedEI::evaluateEnrFuncJumps(), and tipIsTouchingEI().
bool oofem::EnrichmentItem::evalLevelSetNormalInNode | ( | double & | oLevelSet, |
int | iNodeInd, | ||
const FloatArray & | iGlobalCoord | ||
) | const |
Definition at line 249 of file enrichmentitem.C.
References mLevelSetNormalDirMap.
Referenced by oofem::GeometryBasedEI::computeIntersectionPoints(), oofem::Shell7BaseXFEM::EvaluateEnrFuncInDofMan(), oofem::GeometryBasedEI::evaluateEnrFuncInNode(), oofem::VTKXMLExportModule::getNodalVariableFromXFEMST(), oofem::PlaneStress2dXfem::giveCompositeExportData(), oofem::QTrPlaneStress2dXFEM::giveCompositeExportData(), oofem::TrPlaneStress2dXFEM::giveCompositeExportData(), oofem::XfemStructuralElementInterface::giveSubtriangulationCompositeExportData(), oofem::HybridEI::interpGradLevelSet(), oofem::HybridEI::interpLevelSet(), oofem::XfemElementInterface::partitionEdgeSegment(), and oofem::GeometryBasedEI::updateNodeEnrMarker().
|
protectedpure virtual |
Evaluate the tangential direction level set in the point iGlobalCoord.
To improve performance, basis function values corresponding to that point should also be provided.
Implemented in oofem::Delamination, oofem::HybridEI, and oofem::DirectEI.
Referenced by tipIsTouchingEI().
bool oofem::EnrichmentItem::evalLevelSetTangInNode | ( | double & | oLevelSet, |
int | iNodeInd, | ||
const FloatArray & | iGlobalCoord | ||
) | const |
Definition at line 261 of file enrichmentitem.C.
References mLevelSetTangDirMap.
Referenced by oofem::GeometryBasedEI::computeIntersectionPoints(), oofem::VTKXMLExportModule::getNodalVariableFromXFEMST(), oofem::QTrPlaneStress2dXFEM::giveCompositeExportData(), oofem::PlaneStress2dXfem::giveCompositeExportData(), oofem::TrPlaneStress2dXFEM::giveCompositeExportData(), oofem::Shell7BaseXFEM::giveCZExportData(), oofem::Shell7BaseXFEM::giveShellExportData(), oofem::XfemStructuralElementInterface::giveSubtriangulationCompositeExportData(), oofem::HybridEI::interpLevelSetTangential(), and oofem::XfemElementInterface::partitionEdgeSegment().
bool oofem::EnrichmentItem::evalNodeEnrMarkerInNode | ( | double & | oNodeEnrMarker, |
int | iNodeInd | ||
) | const |
Definition at line 273 of file enrichmentitem.C.
References mNodeEnrMarkerMap.
Referenced by oofem::VTKXMLExportModule::getNodalVariableFromXFEMST(), oofem::QTrPlaneStress2dXFEM::giveCompositeExportData(), oofem::PlaneStress2dXfem::giveCompositeExportData(), oofem::TrPlaneStress2dXFEM::giveCompositeExportData(), oofem::Shell7BaseXFEM::giveCZExportData(), oofem::Shell7BaseXFEM::giveShellExportData(), and oofem::XfemStructuralElementInterface::giveSubtriangulationCompositeExportData().
|
pure virtual |
Implemented in oofem::Delamination, and oofem::GeometryBasedEI.
Referenced by oofem::XfemElementInterface::ComputeBOrBHMatrix(), oofem::Shell7BaseXFEM::computeEnrichedBmatrixAt(), oofem::Shell7BaseXFEM::computeEnrichedNmatrixAt(), oofem::Shell7BaseXFEM::edgeComputeEnrichedBmatrixAt(), oofem::Shell7BaseXFEM::edgeComputeEnrichedNmatrixAt(), oofem::Shell7BaseXFEM::EvaluateEnrFuncInDofMan(), and oofem::XfemElementInterface::XfemElementInterface_createEnrNmatrixAt().
|
pure virtual |
Implemented in oofem::Delamination, and oofem::GeometryBasedEI.
|
pure virtual |
Implemented in oofem::Delamination, and oofem::GeometryBasedEI.
Referenced by oofem::XfemElementInterface::ComputeBOrBHMatrix().
|
pure virtual |
Implemented in oofem::Delamination, and oofem::GeometryBasedEI.
|
pure virtual |
Implemented in oofem::Delamination, and oofem::GeometryBasedEI.
Referenced by oofem::XfemElementInterface::ComputeBOrBHMatrix(), and oofem::XfemElementInterface::XfemElementInterface_createEnrNmatrixAt().
|
pure virtual |
Implemented in oofem::GeometryBasedEI, and oofem::ListBasedEI.
|
pure virtual |
Implements oofem::FEMComponent.
Implemented in oofem::Delamination, oofem::GeometryBasedEI, oofem::Inclusion, oofem::ShellCrack, oofem::HybridEI, oofem::ListBasedEI, oofem::DirectEI, and oofem::Crack.
Referenced by oofem::PLCZdamageRadius::propagateInterface().
|
virtual |
Reimplemented in oofem::Crack.
Definition at line 115 of file enrichmentitem.C.
References giveEnrichesDofsWithIdArray(), giveNumberOfEnrDofs(), and oofem::IntArray::giveSize().
Referenced by oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), and oofem::GeometryBasedEI::updateDofIdPool().
|
virtual |
Definition at line 229 of file enrichmentitem.C.
References oofem::IntArray::at(), giveEnrichesDofsWithIdArray(), oofem::IntArray::giveSize(), giveStartOfDofIdPool(), and oofem::IntArray::resize().
Referenced by oofem::Shell7BaseXFEM::computeDiscGeneralizedStrainVector(), oofem::Shell7BaseXFEM::computeOrderingArray(), oofem::Shell7BaseXFEM::giveDofManDofIDMask(), oofem::Shell7BaseXFEM::giveInternalForcesVector(), oofem::Shell7BaseXFEM::giveNumberOfDofs(), and oofem::Shell7BaseXFEM::vtkEvalUpdatedGlobalCoordinateAt().
|
pure virtual |
Implemented in oofem::GeometryBasedEI, and oofem::ListBasedEI.
|
inline |
Definition at line 158 of file enrichmentitem.h.
Referenced by createEnrichedDofs(), and givePotentialEIDofIdArray().
|
inline |
Definition at line 128 of file enrichmentitem.h.
Referenced by computeEnrichedDofManDofIdArray(), oofem::Crack::giveDofPoolSize(), giveDofPoolSize(), and giveEIDofIdArray().
|
inline |
Definition at line 233 of file enrichmentitem.h.
Referenced by oofem::XfemStructuralElementInterface::giveIntersectionsTouchingCrack(), oofem::XfemStructureManager::mergeCloseCracks(), and oofem::GnuplotExportModule::outputXFEM().
|
inline |
Definition at line 230 of file enrichmentitem.h.
Referenced by oofem::XfemStructuralElementInterface::giveIntersectionsTouchingCrack(), oofem::XfemStructureManager::mergeCloseCracks(), and oofem::GnuplotExportModule::outputXFEM().
|
inline |
Definition at line 226 of file enrichmentitem.h.
Referenced by oofem::XfemManager::updateNodeEnrichmentItemMap().
|
inlinevirtual |
Note the special treatment here, the "normal" syntax would be giveInputRecord(DynamicInputRecord &input).
Passing the entire DataReader instead allows us to have separate InputRecords for the EnrichmentDomain, EnrichmentFront and PropagationLaw without have to keep track of them globally.
Reimplemented from oofem::FEMComponent.
Definition at line 123 of file enrichmentitem.h.
References OOFEM_ERROR.
int oofem::EnrichmentItem::giveNumberOfEnrDofs | ( | ) | const |
Definition at line 121 of file enrichmentitem.C.
References oofem::EnrichmentFront::giveMaxNumEnrichments(), oofem::EnrichmentFunction::giveNumberOfDofs(), oofem::max(), mpEnrichmentFrontEnd, mpEnrichmentFrontStart, and mpEnrichmentFunc.
Referenced by oofem::Crack::giveDofPoolSize(), and giveDofPoolSize().
int oofem::EnrichmentItem::giveNumDofManEnrichments | ( | const DofManager & | iDMan | ) | const |
Definition at line 147 of file enrichmentitem.C.
References oofem::DofManager::giveGlobalNumber(), oofem::EnrichmentFront::giveNumEnrichments(), mNodeEnrMarkerMap, mpEnrichmentFrontEnd, mpEnrichmentFrontStart, oofem::NodeEnr_BULK, oofem::NodeEnr_END_TIP, oofem::NodeEnr_NONE, oofem::NodeEnr_START_AND_END_TIP, and oofem::NodeEnr_START_TIP.
Referenced by computeEnrichedDofManDofIdArray(), oofem::XfemElementInterface::computeNCohesive(), and oofem::XfemElementInterface::XfemElementInterface_giveNumDofManEnrichments().
|
virtual |
Definition at line 242 of file enrichmentitem.C.
References oofem::IntArray::clear(), oofem::IntArray::followedBy(), giveEndOfDofIdPool(), and giveStartOfDofIdPool().
|
inline |
Definition at line 218 of file enrichmentitem.h.
|
inline |
Definition at line 157 of file enrichmentitem.h.
Referenced by computeEnrichedDofManDofIdArray(), createEnrichedDofs(), giveEIDofIdArray(), and givePotentialEIDofIdArray().
|
inlinevirtual |
Reimplemented in oofem::Delamination.
Definition at line 153 of file enrichmentitem.h.
|
virtual |
Reimplemented in oofem::Delamination.
Definition at line 185 of file enrichmentitem.C.
References oofem::PropagationLaw::hasPropagation(), and mpPropagationLaw.
|
inline |
Definition at line 220 of file enrichmentitem.h.
|
virtual |
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.
ir | Input record to initialize from. |
Reimplemented from oofem::FEMComponent.
Reimplemented in oofem::Delamination, oofem::Inclusion, oofem::ShellCrack, and oofem::Crack.
Definition at line 92 of file enrichmentitem.C.
References _IFT_EnrichmentItem_front, _IFT_EnrichmentItem_inheritbc, _IFT_EnrichmentItem_inheritorderedbc, _IFT_EnrichmentItem_propagationlaw, oofem::InputRecord::hasField(), IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, mEnrFrontIndex, mInheritBoundaryConditions, mInheritOrderedBoundaryConditions, and mPropLawIndex.
Referenced by oofem::Crack::initializeFrom(), oofem::Inclusion::initializeFrom(), and oofem::Delamination::initializeFrom().
|
pure virtual |
Implemented in oofem::Delamination, and oofem::GeometryBasedEI.
|
inline |
Definition at line 301 of file enrichmentitem.h.
References oofem::DofManager::giveGlobalNumber().
Referenced by oofem::XfemElementInterface::ComputeBOrBHMatrix(), oofem::Shell7BaseXFEM::computeEnrichedBmatrixAt(), oofem::Shell7BaseXFEM::computeEnrichedNmatrixAt(), oofem::XfemElementInterface::computeNCohesive(), oofem::Shell7BaseXFEM::computeOrderingArray(), createEnrichedDofs(), oofem::Node::drawYourself(), oofem::Shell7BaseXFEM::EvaluateEnrFuncInDofMan(), oofem::PlaneStress2dXfem::giveDofManDofIDMask(), oofem::QTrPlaneStress2dXFEM::giveDofManDofIDMask(), oofem::TrPlaneStress2dXFEM::giveDofManDofIDMask(), oofem::Shell7BaseXFEM::giveDofManDofIDMask(), oofem::Shell7BaseXFEM::giveNumberOfDofs(), isElementEnriched(), oofem::XfemElementInterface::XfemElementInterface_createEnrNmatrixAt(), and oofem::XfemElementInterface::XfemElementInterface_giveNumDofManEnrichments().
bool oofem::EnrichmentItem::isElementEnriched | ( | const Element * | element | ) | const |
Definition at line 136 of file enrichmentitem.C.
References oofem::Element::giveDofManager(), oofem::Element::giveNumberOfDofManagers(), and isDofManEnriched().
Referenced by oofem::Shell7BaseXFEM::computeBoundaryEdgeLoadVector(), oofem::Shell7BaseXFEM::computeCohesiveTangent(), oofem::GeometryBasedEI::computeIntersectionPoints(), oofem::Shell7BaseXFEM::computeStiffnessMatrix(), oofem::Shell7BaseXFEM::evalCovarBaseVectorsAt(), oofem::Shell7BaseXFEM::giveInternalForcesVector(), oofem::Shell7BaseXFEM::giveRecoveredTransverseInterfaceStress(), oofem::XfemManager::isElementEnriched(), oofem::Shell7BaseXFEM::OLDcomputeStiffnessMatrix(), oofem::Shell7BaseXFEM::postInitialize(), oofem::Shell7BaseXFEM::recoverShearStress(), and oofem::Shell7BaseXFEM::vtkEvalUpdatedGlobalCoordinateAt().
|
virtual |
Reimplemented in oofem::Inclusion.
Definition at line 180 of file enrichmentitem.C.
Referenced by oofem::XfemStructuralElementInterface::XfemElementInterface_computeConstitutiveMatrixAt(), and oofem::XfemStructuralElementInterface::XfemElementInterface_computeStressVector().
|
pure virtual |
Implemented in oofem::Delamination, oofem::GeometryBasedEI, and oofem::ListBasedEI.
void oofem::EnrichmentItem::setEnrichmentFrontEnd | ( | EnrichmentFront * | ipEnrichmentFrontEnd, |
bool | iDeleteOld = true |
||
) |
Definition at line 490 of file enrichmentitem.C.
References mpEnrichmentFrontEnd.
Referenced by oofem::XfemStructureManager::mergeCloseCracks().
void oofem::EnrichmentItem::setEnrichmentFrontStart | ( | EnrichmentFront * | ipEnrichmentFrontStart, |
bool | iDeleteOld = true |
||
) |
Definition at line 481 of file enrichmentitem.C.
References mpEnrichmentFrontStart.
Referenced by oofem::XfemStructureManager::mergeCloseCracks().
|
inline |
Definition at line 238 of file enrichmentitem.h.
void oofem::EnrichmentItem::setPropagationLaw | ( | PropagationLaw * | ipPropagationLaw | ) |
Definition at line 466 of file enrichmentitem.C.
References mpPropagationLaw, and mPropLawIndex.
bool oofem::EnrichmentItem::tipIsTouchingEI | ( | const TipInfo & | iTipInfo | ) |
Definition at line 499 of file enrichmentitem.C.
References oofem::Element::computeLocalCoordinates(), evalLevelSetNormal(), evalLevelSetTangential(), oofem::FEInterpolation::evalN(), oofem::Element::giveDofManArray(), oofem::FEMComponent::giveDomain(), oofem::SpatialLocalizer::giveElementContainingPoint(), oofem::Element::giveInterpolation(), oofem::Domain::giveSpatialLocalizer(), oofem::TipInfo::mGlobalCoord, and N.
Referenced by oofem::XfemStructuralElementInterface::giveIntersectionsTouchingCrack().
|
inlinevirtual |
Definition at line 147 of file enrichmentitem.h.
Referenced by oofem::FractureManager::updateXFEM().
|
inlinevirtual |
Definition at line 148 of file enrichmentitem.h.
|
pure virtual |
Implemented in oofem::GeometryBasedEI, and oofem::ListBasedEI.
|
protectedpure virtual |
Implemented in oofem::GeometryBasedEI, and oofem::ListBasedEI.
|
inlinevirtual |
Reimplemented in oofem::GeometryBasedEI.
Definition at line 131 of file enrichmentitem.h.
|
protected |
Definition at line 272 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), and oofem::GeometryBasedEI::updateDofIdPool().
|
protected |
Definition at line 292 of file enrichmentitem.h.
Referenced by createEnrichedDofs().
|
protected |
mEnrFrontIndex: nonzero if an enrichment front is present, zero otherwise.
Definition at line 247 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), oofem::Delamination::appendInputRecords(), initializeFrom(), oofem::GeometryBasedEI::instanciateYourself(), and oofem::Delamination::instanciateYourself().
|
protected |
If newly created enriched dofs should inherit boundary conditions from the node they are introduced in.
Default is false, i.e. XFEM dofs are free by default. Two alternatives exists: mInheritBoundaryConditions takes the first Dirichlet BC it finds in the node. Therefore, we may get in trouble if the node has different Dirichlet BCs for different dofs. mInheritOrderedBoundaryConditions assumes that the enriched dofs are of the same type and in the same order as the original dofs and uses the same BC on the enriched dofs NB: These routines basically only works for zero Dirichlet BC, since enriched dofs often are related to the existing dofs. If nonzero BC are prescibed this will be a problem.
Definition at line 268 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), createEnrichedDofs(), and initializeFrom().
|
protected |
Definition at line 269 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), createEnrichedDofs(), and initializeFrom().
|
protected |
Definition at line 281 of file enrichmentitem.h.
Referenced by evalLevelSetNormalInNode(), oofem::GeometryBasedEI::updateLevelSets(), and oofem::GeometryBasedEI::updateNodeEnrMarker().
|
staticprotected |
Definition at line 297 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::computeIntersectionPoints().
|
protected |
Definition at line 294 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::updateLevelSets().
|
protected |
Definition at line 285 of file enrichmentitem.h.
Referenced by evalLevelSetTangInNode(), oofem::GeometryBasedEI::updateLevelSets(), and oofem::GeometryBasedEI::updateNodeEnrMarker().
|
staticprotected |
Definition at line 296 of file enrichmentitem.h.
Referenced by calcXiZeroLevel(), oofem::GeometryBasedEI::computeIntersectionPoints(), and oofem::GeometryBasedEI::updateNodeEnrMarker().
|
protected |
Definition at line 298 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::computeIntersectionPoints().
|
protected |
Definition at line 289 of file enrichmentitem.h.
Referenced by evalNodeEnrMarkerInNode(), oofem::GeometryBasedEI::evaluateEnrFuncAt(), oofem::GeometryBasedEI::evaluateEnrFuncDerivAt(), oofem::GeometryBasedEI::evaluateEnrFuncInNode(), oofem::GeometryBasedEI::evaluateEnrFuncJumps(), giveNumDofManEnrichments(), oofem::ListBasedEI::updateNodeEnrMarker(), and oofem::GeometryBasedEI::updateNodeEnrMarker().
|
protected |
Geometry associated with EnrichmentItem.
Definition at line 275 of file enrichmentitem.h.
|
protected |
Definition at line 244 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), oofem::Delamination::appendInputRecords(), oofem::GeometryBasedEI::evaluateEnrFuncAt(), oofem::GeometryBasedEI::evaluateEnrFuncDerivAt(), oofem::GeometryBasedEI::evaluateEnrFuncInNode(), oofem::GeometryBasedEI::evaluateEnrFuncJumps(), oofem::GeometryBasedEI::giveBoundingSphere(), giveNumberOfEnrDofs(), giveNumDofManEnrichments(), oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), oofem::GeometryBasedEI::propagateFronts(), setEnrichmentFrontEnd(), oofem::GeometryBasedEI::updateNodeEnrMarker(), and ~EnrichmentItem().
|
protected |
Definition at line 244 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), oofem::Delamination::appendInputRecords(), oofem::GeometryBasedEI::evaluateEnrFuncAt(), oofem::GeometryBasedEI::evaluateEnrFuncDerivAt(), oofem::GeometryBasedEI::evaluateEnrFuncInNode(), oofem::GeometryBasedEI::evaluateEnrFuncJumps(), oofem::GeometryBasedEI::giveBoundingSphere(), giveNumberOfEnrDofs(), giveNumDofManEnrichments(), oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), oofem::ListBasedEI::propagateFronts(), oofem::GeometryBasedEI::propagateFronts(), oofem::Delamination::propagateFronts(), setEnrichmentFrontStart(), oofem::ListBasedEI::updateNodeEnrMarker(), oofem::GeometryBasedEI::updateNodeEnrMarker(), and ~EnrichmentItem().
|
protected |
Definition at line 242 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), oofem::Delamination::appendInputRecords(), oofem::GeometryBasedEI::evaluateEnrFuncAt(), oofem::Delamination::evaluateEnrFuncAt(), oofem::GeometryBasedEI::evaluateEnrFuncDerivAt(), oofem::GeometryBasedEI::evaluateEnrFuncInNode(), oofem::GeometryBasedEI::evaluateEnrFuncJumps(), giveNumberOfEnrDofs(), oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), and ~EnrichmentItem().
|
protected |
Definition at line 249 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), oofem::Delamination::appendInputRecords(), hasPropagatingFronts(), oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), oofem::ListBasedEI::propagateFronts(), oofem::GeometryBasedEI::propagateFronts(), oofem::Delamination::propagateFronts(), setPropagationLaw(), and ~EnrichmentItem().
|
protected |
mPropLawIndex: nonzero if a propagation law is present, zero otherwise.
Definition at line 252 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::appendInputRecords(), oofem::Delamination::appendInputRecords(), initializeFrom(), oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), and setPropagationLaw().
|
protected |
Definition at line 271 of file enrichmentitem.h.
Referenced by oofem::GeometryBasedEI::instanciateYourself(), oofem::Delamination::instanciateYourself(), and oofem::GeometryBasedEI::updateDofIdPool().