35#ifndef XFEMSTRUCTURALELEMENTINTERFACE_H_
36#define XFEMSTRUCTURALELEMENTINTERFACE_H_
73 virtual void XfemElementInterface_computeConsistentMassMatrix(
FloatMatrix &answer,
TimeStep *tStep,
double &mass,
const double *ipDensity = NULL);
75 virtual void initializeCZFrom(
InputRecord &ir,
int priority);
79 virtual void initializeCZMaterial();
90 void giveIntersectionsTouchingCrack(std :: vector< int > &oTouchingEnrItemIndices,
const std :: vector< int > &iCandidateIndices,
int iEnrItemIndex,
XfemManager &iXMan);
Stores all neccessary data (of a region) in a VTKPiece so it can be exported later.
XfemElementInterface(Element *e)
Constructor.
std ::vector< std ::unique_ptr< IntegrationRule > > mpCZIntegrationRules
virtual void XfemElementInterface_computeStressVector(FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep)
virtual void XfemElementInterface_computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *, TimeStep *tStep)
void giveSubtriangulationCompositeExportData(std ::vector< ExportRegion > &vtkPieces, IntArray &primaryVarsToExport, IntArray &internalVarsToExport, IntArray cellVarsToExport, TimeStep *tStep)
VTK Interface.
void computeIPAverageInTriangle(FloatArray &answer, IntegrationRule *iRule, Element *elem, InternalStateType isType, TimeStep *tStep, const Triangle &iTri)
Help functions for VTK export.
XfemStructuralElementInterface(Element *e)
virtual bool hasCohesiveZone() const
double computeEffectiveSveSize(StructuralFE2MaterialStatus *iFe2Ms)
bool XfemElementInterface_updateIntegrationRule() override
Updates integration rule based on the triangulation.
virtual void postInitialize()
std ::vector< Triangle > mSubTri
MaterialStatus * giveClosestGP_MatStat(double &oClosestDist, std ::vector< std ::unique_ptr< IntegrationRule > > &iRules, const FloatArray &iCoord)