OOFEM 3.0
Loading...
Searching...
No Matches
oofem::ListBasedEI Class Reference

#include <listbasedei.h>

Inheritance diagram for oofem::ListBasedEI:
Collaboration diagram for oofem::ListBasedEI:

Public Member Functions

 ListBasedEI (int n, XfemManager *xm, Domain *aDomain)
virtual ~ListBasedEI ()
const char * giveClassName () const override
const char * giveInputRecordName () const override
void updateGeometry () override
void propagateFronts (bool &oFrontsHavePropagated) override
virtual void initiateFronts (bool &oFrontsHavePropagated, IntArray &initiateDofMans)
void updateNodeEnrMarker (XfemManager &ixFemMan) override
bool giveElementTipCoord (FloatArray &oCoord, double &oArcPos, Element &iEl, const FloatArray &iElCenter) const override
void giveBoundingSphere (FloatArray &oCenter, double &oRadius) override
Public Member Functions inherited from oofem::EnrichmentItem
 EnrichmentItem (int n, XfemManager *xm, Domain *aDomain)
 Constructor / destructor.
virtual ~EnrichmentItem ()
void initializeFrom (InputRecord &ir) override
virtual int instanciateYourself (DataReader &dr)=0
void giveInputRecord (DynamicInputRecord &input) override
virtual void appendInputRecords (DynamicDataReader &oDR)=0
const IntArraygiveEnrichesDofsWithIdArray () 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 bool hasPropagatingFronts () const
virtual bool hasInitiationCriteria ()
int giveStartOfDofIdPool () const
int giveEndOfDofIdPool () const
virtual int giveDofPoolSize () const
virtual void computeEnrichedDofManDofIdArray (IntArray &oDofIdArray, DofManager &iDMan)
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 ()
PropagationLawgivePropagationLaw ()
void setPropagationLaw (std::unique_ptr< PropagationLaw > ipPropagationLaw)
bool hasPropagationLaw ()
virtual void callGnuplotExportModule (GnuplotExportModule &iExpMod, TimeStep *tStep)
const std ::unordered_map< int, NodeEnrichmentType > & giveEnrNodeMap () const
EnrichmentFrontgiveEnrichmentFrontStart ()
void setEnrichmentFrontStart (std::unique_ptr< EnrichmentFront > ipEnrichmentFrontStart, bool iDeleteOld=true)
EnrichmentFrontgiveEnrichmentFrontEnd ()
void setEnrichmentFrontEnd (std::unique_ptr< EnrichmentFront > ipEnrichmentFrontEnd, bool iDeleteOld=true)
bool tipIsTouchingEI (const TipInfo &iTipInfo)
void setEnrichmentFunction (std::unique_ptr< EnrichmentFunction > ipEnrichmentFunc)
Public Member Functions inherited from oofem::FEMComponent
 FEMComponent (int n, Domain *d)
virtual ~FEMComponent ()=default
 Virtual destructor.
DomaingiveDomain () const
virtual void setDomain (Domain *d)
int giveNumber () const
void setNumber (int num)
virtual void updateLocalNumbering (EntityRenumberingFunctor &f)
virtual void initializeFrom (InputRecord &ir, int priority)
virtual void initializeFinish ()
virtual void postInitialize ()
 Performs post initialization steps. Called after all components are created and initialized.
virtual void saveContext (DataStream &stream, ContextMode mode)
virtual void restoreContext (DataStream &stream, ContextMode mode)
virtual int checkConsistency ()
virtual void printOutputAt (FILE *file, TimeStep *tStep)
virtual void printYourself ()
 Prints receiver state on stdout. Useful for debugging.
virtual InterfacegiveInterface (InterfaceType t)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Protected Attributes

std ::vector< int > dofManList
double xi
int setNumber
Protected Attributes inherited from oofem::EnrichmentItem
std::unique_ptr< EnrichmentFunctionmpEnrichmentFunc
std::unique_ptr< EnrichmentFrontmpEnrichmentFrontStart
std::unique_ptr< EnrichmentFrontmpEnrichmentFrontEnd
int mEnrFrontIndex
 mEnrFrontIndex: nonzero if an enrichment front is present, zero otherwise.
std::unique_ptr< PropagationLawmpPropagationLaw
int mPropLawIndex
 mPropLawIndex: nonzero if a propagation law is present, zero otherwise.
bool mInheritBoundaryConditions
bool mInheritOrderedBoundaryConditions
int startOfDofIdPool
int endOfDofIdPool
IntArray mpEnrichesDofsWithIdArray
 Geometry associated with EnrichmentItem.
std ::unordered_map< int, double > mLevelSetNormalDirMap
std ::unordered_map< int, double > mLevelSetTangDirMap
std ::unordered_map< int, NodeEnrichmentTypemNodeEnrMarkerMap
IntArray mEIDofIdArray
bool mLevelSetsNeedUpdate
const double mLevelSetTol2
std::shared_ptr< InputRecordthisIr
Protected Attributes inherited from oofem::FEMComponent
int number
 Component number.
Domaindomain
 Link to domain object, useful for communicating with other FEM components.

Additional Inherited Members

Static Public Member Functions inherited from oofem::EnrichmentItem
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 inherited from oofem::EnrichmentItem
virtual void evalLevelSetNormal (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const =0
virtual void evalLevelSetTangential (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const =0
virtual void evalGradLevelSetNormal (FloatArray &oGradLevelSet, const FloatArray &iGlobalCoord, const FloatMatrix &idNdX, const IntArray &iNodeInd) const =0
Static Protected Attributes inherited from oofem::EnrichmentItem
static const double mLevelSetTol = 1.0e-12
static const double mLevelSetRelTol = 1.0e-3

Detailed Description

EnrichmentItem with geometry defined by a set of nodes to be enriched.

Author
Erik Svenning
Date
Sep 9, 2014

Definition at line 54 of file listbasedei.h.

Constructor & Destructor Documentation

◆ ListBasedEI()

oofem::ListBasedEI::ListBasedEI ( int n,
XfemManager * xm,
Domain * aDomain )

Definition at line 49 of file listbasedei.C.

References oofem::EnrichmentItem::EnrichmentItem().

◆ ~ListBasedEI()

oofem::ListBasedEI::~ListBasedEI ( )
virtual

Definition at line 53 of file listbasedei.C.

Member Function Documentation

◆ giveBoundingSphere()

void oofem::ListBasedEI::giveBoundingSphere ( FloatArray & oCenter,
double & oRadius )
inlineoverridevirtual

Implements oofem::EnrichmentItem.

Definition at line 70 of file listbasedei.h.

References OOFEM_ERROR.

◆ giveClassName()

const char * oofem::ListBasedEI::giveClassName ( ) const
inlineoverridevirtual
Returns
Class name of the receiver.

Implements oofem::FEMComponent.

Definition at line 60 of file listbasedei.h.

◆ giveElementTipCoord()

bool oofem::ListBasedEI::giveElementTipCoord ( FloatArray & oCoord,
double & oArcPos,
Element & iEl,
const FloatArray & iElCenter ) const
overridevirtual

Implements oofem::EnrichmentItem.

Definition at line 156 of file listbasedei.C.

◆ giveInputRecordName()

const char * oofem::ListBasedEI::giveInputRecordName ( ) const
inlineoverridevirtual
Returns
Input record name of the receiver.

Implements oofem::FEMComponent.

Definition at line 61 of file listbasedei.h.

References _IFT_ListBasedEI_Name.

◆ initiateFronts()

void oofem::ListBasedEI::initiateFronts ( bool & oFrontsHavePropagated,
IntArray & initiateDofMans )
virtual

◆ propagateFronts()

◆ updateGeometry()

void oofem::ListBasedEI::updateGeometry ( )
overridevirtual

◆ updateNodeEnrMarker()

Member Data Documentation

◆ dofManList

◆ setNumber

int oofem::ListBasedEI::setNumber
protected

Definition at line 75 of file listbasedei.h.

◆ xi

double oofem::ListBasedEI::xi
protected

Definition at line 74 of file listbasedei.h.


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011