|
OOFEM 3.0
|
#include <hydram.h>
Public Member Functions | |
| HydrationModel () | |
| Constructor. | |
| HydrationModel (MixtureType mix, FindRootMethod usefr) | |
| Constructor setting the mixture type and root-finding method. | |
| void | setMixture (MixtureType mix) |
| Sets the mixture type and appropriate material parameters. | |
| void | initializeFrom (InputRecord &ir) override |
| double | giveHydrationDegree (GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const |
| virtual void | updateInternalState (const FloatArray &vec, GaussPoint *gp, TimeStep *tStep) |
| MaterialStatus * | giveStatus (GaussPoint *gp) const override |
| 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 temp state vector. | |
| const char * | giveInputRecordName () const override |
| const char * | giveClassName () const override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| Creates and returns new HydrationModelStatus instance. | |
| Public Member Functions inherited from oofem::Material | |
| Material (int n, Domain *d) | |
| virtual | ~Material ()=default |
| Destructor. | |
| virtual bool | isCharacteristicMtrxSymmetric (MatResponseMode rMode) const |
| virtual void | giveCharacteristicMatrix (FloatMatrix &answer, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic matrix of the receiver. | |
| virtual void | giveCharacteristicVector (FloatArray &answer, FloatArray &flux, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic vector of the receiver. | |
| virtual double | giveCharacteristicValue (MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic value of the receiver. | |
| virtual double | give (int aProperty, GaussPoint *gp) const |
| virtual bool | hasProperty (int aProperty, GaussPoint *gp) const |
| virtual void | modifyProperty (int aProperty, double value, GaussPoint *gp) |
| double | giveCastingTime () const |
| virtual bool | isActivated (TimeStep *tStep) const |
| virtual bool | hasMaterialModeCapability (MaterialMode mode) const |
| virtual bool | hasCastingTimeSupport () const |
| virtual int | setIPValue (const FloatArray &value, GaussPoint *gp, InternalStateType type) |
| virtual int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | printYourself () override |
| Prints receiver state on stdout. Useful for debugging. | |
| virtual void | saveIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp) |
| virtual void | restoreIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp) |
| int | checkConsistency () override |
| virtual void | restoreConsistency (GaussPoint *gp) |
| virtual int | initMaterial (Element *element) |
| virtual int | packUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) |
| virtual int | unpackAndUpdateUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip) |
| virtual int | estimatePackSize (DataStream &buff, GaussPoint *ip) |
| virtual double | predictRelativeComputationalCost (GaussPoint *gp) |
| virtual double | predictRelativeRedistributionCost (GaussPoint *gp) |
| virtual void | initTempStatus (GaussPoint *gp) const |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| virtual | ~FEMComponent ()=default |
| Virtual destructor. | |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| int | giveNumber () const |
| void | setNumber (int num) |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| virtual void | initializeFrom (InputRecord &ir, int priority) |
| virtual void | initializeFinish () |
| virtual void | postInitialize () |
| Performs post initialization steps. Called after all components are created and initialized. | |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| virtual Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Public Attributes | |
| FindRootMethod | useFindRoot |
Protected Member Functions | |
| double | localResidual (double dks) const |
| double | regulafindroot () const |
| double | bintreefindroot () const |
| double | mixedfindroot () const |
| double | affinity (double ksi) const |
| Returns the normalized chemical affinity A~(ksi) [1/s]. | |
| double | dAdksi (double ksi) const |
| Returns the derivation of chemical affinity dA~/dksi(ksi). | |
| double | dksidT (double ksi, double T, double h, double dt) const |
| double | dksidh (double ksi, double T, double h, double dt) const |
| 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 state vector. | |
| double | computeHydrationDegreeIncrement (double ksi, double T, double h, double dt) |
Protected Attributes | |
| MixtureType | mixture |
| Used concrete mixture. | |
| double | hydrationStartMaxStep = 0. |
| Time step lenghts at zero and complete hydration. | |
| double | hydrationEndMaxStep = 0. |
| double | initialHydrationDegree = 0. |
| !! initial hydration degree - set in initialize From, but not used | |
| double | timeScale = 0. |
| time scale - used for time input in other units than seconds | |
| double | aa = 0. |
| Normalized chemical affinity regression function coefficients. | |
| double | ba = 0. |
| double | ca = 0. |
| double | da = 0. |
| double | e0 = 0. |
| ksi_0. | |
| double | ear = 0. |
| Activation term [K]. | |
| double | le = 0. |
| Latent heat [kJ/m3]. | |
| double | cv = 0. |
| Input cement content kg/m3 for evaluation of total water consumption. | |
| double | we = 0. |
| Total water consumption for hydration [kg/m3]. | |
| double | auxksi |
| !! possible problem for parallel computation, performance??? | |
| double | auxdt |
| double | auxT |
| double | auxh |
| Protected Attributes inherited from oofem::Material | |
| Dictionary | propertyDictionary |
| double | castingTime |
| int | preCastingTimeMat |
| Material existing before casting time - optional parameter, zero by default. | |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
| oofem::HydrationModel::HydrationModel | ( | ) |
Constructor.
Definition at line 93 of file hydram.C.
References oofem::frMixed, oofem::Material::Material(), oofem::mtLafarge, setMixture(), and useFindRoot.
| oofem::HydrationModel::HydrationModel | ( | MixtureType | mix, |
| FindRootMethod | usefr ) |
Constructor setting the mixture type and root-finding method.
Definition at line 99 of file hydram.C.
References oofem::frMixed, oofem::Material::Material(), OOFEM_ERROR, setMixture(), and useFindRoot.
|
virtual |
Returns coefficients for LHS contribution from internal sources (dHeat/dT, dWaterSource/dw) for given temp state vector.
Definition at line 308 of file hydram.C.
References computeIntSource(), and OOFEM_ERROR.
|
protected |
|
protected |
Definition at line 477 of file hydram.C.
References localResidual(), OOFEM_LOG_INFO, and ROOT_PRECISION_DKSI.
Referenced by computeHydrationDegreeIncrement().
|
protected |
Computes and returns hydration degree increment for given ksi, T [K], dt [s]. Called by updateInternalState(val, gp, tStep)
Definition at line 322 of file hydram.C.
References auxdt, auxh, auxksi, auxT, bintreefindroot(), oofem::frBinTree, oofem::frMixed, oofem::frRegula, mixedfindroot(), OOFEM_ERROR, OOFEM_LOG_INFO, regulafindroot(), and useFindRoot.
Referenced by updateInternalState().
| void oofem::HydrationModel::computeInternalSourceVector | ( | FloatArray & | val, |
| GaussPoint * | gp, | ||
| TimeStep * | tStep, | ||
| ValueModeType | mode ) const |
Returns generated heat for given gp [kJ/m3], eventually water consumption.
Definition at line 294 of file hydram.C.
References giveHydrationDegree(), le, and we.
|
protected |
Computes and returns the derivatives of the material-generated Internal Source with respect to the tm state vector.
Definition at line 361 of file hydram.C.
References dksidh(), dksidT(), giveHydrationDegree(), le, OOFEM_ERROR, timeScale, and we.
Referenced by _giveCharacteristicValue().
|
overridevirtual |
Creates and returns new HydrationModelStatus instance.
Reimplemented from oofem::Material.
Definition at line 545 of file hydram.C.
Referenced by giveStatus().
|
protected |
|
protected |
Definition at line 258 of file hydram.C.
References affinity(), dAdksi(), and ear.
Referenced by computeIntSource().
|
protected |
Definition at line 243 of file hydram.C.
References affinity(), dAdksi(), and ear.
Referenced by computeIntSource().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
| double oofem::HydrationModel::giveHydrationDegree | ( | GaussPoint * | gp, |
| TimeStep * | tStep, | ||
| ValueModeType | mode ) const |
Returns the hydration degree at end of TimeStep tStep in given integraion point. The value is obtained from hydration status, in integration point, on material level, or ... interpolated from several statuses
| gp | integration point |
| tStep | solution step |
| mode | value mode VM_Incremental or VM_Total |
Definition at line 400 of file hydram.C.
References oofem::HydrationModelStatus::giveHydrationDegree(), giveStatus(), and oofem::HydrationModelStatus::giveTempHydrationDegree().
Referenced by computeInternalSourceVector(), and computeIntSource().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 265 of file hydram.h.
References _IFT_HydrationModel_Name.
|
overridevirtual |
Returns material status of receiver in given integration point. In hydration model, the status is obtained from master gp status (status->giveHydrationModelStatus) If status does not exist, a new one is created.
| gp | Returns reference to hydration model status belonging to integration point gp. |
Reimplemented from oofem::Material.
Definition at line 270 of file hydram.C.
References CreateStatus(), oofem::HydrationModelStatusInterface::giveHydrationModelStatus(), oofem::FEMComponent::giveInterface(), oofem::HydrationModelStatusInterfaceType, OOFEM_ERROR, and oofem::HydrationModelStatusInterface::setHydrationModelStatus().
Referenced by giveHydrationDegree(), and updateInternalState().
|
overridevirtual |
Initializes the hydration model according to object description stored in input record. Called from master material initializeFrom, hydrationModelInterface initializeFrom selects the appropriate hydration model type.
Not a standard material - initializes from master material record, doesn't call parent initializeFrom Use hm_ prefix in parameter names to avoid confusion with master material parameters
Reimplemented from oofem::FEMComponent.
Definition at line 110 of file hydram.C.
References _IFT_HydrationModel_c60mix, _IFT_HydrationModel_cv, _IFT_HydrationModel_hheat, _IFT_HydrationModel_hydration, _IFT_HydrationModel_timeScale, _IFT_HydrationModel_water, cv, oofem::InputRecord::hasField(), initialHydrationDegree, IR_GIVE_OPTIONAL_FIELD, le, oofem::mtC60, OOFEM_LOG_INFO, setMixture(), timeScale, and we.
|
protected |
Definition at line 236 of file hydram.C.
References affinity(), auxdt, auxh, auxksi, auxT, and ear.
Referenced by bintreefindroot(), mixedfindroot(), and regulafindroot().
|
protected |
Definition at line 501 of file hydram.C.
References BINARY_TREE_STEPS, localResidual(), OOFEM_LOG_INFO, and ROOT_PRECISION_DKSI.
Referenced by computeHydrationDegreeIncrement().
|
protected |
Definition at line 454 of file hydram.C.
References localResidual(), OOFEM_LOG_INFO, and ROOT_PRECISION_DKSI.
Referenced by computeHydrationDegreeIncrement().
| void oofem::HydrationModel::setMixture | ( | MixtureType | mix | ) |
Sets the mixture type and appropriate material parameters.
Definition at line 165 of file hydram.C.
References aa, ba, ca, da, e0, ear, le, mixture, oofem::mtC100, oofem::mtC60, oofem::mtHuber, oofem::mtLafarge, and OOFEM_ERROR.
Referenced by HydrationModel(), HydrationModel(), and initializeFrom().
|
virtual |
Updates internal state of material according to new state vector - computes the hydration degree for time tStep.
| vec | new state vector |
| gp | integration point |
| tStep | solution step |
Definition at line 413 of file hydram.C.
References computeHydrationDegreeIncrement(), oofem::HydrationModelStatus::giveHydrationDegree(), oofem::FloatArray::giveSize(), giveStatus(), oofem::TimeStep::giveTimeIncrement(), initialHydrationDegree, OOFEM_ERROR, oofem::HydrationModelStatus::setHydrationDegree(), oofem::HydrationModelStatus::setTempHydrationDegree(), and timeScale.
|
protected |
Normalized chemical affinity regression function coefficients.
Definition at line 164 of file hydram.h.
Referenced by affinity(), dAdksi(), and setMixture().
|
protected |
Definition at line 178 of file hydram.h.
Referenced by computeHydrationDegreeIncrement(), and localResidual().
|
protected |
Definition at line 178 of file hydram.h.
Referenced by computeHydrationDegreeIncrement(), and localResidual().
|
protected |
!! possible problem for parallel computation, performance???
Definition at line 178 of file hydram.h.
Referenced by computeHydrationDegreeIncrement(), and localResidual().
|
protected |
Definition at line 178 of file hydram.h.
Referenced by computeHydrationDegreeIncrement(), and localResidual().
|
protected |
Definition at line 165 of file hydram.h.
Referenced by affinity(), dAdksi(), and setMixture().
|
protected |
Definition at line 166 of file hydram.h.
Referenced by affinity(), dAdksi(), and setMixture().
|
protected |
Input cement content kg/m3 for evaluation of total water consumption.
Definition at line 172 of file hydram.h.
Referenced by initializeFrom().
|
protected |
Definition at line 167 of file hydram.h.
Referenced by affinity(), dAdksi(), and setMixture().
|
protected |
ksi_0.
Definition at line 169 of file hydram.h.
Referenced by affinity(), dAdksi(), and setMixture().
|
protected |
Activation term [K].
Definition at line 170 of file hydram.h.
Referenced by dksidh(), dksidT(), localResidual(), and setMixture().
|
protected |
|
protected |
|
protected |
!! initial hydration degree - set in initialize From, but not used
Definition at line 159 of file hydram.h.
Referenced by initializeFrom(), and updateInternalState().
|
protected |
Latent heat [kJ/m3].
Definition at line 171 of file hydram.h.
Referenced by computeInternalSourceVector(), computeIntSource(), initializeFrom(), and setMixture().
|
protected |
|
protected |
time scale - used for time input in other units than seconds
Definition at line 161 of file hydram.h.
Referenced by computeIntSource(), initializeFrom(), and updateInternalState().
| FindRootMethod oofem::HydrationModel::useFindRoot |
Definition at line 205 of file hydram.h.
Referenced by computeHydrationDegreeIncrement(), HydrationModel(), and HydrationModel().
|
protected |
Total water consumption for hydration [kg/m3].
Definition at line 173 of file hydram.h.
Referenced by computeInternalSourceVector(), computeIntSource(), and initializeFrom().