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:
The grid temperature meets the sink target temperature requirements, thus only a grid-sink HX and correspondent circulation pumping is needed
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:
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