35 #ifndef DELAMINATION_H_ 36 #define DELAMINATION_H_ 42 #define _IFT_Delamination_Name "delamination" 43 #define _IFT_Delamination_xiCoord "delaminationxicoord" 44 #define _IFT_Delamination_interfacenum "interfacenum" 45 #define _IFT_Delamination_csnum "csnum" 46 #define _IFT_Delamination_CohesiveZoneMaterial "czmaterial" 47 #define _IFT_Delamination_initiationFactor "initiationfactor" 48 #define _IFT_Delamination_initiationRadius "initiationradius" 49 #define _IFT_Delamination_averageStresses "averageStresses" 79 virtual int instanciateYourself(
DataReader &dr);
93 virtual bool hasInitiationCriteria();
95 virtual void propagateFronts(
bool &oFrontsHavePropagated);
96 virtual void findInitiationFronts(
bool &failureChecked,
const IntArray &CSnumbers, std :: vector< IntArray > &CSinterfaceNumbers, std :: vector< IntArray > &CSDofManNumbers, std :: vector< FloatArray > &initiationFactors,
TimeStep *tStep);
100 virtual void evaluateEnrFuncAt(std :: vector< double > &oEnrFunc,
const FloatArray &iGlobalCoord,
const FloatArray &iLocalCoord,
int iNodeInd,
const Element &iEl)
const;
106 virtual void evalLevelSetNormal(
double &oLevelSet,
const FloatArray &iGlobalCoord,
const FloatArray &iN,
const IntArray &iNodeInd)
const;
110 void evaluateEnrFuncAt(std :: vector< double > &oEnrFunc,
const FloatArray &iPos,
const double &iLevelSet)
const;
virtual void evaluateEnrFuncInNode(std::vector< double > &oEnrFunc, const Node &iNode) const
double giveDelamXiCoord() const
IntArray giveDelamCrossSectionNum() const
Class representing the implementation of a dynamic data reader for in-code use.
virtual const char * giveClassName() const
int giveDelamInterfaceNum() const
virtual bool hasPropagatingFronts() const
Abstract base class for all finite elements.
Class representing the abstraction for input data source.
virtual void evaluateEnrFuncDerivAt(std::vector< FloatArray > &oEnrFuncDeriv, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
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.
Abstract base class for all material models.
double giveInitiationFactor() const
Class representing vector of real numbers.
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
Implementation of matrix containing floating point numbers.
double giveBoundingDelamXiCoord() const
This class manages the xfem part.
IRResultType
Type defining the return values of InputRecord reading operations.
EnrichmentItem with geometry defined by a set of nodes to be enriched.
#define _IFT_Delamination_Name
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.
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class implementing node in finite element mesh.
Class representing solution step.
virtual const char * giveInputRecordName() const