OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
EnrichmentItem with geometry defined by a set of nodes to be enriched. More...
#include <listbasedei.h>
Public Member Functions | |
ListBasedEI (int n, XfemManager *xm, Domain *aDomain) | |
virtual | ~ListBasedEI () |
virtual const char * | giveClassName () const |
virtual const char * | giveInputRecordName () const |
virtual void | updateGeometry () |
virtual void | propagateFronts (bool &oFrontsHavePropagated) |
virtual void | initiateFronts (bool &oFrontsHavePropagated, IntArray &initiateDofMans) |
virtual void | updateNodeEnrMarker (XfemManager &ixFemMan) |
virtual bool | giveElementTipCoord (FloatArray &oCoord, double &oArcPos, Element &iEl, const FloatArray &iElCenter) const |
virtual void | giveBoundingSphere (FloatArray &oCenter, double &oRadius) |
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... | |
virtual void | appendInputRecords (DynamicDataReader &oDR)=0 |
virtual int | instanciateYourself (DataReader &dr)=0 |
const IntArray * | giveEnrichesDofsWithIdArray () const |
int | giveNumberOfEnrDofs () const |
virtual void | writeVtkDebug () 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 |
virtual void | evaluateEnrFuncInNode (std::vector< double > &oEnrFunc, const Node &iNode) const =0 |
virtual void | evaluateEnrFuncAt (std::vector< double > &oEnrFunc, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const =0 |
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 =0 |
virtual void | evaluateEnrFuncDerivAt (std::vector< FloatArray > &oEnrFuncDeriv, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const =0 |
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 =0 |
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... | |
Protected Attributes | |
std::vector< int > | dofManList |
double | xi |
int | setNumber |
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... | |
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 Member Functions inherited from oofem::EnrichmentItem | |
virtual void | evalLevelSetNormal (double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const =0 |
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 =0 |
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 =0 |
Evaluate the gradient of the normal direction level set in the point iGlobalCoord. More... | |
Static Protected Attributes inherited from oofem::EnrichmentItem | |
static const double | mLevelSetTol = 1.0e-12 |
static const double | mLevelSetRelTol = 1.0e-3 |
EnrichmentItem with geometry defined by a set of nodes to be enriched.
Definition at line 54 of file listbasedei.h.
oofem::ListBasedEI::ListBasedEI | ( | int | n, |
XfemManager * | xm, | ||
Domain * | aDomain | ||
) |
Definition at line 49 of file listbasedei.C.
|
virtual |
Definition at line 53 of file listbasedei.C.
|
inlinevirtual |
Implements oofem::EnrichmentItem.
Definition at line 70 of file listbasedei.h.
References OOFEM_ERROR.
|
inlinevirtual |
Implements oofem::EnrichmentItem.
Reimplemented in oofem::Delamination.
Definition at line 60 of file listbasedei.h.
|
virtual |
Implements oofem::EnrichmentItem.
Definition at line 156 of file listbasedei.C.
|
inlinevirtual |
Implements oofem::FEMComponent.
Reimplemented in oofem::Delamination.
Definition at line 61 of file listbasedei.h.
References _IFT_ListBasedEI_Name.
|
virtual |
Definition at line 96 of file listbasedei.C.
References oofem::IntArray::at(), dofManList, oofem::FEMComponent::giveNumber(), oofem::IntArray::giveSize(), oofem::sort(), and updateGeometry().
|
virtual |
Implements oofem::EnrichmentItem.
Reimplemented in oofem::Delamination.
Definition at line 67 of file listbasedei.C.
References oofem::IntArray::at(), dofManList, oofem::FEMComponent::giveDomain(), oofem::IntArray::giveSize(), oofem::EnrichmentItem::mpEnrichmentFrontStart, oofem::EnrichmentItem::mpPropagationLaw, oofem::TipPropagation::mPropagationDofManNumbers, oofem::PropagationLaw::propagateInterface(), oofem::sort(), and updateGeometry().
|
virtual |
Implements oofem::EnrichmentItem.
Definition at line 56 of file listbasedei.C.
References oofem::EnrichmentItem::createEnrichedDofs(), oofem::FEMComponent::giveDomain(), oofem::Domain::giveXfemManager(), and updateNodeEnrMarker().
Referenced by initiateFronts(), oofem::Delamination::instanciateYourself(), propagateFronts(), and oofem::Delamination::propagateFronts().
|
virtual |
Implements oofem::EnrichmentItem.
Definition at line 120 of file listbasedei.C.
References dofManList, oofem::FEMComponent::giveNumber(), oofem::IntArray::insertSorted(), oofem::EnrichmentItem::mNodeEnrMarkerMap, oofem::EnrichmentItem::mpEnrichmentFrontStart, oofem::TipInfo::mTipDofManNumbers, oofem::NodeEnr_BULK, and oofem::EnrichmentFront::setTipInfo().
Referenced by oofem::Delamination::instanciateYourself(), and updateGeometry().
|
protected |
Definition at line 73 of file listbasedei.h.
Referenced by oofem::Delamination::appendInputRecords(), initiateFronts(), oofem::Delamination::instanciateYourself(), propagateFronts(), oofem::Delamination::propagateFronts(), and updateNodeEnrMarker().
|
protected |
Definition at line 75 of file listbasedei.h.
|
protected |
Definition at line 74 of file listbasedei.h.