#Infiltration, Ventilation and Distribution losses Calculation: input_data_inf_vent = pd.read_csv("input_inf_vent.csv", sep=";", index_col=0) Output_Inf_Vent = iv.inf_vent_load_calc(input_data_inf_vent) input_data_distribution = pd.read_csv("Input_distribution.csv", sep=";", index_col=0) Losses = iv.Q_distri_Losses(input_data_distribution, Qfen_heating_load, Qfen_cooling_load, QtotOpaque_winter, QtotOpaque_summer, Output_Inf_Vent.iloc[7][0], Output_Inf_Vent.iloc[6][0], Output_Inf_Vent.iloc[8][0]) #Latent results QtotLatent = lat.Qtot_latent(input_data_inf_vent, inputs_list) #Final Results results_DF = pd.read_csv("results_empty.csv", sep=";", index_col=0) results_DF["Heating"] = [ QtotOpaque_winter, Qfen_heating_load, 0, 0, Output_Inf_Vent.iloc[7][0], Losses.iloc[0][0], 0, 0 ] results_DF["Cooling"] = [ QtotOpaque_summer, Qfen_cooling_load, 0, Output_Inf_Vent.iloc[8][0], Output_Inf_Vent.iloc[6][0], Losses.iloc[1][0], 0, QtotLatent ] for column in results_DF.columns.tolist(): sensible_loads = pd.Series(results_DF[column][0:6]) results_DF[column]["Q_sensible_tot"] = sensible_loads.sum() #results_DF.to_csv("results_wholeRFL.csv",sep =";")
) #taking values that are needed for calculation heating and cooling loads for inf+vent and internal gains Output_Inf_Vent = iv.inf_vent_load_calc( input_data_inf_vent ) #calculation of total inf+vent air flow in summer and winter,and calculation of heating and cooling loads for inf +vent and internal gains (just cooling) input_data_distribution = pd.read_csv( "input_distribution.csv", sep=";", index_col=0 ) #list of type of cooling and heating system that is used, rated leakage,number of stories (needed for calculation coefficient for distributive losses) Losses = iv.Q_distri_Losses( input_data_distribution, Qfen_heating_load, Qfen_cooling_load, QtotOpaque_winter, QtotOpaque_summer, Output_Inf_Vent.iloc[7][0], Output_Inf_Vent.iloc[6][0], Output_Inf_Vent.iloc[8][0]) #calculation of distributive losses #Latent results QtotLatent = lat.Qtot_latent(input_data_inf_vent, inputs_list) #summing latent loads (for cooling) #Final Results results_DF = pd.read_csv("results_empty.csv", sep=";", index_col=0) #put all the results in a data frame results_DF["Heating"] = [ QtotOpaque_winter, Qfen_heating_load, 0, 0, Output_Inf_Vent.iloc[7][0], Losses.iloc[0][0], 0, 0 ] results_DF["Cooling"] = [ QtotOpaque_summer, Qfen_cooling_load, 0, Output_Inf_Vent.iloc[8][0], Output_Inf_Vent.iloc[6][0], Losses.iloc[1][0], 0, QtotLatent ] for column in results_DF.columns.tolist(): sensible_loads = pd.Series(results_DF[column][0:6]) #6 not included results_DF[column]["Q_sensible_tot"] = sensible_loads.sum(
def solverr(wallwinter, wallsummer, Windows): Folder_whereThoseTablesAre = r"C:\Users\Famiglia\Documents\Manuel\Polimi\MAGISTRALE\PRIMO ANNO\Primo semestre\Bezhad\EETBS-Assignments-Polimi-2018-2019-\Assignment7_A\ExampleAssignments_fromPreviousYear\example1_assignment8" os.chdir(Folder_whereThoseTablesAre) # Opaque surfaces Calculation: numericalDataDF = pd.read_csv("input_numerical_data.csv", sep=";", index_col=0) #numerical dataDF = pd.read_csv("input_data.csv", sep=";", index_col=0) #string materials_DataFrame = pd.read_csv("resistences_materials.csv", sep=";", index_col=1) #materials and resistances inputWalls_DataFrame_winter = pd.read_csv( wallwinter, sep=";", index_col=0) # reading the wallwinter data inputWalls_DataFrame_summer = pd.read_csv( wallsummer, sep=";", index_col=0) # reading the wallsummer data inputDoor_DataFrame_winter = pd.read_csv( "input_data_door_winter.csv", sep=";", index_col=0) # reading the doorwinter data inputDoor_DataFrame_summer = pd.read_csv( "input_data_door_summer.csv", sep=";", index_col=0) # reading the doorsummer data #calling functions to calculate wall and door loads U_wall_winter = funcOp.Utot_wall_Calculator(inputWalls_DataFrame_winter, materials_DataFrame) U_wall_summer = funcOp.Utot_wall_Calculator(inputWalls_DataFrame_summer, materials_DataFrame) U_door_winter = funcOp.Utot_door_Calculator(inputDoor_DataFrame_winter, materials_DataFrame) U_door_summer = funcOp.Utot_door_Calculator(inputDoor_DataFrame_summer, materials_DataFrame) #printing the Heating and Cooling loads of the opaque elements of the building print "\nThis is the value of Uwall_winter: " + str( U_wall_winter) + " W/(m^2 * K)" print "This is the value of Udoor_winter: " + str( U_door_winter) + " W/(m^2 * K)" print "This is the value of Uceiling: " + str( numericalDataDF["value"]["U_ceiling"]) + " W/(m^2 * K)" QtotOpaque_winter = funcOp.QtotOpaque_winter_calculator( numericalDataDF["value"]["height_windows"], numericalDataDF["value"]["width_windowsS"], numericalDataDF["value"]["width_windowsE"], numericalDataDF["value"]["width_windowsW"], U_wall_winter, numericalDataDF["value"]["U_ceiling"], U_door_winter, inputs_list["deltaTheating"]) print "\tThis is the opaque heating load: " + str( QtotOpaque_winter) + " W\n" print "\nThis is the value of Uwall_summer: " + str( U_wall_summer) + " W/(m^2 * K)" print "This is the value of Udoor_summer: " + str( U_door_summer) + " W/(m^2 * K)" print "This is the value of Uceiling: " + str( numericalDataDF["value"]["U_ceiling"]) + " W/(m^2 * K)" QtotOpaque_summer = funcOp.QtotOpaque_summer_calculator( numericalDataDF["value"]["height_windows"], numericalDataDF["value"]["width_windowsS"], numericalDataDF["value"]["width_windowsE"], numericalDataDF["value"]["width_windowsW"], U_wall_summer, numericalDataDF["value"]["U_ceiling"], U_door_summer, dataDF["characteristic"]["colour_roof"], dataDF["characteristic"]["material_roof"], inputs_list["deltaTcooling"], inputs_list["DRcooling"], dataDF["characteristic"]["walls_surface_type"], dataDF["characteristic"]["ceiling_surface_type"], dataDF["characteristic"]["doors_surface_type"]) print "\tThis is the opaque cooling load: " + str( QtotOpaque_summer) + " W\n" #Fenestration surfaces Calculation: windows_DF = pd.read_csv(Windows, sep=";", index_col=0) #reading fenestration data file windows_DF["Area"] = windows_DF["Height"] * windows_DF[ "Width"] #calculating areas of all the windows Qfen_heating_load = func.Qfen_heating_calculator( windows_DF, inputs_list) #calling function to calculate fenestration heating load print 'The total amount of the heating load for the windows is ' + str( Qfen_heating_load) + ' W.' Qfen_cooling_load = func.Qfen_cooling_calculator( windows_DF, inputs_list) #calling function to calculate fenestration cooling load print 'The total amount of the cooling load for the windows is ' + str( Qfen_cooling_load) + ' W.' #Infiltration, Ventilation and Distribution losses Calculation: input_data_inf_vent = pd.read_csv( "input_inf_vent.csv", sep=";", index_col=0) #importing infiltration and ventilation data Output_Inf_Vent = iv.inf_vent_load_calc(input_data_inf_vent) input_data_distribution = pd.read_csv( "input_distribution.csv", sep=";", index_col=0) #input data for read the distribution table Losses = iv.Q_distri_Losses(input_data_distribution, Qfen_heating_load, Qfen_cooling_load, QtotOpaque_winter, QtotOpaque_summer, Output_Inf_Vent.iloc[7][0], Output_Inf_Vent.iloc[6][0], Output_Inf_Vent.iloc[8][0]) #Latent results QtotLatent = lat.Qtot_latent(input_data_inf_vent, inputs_list) #Final Results results_DF = pd.read_csv("results_empty.csv", sep=";", index_col=0) #put all the results in a data frame results_DF["Heating"] = [ QtotOpaque_winter, Qfen_heating_load, 0, 0, Output_Inf_Vent.iloc[7][0], Losses.iloc[0][0], 0, 0 ] #calculated values of the loads are arranged in dataframes results_DF["Cooling"] = [ QtotOpaque_summer, Qfen_cooling_load, 0, Output_Inf_Vent.iloc[8][0], Output_Inf_Vent.iloc[6][0], Losses.iloc[1][0], 0, QtotLatent ] for column in results_DF.columns.tolist(): sensible_loads = pd.Series(results_DF[column][0:6]) #6 not included results_DF[column]["Q_sensible_tot"] = sensible_loads.sum( ) #sum of all sensible and put it in the table #results_DF.to_csv("results_wholeRFL.csv",sep =";") print "\nThis is the value of sensible internal gain: " + str( Output_Inf_Vent["Results"]["Internal Gain, sensible [W]"]) + " W." print "This is the value of sensible infiltration-ventilation Cooling load: " + str( Output_Inf_Vent["Results"] ["Sensible Infiltration/Ventilation Cooling Load [W]"]) + " W." print "This is the value of sensible infiltration-ventilation Heating load: " + str( Output_Inf_Vent["Results"] ["Sensible Infiltration/Ventilation Heating Load [W]"]) + " W.\n" print "This is the value of Heating distribution losses: " + str( Losses["Results"]["Heating distribution losses"]) + " W." print "This is the value of Cooling distribution losses: " + str( Losses["Results"]["Cooling distribution losses"]) + " W.\n" print "\t\t\t So the total Sensible Heating Load is :" + str( results_DF["Heating"]["Q_sensible_tot"]) + " W." print "\t\t\t So the total Sensible Cooling Load is :" + str( results_DF["Cooling"]["Q_sensible_tot"]) + " W.\n" print "Here is given a table with all the results:\n" print results_DF return results_DF
Qfen_heating_load = func.Qfen_heating_calculator(windows_DF,inputs_list) #Q window heating print 'The total amount of the heating load for the windows is '+str(Qfen_heating_load)+' W.' Qfen_cooling_load = func.Qfen_cooling_calculator(windows_DF,inputs_list) #Q window cooling print 'The total amount of the cooling load for the windows is '+str(Qfen_cooling_load)+' W.' #Infiltration, Ventilation and Distribution losses Calculation: input_data_inf_vent = pd.read_csv("input_inf_vent.csv",sep = ";",index_col=0) Output_Inf_Vent = iv.inf_vent_load_calc(input_data_inf_vent) input_data_distribution = pd.read_csv("input_distribution.csv",sep = ";",index_col=0) #input data to read from the distribution table Losses = iv.Q_distri_Losses(input_data_distribution,Qfen_heating_load,Qfen_cooling_load,QtotOpaque_winter,QtotOpaque_summer,Output_Inf_Vent.iloc[7][0],Output_Inf_Vent.iloc[6][0],Output_Inf_Vent.iloc[8][0]) #Latent results QtotLatent = lat.Qtot_latent (input_data_inf_vent, inputs_list) #Final Results results_DF = pd.read_csv("results_empty.csv",sep=";",index_col=0) #put all the results in a data frame results_DF["Heating"] = [QtotOpaque_winter,Qfen_heating_load,0,0,Output_Inf_Vent.iloc[7][0],Losses.iloc[0][0],0,0] results_DF["Cooling"] = [QtotOpaque_summer,Qfen_cooling_load,0,Output_Inf_Vent.iloc[8][0],Output_Inf_Vent.iloc[6][0],Losses.iloc[1][0],0,QtotLatent] for column in results_DF.columns.tolist(): sensible_loads = pd.Series(results_DF[column][0:6]) results_DF[column]["Q_sensible_tot"] = sensible_loads.sum() #total sensible heat print "Here is given a table with all the results:\n" print results_DF #WORST CASE (--) #WALL: wood_bevel, wood_fiber, com_brick, concrete_heavyweight (70%), wood_stud_2.4 (30%), gypsum #WINDOWS: 1a, Aluminium frame, RollerDarkOpaque, Fcl 0,3