Vous êtes sur la page 1sur 40

Application of HAMLab on Common Exercise 1

A.W.M. (Jos) van Schijndel


Eindhoven University of Technology,
Homepage HamLab: http://bf1.fago.bwk.tue.nl/jos/MatLab/MatLab.htm

Summary
In this report, HAMLab (Heat, Air & Moisture simulation Laboratory) applications for
Common Exercise 1 (CE1) are given. The aim of this report is to provide practical
information on how HAMLab can be used for CE1. Detailed descriptions of the used models,
model assumptions, parameters, etc, can be found in Annex report: TUE Oct2004 PaperA41-
T1-NL-04-3.pdf. Section 1 start with a short introduction on the use of HAMLab. The next
Sections show details of the modeling and simulations of CE1. Appendix A&B contain the
complete HAMBase input file for Case 600_Open. Appendix C contains the complete
FemLab input file for Case 600_Open.

1 Introduction of HAMLab
The roots of the current HAM building model appeared in 1988 called ELAN [de Wit &
Driessen 1988]. This model was originally programmed in Fortran and simulated heat flows
in a multizone building with a hourly based time step. The next improvement was the
development of moisture transport model called AHUM [de Wit and Donze 1990] and
integration of both models (ELAN & AHUM) in MatLab called WaVo. (in dutch Warmte en
Vocht; i.e. Heat and Moisture). Because the aim is to integrate building component models
and systems models, it became necessary to adapt the WaVo building model so it could also
handle small time steps. This major recent improvement is realised using SimuLink and is
called HAMBase. Together with the early WaVo model this improvement is presented in
Oct2004 PaperA41-T1-NL-04-3.pdf. WaVo can be used as a starting tool to simulate and
evaluate indoor climates according corresponding building designs. The output gives hourly
values for the indoor temperature, Rh, energy and mass flows. Using only WaVo, already a
great variety of buildings and systems can be simulated with sufficient accuracy. In case more
modeling accuracy is needed for building systems and/or building details, the WaVo model
can be exported to SimuLink into a HAMBase model. This HAMBase model can further
refined in the MatLab/SimuLink/FemLab environment by using the currently developing
HAM modeling and simulation laboratory (HAMLab). Important criteria for such a modeling
and simulation environment are discussed now.

1
The next facilities play an important role for the development of a HAMLab:
- Laboratory simulation environment It is important that the simulation environment
contains functions for a) quick evaluation of results, such as plotting facilities, statistical
functions, etc., b) basic HAM supporting calculations, such as properties of moist air,
dewpoint, etc. and c) quick importing of data.
- HAM building modeling This is a key facility. The type of model simulates the heat, air
and moisture transport in building zones and constructions. Because the aim is to integrate
building component models and systems models, it is important that the building models can
also handle small time steps
- HAM systems modeling This is another key facility. An important property to take into
account is the relative fast dynamics of systems, which can be in the order of seconds.
- Controllers modeling Because almost all systems have some type of controller it is
important that common controller types on/off, and PI controllers are included.
- Integration of ODE and PDE based models- This is very important feature if new models
have to be integrated. Most HAM systems can be modeled by ODEs. Furthermore if
geometrical aspect plays a dominant role, for example HAM transport in constructions or
airflow in and around buildings, it is crucial that general PDE based models can be included.
Also transparency and flexibility are important.
- Transparency of modeling A clear relation between the physics of models (mathematical
description in terms of ODEs, PDEs and initial/boundary values) and computer code of
models is important for a) implementing new models and b) validation of models.
- Optimization The simulation results of indoor climate models are dependent on a set of
parameters. To create an optimal climate and taking durability and economics into account it
is necessary have an optimization tool. This tool is capable of selecting a optimal set of
parameters given an object function and constraints.

The modeling philosophy of HAMLab is top-down and based on: Start with the main
contribution (the indoor climate), refine only when necessary. The next steps explain this
philosophy in more detail:
1) Start simulating the indoor climate with WaVo, export to SimuLink
2) Check model assumptions, if necessary improve the model.
For example: HAMBase has a model assumption that the Rh in constructions stays
within 20<Rh<90. The HAMBase model can be improved by the coupling of a
FemLab model to investigate this model assumption.
3) Validate model, if necessary adapt parameters
4) Ready to use for further research or design problems

2
The modeling strategy of HAMLab is shown in figure 1:

WaVo
Model

Export to SimuLink by HAMBase block

SimuLink
Model
improve model using
- HAMSys
Check model assumptions
- HAMDet

Model
OK ? N

Adapt parameters
Validate model

Parameters
OK ? N

READY
For further use

Figure 1.1 Flowchart of modeling strategy of HAMLab

2. Starting with Case 600_Open using WaVo

2.1 Input
We start with a WaVo model for the Case 600_Open geometry. In appendix A the necessary
input mfile for WaVo without comments is given. In appendix B the same model with
comments is given so the reader can understand the syntax. For example in Appendix A you
find (first line) BASE.Period=[1872,1,1,365]; In Appendix B you can find the syntax:

3
% FORMAT BASE.Period=[yr,month,day,ndays]
%
% yr = start year
% month = start month
% day = start day
% ndays = number of days simulated

The reader should now be able to understand the model in Appendix A by reading Appendix
B. Additional information is given now for a) the import of climate data and b) the import of
material data other than the default present data.

2.1.1 Import of BEStest climate data.


Preparing the BEStest climate data for WaVo can be done in two steps:
1) transformation of the data provided by the BEStest into a WaVo climate data. The WaVo
climate data (see for example mt1972.mat) consists of:
col 1: Diffuse solar on the horizontal (W/M**2)
col 2: External dry bulb temperature (Tenths DEG.C)
col 3: Direct normal solar intensity (W/M**2)
col 4: Prevailing wind speed (Tenths M/S)
col 5: Wind direction (clockwise deg from north)
col 6: Relative humidity (Percent)
col 7: Time of rainfall (0.1 h)
col 8: Sum of rainfall (0.1 mm)
col 9: Cloud cover (8 steps from 0 to 8)
The data of the Bestest are transformed and saved in the file mt1872.mat

2) Adjustment of climate location parameters (see Appendix A)


% Adjust for Bestest climate
InClimate.LAT=39.8;
%LSMLON=LSM-LON;
LSM=-105;
LON=-104.9;
InClimate.LSMLON=LSM-LON;
InClimate.gref=0.2;

2.1.2 Import of material data.


A default material database is used in WaVo with for each material:
1. heat conductivity ()
2. density ()
3. heat capacity (c)
4. emmissivity () (additional information)
5. diffusion resistancefactor (= /a)
6. vapour capacity ( = w/Rh )
7. Penetration depth time 10^7 ( bv= sqrt(.a/(.2340)) )(additional information)

4
The next table shows the corresponding new WaVo material numbers for each CE1 material

Table 1 WaVo material numbers for each CE1 material


BESTEST material name IEA Annex 24, Task 3 catalogue WaVO mat nr
Wood panels Spruce (tangential) 651
Fiberglass quilt Glass Fibre Insulation 652
Cellulose ins. Cellulose Insulation 653
Wood siding Spruce (tangential) 654
Timber flooring Spruce (tangential) 655
Insulation Glass Fibre Insulation 656
Roof deck Plywood 657
Concrete block Concrete 658
Foam insulation Expanded Polystyrene Insul. 659
Wood siding Spruce (tangential)
Concrete slab Concrete 660
Plasterboard Gypsum Board 661
Paint/Floor lacon 662
Vapor retarder 663
Paint+Wood+Retarder 664
Lacquer+Timber+Retarder 665

This is done in the material properties file matpropf.m by adding:


materiaal(651:665,:)=[

` c bv nr
0.16 395 1880 0.9 2.1 101 19; 651
0.04 12 840 0.9 1.5 0.34 5.8; 652
0.04 55 1880 0.9 1.4 14 8.8; 653
0.14 530 900 0.9 2.1 101 19; 654
0.14 650 1880 0.9 2.1 101 19; 655
0.04 80 840 0.9 1.5 0.34 5.8; 656
0.14 530 1880 0.9 95 120 3.1; 657
0.51 2300 840 0.9 120 90 2.4; 658
0.04 10 1400 0.9 18 1.2 0.7; 659
1.13 2300 840 0.9 120 90 2.4; 660
0.16 950 840 0.9 7.8 42 6.4; 661
200 2800 840 0.9 700000 0 0 662
200 2800 840 0.9 700000 0 0 663
0.16 395 1880 0.9 4200 101 19; 664
0.14 650 1880 0.9 1850 101 19; 665

2.2 Output
The output is shown in figures 2.1 2.6.

5
Figure 2.1 The external temperature

Figure 2.2 The external RH

6
Figure 2.3 The internal air temperature

Figure 2.4 The internal RH

7
Figure 2.5 The mean RH in the walls

Figure 2.6 The solar gain

8
Figure 2.7 The heating and cooling load

9
3 Case 600_0A

3.1 Input
The previous model of appendix A has been changed for this case and exported to SimuLink.
An analytical model is also made for comparison. The models are shown in the next figure:

Figure 3.1 HAMBase model and exact first order model for Case 600_OA

The next changes of the model of Appendix A are made for this case

1) all construction surfaces are very small (order ~10 4 m2)


2) the convection factor for the internal gain is set to 1
3) the climate date are changed to steady state:
InClimate.kli(:,1)=zeros(nIn,1); %: Diffuse solar radiation [W/m2];
InClimate.kli(:,2)=10*10*ones(nIn,1);% 10*air temperature outside;
InClimate.kli(:,3)=zeros(nIn,1); % : Direct solar radiation (plane normal to the
direction)[W/m2];
InClimate.kli(:,4)=zeros(nIn,1); % cloud cover 1...8;
InClimate.kli(:,5)=42*ones(nIn,1); % 100*relative humidity outside;

10
3.2 Output
Figure 3.2 shows the simulation result:

Figure 3.2 Indoor RH

4 Case 600_OB

4.1 Input
Again the model of appendix A has been changed for this case and exported to SimuLink.
The model is shown in the next figure:

11
Figure 4.1 HAMBase model for Case 600_OB

This model is the same as Appendix A, accept that again the climate date are changed to
steady state (analog to step 3 of previous Section)

4.2 Output
Figure 4.2 shows the simulation result:

Figure 4.2 Indoor RH

12
5. Case 600_Open revisit
Already a first simulation of indoor temperature, Rh and heating/cooling load has been done
in Section 2. A next step is a detail 1D simulation of the roof. The reason is twofold:
1) calculating the requested Rh as well as the heat flux through the roof
2) checking the model assumption of HAMBase that the moisture transport is dominated by
vapor transport

5.1 Input
FemLab is used as for solving this coupled heat and moisture problem. In Appendix C the
complete mfile for the detail 1D simulation of the roof is given. More details about this
approach can be found in [Schijndel 2003a].

5.2 Output
The output is shown in figures 5.1 5.5

Figure 5.1 The Rh at the internal surface of the roof (x=0)

13
Figure 5.2 The Rh at x=0.01 in the roof

Figure 5.3 The Rh at x=0.1218 in the roof

14
Figure 5.4 The Rh at the external surface of the roof (x=0.1408)

Figure 5.5 The heatflux (without latent heat) from the room air to internal surface of
the roof

15
6. Case 600_Open Paint&VR

6.1 Input
Again the mfiles of Appendix A & C are used as a starting point. The next adaptations of
these files are made for this case.
WAVO, Compared with appendix A, the construction data are now
BASE.Con{1} = [0.121, 0.012,664, 0.066, 653, 0.009,654, 0.034, 0.6, 0.9];
BASE.Con{2} = [0.121, 0.025,665, 1.003, 656, 0.034, 0.6, 0.9];
BASE.Con{3} = [0.121, 0.010,664, 0.1118,653, 0.019,657, 0.001,663, 0.034, 0.6, 0.9];

FemLab, Compared with appendix C, the boundary values are now


appla.bnd.Tinf= {'ti600pvrfun(t)' [0] 'tesl_roof600fun(t)'};
applb.bnd.cb= {'pi600pvrfun(t)' [0] 'pe600fun(t)'};

and the moisture diffusion data are now:


applb.equ.D= {'psatf(T)*1.8e-10/(101*4200)' 'psatf(T)*1.8e-10/(14*1.4)' 'psatf(T)*1.8e-10/(120*95)' };

6.2 Output, The output is shown in figures 6.1 6.9

Figure 6.1 The internal air temperature

16
Figure 6.2 The internal Rh

17
Figure 6.3 The mean wall Rh

Figure 6.4 The heating/cooling load

18
Figure 6.5 The Rh at the internal surface of the roof (x=0)

Figure 6.6 The Rh at x=0.01 in the roof

19
Figure 6.7 The Rh at x=0.1218 in the roof

Figure 6.8 The Rh at the external surface of the roof (x=0.1408)

20
Figure 6.9 The heatflux (without latent heat) from the room air to internal surface of
the roof

21
7. Case 900_Open

7.1 Input
Again the mfiles of Appendix A & C are used as a starting point. The next adaptations of
these files are made for this case.
WAVO, Compared with appendix A, the construction data are now
BASE.Con{1} = [0.121, 0.100,658, 0.0615,659, 0.009,654, 0.034, 0.6, 0.9];
BASE.Con{2} = [0.121, 0.080,660, 1.007, 656, 0.034, 0.6, 0.9];
BASE.Con{3} = [0.121, 0.010,661, 0.1118,653, 0.019,657, 0.001,663, 0.034, 0.6, 0.9];

FemLab, Compared with appendix C, the boundary values are now


appla.bnd.Tinf= {'ti900fun(t)' [0] 'tesl_roof600fun(t)'};
applb.bnd.cb= {'pi900fun(t)' [0] 'pe600fun(t)'};

And the material data are now


appla.equ.k= {'0.24' '0.04' '0.14' };
appla.equ.rho= {'700' '55' '530' };
appla.equ.C= {'870' '1880' '1880' };

applb.equ.D= {'psatf(T)*1.8e-10/(7.8*42)' 'psatf(T)*1.8e-10/(14*1.4)' 'psatf(T)*1.8e-10/(120*95)' };

22
7.2 Output, The output is shown in figures 7.1 7.9

Figure 7.1 The internal air temperature

Figure 7.2 The internal Rh

23
Figure 7.3 The mean wall Rh

Figure 7.4 The heating/cooling load

24
Figure 7.5 The Rh at the internal surface of the roof (x=0)

Figure 7.6 The Rh at x=0.01 in the roof

25
Figure 7.7 The Rh at x=0.1218 in the roof

Figure 7.8 The Rh at the external surface of the roof (x=0.1408)

26
Figure 7.9 The heatflux (without latent heat) from the room air to internal surface of
the roof

27
8. Discussion and Conclusions
In this report the application of HAMLab on common exercise 1 is presented. The included
models are capable to simulate all requested outputs except the heat flow through the ceiling
with latent heat. Case 600_0A agrees well with an analytical solution. Validation data for all
other cases are not present. Our modeling strategy implies that modeling refinements are only
considered when absolute necessary. For this reason, a linear modeling approach for the heat
and moisture transport in the roof has been used. If necessary this modeling can be further
improved by
1) more accurate modeling of moisture dependencies of the material properties as presented in
[Schijndel 2003a]
2) using a more sophisticated modeling approach (for example HAMSTADT) and taking
latent heat into account as presented in [Hagentoft et all]
3) full coupling between HAMBase and FemLab, instead of the post processing used in this
report as presented in [Schijndel 2003c]
4) 2D and 3D modeling as presented in [Schijndel 2003a]

LITERATURE
Hagentoft, C.-E.; Kalagasidis, A.S.; Adl-Zarrabi, B; Roels, S.; Carmeliet, J.; Hens,
H.; Grunewald, J.; Funk, M.; Becker, R.; Shamir, D.; Adan, O.; Brocken, H.; Kumaran, K.;
Djebbar, R. 2004. Assessment Method of Numerical Prediction Models for Combined Heat,
Air and Moisture Transfer in Building Components: Benchmarks for One-dimensional Cases.
Journal of Thermal Envelope and Building Science, Vol. 7 (4), pp. 327-352.
Schijndel, 2003a, A.W.M. van, Modeling and solving building physics problems with
FemLab, Building and Environment 38, pp319-327
Schijndel, A.W.M. van et all, 2003b, Optimal setpoint operation of the climate
control of a monumental church, Sec. Int. Building Physics conference Leuven, pp777-784
Schijndel, 2003c, A.W.M. van, Integrated building physics simulation with
FemLab/SimuLink/Matlab, 8TH Int. IBPSA Conf. Eindhoven August 2003, pp1177-1184
Wit M.H. de and H.H. Driessen, 1988, ELAN A Computer Model for Building
Energy Design. Building and Environment, Vol.23, No 4, pp.285-289
Wit, M.H. de, 2001, WaVo, a simulation model for the thermal and hygric
performance of a building, Univ. of Tech. Eindhoven, group FAGO.

28
Appendix A. HAMBase input file Case 600_Open without comments

BASE.Period=[1872,1,1,365];
BASE.DSTime=0;
BASE.Vol{1}= 8*6*2.7;

BASE.Con{1} = [0.121, 0.012,651,0.066 , 653, 0.009,654, 0.034,0.6,0.9];


BASE.Con{2} = [0.121, 0.025,655,1.003 , 656, 0.034,0.6,0.9];
BASE.Con{3} = [0.121 0.010,651,0.1118,653, 0.019,657,0.001,663, 0.034,0.6,0.9];

BASE.Glas{1}=[3.0,0.03, 0.789, 0.789, 0.03, 3 ];

BASE.Or{1}= [90.0, 180.0 ];


BASE.Or{2}= [90.0, -90.0 ];
BASE.Or{3}= [90.0, 0 ];
BASE.Or{4}= [90.0, 90.0 ];
BASE.Or{5}= [0.0, 0.0 ]; % horizontal roof

BASE.shad{1}=[
4 20 30 40 50 60 70 80 ;...
5 787/789 784/789 775/789 754/789 700/789 563/789 302/789];

BASE.wallex{1} = [1, 8*2.7, 1, 1, 0];


BASE.wallex{2} = [1, 6*2.7, 1, 2, 0];
BASE.wallex{3} = [1, 8*2.7, 1, 3, 0];
BASE.wallex{4} = [1, 6*2.7, 1, 4, 0];
BASE.wallex{5} = [1, 8*6 , 3, 5, 0];

BASE.window{1} = [3, 6*2, 1, 1];

BASE.walli0{1} = [1, 8*6, 2, 10.0, 0];

BASE.Ers{1} =300;
BASE.dayper{1}= [ 0, 9, 17 ];
BASE.vvmin{1}= [ 0.41, 0.41, 0.41 ];
BASE.vvmax{1}= [ 0.41, 0.41, 0.41 ];
BASE.Tfc{1}= [ 300, 300, 300 ];
BASE.Qint{1}= [ 200, 200, 200 ];
BASE.Gint{1}= [ 0, 1.3889e-004, 0 ];
BASE.Tsetmin{1}= [ 20, 20, 20 ];
BASE.Tsetmax{1}= [ 27, 27, 27 ];
BASE.RVmin{1}= [ -1, -1, -1 ];
BASE.RVmax{1}= [ 100, 101, 100 ];

BASE.weekfun{1}= [1, 1, 1, 1, 1, 1, 1];

BASE.Plant{1}=[1e6,-1e6,0,0];

BASE.convfac{1}=[1, 1, 1];

BASE.heatexch{1}=[0 100];

BASE.furnishings{1}=[0, 0.2];

%END OF INPUT ***************************************************

[Control,Profiles,InClimate,InBuil]=Hambasefun(BASE);

29
% Adjust for Bestest climate
InClimate.LAT=39.8;
%LSMLON=LSM-LON;
LSM=-105;
LON=-104.9;
InClimate.LSMLON=LSM-LON;
InClimate.gref=0.2;
InClimate.nin=10;
InClimate.kli(:,4)=8*InClimate.kli(:,4)/100;
InBuil.oriennr=[1:5];

%****************CALCULATION*****************************
Output=Wavox0304(Control,Profiles,InClimate,InBuil);

30
Appendix B HAMBase input file Case 600_Open with comments

%CASE600_OPEN_WAVO Annex 41 Common exercise 1, SimuLink


%
%JvS 2004/7

% ------------------------------------------------------------------------------
% PART 1 : THE CALCULATION PERIOD
% -------------------------------------------------------------------------

% The available climate data of De Bilt are of the years 1971 till 2000. If the
% climate files of a different location are used the name and format must be
% adapted and the geographical coordinates must be changed (in InClimate-file).
% As an average year can be considered 1 May 1974 till 30 April 1975.
% A cold winter (242 days) started 1 September 1978.
% A hot summer (123 days) started 1 May 1976.
% 9 hot days started 1 at July 1976 and 9 cold days started at 30 Dec. 1978.

%
% FORMAT BASE.Period=[yr,month,day,ndays]
%
% yr = start year
% month = start month
% day = start day
% ndays = number of days simulated

%BASE.Period=[1976,1,1,90,1];
BASE.Period=[1872,1,1,365];

% If BASE.DSTime=1 the EU daylight-savings time is taken into account. It starts on the


% last Sunday of March and ends on the the last Sunday of October (the total
% duration is 30 or 31 weeks). If there is no daylight-savings period BASE.DSTime=0
% If the daylight-savings period is different from the EU the starting and ending days
% must be given:
% BASE.DSTime(1,:)=[year,starting month,day,ending month,day];
% BASE.DSTime(2,:)=[year+1,starting month,day,ending month,day]; etc.

BASE.DSTime=0;

% ------------------------------------------------------------------------- ---
% PART 2 : THE BUILDING
% ------------------------------------------------------------------------- ---

% ZONES NUMBERS [-] & VOLUMES [m3]


%
% A zone consist of a room or several adjacent rooms with oubout the same
% temperature and relative humidity and the same climate control e.g. a dwelling
% might have three zones: the ground floor (living room etc), the first floor
% (sleeping) and the attic (not heated). There is however no restriction in the
% number of zones that can be simulated. Example: three zones: BASE.Vol{1}=..;
% BASE.Vol{2}=..; BASE.Vol{3}=.. If alone 2: use '%' for 1 and 3 so only
% BASE.Vol{2} remains.
%
% FORMAT BASE.Vol{zonenumber}=volume (m3);
BASE.Vol{1}= 8*6*2.7;

% ** CONSTRUCTION COMPONENTS DATA **


%
% A construction component usually consists of different layers. The order of
% the input of the properties of these layers is standard from indoors to

31
% outdoors and for construction components between zones from the zone with the
% lowest zone-number to the highest so: 1->2,1->3,2->3etc.. The material
% properties of the component layer are inserted by a material ID-number. By
% typing 'help matpropf' a list of materials appear with a material ID-number.
% Also each different construction component gets a different construction
% ID-number: conID=1,2,....
%
% FORMAT BASE.Con{conID}=[Ri,d1,matID,...,dn,matID,Re,ab,eb].
% dn = material layer thickness [m]
% matn = material ID-number.
% Ri = internal surface heat transfer resistance (for example Ri=0.13) [Km2/W]
% Re = surface heat transfer resistance at the opposite site (for example Re=0.04) [Km2/W]
% ab = external solar radiation absorption coefficient [-] e.g.light ab=0.4, dark ab=0.9.
% eb = external longwave emmisivity [-]. Almost always: eb=0.9

% BASE.Con{conID}=[Ri, d1,matID,... dn,matID, Re, ab, eb].


BASE.Con{1} = [0.121, 0.012,651, 0.066, 653, 0.009,654, 0.034, 0.6, 0.9];
BASE.Con{2} = [0.121, 0.025,655, 1.003, 656, 0.034, 0.6, 0.9];
BASE.Con{3} = [0.121, 0.010,651, 0.1118,653, 0.019,657, 0.001,663, 0.034, 0.6, 0.9];
% Commments
% 1: Exterior Wall
% 2: Floor
% 3: Roof

% ** GLAZING SYSTEMS DATA**


%
% The solar gain factor of glazing depends on the incident angle of the solar
% radiation. The properties below are independent of this angle but if one wants
% to account for the incident angle this can be done with the shadow section
% (below). Each different glazing system gets an ID-number: glaID=1,2,.
%
% FORMAT BASE.Glas{glaID}=[Uglas,CFr,ZTA,ZTAw,CFrw,Uglasw]
%
% Uglas = U-value without sunblinds [W/m2K]
% CFr = convection factor without sunblinds [-]
% ZTA = Solar gain factor [-] without sunblinds
% ZTAw = Solar gain factor [-] with sunblinds
% CFrw = convection factor with sun blinds [-]
% Uglasw = U-value with sunblinds [W/m2K]
%
%BASE.Glas{glaID}=[Uglas, CFr, ZTA, ZTAw, CFrw, Uglasw]
BASE.Glas{1}= [3.0, 0.03, 0.789, 0.789, 0.03, 3 ];

% Comments
% Glazing 1 saint-roch skn 165
% Glazing 2 single glazing with interior sunblinds
% Glazing 3 HR glazing with interior sunblinds
% Glazing 4 double glazing with interior sunblinds

% ** ORIENTATIONS **
%
% For each surface of the building envelope (exterior walls) the tilt and the
% orientation with respect to the south has to be known. Each different
% orientation gets a different orientation-ID-numbernumber orID.
%
% FORMAT BASE.Or{orID}=[beta gamma]
% beta = tilt (vertical=90,horizontal=0)
% gamma = azimuth (east=-90, west=90, south=0, north=180)
%
%BASE.Or{orID}=[beta, gamma];

32
BASE.Or{1}= [90.0, 180.0 ];
BASE.Or{2}= [90.0, -90.0 ];
BASE.Or{3}= [90.0, 0 ];
BASE.Or{4}= [90.0, 90.0 ];
BASE.Or{5}= [0.0, 0.0 ]; % horizontal roof

% **SHADOW DATA**
%
% For each vertical window the shadow by exterior obstacles can be accounted
% for. The obstacles can have any combination of blocks, cylinders and spheres,
% provided some limitations regarding the positioning: The position of the
% blocks is such that two planes are horizontal, two vertical and perpendicular
% to the window pane and two parallel. The axis of the cylinder must be
% vertical. E.g. a tree is a cylinder and a sphere. If two equal windows with
% the same orientation and zone have a different shadow they cannot be added to
% one window (with the sum of the surface areas) anymore. Each shadow situation
% gets a shadow ID-number shaID.
%
% FORMAT BASE.shad{shaID}= [
% typenr, size1, size2, size3, x, y, z, extra;
% ......,......,......,......,..,..,..,......;
% typenr, size1, size2, size3, x, y, z, extra;
% typenr, size1, size2, size3, x, y, z, extra;]
%
% x,y,z are Cartesian coordinates where z is vertical and x is horizontal and
% perpendicular to the window plane. Left means left when facing the window from
% outside. The sizes are always positive numbers.
%
% typenr=1 (window):size1=depth (=distance glazing to exterior surface), size2=
% width, size3=height of the window
% [x,y,z] = the coordinates of the lowest window corner at the left side
% extra = elevation-angle of the horizon in degrees to account for far-away
% obstacles.
% typenr=2 (block):size1= width(in x-direction),size2=length(in y-direction),
% size3=height(in z-direction)
% x,y,z] coordinates of the left block corner closest to the window
% extra= solar transmission
% factor (0 opaque)
% typenr=3 (tree):size1=radius crown,size2=radius trunk (e.g.1/20*radius crown),
% size3=height center of crown
% [x,y,z]: coordinates of the bottom of trunk.
% extra=solar transmission factor of crown(0 opaque). In winter(120<iday< 304)
% this is higher than in summer. e.g. winter extra=0.8, summer extra=0.35
% typenr =4 input for incident angle dependency of transmittivity of glazing.
% Perpendicular (angle=0) always 1 and for 90 degrees (parallel) always 0. So
% there is no need for an input for these angles! First row [4, incident
% angle1,.,incident angle7], second row [5, transmittivity1,.,transmittivity7]
%
% Example input
%
BASE.shad{1}=[
4 20 30 40 50 60 70 80
;...
5 787/789 784/789 775/789 754/789 700/789 563/789 302/789];

% Changing '0' into '1' below, gives for one shadow ID-number a drawing of the
% obstacle geometry.
if 1==0
shaID=1;

33
figure(1)
shaddrawf1101(BASE.shad,shaID);
end

% ------------------------------------------------------------------------------
% A building is an assembly of different construction components. The input here
% is about the seize, place in the building and ID of these different components
% (for convenience called walls and windows, so also the doors floors and roofs).
% They are divided into 5 groups:
% I. Constructions separating a zone from the exterior climate: EXTERNAL WALLS
% II. Windows in external walls I
% III. Constructions separating a zone from an environment with a constant
% temperature e.g. the ground: CONSTANT TEMPERATURE WALLS
% IV. Constructions separating a zone from an environment with the same
% conditions: ADIABATIC EXTERNAL WALLS
% V. Constructions between and in zones: INTERNAL WALLS
% For external walls and constant temperature walls the heat loss by thermal
% bridges can be accounted for if the steady state heat loss in Watt per 1K
% temperature difference from these bridges is known. These values can be
% obtained by thermal bridge software or a approximate methods. Use '0' if not
% known.
% -------------------------------------------------------------------------

% I. EXTERNAL WALLS
%
% For each wall ID-number exID=1,2,...
%
% FORMAT BASE.wallex{exID} = [zonenr,surf,conID,orID,bridge];
% zonenr = select zone number from ZONES Section
% surf = total surface [m2], the windows surface area is included
% conID = select construction ID-number from CONSTRUCTION Section.
% orID = select orientation ID-number from ORIENTATIONS Section
% bridge= the heat loss in W/K of the thermal bridges (choose 0 if unknown)

%BASE.wallex{exID}= [zonenr, surf, conID, orID, bridge]


BASE.wallex{1} = [1, 8*2.7, 1, 1, 0];
BASE.wallex{2} = [1, 6*2.7, 1, 2, 0];
BASE.wallex{3} = [1, 8*2.7, 1, 3, 0];
BASE.wallex{4} = [1, 6*2.7, 1, 4, 0];
BASE.wallex{5} = [1, 8*6 , 3, 5, 0];

% II. WINDOWS IN EXTERNAL WALLS


%
% Each external wall can have one or more windows. The surface area is the area
% of the transparent part. If the surface is curved the effective area for solar
% radiation is needed. The U-value must be increased in such a way that the
% heat loss per 1K temperature difference equals the one for the curved glazing,
% e.g. a glazed dome in a flat roof has an orientation with tilt=0, surface area
% 'pi*r^2' and U-value Uglazing*2*pi*r^2/pi*r^2.
% If a wall has 100% glazing use an EXTERNAL WALL that is slightly larger than
% the window area. Each window gets an ID-number winID=1,2,...
%
% FORMAT window{winID} = [exID, surf,glaID, shaID];
% exID = select external construction ID-number from CONSTRUCTIONS Section
% surf = surface area of the glazing [m2]
% glaID = select glass ID-number from GLAZING Section
% shaID = select ID-number of shadow from SHADOW section, no shadow: shaID=0

%BASE.window{winID}= [exID, surf, glaID, shaID]

34
BASE.window{1} = [3, 6*2, 1, 1];

% III. CONSTANT TEMPERATURE WALLS


%
% Each constant temperature wall gets an ID: i0ID=1,2,...
%
% FORMAT walli0{i0ID} = [zonenr, surf, conID ,temp];
% zonenr = select zone number from ZONES Section
% surf = total surface area [m2]
% conID = select construction ID-number from CONSTRUCTION Section.
% temp = constant temperature [oC],e.g ground = '10'
% bridge = the heat loss in W/K of the thermal bridges (0 if unknown)

%BASE.walli0{i0ID}= [zonenr, surf, conID, temp, bridge]


BASE.walli0{1} = [1, 8*6, 2, 10.0, 0];

% IV ADIABATIC EXTERNAL WALLS


%
% Each adiabatic wall gets an ID: iaID=1,2,...
%
% FORMAT wallia{iaID} = [zonenr,surf,conID];
% zonenr = select zone number from ZONES Section
% surf = total surface area in m2
% conID = select construction ID-number from CONSTRUCTION Section.

%BASE.wallia{iaID}= [zonenr, surf, conID]

% V. INTERNAL WALLS BETWEEN AND IN ZONES


%
% Also here all different internal walls get an ID-number: inID.
% If there are 3 different walls (or floors) between zonenr1 and zonenr2, the
% input is BASE.wallin{1}=[1,2,... t/m BASE.wallin{3}=[1,2,.... If the 4th
% construction is completely in zonenr2 the input is consequently:
% BASE.wallin{4}=[2,2,... The first layer (Ri) of the construction component is
% in the zone that comes first. If instead BASE.wallin{3}=[2,1,.... is used the
% construction is reversed and Ri is in zonenr2. The surface area is the surface
% area of one side of the wall also for walls that are completely in the same
% zone.
%
% FORMAT wallin{inID} = [zonenr1,zonenr2,surf,conID];
% zonenr1 = select zone number from ZONES Section
% zonenr2 = select zone number from ZONES Section
% surf = total surface area [m2]
% conID = select construction number from CONSTRUCTION Section.

%BASE.wallin{inID}= [zonenr1, zonenr2, surf, conID ]

%-------------------------------------------------------------------------- --
% PART 3 : profiles for internal sources, ventilation, sunblinds and free
% cooling
% ------------------------------------------------------------------------- ---
%
%
% **PROFILES**
%
% Profiles are related to the use of a zone: office, living room, school etc
% Each day of a week can have a different profile e.g. weekends are different.

35
% Here the profiles are defined and given an ID-number; proID.
% For each day up to 24 different periods can be defined with different data. period1:
% start time = hrnr1 and end time = hrnr2; period2: start time = hrnr2 and end
% time = hrnr3; last period: the hours that are left on the same day.
% for example [1,8,18] means period1: 1h till 8h, period2: 8h till 18h, period 3:
% 24h(==0h) till 1h and 18h till 24h. (3 periods are often used).
% The inserted hours are the clock time.
% The profile allows for free cooling i.e. above a certain threshold Tfc (oC)
% the ventilation is increased from vvmin to vvmax: e.g. vvmax=3*vvmin. So if
% vvmin=vvmax there is no free cooling. The temperature Tfc is also used for the
% control of sunblinds: if the solar irradiance on the window is higher than Ers
% and the indoor temperature higher than Tfc the blinds will be down. This means
% that if there is no free cooling the temperature Tfc is still necessary for
% the control of sunblinds. Ers is the same for all zones. A number often
% encountered for Ers is 300W/m2.
%
% BASE.Ers{proID} = irradiance level for sun blinds [W/m2]
% BASE.dayper{proID} = [hrnr1,hrnr2,hrnr3], the starting time of a new period
% BASE.vvmin{proID} = [. . . ], the ventilation [1/hr], for each period
% BASE.vvmax{proID} = [. . . ], the ventilation [1/hr] in case free cooling
% BASE.Tfc{proID} = [. . . ], treshold [oC] for free cooling, for each period
% BASE.Tsetmin{proID}= [. . . ], setpoint [oC] switch for heating, (in case of
% no heating choose -100)
% BASE.Tsetmax{proID} = [. . . ], setpoint [oC] switch for cooling, (in case
% of no cooling choose 100)
% BASE.Qint{proID} = [. . . ], internal heat gains [W]
% BASE.Gint{proID} = [. . . ], moisture gains [kg/s]
% BASE.RVmin{proID} = [. . . ], setpoint [%] switch humidification,(in case of no
% humidifcation choose -1)
% BASE.RVmax{proID} = [. . . ], setpoint [%] switch dehumidification,(in case
% of no dehumidifcation choose 101)

% proID=1
BASE.Ers{1} =300;
BASE.dayper{1}= [ 0, 9, 17 ];
BASE.vvmin{1}= [ 0.41, 0.41, 0.41 ];
BASE.vvmax{1}= [ 0.41, 0.41, 0.41 ];
BASE.Tfc{1}= [ 300, 300, 300 ];
BASE.Qint{1}= [ 200, 200, 200 ];
BASE.Gint{1}= [ 0, 1.3889e-004, 0 ];
BASE.Tsetmin{1}= [ 20, 20, 20 ];
BASE.Tsetmax{1}= [ 27, 27, 27 ];
BASE.RVmin{1}= [ -1, -1, -1 ];
BASE.RVmax{1}= [ 100, 101, 100 ];

% THE PROFILES OF THE BUILDING


%
% FORMAT BASE.weekfun{zonenr} = [upnrmon, upnrtue, upnrwed, upnrthu, upnrfri,
% upnrsat, upnrsun]
% for each zone n=1.. number of zones, select profiles ID-numbers for each
% day
% upnrmon = select profile ID-numbers for Monday from PROFILES
% upnrtue = select profile ID-numbers for Tuesday from PROFILES
% upnrwed = select profile ID-numbers for Wednesday from PROFILES
% upnrthu = select profile ID-numbers for Thursday from PROFILES
% upnrfri = select profile ID-numbers for Friday from PROFILES
% upnrsat = select profile ID-numbers for Saturday from PROFILES
% upnrsun = select profile ID-numbers for Sunday from PROFILES
%
% BASE.weekfun{zonenr} =[upnrmon, upnrtue, upnrwed, upnrthu, upnrfri, upnrsat, upnrsun]

36
BASE.weekfun{1}= [1, 1, 1, 1,
1, 1, 1];

%-------------------------------------------------------------------------- --
% PART 4 : Heating, cooling, humidification, dehumidification
% ------------------------------------------------------------------------- ---

% If the maximum heating capacity is known then that value can be used. If it is
% unknown the value '-1' means an infinite capacity. The value '-2' can be used
% for a reasonable estimate of the maximum heating capacity. If there is no
% cooling the dehumidification capacity is '0' Cooling and dehumification are
% negative! for each zone :
%
% FORMAT BASE.Plant{zonenr}=[heating capacity [W], cooling capacity [W],
% humidification capacity [kg/s],dehumidification capacity [kg/s]];

BASE.Plant{1}=[1e6,-1e6,0,0];

% The simulation program treats radiant heat and convective heat differently.
% For each zone:
%
% FORMAT BASE.convfac{zonenr}=[CFh CFset CFint ];
% CFh =Convection factor of the heating system: air heating CFh=1,
% radiators CFh=0.8 floor heating CFh=0.5, cooling usually CFh=1
% CFset= Factor that determines whether the temperature control is on the air
% temperature (CFset=1), or comforttemperature (CFset=0.6),Tset=CFset*Ta+(1-CFset)*Tr
%
% CFint= is the convection factor of the casual gains (usually CFint=0.5)

BASE.convfac{1}=[1, 1, 1];

% If a heat recovery from ventilation air is used the effective temperature


% efficiency 'etaww' and the maximum indoor air temperature 'Twws' above which
% the heat exchanger will be by-passed must be known. In summer with cooling
% conditions this temperature is used to switch the exchanger on, e.g Twws=22oC
%
% FORMAT BASE.heatexch{zonenr}=[etaww, Twws];

BASE.heatexch{1}=[0 100];

% Real rooms are furnished. Furnishings are an important moisture storage.


% Moisture is released dependent on the change in relative humidity. Especially
% in zones with a lot of paper of textiles this can easily outweigh the moisture
% storage of the building. A value of '1' means that about the same amount is
% stored as in the air that fills the volume of the zone. The heat storage of
% furnishings is less important but by absorbing solar radiation and releasing
% that directly to the indoor air more solar energy is released in a convective
% way. A value for the convective fraction of 0.2 can be considered as
% reasonable. For each zone:
%
% FORMAT BASE.furnishings{zonenr}=[fbv CFfbi];
% fbv = Moisture storage factor
% CFfbi= The convection factor for the solar radiation due to furnishings.

BASE.furnishings{1}=[0, 0.2];

%******************* END OF INPUT***************************************************


%
% This input is now completely stored in the structured array BASE. By typing

37
% BASE in the command window, the input can be checked and changed
%
% In Hambasefun input is changed to an input the simulation program WAVO needs.

[Control,Profiles,InClimate,InBuil]=Hambasefun(BASE);

% The advanced user can modify the files InClimate, InBuil,Profiles, Control
% (type help_wavooutput)

% Adjust for Bestest climate


InClimate.LAT=39.8;
%LSMLON=LSM-LON;
LSM=-105;
LON=-104.9;
InClimate.LSMLON=LSM-LON;
InClimate.gref=0.2;
InClimate.nin=10;
InClimate.kli(:,4)=8*InClimate.kli(:,4)/100;

InBuil.oriennr=[1:5];

Output=Wavox0304(Control,Profiles,InClimate,InBuil);

% Output contains all calculated data. Weather data are in InClimate. With
% these file the program wavooutput makes some plots. Type 'help_wavooutput' to
% see the explanation of the content of Output and of InClimate

energy=Output.Qplant;
heating=energy;
i0=find(heating<0);
heating(i0)=0;
cooling=energy;
i0=find(cooling>0);
cooling(i0)=0;

sum(heating)
sum(cooling)
max(heating)
find(heating==max(heating))
min(cooling)
find(cooling==min(cooling))

%Wavooutput

38
Appendix C
%ROOF600_OPEN_CLIM_ST ROOF Case 600 Open Thermal and Hygric, Climate boundary
%

clear all

global tout Rh Rhe Te Tair t_roof Tesl_roof

load Case600_OpenData.mat
load TslData.mat

s=solid1([0 0.010 (0.010+0.1118) (0.010+0.1118+0.019)]);


figure(1)
geomplot(s,'sublabels','on' ,'pointlabels','on');
% 1-2-3

appla.mode.class='HeatTransfer';
appla.assignsuffix='_ht';
appla.equ.init=10;
appla.equ.k= {'0.16' '0.04' '0.14' };
appla.equ.rho= {'395' '55' '530' };
appla.equ.C= {'1880' '1880' '1880' };
appla.equ.ind=[1 2 3];

appla.bnd.h= {[8.29] [0] [29.3]};


appla.bnd.Tinf= {'ti600fun(t)' [0] 'tesl_roof600fun(t)'};
appla.bnd.type= {'q' 'cont' 'q'};
appla.bnd.ind= [1 2 2 3];

applb.mode.class='FlDiffusion';
applb.assignsuffix='_di';
applb.equ.init=500;
applb.equ.D= {'psatf(T)*1.8e-10/(101*2.1)' 'psatf(T)*1.8e-10/(14*1.4)' 'psatf(T)*1.8e-10/(120*95)' };
applb.equ.ind=[1 2 3];

applb.bnd.kc= {[2e-8] [0] [0]};


applb.bnd.cb= {'pi600fun(t)' [0] 'pe600fun(t)'};
applb.bnd.type= {'N' 'cont' 'N'};
applb.bnd.ind= [1 2 2 3];

fem.geom=s;
fem.appl={appla applb};
fem.mesh=meshinit(fem);
%fem.mesh=meshrefine(fem); %?
fem=multiphysics(fem);
fem.xmesh=meshextend(fem);
fem.sol=femtime(fem,'tlist',[0:3600:100*24*3600]);

%%%%OUTPUT%%%%%
tu=fem.sol.tlist;
ntu=length(tu);
tdag=tu/(24*3600);

39
xp=[0 0.010 (0.010+0.1118) (0.010+0.1118+0.019)];
Txp=postinterp(fem,'T',xp,'Solnum',[1:ntu]);
Pxp=postinterp(fem,'c',xp,'Solnum',[1:ntu]);

figure(2)
subplot(211)
plot(tdag,Txp)
subplot(212)
plot(tdag,Pxp)

AT=[ NaN xp
tu' Txp ];

AP=[ NaN xp
tu' Pxp ];

save Roof600_P_Data tu xp Txp Pxp

40

Vous aimerez peut-être aussi