35 #ifndef hemokunzelmat_h 36 #define hemokunzelmat_h 42 #define _IFT_HeMoKunzelMaterial_Name "hemokunzel" 43 #define _IFT_HeMoKunzelMaterial_iso_type "iso_type" 44 #define _IFT_HeMoKunzelMaterial_permeability_type "permeability_type" 45 #define _IFT_HeMoKunzelMaterial_iso_a "iso_a" 46 #define _IFT_HeMoKunzelMaterial_iso_n "iso_n" 47 #define _IFT_HeMoKunzelMaterial_iso_wh "iso_wh" 48 #define _IFT_HeMoKunzelMaterial_iso_b "iso_b" 49 #define _IFT_HeMoKunzelMaterial_mu "mu" 50 #define _IFT_HeMoKunzelMaterial_pl "pl" 51 #define _IFT_HeMoKunzelMaterial_a "a" 52 #define _IFT_HeMoKunzelMaterial_lambda0 "lambda0" 53 #define _IFT_HeMoKunzelMaterial_b "b" 54 #define _IFT_HeMoKunzelMaterial_rhoh2o "rhoh2o" 55 #define _IFT_HeMoKunzelMaterial_cs "cs" 56 #define _IFT_HeMoKunzelMaterial_cw "cw" 57 #define _IFT_HeMoKunzelMaterial_hv "hv" 58 #define _IFT_HeMoKunzelMaterial_perm_h "perm_h" 59 #define _IFT_HeMoKunzelMaterial_perm_dwh "perm_dw(h)" 60 #define _IFT_HeMoKunzelMaterial_perm_wv "perm_wv" 61 #define _IFT_HeMoKunzelMaterial_perm_dwwv "perm_dw(wv)" 156 double perm_mm(
double h,
double T);
157 double perm_mh(
double h,
double T);
158 double perm_hm(
double h,
double T);
159 double perm_hh(
double h,
double T);
167 #endif // hemokunzelmat_h double sorptionIsotherm(double h)
returns water content (in kg/m^3)
FloatArray perm_h
values of the multilinear permeability
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
enum oofem::HeMoKunzelMaterial::permeabilityType Permeability
double computeCapacityCoeff(MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
double sorptionIsothermDerivative(double h)
computes derivative of the moisture storage function (sorption isotherm) with respect to relative hum...
HeMoKunzelMaterial(int n, Domain *d)
Constructor.
virtual double giveHumidity(GaussPoint *gp, ValueModeType mode)
Returns positive value of humidity if implemented and enabled in derived material, -1 otherwise.
void computeConductivityMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
virtual void giveFluxVector(FloatArray &answer, GaussPoint *gp, const FloatArray &grad, const FloatArray &field, TimeStep *tStep)
Returns the flux for the field and its gradient.
void matcond3d(FloatMatrix &d, GaussPoint *gp, MatResponseMode mode, TimeStep *atTime)
double iso_a
Parameter of Hansen's isotherm.
double iso_wh
Parameter of Hansen's/Kunzel's isotherm - max. adsorbed water content [kg/m^3].
double b
thermal conductivity supplement [-]
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
double PL
ambient atmospheric pressure [Pa]
double A
water absorption coefficient [kg m^-2 s^-0.5]
double perm_mm(double h, double T)
virtual const char * giveClassName() const
MaterialMode
Type representing material mode of integration point.
double lambda0
thermal conductivity [W m^-1 K^-1]
MatResponseMode
Describes the character of characteristic material matrix.
enum oofem::HeMoKunzelMaterial::isothermType Isotherm
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *atTime)
Returns the integration point corresponding value in Reduced form.
double cw
specific heat capacity of liquid water [J kg^-1 K^-1]
void matcond1d(FloatMatrix &d, GaussPoint *gp, MatResponseMode mode, TimeStep *atTime)
double cs
specific heat capacity of the building material [J kg^-1 K^-1]
double computeSatVaporPressureDerivative(double T)
virtual void giveCharacteristicMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
Computes characteristic matrix of receiver in given integration point.
virtual bool isCharacteristicMtrxSymmetric(MatResponseMode rMode)
Returns true if stiffness matrix of receiver is symmetric Default implementation returns true...
double computeDw(double h)
double perm_hm(double h, double T)
double iso_n
Parameter of Hansen's isotherm - exponent.
double rho
bulk density of dry building material [kg m^-3]
virtual double giveCharacteristicValue(MatResponseMode mode, GaussPoint *gp, TimeStep *atTime)
Computes the characteristic value of receiver in given integration point, respecting its history...
virtual int hasMaterialModeCapability(MaterialMode mode)
Tests if material supports material mode.
double hv
latent heat of phase change/evaporation enthalpy of pure water [J/kg]
double computeSatVaporPressure(double T)
Class representing vector of real numbers.
double perm_mh(double h, double T)
virtual ~HeMoKunzelMaterial()
Destructor.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
double perm_hh(double h, double T)
double computeWaterVaporPerm(double T)
Abstract base class for all constitutive models for transport problems.
double iso_b
Parameter of Kunzel's isotherm.
void matcond2d(FloatMatrix &d, GaussPoint *gp, MatResponseMode mode, TimeStep *atTime)
#define _IFT_HeMoKunzelMaterial_Name
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual const char * giveInputRecordName() const
the oofem namespace is to define a context or scope in which all oofem names are defined.
double rhoH2O
water density [kg m^-3]
double mu
water vapor diffusion resistance [-]
Class representing integration point in finite element program.
Class representing solution step.
virtual double give(int aProperty, GaussPoint *gp)
Returns the value of material property 'aProperty'.