|
OOFEM 3.0
|
#include <hemokunzelmat.h>
Public Member Functions | |
| HeMoKunzelMaterial (int n, Domain *d) | |
| std::pair< FloatArrayF< 3 >, FloatArrayF< 3 > > | computeHeMoFlux3D (const FloatArrayF< 3 > &grad_t, const FloatArrayF< 3 > &grad_w, double t, double h, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 3, 3 > | computeTangent3D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override |
| double | giveCharacteristicValue (MatResponseMode mode, GaussPoint *gp, TimeStep *atTime) const override |
| bool | isCharacteristicMtrxSymmetric (MatResponseMode rMode) const override |
| void | initializeFrom (InputRecord &ir) override |
| double | give (int aProperty, GaussPoint *gp) const override |
| bool | hasMaterialModeCapability (MaterialMode mode) const override |
| const char * | giveInputRecordName () const override |
| const char * | giveClassName () const override |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *atTime) override |
| double | giveMoistureContent (double h) const |
| returns water content (in kg/m^3) | |
| double | giveMoistureContentDerivative (double h) const |
| computes derivative of the moisture storage function (sorption isotherm) with respect to relative humidity | |
| double | computeWaterVaporPerm (double T) const |
| double | computeSatVaporPressure (double T) const |
| double | computeSatVaporPressureDerivative (double T) const |
| double | computeDw (double h) const |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| Public Member Functions inherited from oofem::TransportMaterial | |
| TransportMaterial (int n, Domain *d) | |
| virtual void | giveFluxVector (FloatArray &answer, GaussPoint *gp, const FloatArray &grad, const FloatArray &field, TimeStep *tStep) const |
| virtual FloatArrayF< 3 > | computeFlux3D (const FloatArrayF< 3 > &grad, double field, GaussPoint *gp, TimeStep *tStep) const |
| FloatArrayF< 2 > | computeFlux2D (const FloatArrayF< 2 > &grad, double field, GaussPoint *gp, TimeStep *tStep) const |
| FloatArrayF< 1 > | computeFlux1D (const FloatArrayF< 1 > &grad, double field, GaussPoint *gp, TimeStep *tStep) const |
| std::pair< FloatArrayF< 2 >, FloatArrayF< 2 > > | computeHeMoFlux2D (const FloatArrayF< 2 > &grad_t, const FloatArrayF< 2 > &grad_w, double t, double h, GaussPoint *gp, TimeStep *tStep) const |
| std::pair< FloatArrayF< 1 >, FloatArrayF< 1 > > | computeHeMoFlux1D (const FloatArrayF< 1 > &grad_t, const FloatArrayF< 1 > &grad_w, double t, double h, GaussPoint *gp, TimeStep *tStep) const |
| virtual void | giveCharacteristicMatrix (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 2, 2 > | computeTangent2D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 1, 1 > | computeTangent1D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| virtual void | updateInternalState (const FloatArray &state, GaussPoint *gp, TimeStep *tStep) |
| virtual bool | hasInternalSource () const |
| virtual void | computeInternalSourceVector (FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const |
| virtual double | giveHumidity (GaussPoint *gp, ValueModeType mode) const |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| Public Member Functions inherited from oofem::Material | |
| Material (int n, Domain *d) | |
| virtual | ~Material ()=default |
| Destructor. | |
| virtual void | giveCharacteristicVector (FloatArray &answer, FloatArray &flux, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic vector of the receiver. | |
| 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 | hasCastingTimeSupport () const |
| virtual int | setIPValue (const FloatArray &value, GaussPoint *gp, InternalStateType type) |
| 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 MaterialStatus * | giveStatus (GaussPoint *gp) const |
| 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). | |
Protected Types | |
| enum | isothermType { Hansen , Kunzeliso } |
| enum | permeabilityType { Multilin_h , Multilin_wV , Kunzelperm } |
Protected Member Functions | |
| double | computeCapacityCoeff (MatResponseMode mode, GaussPoint *gp, TimeStep *atTime) const |
| double | perm_mm (double h, double T) const |
| double | perm_mh (double h, double T) const |
| double | perm_hm (double h, double T) const |
| double | perm_hh (double h, double T) const |
Protected Attributes | |
| enum oofem::HeMoKunzelMaterial::isothermType | Isotherm |
| enum oofem::HeMoKunzelMaterial::permeabilityType | Permeability |
| FloatArray | perm_h |
| values of the multilinear permeability | |
| FloatArray | perm_Dwh |
| FloatArray | perm_wV |
| FloatArray | perm_DwwV |
| double | A = 0. |
| water absorption coefficient [kg m^-2 s^-0.5] | |
| double | iso_wh = 0. |
| Parameter of Hansen's/Kunzel's isotherm - max. adsorbed water content [kg/m^3]. | |
| double | iso_n = 0. |
| Parameter of Hansen's isotherm - exponent. | |
| double | iso_a = 0. |
| Parameter of Hansen's isotherm. | |
| double | iso_b = 0. |
| Parameter of Kunzel's isotherm. | |
| double | mu = 0. |
| water vapor diffusion resistance [-] | |
| double | PL = 0. |
| ambient atmospheric pressure [Pa] | |
| double | lambda0 = 0. |
| thermal conductivity [W m^-1 K^-1] | |
| double | b = 0. |
| thermal conductivity supplement [-] | |
| double | rho = 0. |
| bulk density of dry building material [kg m^-3] | |
| double | rhoH2O = 0. |
| water density [kg m^-3] | |
| double | cs = 0. |
| specific heat capacity of the building material [J kg^-1 K^-1] | |
| double | cw = 0. |
| specific heat capacity of liquid water [J kg^-1 K^-1] | |
| double | hv = 0. |
| latent heat of phase change/evaporation enthalpy of pure water [J/kg] | |
| 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. | |
Definition at line 67 of file hemokunzelmat.h.
|
protected |
| Enumerator | |
|---|---|
| Hansen | |
| Kunzeliso | |
Definition at line 70 of file hemokunzelmat.h.
|
protected |
| Enumerator | |
|---|---|
| Multilin_h | |
| Multilin_wV | |
| Kunzelperm | |
Definition at line 72 of file hemokunzelmat.h.
|
inline |
Constructor. Creates material with given number, belonging to given domain.
Definition at line 103 of file hemokunzelmat.h.
References oofem::TransportMaterial::TransportMaterial().
|
protected |
Definition at line 195 of file hemokunzelmat.C.
References cs, cw, give(), giveMoistureContent(), giveMoistureContentDerivative(), oofem::Material::giveStatus(), oofem::HeMoTransportMaterialStatus::giveTempHumidity(), and OOFEM_ERROR.
Referenced by giveCharacteristicValue().
| double oofem::HeMoKunzelMaterial::computeDw | ( | double | h | ) | const |
Definition at line 306 of file hemokunzelmat.C.
References A, giveMoistureContent(), iso_wh, Kunzelperm, Multilin_h, Multilin_wV, OOFEM_ERROR, perm_Dwh, perm_DwwV, perm_h, perm_wV, Permeability, and rhoH2O.
Referenced by perm_mm().
|
overridevirtual |
Reimplemented from oofem::TransportMaterial.
Definition at line 141 of file hemokunzelmat.C.
References oofem::Material::giveStatus(), perm_hh(), perm_hm(), perm_mh(), perm_mm(), and oofem::HeMoTransportMaterialStatus::setTempTemperature().
| double oofem::HeMoKunzelMaterial::computeSatVaporPressure | ( | double | T | ) | const |
Definition at line 271 of file hemokunzelmat.C.
| double oofem::HeMoKunzelMaterial::computeSatVaporPressureDerivative | ( | double | T | ) | const |
Definition at line 288 of file hemokunzelmat.C.
|
overridevirtual |
Implements oofem::TransportMaterial.
Definition at line 162 of file hemokunzelmat.C.
References oofem::eye(), oofem::Material::giveStatus(), oofem::HeMoTransportMaterialStatus::giveTempTemperature(), OOFEM_ERROR, perm_hh(), perm_hm(), perm_mh(), and perm_mm().
| double oofem::HeMoKunzelMaterial::computeWaterVaporPerm | ( | double | T | ) | const |
|
inlineoverridevirtual |
Creates new copy of associated status and inserts it into given integration point.
| gp | Integration point where newly created status will be stored. |
Reimplemented from oofem::Material.
Definition at line 133 of file hemokunzelmat.h.
|
overridevirtual |
Returns the value of material property 'aProperty'. Property must be identified by unique int id. Integration point also passed to allow for materials with spatially varying properties
| aProperty | ID of property requested. |
| gp | Integration point, |
Reimplemented from oofem::Material.
Definition at line 134 of file hemokunzelmat.C.
Referenced by computeCapacityCoeff(), and perm_hh().
|
overridevirtual |
Computes the characteristic value of receiver in given integration point, respecting its history. The algorithm should use temporary or equilibrium history variables stored in integration point status to compute and return required result.
| mode | Material response mode. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when tStep is current time step). |
Implements oofem::TransportMaterial.
Definition at line 187 of file hemokunzelmat.C.
References computeCapacityCoeff().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 118 of file hemokunzelmat.h.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 117 of file hemokunzelmat.h.
References _IFT_HeMoKunzelMaterial_Name.
|
overridevirtual |
Returns the integration point corresponding value in Reduced form.
| answer | Contain corresponding ip value, zero sized if not available. |
| gp | Integration point to which the value refers. |
| type | Determines the type of internal variable. |
| tStep | Determines the time step. |
Reimplemented from oofem::Material.
Definition at line 402 of file hemokunzelmat.C.
References oofem::FloatArray::at(), oofem::TransportMaterial::giveHumidity(), giveMoistureContent(), oofem::Material::giveStatus(), and oofem::FloatArray::resize().
| double oofem::HeMoKunzelMaterial::giveMoistureContent | ( | double | h | ) | const |
returns water content (in kg/m^3)
Definition at line 230 of file hemokunzelmat.C.
References Hansen, iso_a, iso_b, iso_n, iso_wh, Isotherm, Kunzeliso, and OOFEM_ERROR.
Referenced by computeCapacityCoeff(), computeDw(), giveIPValue(), and perm_hh().
| double oofem::HeMoKunzelMaterial::giveMoistureContentDerivative | ( | double | h | ) | const |
computes derivative of the moisture storage function (sorption isotherm) with respect to relative humidity
Definition at line 246 of file hemokunzelmat.C.
References Hansen, iso_a, iso_b, iso_n, iso_wh, Isotherm, Kunzeliso, and OOFEM_ERROR.
Referenced by computeCapacityCoeff(), and perm_mm().
|
overridevirtual |
Tests if material supports material mode.
| mode | Required material mode. |
Reimplemented from oofem::Material.
Definition at line 45 of file hemokunzelmat.C.
|
overridevirtual |
Initializes receiver according to object description stored in input record. This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record. Note that initializeFrom may be called mutiple times.
| ir | Input record to initialize from. |
| priority | Priority of the input record. This is used to determine the order of initialization |
Reimplemented from oofem::FEMComponent.
Definition at line 52 of file hemokunzelmat.C.
References _IFT_HeMoKunzelMaterial_a, _IFT_HeMoKunzelMaterial_b, _IFT_HeMoKunzelMaterial_cs, _IFT_HeMoKunzelMaterial_cw, _IFT_HeMoKunzelMaterial_hv, _IFT_HeMoKunzelMaterial_iso_a, _IFT_HeMoKunzelMaterial_iso_b, _IFT_HeMoKunzelMaterial_iso_n, _IFT_HeMoKunzelMaterial_iso_type, _IFT_HeMoKunzelMaterial_iso_wh, _IFT_HeMoKunzelMaterial_lambda0, _IFT_HeMoKunzelMaterial_mu, _IFT_HeMoKunzelMaterial_perm_dwh, _IFT_HeMoKunzelMaterial_perm_dwwv, _IFT_HeMoKunzelMaterial_perm_h, _IFT_HeMoKunzelMaterial_perm_wv, _IFT_HeMoKunzelMaterial_permeability_type, _IFT_HeMoKunzelMaterial_pl, _IFT_HeMoKunzelMaterial_rhoh2o, A, b, cs, cw, Hansen, hv, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, iso_a, iso_b, iso_n, iso_wh, Isotherm, Kunzeliso, Kunzelperm, lambda0, mu, Multilin_h, Multilin_wV, OOFEM_ERROR, perm_Dwh, perm_DwwV, perm_h, perm_wV, Permeability, PL, and rhoH2O.
|
overridevirtual |
Returns true if stiffness matrix of receiver is symmetric Default implementation returns true.
Reimplemented from oofem::Material.
Definition at line 390 of file hemokunzelmat.C.
References OOFEM_ERROR.
|
protected |
Definition at line 377 of file hemokunzelmat.C.
References b, computeSatVaporPressureDerivative(), computeWaterVaporPerm(), give(), giveMoistureContent(), hv, and lambda0.
Referenced by computeHeMoFlux3D(), and computeTangent3D().
|
protected |
Definition at line 368 of file hemokunzelmat.C.
References computeSatVaporPressure(), computeWaterVaporPerm(), and hv.
Referenced by computeHeMoFlux3D(), and computeTangent3D().
|
protected |
Definition at line 355 of file hemokunzelmat.C.
References computeSatVaporPressureDerivative(), and computeWaterVaporPerm().
Referenced by computeHeMoFlux3D(), and computeTangent3D().
|
protected |
Definition at line 336 of file hemokunzelmat.C.
References computeDw(), computeSatVaporPressure(), computeWaterVaporPerm(), and giveMoistureContentDerivative().
Referenced by computeHeMoFlux3D(), and computeTangent3D().
|
protected |
water absorption coefficient [kg m^-2 s^-0.5]
Definition at line 79 of file hemokunzelmat.h.
Referenced by computeDw(), and initializeFrom().
|
protected |
thermal conductivity supplement [-]
Definition at line 90 of file hemokunzelmat.h.
Referenced by initializeFrom(), and perm_hh().
|
protected |
specific heat capacity of the building material [J kg^-1 K^-1]
Definition at line 93 of file hemokunzelmat.h.
Referenced by computeCapacityCoeff(), and initializeFrom().
|
protected |
specific heat capacity of liquid water [J kg^-1 K^-1]
Definition at line 94 of file hemokunzelmat.h.
Referenced by computeCapacityCoeff(), and initializeFrom().
|
protected |
latent heat of phase change/evaporation enthalpy of pure water [J/kg]
Definition at line 95 of file hemokunzelmat.h.
Referenced by initializeFrom(), perm_hh(), and perm_hm().
|
protected |
Parameter of Hansen's isotherm.
Definition at line 83 of file hemokunzelmat.h.
Referenced by giveMoistureContent(), giveMoistureContentDerivative(), and initializeFrom().
|
protected |
Parameter of Kunzel's isotherm.
Definition at line 84 of file hemokunzelmat.h.
Referenced by giveMoistureContent(), giveMoistureContentDerivative(), and initializeFrom().
|
protected |
Parameter of Hansen's isotherm - exponent.
Definition at line 82 of file hemokunzelmat.h.
Referenced by giveMoistureContent(), giveMoistureContentDerivative(), and initializeFrom().
|
protected |
Parameter of Hansen's/Kunzel's isotherm - max. adsorbed water content [kg/m^3].
Definition at line 81 of file hemokunzelmat.h.
Referenced by computeDw(), giveMoistureContent(), giveMoistureContentDerivative(), and initializeFrom().
|
protected |
Referenced by giveMoistureContent(), giveMoistureContentDerivative(), and initializeFrom().
|
protected |
thermal conductivity [W m^-1 K^-1]
Definition at line 89 of file hemokunzelmat.h.
Referenced by initializeFrom(), and perm_hh().
|
protected |
water vapor diffusion resistance [-]
Definition at line 86 of file hemokunzelmat.h.
Referenced by computeWaterVaporPerm(), and initializeFrom().
|
protected |
Definition at line 75 of file hemokunzelmat.h.
Referenced by computeDw(), and initializeFrom().
|
protected |
Definition at line 77 of file hemokunzelmat.h.
Referenced by computeDw(), and initializeFrom().
|
protected |
values of the multilinear permeability
Definition at line 74 of file hemokunzelmat.h.
Referenced by computeDw(), and initializeFrom().
|
protected |
Definition at line 76 of file hemokunzelmat.h.
Referenced by computeDw(), and initializeFrom().
|
protected |
Referenced by computeDw(), and initializeFrom().
|
protected |
ambient atmospheric pressure [Pa]
Definition at line 87 of file hemokunzelmat.h.
Referenced by computeWaterVaporPerm(), and initializeFrom().
|
protected |
bulk density of dry building material [kg m^-3]
Definition at line 91 of file hemokunzelmat.h.
|
protected |
water density [kg m^-3]
Definition at line 92 of file hemokunzelmat.h.
Referenced by computeDw(), and initializeFrom().