OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::EnrFrontIntersection Class Reference

EnrFrontIntersection. More...

#include <enrichmentfrontintersection.h>

+ Inheritance diagram for oofem::EnrFrontIntersection:
+ Collaboration diagram for oofem::EnrFrontIntersection:

Public Member Functions

 EnrFrontIntersection ()
 
virtual ~EnrFrontIntersection ()
 
virtual void MarkNodesAsFront (std::unordered_map< int, NodeEnrichmentType > &ioNodeEnrMarkerMap, XfemManager &ixFemMan, const std::unordered_map< int, double > &iLevelSetNormalDirMap, const std::unordered_map< int, double > &iLevelSetTangDirMap, const TipInfo &iTipInfo)
 MarkNodesAsFront: Intput: -ioNodeEnrMarker: A vector with the same size as the number of nodes in the mesh where the nodes corresponding to interior XFEM enrichments are marked with 1, other entries are zero. More...
 
virtual int giveNumEnrichments (const DofManager &iDMan) const
 
virtual int giveMaxNumEnrichments () const
 
virtual void evaluateEnrFuncAt (std::vector< double > &oEnrFunc, const EfInput &iEfInput) const
 
virtual void evaluateEnrFuncDerivAt (std::vector< FloatArray > &oEnrFuncDeriv, const EfInput &iEfInput, const FloatArray &iGradLevelSet) const
 
virtual void evaluateEnrFuncJumps (std::vector< double > &oEnrFuncJumps, GaussPoint &iGP, int iNodeInd, bool iGPLivesOnCurrentCrack, const double &iNormalSignDist) const
 
virtual const char * giveClassName () const
 
virtual const char * giveInputRecordName () const
 
virtual IRResultType initializeFrom (InputRecord *ir)
 
virtual void giveInputRecord (DynamicInputRecord &input)
 
virtual double giveSupportRadius () const
 
virtual bool propagationIsAllowed () const
 
void setTangent (FloatArray iTangent)
 
- Public Member Functions inherited from oofem::EnrichmentFront
 EnrichmentFront (int iEIindex=0)
 
virtual ~EnrichmentFront ()
 
std::string errorInfo (const char *func) const
 
const TipInfogiveTipInfo () const
 
virtual void setTipInfo (const TipInfo &iTipInfo)
 
void computeCrackTangent (FloatArray &oTangent, FloatArray &oNormal, bool &oFlipTangent, const EfInput &iEfInput) const
 

Protected Attributes

FloatArray mTangent
 
- Protected Attributes inherited from oofem::EnrichmentFront
TipInfo mTipInfo
 reference to the associated enrichment item More...
 

Additional Inherited Members

- Public Attributes inherited from oofem::EnrichmentFront
int mEIindex
 
- Protected Member Functions inherited from oofem::EnrichmentFront
void MarkTipElementNodesAsFront (std::unordered_map< int, NodeEnrichmentType > &ioNodeEnrMarkerMap, XfemManager &ixFemMan, const std::unordered_map< int, double > &iLevelSetNormalDirMap, const std::unordered_map< int, double > &iLevelSetTangDirMap, const TipInfo &iTipInfo)
 Several enrichment fronts enrich all nodes in the tip element. More...
 

Detailed Description

EnrFrontIntersection.

An enrichment front capable of handling crack intersections.

Author
Erik Svenning
Date
Apr 23, 2014

Definition at line 60 of file enrichmentfrontintersection.h.

Constructor & Destructor Documentation

oofem::EnrFrontIntersection::EnrFrontIntersection ( )
oofem::EnrFrontIntersection::~EnrFrontIntersection ( )
virtual

Definition at line 50 of file enrichmentfrontintersection.C.

Member Function Documentation

void oofem::EnrFrontIntersection::evaluateEnrFuncAt ( std::vector< double > &  oEnrFunc,
const EfInput iEfInput 
) const
virtual
void oofem::EnrFrontIntersection::evaluateEnrFuncDerivAt ( std::vector< FloatArray > &  oEnrFuncDeriv,
const EfInput iEfInput,
const FloatArray iGradLevelSet 
) const
virtual

Implements oofem::EnrichmentFront.

Definition at line 96 of file enrichmentfrontintersection.C.

References oofem::FloatArray::push_back().

Referenced by giveMaxNumEnrichments().

void oofem::EnrFrontIntersection::evaluateEnrFuncJumps ( std::vector< double > &  oEnrFuncJumps,
GaussPoint iGP,
int  iNodeInd,
bool  iGPLivesOnCurrentCrack,
const double &  iNormalSignDist 
) const
virtual

Implements oofem::EnrichmentFront.

Definition at line 104 of file enrichmentfrontintersection.C.

Referenced by giveMaxNumEnrichments().

virtual const char* oofem::EnrFrontIntersection::giveClassName ( ) const
inlinevirtual

Implements oofem::EnrichmentFront.

Definition at line 76 of file enrichmentfrontintersection.h.

virtual const char* oofem::EnrFrontIntersection::giveInputRecordName ( ) const
inlinevirtual
virtual int oofem::EnrFrontIntersection::giveMaxNumEnrichments ( ) const
inlinevirtual
int oofem::EnrFrontIntersection::giveNumEnrichments ( const DofManager iDMan) const
virtual

Implements oofem::EnrichmentFront.

Definition at line 57 of file enrichmentfrontintersection.C.

virtual double oofem::EnrFrontIntersection::giveSupportRadius ( ) const
inlinevirtual

Implements oofem::EnrichmentFront.

Definition at line 82 of file enrichmentfrontintersection.h.

IRResultType oofem::EnrFrontIntersection::initializeFrom ( InputRecord ir)
virtual
void oofem::EnrFrontIntersection::MarkNodesAsFront ( std::unordered_map< int, NodeEnrichmentType > &  ioNodeEnrMarkerMap,
XfemManager ixFemMan,
const std::unordered_map< int, double > &  iLevelSetNormalDirMap,
const std::unordered_map< int, double > &  iLevelSetTangDirMap,
const TipInfo iTipInfo 
)
virtual

MarkNodesAsFront: Intput: -ioNodeEnrMarker: A vector with the same size as the number of nodes in the mesh where the nodes corresponding to interior XFEM enrichments are marked with 1, other entries are zero.

Output: -ioNodeEnrMarker: Modifies the vector by marking tip nodes as 2, meaning that they should get special treatment. May also modify the set of nodes enriched by the interior enrichment.

Implements oofem::EnrichmentFront.

Definition at line 52 of file enrichmentfrontintersection.C.

References oofem::EnrichmentFront::MarkTipElementNodesAsFront().

virtual bool oofem::EnrFrontIntersection::propagationIsAllowed ( ) const
inlinevirtual

Reimplemented from oofem::EnrichmentFront.

Definition at line 83 of file enrichmentfrontintersection.h.

void oofem::EnrFrontIntersection::setTangent ( FloatArray  iTangent)
inline

Definition at line 85 of file enrichmentfrontintersection.h.

References mTangent.

Referenced by oofem::XfemStructureManager::splitCracks().

Member Data Documentation

FloatArray oofem::EnrFrontIntersection::mTangent
protected

The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:35 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011