35#ifndef fracturemanager_h
36#define fracturemanager_h
58#define _IFT_FracManager_Name "fracmanager"
59#define _IFT_FracManager_numcriterias "numcriterias"
60#define _IFT_FracManager_verbose "verbose"
63#define _IFT_DamagedNeighborLayered_Name "damagedneighborlayered"
64#define _IFT_DamagedNeighborLayered_DamageThreshold "damagethreshold"
68#define FailureCriteria_DEF \
69 ENUM_ITEM_WITH_VALUE(FC_Undefined, 0) \
70 ENUM_ITEM_WITH_VALUE(IPLocal, 1) \
71 ENUM_ITEM_WITH_VALUE(ELLocal, 2) \
72 ENUM_ITEM_WITH_VALUE(Nonlocal, 3)
80#undef ENUM_ITEM_WITH_VALUE
123 virtual const char *
giveClassName()
const {
return "FailureCriteriaStatus"; }
142 std :: vector< FailureCriteriaStatus * >
list;
180 const char *
giveClassName()
const override {
return "DamagedNeighborLayered"; }
193 const char *
giveClassName()
const override {
return "FailureModuleElementInterface"; }
DamagedNeighborLayeredStatus(Element *el, FailureCriteria *failCrit)
FloatArray layerDamageValues
const char * giveClassName() const override
DamagedNeighborLayered(int number, FractureManager *fracMan)
virtual ~DamagedNeighborLayered()
bool evaluateFailureCriteria(FailureCriteriaStatus *fcStatus) override
FailureCriteriaStatus * CreateStatus(Element *el) override
const char * giveInputRecordName() const
void initializeFrom(InputRecord &ir) override
virtual int instanciateYourself(DataReader &dr)
std ::vector< bool > failedFlags
std ::vector< std ::vector< FloatArray > > quantities
FailureCriteria * giveFailureCriteria()
FailureCriteriaStatus(Element *el, FailureCriteria *failCrit)
virtual const char * giveClassName() const
FailureCriteriaStatus(int number, FailureCriteria *failCrit)
FailureCriteria * failCrit
virtual ~FailureCriteriaStatus()
virtual void initializeFrom(InputRecord &ir)
FractureManager * giveFractureManager()
FailureCriteria(int number, FractureManager *fMan)
void setType(FailureCriteriaType _type)
virtual bool evaluateFCQuantities(Element *el, TimeStep *tStep)
virtual bool computeFailureCriteriaQuantities(FailureCriteriaStatus *fcStatus, TimeStep *tStep)
virtual FailureCriteriaStatus * CreateStatus(Element *el)=0
FailureCriteriaType giveType()
virtual ~FailureCriteria()
virtual bool evaluateFailureCriteria(FailureCriteriaStatus *fcStatus)=0
std ::vector< FailureCriteriaStatus * > list
int instanciateYourself(DataReader &dr)
virtual const char * giveClassName() const
virtual void initializeFrom(InputRecord &ir)
FailureModuleElementInterface()
virtual void computeFailureCriteriaQuantities(FailureCriteriaStatus *fc, TimeStep *tStep)
const char * giveClassName() const override
const char * giveClassName() const
void evaluateYourself(TimeStep *tStep)
void updateXFEM(TimeStep *tStep)
~FractureManager()
Destructor.
void evaluateFailureCriterias(TimeStep *tStep)
int instanciateYourself(DataReader &dr)
void updateXFEM(FailureCriteriaStatus *fc, TimeStep *tStep)
FractureManager(Domain *domain)
Constructor.
const char * giveInputRecordName() const
void initializeFrom(InputRecord &ir)
void setUpdateFlag(bool flag)
std::vector< std::unique_ptr< FailureCriteria > > criteriaList
#define _IFT_DamagedNeighborLayered_Name