Benzinrechner - berechnet CO2bilanz von Autofahrten 1.0

This commit is contained in:
Wolfgang Nowak 2022-10-27 10:31:34 +02:00
commit a359040f4e
2 changed files with 95 additions and 0 deletions

67
benzinrechner.py Executable file
View file

@ -0,0 +1,67 @@
#!/usr/bin/python3
"""
Berechnet den Benzinverbrauch auf der Basis von Octan. Je nach Treibstoffart und Motortyp können die realen Werte +- 20% abweichen, dieses Programm
liefert aber für den Alltag brauchbare Anhaltswerte.
1 Joule = 1 Wattsekunde = 1 Newtonmeter
1 Joule wird benötigt, um 100 g um 1 Meter anzuheben.
1 Joule = 0,2388 Kalorien
"""
# N-Octan = C8H18 mit Dichte 0.7
carbonatome_pro_mol = 8
hydrogenatome_pro_mol = 18
cgewicht = 12 # Atomgewicht Kohlenstoff
hgewicht = 1 # Atomgewicht Wasserstoff
ogewicht = 16 # Atomgewicht Sauerstoff
molgewco2 = 44 # Molekulargewicht CO2
molgewicht = carbonatome_pro_mol * cgewicht + hydrogenatome_pro_mol * hgewicht
strecke = 0
radfahrcalkm = 20
literprokm = 0
dichte = 0.7
kalorienfaktor = 9000 # kCal pro Kilogramm Sprit
print(
"Berechnet den Benzinverbrauch auf der Basis von Octan.\nJe nach Treibstoffart und Motortyp können die realen Werte +- 20% abweichen, dieses Programm liefert aber für den Alltag brauchbare Anhaltswerte."
)
literprokm = float(input("Wieviele Liter/100km braucht die Karre? ")) / 100
strecke = float(input("Wieviele Kilometer willst du fahren? "))
gesamtverbrauch = strecke * literprokm
spritgewicht = strecke * literprokm * dichte
# Gewichtsverhältnis C zu CO2
gainco2 = (cgewicht + 2 * ogewicht) / cgewicht
# Gewichtsverhältnis H zu H2O
gainh2o = (2 * hgewicht + ogewicht) / 2 * hgewicht
# Von C8H18 sind 8*12/(8*12+18) ~~ 84.2 Gewichtsprozent C und 18/(8*12+18) ~~15.8 Gewichtsprozent H
prozent_c = carbonatome_pro_mol * cgewicht / molgewicht
prozent_h = hydrogenatome_pro_mol * hgewicht / molgewicht
co2 = spritgewicht * prozent_c * gainco2
h2o = spritgewicht * prozent_h * gainh2o
# 200 kCal ---> 10 km Radfahren
kalorienverbrauch = spritgewicht * kalorienfaktor
radtourstrecke = kalorienverbrauch / radfahrcalkm
# Avogadro: 1 Molekülgewicht in Gramm bei Gasen und 20°C braucht 22.4 Liter
# CO2 hat 44
co2volume = co2 / molgewco2 * 22.4 * 1000
print(
"Das verbraucht\n ",
gesamtverbrauch,
"Liter \nbzw\n",
spritgewicht,
"kg Sprit \nund erzeugt\n",
int(co2 * 1000) / 1000,
" kg co2\nmit einem Gesamtvolumen von",
int(co2volume) / 1000,
"\nund\n",
int(h2o * 1000) / 1000,
" kg Wasser.\nFür Nahrung umgerechnet auf Kilokalorien wären das etwa ",
kalorienverbrauch,
"kCal.\nEin Mensch benötigt über den Tag etwa 2000 kCal, 10 km Radfahren auf flachem Land etwa 200.\nDer Sprit, würde, wäre es anders produziert, als Nahrung für ",
radtourstrecke,
"km ausreichen.\nLass es. Iss lieber was Leckeres und nimm das Rad. Oder iss nix und geh zu Fuß, wolltest doch eh abnehmen.",
)

28
minibenzinrechner.py Executable file
View file

@ -0,0 +1,28 @@
#!/usr/bin/python3
cp, hp, cg, hg, og, m2, m3 = 8, 18, 12, 1, 16, 44, 1000
mw = cp * cg + hp * hg
dc = 0.7
lk = float(input("Liter/100km? ")) / 100
st = float(input("Strecke? "))
gv = st * lk
sw = gv * dc
gc2 = (cg + 2 * og) / cg
gh2 = (2 * hg + og) / 2 * hg
p_c = cp * cg / mw
p_h = hp * hg / mw
co2 = sw * p_c * gc2
h2o = sw * p_h * gh2
cvl = co2 / m2 * 22.4 * m3
print(
"",
gv,
"l",
sw,
"kg Sprit\n",
int(co2 * m3) / m3,
"kg",
int(cvl) / m3,
"m³ CO2\n",
int(h2o * m3) / m3,
"kg H2O",
)