44#define supplementary_info
48#define _IFT_MPSDamMaterial_Name "mpsdammat"
50#define _IFT_MPSDamMaterial_timedepfracturing "timedepfracturing"
51#define _IFT_MPSDamMaterial_fib_s "fib_s"
53#define _IFT_MPSDamMaterial_isotropic "isotropic"
55#define _IFT_MPSDamMaterial_maxOmega "maxomega"
57#define _IFT_MPSDamMaterial_damageLaw "damlaw"
58#define _IFT_MPSDamMaterial_checkSnapBack "checksnapback"
59#define _IFT_MPSDamMaterial_ft "ft"
60#define _IFT_MPSDamMaterial_gf "gf"
62#define _IFT_MPSDamMaterial_ft28 "ft28"
63#define _IFT_MPSDamMaterial_gf28 "gf28"
68#define MPSDAMMAT_ITERATION_LIMIT 1.e-9
98#ifdef supplementary_info
142#ifdef supplementary_info
153 const char *
giveClassName()
const override {
return "MPSDamMaterialStatus"; }
190 mutable double E = -1.;
double length(const Vector &a)
GaussPoint * gp
Associated integration point.
double var_e0
hydration-degree dependent equivalent strain at stress peak
void updateYourself(TimeStep *tStep) override
double tempKappa
Non-equilibrated scalar measure of the largest strain level.
FloatArray tempEffectiveStressVector
Temporary stress vector in reduced form (increments are used mainly in nonlinear analysis).
double tempDamage
Non-equilibrated damage level of material.
void setTempKappa(double newKappa)
Sets the temp scalar measure of the largest strain level to given value.
void giveCrackVector(FloatArray &answer) const
Returns crack vector stored in receiver. This is useful for plotting cracks as a vector field (paravi...
double giveCharLength() const
Returns characteristic length stored in receiver.
double giveTempDamage() const
Returns the temp. damage level.
virtual const FloatArray & giveTempViscoelasticStressVector() const
void setResidualTensileStrength(double src)
double damage
Damage level of material.
void setCrackVector(FloatArray cv)
Sets crack vector to given value. This is useful for plotting cracks as a vector field (paraview etc....
void setCrackWidth(double src)
FloatArray effectiveStressVector
Equilibrated stress vector in reduced form.
double residTensileStrength
const char * giveClassName() const override
double kappa
Scalar measure of the largest strain level ever reached in material.
const FloatArray & giveViscoelasticStressVector() const override
void letTempViscoelasticStressVectorBe(FloatArray v)
Assigns tempStressVector to given vector v.
double giveCrackWidth(void)
double giveTempKappa() const
Returns the temp. scalar measure of the largest strain level.
void saveContext(DataStream &stream, ContextMode mode) override
double giveDamage() const
Returns the last equilibrated damage level.
void setTempDamage(double newDamage)
Sets the temp damage level to given value.
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
FloatArray crackVector
Crack orientation normalized to damage magnitude. This is useful for plotting cracks as a vector fiel...
void initTempStatus() override
virtual void initDamaged(double kappa, FloatArray &totalStrainVector, GaussPoint *gp)
MPSDamMaterialStatus(GaussPoint *g, int nunits)
double var_gf
hydration-degree dependent fracture energy
void setCharLength(double length)
Sets characteristic length to given value.
void restoreContext(DataStream &stream, ContextMode mode) override
double charLength
Characteristic length.
double giveKappa() const
Returns the last equilibrated scalar measure of the largest strain level.
double giveResidualTensileStrength(void)
double givee0(GaussPoint *gp) const
double maxOmega
Maximum limit on omega. The purpose is elimination of a too compliant material which may cause conver...
MPSDamMaterial(int n, Domain *d)
@ ST_Linear_Cohesive_Crack
@ ST_Exponential_Cohesive_Crack
const char * giveInputRecordName() const override
void initDamagedFib(GaussPoint *gp, TimeStep *tStep) const
double computeDamage(double kappa, GaussPoint *gp) const
FloatMatrixF< 4, 4 > givePlaneStrainStiffMtrx(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
void initDamaged(double kappa, FloatArray &totalStrainVector, GaussPoint *gp, TimeStep *tStep) const
void giveRealStressVector(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep) const override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
double E
dummy Young's modulus
double givegf(GaussPoint *gp) const
int checkSnapBack
Check possible snap back flag.
double gf28
28-day value of fracture energy. Used only with "timedepfracturing"
double ft28
28-day value of tensile strength. Used only with "timedepfracturing"
bool hasMaterialModeCapability(MaterialMode mode) const override
const char * giveClassName() const override
ElementCharSizeMethod ecsMethod
Method used for evaluation of characteristic element size.
FloatMatrixF< 6, 6 > give3dMaterialStiffnessMatrix(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
SofteningType softType
Parameter specifying the type of softening (damage law).
double computeDamageForCohesiveCrack(double kappa, GaussPoint *gp) const
virtual double computeTensileStrength(double equivalentTime) const
FloatMatrixF< 1, 1 > give1dStressStiffMtrx(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
FloatMatrixF< 3, 3 > givePlaneStressStiffMtrx(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
void initializeFrom(InputRecord &ir) override
virtual double computeFractureEnergy(double equivalentTime) const
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
double ft
Equivalent strain at stress peak (or a similar parameter).
MPSMaterialStatus(GaussPoint *g, int nunits)
MPSMaterial(int n, Domain *d)
#define _IFT_MPSDamMaterial_Name