|
OOFEM 3.0
|
#include <xfemstructuremanager.h>
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 | |
| XfemManager & | operator= (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) |
| EnrichmentItem * | giveEnrichmentItem (int n) |
| int | giveNumberOfEnrichmentItems () const |
| NucleationCriterion * | giveNucleationCriterion (int n) |
| int | giveNumberOfNucleationCriteria () const |
| void | createEnrichedDofs () |
| const IntArray & | giveEnrichedDofIDs () const |
| IntArray | giveEnrichedDofIDs (const DofManager &iDMan) const |
| Domain * | giveDomain () |
| 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< MaterialForceEvaluator > | mpMatForceEvaluator |
| Protected Attributes inherited from oofem::XfemManager | |
| Domain * | domain |
| std::shared_ptr< InputRecord > | thisIr |
| 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 |
XfemStructureManager: XFEM manager with extra functionality specific for the sm module.
Definition at line 62 of file xfemstructuremanager.h.
| oofem::XfemStructureManager::XfemStructureManager | ( | Domain * | domain | ) |
References oofem::XfemManager::domain, giveInputRecord(), initializeFrom(), instanciateYourself(), and XfemStructureManager().
Referenced by XfemStructureManager().
|
virtual |
Definition at line 60 of file xfemstructuremanager.C.
| double oofem::XfemStructureManager::computeTotalCrackLength | ( | ) |
Compute the total length of all cracks in the domain.
Definition at line 576 of file xfemstructuremanager.C.
References oofem::XfemManager::giveEnrichmentItem(), and oofem::XfemManager::giveNumberOfEnrichmentItems().
Referenced by oofem::StructuralFE2MaterialStatus::copyStateVariables(), and oofem::StructuralFE2Material::giveRealStressVector_3d().
|
inlineoverridevirtual |
Reimplemented from oofem::XfemManager.
Definition at line 73 of file xfemstructuremanager.h.
|
overridevirtual |
Reimplemented from oofem::XfemManager.
Definition at line 105 of file xfemstructuremanager.C.
References _IFT_XfemStructureManager_crackMergeTol, _IFT_XfemStructureManager_minCrackLength, _IFT_XfemStructureManager_nonstandardCZ, _IFT_XfemStructureManager_splitCracks, mCrackMergeTol, mMinCrackLength, mNonstandardCz, mSplitCracks, and oofem::DynamicInputRecord::setField().
Referenced by XfemStructureManager().
|
inlineoverridevirtual |
Reimplemented from oofem::XfemManager.
Definition at line 74 of file xfemstructuremanager.h.
References _IFT_XfemStructureManager_Name.
|
inline |
Definition at line 91 of file xfemstructuremanager.h.
References mNonstandardCz.
Referenced by oofem::XfemStructuralElementInterface::useNonStdCz(), and oofem::XfemStructuralElementInterface::XfemElementInterface_updateIntegrationRule().
|
overridevirtual |
Initializes receiver according to object description stored in input record.
Reimplemented from oofem::XfemManager.
Definition at line 63 of file xfemstructuremanager.C.
References _IFT_XfemStructureManager_crackMergeTol, _IFT_XfemStructureManager_minCrackLength, _IFT_XfemStructureManager_nonstandardCZ, _IFT_XfemStructureManager_splitCracks, IR_GIVE_OPTIONAL_FIELD, mCrackMergeTol, mMinCrackLength, mNonstandardCz, mSplitCracks, and splitCracks().
Referenced by XfemStructureManager().
|
overridevirtual |
Reimplemented from oofem::XfemManager.
Definition at line 122 of file xfemstructuremanager.C.
Referenced by XfemStructureManager().
| void oofem::XfemStructureManager::mergeCloseCracks | ( | ) |
Definition at line 370 of file xfemstructuremanager.C.
References oofem::BasicGeometry::clear(), oofem::Crack::computeLength(), oofem::distance(), oofem::XfemManager::enrichmentItemList, oofem::EnrichmentItem::giveEnrichmentFrontEnd(), oofem::EnrichmentItem::giveEnrichmentFrontStart(), oofem::XfemManager::giveEnrichmentItem(), oofem::GeometryBasedEI::giveGeometry(), oofem::BasicGeometry::giveNrVertices(), oofem::XfemManager::giveNumberOfEnrichmentItems(), oofem::BasicGeometry::giveTips(), oofem::BasicGeometry::giveVertex(), oofem::BasicGeometry::insertVertexBack(), oofem::BasicGeometry::insertVertexFront(), mCrackMergeTol, oofem::TipInfo::mGlobalCoord, oofem::XfemManager::numberOfEnrichmentItems, OOFEM_ERROR, oofem::BasicGeometry::removeDuplicatePoints(), removeShortCracks(), oofem::EnrichmentItem::setEnrichmentFrontEnd(), oofem::EnrichmentItem::setEnrichmentFrontStart(), tipsHaveOppositeDirection(), and oofem::Vec3().
Referenced by postInitialize().
|
overridevirtual |
Reimplemented from oofem::XfemManager.
Definition at line 94 of file xfemstructuremanager.C.
References mergeCloseCracks(), mSplitCracks, splitCracks(), and oofem::XfemManager::updateNodeEnrichmentItemMap().
|
overridevirtual |
Reimplemented from oofem::XfemManager.
Definition at line 130 of file xfemstructuremanager.C.
References oofem::XfemManager::enrichmentItemList, and oofem::XfemManager::updateNodeEnrichmentItemMap().
| void oofem::XfemStructureManager::removeShortCracks | ( | ) |
Definition at line 326 of file xfemstructuremanager.C.
References oofem::BasicGeometry::clear(), oofem::Crack::computeLength(), oofem::XfemManager::giveEnrichmentItem(), oofem::GeometryBasedEI::giveGeometry(), oofem::XfemManager::giveNumberOfEnrichmentItems(), oofem::BasicGeometry::insertVertexBack(), mMinCrackLength, and oofem::Vec3().
Referenced by mergeCloseCracks(), and splitCracks().
| void oofem::XfemStructureManager::splitCracks | ( | ) |
Definition at line 153 of file xfemstructuremanager.C.
References oofem::GeometryBasedEI::appendInputRecords(), oofem::Crack::computeArcPoints(), oofem::Crack::computeCrackIntersectionPoints(), oofem::PolygonLine::cropPolygon(), oofem::FloatArray::dotProduct(), oofem::XfemManager::enrichmentItemList, oofem::XfemManager::giveDomain(), oofem::XfemManager::giveEnrichmentItem(), oofem::GeometryBasedEI::giveGeometry(), oofem::DynamicDataReader::giveInputRecord(), oofem::PolygonLine::giveNormal(), oofem::XfemManager::giveNumberOfEnrichmentItems(), oofem::PolygonLine::giveTangent(), oofem::XfemManager::numberOfEnrichmentItems, OOFEM_ERROR, removeShortCracks(), and oofem::FloatArray::times().
Referenced by initializeFrom(), and postInitialize().
| bool oofem::XfemStructureManager::tipsHaveOppositeDirection | ( | EnrichmentFront * | iEf1, |
| EnrichmentFront * | iEf2 ) |
Definition at line 362 of file xfemstructuremanager.C.
References oofem::FloatArray::dotProduct(), oofem::EnrichmentFront::giveTipInfo(), and oofem::TipInfo::mTangDir.
Referenced by mergeCloseCracks().
|
overridevirtual |
Update enrichment items (level sets).
Reimplemented from oofem::XfemManager.
Definition at line 148 of file xfemstructuremanager.C.
References oofem::XfemManager::updateYourself().
|
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().
|
protected |
Cracks shorter than this length are automatically removed.
Definition at line 111 of file xfemstructuremanager.h.
Referenced by giveInputRecord(), initializeFrom(), and removeShortCracks().
|
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().
|
protected |
Evaluator for material forces.
Definition at line 121 of file xfemstructuremanager.h.
|
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().