OOFEM 3.0
Loading...
Searching...
No Matches
nlisomoisturemat.h
Go to the documentation of this file.
1/*
2 *
3 * ##### ##### ###### ###### ### ###
4 * ## ## ## ## ## ## ## ### ##
5 * ## ## ## ## #### #### ## # ##
6 * ## ## ## ## ## ## ## ##
7 * ## ## ## ## ## ## ## ##
8 * ##### ##### ## ###### ## ##
9 *
10 *
11 * OOFEM : Object Oriented Finite Element Code
12 *
13 * Copyright (C) 1993 - 2025 Borek Patzak
14 *
15 *
16 *
17 * Czech Technical University, Faculty of Civil Engineering,
18 * Department of Structural Mechanics, 166 29 Prague, Czech Republic
19 *
20 * This library is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU Lesser General Public
22 * License as published by the Free Software Foundation; either
23 * version 2.1 of the License, or (at your option) any later version.
24 *
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28 * Lesser General Public License for more details.
29 *
30 * You should have received a copy of the GNU Lesser General Public
31 * License along with this library; if not, write to the Free Software
32 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33 */
34
35#ifndef nlisomoisturemat_h
36#define nlisomoisturemat_h
37
39#include "floatarray.h"
40#include "scalarfunction.h"
41#include "function.h"
42
44
45#define _IFT_NlIsoMoistureMaterial_Name "nlisomoisturemat"
46#define _IFT_NlIsoMoistureMaterial_isothermtype "isothermtype"
47#define _IFT_NlIsoMoistureMaterial_permeabilitytype "permeabilitytype"
48#define _IFT_NlIsoMoistureMaterial_capillarytransporttype "capillarytransporttype"
49#define _IFT_NlIsoMoistureMaterial_rhodry "rhodry"
50#define _IFT_NlIsoMoistureMaterial_capa "capa"
51#define _IFT_NlIsoMoistureMaterial_hx "hx"
52#define _IFT_NlIsoMoistureMaterial_dx "dx"
53#define _IFT_NlIsoMoistureMaterial_iso_offset "isooffset"
54#define _IFT_NlIsoMoistureMaterial_iso_h "iso_h"
55#define _IFT_NlIsoMoistureMaterial_iso_wh "iso_w(h)"
56#define _IFT_NlIsoMoistureMaterial_dd "dd"
57#define _IFT_NlIsoMoistureMaterial_wf "wf"
58#define _IFT_NlIsoMoistureMaterial_b "b"
59#define _IFT_NlIsoMoistureMaterial_uh "uh"
60#define _IFT_NlIsoMoistureMaterial_a "a"
61#define _IFT_NlIsoMoistureMaterial_nn "nn"
62#define _IFT_NlIsoMoistureMaterial_c "c"
63#define _IFT_NlIsoMoistureMaterial_k "k"
64#define _IFT_NlIsoMoistureMaterial_vm "vm"
65#define _IFT_NlIsoMoistureMaterial_perm_h "perm_h"
66#define _IFT_NlIsoMoistureMaterial_perm_ch "perm_c(h)"
67#define _IFT_NlIsoMoistureMaterial_hc "hc"
68#define _IFT_NlIsoMoistureMaterial_alpha0 "alpha0"
69#define _IFT_NlIsoMoistureMaterial_c1 "c1"
70#define _IFT_NlIsoMoistureMaterial_n "n"
71#define _IFT_NlIsoMoistureMaterial_alphah "alphah"
72#define _IFT_NlIsoMoistureMaterial_betah "betah"
73#define _IFT_NlIsoMoistureMaterial_gammah "gammah"
74#define _IFT_NlIsoMoistureMaterial_rhoh2o "rhoh2o"
75#define _IFT_NlIsoMoistureMaterial_capperm_h "capperm_h"
76#define _IFT_NlIsoMoistureMaterial_capperm_dwh "capperm_dw(h)"
77#define _IFT_NlIsoMoistureMaterial_capperm_wv "capperm_wv"
78#define _IFT_NlIsoMoistureMaterial_capperm_dwwv "capperm_dw(wv)"
79#define _IFT_NlIsoMoistureMaterial_abs "abs"
80#define _IFT_NlIsoMoistureMaterial_pl "pl"
81#define _IFT_NlIsoMoistureMaterial_mu "mu"
82#define _IFT_NlIsoMoistureMaterial_timescale "timescale"
83#define _IFT_NlIsoMoistureMaterial_wn "wn"
84#define _IFT_NlIsoMoistureMaterial_alpha "alpha"
85#define _IFT_NlIsoMoistureMaterial_capil_coef "capil_coef"
86#define _IFT_NlIsoMoistureMaterial_t "t"
87#define _IFT_NlIsoMoistureMaterial_ttf "ttf"
88#define _IFT_NlIsoMoistureMaterial_vg_b "vg_b"
89#define _IFT_NlIsoMoistureMaterial_vg_m "vg_m"
91
92namespace oofem {
97{
98protected:
100
102 double rhodry = 0.;
103
105 double moistureCapacity = 0.;
106
110
112 double dd = 0.;
113
115 double wf = 0., b = 0.;
116
118 double uh = 0., A = 0., nn = 0.;
119
121 double c = 0., k = 0., Vm = 0.;
122
124 double hx = 0., dx = 0.;
125 double iso_offset = 0.;
126 double c1 = 0., c2 = 0., capa2 = 0.;
127
129 double vG_b = 0., vG_m = 0.;
130
132 double wn = 0.;
133
136
138
142
144 double C1 = 0., n = 0., alpha0 = 0., hC = 0.;
145
147 double alphah = 0., betah = 0., gammah = 0.;
148
151 double Abs = 0.;
152
154 double mu = 0.;
155
157 double PL = 101325.;
158
160 double timeScale = 1.;
161
164
166 double T = 0.;
168 int T_TF = 0;
169
170
176 double rhoH2O = 0.;
177
178public:
180
181 void initializeFrom(InputRecord &ir) override;
182
184 double giveMoistureCapacity(GaussPoint *gp, TimeStep *tStep) const override;
185 double giveMoistureContent(double humidity) const override;
186 double givePermeability(GaussPoint *gp, TimeStep *tStep) const override;
187 double computeCapTranspCoeff(double humidity) const;
188
190 double computeVaporDiffusionCoeff(GaussPoint *gp, TimeStep *tStep) const;
196 double giveTemperature(GaussPoint *gp, TimeStep *tStep) const;
197
198 const char *giveInputRecordName() const override { return _IFT_NlIsoMoistureMaterial_Name; }
199 const char *giveClassName() const override { return "NlIsoMoistureMaterial"; }
200
201 double giveHumidity(GaussPoint *gp, ValueModeType mode) const override;
202
203
204 bool hasInternalSource() const override;
205 void computeInternalSourceVector(FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override;
206};
207} // end namespace oofem
208#endif // nlisomoisturemat_h
double computeTemperatureEffectOnViscosity(GaussPoint *gp, TimeStep *tStep) const
evaluate temperature effect on water viscosity - liquid water capillary conduction
double vG_b
parameters of vanGenuchten isotherm
double T
constant temperature [K]
double rhodry
density of the dry solid phase
ScalarFunction alpha
Function of degree of hydration.
double giveHumidity(GaussPoint *gp, ValueModeType mode) const override
const char * giveInputRecordName() const override
FloatArray perm_h
values of the multilinear permeability
enum oofem::NlIsoMoistureMaterial::isothermType Isotherm
double alphah
permeability parameters according to Xi, Bazant & Jennings
double capillary_transport_coef
parameter in liquid conduction
FloatArray capPerm_h
values of the multilinear capillary transport function
FloatArray iso_h
values of the multilinear isotherm
double Abs
water absorption coefficient [kg m^-2 s^-0.5]
NlIsoMoistureMaterial(int n, Domain *d)
double hx
values of the bilinear isotherm
double uh
parameters of the isotherm proposed by P. Freiesleben Hansen (Coupled moisture/heat transport in cros...
double c
parameters of the BSB isotherm
double wn
Nonevaporable water content per m3 of concrete at complete hydration.
double giveMoistureCapacity(GaussPoint *gp, TimeStep *tStep) const override
evaluates slope of the sorption isotherm
double timeScale
= 1 for analysis in seconds, = 86400 for analysis in days, etc.
int T_TF
explicitly prescribed evolution of temperature by a time function (e.g. piecewise-linear dfined exter...
bool hasInternalSource() const override
double PL
ambient atmospheric pressure [Pa]
double computeCapTranspCoeff(double humidity) const
double dd
parameters of the Ricken isotherm
double moistureCapacity
values of the linear isotherm
void initializeFrom(InputRecord &ir) override
double computeVaporDiffusionCoeff(GaussPoint *gp, TimeStep *tStep) const
compute vapor diffusion coefficient in air [kg m^-1 s^-1 Pa^-1]
double giveTemperature(GaussPoint *gp, TimeStep *tStep) const
returns temperature in [K]
double wf
parameters of the Kuenzel isotherm
void computeInternalSourceVector(FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override
enum oofem::NlIsoMoistureMaterial::permeabilityType Permeability
double mu
water vapor diffusion resistance [-]
enum oofem::NlIsoMoistureMaterial::capillaryTransportType CapillaryTransport
double givePermeability(GaussPoint *gp, TimeStep *tStep) const override
const char * giveClassName() const override
double giveMoistureContent(double humidity) const override
double computeSaturationWaterVaporPressure(GaussPoint *gp, TimeStep *tStep) const
compute saturation water vapor pressure
double C1
"permeability" according to Bazant
#define _IFT_NlIsoMoistureMaterial_Name

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011