86#define _IFT_HydrationModel_Name "hydrationmodel"
87#define _IFT_HydrationModel_hydration "hydration"
88#define _IFT_HydrationModel_c60mix "c60mix"
89#define _IFT_HydrationModel_timeScale "timescale"
90#define _IFT_HydrationModel_hheat "hheat"
91#define _IFT_HydrationModel_cv "cv"
92#define _IFT_HydrationModel_water "water"
97#define _IFT_HydrationModelInterface_hydration "hydration"
98#define _IFT_HydrationModelInterface_castAt "castat"
102#define ROOT_PRECISION_DKSI 1e-14
103#define BINARY_TREE_STEPS 2
106#define HYDRATION_MAXSTEP0 3600
107#define HYDRATION_MAXSTEP1 86400
141 const char *
giveClassName()
const override {
return "HydrationModelStatus"; }
191 double dAdksi(
double ksi)
const;
192 double dksidT(
double ksi,
double T,
double h,
double dt)
const;
193 double dksidh(
double ksi,
double T,
double h,
double dt)
const;
HydrationModel * giveHydrationModel()
Returns the associated hydration model.
virtual void initializeFrom(InputRecord &ir)
std ::unique_ptr< HydrationModel > hydrationModel
Reference to the associated hydrationModel instance.
double giveHydrationDegree(GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const
double castAt
Material cast time - start of hydration.
double constantHydrationDegree
Constant hydration degree for analysis without hydration model.
void restoreContext(DataStream &stream, ContextMode mode)
void saveContext(DataStream &stream, ContextMode mode)
virtual void updateInternalState(const FloatArray &vec, GaussPoint *gp, TimeStep *tStep)
void printOutputAt(FILE *file, TimeStep *tStep) const
Outputs the status variables.
void updateYourself(TimeStep *tStep)
Updates the equilibrium variables to temporary values.
HydrationModelStatusInterface()
Constructor. Nulls the hydrationModelStatus pointer.
HydrationModelStatus * giveHydrationModelStatus()
Returns the associated hydration model status.
std ::unique_ptr< MaterialStatus > hydrationModelStatus
Reference to associated hydration model status.
HydrationModelStatus * setHydrationModelStatus(std::unique_ptr< MaterialStatus > s)
Sets the associated hydration model status. Analogue to gp->setMaterialStatus.
double tempHydrationDegree
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
HydrationModelStatus(GaussPoint *g)
void setTempHydrationDegree(double v)
void initTempStatus() override
void updateYourself(TimeStep *tStep) override
void restoreContext(DataStream &stream, ContextMode mode) override
double giveHydrationDegree() const
Returns the non-temp hydration degree. Used for step restart and postprocessing.
void setHydrationDegree(double v)
void saveContext(DataStream &stream, ContextMode mode) override
double giveTempHydrationDegree() const
Returns the temp hydration degree.
const char * giveClassName() const override
double dAdksi(double ksi) const
Returns the derivation of chemical affinity dA~/dksi(ksi).
void setMixture(MixtureType mix)
Sets the mixture type and appropriate material parameters.
FindRootMethod useFindRoot
void initializeFrom(InputRecord &ir) override
double computeHydrationDegreeIncrement(double ksi, double T, double h, double dt)
double we
Total water consumption for hydration [kg/m3].
void computeInternalSourceVector(FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const
Returns generated heat for given gp [kJ/m3], eventually water consumption.
virtual double _giveCharacteristicValue(double T, double h, MatResponseMode rmode, GaussPoint *gp, TimeStep *tStep) const
Returns coefficients for LHS contribution from internal sources (dHeat/dT, dWaterSource/dw) for given...
double initialHydrationDegree
!! initial hydration degree - set in initialize From, but not used
double mixedfindroot() const
double ear
Activation term [K].
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
Creates and returns new HydrationModelStatus instance.
double hydrationStartMaxStep
Time step lenghts at zero and complete hydration.
double regulafindroot() const
double bintreefindroot() const
double le
Latent heat [kJ/m3].
double giveHydrationDegree(GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const
double auxksi
!! possible problem for parallel computation, performance???
MixtureType mixture
Used concrete mixture.
double timeScale
time scale - used for time input in other units than seconds
double affinity(double ksi) const
Returns the normalized chemical affinity A~(ksi) [1/s].
double computeIntSource(double T, double h, GaussPoint *gp, TimeStep *tStep, MatResponseMode rmode) const
Computes and returns the derivatives of the material-generated Internal Source with respect to the tm...
double aa
Normalized chemical affinity regression function coefficients.
virtual void updateInternalState(const FloatArray &vec, GaussPoint *gp, TimeStep *tStep)
MaterialStatus * giveStatus(GaussPoint *gp) const override
const char * giveInputRecordName() const override
double cv
Input cement content kg/m3 for evaluation of total water consumption.
double dksidT(double ksi, double T, double h, double dt) const
double localResidual(double dks) const
double dksidh(double ksi, double T, double h, double dt) const
double hydrationEndMaxStep
const char * giveClassName() const override
HydrationModel()
Constructor.
MaterialStatus(GaussPoint *g)
Material(int n, Domain *d)
#define _IFT_HydrationModel_Name