46#define _IFT_MPSMaterial_Name "mps"
47#define _IFT_MPSMaterial_mode "mode"
48#define _IFT_MPSMaterial_coupledanalysistype "coupledanalysistype"
49#define _IFT_MPSMaterial_fc "fc"
50#define _IFT_MPSMaterial_cc "cc"
51#define _IFT_MPSMaterial_wc "w/c"
52#define _IFT_MPSMaterial_wcr "wc"
53#define _IFT_MPSMaterial_ac "a/c"
54#define _IFT_MPSMaterial_acr "ac"
55#define _IFT_MPSMaterial_q1 "q1"
56#define _IFT_MPSMaterial_q2 "q2"
57#define _IFT_MPSMaterial_q3 "q3"
58#define _IFT_MPSMaterial_q4 "q4"
59#define _IFT_MPSMaterial_lambda0 "lambda0"
62#define _IFT_MPSMaterial_ksh "ksh"
63#define _IFT_MPSMaterial_qetor "qetor"
64#define _IFT_MPSMaterial_qrtor "qrtor"
65#define _IFT_MPSMaterial_qstor "qstor"
66#define _IFT_MPSMaterial_alphae "alphae"
67#define _IFT_MPSMaterial_alphar "alphar"
68#define _IFT_MPSMaterial_alphas "alphas"
69#define _IFT_MPSMaterial_mus "mus"
70#define _IFT_MPSMaterial_ktm "ktm"
71#define _IFT_MPSMaterial_ktc "ktc"
72#define _IFT_MPSMaterial_khc "khc"
73#define _IFT_MPSMaterial_stiffnessfactor "stiffnessfactor"
74#define _IFT_MPSMaterial_p "p"
75#define _IFT_MPSMaterial_p_tilde "p_tilde"
76#define _IFT_MPSMaterial_k3 "k3"
77#define _IFT_MPSMaterial_sh_a "sh_a"
78#define _IFT_MPSMaterial_sh_hC "sh_hc"
79#define _IFT_MPSMaterial_sh_n "sh_n"
80#define _IFT_MPSMaterial_factor_ksh_h "factor_ksh_h"
81#define _IFT_MPSMaterial_factor_ksh_fh "factor_ksh_f(h)"
82#define _IFT_MPSMaterial_timedependent_ksh "timedependent_ksh"
83#define _IFT_MPSMaterial_alpha_as "alpha_as"
84#define _IFT_MPSMaterial_eps_cas0 "eps_cas0"
85#define _IFT_MPSMaterial_B4_eps_au_infty "b4_eps_au_infty"
86#define _IFT_MPSMaterial_B4_tau_au "b4_tau_au"
87#define _IFT_MPSMaterial_B4_alpha "b4_alpha"
88#define _IFT_MPSMaterial_B4_r_t "b4_r_t"
89#define _IFT_MPSMaterial_B4_cem_type "b4_cem_type"
90#define _IFT_MPSMaterial_temperInCelsius "temperincelsius"
91#define _IFT_MPSMaterial_hydrationTimescaleTF "hydrationtimescaletf"
92#define _IFT_MPSMaterial_autoShrinkageTF "autoshrinkagetf"
93#define _IFT_MPSMaterial_tau_nano "tau_nano"
127#ifdef keep_track_of_strains
199#ifdef keep_track_of_strains
KelvinChainSolidMaterialStatus(GaussPoint *g, int nunits)
KelvinChainSolidMaterial(int n, Domain *d)
void setHum(double src)
Stores relative humidity.
void setFlowTermViscosityTemp(double src)
double tempDryingShrinkageStrain
void storeEmodulus(double src)
Returns Emodulus if computed previously in the same tStep.
MPSMaterialStatus(GaussPoint *g, int nunits)
double giveTIncrement()
Returns temperature increment.
void setEmodulusFlag(bool src)
void updateYourself(TimeStep *tStep) override
double giveHumIncrement()
Returns relative humidity increment.
void setTmax(double src)
Stores maximum reached temperature.
FloatArray creepStrainIncrement
void saveContext(DataStream &stream, ContextMode mode) override
double dryingShrinkageStrain
const FloatArray & giveCreepStrain() const
bool giveStoredEmodulusFlag(void)
double humNano
value of relative humidity in the nanopores
double giveStoredEmodulus(void)
Returns Emodulus if computed previously in the same tStep.
void setTempDryingShrinkageStrain(double src)
double giveDryingShrinkageStrain(void)
const char * giveClassName() const override
double giveHumNano()
Returns relative humidity (nanopores).
double giveHumMin()
Returns previously minimum previously reached humidity - treatment of cyclic ambient coditions.
void setEquivalentTimeTemp(double src)
Stores equivalent time.
void restoreContext(DataStream &stream, ContextMode mode) override
double giveEquivalentTime()
Returns equivalent time.
double giveFlowTermViscosityTemp()
void initTempStatus() override
bool storedEmodulusFlag
flag for Emodulus - true if modulus has been already computed in the current time step
double giveTmax()
Returns previously maximum reached temperature.
double giveFlowTermViscosity()
Returns viscosity of the flow term (associated with q4 and microprestress evolution).
double autogenousShrinkageStrain
double giveTempAutogenousShrinkageStrain(void)
double giveAutogenousShrinkageStrain(void)
double giveT()
Returns temperature.
double giveTempDryingShrinkageStrain(void)
void setTempAutogenousShrinkageStrain(double src)
void setHumNanoTemp(double src)
Stores relative humidity (nanopores).
double equivalentTimeTemp
double flowTermViscosityTemp
void setHumIncrement(double src)
Stores relative humidity increment.
double hum
Values of humidity and temperature in a particular GP, their increment, and maximum/minimum to treat ...
double equivalentTime
Hidden variable - equivalent time: necessary to compute solidified volume.
double tempAutogenousShrinkageStrain
void setHumMin(double src)
Stores minimum reached humidity.
void setTIncrement(double src)
Stores temperature increment.
void setT(double src)
Stores temperature.
double giveHum()
Returns relative humidity.
void setCreepStrainIncrement(FloatArray src)
double roomTemperature
parameter reducing creep effects of thermal cycling
double computeCreepFunction(double t, double t_prime, GaussPoint *gp, TimeStep *tStep) const override
Evaluation of the basic creep compliance function - can be used to compute elastic modulus in derived...
void giveRealStressVector(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep) const override
double temperScaleDifference
0 for Kelvin, 273.15 for Celsius
double kTm
kTm replaces ln(h) on RHS of the differential equation describing evolution of MPS
void computeAutogenousShrinkageDefinedByTF(FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const
Evaluation of the autogenousShrinkageStrainVector given by an auxiliary time function (autoShrinkageT...
double computeEquivalentTime(GaussPoint *gp, TimeStep *tStep, int option) const
double khc
parameter reducing creep effects of hygral cycling (0 = complete reduction, 1 = no reduction,...
void giveEigenStrainVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override
double computeBetaMu(GaussPoint *gp, TimeStep *tStep, int Mu) const override
factors for exponential algorithm
double giveHumidityNano(GaussPoint *gp, TimeStep *tStep, int option) const
double computeFlowTermViscosity(GaussPoint *gp, TimeStep *tStep) const
Evaluation of the flow term viscosity.
double giveHumidity(GaussPoint *gp, TimeStep *tStep, int option) const
double computeLambdaMu(GaussPoint *gp, TimeStep *tStep, int Mu) const override
FloatArray computeCharCoefficients(double tPrime, GaussPoint *gp, TimeStep *tStep) const override
Evaluation of characteristic moduli of the non-aging Kelvin chain.
double eps_cas0
parameter for autogenous shrinkage according to fib MC 2010
void predictParametersFrom(double, double, double, double)
double computePsiS(GaussPoint *gp, TimeStep *tStep) const
Evaluation of the factor transforming real time to reduced time (effect on the evolution of micropres...
void initializeFrom(InputRecord &ir) override
double computeSolidifiedVolume(GaussPoint *gp, TimeStep *tStep) const override
Evaluation of the relative volume of the solidified material.
double kTc
parameter reducing creep effects of thermal cycling (replaces kTm in such case)
double giveEModulus(GaussPoint *gp, TimeStep *tStep) const override
Evaluation of the incremental modulus.
MPSMaterial(int n, Domain *d)
void computeB4AutogenousShrinkageStrainVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const
Evaluation of the autogenousShrinkageStrainVector according to Bazant's B4 model. In the model the ev...
void computeCharTimes() override
Evaluation of characteristic times.
double kSh
additional parameters for sorption isotherm (used to compute relative humidity from water content)
double stiffnessFactor
scaling factor 1. for Pa, 1.e6 for MPa - only for empirical formulas - q1-q4 and ft and gf
double alphaE
parameters that control the effect of humidity on rates of hydration, creep and microprestress relaxa...
double giveInitViscosity(TimeStep *tStep) const
Returns initial value of the flow term viscosity.
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
double giveEquivalentTime(GaussPoint *gp, TimeStep *tStep) const override
By default returns equivalent time in the middle of the time step.
double computePsiE(GaussPoint *gp, TimeStep *tStep) const
Evaluation of the factor transforming real time to equivalent time (effect on the solidified volume).
void computeFibAutogenousShrinkageStrainVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const
Evaluation of the autogenousShrinkageStrainVector according to fib MC 2010 - autogenous shrinkage is ...
bool hasIncrementalShrinkageFormulation() const override
double lambda0
constant equal to one day in time units of analysis (eg. 86400 if the analysis runs in seconds)
const char * giveClassName() const override
double t0
age when temperature or humidity starts to change
double computePsiR(GaussPoint *gp, TimeStep *tStep, int option) const
double giveTemperature(GaussPoint *gp, TimeStep *tStep, int option) const
void giveShrinkageStrainVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override
FloatArray ksh_h
nonlinear shrinkage function - user-defined piecewise-linear function
double sh_a
parameters for nonlinear shrinkage function
void computePointShrinkageStrainVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep) const
Evaluation of the shrinkageStrainVector - shrinkage is fully dependent on humidity rate in given GP.
const char * giveInputRecordName() const override
enum oofem::MPSMaterial::coupledAnalysisType CoupledAnalysis
friend class RankineMPSmat
double q1
compliances of the B3 model
double muS
fluidity parameter used in viscosity evolution equation
bool timeDependent_ksh
flag activating equivalent-time-dependence of shrinkage coefficient
double p
exponent in the microprestress/viscosity governing equation
double QEtoR
activation energies
double b4_eps_au_infty
parameters for autogenous shrinkage according to B4 model
#define _IFT_MPSMaterial_Name