Buildings.Occupants.Office.Lighting

Package with models to simulate lighting behaviors in office buildings

Information

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

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

Package Content

Name Description
Buildings.Occupants.Office.Lighting.Gunay2016Light Gunay2016Light A model to predict occupants' lighting behavior with illuminance
Buildings.Occupants.Office.Lighting.Hunt1979Light Hunt1979Light A model to predict occupants' lighting behavior with illuminance
Buildings.Occupants.Office.Lighting.Love1998Light1 Love1998Light1 A model to predict occupants' lighting behavior with illuminance
Buildings.Occupants.Office.Lighting.Love1998Light2 Love1998Light2 A model to predict occupants' lighting behavior with illuminance
Buildings.Occupants.Office.Lighting.Reinhart2003Light Reinhart2003Light A model to predict occupants' lighting behavior with illuminance
Buildings.Occupants.Office.Lighting.Validation Validation Package with examples to validate models in Lighting package

Buildings.Occupants.Office.Lighting.Gunay2016Light Buildings.Occupants.Office.Lighting.Gunay2016Light

A model to predict occupants' lighting behavior with illuminance

Buildings.Occupants.Office.Lighting.Gunay2016Light

Information

Model predicting the state of the lighting with the illuminance on the working plane and occupancy.

Dynamics

When the space is unoccupied, the light is always off. When the space is occupied, the probability to switch on the light depends on the illuminance level on the working plane. The lower the illuminance level, the higher the chance to switch on the lighting.

The probability to switch on the lighting is different when subjects just arrived and when subjects have stayed indoor for a while. The probability to switch lights is higher when subjects just arrived. Accordingly, two different probability functions have been applied.

The switch-off probability is found to be very low in this research, which may be because occupants failed to notice the lighting is on when the indoor daylight illuminance levels were high. Therefore, in this model, the lighting would be switched off only when the space is unoccupied.

References

The model is documented in the paper "Gunay, H.B., O'Brien, W. and Beausoleil-Morrison, I., 2016. Implementation and comparison of existing occupant behaviour models in EnergyPlus. Journal of Building Performance Simulation, 9(6), pp.567-588."

The model parameters are utilized as inputs for the lighting behavior models developped by Gunay et al.

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

Parameters

TypeNameDefaultDescription
RealAArriv-0.009Slope of logistic regression arrival
RealBArriv1.6Intercept of logistic regression arrival
RealAInter-0.002Slope of logistic regression intermediate
RealBInter-3.9Intercept of logistic regression intermediate
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputillIlluminance on the working planein units of lux
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of lighting

Modelica definition

model Gunay2016Light "A model to predict occupants' lighting behavior with illuminance" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real AArriv = -0.009 "Slope of logistic regression arrival"; parameter Real BArriv = 1.6 "Intercept of logistic regression arrival"; parameter Real AInter = -0.002 "Slope of logistic regression intermediate"; parameter Real BInter = -3.9 "Intercept of logistic regression intermediate"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput ill "Illuminance on the working planein units of lux"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of lighting"; Real pArriv( final unit="1", final min=0, final max=1) "Probability of switch on the lighting upon arrival"; Real pInter( final unit="1", final min=0, final max=1) "Intermediate robability of switch on the lighting"; 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; equation pArriv = Modelica.Math.exp(AArriv*ill + BArriv)/(1+Modelica.Math.exp(AArriv*ill + BArriv)); pInter = Modelica.Math.exp(AInter*ill + BInter)/(1+Modelica.Math.exp(AInter*ill + BInter)); sampleTrigger = sample(t0,samplePeriod); when {occ, sampleTrigger} then curSeed = seed*time; if sampleTrigger then if occ then if not pre(on) then on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pInter, globalSeed=integer(curSeed)); else on = true; end if; else on = false; end if; else on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pArriv, globalSeed=integer(curSeed)); end if; end when; end Gunay2016Light;

Buildings.Occupants.Office.Lighting.Hunt1979Light Buildings.Occupants.Office.Lighting.Hunt1979Light

A model to predict occupants' lighting behavior with illuminance

Buildings.Occupants.Office.Lighting.Hunt1979Light

Information

Model predicting the state of the lighting with the minimum illuminance on the working plane and occupancy.

Dynamics

In this model, it was found people tend to switch on the lights-if needed- only at times when entering a space, and they rarely switch off the lights until the space becomes completely empty.

The probability to switch on the lights upon arrival would depend on the minimum illuminance level on their working plane.

References

The model is documented in the paper "Hunt, D.R.G., 1980. Predicting artificial lighting use-a method based upon observed patterns of behaviour. Lighting Research & Technology, 12(1), pp.7-14."

The model parameters are regressed from the field study in 10 offices in Germany from Mar. to Dec. 2000.

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

Parameters

TypeNameDefaultDescription
RealAArriv-0.0175Upon arrival
RealBArriv-4.0835Upon arrival
RealCArriv1.0361Upon arrival
RealMArriv1.8223Upon arrival
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputillIlluminance on the working planein units of lux
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of lighting

Modelica definition

model Hunt1979Light "A model to predict occupants' lighting behavior with illuminance" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real AArriv = -0.0175 "Upon arrival"; parameter Real BArriv = -4.0835 "Upon arrival"; parameter Real CArriv = 1.0361 "Upon arrival"; parameter Real MArriv = 1.8223 "Upon arrival"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput ill "Illuminance on the working planein units of lux"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of lighting"; Real pArriv( unit="1", min=0, max=1) "Probability of switch on the lighting upon arrival"; 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; equation if ill > 657.7 then pArriv =0; elseif ill < 7.0 then pArriv =1; else pArriv =AArriv + CArriv/(1 + Modelica.Math.exp(-BArriv*( Modelica.Math.log10(ill) - MArriv))); end if; sampleTrigger = sample(t0, samplePeriod); when {occ, sampleTrigger} then curSeed = seed*time; if sampleTrigger then if occ then on = pre(on); else on = false; end if; else on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(pArriv, globalSeed=integer(curSeed)); end if; end when; end Hunt1979Light;

Buildings.Occupants.Office.Lighting.Love1998Light1 Buildings.Occupants.Office.Lighting.Love1998Light1

A model to predict occupants' lighting behavior with illuminance

Buildings.Occupants.Office.Lighting.Love1998Light1

Information

Model predicting the state of the lighting with the daylight illuminance level on the desk and occupancy.

Dynamics

In this model, the switching on action only happens upon arrival.

The probability to switch on the lights upon arrival would depend on the daylight illuminance level on the desk.

References

The model is documented in the paper "Love, J.A., 1998. Manual switching patterns in private offices. International journal of lighting research and technology, 30(1), pp.45-50."

The model parameters are regressed from observing the behavior of a 30 years old female without spectacles, who was located in a private office in Calgary, Canada.

The parameters recorded in the paper seem to be problematic and unable to reproduce the probability function illustrated in the paper.

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

Parameters

TypeNameDefaultDescription
RealB5.85Intercept for logistic regression
RealM-11.9Slope for logistic regression
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputillDaylight illuminance level on the deskin units of lux
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of lighting

Modelica definition

model Love1998Light1 "A model to predict occupants' lighting behavior with illuminance" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real B = 5.85 "Intercept for logistic regression"; parameter Real M = -11.9 "Slope for logistic regression"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput ill "Daylight illuminance level on the deskin units of lux"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of lighting"; Real p( final unit="1", final min=0, final max=1) "Probability of switch on the lighting"; 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; equation p = Modelica.Math.exp(B+M*Modelica.Math.log10(ill))/(1 - Modelica.Math.exp(B+M*Modelica.Math.log10(ill)))*100; sampleTrigger = sample(t0, samplePeriod); when {occ, sampleTrigger} then curSeed = seed*time; if sampleTrigger then if occ then on = pre(on); else on = false; end if; else on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=p, globalSeed=integer(curSeed)); end if; end when; end Love1998Light1;

Buildings.Occupants.Office.Lighting.Love1998Light2 Buildings.Occupants.Office.Lighting.Love1998Light2

A model to predict occupants' lighting behavior with illuminance

Buildings.Occupants.Office.Lighting.Love1998Light2

Information

Model predicting the state of the lighting with the daylight illuminance level on the desk and occupancy.

Dynamics

In this model, the switching on action only happens upon arrival.

The probability to switch on the lights upon arrival would depend on the daylight illuminance level on the desk.

References

The model is documented in the paper "Love, J.A., 1998. Manual switching patterns in private offices. International journal of lighting research and technology, 30(1), pp.45-50."

The model parameters are regressed from observing the behavior of a 50 years old female with spectacles, who was located in a private office in Calgary, Canada.

The parameters recorded in the paper seem to be problematic and unable to reproduce the probability function illustrated in the paper.

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

Parameters

TypeNameDefaultDescription
RealB7.19Intercept for logistic regression
RealM-17.06Slope for logistic regression
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputillDaylight illuminance level on the deskin units of lux
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of lighting

Modelica definition

model Love1998Light2 "A model to predict occupants' lighting behavior with illuminance" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real B = 7.19 "Intercept for logistic regression"; parameter Real M = -17.06 "Slope for logistic regression"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput ill "Daylight illuminance level on the deskin units of lux"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of lighting"; Real p( final unit="1", final min=0, final max=1) "Probability of switch on the lighting"; 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; equation p = Modelica.Math.exp(B+M*Modelica.Math.log10(ill)) /(1 - Modelica.Math.exp(B+M*Modelica.Math.log10(ill)))*100; sampleTrigger = sample(t0, samplePeriod); when {occ, sampleTrigger} then curSeed = seed*time; if sampleTrigger then if occ then on = pre(on); else on = false; end if; else on = Buildings.Occupants.BaseClasses.binaryVariableGeneration( p=p, globalSeed=integer(curSeed)); end if; end when; end Love1998Light2;

Buildings.Occupants.Office.Lighting.Reinhart2003Light Buildings.Occupants.Office.Lighting.Reinhart2003Light

A model to predict occupants' lighting behavior with illuminance

Buildings.Occupants.Office.Lighting.Reinhart2003Light

Information

Model predicting the state of the lighting with the illuminance on the working plane and occupancy.

Dynamics

When the space is unoccupied, the light is always off. When the space is occupied, the probability to switch on the light depends on the illuminance level on the working plane. The lower the illuminance level, the higher the chance to switch on the lighting.

The probability to switch on the lighting is different when subjects just arrived and when subjects have stayed indoor for a while. The probability to switch lights is higher when subjects just arrived. Accordingly, two different probability functions have been applied.

The switch-off probability is found to be very low in this research, which may be because occupants failed to notice the lighting is on when the indoor daylight illuminance levels were high. Therefore, in this model, the lighting would be switched off only when the space is unoccupied.

References

The model is documented in the paper "Reinhart, C.F. and Voss, K., 2003. Monitoring manual control of electric lighting and blinds. Lighting research & technology, 35(3), pp.243-258."

The model parameters are regressed from the field study in 10 offices in Germany from Mar. to Dec. 2000.

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

Parameters

TypeNameDefaultDescription
RealAArriv-0.00238Upon arrival
RealBArriv-3.0965Upon arrival
RealCArriv1.0157Upon arrival
RealMArriv1.8536Upon arrival
RealAInter0.0027intermediate
RealBInter-64.19intermediate
RealCInter0.017intermediate
RealMInter2.41intermediate
Integerseed30Seed for the random number generator
TimesamplePeriod120Sample period [s]

Connectors

TypeNameDescription
input RealInputillIlluminance on the working planein units of lux
input BooleanInputoccIndoor occupancy, true for occupied
output BooleanOutputonState of lighting

Modelica definition

model Reinhart2003Light "A model to predict occupants' lighting behavior with illuminance" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Real AArriv = -0.00238 "Upon arrival"; parameter Real BArriv = -3.0965 "Upon arrival"; parameter Real CArriv = 1.0157 "Upon arrival"; parameter Real MArriv = 1.8536 "Upon arrival"; parameter Real AInter = 0.0027 "intermediate"; parameter Real BInter = -64.19 "intermediate"; parameter Real CInter = 0.017 "intermediate"; parameter Real MInter = 2.41 "intermediate"; parameter Integer seed = 30 "Seed for the random number generator"; parameter Modelica.SIunits.Time samplePeriod = 120 "Sample period"; Modelica.Blocks.Interfaces.RealInput ill "Illuminance on the working planein units of lux"; Modelica.Blocks.Interfaces.BooleanInput occ "Indoor occupancy, true for occupied"; Modelica.Blocks.Interfaces.BooleanOutput on "State of lighting"; Real pArriv( final unit="1", final min=0, final max=1) "Probability of switch on the lighting upon arrival"; Real pInter( final unit="1", final min=0, final max=1) "Intermediate robability of switch on the lighting"; 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; equation pArriv = AArriv + CArriv/(1+Modelica.Math.exp(-BArriv*(Modelica.Math.log10(ill)-MArriv))); pInter = AInter + CInter/(1+Modelica.Math.exp(-BInter*(Modelica.Math.log10(ill)-MInter))); sampleTrigger = sample(t0,samplePeriod); when {occ, sampleTrigger} then curSeed = seed*time; if sampleTrigger then if occ then if not pre(on) then on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pInter, globalSeed=integer(curSeed)); else on = true; end if; else on = false; end if; else on = Buildings.Occupants.BaseClasses.binaryVariableGeneration(p=pArriv, globalSeed=integer(curSeed)); end if; end when; end Reinhart2003Light;