|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
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. More...
#include <directei.h>
Inheritance diagram for oofem::DirectEI:
Collaboration diagram for oofem::DirectEI:Public Member Functions | |
| DirectEI (int n, XfemManager *xm, Domain *aDomain) | |
| virtual | ~DirectEI () |
| virtual const char * | giveClassName () const |
| virtual const char * | giveInputRecordName () const |
| virtual void | evalLevelSetNormal (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const |
| Evaluate the normal direction level set in the point iGlobalCoord. More... | |
| virtual void | evalLevelSetTangential (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const |
| Evaluate the tangential direction level set in the point iGlobalCoord. More... | |
| virtual void | evalGradLevelSetNormal (FloatArray &oGradLevelSet, const FloatArray &iGlobalCoord, const FloatMatrix &idNdX, const IntArray &iNodeInd) const |
| Evaluate the gradient of the normal direction level set in the point iGlobalCoord. More... | |
Public Member Functions inherited from oofem::GeometryBasedEI | |
| GeometryBasedEI (int n, XfemManager *xm, Domain *aDomain) | |
| virtual | ~GeometryBasedEI () |
| virtual int | instanciateYourself (DataReader &dr) |
| virtual void | updateDofIdPool () |
| virtual void | appendInputRecords (DynamicDataReader &oDR) |
| virtual void | updateGeometry () |
| virtual void | updateNodeEnrMarker (XfemManager &ixFemMan) |
| void | updateLevelSets (XfemManager &ixFemMan) |
| virtual void | evaluateEnrFuncInNode (std::vector< double > &oEnrFunc, const Node &iNode) const |
| virtual void | evaluateEnrFuncAt (std::vector< double > &oEnrFunc, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const |
| 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 |
| virtual void | evaluateEnrFuncDerivAt (std::vector< FloatArray > &oEnrFuncDeriv, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const |
| 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 |
| 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 |
| virtual void | writeVtkDebug () const |
| void | giveSubPolygon (std::vector< FloatArray > &oPoints, const double &iXiStart, const double &iXiEnd) const |
| virtual void | propagateFronts (bool &oFrontsHavePropagated) |
| virtual bool | giveElementTipCoord (FloatArray &oCoord, double &oArcPos, Element &iEl, const FloatArray &iElCenter) const |
| virtual void | giveBoundingSphere (FloatArray &oCenter, double &oRadius) |
| 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. More... | |
| virtual | ~EnrichmentItem () |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Initializes receiver according to object description stored in input record. More... | |
| virtual void | giveInputRecord (DynamicInputRecord &input) |
| Note the special treatment here, the "normal" syntax would be giveInputRecord(DynamicInputRecord &input). More... | |
| 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) |
| Compute Id's of enriched dofs for a given DofManager. More... | |
| 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 (PropagationLaw *ipPropagationLaw) |
| bool | hasPropagationLaw () |
| virtual void | callGnuplotExportModule (GnuplotExportModule &iExpMod, TimeStep *tStep) |
| const std::unordered_map< int, NodeEnrichmentType > & | giveEnrNodeMap () const |
| EnrichmentFront * | giveEnrichmentFrontStart () |
| void | setEnrichmentFrontStart (EnrichmentFront *ipEnrichmentFrontStart, bool iDeleteOld=true) |
| EnrichmentFront * | giveEnrichmentFrontEnd () |
| void | setEnrichmentFrontEnd (EnrichmentFront *ipEnrichmentFrontEnd, bool iDeleteOld=true) |
| bool | tipIsTouchingEI (const TipInfo &iTipInfo) |
| void | setEnrichmentFunction (EnrichmentFunction *ipEnrichmentFunc) |
Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| Regular constructor, creates component with given number and belonging to given domain. More... | |
| virtual | ~FEMComponent () |
| Virtual destructor. More... | |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| Sets associated Domain. More... | |
| int | giveNumber () const |
| void | setNumber (int num) |
| Sets number of receiver. More... | |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| Local renumbering support. More... | |
| virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
| Stores receiver state to output stream. More... | |
| virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
| Restores the receiver state previously written in stream. More... | |
| virtual int | checkConsistency () |
| Allows programmer to test some internal data, before computation begins. More... | |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| Prints output of receiver to stream, for given time step. More... | |
| virtual void | printYourself () |
| Prints receiver state on stdout. Useful for debugging. More... | |
| virtual Interface * | giveInterface (InterfaceType t) |
| Interface requesting service. More... | |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). More... | |
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 | |
| EnrichmentFunction * | mpEnrichmentFunc |
| EnrichmentFront * | mpEnrichmentFrontStart |
| EnrichmentFront * | mpEnrichmentFrontEnd |
| int | mEnrFrontIndex |
| mEnrFrontIndex: nonzero if an enrichment front is present, zero otherwise. More... | |
| PropagationLaw * | mpPropagationLaw |
| int | mPropLawIndex |
| mPropLawIndex: nonzero if a propagation law is present, zero otherwise. More... | |
| bool | mInheritBoundaryConditions |
| If newly created enriched dofs should inherit boundary conditions from the node they are introduced in. More... | |
| bool | mInheritOrderedBoundaryConditions |
| int | startOfDofIdPool |
| int | endOfDofIdPool |
| IntArray | mpEnrichesDofsWithIdArray |
| Geometry associated with EnrichmentItem. More... | |
| 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 |
Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. More... | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. More... | |
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.
|
virtual |
Definition at line 43 of file directei.C.
|
virtual |
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.
Referenced by giveInputRecordName().
|
virtual |
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.
Referenced by giveInputRecordName().
|
virtual |
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.
Referenced by giveInputRecordName().
|
inlinevirtual |
Reimplemented from oofem::GeometryBasedEI.
Definition at line 59 of file directei.h.
|
inlinevirtual |
Reimplemented from oofem::GeometryBasedEI.
Definition at line 60 of file directei.h.
References _IFT_DirectEI_Name, evalGradLevelSetNormal(), evalLevelSetNormal(), and evalLevelSetTangential().