Grasshopper

algorithmic modeling for Rhino

0 | Ladybug
1 | AnalyzeWeatherData
2 | VisualizeWeatherData
3 | EnvironmentalAnalysis
4 | Renewables
5 | Extra
6 | Developers
7 | WIP

Adaptive Comfort Chart

Component Index > Ladybug > 2 | VisualizeWeatherData > Adaptive Comfort Chart

Use this component to calculate the adaptive comfort for a given set of input conditions.
This component will output a stream of 0's and 1's indicating whether certain conditions are comfortable given the prevailing mean monthly temperature that ocuppants tend to adapt themselves to.
This component will also output a series of interger numbers that indicate the following: -1 = The average monthly temperature is too extreme for the adaptive model. 0 = The input conditions are too cold for occupants. 1 = The input conditions are comfortable for occupants. 2 = The input conditions are too hot for occupants.
Lastly, this component outputs the percent of time comfortable, hot, cold and monthly extreme as well as a lit of numbers indicating the upper temperature of comfort and lower temperature of comfort.
The adaptive comfort model was created in response to the shortcomings of the PMV model that became apparent when it was applied to buildings without air conditioning. Namely, the PMV model was over-estimating the discomfort of occupants in warm conditions of nautrally ventilated buildings.
Accordingly, the adaptive comfort model was built on the work of hundreds of field studies in which people in naturally ventilated buildings were asked asked about how comfortable they were.
Results showed that users tended to adapt themselves to the monthly mean temperature and would be comfortable in buildings so long as the building temperature remained around a value close to that monthly mean. This situation held true so long as the monthly mean temperature remained above 10 C and below 33.5 C.
The comfort models that make this component possible were translated to python from a series of validated javascript comfort models coded at the Berkely Center for the Built Environment (CBE). The Adaptive model used by both the CBE Tool and this component was originally published in ASHARAE 55.
Special thanks goes to the authors of the online CBE Thermal Comfort Tool who first coded the javascript: Hoyt Tyler, Schiavon Stefano, Piccioli Alberto, Moon Dustin, and Steinfeld Kyle. http://cbe.berkeley.edu/comforttool/

Inputs

NameIDDescriptionType
_dryBulbTemperature_dryBulbTemperatureA number representing the dry bulb temperature of the air in degrees Celcius. This input can also accept a list of temperatures representing conditions at different times or the direct output of dryBulbTemperature from the 'Read EP Result' or 'Import EPW' component.Goo
meanRadiantTemperature_meanRadiantTemperature_A number representing the mean radiant temperature of the surrounding surfaces in degrees Celcius. If no value is plugged in here, this component will assume that the mean radiant temperature is equal to air temperature value above. This input can also accept a list of temperatures representing conditions at different times or the direct output from the 'Read EP Result' or 'Import EPW' component.Goo
_prevailingOutdoorTemp_prevailingOutdoorTempA number representing the prevailing outdoor temperature in degrees Celcius. For the ASHRAE standard, this is the average monthly outdoor temperature and, for the European standard, this is a running mean outdoor temperature calculated from the conditions of the last week. For this reason, this input can also accept the direct output of dryBulbTemperature from the 'Import EPW' component if houlry values for the full year are connected for the other inputs of this component. This input from the 'Import EPW' component is recommended.Goo
windSpeed_windSpeed_A number representing the wind speed of the air in meters per second. If no value is plugged in here, this component will assume a low wind speed of < 0.2 m/s, characteristic of most naturally ventilated buildings without fans. This input can also accept several wind speeds to generate multiple comfort polygons. Lastly, this component can accept the direct output of windSpeed from of the Import EPW component and, from this data, two comfort polygons will be drawn representing the maximum and minumu wind speed.Goo
------------------------------------------------------------...Goo
comfortPar_comfortPar_Optional comfort parameters from the "Ladybug_Adaptive Comfort Parameters" component. Use this to select either the US or European comfort model, set the threshold of acceptibility for comfort or compute prevailing outdoor temperature by a monthly average or running mean. These comfortPar can also be used to set a levelOfConditioning, which makes use of research outside of the official published standards that surveyed people in air conditioned buildings.Goo
includeColdTime_includeColdTime_Set to "True" to have the component include the time period where the outdoor temperature is too cold for the official ASHRAE or European standard and set to "False" to exclude it. When the outdoor temperatue is too cold for these standards, a correlation from recent research is used. The default is set to "True" to include the cold period in the visualization and output.Goo
------------------------------------------------------------Script variable AdaptiveChartGoo
analysisPeriod_analysisPeriod_An optional analysis period from the Analysis Period component. If no Analysis period is given and epw or energy simulation data has been connected, the analysis will be run for the enitre year.Goo
annualHourlyData_annualHourlyData_An optional list of hourly data from the 'Import EPW' component, which will be used to create hourPointColors that correspond to the hours of the data (e.g. windSpeed). You can connect up several different annualHourly data here.Goo
conditionalStatement_conditionalStatement_This input allows users to remove data that does not fit specific conditions or criteria from the adaptive chart. The conditional statement input here should be a valid condition statement in Python, such as "a>25" or "b<80" (without quotation marks). The current version of this component accepts "and" and "or" operators. To visualize the hourly data, only lowercase English letters should be used as variables, and each letter alphabetically corresponds to each of the lists (in their respective order): "a" always represents the 1st list plugged into annualHourlyData_, "b" always represents the 2nd list plugged into annualHourlyData_, "c" always represents the 3rd list plugged into annualHourlyData_, etc. For example, if you want to plot the data for the time period when temperature is between 18C and 23C, and humidity is less than 80%, the conditional statement should be written as “18Goo
basePoint_basePoint_An optional base point that will be used to place the adaptive chart in the Rhino scene. If no base point is provided, the base point will be the Rhino model origin.Goo
scale_scale_An optional number to change the scale of the adaptive chart in the Rhino scene. By default, this value is set to 1.Goo
legendPar_legendPar_Optional legend parameters from the Ladybug Legend Parameters component.Goo
bakeIt_bakeIt_An integer that tells the component if/how to bake the bojects in the Rhino scene. The default is set to 0. Choose from the following options: 0 (or False) - No geometry will be baked into the Rhino scene (this is the default). 1 (or True) - The geometry will be baked into the Rhino scene as a colored hatch and Rhino text objects, which facilitates easy export to PDF or vector-editing programs. 2 - The geometry will be baked into the Rhino scene as colored meshes, which is useful for recording the results of paramteric runs as light Rhino geometry.Goo
_runIt_runItSet to "True" to run the component and generate an Adaptive comfort chart.Goo

Outputs

NameIDDescriptionType
outreadMe!...String
comfPercentOfTimecomfPercentOfTimeThe percent of the input data for which the occupants are comfortable. Comfortable conditions are when the indoor temperature is within the comfort range determined by the prevailing outdoor temperature.Goo
percentHotColdpercentHotColdA list of 2 numerical values indicating the following: 0) The percent of the input data for which the occupants are too hot. 1) The percent of the input data for which the occupants are too cold.Goo
comfortableOrNotcomfortableOrNotA stream of 0's and 1's (or "False" and "True" values) indicating whether occupants are comfortable under the input conditions given the fact that these occupants tend to adapt themselves to the prevailing mean monthly temperature. 0 indicates that a person is not comfortable while 1 indicates that a person is comfortable.Goo
conditionOfPersonconditionOfPersonA stream of interger values from -1 to +1 that correspond to each hour of the input data and indicate the following: -1 = The input conditions are too cold for occupants. 0 = The input conditions are comfortable for occupants. +1 = The input conditions are too hot for occupants.Goo
degreesFromTargetdegreesFromTargetA stream of temperature values in degrees Celcius indicating how far from the target temperature the conditions of the people are. Positive values indicate conditions hotter than the target temperature while negative values indicate degrees below the target temperture.Goo
prevailingTempprevailingTempA stream of temperature values in degrees Celcius indicating the prevailing outdoor temperature. This is the temperture that determines the conditions occupants find comfortable and is either a monthly average temperature or a running mean of outdoor temperature.Goo
targetTemperaturetargetTemperatureA stream of temperature values in degrees Celcius indicating the mean target temperture (or neutral temperature) that the most people will find most comfortable.Goo
----------------------------------------------------...Goo
chartCurvesAndTxtchartCurvesAndTxtThe chart curves and text labels of the adaptive chart.Goo
adaptiveChartMeshadaptiveChartMeshA colored mesh showing the number of input hours happen in each part of the adaptive chart.Goo
legendlegendA colored legend showing the number of hours that correspond to each color.Goo
legendBasePtlegendBasePtThe legend base point, which can be used to move the legend in relation to the chart with the grasshopper "move" component.Goo
comfortPolygonscomfortPolygonsA brep representing the range of comfort for.Goo
----------------------------------------------------Script variable AdaptiveComfortCalculatorGoo
chartHourPointschartHourPointsPoints representing each of the hours of input temperature and opTemperity ratio. By default, this ouput is hidden and, to see it, you should connect it to a Grasshopper preview component.Goo
hourPointColorshourPointColorsColors that correspond to the chartHourPoints above and can be hooked up to the "Swatch" input of a Grasshopper Preview component that has the hour points above connected as geometry. By default, points are colored red if they lie inside comfort polygon and are colored blue if they do not meet such comfort criteria. In the event that you have hooked up annualHourlyData_ this output will be a grafted list of colors. The first list corresponds to the comfort conditions while the second list colors points based on the annualHourlyData.Goo
hourPointLegendhourPointLegendA legend that corresponds to the hour point colors above. In the event that annualHourlyData_ is connected, this output will be a grafted list of legends that each correspond to the grafted lists of colors.Goo

© 2018   Created by Robin Rodricks and Andrew Heumann.   Hosted by

Badges  |  Report an Issue  |  Terms of Service