Add calculation for my home
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
from coefficients import THERMAL_CONDUCTIVITY_HIGH as thermals
|
||||
from coefficients import RSI_HORIZONTAL, RSI_DOWNWARD, RSE, RSI_UPWARD
|
||||
from interfaces import LayeredSurface, FixedUSurface, MaterialLayer
|
||||
from ventilation import Room, RoomKind
|
||||
from report import report
|
||||
import sys
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
situation = "now"
|
||||
else:
|
||||
situation = sys.argv[1]
|
||||
|
||||
# FIXME: Values are a bit coarse, but should be reasonably close to reality
|
||||
protected_volume = 480
|
||||
exterior_wall_area = 110
|
||||
window_area = 43
|
||||
floor_area = 63
|
||||
roof_area = 73
|
||||
area = exterior_wall_area + window_area + floor_area + roof_area
|
||||
average_window_u = 1.19
|
||||
|
||||
rooms = [
|
||||
Room(RoomKind.OPEN_KITCHEN, 3.7 * 3),
|
||||
Room(RoomKind.TOILET, 0.9 * 1.5),
|
||||
Room(RoomKind.OTHER_WET, 1.8 * 3.0), # washing/storage room
|
||||
Room(RoomKind.OTHER_WET, 3.5 * 1.9), # bathroom
|
||||
Room(RoomKind.LIVING_ROOM, 9 * 3.75),
|
||||
Room(RoomKind.OTHER_DRY, 9 * 3.75 / 2), # big room 1
|
||||
Room(RoomKind.OTHER_DRY, 9 * 3.75 / 2), # big room 2
|
||||
Room(RoomKind.OTHER_DRY, 3.3 * 3), # small room
|
||||
]
|
||||
|
||||
floor_layers = [
|
||||
MaterialLayer(thermals["pur"], 0.12),
|
||||
MaterialLayer(thermals["concrete"], 0.20),
|
||||
]
|
||||
|
||||
roof_layers = [
|
||||
MaterialLayer(thermals["particle_board"], 0.01),
|
||||
MaterialLayer(thermals["mineral_wool"], 0.12),
|
||||
MaterialLayer(thermals["pir"], 0.06),
|
||||
]
|
||||
|
||||
if situation == "now":
|
||||
wall_layers = [
|
||||
MaterialLayer(thermals["brick"], 0.11),
|
||||
MaterialLayer(thermals["mineral_wool"], 0.06),
|
||||
MaterialLayer(thermals["brick"], 0.11),
|
||||
]
|
||||
lump_sum_thermal_bridge = 0.20 # W/m^2K
|
||||
situation_dict = {
|
||||
"name": "now",
|
||||
"ventilation_rooms": [], # no active ventilation yet
|
||||
"ventilation_eta": 1.0,
|
||||
"ventilation_v50_area": area,
|
||||
"ventilation_v50_value": 4.0, # maybe 6.0
|
||||
"transmission_interfaces": [
|
||||
LayeredSurface(
|
||||
"exterior wall", exterior_wall_area, wall_layers, RSI_HORIZONTAL, RSE
|
||||
),
|
||||
LayeredSurface(
|
||||
"floor", floor_area, floor_layers, RSI_DOWNWARD, RSI_DOWNWARD, b=0.8
|
||||
),
|
||||
LayeredSurface("roof", roof_area, roof_layers, RSI_UPWARD, RSE),
|
||||
FixedUSurface("windows/doors", window_area, average_window_u),
|
||||
FixedUSurface("thermal bridge", area, lump_sum_thermal_bridge),
|
||||
],
|
||||
"environment_delta_t_worst": 20 - -8,
|
||||
"environment_delta_t_typical": 20 - 4,
|
||||
}
|
||||
elif situation == "future":
|
||||
wall_layers = [
|
||||
MaterialLayer(thermals["brick"], 0.11),
|
||||
MaterialLayer(thermals["mineral_wool"], 0.06),
|
||||
MaterialLayer(thermals["brick"], 0.11),
|
||||
MaterialLayer(thermals["pur"], 0.12),
|
||||
]
|
||||
lump_sum_thermal_bridge = 0.10 # W/m^2K
|
||||
situation_dict = {
|
||||
"name": "future",
|
||||
"ventilation_rooms": rooms,
|
||||
"ventilation_eta": 0.85,
|
||||
"ventilation_v50_area": area,
|
||||
"ventilation_v50_value": 2.0,
|
||||
"transmission_interfaces": [
|
||||
LayeredSurface(
|
||||
"exterior wall", exterior_wall_area, wall_layers, RSI_HORIZONTAL, RSE
|
||||
),
|
||||
LayeredSurface(
|
||||
"floor", floor_area, floor_layers, RSI_DOWNWARD, RSI_DOWNWARD, b=0.8
|
||||
),
|
||||
LayeredSurface("roof", roof_area, roof_layers, RSI_UPWARD, RSE),
|
||||
FixedUSurface("windows/doors", window_area, average_window_u),
|
||||
FixedUSurface("thermal bridge", area, lump_sum_thermal_bridge),
|
||||
],
|
||||
"environment_delta_t_worst": 20 - -8,
|
||||
"environment_delta_t_typical": 20 - 4,
|
||||
}
|
||||
else:
|
||||
raise ValueError("wrong situation")
|
||||
|
||||
report(situation_dict)
|
||||
Reference in New Issue
Block a user