Sink Simulation

Convert Sinks

src.Sink.simulation.convert_sinks.convert_sinks(in_var, kb)[source]

Design of technologies to connect DHN to the sinks.

For each sink are designed the conversion technologies needed. When performing the conversion, three design options may occur: Sink that requires HEATING:

  1. The grid temperature meets the sink target temperature requirements, thus only a grid-sink HX and correspondent circulation pumping is needed

  2. The grid temperature does not meet the sink target temperature requirements, thus adding to the grid-sink HX and correspondent circulation pumping, it is also necessary to add a technology to raise the temperature (chp,solar thermal, heat pump, boiler)

Sink that requires COOLING:
  1. It is always necessary to add a cooling technology (thermal_chiller), since we are only designing DHNs

Possible conversions: HX, HX + heating/cooling technology + HX.

Moreover, for the group of sinks capacity, heating grid specific technologies (also known as backup) are designed.

Parameters
  • in_var (All necessary data to perform the grid to sinks conversion with the following key:) –

    platform: dict

    Data obtained from the platform

    • grid_supply_temperaturefloat, optional

      Grid supply temperature provided by the user [ºC]

    • grid_return_temperaturefloat, optional

      Grid return temperature provided by the user [ºC]

    • group_of_sinkslist with dict

      List with all sinks to be analyzed; each with the following keys:

      • idint

        Sink ID []

      • locationlist

        [latitude, longitude] [º]

      • fuels_data: dict, optional

        Fuels price and CO2 emission, with the following keys:

        • natural_gas: dict

          Natural gas data

          • co2_emissions: float:

            Fuel CO2 emission [kg CO2/kWh

          • price: float:

            Fuel price [€/kWh

        • fuel_oil

          Same keys as “natural_gas”

        • electricity

          Same keys as “natural_gas”

        • biomass

          Same keys as “natural_gas”

      • streamslist with dict

        Streams to be analyzed. Each stream with the following keys:

        • idint

          Stream ID []

        • namestr

          Stream name []

        • object_typestr

          DEFAULT = “stream” []

        • object_linked_id

          None: DEFAULT=NONE, since no equipment/process is associated

        • stream_typestr

          Stream designation []; inflow, outflow, excess_heat

        • supply_temperaturefloat

          Stream’s supply/initial temperature [ºC]

        • target_temperaturefloat

          Stream’s target/final temperature [ºC]

        • fluidstr

          Stream fluid name

        • flowratefloat

          Stream mass flowrate[kg/h]

        • schedulelist

          Hourly values between 0 and 1, according to the capacity ration on that hour

        • hourly_generation: list

          Stream’s hourly capacity [kWh]

        • capacityfloat

          Stream’s capacity [kW]

        • fuelstr

          Associated equipment fuel name []

        • eff_equipmentfloat

          Associated equipment efficiency []

  • kb (dict) – Knowledge Base data

Returns

all_info

All conversion data

  • all_sinks_infolist

    Each sink conversion data

    -sink_group_grid_supply_temperaturefloat

    Grid supply temperature [ºC]

    • sink_group_grid_return_temperaturefloat

      Grid return temperature [ºC]

    • grid_specificlist

      List with Grid Specific technologies, each technology with the following keys:

      • teo_equipment_namestr

        Specific nomenclature for the TEO

      • outputstr

        Specific nomenclature for the TEO

      • input_fuelstr

        Specific nomenclature for the TEO

      • output_fuelstr

        Specific nomenclature for the TEO

      • equipmentlist

        All conversion equipments; list with technologies names; e.g. [‘hx_plate’, ‘heat_pump’,’hx_plate’]

      • max_capacityfloat

        Stream power (sources- excess heat; sinks - grid heat) [kW]

      • turnkey_afloat

        Aggregated turnkey a [€/kW]

      • turnkey_bfloat

        Aggregated turnkey b [€]

      • conversion_efficiency :

        Aggregated conversion_efficiency []

      • electrical_conversion_efficiencyfloat

        ONLY FOR ORC - electrical conversion efficiency []

      • om_fixfloat

        Aggregated om_fix [€/year.kW]

      • om_varfloat

        Aggregated om_var [€/kWh]

      • emissionsfloat

        Aggregated emissions [kg.CO2/kWh]

      • technologieslist with dicts

        Each equipment info in detail (check General/Convert_Equipments/Convert_Options)

    • sinkslist with dict

      List with each sink data, with the following keys:

      • sink_idstr

        Sink ID

      • locationlist

        [latitude, longitude] [º]

      • streamslist with dict

        Each stream of the sink, with the following keys:

        • stream_idstr

          Stream ID

        • demand_fuelstr

          TEO specific data

        • gis_capacityfloat

          Sink nominal capacity [kWh]

        • hourly_stream_capacitylist

          Stream hourly capacity [kWh]

        • teo_demand_factorlist

          Stream’s hourly capacity divided by yearly capacity [kWh]

        • teo_yearly_demandfloat

          Stream yearly demand [kWh]

        • conversion_technologieslist

          List with multiple dictionaries with the solution of technologies possible to implement; same keys as the “grid_specific” technologies

  • n_demand_listlist with dicts

    Sinks data for GIS, with the following keys:

    • idstr

      Object ID

    • coordslist

      [latitude, longitude] [º]

    • capfloat

      Object nominal capacity [kW]

  • n_grid_specificlist with dicts

    Grid specific data for GIS, with the following keys:

    • idint

      Object ID

    • coordslist

      Same keys as “n_demand_list”

    • capfloat

      Same keys as “n_demand_list”

  • n_thermal_storagelist with dicts

    Thermal storage data for GIS; Same keys as “n_grid_specific”

  • teo_demand_factor_grouplist

    Every hour of the year with dicts in each hour with TEO Sink ID and corresponding hourly_capacity/yearly_capacity; e.g. [{“sink1”:0.5,”sink2”:0,…},{{“sink1”:0.6,”sink2”:0,…},…]

Return type

dict