OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
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 - 2013 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 
38 #include "isomoisturemat.h"
39 #include "floatarray.h"
40 
42 
43 #define _IFT_NlIsoMoistureMaterial_Name "nlisomoisturemat"
44 #define _IFT_NlIsoMoistureMaterial_isothermtype "isothermtype"
45 #define _IFT_NlIsoMoistureMaterial_permeabilitytype "permeabilitytype"
46 #define _IFT_NlIsoMoistureMaterial_capillarytransporttype "capillarytransporttype"
47 #define _IFT_NlIsoMoistureMaterial_rhodry "rhodry"
48 #define _IFT_NlIsoMoistureMaterial_capa "capa"
49 #define _IFT_NlIsoMoistureMaterial_hx "hx"
50 #define _IFT_NlIsoMoistureMaterial_dx "dx"
51 #define _IFT_NlIsoMoistureMaterial_iso_offset "isoOffset"
52 #define _IFT_NlIsoMoistureMaterial_iso_h "iso_h"
53 #define _IFT_NlIsoMoistureMaterial_iso_wh "iso_w(h)"
54 #define _IFT_NlIsoMoistureMaterial_dd "dd"
55 #define _IFT_NlIsoMoistureMaterial_wf "wf"
56 #define _IFT_NlIsoMoistureMaterial_b "b"
57 #define _IFT_NlIsoMoistureMaterial_uh "uh"
58 #define _IFT_NlIsoMoistureMaterial_a "a"
59 #define _IFT_NlIsoMoistureMaterial_nn "nn"
60 #define _IFT_NlIsoMoistureMaterial_c "c"
61 #define _IFT_NlIsoMoistureMaterial_k "k"
62 #define _IFT_NlIsoMoistureMaterial_vm "vm"
63 #define _IFT_NlIsoMoistureMaterial_perm_h "perm_h"
64 #define _IFT_NlIsoMoistureMaterial_perm_ch "perm_c(h)"
65 #define _IFT_NlIsoMoistureMaterial_hc "hc"
66 #define _IFT_NlIsoMoistureMaterial_alpha0 "alpha0"
67 #define _IFT_NlIsoMoistureMaterial_c1 "c1"
68 #define _IFT_NlIsoMoistureMaterial_n "n"
69 #define _IFT_NlIsoMoistureMaterial_alphah "alphah"
70 #define _IFT_NlIsoMoistureMaterial_betah "betah"
71 #define _IFT_NlIsoMoistureMaterial_gammah "gammah"
72 #define _IFT_NlIsoMoistureMaterial_rhoh2o "rhoh2o"
73 #define _IFT_NlIsoMoistureMaterial_capperm_h "capperm_h"
74 #define _IFT_NlIsoMoistureMaterial_capperm_dwh "capperm_dw(h)"
75 #define _IFT_NlIsoMoistureMaterial_capperm_wv "capperm_wv"
76 #define _IFT_NlIsoMoistureMaterial_capperm_dwwv "capperm_dw(wv)"
77 #define _IFT_NlIsoMoistureMaterial_abs "abs"
78 #define _IFT_NlIsoMoistureMaterial_pl "pl"
79 #define _IFT_NlIsoMoistureMaterial_mu "mu"
80 #define _IFT_NlIsoMoistureMaterial_t "t"
81 #define _IFT_NlIsoMoistureMaterial_timescale "timescale"
82 
83 
85 
86 namespace oofem {
91 {
92 protected:
94 
96  double rhodry;
97 
100 
104 
106  double dd;
107 
109  double wf, b;
110 
112  double uh, A, nn;
113 
115  double c, k, Vm;
116 
118  double hx, dx;
119  double iso_offset;
120  double c1, c2, capa2;
121 
122 
124 
128 
130  double C1, n, alpha0, hC;
131 
133  double alphah, betah, gammah;
134 
136  double deltap, p_sat; // permation
138  double Abs;
139 
145  double rhoH2O;
146 
147 public:
150 
152  virtual double giveMoistureCapacity(GaussPoint *gp, TimeStep *tStep);
153  virtual double sorptionIsotherm(double humidity);
154  virtual double givePermeability(GaussPoint *gp, TimeStep *tStep);
155  virtual double computeCapTranspCoeff(double humidity);
156 
157  virtual const char *giveInputRecordName() const { return _IFT_NlIsoMoistureMaterial_Name; }
158  virtual const char *giveClassName() const { return "NlIsoMoistureMaterial"; }
159 
160  virtual double giveHumidity(GaussPoint *gp, ValueModeType mode);
161 
163 };
164 } // end namespace oofem
165 #endif // nlisomoisturemat_h
Class and object Domain.
Definition: domain.h:115
double c
parameters of the BSB isotherm
FloatArray capPerm_h
values of the multilinear capillary transport function
FloatArray perm_h
values of the multilinear permeability
enum oofem::NlIsoMoistureMaterial::isothermType Isotherm
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
Definition: valuemodetype.h:78
double deltap
permeability parameters according to Kunzel
double wf
parameters of the Kuenzel isotherm
virtual double giveHumidity(GaussPoint *gp, ValueModeType mode)
Returns positive value of humidity if implemented and enabled in derived material, -1 otherwise.
double alphah
permeability parameters according to Xi, Bazant & Jennings
enum oofem::NlIsoMoistureMaterial::permeabilityType Permeability
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
double dd
parameters of the Ricken isotherm
double hx
values of the bilinear isotherm
This class implements various functions for concrete moisture permeability and moisture capacity...
double C1
"permeability" according to Bazant
enum oofem::NlIsoMoistureMaterial::capillaryTransportType CapillaryTransport
double Abs
water absorption coefficient [kg m^-2 s^-0.5]
virtual const char * giveClassName() const
Class representing vector of real numbers.
Definition: floatarray.h:82
double moistureCapacity
values of the linear isotherm
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
Class representing the general Input Record.
Definition: inputrecord.h:101
FloatArray iso_h
values of the multilinear isotherm
double rhodry
density of the dry solid phase
virtual double givePermeability(GaussPoint *gp, TimeStep *tStep)
NlIsoMoistureMaterial(int n, Domain *d)
#define _IFT_NlIsoMoistureMaterial_Name
double uh
parameters of the isotherm proposed by P. Freiesleben Hansen (Coupled moisture/heat transport in cros...
virtual double sorptionIsotherm(double humidity)
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual double giveMoistureCapacity(GaussPoint *gp, TimeStep *tStep)
evaluates slope of the sorption isotherm
virtual double computeCapTranspCoeff(double humidity)
Class representing integration point in finite element program.
Definition: gausspoint.h:93
This class implements a isotropic moisture transport material.
Class representing solution step.
Definition: timestep.h:80
virtual const char * giveInputRecordName() const

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:30 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011