From bf569a798e0be46aea290f1c3019ba9af6553fa2 Mon Sep 17 00:00:00 2001 From: Shahla Huseynova Date: Tue, 9 Jul 2024 17:00:51 +0200 Subject: [PATCH] tostartwith --- .../tostartwith-checkpoint.ipynb | 6 ++ Kickstart/V2/Flex-heat-pump2.ipynb | 21 ++-- Kickstart/V2/tostartwith.ipynb | 99 +++++++++++++++++++ 3 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 Kickstart/V2/.ipynb_checkpoints/tostartwith-checkpoint.ipynb create mode 100644 Kickstart/V2/tostartwith.ipynb diff --git a/Kickstart/V2/.ipynb_checkpoints/tostartwith-checkpoint.ipynb b/Kickstart/V2/.ipynb_checkpoints/tostartwith-checkpoint.ipynb new file mode 100644 index 0000000..363fcab --- /dev/null +++ b/Kickstart/V2/.ipynb_checkpoints/tostartwith-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Kickstart/V2/Flex-heat-pump2.ipynb b/Kickstart/V2/Flex-heat-pump2.ipynb index 24e4302..d8da477 100644 --- a/Kickstart/V2/Flex-heat-pump2.ipynb +++ b/Kickstart/V2/Flex-heat-pump2.ipynb @@ -126,15 +126,7 @@ "source": [ "* aFRR (can improve the optimisation case)\n", "* Report\n", - "\n", - "--\n", - "* Create strategy on imbalance POS (buy 100% day-ahead, and respond to high prices)\n", - "* Graphs\n", - " * EBITDA vs. baseline (earnings vs baseline)\n", - "* Show COP curves in different cases, just for illustration\n", - "* Energy report --> Check + add gas\n", - "* Fix comparison reports\n", - "* Model verification" + "* COP seems to have fix values, rather than COP curve" ] }, { @@ -190,16 +182,17 @@ ] }, "source": [ - "# ENCORE : Heatpump Optimisation Framework\n", + "# Kickstart: Heatpump Optimisation Framework\n", "\n", "***\n", - "© Mark Kremer \n", - "July 2020\n", + "© Shahla Huseynova \n", + "July 2024\n", "##### Cases\n", - "In this model, 3 cases are compared:\n", + "In this model, 4 cases are compared:\n", "* **Baseline** : All heat is supplied by steam turbine\n", "* **Heatpump case** : All heat is supplied by heatpump\n", - "* **Hybrid case** : Steam turbine and heatpump run in hybrid mode, and are optimised on costs in real-time" + "* **Hybrid case** : Steam boiler and heatpump run in hybrid mode, and are optimised on costs in real-time\n", + "* **Heat pump & storage cases**: Heat pump only case is compared with different setup of storage +heat pump cases" ] }, { diff --git a/Kickstart/V2/tostartwith.ipynb b/Kickstart/V2/tostartwith.ipynb new file mode 100644 index 0000000..733042d --- /dev/null +++ b/Kickstart/V2/tostartwith.ipynb @@ -0,0 +1,99 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "b62cf6a4-4123-4744-96ba-3c7326b548eb", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "COP_HEAT_PUMP = 2.5 # Assuming an average Coefficient of Performance\n", + "\n", + "# Input energies in MW\n", + "power_unit_input = 0.06 # Max electrical input to heat pump\n", + "\n", + "# Process input requirements\n", + "process_heat_requirement = 1.0 # MW\n", + "\n", + "# Calculate heat pump output\n", + "heat_pump_output = power_unit_input * COP_HEAT_PUMP\n", + "\n", + "# Heat distribution\n", + "if heat_pump_output > process_heat_requirement:\n", + " stored_heat = heat_pump_output - process_heat_requirement\n", + " used_heat = process_heat_requirement\n", + "else:\n", + " stored_heat = 0\n", + " used_heat = heat_pump_output\n", + "\n", + "# Outputs\n", + "print(f\"Heat Pump Output: {heat_pump_output} MW\")\n", + "print(f\"Heat Used by Process: {used_heat} MW\")\n", + "print(f\"Heat Stored: {stored_heat} MW\")\n", + "\n", + "# Check if the output meets the process requirement\n", + "if used_heat < process_heat_requirement:\n", + " print(\"Warning: Process heat requirement not met!\")\n", + "else:\n", + " print(\"Process heat requirement met.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6631d1f4-75ae-4b99-8752-b17c1b7579b1", + "metadata": {}, + "outputs": [], + "source": [ + "# Constants\n", + "cop_heat_pump = 2.5 # Coefficient of Performance of the heat pump\n", + "electrical_input = 0.06 # Electrical input to the heat pump in MW\n", + "\n", + "# Process Block Outputs (from earlier calculations)\n", + "cooling_water_output = 0.33 # Cooling water output in MW\n", + "steam_input_to_process = 1.0 # Steam input to the process in MW\n", + "\n", + "# Calculate waste heat from the process\n", + "waste_heat_output = steam_input_to_process - cooling_water_output\n", + "\n", + "# Heat Pump Operation with Waste Heat Recovery\n", + "total_heat_pump_input = electrical_input + waste_heat_output\n", + "heat_pump_output = total_heat_pump_input * cop_heat_pump\n", + "\n", + "# Outputs\n", + "print(f\"Electrical Input to Heat Pump: {electrical_input} MW\")\n", + "print(f\"Waste Heat Input to Heat Pump: {waste_heat_output} MW\")\n", + "print(f\"Total Input to Heat Pump: {total_heat_pump_input} MW\")\n", + "print(f\"Heat Pump Output (to PCM and other uses): {heat_pump_output} MW\")\n", + "\n", + "# Energy balance check\n", + "if heat_pump_output >= steam_input_to_process:\n", + " print(\"Heat pump output meets or exceeds steam requirements for the process.\")\n", + "else:\n", + " print(\"Additional energy required to meet steam requirements.\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}