OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
#include <shellcrack.h>
Public Member Functions | |
ShellCrack (int n, XfemManager *xm, Domain *aDomain) | |
virtual const char * | giveClassName () const |
virtual const char * | giveInputRecordName () const |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
![]() | |
Crack (int n, XfemManager *xm, Domain *aDomain) | |
void | AppendCohesiveZoneGaussPoint (GaussPoint *ipGP) |
void | ClearCohesiveZoneGaussPoints () |
virtual void | callGnuplotExportModule (GnuplotExportModule &iExpMod, TimeStep *tStep) |
const std::vector< GaussPoint * > & | giveCohesiveZoneGaussPoints () const |
const std::vector< double > & | giveCohesiveZoneArcPositions () const |
void | computeCrackIntersectionPoints (Crack &iCrack, std::vector< FloatArray > &oIntersectionPoints, std::vector< double > &oArcPositions) |
void | computeArcPoints (const std::vector< FloatArray > &iIntersectionPoints, std::vector< double > &oArcPositions) |
double | computeLength () |
virtual int | giveDofPoolSize () const |
![]() | |
HybridEI (int n, XfemManager *xm, Domain *aDomain) | |
virtual | ~HybridEI () |
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... | |
void | interpLevelSet (double &oLevelSet, const FloatArray &iN, const IntArray &iNodeInd) const |
void | interpLevelSetTangential (double &oLevelSet, const FloatArray &iN, const IntArray &iNodeInd) const |
void | interpGradLevelSet (FloatArray &oGradLevelSet, const FloatMatrix &idNdX, const IntArray &iNodeInd) const |
![]() | |
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) |
![]() | |
EnrichmentItem (int n, XfemManager *xm, Domain *aDomain) | |
Constructor / destructor. More... | |
virtual | ~EnrichmentItem () |
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 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 () |
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) |
![]() | |
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... | |
Public Attributes | |
double | xiBottom |
double | xiTop |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
std::vector< GaussPoint * > | mCohesiveZoneGaussPoints |
Array of pointers to the Gauss points related to the cohesive zone. More... | |
std::vector< double > | mCohesiveZoneArcPositions |
![]() | |
std::unique_ptr< BasicGeometry > | mpBasicGeometry |
![]() | |
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 |
![]() | |
int | number |
Component number. More... | |
Domain * | domain |
Link to domain object, useful for communicating with other FEM components. More... | |
![]() | |
static const double | mLevelSetTol = 1.0e-12 |
static const double | mLevelSetRelTol = 1.0e-3 |
Definition at line 56 of file shellcrack.h.
oofem::ShellCrack::ShellCrack | ( | int | n, |
XfemManager * | xm, | ||
Domain * | aDomain | ||
) |
|
inlinevirtual |
Reimplemented from oofem::Crack.
Definition at line 61 of file shellcrack.h.
|
inlinevirtual |
Reimplemented from oofem::Crack.
Definition at line 62 of file shellcrack.h.
References _IFT_ShellCrack_Name.
|
virtual |
Initializes receiver according to object description stored in input record.
This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record.
ir | Input record to initialize from. |
Reimplemented from oofem::Crack.
Definition at line 50 of file shellcrack.C.
References _IFT_ShellCrack_xiBottom, _IFT_ShellCrack_xiTop, oofem::Crack::initializeFrom(), IR_GIVE_FIELD, xiBottom, and xiTop.
double oofem::ShellCrack::xiBottom |
Definition at line 65 of file shellcrack.h.
Referenced by oofem::Shell7BaseXFEM::evaluateHeavisideXi(), and initializeFrom().
double oofem::ShellCrack::xiTop |
Definition at line 66 of file shellcrack.h.
Referenced by oofem::Shell7BaseXFEM::evaluateHeavisideXi(), and initializeFrom().