import matplotlib.pyplot as plt
import numpy as np
# Lunile de iarnă și temperaturile medii estimate pentru Bârlad
luni = ["Noiembrie", "Decembrie", "Ianuarie", "Februarie", "Martie"]
temp_medii = [5, -1, -3, 0, 5] # temperaturi exterioare medii (°C)
# Parametrii casei: 111 m², bine izolată
temp_int = 21
coef_pierderi = 70 # W/°C, pierderi termice medii
ore_incalzire = [200, 300, 350, 300, 200] # ore de încălzire/lună
# Calcul necesar termic lunar (kWh)
necesar_kwh_luna = [(temp_int - t) * coef_pierderi / 1000 * ore for t, ore in zip(temp_medii, ore_incalzire)]
# COP estimat pentru fiecare pompă
def cop_curve(temp):
return {
"Hyundai 6 kW": max(2.5, 5 - 0.1 * (7 - temp)),
"Midea 8 kW": max(2.8, 5.2 - 0.08 * (7 - temp)),
"Motan 8 kW": max(2.7, 4.8 - 0.09 * (7 - temp))
}
# Calcul consum electric lunar pentru fiecare pompă
consumuri = {"Hyundai 6 kW": [], "Midea 8 kW": [], "Motan 8 kW": []}
for t, q in zip(temp_medii, necesar_kwh_luna):
cops = cop_curve(t)
for model in consumuri.keys():
consumuri[model].append(q / cops[model])
# Grafic comparativ
plt.figure(figsize=(10,6))
for model, values in consumuri.items():
plt.plot(luni, values, marker='o', label=model)
plt.title("Consum estimat lunar pentru pompe de căldură (Casa 111 m², Bârlad)")
plt.xlabel("Lună")
plt.ylabel("Consum electric estimat (kWh/lună)")
plt.grid(True, linestyle="--", alpha=0.6)
plt.legend()
plt.tight_layout()
plt.show()
aW1wb3J0IG1hdHBsb3RsaWIucHlwbG90IGFzIHBsdAppbXBvcnQgbnVtcHkgYXMgbnAKCiMgTHVuaWxlIGRlIGlhcm7EgyDImWkgdGVtcGVyYXR1cmlsZSBtZWRpaSBlc3RpbWF0ZSBwZW50cnUgQsOicmxhZApsdW5pID0gWyJOb2llbWJyaWUiLCAiRGVjZW1icmllIiwgIklhbnVhcmllIiwgIkZlYnJ1YXJpZSIsICJNYXJ0aWUiXQp0ZW1wX21lZGlpID0gWzUsIC0xLCAtMywgMCwgNV0gICMgdGVtcGVyYXR1cmkgZXh0ZXJpb2FyZSBtZWRpaSAowrBDKQoKIyBQYXJhbWV0cmlpIGNhc2VpOiAxMTEgbcKyLCBiaW5lIGl6b2xhdMSDCnRlbXBfaW50ID0gMjEKY29lZl9waWVyZGVyaSA9IDcwICAjIFcvwrBDLCBwaWVyZGVyaSB0ZXJtaWNlIG1lZGlpCm9yZV9pbmNhbHppcmUgPSBbMjAwLCAzMDAsIDM1MCwgMzAwLCAyMDBdICAjIG9yZSBkZSDDrm5jxINsemlyZS9sdW7EgwoKIyBDYWxjdWwgbmVjZXNhciB0ZXJtaWMgbHVuYXIgKGtXaCkKbmVjZXNhcl9rd2hfbHVuYSA9IFsodGVtcF9pbnQgLSB0KSAqIGNvZWZfcGllcmRlcmkgLyAxMDAwICogb3JlIGZvciB0LCBvcmUgaW4gemlwKHRlbXBfbWVkaWksIG9yZV9pbmNhbHppcmUpXQoKIyBDT1AgZXN0aW1hdCBwZW50cnUgZmllY2FyZSBwb21wxIMKZGVmIGNvcF9jdXJ2ZSh0ZW1wKToKICAgIHJldHVybiB7CiAgICAgICAgIkh5dW5kYWkgNiBrVyI6IG1heCgyLjUsIDUgLSAwLjEgKiAoNyAtIHRlbXApKSwKICAgICAgICAiTWlkZWEgOCBrVyI6IG1heCgyLjgsIDUuMiAtIDAuMDggKiAoNyAtIHRlbXApKSwKICAgICAgICAiTW90YW4gOCBrVyI6IG1heCgyLjcsIDQuOCAtIDAuMDkgKiAoNyAtIHRlbXApKQogICAgfQoKIyBDYWxjdWwgY29uc3VtIGVsZWN0cmljIGx1bmFyIHBlbnRydSBmaWVjYXJlIHBvbXDEgwpjb25zdW11cmkgPSB7Ikh5dW5kYWkgNiBrVyI6IFtdLCAiTWlkZWEgOCBrVyI6IFtdLCAiTW90YW4gOCBrVyI6IFtdfQpmb3IgdCwgcSBpbiB6aXAodGVtcF9tZWRpaSwgbmVjZXNhcl9rd2hfbHVuYSk6CiAgICBjb3BzID0gY29wX2N1cnZlKHQpCiAgICBmb3IgbW9kZWwgaW4gY29uc3VtdXJpLmtleXMoKToKICAgICAgICBjb25zdW11cmlbbW9kZWxdLmFwcGVuZChxIC8gY29wc1ttb2RlbF0pCgojIEdyYWZpYyBjb21wYXJhdGl2CnBsdC5maWd1cmUoZmlnc2l6ZT0oMTAsNikpCmZvciBtb2RlbCwgdmFsdWVzIGluIGNvbnN1bXVyaS5pdGVtcygpOgogICAgcGx0LnBsb3QobHVuaSwgdmFsdWVzLCBtYXJrZXI9J28nLCBsYWJlbD1tb2RlbCkKCnBsdC50aXRsZSgiQ29uc3VtIGVzdGltYXQgbHVuYXIgcGVudHJ1IHBvbXBlIGRlIGPEg2xkdXLEgyAoQ2FzYSAxMTEgbcKyLCBCw6JybGFkKSIpCnBsdC54bGFiZWwoIkx1bsSDIikKcGx0LnlsYWJlbCgiQ29uc3VtIGVsZWN0cmljIGVzdGltYXQgKGtXaC9sdW7EgykiKQpwbHQuZ3JpZChUcnVlLCBsaW5lc3R5bGU9Ii0tIiwgYWxwaGE9MC42KQpwbHQubGVnZW5kKCkKcGx0LnRpZ2h0X2xheW91dCgpCnBsdC5zaG93KCkK