honeybee_energy.simulation.parameter module

Complete set of EnergyPlus Simulation Settings.

class honeybee_energy.simulation.parameter.SimulationParameter(output=None, run_period=None, timestep=6, simulation_control=None, shadow_calculation=None, sizing_parameter=None, north_angle=0, terrain_type='City')[source]

Bases: object

Complete set of EnergyPlus Simulation Settings.

Parameters:
  • output – A SimulationOutput that lists the desired outputs from the simulation and the format in which to report them. If None, no outputs will be requested. Default: None.

  • run_period – A RunPeriod object to describe the time period over which to run the simulation. Default: Run for the whole year starting on Sunday.

  • timestep – An integer for the number of timesteps per hour at which the calculation will be run. Default: 6.

  • simulation_control – A SimulationControl object that describes which types of calculations to run. Default: perform a sizing calculation but only run the simulation for the RunPeriod.

  • shadow_calculation – A ShadowCalculation object describing settings for the EnergyPlus Shadow Calculation. Default: Average over 30 days with FullInteriorAndExteriorWithReflections.

  • sizing_parameter – A SizingParameter object with criteria for sizing the heating and cooling system.

  • north_angle – North angle in degrees. A number between -360 and 360 for the counterclockwise difference between the North and the positive Y-axis in degrees. 90 is West and 270 is East (Default: 0).

  • terrain_type – Text for the terrain type in which the model sits. Choose from: ‘Ocean’, ‘Country’, ‘Suburbs’, ‘Urban’, ‘City’.(Default: ‘City’)

Properties:
  • output

  • run_period

  • timestep

  • simulation_control

  • shadow_calculation

  • sizing_parameter

  • global_geometry_rules

  • north_angle

  • north_vector

  • terrain_type

ToString()[source]

Overwrite .NET ToString.

building_idf(identifier='Building')[source]

Get an IDF string for an IDF Building object.

Parameters:

identifier – Text string for to be used as a unique identifier for the building object.

duplicate()[source]

Get a copy of this object.

classmethod from_dict(data)[source]

Create a SimulationParameter object from a dictionary.

Parameters:

data – A SimulationParameter dictionary in following the format below.

{
"type": "SimulationParameter",
"output": {}, # Honeybee SimulationOutput dictionary
"run_period": {}, # Honeybee RunPeriod dictionary
"timestep": 6, # Integer for the simulation timestep
"simulation_control": {}, # Honeybee SimulationControl dictionary
"shadow_calculation": {}, # Honeybee ShadowCalculation dictionary
"sizing_parameter": {} # Honeybee SizingParameter dictionary
}
classmethod from_idf(idf_string)[source]

Create a SimulationParameter object from an EnergyPlus IDF text string.

Parameters:

idf_string – A text string with all IDF objects that should be included in the resulting SimulationParameter object. Note that, unlike other from_idf methods throughout honeybee_energy, this method can have multiple IDF objects within the idf_string. Any object in the idf_string that is not relevant to SimulationParameter will be ignored by this method. So the input idf_string can simply be the entire file contents of an IDF.

to_dict()[source]

SimulationParameter dictionary representation.

to_idf(identifier='Building')[source]

Get an EnergyPlus string representation of the SimulationParameter.

Note that this string is a concatenation of the IDF strings that make up the SimulationParameter (ie. RunPeriod, SimulationControl, etc.).

Parameters:

identifier – Text string for to be used as a unique identifier for the IDF Building object.

!-   ==========================================
!-   =========  SIMULATION PARAMETERS =========
!-   ==========================================


OutputControl:Table:Style,
    CommaAndHTML,             !- column separator
    None;                     !- unit conversion

Output:Variable,
    *,                        !- key value
    Zone Ideal Loads Supply Air Total Cooling Energy, !- name
    Hourly;                   !- frequency

Output:Variable,
    *,                        !- key value
    Zone Ideal Loads Supply Air Total Heating Energy, !- name
    Hourly;                   !- frequency

Output:Table:SummaryReports,
    AllSummary;               !- report 0

Output:SQLite,
    SimpleAndTabular;         !- option type

    Output:VariableDictionary,
    IDF,                      !- key field
    Unsorted;                 !- sort option

OutputControl:ReportingTolerances,
    1.11,                     !- heating unmet setpoint tolerance
    1.11;                     !- cooling unmet setpoint tolerance

SimulationControl,
    Yes,                      !- do zone sizing
    Yes,                      !- do system sizing
    Yes,                      !- do plant sizing
    No,                       !- run for sizing periods
    Yes;                      !- run for run periods

ShadowCalculation,
    PolygonClipping,          !- calculation method
    Periodic,                 !- calculation update method
    30,                       !- calculation frequency
    15000;                    !- maximum figures

Timestep,
6;                        !- timesteps per hour

RunPeriod,
    CustomRunPeriod,          !- name
    1,                        !- start month
    1,                        !- start day
    2017,                     !- start year
    12,                       !- end month
    31,                       !- end day
    2017,                     !- end year
    Sunday,                   !- start day of week
    No,                       !- use weather file holidays
    No,                       !- use weather file daylight savings
    No,                       !- apply weekend holiday
    Yes,                      !- use epw rain
    Yes;                      !- use epw snow

Sizing:Parameters,
    1.25,                     !- heating factor
    1.15;                     !- cooling factor

GlobalGeometryRules,
    UpperLeftCorner,          !- starting vertex position
    Counterclockwise,         !- vertex entry direction
    Relative;                 !- coordinate system

Building,
    Building,                 !- name
    0.0,                      !- clockwise north axis
    City,                     !- terrain
    ,                         !- loads convergence tolerance
    ,                         !- temperature convergence tolerance
    FullExteriorWithReflections; !- solar distribution

Site:WaterMainsTemperature,
    CorrelationFromWeatherFile; !- calculation method
water_mains_idf()[source]

Get an IDF string for the water mains object.

TERRAIN_TYPES = ('Ocean', 'Country', 'Suburbs', 'Urban', 'City')
VALIDTIMESTEPS = (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60)
property global_geometry_rules

Get an IDF string for the official honeybee global geometry rules.

Specifically, these are counter-clockwise vertices starting from the upper left corner of the surface. The output string is the following:

GlobalGeometryRules,
    UpperLeftCorner,          !- starting vertex position
    Counterclockwise,         !- vertex entry direction
    Relative;                 !- coordinate system
property north_angle

Get or set a number between -360 and 360 for the north direction in degrees.

This is the counterclockwise difference between the North and the positive Y-axis. 90 is West and 270 is East (Default: 0). Note that this is different than the convention used in EnergyPlus, which uses clockwise difference instead of counterclockwise difference.

property north_vector

Get or set a ladybug_geometry Vector2D for the north direction.

property output

Get or set a SimulationOutput object for the outputs from the simulation.

property run_period

Get or set a RunPeriod object for the time period to run the simulation.

property shadow_calculation

Get or set a ShadowCalculation object with settings for the shadow calculation.

property simulation_control

Get or set a SimulationControl object for which types of calculations to run.

property sizing_parameter

Get or set a SizingParameter object with factors for the peak loads.

property terrain_type

Get or set a text string for the terrain in which the model sits.

This is used to determine the wind profile over the height of the building. Default is ‘City’. Choose from the following options:

  • Ocean

  • Country

  • Suburbs

  • Urban

  • City

property timestep

Get or set a integer for the number of simulation timesteps per hour.