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"
82 int instanciateYourself(
DataReader &dr)
override;
83 void postInitialize()
override;
96 bool hasInitiationCriteria()
override;
98 void propagateFronts(
bool &oFrontsHavePropagated)
override;
99 void findInitiationFronts(
bool &failureChecked,
const IntArray &CSnumbers, std :: vector< IntArray > &CSinterfaceNumbers, std :: vector< IntArray > &CSDofManNumbers, std :: vector< FloatArray > &initiationFactors,
TimeStep *tStep);
103 void evaluateEnrFuncAt(std :: vector< double > &oEnrFunc,
const FloatArray &iGlobalCoord,
const FloatArray &iLocalCoord,
int iNodeInd,
const Element &iEl)
const override;
109 void evalLevelSetNormal(
double &oLevelSet,
const FloatArray &iGlobalCoord,
const FloatArray &iN,
const IntArray &iNodeInd)
const override;
113 void evaluateEnrFuncAt(std :: vector< double > &oEnrFunc,
const FloatArray &iPos,
const double &iLevelSet)
const;
int giveDelamInterfaceNum() const
void evalGradLevelSetNormal(FloatArray &oGradLevelSet, const FloatArray &iGlobalCoord, const FloatMatrix &idNdX, const IntArray &iNodeInd) const override
const char * giveInputRecordName() const override
double giveBoundingDelamXiCoord() const
double giveDelamXiCoord() const
void evalLevelSetTangential(double &oLevelSet, const FloatArray &iGlobalCoord, const FloatArray &iN, const IntArray &iNodeInd) const override
bool hasPropagatingFronts() const override
double giveInitiationFactor() const
const char * giveClassName() const override
IntArray giveDelamCrossSectionNum() const
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 evaluateEnrFuncDerivAt(std ::vector< FloatArray > &oEnrFuncDeriv, const FloatArray &iGlobalCoord, const FloatArray &iLocalCoord, int iNodeInd, const Element &iEl) const override
void evaluateEnrFuncInNode(std ::vector< double > &oEnrFunc, const Node &iNode) const override
Delamination(int n, XfemManager *xm, Domain *aDomain)
ListBasedEI(int n, XfemManager *xm, Domain *aDomain)
#define _IFT_Delamination_Name