Buildings.Occupants.Office.Windows

Package with models to simulate window behaviors in office buildings

Information

This package contains models to simulate window behaviors in office buildings.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.Occupants.Office.Windows.Haldi2008WindowsTIn Haldi2008WindowsTIn A model to predict occupants' window behavior with indoor temperature
Buildings.Occupants.Office.Windows.Haldi2008WindowsTOut Haldi2008WindowsTOut A model to predict occupants' window behavior with outdoor temperature
Buildings.Occupants.Office.Windows.Haldi2009WindowsTInTout Haldi2009WindowsTInTout A model to predict occupants' window behavior with indoor and outdoor temperature
Buildings.Occupants.Office.Windows.Herkel2008WindowsCompletelyOpen Herkel2008WindowsCompletelyOpen A model to predict occupants' window behavior with outdoor temperature for completely-open large windows
Buildings.Occupants.Office.Windows.Herkel2008WindowsSmall Herkel2008WindowsSmall A model to predict occupants' window behavior with outdoor temperature for small windows
Buildings.Occupants.Office.Windows.Herkel2008WindowsTiltedOpen Herkel2008WindowsTiltedOpen A model to predict occupants' window behavior with outdoor temperature for tilted-open large windows
Buildings.Occupants.Office.Windows.Rijal2007WindowsTInTOutTComf Rijal2007WindowsTInTOutTComf A model to predict occupants' window behavior with indoor, outdoor and comfort temperature
Buildings.Occupants.Office.Windows.Yun2008WindowsTIn Yun2008WindowsTIn A model to predict occupants' window behavior with indoor temperature
Buildings.Occupants.Office.Windows.Yun2008WindowsTOut Yun2008WindowsTOut A model to predict occupants' window behavior with outdoor temperature
Buildings.Occupants.Office.Windows.Zhang2012WindowsAll Zhang2012WindowsAll A model to predict occupants' window behavior with outdoor temperature
Buildings.Occupants.Office.Windows.Zhang2012WindowsEast Zhang2012WindowsEast A model to predict occupants' window behavior with outdoor temperature for East-oriented Windows
Buildings.Occupants.Office.Windows.Zhang2012WindowsNorth Zhang2012WindowsNorth A model to predict occupants' window behavior with outdoor temperature for North-oriented windows
Buildings.Occupants.Office.Windows.Zhang2012WindowsSouth Zhang2012WindowsSouth A model to predict occupants' window behavior with outdoor temperature for South-oriented windows
Buildings.Occupants.Office.Windows.Zhang2012WindowsWest Zhang2012WindowsWest A model to predict occupants' window behavior with outdoor temperature for West-oriented windows
Buildings.Occupants.Office.Windows.Validation Validation Package with examples to validate models in Windows package

Buildings.Occupants.Office.Windows.Haldi2008WindowsTIn Buildings.Occupants.Office.Windows.Haldi2008WindowsTIn

A model to predict occupants' window behavior with indoor temperature

Buildings.Occupants.Office.Windows.Haldi2008WindowsTIn

Information

Model predicting the state of the window with the indoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the indoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Haldi, F. and Robinson, D., 2008. On the behaviour and adaptation of office occupants. Building and environment, 43(12), pp.2163-2177."

The model parameters are regressed from the field study in eight Swiss office buildings in 2006. The indoor air temperature range during the study is 5 ~ 35 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.22Slope of the logistic relation
RealB-5.64Intercept of the logistic relation
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTInIndoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Haldi2008WindowsTIn "A model to predict occupants' window behavior with indoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.22 "Slope of the logistic relation"; parameter Real B = -5.64 "Intercept of the logistic relation"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TIn( final unit="K", displayUnit="degC") "Indoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TIn - 273.15)+B)/(Modelica.Math.exp(A*(TIn - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(seed*time)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TIn - 273.15)+B)/(Modelica.Math.exp(A*(TIn - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Haldi2008WindowsTIn;

Buildings.Occupants.Office.Windows.Haldi2008WindowsTOut Buildings.Occupants.Office.Windows.Haldi2008WindowsTOut

A model to predict occupants' window behavior with outdoor temperature

Buildings.Occupants.Office.Windows.Haldi2008WindowsTOut

Information

Model predicting the state of the window with the outdoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Haldi, F. and Robinson, D., 2008. On the behaviour and adaptation of office occupants. Building and environment, 43(12), pp.2163-2177."

The model parameters are regressed from the field study in eight Swiss office buildings in 2006. The outdoor air temperature range during the study is 5 ~ 35 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.049Slope of the logistic relation
RealB-1.12Intercept of the logistic relation
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Haldi2008WindowsTOut "A model to predict occupants' window behavior with outdoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.049 "Slope of the logistic relation"; parameter Real B = -1.12 "Intercept of the logistic relation"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Haldi2008WindowsTOut;

Buildings.Occupants.Office.Windows.Haldi2009WindowsTInTout Buildings.Occupants.Office.Windows.Haldi2009WindowsTInTout

A model to predict occupants' window behavior with indoor and outdoor temperature

Buildings.Occupants.Office.Windows.Haldi2009WindowsTInTout

Information

Model predicting the state of the window with the indoor, outdoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, Markov method was utilized to determine the state of the window. The probability of opening and closing the window depends on both the indoor and outdoor temperature.

References

The model is documented in the paper "Haldi, F. and Robinson, D., 2009. Interactions with window openings by office occupants. Building and Environment, 44(12), pp.2378-2395."

The model parameters are regressed from the field study in the Solar Energy and Building Physics Laboratory (LESO-PB) experimental building, located in the suburb of Lausanne, Switzerland for a period covering 19 December 2001–15 November 2008.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealAOpenIn0.263Slope of indoor temp of the logistic relation for the opening probability
RealAOpenOut0.039Slope of outdoor temp of the logistic relation for the opening probability
RealBOpen-11.78Intercept of the logistic relation for the opening probability
RealACloseIn0.026Slope of indoor temp of the logistic relation for the closing probability
RealACloseOut-0.065Slope of outdoor temp of the logistic relation for the closing probability
RealBClose-4.14Intercept of the logistic relation for the closing probability
Integerseed10Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTInIndoor air temperature [K]
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Haldi2009WindowsTInTout "A model to predict occupants' window behavior with indoor and outdoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real AOpenIn = 0.263 "Slope of indoor temp of the logistic relation for the opening probability"; parameter Real AOpenOut = 0.039 "Slope of outdoor temp of the logistic relation for the opening probability"; parameter Real BOpen = -11.78 "Intercept of the logistic relation for the opening probability"; parameter Real ACloseIn = 0.026 "Slope of indoor temp of the logistic relation for the closing probability"; parameter Real ACloseOut = -0.065 "Slope of outdoor temp of the logistic relation for the closing probability"; parameter Real BClose = -4.14 "Intercept of the logistic relation for the closing probability"; parameter Integer seed = 10 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TIn( final unit="K", displayUnit="degC") "Indoor air temperature"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real pOpen( unit="1", min=0, max=1) "Probability of opening windows"; Real pClose( unit="1", min=0, max=1) "Probability of closing windows"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; on = false; pOpen = Modelica.Math.exp(AOpenIn*(TIn - 273.15)+AOpenOut*(TOut - 273.15)+BOpen)/(Modelica.Math.exp(AOpenIn*(TIn - 273.15)+AOpenOut*(TOut - 273.15)+BOpen) + 1); pClose = Modelica.Math.exp(ACloseIn*(TIn - 273.15)+ACloseOut*(TOut - 273.15)+BClose)/(Modelica.Math.exp(ACloseIn*(TIn - 273.15)+ACloseOut*(TOut - 273.15)+BClose) + 1); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then pOpen = Modelica.Math.exp(AOpenIn*(TIn - 273.15)+AOpenOut*(TOut - 273.15)+BOpen)/(Modelica.Math.exp(AOpenIn*(TIn - 273.15)+AOpenOut*(TOut - 273.15)+BOpen) + 1); pClose = Modelica.Math.exp(ACloseIn*(TIn - 273.15)+ACloseOut*(TOut - 273.15)+BClose)/(Modelica.Math.exp(ACloseIn*(TIn - 273.15)+ACloseOut*(TOut - 273.15)+BClose) + 1); if pre(on) then on = not Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pClose, globalSeed=integer(curSeed)); else on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pOpen, globalSeed=integer(curSeed)); end if; else pOpen = 0; pClose = 0; on = false; end if; end when; end Haldi2009WindowsTInTout;

Buildings.Occupants.Office.Windows.Herkel2008WindowsCompletelyOpen Buildings.Occupants.Office.Windows.Herkel2008WindowsCompletelyOpen

A model to predict occupants' window behavior with outdoor temperature for completely-open large windows

Buildings.Occupants.Office.Windows.Herkel2008WindowsCompletelyOpen

Information

Model predicting the state of the small window with the outdoor air temperature and occupancy. The definition of large windows was not clearly presented in the original paper.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Herkel, S., Knapp, U. and Pfafferott, J., 2008. Towards a model of user behaviour regarding the manual control of windows in office buildings. Building and environment, 43(4), pp.588-600."

The model parameters are regressed from the field study in 21 individual offices within the Fraunhofer Institute’s building in Freiburg, Germany, from July 2002 to July 2003. The outdoor air temperature during the study is majorly in the range of -5 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.08Slope of the logistic relation
RealB-4.05Intercept of the logistic relation
Integerseed3Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Herkel2008WindowsCompletelyOpen "A model to predict occupants' window behavior with outdoor temperature for completely-open large windows" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.08 "Slope of the logistic relation"; parameter Real B = -4.05 "Intercept of the logistic relation"; parameter Integer seed = 3 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Herkel2008WindowsCompletelyOpen;

Buildings.Occupants.Office.Windows.Herkel2008WindowsSmall Buildings.Occupants.Office.Windows.Herkel2008WindowsSmall

A model to predict occupants' window behavior with outdoor temperature for small windows

Buildings.Occupants.Office.Windows.Herkel2008WindowsSmall

Information

Model predicting the state of the small window with the outdoor air temperature and occupancy. The definition of small windows was not clearly presented in the original paper.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Herkel, S., Knapp, U. and Pfafferott, J., 2008. Towards a model of user behaviour regarding the manual control of windows in office buildings. Building and environment, 43(4), pp.588-600."

The model parameters are regressed from the field study in 21 individual offices within the Fraunhofer Institute’s building in Freiburg, Germany, from July 2002 to July 2003. The outdoor air temperature during the study is majorly in the range of -5 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.16Slope of the logistic relation
RealB-2.99Intercept of the logistic relation
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Herkel2008WindowsSmall "A model to predict occupants' window behavior with outdoor temperature for small windows" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.16 "Slope of the logistic relation"; parameter Real B = -2.99 "Intercept of the logistic relation"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Herkel2008WindowsSmall;

Buildings.Occupants.Office.Windows.Herkel2008WindowsTiltedOpen Buildings.Occupants.Office.Windows.Herkel2008WindowsTiltedOpen

A model to predict occupants' window behavior with outdoor temperature for tilted-open large windows

Buildings.Occupants.Office.Windows.Herkel2008WindowsTiltedOpen

Information

Model predicting the state of the small window with the outdoor air temperature and occupancy. The definition of large windows was not clearly presented in the original paper.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Herkel, S., Knapp, U. and Pfafferott, J., 2008. Towards a model of user behaviour regarding the manual control of windows in office buildings. Building and environment, 43(4), pp.588-600."

The model parameters are regressed from the field study in 21 individual offices within the Fraunhofer Institute’s building in Freiburg, Germany, from July 2002 to July 2003. The outdoor air temperature during the study is majorly in the range of -5 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.08Slope of the logistic relation
RealB-3.13Intercept of the logistic relation
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Herkel2008WindowsTiltedOpen "A model to predict occupants' window behavior with outdoor temperature for tilted-open large windows" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.08 "Slope of the logistic relation"; parameter Real B = -3.13 "Intercept of the logistic relation"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Herkel2008WindowsTiltedOpen;

Buildings.Occupants.Office.Windows.Rijal2007WindowsTInTOutTComf Buildings.Occupants.Office.Windows.Rijal2007WindowsTInTOutTComf

A model to predict occupants' window behavior with indoor, outdoor and comfort temperature

Buildings.Occupants.Office.Windows.Rijal2007WindowsTInTOutTComf

Information

Model predicting the state of the window with the indoor, outdoor and comfort temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the window state is determined by the indoor, outdoor and comfort temperature.

When the indoor temperature is within the comfort temperature plus and minus 2 degC, the window state will not be changed.

When the indoor temperature is above the comfort temperature plus 2 degC, if the window is open, it would be kept open; if the window is closed, it might be opened, the probability to open the window is determined by the indoor and outdoor temperature.

When the indoor temperature is below the comfort temperature minus 2 degC, if the window is closed, it would be kept closed; if the window is open, it might be closed, the probability to close the window is determined by the indoor and outdoor temperature.

References

The model is documented in the paper "Rijal, H.B., Tuohy, P., Humphreys, M.A., Nicol, J.F., Samuel, A. and Clarke, J., 2007. Using results from field surveys to predict the effect of open windows on thermal comfort and energy use in buildings. Energy and buildings, 39(7), pp.823-836."

The model parameters are regressed from the field study conducted in 15 office buildings in UK between March 1996 and September 1997. Nine of the buildings were in the Oxford area in the central south of England (seven naturally ventilated (NV) and two air conditioned (AC)). Six of the buildings were in Aberdeen on the north-east coast of Scotland (three NV and three AC).

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealAIn0.171Slope of the indoor temperature in the logistic relation
RealAOut0.166Slope of the outdoor temperature in the logistic relation
RealB-6.4Intercept of the logistic relation
Integerseed3Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTInIndoor air temperature [K]
input RealInputTOutOutdoor air temperature [K]
input RealInputTComfComfort temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Rijal2007WindowsTInTOutTComf "A model to predict occupants' window behavior with indoor, outdoor and comfort temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real AIn = 0.171 "Slope of the indoor temperature in the logistic relation"; parameter Real AOut = 0.166 "Slope of the outdoor temperature in the logistic relation"; parameter Real B = -6.4 "Intercept of the logistic relation"; parameter Integer seed = 3 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TIn( final unit="K", displayUnit="degC") "Indoor air temperature"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.RealInput TComf( final unit="K", displayUnit="degC") "Comfort temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(AIn*(TIn - 273.15)+AOut*(TOut - 273.15)+B)/(Modelica.Math.exp(AIn*(TIn - 273.15)+AOut*(TOut - 273.15)+B) + 1); on = false; equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then if TIn > TComf+2 then if not pre(on) then p = Modelica.Math.exp(AIn*(TIn - 273.15)+AOut*(TOut - 273.15)+B)/(Modelica.Math.exp(AIn*(TIn - 273.15)+AOut*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = -0.3; on = true; end if; elseif TIn < TComf-2 then if pre(on) then p = Modelica.Math.exp(AIn*(TIn - 273.15)+AOut*(TOut - 273.15)+B)/(Modelica.Math.exp(AIn*(TIn - 273.15)+AOut*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = -0.5; on = false; end if; else p = -0.1; on = pre(on); end if; else p = 0; on = false; end if; end when; end Rijal2007WindowsTInTOutTComf;

Buildings.Occupants.Office.Windows.Yun2008WindowsTIn Buildings.Occupants.Office.Windows.Yun2008WindowsTIn

A model to predict occupants' window behavior with indoor temperature

Buildings.Occupants.Office.Windows.Yun2008WindowsTIn

Information

Model predicting the state of the window with the indoor air temperature and occupancy through Markov approach.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the Probability of closing or opening the window depends on the indoor air temperature.

References

The model is documented in the paper "Yun, G.Y. and Steemers, K., 2008. Time-dependent occupant behaviour models of window control in summer. Building and Environment, 43(9), pp.1471-1482."

The model parameters are regressed from the field study in offices without night ventilation, located in Cambridge, UK in summer time (13 Jun. to 15 Sep., 2006).

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealAOpen0.030Slope of the logistic relation for opening the window
RealBOpen-0.629Intercept of the logistic relation for opening the window
RealAClose-0.007Slope of the logistic relation for closing the window
RealBClose-0.209Intercept of the logistic relation for closing the window
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTInIndoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Yun2008WindowsTIn "A model to predict occupants' window behavior with indoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real AOpen = 0.030 "Slope of the logistic relation for opening the window"; parameter Real BOpen = -0.629 "Intercept of the logistic relation for opening the window"; parameter Real AClose = -0.007 "Slope of the logistic relation for closing the window"; parameter Real BClose = -0.209 "Intercept of the logistic relation for closing the window"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TIn( final unit="K", displayUnit="degC") "Indoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real pOpen( unit="1", min=0, max=1) "Probability of opening the window"; Real pClose( unit="1", min=0, max=1) "Probability of closing the window"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; on = false; pOpen = Modelica.Math.exp(AOpen*(TIn - 273.15)+BOpen)/(Modelica.Math.exp(AOpen*(TIn - 273.15)+BOpen) + 1); pClose = Modelica.Math.exp(AClose*(TIn - 273.15)+BClose)/(Modelica.Math.exp(AClose*(TIn - 273.15)+BClose) + 1); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then pOpen = Modelica.Math.exp(AOpen*(TIn - 273.15)+BOpen)/(Modelica.Math.exp(AOpen*(TIn - 273.15)+BOpen) + 1); pClose = Modelica.Math.exp(AClose*(TIn - 273.15)+BClose)/(Modelica.Math.exp(AClose*(TIn - 273.15)+BClose) + 1); if pre(on) == true and TIn < 303.15 then on = not Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pClose, globalSeed=integer(curSeed)); elseif pre(on) == false and TIn > 293.15 then on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pOpen, globalSeed=integer(curSeed)); else on = pre(on); end if; else pOpen = 0; pClose = 0; on = false; end if; end when; end Yun2008WindowsTIn;

Buildings.Occupants.Office.Windows.Yun2008WindowsTOut Buildings.Occupants.Office.Windows.Yun2008WindowsTOut

A model to predict occupants' window behavior with outdoor temperature

Buildings.Occupants.Office.Windows.Yun2008WindowsTOut

Information

Model predicting the state of the window with the outdoor air temperature and occupancy through Markov approach.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the Probability of closing or opening the window depends on the outdoor air temperature.

References

The model is documented in the paper "Yun, G.Y. and Steemers, K., 2008. Time-dependent occupant behaviour models of window control in summer. Building and Environment, 43(9), pp.1471-1482."

The model parameters are regressed from the field study in offices without night ventilation, located in Cambridge, UK in summer time (13 Jun. to 15 Sep., 2006).

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealAOpen0.009Slope of the logistic relation for opening the window
RealBOpen-0.115Intercept of the logistic relation for opening the window
RealAClose0Slope of the logistic relation for closing the window
RealBClose-0.040Intercept of the logistic relation for closing the window
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Yun2008WindowsTOut "A model to predict occupants' window behavior with outdoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real AOpen = 0.009 "Slope of the logistic relation for opening the window"; parameter Real BOpen = -0.115 "Intercept of the logistic relation for opening the window"; parameter Real AClose = 0 "Slope of the logistic relation for closing the window"; parameter Real BClose = -0.040 "Intercept of the logistic relation for closing the window"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real pOpen( unit="1", min=0, max=1) "Probability of opening the window"; Real pClose( unit="1", min=0, max=1) "Probability of closing the window"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; on = false; pOpen = Modelica.Math.exp(AOpen*(TOut - 273.15)+BOpen)/(Modelica.Math.exp(AOpen*(TOut - 273.15)+BOpen) + 1); pClose = Modelica.Math.exp(AClose*(TOut - 273.15)+BClose)/(Modelica.Math.exp(AClose*(TOut - 273.15)+BClose) + 1); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then pOpen = Modelica.Math.exp(AOpen*(TOut - 273.15)+BOpen)/(Modelica.Math.exp(AOpen*(TOut - 273.15)+BOpen) + 1); pClose = Modelica.Math.exp(AClose*(TOut - 273.15)+BClose)/(Modelica.Math.exp(AClose*(TOut - 273.15)+BClose) + 1); if pre(on) then on = not Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pClose, globalSeed=integer(curSeed)); elseif pre(on) == false and TOut > 288.15 then on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pOpen, globalSeed=integer(curSeed)); else on = pre(on); end if; else pOpen = 0; pClose = 0; on = false; end if; end when; end Yun2008WindowsTOut;

Buildings.Occupants.Office.Windows.Zhang2012WindowsAll Buildings.Occupants.Office.Windows.Zhang2012WindowsAll

A model to predict occupants' window behavior with outdoor temperature

Buildings.Occupants.Office.Windows.Zhang2012WindowsAll

Information

Model predicting the state of the window with the outdoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Zhang, Y. and Barrett, P., 2012. Factors influencing the occupants’ window opening behaviour in a naturally ventilated office building. Building and Environment, 50, pp.125-134."

The model parameters are regressed from the field study in a naturally ventilated office building in Sheffield, UK in 2005/2006. The outdoor air temperature range during the study is 0 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.10Slope of the logistic relation
RealB-4.01Intercept of the logistic relation
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of window, true for open

Modelica definition

model Zhang2012WindowsAll "A model to predict occupants' window behavior with outdoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.10 "Slope of the logistic relation"; parameter Real B = -4.01 "Intercept of the logistic relation"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Zhang2012WindowsAll;

Buildings.Occupants.Office.Windows.Zhang2012WindowsEast Buildings.Occupants.Office.Windows.Zhang2012WindowsEast

A model to predict occupants' window behavior with outdoor temperature for East-oriented Windows

Buildings.Occupants.Office.Windows.Zhang2012WindowsEast

Information

Model predicting the state of the East-oriented windows with the outdoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Zhang, Y. and Barrett, P., 2012. Factors influencing the occupants’ window opening behaviour in a naturally ventilated office building. Building and Environment, 50, pp.125-134."

The model parameters are regressed from the field study in a naturally ventilated office building in Sheffield, UK in 2005/2006. The outdoor air temperature range during the study is 0 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.09Slope of the logistic relation
RealB-3.72Intercept of the logistic relation
Integerseed50Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of East-oriented window, true for open

Modelica definition

model Zhang2012WindowsEast "A model to predict occupants' window behavior with outdoor temperature for East-oriented Windows" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.09 "Slope of the logistic relation"; parameter Real B = -3.72 "Intercept of the logistic relation"; parameter Integer seed = 50 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of East-oriented window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Zhang2012WindowsEast;

Buildings.Occupants.Office.Windows.Zhang2012WindowsNorth Buildings.Occupants.Office.Windows.Zhang2012WindowsNorth

A model to predict occupants' window behavior with outdoor temperature for North-oriented windows

Buildings.Occupants.Office.Windows.Zhang2012WindowsNorth

Information

Model predicting the state of the North-oriented window with the outdoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Zhang, Y. and Barrett, P., 2012. Factors influencing the occupants’ window opening behaviour in a naturally ventilated office building. Building and Environment, 50, pp.125-134."

The model parameters are regressed from the field study in a naturally ventilated office building in Sheffield, UK in 2005/2006. The outdoor air temperature range during the study is 0 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.12Slope of the logistic relation
RealB-4.38Intercept of the logistic relation
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of North-oriented window, true for open

Modelica definition

model Zhang2012WindowsNorth "A model to predict occupants' window behavior with outdoor temperature for North-oriented windows" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.12 "Slope of the logistic relation"; parameter Real B = -4.38 "Intercept of the logistic relation"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of North-oriented window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Zhang2012WindowsNorth;

Buildings.Occupants.Office.Windows.Zhang2012WindowsSouth Buildings.Occupants.Office.Windows.Zhang2012WindowsSouth

A model to predict occupants' window behavior with outdoor temperature for South-oriented windows

Buildings.Occupants.Office.Windows.Zhang2012WindowsSouth

Information

Model predicting the state of the South-oriented window with the outdoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Zhang, Y. and Barrett, P., 2012. Factors influencing the occupants’ window opening behaviour in a naturally ventilated office building. Building and Environment, 50, pp.125-134."

The model parameters are regressed from the field study in a naturally ventilated office building in Sheffield, UK in 2005/2006. The outdoor air temperature range during the study is 0 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.10Slope of the logistic relation
RealB-3.64Intercept of the logistic relation
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of South-oriented window, true for open

Modelica definition

model Zhang2012WindowsSouth "A model to predict occupants' window behavior with outdoor temperature for South-oriented windows" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.10 "Slope of the logistic relation"; parameter Real B = -3.64 "Intercept of the logistic relation"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of South-oriented window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Zhang2012WindowsSouth;

Buildings.Occupants.Office.Windows.Zhang2012WindowsWest Buildings.Occupants.Office.Windows.Zhang2012WindowsWest

A model to predict occupants' window behavior with outdoor temperature for West-oriented windows

Buildings.Occupants.Office.Windows.Zhang2012WindowsWest

Information

Model predicting the state of the West-oriented window with the outdoor air temperature and occupancy.

Dynamics

When the space is unoccupied, the window is always closed. When the space is occupied, the lower the outdoor temperature is, the lower the chance to open the window.

References

The model is documented in the paper "Zhang, Y. and Barrett, P., 2012. Factors influencing the occupants’ window opening behaviour in a naturally ventilated office building. Building and Environment, 50, pp.125-134."

The model parameters are regressed from the field study in a naturally ventilated office building in Sheffield, UK in 2005/2006. The outdoor air temperature range during the study is 0 ~ 30 degC.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
RealA0.12Slope of the logistic relation
RealB-4.77Intercept of the logistic relation
Integerseed50Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputTOutOutdoor air temperature [K]
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of West-oriented window, true for open

Modelica definition

model Zhang2012WindowsWest "A model to predict occupants' window behavior with outdoor temperature for West-oriented windows" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A = 0.12 "Slope of the logistic relation"; parameter Real B = -4.77 "Intercept of the logistic relation"; parameter Integer seed = 50 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput TOut( final unit="K", displayUnit="degC") "Outdoor air temperature"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of West-oriented window, true for open"; Real p( unit="1", min=0, max=1) "Probability of window opened"; protected parameter Modelica.SIunits.Time t0(final fixed = false) "First sample time instant"; output Boolean sampleTrigger "True, if sample time instant"; Real curSeed "Current value for seed as a real-valued variable"; initial equation t0 = time; curSeed = t0*seed; p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); equation sampleTrigger = sample(t0,samplePeriod); when sampleTrigger then curSeed = seed*time; if occ then p = Modelica.Math.exp(A*(TOut - 273.15)+B)/(Modelica.Math.exp(A*(TOut - 273.15)+B) + 1); on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); else p = 0; on = false; end if; end when; end Zhang2012WindowsWest;