35 #include "../sm/EngineeringModels/xfemsolverinterface.h" 36 #include "../sm/Elements/structuralelement.h" 37 #include "../sm/Materials/InterfaceMaterials/structuralinterfacematerial.h" 38 #include "../sm/Materials/InterfaceMaterials/structuralinterfacematerialstatus.h" 39 #include "../sm/xfem/xfemstructuralelementinterface.h" 40 #include "../sm/mappers/primvarmapper.h" 57 mNeedsVariableMapping(false)
74 bool frontsHavePropagated =
false;
87 bool eiWereNucleated =
false;
93 for (
int i = 1; i <= numEl; i++ ) {
105 if(frontsHavePropagated || eiWereNucleated) {
111 if(iRecomputeStepAfterCrackProp) {
112 printf(
"Recomputing time step.\n");
Provides Xfem interface for an element.
bool hasInitiationCriteria()
void postInitialize()
Performs post-initialization for all the domain contents (which is called after initializeFrom).
virtual void propagateFronts(bool &oAnyFronHasPropagated)
int giveNumberOfElements() const
Returns number of elements in domain.
XfemManager * giveXfemManager()
virtual bool XfemElementInterface_updateIntegrationRule()
Updates integration rule based on the triangulation.
bool hasPropagatingFronts()
Element * giveElement(int n)
Service for accessing particular domain fe element.
virtual void terminate(TimeStep *tStep)
Terminates the solution of time step.
bool mNeedsVariableMapping
virtual void updateYourself(TimeStep *tStep)
Updates internal state after finishing time step.
This class manages the xfem part.
virtual ~XfemSolverInterface()
void propagateXfemInterfaces(TimeStep *tStep, StructuralEngngModel &ioEngngModel, bool iRecomputeStepAfterCrackProp)
void nucleateEnrichmentItems(bool &oNewItemsWereNucleated)
This class implements extension of EngngModel for structural models.
virtual void solveYourselfAt(TimeStep *tStep)
Solves problem for given time step.
bool hasNucleationCriteria()
virtual int forceEquationNumbering(int i)
Forces equation renumbering on given domain.
the oofem namespace is to define a context or scope in which all oofem names are defined.
Domain * giveDomain(int n)
Service for accessing particular problem domain.
Class representing solution step.
void initiateFronts(bool &oAnyFronHasPropagated, TimeStep *tStep)