Skip to content

Three zones hydronic heating

The previous tutorials provided idealized, somewhat unrealistic examples. In this tutorial, we will simulate a three-zone building with a hydronic heating system, aiming for a more realistic house model. Below, we will outline and describe the configuration file, highlighting key points to consider:

  • Default Construction Values: Trano includes a set of predefined construction, glazing, and gas properties. You can incorporate these into your configuration file by adding the following line:
default: !include_default
  • Emission Systems: Each space is assigned a list of emission systems, with each linked to a radiator object (RADIATOR:001) and a valve object (VALVE:001). In this configuration, the valve is controlled instead of the radiator:
emissions:
  - radiator:
      id: RADIATOR:001
  - valve:
      id: VALVE:001
      control:
        emission_control:
  • Hydronic System Definition: A complete hydronic system must be defined, specifying the boiler, pump, and various valves in the system:
systems:
  - boiler:
      id: BOILER:001
      control:
        boiler_control:
  - pump:
      id: PUMP:001
      control:
        collector_control:
      outlets:
        - THREE_WAY_VALVE:001
        - THREE_WAY_VALVE:002
      inlets:
        - BOILER:001
  - split_valve:
      id: SPLIT_VALVE:001
      inlets:
        - VALVE:003
        - VALVE:001
      outlets:
        - BOILER:001
  - three_way_valve:
      id: THREE_WAY_VALVE:001
      control:
        three_way_valve_control:
      outlets:
        - TEMPERATURE_SENSOR:001
        - SPLIT_VALVE:001
  - temperature_sensor:
      id: TEMPERATURE_SENSOR:001
      outlets:
        - RADIATOR:001
        - RADIATOR:003
  - split_valve:
      id: SPLIT_VALVE:002
      inlets:
        - VALVE:002
      outlets:
        - BOILER:001
  - three_way_valve:
      id: THREE_WAY_VALVE:002
      control:
        three_way_valve_control:
      outlets:
        - TEMPERATURE_SENSOR:002
        - SPLIT_VALVE:002
  - temperature_sensor:
      id: TEMPERATURE_SENSOR:002
      inlets:
        - THREE_WAY_VALVE:002
      outlets:
        - RADIATOR:002

Input configuration file

The described configuration outlines a building that is likely a multi-room residential or commercial structure with distinct spaces. Key characteristics include:

  1. Construction Materials: The building features walls composed of multiple layers of materials with low thermal conductivity (0.035), which suggests a focus on energy efficiency and insulation.

  2. Room Occupancy and Size: It contains at least three separate spaces (likely rooms) with defined floor areas (ranging from 40 to 50 square meters) and an average room height of 2.5 meters.

  3. Heating System: Each space is equipped with radiators for heating, supported by a centralized boiler with a nominal heating power of 20,000 Watts. There are also controlled valves for efficient heating distribution.

  4. External Walls and Windows: The building's external walls are categorized into various configurations depending on surface azimuth and construction type, indicating attention to natural light and energy performance through the placement of windows.

  5. Foundation: It's constructed on concrete slabs for ground floors, which provides durability and stability.

Based on these factors, the building is designed for efficient thermal performance, likely serving residential or small commercial purposes.

default: !include_default
material:
  - id: MATERIAL:001
    thermal_conductivity: 0.035
    density: 2000.0
    specific_heat_capacity: 1000.0
  - id: MATERIAL:002
    thermal_conductivity: 0.035
    density: 2000.0
    specific_heat_capacity: 1000.0
  - id: MATERIAL:003
    thermal_conductivity: 0.035
    density: 2000.0
    specific_heat_capacity: 1000.0

constructions:
  - id: CONSTRUCTION:001
    layers:
      - material: MATERIAL:001
        thickness: 0.1
      - material: MATERIAL:002
        thickness: 0.1
      - material: MATERIAL:003
        thickness: 0.1
spaces:
  - occupancy:
    parameters:
      floor_area: 49.0
      average_room_height: 2.5
    id: SPACE:001
    external_boundaries:
      external_walls:
        - surface: 20
          azimuth: 0
          tilt: wall
          construction: CAVITYWALL:001
        - surface: 30
          azimuth: 90
          tilt: wall
          construction: CAVITYWALL:001
        - surface: 50
          azimuth: 180.0
          tilt: wall
          construction: CAVITYWALL:001
      windows:
        - surface: 5.0
          construction: EPCDOUBLE:001
          azimuth: 0
          tilt: wall
        - surface: 2.0
          construction: EPCDOUBLE:001
          azimuth: 180.0
          tilt: wall
      floor_on_grounds:
        - surface: 49
          construction: CONCRETESLAB:001
    emissions:
      - radiator:
          parameters:
            nominal_heating_power_positive_for_heating: 5000
            dp_nominal: 100
          id: RADIATOR:003
      - valve:
          id: VALVE:003
          control:
            emission_control:
  - occupancy:
      parameters:
        gain: "[ 45; 90; 40 ]"
        occupancy: 3600*{16, 21}
    parameters:
      floor_area: 40
      average_room_height: 2.5
    id: SPACE:002
    external_boundaries:
      external_walls:
        - surface: 25
          azimuth: 0
          tilt: wall
          construction: CAVITYWALLPARTIALFILL:001
        - surface: 25
          azimuth: 90
          tilt: wall
          construction: CAVITYWALLPARTIALFILL:001
        - surface: 34
          azimuth: 180
          tilt: wall
          construction: CAVITYWALLPARTIALFILL:001
      windows:
        - surface: 5.0
          construction: INS2AR2020:001
          azimuth: 0
          tilt: wall
        - surface: 2.0
          construction: INS2AR2020:001
          azimuth: 180
          tilt: wall
      floor_on_grounds:
        - surface: 40
          construction: CONCRETESLAB:001
    emissions:
      - radiator:
          parameters:
            nominal_heating_power_positive_for_heating: 5000
          id: RADIATOR:001
      - valve:
          id: VALVE:001
          control:
            emission_control:
  - occupancy:
      parameters:
        gain: "[35; 70; 30]"
        occupancy: 3600*{10, 14}
    parameters:
      floor_area: 50.0
      average_room_height: 2.5
    id: SPACE:003
    external_boundaries:
      external_walls:
        - surface: 22
          azimuth: 180.0
          tilt: wall
          construction: CONSTRUCTION:001
        - surface: 17
          azimuth: 180.0
          tilt: wall
          construction: CONSTRUCTION:001
        - surface: 36
          azimuth: 180.0
          tilt: wall
          construction: CONSTRUCTION:001
      floor_on_grounds:
        - surface: 60.0
          construction: CONCRETESLAB:001
    emissions:
      - radiator:
          id: RADIATOR:002
      - valve:
          id: VALVE:002
          control:
            emission_control:
internal_walls:
  - space_1: SPACE:001
    space_2: SPACE:002
    construction: CAVITYWALL:001
    surface: 20
  - space_1: SPACE:002
    space_2: SPACE:001
    construction: CONSTRUCTION:001
    surface: 15
  - space_1: SPACE:002
    space_2: SPACE:003
    construction: CAVITYWALLPARTIALFILL:001
    surface: 22
systems:
  - boiler:
      parameters:
        nominal_heating_power: 20000
      id: BOILER:001
      control:
        boiler_control:
  - pump:
      id: PUMP:001
      control:
        collector_control:
      outlets:
        - THREE_WAY_VALVE:001
        - THREE_WAY_VALVE:002
      inlets:
        - BOILER:001
  - split_valve:
      id: SPLIT_VALVE:001
      inlets:
        - VALVE:003
        - VALVE:001
      outlets:
        - BOILER:001
  - three_way_valve:
      id: THREE_WAY_VALVE:001
      control:
        three_way_valve_control:
      outlets:
        - TEMPERATURE_SENSOR:001
        - SPLIT_VALVE:001
  - temperature_sensor:
      id: TEMPERATURE_SENSOR:001
      outlets:
        - RADIATOR:001
        - RADIATOR:003
  - split_valve:
      id: SPLIT_VALVE:002
      inlets:
        - VALVE:002
      outlets:
        - BOILER:001
  - three_way_valve:
      id: THREE_WAY_VALVE:002
      control:
        three_way_valve_control:
      outlets:
        - TEMPERATURE_SENSOR:002
        - SPLIT_VALVE:002
  - temperature_sensor:
      id: TEMPERATURE_SENSOR:002
      inlets:
        - THREE_WAY_VALVE:002
      outlets:
        - RADIATOR:002

Code

The following code snippet demonstrates how to simulate a multizone model using Trano. This simulation will also generate a report containing a detailed description of the parameters and accompanying figures.

Test tutorials
    from trano.main import simulate_model
    from trano.simulate.simulate import SimulationLibraryOptions

    simulate_model(
        path_to_yaml_configuration_folder / "three_zones_hydronic_heating.yaml",
        SimulationLibraryOptions(
            start_time=0,
            end_time=2 * 3600 * 24 * 7,
            tolerance=1e-4,
            library_name="Buildings",
        ),
    )

General Explanation

The code snippet imports a function and class necessary to simulate a model using a specified configuration file in YAML format. It executes the simulation over a defined time period with specific parameters.

Parameters Description

  • path_to_yaml_configuration_folder / "three_zones_hydronic_heating.yaml":
  • Type: String (Path)
  • Description: Path to the YAML file containing the model configuration.

  • SimulationLibraryOptions:

  • Type: Class
  • Description: A collection of options for configuring the simulation library.

  • Parameters:

    • start_time:
    • Type: Integer
    • Description: Simulation start time in seconds (0 indicates the beginning).

    • end_time:

    • Type: Integer
    • Description: Simulation end time in seconds (2 weeks).

    • tolerance:

    • Type: Float
    • Description: Numerical tolerance for convergence (1e-4).

    • library_name:

    • Type: String
    • Description: Name of the simulation library being used (e.g., "Buildings").

Outputs

The following report is generated by Trano after simulating a three-zone building with an ideal heating system.

Spaces

External Boundaries Table

hRoo AFlo linearizeRadiation m_flow_nominal mSenFac T_start volume
2.5 49.0 true 0.01 1.0 294.15 122.5
gain k occupancy name
[35; 70; 30] 1/6/4 3600 * {7, 19} occupancy_1
Name Azimuth Construction Name Surface Tilt
externalwall_36 0.0 cavitywall_001 20.0 wall
externalwall_37 90.0 cavitywall_001 30.0 wall
externalwall_38 180.0 cavitywall_001 50.0 wall
window_13 0.0 epcdouble_001 5.0 wall
window_14 180.0 epcdouble_001 2.0 wall
flooronground_12 90.0 concreteslab_001 49.0 floor
internal_space_001_space_002_cavitywall 10.0 cavitywall_001 20.0 wall
internal_space_002_space_001_construction 10.0 construction_001 15.0 wall
TAir_nominal dp_nominal n deltaM fraRad Q_flow_nominal nEle TRad_nominal linearized from_dp T_a_nominal T_b_nominal mDry VWat name
293.15 100.0 1.24 0.01 0.3 5000.0 1 293.15 false false 363.15 353.15 131.5 0.29 radiator_003
dpFixed_nominal dpValve_nominal deltaM m_flow_nominal delta0 R linearized from_dp l name
6000.0 6000.0 0.02 0.01 0.01 50.0 false true 0.0001 valve_003
External Boundaries Table
hRoo AFlo linearizeRadiation m_flow_nominal mSenFac T_start volume
2.5 40.0 true 0.01 1.0 294.15 100.0
gain k occupancy name
[ 45; 90; 40 ] 1/6/4 3600*{16, 21} occupancy_2
Name Azimuth Construction Name Surface Tilt
externalwall_39 0.0 cavitywallpartialfill_001 25.0 wall
externalwall_40 90.0 cavitywallpartialfill_001 25.0 wall
externalwall_41 180.0 cavitywallpartialfill_001 34.0 wall
window_15 0.0 ins2ar2020_001 5.0 wall
window_16 180.0 ins2ar2020_001 2.0 wall
flooronground_13 90.0 concreteslab_001 40.0 floor
internal_space_001_space_002_cavitywall 10.0 cavitywall_001 20.0 wall
internal_space_002_space_001_construction 10.0 construction_001 15.0 wall
internal_space_002_space_003_cavitywallpartialfill 10.0 cavitywallpartialfill_001 22.0 wall
TAir_nominal dp_nominal n deltaM fraRad Q_flow_nominal nEle TRad_nominal linearized from_dp T_a_nominal T_b_nominal mDry VWat name
293.15 0.0 1.24 0.01 0.3 5000.0 1 293.15 false false 363.15 353.15 131.5 0.29 radiator_001
dpFixed_nominal dpValve_nominal deltaM m_flow_nominal delta0 R linearized from_dp l name
6000.0 6000.0 0.02 0.01 0.01 50.0 false true 0.0001 valve_001
External Boundaries Table
hRoo AFlo linearizeRadiation m_flow_nominal mSenFac T_start volume
2.5 50.0 true 0.01 1.0 294.15 125.0
gain k occupancy name
[35; 70; 30] 1/6/4 3600*{10, 14} occupancy_3
Name Azimuth Construction Name Surface Tilt
externalwall_42 180.0 construction_001 22.0 wall
externalwall_43 180.0 construction_001 17.0 wall
externalwall_44 180.0 construction_001 36.0 wall
flooronground_14 90.0 concreteslab_001 60.0 floor
internal_space_002_space_003_cavitywallpartialfill 10.0 cavitywallpartialfill_001 22.0 wall
TAir_nominal dp_nominal n deltaM fraRad Q_flow_nominal nEle TRad_nominal linearized from_dp T_a_nominal T_b_nominal mDry VWat name
293.15 0.0 1.24 0.01 0.3 2000.0 1 293.15 false false 363.15 353.15 52.6 0.116 radiator_002
dpFixed_nominal dpValve_nominal deltaM m_flow_nominal delta0 R linearized from_dp l name
6000.0 6000.0 0.02 0.01 0.01 50.0 false true 0.0001 valve_002

Construction

Layer Information Table

Layers for epcdouble_001
Name c epsLw epsSw k rho Thickness
glass_001 840.0 0.84 0.67 1.0 2500.0 0.0038
air_001 1006.0 0.0 0.0 0.0256 1.2 0.012
glass_001 840.0 0.84 0.67 1.0 2500.0 0.0038
Layer Information Table
Layers for ins2ar2020_001
Name c epsLw epsSw k rho Thickness
glass_001 840.0 0.84 0.67 1.0 2500.0 0.006
argon_001 522.0 0.0 0.0 0.0174 1.66 0.016
glass_001 840.0 0.84 0.67 1.0 2500.0 0.006
Layer Information Table
Layers for concreteslab_001
Name c epsLw epsSw k rho Thickness
concrete_001 900.0 0.88 0.55 1.4 2240.0 0.125
concrete_001 900.0 0.88 0.55 1.4 2240.0 0.125
Layer Information Table
Layers for construction_001
Name c epsLw epsSw k rho Thickness
material_001 1000.0 0.85 0.85 0.035 2000.0 0.1
material_002 1000.0 0.85 0.85 0.035 2000.0 0.1
material_003 1000.0 0.85 0.85 0.035 2000.0 0.1
Layer Information Table
Layers for cavitywall_001
Name c epsLw epsSw k rho Thickness
brick_001 800.0 0.88 0.55 0.89 1920.0 0.08
rockwool_001 800.0 0.8 0.8 0.035 100.0 0.1
brickhollow_001 880.0 0.88 0.55 0.3 850.0 0.14
gypsum_001 840.0 0.85 0.65 0.38 1120.0 0.015
Layer Information Table
Layers for cavitywallpartialfill_001
Name c epsLw epsSw k rho Thickness
brick_001 800.0 0.88 0.55 0.89 1920.0 0.08
air_001 1006.0 0.0 0.0 0.0256 1.2 0.03
rockwool_001 800.0 0.8 0.8 0.035 100.0 0.1
brickhollow_001 880.0 0.88 0.55 0.3 850.0 0.14
gypsum_001 840.0 0.85 0.65 0.38 1120.0 0.015

Systems

External Boundaries Table

coefficients_for_efficiency_curve diff_pressure dp_nominal dt_boi_nominal dt_rad_nominal effcur fraction_of_nominal_flow_rate_where_flow_transitions_to_laminar height_of_tank_without_insulation if_actual_temperature_at_port_is_computed nominal_heating_power number_of_volume_segments sca_fac_rad tank_volume temperature_used_to_compute_nominal_efficiency thickness_of_insulation use_linear_relation_between_m_flow_and_dp_for_any_flow_rate nominal_mass_flow_radiator_loop nominal_mass_flow_rate_boiler v_flow name
{0.9} 5000*{2,1} 5000.0 20.0 10.0 Buildings.Fluid.Types.EfficiencyCurves.Constant 0.1 2.0 false 20000.0 4 1.5 0.2 353.15 0.002 false 0.7142857142857143 0.7142857142857143 0.7142857142857143/1000*{0.5,1} boiler_001