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

#include <xfemstructuremanager.h>

Inheritance diagram for oofem::XfemStructureManager:
Collaboration diagram for oofem::XfemStructureManager:

Public Member Functions

 XfemStructureManager (Domain *domain)
virtual ~XfemStructureManager ()
void initializeFrom (InputRecord &ir) override
 Initializes receiver according to object description stored in input record.
void giveInputRecord (DynamicInputRecord &input) override
int instanciateYourself (DataReader &dr) override
const char * giveClassName () const override
const char * giveInputRecordName () const override
virtual void postInitialize () override
void propagateFronts (bool &oAnyFronHasPropagated) override
void updateYourself (TimeStep *tStep) override
void splitCracks ()
void removeShortCracks ()
bool tipsHaveOppositeDirection (EnrichmentFront *iEf1, EnrichmentFront *iEf2)
void mergeCloseCracks ()
bool giveUseNonStdCz () const
double computeTotalCrackLength ()
 Compute the total length of all cracks in the domain.
Public Member Functions inherited from oofem::XfemManager
InternalStateValueType giveXFEMStateValueType (XFEMStateType type)
 XfemManager (Domain *domain)
 Constructor.
virtual ~XfemManager ()
 Destructor.
 XfemManager (const XfemManager &)=delete
XfemManageroperator= (const XfemManager &)=delete
int giveNumGpPerTri () const
int giveNumTriRefs () const
 Number of Gauss points per sub-triangle in cut elements.
double giveEnrDofScaleFactor () const
bool isElementEnriched (const Element *elem)
EnrichmentItemgiveEnrichmentItem (int n)
int giveNumberOfEnrichmentItems () const
NucleationCriteriongiveNucleationCriterion (int n)
int giveNumberOfNucleationCriteria () const
void createEnrichedDofs ()
const IntArraygiveEnrichedDofIDs () const
IntArray giveEnrichedDofIDs (const DofManager &iDMan) const
DomaingiveDomain ()
void setDomain (Domain *ipDomain)
void saveContext (DataStream &stream, ContextMode mode)
void restoreContext (DataStream &stream, ContextMode mode)
void initiateFronts (bool &oAnyFronHasPropagated, TimeStep *tStep)
bool hasPropagatingFronts ()
bool hasInitiationCriteria ()
void clearEnrichmentItems ()
 Remove all enrichment items.
void appendEnrichmentItems (std ::vector< std ::unique_ptr< EnrichmentItem > > &iEIlist)
void nucleateEnrichmentItems (bool &oNewItemsWereNucleated)
bool hasNucleationCriteria ()
bool giveVtkDebug () const
void setVtkDebug (bool iDebug)
void updateNodeEnrichmentItemMap ()
const std ::vector< int > & giveNodeEnrichmentItemIndices (int iNodeIndex) const
void giveElementEnrichmentItemIndices (std ::vector< int > &oElemEnrInd, int iElementIndex) const
const std ::vector< int > & giveMaterialModifyingEnrItemIndices () const

Protected Attributes

bool mSplitCracks
bool mNonstandardCz
double mMinCrackLength
double mCrackMergeTol
std ::unique_ptr< MaterialForceEvaluatormpMatForceEvaluator
Protected Attributes inherited from oofem::XfemManager
Domaindomain
std::shared_ptr< InputRecordthisIr
std ::vector< std ::unique_ptr< EnrichmentItem > > enrichmentItemList
 Enrichment item list.
int numberOfEnrichmentItems
int numberOfNucleationCriteria
int mNumGpPerTri
int mNumTriRef
double mEnrDofScaleFac
bool doVTKExport
bool mDebugVTK
 If extra debug vtk files should be written.
std ::vector< std ::vector< int > > mNodeEnrichmentItemIndices
std ::unordered_map< int, std ::vector< int > > mElementEnrichmentItemIndices
std ::vector< int > mMaterialModifyingEnrItemIndices
std::vector< std ::unique_ptr< NucleationCriterion > > mNucleationCriteria
IntArray mXFEMPotentialDofIDs

Additional Inherited Members

Public Attributes inherited from oofem::XfemManager
IntArray vtkExportFields

Detailed Description

XfemStructureManager: XFEM manager with extra functionality specific for the sm module.

Author
Erik Svenning
Date
Apr 28, 2014

Definition at line 62 of file xfemstructuremanager.h.

Constructor & Destructor Documentation

◆ XfemStructureManager()

oofem::XfemStructureManager::XfemStructureManager ( Domain * domain)

◆ ~XfemStructureManager()

oofem::XfemStructureManager::~XfemStructureManager ( )
virtual

Definition at line 60 of file xfemstructuremanager.C.

Member Function Documentation

◆ computeTotalCrackLength()

double oofem::XfemStructureManager::computeTotalCrackLength ( )

◆ giveClassName()

const char * oofem::XfemStructureManager::giveClassName ( ) const
inlineoverridevirtual

Reimplemented from oofem::XfemManager.

Definition at line 73 of file xfemstructuremanager.h.

◆ giveInputRecord()

◆ giveInputRecordName()

const char * oofem::XfemStructureManager::giveInputRecordName ( ) const
inlineoverridevirtual

Reimplemented from oofem::XfemManager.

Definition at line 74 of file xfemstructuremanager.h.

References _IFT_XfemStructureManager_Name.

◆ giveUseNonStdCz()

bool oofem::XfemStructureManager::giveUseNonStdCz ( ) const
inline

◆ initializeFrom()

void oofem::XfemStructureManager::initializeFrom ( InputRecord & ir)
overridevirtual

◆ instanciateYourself()

int oofem::XfemStructureManager::instanciateYourself ( DataReader & dr)
overridevirtual

Reimplemented from oofem::XfemManager.

Definition at line 122 of file xfemstructuremanager.C.

Referenced by XfemStructureManager().

◆ mergeCloseCracks()

◆ postInitialize()

void oofem::XfemStructureManager::postInitialize ( )
overridevirtual

◆ propagateFronts()

void oofem::XfemStructureManager::propagateFronts ( bool & oAnyFronHasPropagated)
overridevirtual

◆ removeShortCracks()

◆ splitCracks()

◆ tipsHaveOppositeDirection()

bool oofem::XfemStructureManager::tipsHaveOppositeDirection ( EnrichmentFront * iEf1,
EnrichmentFront * iEf2 )

◆ updateYourself()

void oofem::XfemStructureManager::updateYourself ( TimeStep * tStep)
overridevirtual

Update enrichment items (level sets).

Reimplemented from oofem::XfemManager.

Definition at line 148 of file xfemstructuremanager.C.

References oofem::XfemManager::updateYourself().

Member Data Documentation

◆ mCrackMergeTol

double oofem::XfemStructureManager::mCrackMergeTol
protected

Cracks with tips closer than this distance are automatically merged.

Definition at line 116 of file xfemstructuremanager.h.

Referenced by giveInputRecord(), initializeFrom(), and mergeCloseCracks().

◆ mMinCrackLength

double oofem::XfemStructureManager::mMinCrackLength
protected

Cracks shorter than this length are automatically removed.

Definition at line 111 of file xfemstructuremanager.h.

Referenced by giveInputRecord(), initializeFrom(), and removeShortCracks().

◆ mNonstandardCz

bool oofem::XfemStructureManager::mNonstandardCz
protected

If a non-standard cohesive zone formulation should be used.

Definition at line 106 of file xfemstructuremanager.h.

Referenced by giveInputRecord(), giveUseNonStdCz(), and initializeFrom().

◆ mpMatForceEvaluator

std :: unique_ptr< MaterialForceEvaluator > oofem::XfemStructureManager::mpMatForceEvaluator
protected

Evaluator for material forces.

Definition at line 121 of file xfemstructuremanager.h.

◆ mSplitCracks

bool oofem::XfemStructureManager::mSplitCracks
protected

If cracks should be splitted at intersections as a pre-processing step.

Definition at line 101 of file xfemstructuremanager.h.

Referenced by giveInputRecord(), initializeFrom(), and postInitialize().


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