Commit 4f2d23cf authored by Arjuna Nebel's avatar Arjuna Nebel
Browse files

Upload New File

parent dfd698ef
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Aufgabe für die Projektgruppe 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Bearbeiten Sie die folgende Aufgabe:\n",
"\n",
"Ihr Auftraggeber ist eine Familie, welche eine Beratung von Ihnen benötigt. Sie besitzt ein kleines altes Windrad, welches nur für den Eigenverbrauch genutzt wird sowie eine PV Anlage. Die Familie möchte von Ihnen wissen, ob Sie Kosten durch die Investition in verschiedene Komponenten ihres Energiesystems einsparen kann. \n",
"\n",
"Nehmen Sie dabei die folgenden Angaben an:\n",
"* Nennleistung der Windernergieanlage: 5 kW (Keine EEG- Vergütung)\n",
"* Nennleistung der PV-Anlage 9 kWp (70% Kappungsgrenze berücksichtigen)\n",
"* Die Anschlussleistung an das elektrische Netz beträgt 15 kW\n",
"* Die Heizleistung des Erdgaskessel liegt bei 20 kW, der Wirkungsgrad ist 99%\n",
"* Erdgaspreis: 7 cent/kWh\n",
"* Strompreis: 30 cent/kWh\n",
"* EEG-Vergütung PV Anlage: 12,30 cent/kWh\n",
"\n",
"Prüfen und kombinieren Sie mindestens drei der unten aufgeführten Optionen und bewerten Sie diese nach ihrer wirtschaftlicher Vorteilhaftigkeit. Unter den gewählten Optionen sollte sich mindestens eine der beiden Optionen BHKW oder Wärmepumpe befinden:\n",
"- Implementierung eines Heizstabes mit annuitätische Kosten von 50€ (Elektrische Leistung 5 kW, Wirkungsgrad 98%) \n",
"- Installation eines BHKWs mit annuitätische Kosten von 1.200€ (Elektrische Leistung 1kW, elektrischer Wirkungsgrad 16%, Thermischer Wirkungsgrad 80%, nehmen Sie eine feste Stromkennzahl von 0,2 an, ein Beispiel für die Implementierung eines BHKWs in PyPSA finden Sie hier: https://pypsa.org/examples/chp-fixed-heat-power-ratio.html. Eine KWK-Vergütung müssen Sie nicht implementieren, da hier die pauschalierte Zuschlagzahlung gewählt wird.)\n",
"- Beschaffung einer elektrischen Batterie mit annuitätische Kosten von 900€ (8kWh Kapazität, 2,4 kW Speicher und Ladeleistung, einem Gesamtwirkungsgrad von 85%, keine Selbstentladungsverluste) \n",
"- Erweiterung des Heizungssystems um einen thermischen Speicher mit annuitätische Kosten von 100€ (7kWh Kapazität und eine Ein und Ausspeicherleistung von 12 kW, keine Selbstentladungsverluste)\n",
"- Implementierung einer selbst gewählten Wärmepumpe. Hier müssen Sie nach geeigneten Daten zu Leistungen, Kosten und Performance recherchieren. Sie dürfen dabei die Jahresarbeitszahl als konstanten COP annehmen. Gehen Sie weiter davon aus, dass der Annuitätenfaktor für eine solche Investition bei 0,117 liegt.\n",
"\n",
"1) Formulieren Sie die Optimierungsaufgabe\n",
"2) Skizzieren Sie das heutige System und bestimmen Sie die Kosten.\n",
"3) Skizzieren Sie mögliche Erweiterungen und bestimmen Sie die Kosten.\n",
"4) Interpretieren Sie die ihre Ergebnisse und ziehen Sie Schlussfolgerungen.\n",
"5) Bestimmen Sie die Grenzen Ihrer Modellierung und begründen Sie, ob die Ergebnisse trotz der Beschränkungen valide sind.\n",
"\n",
"Der Import der Lastzeitreihen und der Einspeisezeitreihen ist unten schon vorbereitet. Diese repräsentieren das Jahr 2018 in stündlicher Auflösung. Nutzen Sie das in der Übung besprochene JupyterNotebook und schauen Sie sich die Funktionen und den Code dort an, um Ihr Energiesystem aufzubauen, es zu simulieren und auszuwerten. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Import <a class=\"anchor\" id=\"chapter1\"></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Import der benötigten Python Module <a class=\"anchor\" id=\"section_1_1\"></a>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pypsa\n",
"import pandas as pd\n",
"import math\n",
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Import der Daten <a class=\"anchor\" id=\"section_1_2\"></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Die Werte der Zeitreihen sind in einem Unterordner \"data\" als csv-Datein abgelegt. Sie bilden das Jahr 2019 ab und werden mithilfe des Python Moduls pandas eingelesen und als Variablen angelegt. Dabei werden Parameter wie der Separator (hier \";\") und die Indexspalte sowie die Funktion, aus der Indexspalte Zeit und Datenformate auszulesen gesetzt."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pv_infeed = pd.read_csv('./data/pv_infeed.csv', sep = ',', skiprows =3, index_col='time', parse_dates=True)\n",
"wind_infeed = pd.read_csv('./data/wind_infeed.csv', sep = ',', skiprows =3, index_col='time', parse_dates=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"electrical_load = pd.read_csv('./data/SumProfiles_3600s.Electricity.csv', sep = ';', index_col='time', parse_dates=True)\n",
"thermal_load = pd.read_csv('./data/SumProfiles_3600s.Gas.csv', sep = ';', index_col='time', parse_dates=True)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Die eingelesenen Zeitreihen sind so noch nicht vollständig nutzbar. Um die Einspeisung der Wind und PV-Anlage zu normieren wird eine neue Spalte mit dem normierten Leistungsoutput sowie neue Spalten mit der Leistung der Last in den jeweiligen Variablen angelegt."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#Die gemessene PV-Einspeiseganglinie ist von einer Anlage mit einer Leistung von 9 kWp, die der Windenergieanlage mit 5 kW.\n",
"pv_infeed['p_max_pu'] = pv_infeed.electricity/9 \n",
"wind_infeed['p_max_pu'] = wind_infeed.electricity/5 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Um einen kurzen Einblick in die Daten zu erhalten, schauen wir uns alle vier Tabellen an:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df_figure = pd.concat([electrical_load.sum_kwh, thermal_load.sum_kwh, pv_infeed.electricity,wind_infeed.electricity], axis = 1)\n",
"df_figure.columns = ['Elektrische Last', 'Thermische Last', 'PV Einspeisung', 'Wind Einspeisung']\n",
"df_figure.loc['01-01-18 00:00:00':'12-31-18 23:00:00'].plot(subplots = True, figsize=(15,10), title= 'Leistung in kW')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Ab hier können Sie selbst Code schreiben und das Energiesystem simulieren."
]
}
],
"metadata": {
"celltoolbar": "Raw Cell Format",
"kernelspec": {
"display_name": "Python 3",
"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.9.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment