archetypal.template.ZoneConditioning

class archetypal.template.ZoneConditioning(Name, IsHeatingOn=False, HeatingSetpoint=20, HeatingSchedule=None, HeatingLimitType=IdealSystemLimit.NoLimit, HeatingFuelType=FuelType.NaturalGas, MaxHeatingCapacity=100, MaxHeatFlow=100, HeatingCoeffOfPerf=1, IsCoolingOn=False, CoolingSetpoint=26, CoolingSchedule=None, CoolingLimitType=IdealSystemLimit.NoLimit, CoolingFuelType=FuelType.Electricity, MaxCoolingCapacity=100, MaxCoolFlow=100, CoolingCoeffOfPerf=1, IsMechVentOn=False, EconomizerType=EconomizerTypes.NoEconomizer, MechVentSchedule=None, MinFreshAirPerArea=0, MinFreshAirPerPerson=0, HeatRecoveryType=HeatRecoveryTypes.NONE, HeatRecoveryEfficiencyLatent=0.65, HeatRecoveryEfficiencySensible=0.7, area=1, **kwargs)[source]

HVAC settings for the zone.

../_images/zoninfo-conditioning.png

Initialize a new ZoneConditioning object.

Parameters
  • Name (str) – Name of the object. Must be Unique.

  • IsHeatingOn (bool) – Whether or not heating is available.

  • HeatingSetpoint (float) – The temperature below which zone heating is turned on. Here, we take the mean value over the ye

  • HeatingSchedule (UmiSchedule) – The availability schedule for space heating in this zone. If the value is 0, heating is not available, and heating is not supplied to the zone.

  • HeatingLimitType (int) – The input must be either LimitFlowRate = 1, LimitCapacity = 2, LimitFlowRateAndCapacity = 3 or NoLimit = 0.

  • MaxHeatingCapacity (float) – The maximum allowed sensible heating capacity in Watts if Heating Limit is set to LimitCapacity or LimitFlowRateAndCapacity

  • MaxHeatFlow (float) – The maximum heating supply air flow rate in cubic meters per second if heating limit is set to LimitFlowRate or LimitFlowRateAndCapacity

  • HeatingCoeffOfPerf (float) – Efficiency of heating system. The COP is of each zone is equal, and refer to the COP of the entire building.

  • IsCoolingOn (bool) – Whether or not cooling is available.

  • CoolingSetpoint (float) – The temperature above which the zone heating is turned on. Here, we take the mean value over the ye

  • CoolingSchedule (UmiSchedule) – The availability schedule for space cooling in this zone. If the value is 0, cooling is not available, and cooling is not supplied to the zone.

  • CoolingLimitType (str) – The input must be either LimitFlowRate = 1, LimitCapacity = 2, LimitFlowRateAndCapacity = 3 or NoLimit = 0.

  • MaxCoolingCapacity (float) – The maximum allowed total (sensible plus latent) cooling capacity in Watts per square meter.

  • MaxCoolFlow (float) – The maximum cooling supply air flow rate in cubic meters per second if Cooling Limit is set to LimitFlowRate or LimitFlowRateAndCapacity

  • CoolingCoeffOfPerf (float) – Performance factor of the cooling system. This value is used to calculate the total cooling energy use by dividing the cooling load by the COP. The COP of the zone shared with all zones and refers to the COP of the entire building.

  • IsMechVentOn (bool) – If True, an outdoor air quantity for use by the model is calculated.

  • EconomizerType (int) –

    Specifies if there is an outdoor air economizer. The choices are: NoEconomizer = 0, DifferentialDryBulb = 1, or DifferentialEnthalpy = 2. For the moment, the EconomizerType is applied for the entire building (every zone with the same EconomizerType). Moreover, since UMI does not support all Economizer Types, some assumptions are made:

    • If ‘NoEconomizer’ in EnergyPlus, EconomizerType=’NoEconomizer’

    • If ‘DifferentialEnthalpy’ in EnergyPlus,EconomizerType = ‘DifferentialEnthalpy’

    • If ‘DifferentialDryBulb’ in EnergyPlus, EconomizerType = ‘DifferentialDryBulb’

    • If ‘FixedDryBulb’ in EnergyPlus, EconomizerType = ‘DifferentialDryBulb’

    • If ‘FixedEnthalpy’ in EnergyPlus, EconomizerType = ‘DifferentialEnthalpy’

    • If ‘ElectronicEnthalpy’ in EnergyPlus, EconomizerType = ‘DifferentialEnthalpy’

    • If ‘FixedDewPointAndDryBulb’ in EnergyPlus, EconomizerType = ‘DifferentialDryBulb’

    • If ‘DifferentialDryBulbAndEnthalpy’ in EnergyPlus, EconomizerType = ‘DifferentialEnthalpy’

  • MechVentSchedule (UmiSchedule) – The availability schedule of the mechanical ventilation. If the value is 0, the mechanical ventilation is not available and air flow is not requested.

  • MinFreshAirPerArea (flaot) – The design outdoor air volume flow rate per square meter of floor area (units are m3/s-m2). This input is used if Outdoor Air Method is Flow/Area, Sum or Maximum

  • MinFreshAirPerPerson (float) – The design outdoor air volume flow rate per person for this zone in cubic meters per second per person. The default is 0.00944 (20 cfm per person).

  • HeatRecoveryType (int) – Select from None = 0, Sensible = 1, or Enthalpy = 2. None means that there is no heat recovery. Sensible means that there is sensible heat recovery whenever the zone exhaust air temperature is more favorable than the outdoor air temperature. Enthalpy means that there is latent and sensible heat recovery whenever the zone exhaust air enthalpy is more favorable than the outdoor air enthalpy. The default is None

  • HeatRecoveryEfficiencyLatent (float) –

    The latent heat recovery effectiveness, where effectiveness is defined as the change in supply humidity ratio divided by the difference in entering supply and relief air humidity ratios. The default is 0.65.

    • If the HeatExchanger is an AirToAir FlatPlate, HeatRecoveryEfficiencyLatent = HeatRecoveryEfficiencySensible - 0.05

    • If the HeatExchanger is an AirToAir SensibleAndLatent, we suppose that HeatRecoveryEfficiencyLatent = Latent Effectiveness at 100% Heating Air Flow

    • If the HeatExchanger is a Desiccant BalancedFlow, we use the default value for the efficiency (=0.65).

  • HeatRecoveryEfficiencySensible (float) –

    The sensible heat recovery effectiveness, where effectiveness is defined as the change in supply temperature divided by the difference in entering supply and relief air temperatures. The default is 0.70.

    • If the HeatExchanger is an AirToAir FlatPlate, HeatRecoveryEfficiencySensible = (Supply Air Outlet T°C - Supply Air Inlet T°C)/(Secondary Air Inlet T°C - Supply Air Inlet T°C)

    • If the HeatExchanger is an AirToAir SensibleAndLatent, we suppose that HeatRecoveryEfficiencySensible = Sensible Effectiveness at 100% Heating Air Flow

    • If the HeatExchanger is a Desiccant BalancedFlow, we use the default value for the efficiency (=0.70)

  • **kwargs – Other arguments passed to the base class archetypal.template.UmiBase

property area

Get or set the area of the zone associated to this object [m²].

property CoolingSetpoint

Get or set the cooling setpoint [degC].

property HeatingSetpoint

Get or set the heating setpoint [degC].

property MaxCoolFlow

Get or set the maximum cooling flowrate [m³/s/m²].

property MaxHeatFlow

Get or set the maximum heating flowrate [m³/s/m²].

property MaxHeatingCapacity

Get or set the maximum heating capacity [W/m²].

property MaxCoolingCapacity

Get or set the maximum cooling capacity [W/m²].

property MinFreshAirPerArea

Get or set the minimum fresh air per area [m³/s/m²].

property MinFreshAirPerPerson

Get or set the minimum fresh air per person [m³/s/p].

property IsHeatingOn

Get or set the availability of heating [bool].

property HeatingSchedule

Get or set the heating availability schedule.

property HeatingLimitType

Get or set the heating limit type [enum].

property Category

Get or set the Category attribute.

property Comments

Get or set the object comments.

property DataSource

Get or set the datasource of the object.

property HeatingFuelType

Get or set the heating fuel type [enum].

property Name

Get or set the name of the object.

property allow_duplicates

Get or set the use of duplicates [bool].

extend(other, allow_duplicates)

Append other to self. Modify and return self.

Parameters

other (UmiBase) –

Returns

self

Return type

UmiBase

float_mean(other, attr, weights=None)

Calculates the average attribute value of two floats. Can provide weights.

Parameters
  • other (UmiBase) – The other UmiBase object to calculate average value with.

  • attr (str) – The attribute of the UmiBase object.

  • weights (iterable, optional) – Weights of [self, other] to calculate weighted average.

get_unique()

Return first object matching equality in the list of instantiated objects.

property id

Get or set the id.

property predecessors

Get or set the predecessors of self.

Of which objects is self made of. If from nothing else then self, return self.

rename(name)

renames self as well as the cached object

Parameters

name (str) – the name.

to_ref()

Return a ref pointer to self.

property HeatingCoeffOfPerf

Get or set the heating COP [-].

property IsCoolingOn

Get or set the availability of cooling [bool].

property CoolingSchedule

Get or set the cooling availability schedule.

property CoolingLimitType

Get or set the cooling limit type [enum].

property CoolingFuelType

Get or set the cooling fuel type [enum].

property CoolingCoeffOfPerf

Get or set the cooling COP [-].

property IsMechVentOn

Get or set the availability of mechanical ventilation [bool].

property EconomizerType

Get or set the economizer type [enum].

property MechVentSchedule

Get or set the outdoor air requirements over time.

property HeatRecoveryType

Get or set the heat recovery type.

property HeatRecoveryEfficiencyLatent

Get or set the latent heat recovery effectiveness [-].

property HeatRecoveryEfficiencySensible

Get or set the sensible heat recovery effectiveness [-].

classmethod from_dict(data, schedules, **kwargs)[source]

Create a ZoneConditioning from a dictionary.

Parameters
  • data (dict) – The python dictionary.

  • schedules (dict) – A dictionary of UmiSchedules with their id as keys.

  • **kwargs – keywords passed to parent constructor.

{
    "$id": "165",
    "CoolingSchedule": { $ref: "1" },
    "CoolingCoeffOfPerf": 3.0,
    "CoolingSetpoint": 24.0,
    "CoolingLimitType": 0,
    "CoolingFuelType": 1,
    "EconomizerType": 0,
    "HeatingCoeffOfPerf": 0.9,
    "HeatingLimitType": 0,
    "HeatingFuelType": 2,
    "HeatingSchedule": { $ref: "2" },
    "HeatingSetpoint": 20.0,
    "HeatRecoveryEfficiencyLatent": 0.65,
    "HeatRecoveryEfficiencySensible": 0.7,
    "HeatRecoveryType": 0,
    "IsCoolingOn": True,
    "IsHeatingOn": True,
    "IsMechVentOn": True,
    "MaxCoolFlow": 100.0,
    "MaxCoolingCapacity": 100.0,
    "MaxHeatFlow": 100.0,
    "MaxHeatingCapacity": 100.0,
    "MechVentSchedule": { $ref: "3" },
    "MinFreshAirPerArea": 0.0003,
    "MinFreshAirPerPerson": 0.0025,
    "Category": "Office Spaces",
    "Comments": None,
    "DataSource": "MIT_SDL",
    "Name": "B_Off_0 Conditioning",
}
to_dict()[source]

Return ZoneConditioning dictionary representation.

classmethod from_zone(zone, zone_ep, nolimit=False, **kwargs)[source]

Create a ZoneConditioning object from a zone.

Parameters
  • zone_ep

  • zone (archetypal.template.zone.Zone) – zone to gets information from.

static get_equipment_list(zone, zone_ep)[source]

Get zone equipment list.

Parameters

zone_ep

fresh_air_from_ideal_loads(zone, zone_ep)[source]

Resolve fresh air requirements for Ideal Loads Air System.

Parameters
  • zone_ep

  • zone

Returns

(IsMechVentOn, MinFreshAirPerArea, MinFreshAirPerPerson, MechVentSchedule)

Return type

4-tuple

fresh_air_from_zone_sizes(zone)[source]

Return the Mechanical Ventilation from the ZoneSizes Table in the sql db.

Parameters

zone (ZoneDefinition) –

Returns

(IsMechVentOn, MinFreshAirPerArea, MinFreshAirPerPerson, MechVentSchedule)

Return type

4-tuple

combine(other, weights=None)[source]

Combine two ZoneConditioning objects together.

Parameters
  • other (ZoneConditioning) – The other ZoneConditioning object to combine with.

  • weights (list-like, optional) – A list-like object of len 2. If None, the volume of the zones for which self and other belongs is used.

Returns

the combined ZoneConditioning object.

Return type

(ZoneConditioning)

validate()[source]

Validate object and fill in missing values.

mapping(validate=True)[source]

Get a dict based on the object properties, useful for dict repr.

Parameters

validate (bool) – If True, try to validate object before returning the mapping.

to_epbunch(idf, zone_name, design_specification_outdoor_air_object)[source]

Convert self to an EpBunch given an IDF model.

Parameters
  • idf

  • zone_name

Returns

The EpBunch object added to the idf model.

Return type

EpBunch

duplicate()[source]

Get copy of self.