35#ifndef compodamagemat_h
36#define compodamagemat_h
48#define _IFT_CompoDamageMat_Name "compdammat"
49#define _IFT_CompoDamageMat_exx "exx"
50#define _IFT_CompoDamageMat_eyyezz "eyyezz"
51#define _IFT_CompoDamageMat_nuxynuxz "nuxynuxz"
52#define _IFT_CompoDamageMat_nuyz "nuyz"
53#define _IFT_CompoDamageMat_Gxy "gxygxz"
54#define _IFT_CompoDamageMat_tension_f0_gf "tension_f0_gf"
55#define _IFT_CompoDamageMat_compres_f0_gf "compres_f0_gf"
56#define _IFT_CompoDamageMat_afteriter "afteriter"
57#define _IFT_CompoDamageMat_allowSnapBack "allowsnapback"
115 const char *
giveClassName()
const override {
return "CompoDamageMatStatus"; }
143 const char *
giveClassName()
const override {
return "CompositeDamageMaterial"; }
149 std::unique_ptr<MaterialStatus>
CreateStatus(
GaussPoint *gp)
const override {
return std::make_unique<CompoDamageMatStatus>(gp); }
FloatArray initDamageStress
Stress at which damage starts. For uniaxial loading is equal to given maximum stress in the input....
void updateYourself(TimeStep *tStep) override
FloatArray tempKappa
Highest strain ever reached at IP. Can be unequilibrated from last iterations [6 tension,...
FloatArray elemCharLength
Characteristic element length at IP in three perpendicular planes aligned with material orientation.
FloatArray kappa
Highest strain ever reached in all previous equilibrated steps [6 tension, 6 compression].
CompoDamageMatStatus(GaussPoint *g)
Constructor.
void initTempStatus() override
FloatArray tempStressMLCS
Only for printing purposes in CompoDamageMatStatus.
FloatArray strainAtMaxStress
Strain when damage is initiated at IP. In literature denoted eps_0 [6 tension, 6 compression].
IntArray hasSnapBack
Checks whether snapback occurred at IP.
int Iteration
Iteration in the time step.
FloatArray omega
Highest damage ever reached in all previous equilibrated steps at IP [6 for tension and compression].
const char * giveClassName() const override
FloatArray maxStrainAtZeroStress
Maximum strain when stress becomes zero due to complete damage (omega = 1) at IP. Determined from fra...
void saveContext(DataStream &stream, ContextMode mode) override
FloatArray tempOmega
Highest damage ever reached at IP. Can be unequilibrated from last iterations [6 for tension and comp...
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
void restoreContext(DataStream &stream, ContextMode mode) override
void giveCharLengthForModes(FloatArray &charLenModes, GaussPoint *gp) const
void initializeFrom(InputRecord &ir) override
IntArray allowSnapBack
Stress components which are allowed for snap back [6 tension, 6 compression].
const char * giveClassName() const override
FloatArray inputTension
Six stress components of tension components read from the input file.
int giveMatStiffRotationMatrix(FloatMatrixF< 6, 6 > &answer, GaussPoint *gp) const
void giveRealStressVector(FloatArray &answer, GaussPoint *gp, const FloatArray &, TimeStep *tStep) const override
const char * giveInputRecordName() const override
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
void checkSnapBack(GaussPoint *gp, MaterialMode mMode) const
void giveInputRecord(DynamicInputRecord &input) override
CompoDamageMat(int n, Domain *d)
Constructor.
void giveCharLength(CompoDamageMatStatus *status, GaussPoint *gp, FloatMatrix &elementCs) const
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
FloatArrayF< 1 > giveRealStressVector_1d(const FloatArrayF< 1 > &strain, GaussPoint *gp, TimeStep *tStep) const override
Default implementation relies on giveRealStressVector_StressControl.
FloatArrayF< 6 > giveRealStressVector_3d(const FloatArrayF< 6 > &strain, GaussPoint *gp, TimeStep *tStep) const override
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
FloatMatrixF< 6, 6 > giveUnrotated3dMaterialStiffnessMatrix(MatResponseMode mode, GaussPoint *gp) const
FloatArray inputCompression
Six stress components of compression components read from the input file.
FloatMatrixF< 6, 6 > give3dMaterialStiffnessMatrix(MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const override
StructuralMaterialStatus(GaussPoint *g)
Constructor. Creates new StructuralMaterialStatus with IntegrationPoint g.
StructuralMaterial(int n, Domain *d)
#define _IFT_CompoDamageMat_Name