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

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

#include <xfemstructuremanager.h>

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

Public Member Functions

 XfemStructureManager (Domain *domain)
 
virtual ~XfemStructureManager ()
 
virtual IRResultType initializeFrom (InputRecord *ir)
 Initializes receiver according to object description stored in input record. More...
 
virtual void giveInputRecord (DynamicInputRecord &input)
 
virtual int instanciateYourself (DataReader &dr)
 
virtual const char * giveClassName () const
 
virtual const char * giveInputRecordName () const
 
virtual void propagateFronts (bool &oAnyFronHasPropagated)
 
virtual void updateYourself (TimeStep *tStep)
 Update enrichment items (level sets). More...
 
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. More...
 
- Public Member Functions inherited from oofem::XfemManager
InternalStateValueType giveXFEMStateValueType (XFEMStateType type)
 
 XfemManager (Domain *domain)
 Constructor. More...
 
virtual ~XfemManager ()
 Destructor. More...
 
 XfemManager (const XfemManager &)=delete
 
XfemManageroperator= (const XfemManager &)=delete
 
int giveNumGpPerTri () const
 
int giveNumTriRefs () const
 Number of Gauss points per sub-triangle in cut elements. More...
 
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)
 
contextIOResultType saveContext (DataStream &stream, ContextMode mode, void *obj=NULL)
 Stores the state of receiver to output stream. More...
 
contextIOResultType restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL)
 Restores the state of receiver from output stream. More...
 
void initiateFronts (bool &oAnyFronHasPropagated, TimeStep *tStep)
 
bool hasPropagatingFronts ()
 
bool hasInitiationCriteria ()
 
void clearEnrichmentItems ()
 Remove all enrichment items. More...
 
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
 If cracks should be splitted at intersections as a pre-processing step. More...
 
bool mNonstandardCz
 If a non-standard cohesive zone formulation should be used. More...
 
double mMinCrackLength
 Cracks shorter than this length are automatically removed. More...
 
double mCrackMergeTol
 Cracks with tips closer than this distance are automatically merged. More...
 
std::unique_ptr< MaterialForceEvaluatormpMatForceEvaluator
 Evaluator for material forces. More...
 
- Protected Attributes inherited from oofem::XfemManager
Domaindomain
 
std::vector< std::unique_ptr< EnrichmentItem > > enrichmentItemList
 Enrichment item list. More...
 
int numberOfEnrichmentItems
 
int numberOfNucleationCriteria
 
int mNumGpPerTri
 The number of Gauss points to be used in each sub-triangle when subdividing cut elements. More...
 
int mNumTriRef
 The number of times a subtriangle should be refined. More...
 
double mEnrDofScaleFac
 
bool doVTKExport
 
bool mDebugVTK
 If extra debug vtk files should be written. More...
 
std::vector< std::vector< int > > mNodeEnrichmentItemIndices
 Let the XfemManager keep track of enrichment items enriching each node and each element, to allow more efficient computations. More...
 
std::unordered_map< int, std::vector< int > > mElementEnrichmentItemIndices
 
std::vector< int > mMaterialModifyingEnrItemIndices
 Keep track of enrichment items that may assign a different material to some Gauss points. More...
 
std::vector< std::unique_ptr< NucleationCriterion > > mNucleationCriteria
 Nucleation of new enrichment items. More...
 
IntArray mXFEMPotentialDofIDs
 

Additional Inherited Members

- Public Attributes inherited from oofem::XfemManager
IntArray vtkExportFields
 List with the fields that should be exported to VTK. More...
 

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

oofem::XfemStructureManager::XfemStructureManager ( Domain domain)
oofem::XfemStructureManager::~XfemStructureManager ( )
virtual

Definition at line 60 of file xfemstructuremanager.C.

Member Function Documentation

double oofem::XfemStructureManager::computeTotalCrackLength ( )
virtual const char* oofem::XfemStructureManager::giveClassName ( ) const
inlinevirtual

Reimplemented from oofem::XfemManager.

Definition at line 73 of file xfemstructuremanager.h.

virtual const char* oofem::XfemStructureManager::giveInputRecordName ( ) const
inlinevirtual

Reimplemented from oofem::XfemManager.

Definition at line 74 of file xfemstructuremanager.h.

References _IFT_XfemStructureManager_Name.

bool oofem::XfemStructureManager::giveUseNonStdCz ( ) const
inline
int oofem::XfemStructureManager::instanciateYourself ( DataReader dr)
virtual
void oofem::XfemStructureManager::propagateFronts ( bool &  oAnyFronHasPropagated)
virtual
bool oofem::XfemStructureManager::tipsHaveOppositeDirection ( EnrichmentFront iEf1,
EnrichmentFront iEf2 
)
void oofem::XfemStructureManager::updateYourself ( TimeStep tStep)
virtual

Update enrichment items (level sets).

Reimplemented from oofem::XfemManager.

Definition at line 145 of file xfemstructuremanager.C.

References oofem::XfemManager::updateYourself().

Member Data Documentation

double oofem::XfemStructureManager::mCrackMergeTol
protected

Cracks with tips closer than this distance are automatically merged.

Definition at line 115 of file xfemstructuremanager.h.

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

double oofem::XfemStructureManager::mMinCrackLength
protected

Cracks shorter than this length are automatically removed.

Definition at line 110 of file xfemstructuremanager.h.

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

bool oofem::XfemStructureManager::mNonstandardCz
protected

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

Definition at line 105 of file xfemstructuremanager.h.

Referenced by giveInputRecord(), and initializeFrom().

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

Evaluator for material forces.

Definition at line 120 of file xfemstructuremanager.h.

bool oofem::XfemStructureManager::mSplitCracks
protected

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

Definition at line 100 of file xfemstructuremanager.h.

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


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:44 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011