|
OOFEM 3.0
|
#include <directei.h>
Public Member Functions | |
| DirectEI (int n, XfemManager *xm, Domain *aDomain) | |
| virtual | ~DirectEI () |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| void | evalLevelSetNormal (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const override |
| void | evalLevelSetTangential (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const override |
| void | evalGradLevelSetNormal (FloatArray &oGradLevelSet, const FloatArray &iGlobalCoord, const FloatMatrix &idNdX, const IntArray &iNodeInd) const override |
| Public Member Functions inherited from oofem::GeometryBasedEI | |
| GeometryBasedEI (int n, XfemManager *xm, Domain *aDomain) | |
| virtual | ~GeometryBasedEI () |
| int | instanciateYourself (DataReader &dr) override |
| void | postInitialize () override |
| Performs post initialization steps. Called after all components are created and initialized. | |
| virtual void | updateDofIdPool () |
| void | appendInputRecords (DynamicDataReader &oDR) override |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| void | updateGeometry () override |
| void | updateNodeEnrMarker (XfemManager &ixFemMan) override |
| void | updateLevelSets (XfemManager &ixFemMan) |
| void | evaluateEnrFuncInNode (std ::vector< double > &oEnrFunc, const Node &iNode) const override |
| void | evaluateEnrFuncAt (std ::vector< double > &oEnrFunc, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const override |
| void | evaluateEnrFuncAt (std ::vector< double > &oEnrFunc, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl, const FloatArray &iN, const IntArray &iElNodes) const override |
| void | evaluateEnrFuncDerivAt (std ::vector< FloatArray > &oEnrFuncDeriv, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const override |
| 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 override |
| void | evaluateEnrFuncJumps (std ::vector< double > &oEnrFuncJumps, int iNodeInd, GaussPoint &iGP, bool iGPLivesOnCurrentCrack) const |
| virtual void | computeIntersectionPoints (std ::vector< FloatArray > &oIntersectionPoints, std ::vector< int > &oIntersectedEdgeInd, Element *element, std ::vector< double > &oMinDistArcPos) const |
| virtual void | computeIntersectionPoints (std ::vector< FloatArray > &oIntersectionPoints, std ::vector< int > &oIntersectedEdgeInd, Element *element, const Triangle &iTri, std ::vector< double > &oMinDistArcPos) const |
| void | writeVtkDebug () const override |
| void | giveSubPolygon (std ::vector< FloatArray > &oPoints, const double &iXiStart, const double &iXiEnd) const |
| void | propagateFronts (bool &oFrontsHavePropagated) override |
| bool | giveElementTipCoord (FloatArray &oCoord, double &oArcPos, Element &iEl, const FloatArray &iElCenter) const override |
| void | giveBoundingSphere (FloatArray &oCenter, double &oRadius) override |
| BasicGeometry * | giveGeometry () |
| void | setGeometry (std ::unique_ptr< BasicGeometry > &&ipBasicGeometry) |
| Public Member Functions inherited from oofem::EnrichmentItem | |
| EnrichmentItem (int n, XfemManager *xm, Domain *aDomain) | |
| Constructor / destructor. | |
| virtual | ~EnrichmentItem () |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| const IntArray * | giveEnrichesDofsWithIdArray () const |
| int | giveNumberOfEnrDofs () 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 |
| 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 () |
| PropagationLaw * | givePropagationLaw () |
| void | setPropagationLaw (std::unique_ptr< PropagationLaw > ipPropagationLaw) |
| bool | hasPropagationLaw () |
| virtual void | callGnuplotExportModule (GnuplotExportModule &iExpMod, TimeStep *tStep) |
| const std ::unordered_map< int, NodeEnrichmentType > & | giveEnrNodeMap () const |
| EnrichmentFront * | giveEnrichmentFrontStart () |
| void | setEnrichmentFrontStart (std::unique_ptr< EnrichmentFront > ipEnrichmentFrontStart, bool iDeleteOld=true) |
| EnrichmentFront * | giveEnrichmentFrontEnd () |
| 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. | |
| Domain * | giveDomain () 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 | 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 Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
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 Attributes inherited from oofem::GeometryBasedEI | |
| std ::unique_ptr< BasicGeometry > | mpBasicGeometry |
| Protected Attributes inherited from oofem::EnrichmentItem | |
| std::unique_ptr< EnrichmentFunction > | mpEnrichmentFunc |
| std::unique_ptr< EnrichmentFront > | mpEnrichmentFrontStart |
| std::unique_ptr< EnrichmentFront > | mpEnrichmentFrontEnd |
| int | mEnrFrontIndex |
| mEnrFrontIndex: nonzero if an enrichment front is present, zero otherwise. | |
| std::unique_ptr< PropagationLaw > | mpPropagationLaw |
| 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, NodeEnrichmentType > | mNodeEnrMarkerMap |
| IntArray | mEIDofIdArray |
| bool | mLevelSetsNeedUpdate |
| const double | mLevelSetTol2 |
| std::shared_ptr< InputRecord > | thisIr |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
| Static Protected Attributes inherited from oofem::EnrichmentItem | |
| static const double | mLevelSetTol = 1.0e-12 |
| static const double | mLevelSetRelTol = 1.0e-3 |
EnrichmentItem with direct geometry description in the following sense: We have a BasicGeometry to describe the underlying geometry, and we use this BasicGeometry directly to compute level set fields.
Definition at line 53 of file directei.h.
| oofem::DirectEI::DirectEI | ( | int | n, |
| XfemManager * | xm, | ||
| Domain * | aDomain ) |
Definition at line 39 of file directei.C.
References oofem::GeometryBasedEI::GeometryBasedEI().
|
virtual |
Definition at line 43 of file directei.C.
|
overridevirtual |
Evaluate the gradient of the normal direction level set in the point iGlobalCoord. To improve performance, basis function values corresponding to that point should also be provided.
Implements oofem::EnrichmentItem.
Definition at line 57 of file directei.C.
References oofem::GeometryBasedEI::mpBasicGeometry, and oofem::Vec2().
|
overridevirtual |
Evaluate the normal direction level set in the point iGlobalCoord. To improve performance, basis function values corresponding to that point should also be provided.
Implements oofem::EnrichmentItem.
Definition at line 46 of file directei.C.
References oofem::GeometryBasedEI::mpBasicGeometry.
|
overridevirtual |
Evaluate the tangential direction level set in the point iGlobalCoord. To improve performance, basis function values corresponding to that point should also be provided.
Implements oofem::EnrichmentItem.
Definition at line 51 of file directei.C.
References oofem::GeometryBasedEI::mpBasicGeometry.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 59 of file directei.h.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 60 of file directei.h.
References _IFT_DirectEI_Name.