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)