Buildings.Occupants.Residential.Heating

Package with models to simulate heating behaviors in resident buildings

Information

This package contains models to simulate heating behaviors in residential buildings.

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

Package Content

Name Description
Buildings.Occupants.Residential.Heating.Nicol2001HeatingEU Nicol2001HeatingEU A model to predict occupants' heating behavior with outdoor temperature
Buildings.Occupants.Residential.Heating.Nicol2001HeatingPakistan Nicol2001HeatingPakistan A model to predict occupants' heating behavior with outdoor temperature
Buildings.Occupants.Residential.Heating.Nicol2001HeatingUK Nicol2001HeatingUK A model to predict occupants' heating behavior with outdoor temperature
Buildings.Occupants.Residential.Heating.Validation Validation Package with examples to validate models in Heating package

Buildings.Occupants.Residential.Heating.Nicol2001HeatingEU Buildings.Occupants.Residential.Heating.Nicol2001HeatingEU

A model to predict occupants' heating behavior with outdoor temperature

Buildings.Occupants.Residential.Heating.Nicol2001HeatingEU

Information

Model predicting the state of the heater with the outdoor temperature and occupancy.

Dynamics

When the space is unoccupied, the heater is always off. When the space is occupied, the lower the outdoor temperature is, the higher the chance to turn on the heater.

References

The model is documented in the paper "Nichol, J., 2001. Characterizing occupant behavior in buildings: towards a stochastic model of occupant use of windows, lights, blinds heaters and fans. In Proceedings of building simulation 01, an IBPSA Conference."

The model parameters are regressed from the field study in the EU in 1999.

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

Parameters

TypeNameDefaultDescription
RealA-0.32Slope of the logistic relation [1/K]
RealB2.72Intercept of the logistic relation [1]
Integerseed10Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

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

Modelica definition

model Nicol2001HeatingEU "A model to predict occupants' heating behavior with outdoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A(final unit="1/K") = -0.32 "Slope of the logistic relation"; parameter Real B(final unit="1") = 2.72 "Intercept of the logistic relation"; parameter Integer seed = 10 "Seed for the random number generator"; parameter Modelica.Units.SI.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 heater"; Real p( final unit="1", final min=0, final max=1) "Probability of heating being on"; protected parameter Modelica.Units.SI.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 Nicol2001HeatingEU;

Buildings.Occupants.Residential.Heating.Nicol2001HeatingPakistan Buildings.Occupants.Residential.Heating.Nicol2001HeatingPakistan

A model to predict occupants' heating behavior with outdoor temperature

Buildings.Occupants.Residential.Heating.Nicol2001HeatingPakistan

Information

Model predicting the state of the heater with the outdoor temperature and occupancy.

Dynamics

When the space is unoccupied, the heater is always off. When the space is occupied, the lower the outdoor temperature is, the higher the chance to turn on the heater.

References

The model is documented in the paper "Nichol, J., 2001. Characterizing occupant behavior in buildings: towards a stochastic model of occupant use of windows, lights, blinds heaters and fans. In Proceedings of building simulation 01, an IBPSA Conference."

The model parameters are regressed from the field study in Pakistan in 1999.

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

Parameters

TypeNameDefaultDescription
RealA-0.345Slope of the logistic relation [1/K]
RealB2.73Intercept of the logistic relation [1]
Integerseed10Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

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

Modelica definition

model Nicol2001HeatingPakistan "A model to predict occupants' heating behavior with outdoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A(final unit="1/K") = -0.345 "Slope of the logistic relation"; parameter Real B(final unit="1") = 2.73 "Intercept of the logistic relation"; parameter Integer seed = 10 "Seed for the random number generator"; parameter Modelica.Units.SI.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 heater"; Real p( final unit="1", final min=0, final max=1) "Probability of heating being on"; protected parameter Modelica.Units.SI.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 Nicol2001HeatingPakistan;

Buildings.Occupants.Residential.Heating.Nicol2001HeatingUK Buildings.Occupants.Residential.Heating.Nicol2001HeatingUK

A model to predict occupants' heating behavior with outdoor temperature

Buildings.Occupants.Residential.Heating.Nicol2001HeatingUK

Information

Model predicting the state of the heater with the outdoor temperature and occupancy.

Dynamics

When the space is unoccupied, the heater is always off. When the space is occupied, the lower the outdoor temperature is, the higher the chance to turn on the heater.

References

The model is documented in the paper "Nichol, J., 2001. Characterizing occupant behavior in buildings: towards a stochastic model of occupant use of windows, lights, blinds heaters and fans. In Proceedings of building simulation 01, an IBPSA Conference."

The model parameters are regressed from the field study in the UK in 1998 from 3600 naturally ventilated buildings.

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

Parameters

TypeNameDefaultDescription
RealA-0.514Slope of the logistic relation [1/K]
RealB5.28Intercept of the logistic relation [1]
Integerseed10Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

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

Modelica definition

model Nicol2001HeatingUK "A model to predict occupants' heating behavior with outdoor temperature" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real A(final unit="1/K") = -0.514 "Slope of the logistic relation"; parameter Real B(final unit="1") = 5.28 "Intercept of the logistic relation"; parameter Integer seed = 10 "Seed for the random number generator"; parameter Modelica.Units.SI.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 heater"; Real p( final unit="1", final min=0, final max=1) "Probability of heating being on"; protected parameter Modelica.Units.SI.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 Nicol2001HeatingUK;