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 134 void sete0(
double e0) { var_e0 = e0; }
135 void setgf(
double gf) { var_gf = gf; }
143 #ifdef supplementary_info 155 virtual const char *
giveClassName()
const {
return "MPSDamMaterialStatus"; }
236 virtual int hasMaterialModeCapability(
MaterialMode mode);
269 void computeDamage(
double &omega,
double kappa,
GaussPoint *gp);
280 void computeDamageForCohesiveCrack(
double &omega,
double kappa,
GaussPoint *gp);
286 virtual double computeFractureEnergy(
double equivalentTime);
288 virtual void give3dMaterialStiffnessMatrix(
FloatMatrix &answer,
293 virtual void givePlaneStressStiffMtrx(
FloatMatrix &answer,
298 virtual void givePlaneStrainStiffMtrx(
FloatMatrix &answer,
303 virtual void give1dStressStiffMtrx(
FloatMatrix &answer,
314 #endif // mpsdammat_h double giveDamage()
Returns the last equilibrated damage level.
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
void letTempViscoelasticStressVectorBe(FloatArray v)
Assigns tempStressVector to given vector v.
virtual void updateYourself(TimeStep *tStep)
Update equilibrium history variables according to temp-variables.
void setCharLength(double length)
Sets characteristic length to given value.
double ft
Equivalent strain at stress peak (or a similar parameter).
GaussPoint * gp
Associated integration point.
MPSDamMaterialStatus(int n, Domain *d, GaussPoint *g, int nunits)
ElementCharSizeMethod ecsMethod
Method used for evaluation of characteristic element size.
double giveKappa()
Returns the last equilibrated scalar measure of the largest strain level.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
void setTempKappa(double newKappa)
Sets the temp scalar measure of the largest strain level to given value.
virtual ~MPSDamMaterialStatus()
virtual const char * giveClassName() const
#define _IFT_MPSDamMaterial_Name
virtual const char * giveClassName() const
double giveTempDamage()
Returns the temp. damage level.
void setResidualTensileStrength(double src)
double kappa
Scalar measure of the largest strain level ever reached in material.
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Print receiver's output to given stream.
MaterialMode
Type representing material mode of integration point.
MatResponseMode
Describes the character of characteristic material matrix.
double giveCrackWidth(void)
double E
dummy Young's modulus
double ft28
28-day value of tensile strength. Used only with "timedepfracturing"
void setCrackWidth(double src)
FloatArray effectiveStressVector
Equilibrated stress vector in reduced form.
void giveCrackVector(FloatArray &answer)
Returns crack vector stored in receiver. This is useful for plotting cracks as a vector field (paravi...
void setCrackVector(FloatArray cv)
Sets crack vector to given value. This is useful for plotting cracks as a vector field (paraview etc...
double const_gf
Determines the softening -> corresponds to the initial fracture energy.
virtual const char * giveInputRecordName() const
int checkSnapBack
Check possible snap back flag.
This class implements the extended B3 model for concrete creep and shrinkage based on the microprestr...
virtual const FloatArray & giveViscoelasticStressVector() const
void setTempDamage(double newDamage)
Sets the temp damage level to given value.
SofteningType
Type characterizing the formula for the damage law.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
double var_gf
hydration-degree dependent fracture energy
double tempDamage
Non-equilibrated damage level of material.
double equivalentTime
Hidden variable - equivalent time: necessary to compute solidified volume.
double gf28
28-day value of fracture energy. Used only with "timedepfracturing"
virtual const FloatArray & giveTempViscoelasticStressVector() const
FloatArray crackVector
Crack orientation normalized to damage magnitude. This is useful for plotting cracks as a vector fiel...
double maxOmega
Maximum limit on omega. The purpose is elimination of a too compliant material which may cause conver...
double giveResidualTensileStrength(void)
Abstract base class representing a material status information.
double giveCharLength()
Returns characteristic length stored in receiver.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
double damage
Damage level of material.
IRResultType
Type defining the return values of InputRecord reading operations.
This class implements associated Material Status to MPSMaterial, which corresponds to a model for hum...
double giveTempKappa()
Returns the temp. scalar measure of the largest strain level.
This class extends the material model based on MPS theory (microprestress-solidification) for concret...
virtual void initDamaged(double kappa, FloatArray &totalStrainVector, GaussPoint *gp)
Abstract service allowing to perform some initialization, when damage first appear.
FloatArray tempEffectiveStressVector
Temporary stress vector in reduced form (increments are used mainly in nonlinear analysis) ...
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
double residTensileStrength
double tempKappa
Non-equilibrated scalar measure of the largest strain level.
virtual void initTempStatus()
Initializes the temporary internal variables, describing the current state according to previously re...
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual int hasNonLinearBehaviour()
Returns nonzero if receiver is non linear.
virtual ~MPSDamMaterial()
double charLength
Characteristic length.
Class representing integration point in finite element program.
Class representing solution step.
double var_e0
hydration-degree dependent equivalent strain at stress peak
SofteningType softType
Parameter specifying the type of softening (damage law).