VALT HET DOEK VOOR HET LUXOR THEATER? DEEL II BIJLAGENBOEK Onderzoek naar de beheersbaarheid van het binnenklimaat en behoud van het monumentale interieur van het Luxor Theater te Arnhem.
Uitgevoerd door de Technische Universiteit Eindhoven
In samenwerking met Deerns raadgevende ingenieurs bv
Auteur:
ing. R.J.M. Lony Begeleiding:
ir. A.W.M. van Schijndel dr. ir. H.L. Schellen ing. H. Nennie 17 januari 2007
Studentid. 0551804 (TU/e) (TU/e) (Deerns)
VALT HET DOEK VOOR HET LUXOR THEATER? DEEL II
INHOUDSOPGAVE BIJLAGE I:
Glasertabellen behorende bij de vochttoets
BIJLAGE II:
Leveranciersomschrijving luchtbehandelingskast
BIJLAGE III:
Proces toevoerzijde twincoil in Mollier-diagram
BIJLAGE III-A:
MatLAB S-function toevoerzijde twincoil
BIJLAGE IV:
Proces retourzijde twincoil in Mollier-diagram
BIJLAGE IV-A:
MatLAB S-function retourzijde twincoil
BIJLAGE V:
Proces verwarmer in Mollier-diagram
BIJLAGE V-A:
MatLAB S-function verwarmer
BIJLAGE VI:
Proces koeler in Mollier-diagram
BIJLAGE VI-A:
MatLAB S-function koeler
BIJLAGE VII:
MatLAB S-function naverwarmer
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
4
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
5
BIJLAGE I Glasertabellen behorende bij de vochttoets Luxor Theater toekomstige situatie buiten gebruik
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
6
BIJLAGE I Glasertabellen behorende bij de vochttoets Luxor Theater toekomstige situatie binnen gebruik
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
7
BIJLAGE II Leveranciersomschrijving luchtbehandelingskast
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
8
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
9
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
10
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
11
BIJLAGE III Proces toevoerzijde twincoil in Mollier-diagram
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
12
BIJLAGE III-A
MatLAB S-function toevoerzijde twincoil function [sys,x0,str,ts] = twincoifun(t,x,u,flag) %twincoilfun diff. vgl systeem voor een twincoilbatterij % %RLo januari 2007 % % %u(1)=Vl_nom [m3/s] %u(2)=Ftc_nom [kg/s] %u(3)=Tl_in_toe %u(4)=Tw_in_toe %y(1)=Tl_uit_toe = x(1) %y(2)=Tw_uit_toe = x(2) %y(3)=Ql switch flag, %%%%%%%% % Initialization % %%%%%%%% case 0, [sys,x0,str,ts]=mdlInitializeSizes; %%%%%%%% % Derivatives % %%%%%%%% case 1, sys=mdlDerivatives(t,x,u); %%%%%%% % Outputs % %%%%%%% case 3, sys=mdlOutputs(t,x,u); %%%%%%%%%%% % Unhandled flags % %%%%%%%%%%% case { 2, 4, 9 }, sys = []; %%%%%%%%%%% % Unexpected flags % %%%%%%%%%%% otherwise error(['Unhandled flag = ',num2str(flag)]); end % end wpfun1
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
13
%===================================================================== % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. %===================================================================== % function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates sizes.NumDiscStates sizes.NumOutputs sizes.NumInputs sizes.DirFeedthrough sizes.NumSampleTimes
= 2; = 0; = 3; = 4; = 1; = 1;
sys = simsizes(sizes); x0 = [20 20]; str = []; ts = [0 0]; % end mdlInitializeSizes %===================================================================== % mdlDerivatives % Return the derivatives for the continuous states. %===================================================================== function sys=mdlDerivatives(t,x,u) %inputs Vl_nom=u(1); Ftc_nom=u(2); Tl_in_toe=u(3); Tw_in_toe=u(4); %outputs Tl_uit_toe=x(1); Tw_uit_toe=x(2);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande buitenlucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de toevoer twincoil [grC] %Luchttemperatuur aan de uitgaande zijde van de toevoer twincoil [grC] %Watertemperatuur aan de uitgaande zijde van de toevoer twincoil [grC]
%variabelen rhol=1.2; %[kg/m3] cl=1000; %[J/(kg.K)] cwg=3676; %[J/(kg.K)] Vl_max=6.58; %[m3/s] Ftc_max=2.86; %[kg/s] k=17289*(((1-exp(-Vl_nom/Vl_max))/(1-exp(-1)))*((1-exp(-Ftc_nom/Ftc_max))/(1-exp(-1))));
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
14
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Rendementsschakeling %Energievraag elektrisch: W_elek_pomp=1074; %Elektriciteitsverbruik pomp twincoil o.b.v. 1612 bedrijfsuren [kWh/jr] W_elek_ventilator=7633; %Extra elektriciteitsverbruik ventilatoren t.g.v. drukverlies twincoil [kWh/jr] W_elek_totaal=W_elek_pomp+W_elek_ventilator; %Totaal door twincoil gevraagd vermogen [kWh/jr] %Elektriciteitsprijs = 0.12 E/kWh Econsumption_W_elek_totaal=W_elek_totaal*0.12; %Totaal door twincoil gevraagde energiekosten [Euro] %Energievraag thermisch: Ql_toevoer=u(1)*rhol*cl*-(Tl_in_toe-x(1)); %Thermisch vermogen van de lucht %Bedrijfstijd=1612 h/jr => 1612*3600 = 5803200 s/jr %Verbrandingswaarde aardgas = 32.1 MJ/m3 %Rendement warmteopwekking = 90% %Aardgasprijs = 0.45 E/m3 W_thermisch_totaal=Ql_toevoer*5803200; Econsumption_W_thermisch_totaal=((W_thermisch_totaal/(1000000))/32.1)*0.9*0.45; %[Euro] if Econsumption_W_thermisch_totaal < Econsumption_W_elek_totaal; k = 0; else k = k; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %capaciteiten C1=316930; C2=1082288; %Bevriezingsschakeling: if u(3) < -19.9; k=0; else k = k; end
%[W/K] %[W/K] %Indien de buitenluchttemperatuur < -19.9 grC moet de twincoil uitgeschakeld worden
xdot(1)=(1/C1)*((u(1)*rhol*cl*(Tl_in_toe-x(1)))+k*0.9743*(((Tw_in_toe+x(2))/2)((Tl_in_toe+x(1))/2))); xdot(2)=(1/C2)*((u(2)*cwg*(Tw_in_toe-x(2)))-k*(((Tw_in_toe+x(2))/2)-((Tl_in_toe+x(1))/2))); sys = [xdot(1); xdot(2)]; % end mdlDerivatives % %===================================================================== % mdlOutputs % Return the block outputs. %===================================================================== % function sys=mdlOutputs(t,x,u)
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
15
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
%inputs Vl_nom=u(1); Ftc_nom=u(2); Tl_in_toe=u(3); Tw_in_toe=u(4); %outputs Tl_uit_toe=x(1); Tw_uit_toe=x(2); %variabelen rhol=1.2; cl=1000; cwg=3676; Vl_max=6.58; Ftc_max=2.86;
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande buitenlucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de toeovoer twincoil [grC] %Luchttemperatuur aan de uitgaande zijde van de toevoer twincoil [grC] %Watertemperatuur aan de uitgaande zijde van de toevoer twincoil [grC] %[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/s]
%extra output Ql_toevoer=u(1)*rhol*cl*-(Tl_in_toe-x(1)); sys = [x(1); x(2); Ql_toevoer]; % end mdlOutputs
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
%Thermisch vermogen van de lucht
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
16
BIJLAGE IV Proces retourzijde twincoil in Mollier-diagram
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
17
BIJLAGE IV-A
MatLAB S-function retourzijde twincoil function [sys,x0,str,ts] = twincoifun(t,x,u,flag) %twincoilfun diff. vgl systeem voor een twincoilbatterij % %RLo januari 2007 % % %u(1)=Vl_nom_ret [m3/s] %u(2)=Ftc_nom_ret [kg/s] %u(3)=Tl_in_ret %u(4)=Tw_in_ret %y(1)=Tl_uit_ret = x(1) %y(2)=Tw_uit_ret = x(2) %y(3)=Ql_retour switch flag, %%%%%%%% % Initialization % %%%%%%%% case 0, [sys,x0,str,ts]=mdlInitializeSizes; %%%%%%%% % Derivatives % %%%%%%%% case 1, sys=mdlDerivatives(t,x,u); %%%%%% % Outputs % %%%%%% case 3, sys=mdlOutputs(t,x,u); %%%%%%%%%%% % Unhandled flags % %%%%%%%%%%% case { 2, 4, 9 }, sys = []; %%%%%%%%%%% % Unexpected flags % %%%%%%%%%%% otherwise error(['Unhandled flag = ',num2str(flag)]); end % end wpfun1 %===================================================================== % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. %=====================================================================
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
18
function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates sizes.NumDiscStates sizes.NumOutputs sizes.NumInputs sizes.DirFeedthrough sizes.NumSampleTimes
= 2; = 0; = 3; = 4; = 1; = 1;
sys = simsizes(sizes); x0 = [20 20]; str = []; ts = [0 0]; % end mdlInitializeSizes %===================================================================== % mdlDerivatives % Return the derivatives for the continuous states. %===================================================================== function sys=mdlDerivatives(t,x,u) %inputs Vl_nom_ret=u(1); Ftc_nom_ret=u(2); Tl_in_ret=u(3); Tw_in_ret=u(4); %outputs Tl_uit_ret=x(1); Tw_uit_ret=x(2);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de uitgaande ruimtelucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de retour twincoil [grC] %Luchttemperatuur aan de uitgaande zijde van de retour twincoil (=afblaasluchttemperatuur) [grC] %Watertemperatuur aan de uitgaande zijde van de retour twincoil [grC]
%variabelen rhol=1.2; %[kg/m3] cl=1000; %[J/(kg.K)] cwg=3676; %[J/(kg.K)] Vl_max_ret=6.58; %[m3/s] Ftc_max_ret=2.86; %[kg/s] k=13261.4*(((1-exp(-Vl_nom_ret/Vl_max_ret))/(1-exp(-1)))*((1-exp(Ftc_nom_ret/Ftc_max_ret))/(1-exp(-1)))); %[-] %capaciteiten C1=316930; C2=1082288;
%[W/K] %[W/K]
xdot(1)=(1/C1)*((u(1)*rhol*cl*(Tl_in_ret-x(1)))+k*0.987*(((Tw_in_ret+x(2))/2)((Tl_in_ret+x(1))/2))); xdot(2)=(1/C2)*((u(2)*cwg*(Tw_in_ret-x(2)))-k*(((Tw_in_ret+x(2))/2)-((Tl_in_ret+x(1))/2))); sys = [xdot(1); xdot(2)];
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
19
% end mdlDerivatives %===================================================================== % mdlOutputs % Return the block outputs. %===================================================================== function sys=mdlOutputs(t,x,u) %inputs Vl_nom_ret=u(1); Ftc_nom_ret=u(2); Tl_in_ret=u(3); Tw_in_ret=u(4); %outputs Tl_uit_ret=x(1);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de uitgaande ruimtelucht [K] %Watertemperatuur ter plaatse van de ingaande zijde van de retour twincoil [K]
Tw_uit_ret=x(2);
%Luchttemperatuur aan de uitgaande zijde van de retour twincoil (=afblaasluchttemperatuur) [K] %Watertemperatuur aan de uitgaande zijde van de retour twincoil [K]
%variabelen rhol=1.2; cl=1000; cwg=3676; Vl_max_ret=6.58; Ftc_max_ret=2.86;
%[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/s]
%extra output Ql_retour=u(1)*rhol*cl*-(Tl_in_ret-x(1)); %Thermisch vermogen van de lucht sys = [x(1); x(2) ;Ql_retour]; % end mdlOutputs
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
20
BIJLAGE V Proces verwarmer in Mollier-diagram
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
21
BIJLAGE V-A
MatLAB S-function verwarmer function [sys,x0,str,ts] = twincoifun(t,x,u,flag) %verwarmerfun diff. vgl systeem voor een verwarmingsbatterij % %RLo januari 2007 % % %u(1)=Vl_verw_nom [m3/s] %u(2)=Fw_verw_nom [kg/s] %u(3)=Tl_in_verw [K] %u(4)=Tw_in_verw [K] %u(5)=T_set [K] %u(6)=T_air [K] %y(1)=Tl_uit_verw = x(1) %y(2)=Tw_uit_verw = x(2) %y(3)=Ql switch flag, %%%%%%%% % Initialization % %%%%%%%% case 0, [sys,x0,str,ts]=mdlInitializeSizes; %%%%%%%% % Derivatives % %%%%%%%% case 1, sys=mdlDerivatives(t,x,u); %%%%%% % Outputs % %%%%%% case 3, sys=mdlOutputs(t,x,u); %%%%%%%%%%% % Unhandled flags % %%%%%%%%%%% case { 2, 4, 9 }, sys = []; %%%%%%%%%%%%%%%%%%%% % Unexpected flags % %%%%%%%%%%%%%%%%%%%% otherwise error(['Unhandled flag = ',num2str(flag)]); end % end wpfun1 %===================================================================== % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. %=====================================================================
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
22
function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates sizes.NumDiscStates sizes.NumOutputs sizes.NumInputs sizes.DirFeedthrough sizes.NumSampleTimes
= 2; = 0; = 3; = 6; = 1; = 1;
sys = simsizes(sizes); x0 = [20 20]; str = []; ts = [0 0]; % end mdlInitializeSizes %===================================================================== % mdlDerivatives % Return the derivatives for the continuous states. %===================================================================== function sys=mdlDerivatives(t,x,u) %inputs Vl_verw_nom=u(1); Fw_verw_nom=u(2); Tl_in_verw=u(3); Tw_in_verw=u(4);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande lucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de verwarmer [grC]
T_set=u(5); T_air=u(6);
%[K] %[K]
%outputs Tl_uit_verw=x(1); Tw_uit_verw=x(2);
%Luchttemperatuur aan de uitgaande zijde van de verwarmer [grC] %Watertemperatuur aan de uitgaande zijde van de verwarmer [grC]
%variabelen rhol=1.2; cl=1000; ccv=4180; Vl_verw_max=6.58; Fw_verw_max=1.51;
%[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/m3]
%Vergelijking K-waarde if u(3) > T_set; %Indien de aangevoerde luchttemperatuur > 20 grC moet de verwarmer uitgeschakeld worden Tl_max = u(3); else Tl_max = T_set; end Tl_in_verw_max=4.4;
%[grC]
k=2641*(((1-exp(-Vl_verw_nom/Vl_verw_max))/(1-exp(-1)))*((1-exp(Fw_verw_nom/Fw_verw_max))/(1-exp(-1)))*((1-exp(-(Tl_max-Tl_in_verw)/(Tl_maxTl_in_verw_max)))/(1-exp(-1)))); %[-]
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
23
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
%Vermogensschakeling: if u(3) > T_set | u(6) > T_set;
%Indien de aangevoerde luchttemperatuur of de ruimteluchttemperatuur > 20 grC moet de verwarmer uitgeschakeld worden
k = 0; else k = k*((T_set-u(3))/(T_set-Tl_in_verw_max)); end %capaciteiten C1=58300; C2=243694 ;
%[W/K] %[W/K]
xdot(1)=(1/C1)*((u(1)*rhol*cl*(Tl_in_verw-x(1)))+k*0.982*(((Tw_in_verw+x(2))/2)((Tl_in_verw+x(1))/2))); xdot(2)=(1/C2)*((u(2)*ccv*(Tw_in_verw-x(2)))-k*(((Tw_in_verw+x(2))/2)((Tl_in_verw+x(1))/2))); sys = [xdot(1); xdot(2)]; % end mdlDerivatives %===================================================================== % mdlOutputs % Return the block outputs. %===================================================================== function sys=mdlOutputs(t,x,u) %inputs Vl_verw_nom=u(1); Fw_verw_nom=u(2); Tl_in_verw=u(3); Tw_in_verw=u(4);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande lucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de verwarmer [grC]
%outputs Tl_uit_verw=x(1); Tw_uit_verw=x(2);
%Luchttemperatuur aan de uitgaande zijde van de verwarmer [grC] %Watertemperatuur aan de uitgaande zijde van de verwarmer [grC]
%variabelen rhol=1.2; cl=1000; ccv=4180; Vl_verw_max=6.58; Fw_verw_max=1.51;
%[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/m3]
%extra output Ql_verw=u(1)*rhol*cl*(Tl_in_verw-x(1)); sys = [x(1); x(2); -Ql_verw]; % end mdlOutputs
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
%Thermisch vermogen van de lucht
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
24
BIJLAGE VI Proces koeler in Mollier-diagram
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
25
BIJLAGE VI-A
MatLAB S-function koeler function [sys,x0,str,ts] = twincoifun(t,x,u,flag) %koelerfun diff. vgl systeem voor een koelerbatterij % %RLo januari 2007 % % %u(1)=Vl_koel_nom [m3/s] %u(2)=Fw_koel_nom [kg/s] %u(3)=Tl_in_koel [K] %u(4)=Tw_in_koel [K] %u(5)=T_set [K] %u(6)=T_air [K] %y(1)=Tl_uit_koel = x(1) [K] %y(2)=Tw_uit_koel = x(2) [K] %y(3)=Ql [W] switch flag, %%%%%%%% % Initialization % %%%%%%%% case 0, [sys,x0,str,ts]=mdlInitializeSizes; %%%%%%%% % Derivatives % %%%%%%%% case 1, sys=mdlDerivatives(t,x,u); %%%%%% % Outputs % %%%%%% case 3, sys=mdlOutputs(t,x,u); %%%%%%%%%%% % Unhandled flags % %%%%%%%%%%% case { 2, 4, 9 }, sys = []; %%%%%%%%%%% % Unexpected flags % %%%%%%%%%%% otherwise error(['Unhandled flag = ',num2str(flag)]); end % end wpfun1 %===================================================================== % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. %=====================================================================
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
26
function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates sizes.NumDiscStates sizes.NumOutputs sizes.NumInputs sizes.DirFeedthrough sizes.NumSampleTimes
= 2; = 0; = 3; = 6; = 1; = 1;
sys = simsizes(sizes); x0 = [20 20]; str = []; ts = [0 0]; % end mdlInitializeSizes %===================================================================== % mdlDerivatives % Return the derivatives for the continuous states. %===================================================================== function sys=mdlDerivatives(t,x,u) %inputs Vl_koel_nom=u(1); Fw_koel_nom=u(2); Tl_in_koel=u(3); Tw_in_koel=u(4); T_set=u(5); T_air=u(6);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande lucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de koeler [grC] %[grC] %[grC]
%outputs Tl_uit_koel=x(1); Tw_uit_koel=x(2);
%Luchttemperatuur aan de uitgaande zijde van de koeler [grC] %Watertemperatuur aan de uitgaande zijde van de koeler [grC]
%variabelen rhol=1.2; cl=1000; cgkw=4180; Vl_koel_max=6.58; Fw_koel_max=3.6;
%[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/m3]
%Vergelijking K-waarde: if u(3) > 28; %Indien de aangevoerde luchttemperatuur > 28 grC moet het koelvermogen maximaal zijn Tl_max = u(3); else Tl_max = 28; %Indien de aangevoerde luchttemperatuur < 28 grC moet het koelvermogen afnemen, met als uittredeconditie 19 grC end Tl_in_koel_max=19; %[K] k=10468*(((1-exp(-Vl_koel_nom/Vl_koel_max))/(1-exp(-1)))*((1-exp(Fw_koel_nom/Fw_koel_max))/(1-exp(-1)))); %[-]
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
27
%Vermogensschakeling: if u(3) < 19 | u(6) <19; %Indien de aangevoerde luchttemperatuur < 20 grC moet de koeler uitgeschakeld worden k = 0; else k = k; end %capaciteiten C1=148900; C2=622402;
%[W/K] %[W/K]
xdot(1)=(1/C1)*((u(1)*rhol*cl*(Tl_in_koel-x(1)))+k*(0.582*(((Tw_in_koel+x(2))/2)((Tl_in_koel+x(1))/2))*((1-exp(-(Tl_in_koel-Tl_in_koel_max)/(Tl_max-Tl_in_koel_max)))/(1exp(-1))))); xdot(2)=(1/C2)*((u(2)*cgkw*(Tw_in_koel-x(2)))-k*(((Tw_in_koel+x(2))/2)((Tl_in_koel+x(1))/2))); sys = [xdot(1); xdot(2)]; % end mdlDerivatives %===================================================================== % mdlOutputs % Return the block outputs. %===================================================================== function sys=mdlOutputs(t,x,u) %inputs Vl_koel_nom=u(1); Fw_koel_nom=u(2); Tl_in_koel=u(3); Tw_in_koel=u(4); T_set=u(5); T_air=u(6);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande lucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de koeler [grC] %[grC] %[grC]
%outputs Tl_uit_koel=x(1); Tw_uit_koel=x(2);
%Luchttemperatuur aan de uitgaande zijde van de koeler [grC] %Watertemperatuur aan de uitgaande zijde van de koeler [grC]
%variabelen rhol=1.2; cl=1000; cgkw=4180; Vl_koel_max=6.58; Fw_koel_max=3.6;
%[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/m3]
if u(3)-x(1)<0.2; Ql=0; else Ql=u(1)*rhol*cl*(u(3)-x(1)); end sys = [x(1); x(2); Ql]; % end mdlOutputs
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
28
BIJLAGE VII MatLAB S-function naverwarmer function [sys,x0,str,ts] = twincoifun(t,x,u,flag) %naverwarmerfun diff. vgl systeem voor een naverwarmingsbatterij % %RLo januari 2007 % % %u(1)=Vl_nv_nom [m3/s] %u(2)=Fw_nv_nom [kg/s] %u(3)=Tl_in_nv [K] %u(4)=Tw_in_nv [K] %u(5)=T_set [K] %u(6)=T_air [K] %y(1)=Tl_uit_nv = x(1) %y(2)=Tw_uit_nv = x(2) %y(3)=Ql [W] switch flag, %%%%%%%% % Initialization % %%%%%%%% case 0, [sys,x0,str,ts]=mdlInitializeSizes; %%%%%%%% % Derivatives % %%%%%%%% case 1, sys=mdlDerivatives(t,x,u); %%%%%% % Outputs % %%%%%% case 3, sys=mdlOutputs(t,x,u); %%%%%%%%%%% % Unhandled flags % %%%%%%%%%%% case { 2, 4, 9 }, sys = []; %%%%%%%%%%% % Unexpected flags % %%%%%%%%%%% otherwise error(['Unhandled flag = ',num2str(flag)]); end % end wpfun1 %===================================================================== % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. %=====================================================================
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
29
function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates sizes.NumDiscStates sizes.NumOutputs sizes.NumInputs sizes.DirFeedthrough sizes.NumSampleTimes
= 2; = 0; = 3; = 6; = 1; = 1;
sys = simsizes(sizes); x0 = [20 20]; str = []; ts = [0 0]; % end mdlInitializeSizes %===================================================================== % mdlDerivatives % Return the derivatives for the continuous states. %===================================================================== function sys=mdlDerivatives(t,x,u) %inputs Vl_nv_nom=u(1); Fw_nv_nom=u(2); Tl_in_nv=u(3); Tw_in_nv=u(4); T_set=u(5); T_air=u(6); %outputs Tl_uit_nv=x(1); Tw_uit_nv=x(2); %variabelen rhol=1.2; cl=1000; ccv=4180; Vl_nv_max=6.58; Fw_nv_max=1.236; Tl_in_nv_min=T_set; if u(6) < (T_set-5); Tl_min = u(6); else Tl_min = (T_set-5); end
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande lucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de naverwarmer [grC] %[grC] %[grC] %Luchttemperatuur aan de uitgaande zijde van de naverwarmer [grC] %Watertemperatuur aan de uitgaande zijde van de naverwarmer [grC] %[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/m3] %[grC] %Indien de ruimteluchttemperatuur < (T_set-5) grC moet het afgegeven vermogen teruggeschakeld worden
%Vergelijking K-waarde k=1242.9*(((1-exp(-Vl_nv_nom/Vl_nv_max))/(1-exp(-1)))*((1-exp(Fw_nv_nom/Fw_nv_max))/(1-exp(-1)))*((1-exp(-(Tl_in_nv_min-T_air)/(Tl_in_nv_minTl_min)))/(1-exp(-1)))); %[-]
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
VAL HET DOEK VOOR HET LUXOR THEATER? DEEL II
30
%Vermogensschakeling: if u(6) > T_set; %Indien de aangevoerde luchttemperatuur of de ruimteluchttemperatuur > 20 grC moet de naverwarmer uitgeschakeld worden k= 0 else k = k; end %capaciteiten C1=20006; C2=83625;
%[W/K] %[W/K]
xdot(1)=(1/C1)*((u(1)*rhol*cl*(Tl_in_nv-x(1)))+k*0.749*(((Tw_in_nv+x(2))/2)((Tl_in_nv+x(1))/2))); xdot(2)=(1/C2)*((u(2)*ccv*(Tw_in_nv-x(2)))-k*(((Tw_in_nv+x(2))/2)-((Tl_in_nv+x(1))/2))); sys = [xdot(1); xdot(2)]; % end mdlDerivatives %===================================================================== % mdlOutputs % Return the block outputs. %===================================================================== function sys=mdlOutputs(t,x,u) %inputs Vl_nv_nom=u(1); Fw_nv_nom=u(2); Tl_in_nv=u(3); Tw_in_nv=u(4); T_set=u(5); T_air=u(6);
(Deze zullen later variabel uitgevoerd worden) %[m3/s] %[kg/s] %Luchttemperatuur van de ingaande lucht [grC] %Watertemperatuur ter plaatse van de ingaande zijde van de verwarmer [grC] %[grC] %[grC]
%outputs Tl_uit_nv=x(1); Tw_uit_nv=x(2);
%Luchttemperatuur aan de uitgaande zijde van de verwarmer [grC] %Watertemperatuur aan de uitgaande zijde van de verwarmer [grC]
%variabelen rhol=1.2; cl=1000; ccv=4180; Vl_nv_max=6.58; Fw_nv_max=1.51;
%[kg/m3] %[J/(kg.K)] %[J/(kg.K)] %[m3/s] %[kg/m3]
%extra output Ql_nv=u(1)*rhol*cl*(Tl_in_nv-x(1)); sys = [x(1); x(2); -Ql_nv]; % end mdlOutputs
TECHNISCHE UNIVERSITEIT EINDHOVEN INSTALLATIETECHNOLOGIE
%Thermisch vermogen van de lucht