def test_create_groundheattransferslabinsulation(self): pyidf.validation_level = ValidationLevel.error obj = GroundHeatTransferSlabInsulation() # real var_rins_r_value_of_under_slab_insulation = 1.1 obj.rins_r_value_of_under_slab_insulation = var_rins_r_value_of_under_slab_insulation # real var_dins_width_of_strip_of_under_slab_insulation = 2.2 obj.dins_width_of_strip_of_under_slab_insulation = var_dins_width_of_strip_of_under_slab_insulation # real var_rvins_r_value_of_vertical_insulation = 3.3 obj.rvins_r_value_of_vertical_insulation = var_rvins_r_value_of_vertical_insulation # real var_zvins_depth_of_vertical_insulation = 4.4 obj.zvins_depth_of_vertical_insulation = var_zvins_depth_of_vertical_insulation # integer var_ivins_flag_is_there_vertical_insulation = 0 obj.ivins_flag_is_there_vertical_insulation = var_ivins_flag_is_there_vertical_insulation idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertAlmostEqual(idf2.groundheattransferslabinsulations[0].rins_r_value_of_under_slab_insulation, var_rins_r_value_of_under_slab_insulation) self.assertAlmostEqual(idf2.groundheattransferslabinsulations[0].dins_width_of_strip_of_under_slab_insulation, var_dins_width_of_strip_of_under_slab_insulation) self.assertAlmostEqual(idf2.groundheattransferslabinsulations[0].rvins_r_value_of_vertical_insulation, var_rvins_r_value_of_vertical_insulation) self.assertAlmostEqual(idf2.groundheattransferslabinsulations[0].zvins_depth_of_vertical_insulation, var_zvins_depth_of_vertical_insulation) self.assertEqual(idf2.groundheattransferslabinsulations[0].ivins_flag_is_there_vertical_insulation, var_ivins_flag_is_there_vertical_insulation)
def test_create_airflownetworkdistributioncomponentleakageratio(self): pyidf.validation_level = ValidationLevel.error obj = AirflowNetworkDistributionComponentLeakageRatio() # alpha var_name = "Name" obj.name = var_name # real var_effective_leakage_ratio = 0.50005 obj.effective_leakage_ratio = var_effective_leakage_ratio # real var_maximum_flow_rate = 0.0001 obj.maximum_flow_rate = var_maximum_flow_rate # real var_reference_pressure_difference = 0.0001 obj.reference_pressure_difference = var_reference_pressure_difference # real var_air_mass_flow_exponent = 0.75 obj.air_mass_flow_exponent = var_air_mass_flow_exponent idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.airflownetworkdistributioncomponentleakageratios[0].name, var_name) self.assertAlmostEqual(idf2.airflownetworkdistributioncomponentleakageratios[0].effective_leakage_ratio, var_effective_leakage_ratio) self.assertAlmostEqual(idf2.airflownetworkdistributioncomponentleakageratios[0].maximum_flow_rate, var_maximum_flow_rate) self.assertAlmostEqual(idf2.airflownetworkdistributioncomponentleakageratios[0].reference_pressure_difference, var_reference_pressure_difference) self.assertAlmostEqual(idf2.airflownetworkdistributioncomponentleakageratios[0].air_mass_flow_exponent, var_air_mass_flow_exponent)
def test_create_thermalstorageicesimple(self): pyidf.validation_level = ValidationLevel.error obj = ThermalStorageIceSimple() # alpha var_name = "Name" obj.name = var_name # alpha var_ice_storage_type = "IceOnCoilInternal" obj.ice_storage_type = var_ice_storage_type # real var_capacity = 3.3 obj.capacity = var_capacity # node var_inlet_node_name = "node|Inlet Node Name" obj.inlet_node_name = var_inlet_node_name # node var_outlet_node_name = "node|Outlet Node Name" obj.outlet_node_name = var_outlet_node_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.thermalstorageicesimples[0].name, var_name) self.assertEqual(idf2.thermalstorageicesimples[0].ice_storage_type, var_ice_storage_type) self.assertAlmostEqual(idf2.thermalstorageicesimples[0].capacity, var_capacity) self.assertEqual(idf2.thermalstorageicesimples[0].inlet_node_name, var_inlet_node_name) self.assertEqual(idf2.thermalstorageicesimples[0].outlet_node_name, var_outlet_node_name)
def test_create_fluidpropertiesglycolconcentration(self): pyidf.validation_level = ValidationLevel.error obj = FluidPropertiesGlycolConcentration() # alpha var_name = "Name" obj.name = var_name # alpha var_glycol_type = "EthyleneGlycol" obj.glycol_type = var_glycol_type # object-list var_user_defined_glycol_name = "object-list|User Defined Glycol Name" obj.user_defined_glycol_name = var_user_defined_glycol_name # real var_glycol_concentration = 0.5 obj.glycol_concentration = var_glycol_concentration idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.fluidpropertiesglycolconcentrations[0].name, var_name) self.assertEqual(idf2.fluidpropertiesglycolconcentrations[0].glycol_type, var_glycol_type) self.assertEqual(idf2.fluidpropertiesglycolconcentrations[0].user_defined_glycol_name, var_user_defined_glycol_name) self.assertAlmostEqual(idf2.fluidpropertiesglycolconcentrations[0].glycol_concentration, var_glycol_concentration)
def test_create_scheduletypelimits(self): pyidf.validation_level = ValidationLevel.error obj = ScheduleTypeLimits() # alpha var_name = "Name" obj.name = var_name # real var_lower_limit_value = 2.2 obj.lower_limit_value = var_lower_limit_value # real var_upper_limit_value = 3.3 obj.upper_limit_value = var_upper_limit_value # alpha var_numeric_type = "Continuous" obj.numeric_type = var_numeric_type # alpha var_unit_type = "Dimensionless" obj.unit_type = var_unit_type idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.scheduletypelimitss[0].name, var_name) self.assertAlmostEqual(idf2.scheduletypelimitss[0].lower_limit_value, var_lower_limit_value) self.assertAlmostEqual(idf2.scheduletypelimitss[0].upper_limit_value, var_upper_limit_value) self.assertEqual(idf2.scheduletypelimitss[0].numeric_type, var_numeric_type) self.assertEqual(idf2.scheduletypelimitss[0].unit_type, var_unit_type)
def test_create_sizingparameters(self): pyidf.validation_level = ValidationLevel.error obj = SizingParameters() # real var_heating_sizing_factor = 0.0001 obj.heating_sizing_factor = var_heating_sizing_factor # real var_cooling_sizing_factor = 0.0001 obj.cooling_sizing_factor = var_cooling_sizing_factor # integer var_timesteps_in_averaging_window = 1 obj.timesteps_in_averaging_window = var_timesteps_in_averaging_window idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertAlmostEqual(idf2.sizingparameterss[0].heating_sizing_factor, var_heating_sizing_factor) self.assertAlmostEqual(idf2.sizingparameterss[0].cooling_sizing_factor, var_cooling_sizing_factor) self.assertEqual(idf2.sizingparameterss[0].timesteps_in_averaging_window, var_timesteps_in_averaging_window)
def test_create_exteriorwaterequipment(self): pyidf.validation_level = ValidationLevel.error obj = ExteriorWaterEquipment() # alpha var_name = "Name" obj.name = var_name # alpha var_fuel_use_type = "Water" obj.fuel_use_type = var_fuel_use_type # object-list var_schedule_name = "object-list|Schedule Name" obj.schedule_name = var_schedule_name # real var_design_level = 0.0 obj.design_level = var_design_level # alpha var_enduse_subcategory = "End-Use Subcategory" obj.enduse_subcategory = var_enduse_subcategory idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.exteriorwaterequipments[0].name, var_name) self.assertEqual(idf2.exteriorwaterequipments[0].fuel_use_type, var_fuel_use_type) self.assertEqual(idf2.exteriorwaterequipments[0].schedule_name, var_schedule_name) self.assertAlmostEqual(idf2.exteriorwaterequipments[0].design_level, var_design_level) self.assertEqual(idf2.exteriorwaterequipments[0].enduse_subcategory, var_enduse_subcategory)
def test_create_exteriorlights(self): pyidf.validation_level = ValidationLevel.error obj = ExteriorLights() # alpha var_name = "Name" obj.name = var_name # object-list var_schedule_name = "object-list|Schedule Name" obj.schedule_name = var_schedule_name # real var_design_level = 0.0 obj.design_level = var_design_level # alpha var_control_option = "ScheduleNameOnly" obj.control_option = var_control_option # alpha var_enduse_subcategory = "End-Use Subcategory" obj.enduse_subcategory = var_enduse_subcategory idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.exteriorlightss[0].name, var_name) self.assertEqual(idf2.exteriorlightss[0].schedule_name, var_schedule_name) self.assertAlmostEqual(idf2.exteriorlightss[0].design_level, var_design_level) self.assertEqual(idf2.exteriorlightss[0].control_option, var_control_option) self.assertEqual(idf2.exteriorlightss[0].enduse_subcategory, var_enduse_subcategory)
def test_create_shadingpropertyreflectance(self): pyidf.validation_level = ValidationLevel.error obj = ShadingPropertyReflectance() # object-list var_shading_surface_name = "object-list|Shading Surface Name" obj.shading_surface_name = var_shading_surface_name # real var_diffuse_solar_reflectance_of_unglazed_part_of_shading_surface = 0.5 obj.diffuse_solar_reflectance_of_unglazed_part_of_shading_surface = var_diffuse_solar_reflectance_of_unglazed_part_of_shading_surface # real var_diffuse_visible_reflectance_of_unglazed_part_of_shading_surface = 0.5 obj.diffuse_visible_reflectance_of_unglazed_part_of_shading_surface = var_diffuse_visible_reflectance_of_unglazed_part_of_shading_surface # real var_fraction_of_shading_surface_that_is_glazed = 0.5 obj.fraction_of_shading_surface_that_is_glazed = var_fraction_of_shading_surface_that_is_glazed # alpha var_glazing_construction_name = "Glazing Construction Name" obj.glazing_construction_name = var_glazing_construction_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.shadingpropertyreflectances[0].shading_surface_name, var_shading_surface_name) self.assertAlmostEqual(idf2.shadingpropertyreflectances[0].diffuse_solar_reflectance_of_unglazed_part_of_shading_surface, var_diffuse_solar_reflectance_of_unglazed_part_of_shading_surface) self.assertAlmostEqual(idf2.shadingpropertyreflectances[0].diffuse_visible_reflectance_of_unglazed_part_of_shading_surface, var_diffuse_visible_reflectance_of_unglazed_part_of_shading_surface) self.assertAlmostEqual(idf2.shadingpropertyreflectances[0].fraction_of_shading_surface_that_is_glazed, var_fraction_of_shading_surface_that_is_glazed) self.assertEqual(idf2.shadingpropertyreflectances[0].glazing_construction_name, var_glazing_construction_name)
def test_create_groundheattransferslabmanualgrid(self): pyidf.validation_level = ValidationLevel.error obj = GroundHeatTransferSlabManualGrid() # real var_nx_number_of_cells_in_the_x_direction = 1.0 obj.nx_number_of_cells_in_the_x_direction = var_nx_number_of_cells_in_the_x_direction # real var_ny_number_of_cells_in_the_y_direction = 1.0 obj.ny_number_of_cells_in_the_y_direction = var_ny_number_of_cells_in_the_y_direction # real var_nz_number_of_cells_in_the_z_direction = 1.0 obj.nz_number_of_cells_in_the_z_direction = var_nz_number_of_cells_in_the_z_direction # real var_ibox_x_direction_cell_indicator_of_slab_edge = 4.4 obj.ibox_x_direction_cell_indicator_of_slab_edge = var_ibox_x_direction_cell_indicator_of_slab_edge # real var_jbox_y_direction_cell_indicator_of_slab_edge = 5.5 obj.jbox_y_direction_cell_indicator_of_slab_edge = var_jbox_y_direction_cell_indicator_of_slab_edge idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertAlmostEqual(idf2.groundheattransferslabmanualgrids[0].nx_number_of_cells_in_the_x_direction, var_nx_number_of_cells_in_the_x_direction) self.assertAlmostEqual(idf2.groundheattransferslabmanualgrids[0].ny_number_of_cells_in_the_y_direction, var_ny_number_of_cells_in_the_y_direction) self.assertAlmostEqual(idf2.groundheattransferslabmanualgrids[0].nz_number_of_cells_in_the_z_direction, var_nz_number_of_cells_in_the_z_direction) self.assertAlmostEqual(idf2.groundheattransferslabmanualgrids[0].ibox_x_direction_cell_indicator_of_slab_edge, var_ibox_x_direction_cell_indicator_of_slab_edge) self.assertAlmostEqual(idf2.groundheattransferslabmanualgrids[0].jbox_y_direction_cell_indicator_of_slab_edge, var_jbox_y_direction_cell_indicator_of_slab_edge)
def test_create_setpointmanagersinglezoneonestageheating(self): pyidf.validation_level = ValidationLevel.error obj = SetpointManagerSingleZoneOneStageHeating() # alpha var_name = "Name" obj.name = var_name # real var_heating_stage_on_supply_air_setpoint_temperature = 2.2 obj.heating_stage_on_supply_air_setpoint_temperature = var_heating_stage_on_supply_air_setpoint_temperature # real var_heating_stage_off_supply_air_setpoint_temperature = 3.3 obj.heating_stage_off_supply_air_setpoint_temperature = var_heating_stage_off_supply_air_setpoint_temperature # object-list var_control_zone_name = "object-list|Control Zone Name" obj.control_zone_name = var_control_zone_name # node var_setpoint_node_or_nodelist_name = "node|Setpoint Node or NodeList Name" obj.setpoint_node_or_nodelist_name = var_setpoint_node_or_nodelist_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.setpointmanagersinglezoneonestageheatings[0].name, var_name) self.assertAlmostEqual(idf2.setpointmanagersinglezoneonestageheatings[0].heating_stage_on_supply_air_setpoint_temperature, var_heating_stage_on_supply_air_setpoint_temperature) self.assertAlmostEqual(idf2.setpointmanagersinglezoneonestageheatings[0].heating_stage_off_supply_air_setpoint_temperature, var_heating_stage_off_supply_air_setpoint_temperature) self.assertEqual(idf2.setpointmanagersinglezoneonestageheatings[0].control_zone_name, var_control_zone_name) self.assertEqual(idf2.setpointmanagersinglezoneonestageheatings[0].setpoint_node_or_nodelist_name, var_setpoint_node_or_nodelist_name)
def test_create_airflownetworkdistributionnode(self): pyidf.validation_level = ValidationLevel.error obj = AirflowNetworkDistributionNode() # alpha var_name = "Name" obj.name = var_name # alpha var_component_name_or_node_name = "Component Name or Node Name" obj.component_name_or_node_name = var_component_name_or_node_name # alpha var_component_object_type_or_node_type = "AirLoopHVAC:ZoneMixer" obj.component_object_type_or_node_type = var_component_object_type_or_node_type # real var_node_height = 4.4 obj.node_height = var_node_height idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.airflownetworkdistributionnodes[0].name, var_name) self.assertEqual(idf2.airflownetworkdistributionnodes[0].component_name_or_node_name, var_component_name_or_node_name) self.assertEqual(idf2.airflownetworkdistributionnodes[0].component_object_type_or_node_type, var_component_object_type_or_node_type) self.assertAlmostEqual(idf2.airflownetworkdistributionnodes[0].node_height, var_node_height)
def test_create_weatherpropertyskytemperature(self): pyidf.validation_level = ValidationLevel.error obj = WeatherPropertySkyTemperature() # object-list var_name = "object-list|Name" obj.name = var_name # alpha var_calculation_type = "ScheduleValue" obj.calculation_type = var_calculation_type # object-list var_schedule_name = "object-list|Schedule Name" obj.schedule_name = var_schedule_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.weatherpropertyskytemperatures[0].name, var_name) self.assertEqual(idf2.weatherpropertyskytemperatures[0].calculation_type, var_calculation_type) self.assertEqual(idf2.weatherpropertyskytemperatures[0].schedule_name, var_schedule_name)
def test_create_roomairnodeairflownetworkadjacentsurfacelist(self): pyidf.validation_level = ValidationLevel.error obj = RoomAirNodeAirflowNetworkAdjacentSurfaceList() # Alpha var_name = "Alpha|Name" obj.name = var_name paras = [] var_surface_1_name = "object-list|Surface 1 Name" paras.append(var_surface_1_name) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.roomairnodeairflownetworkadjacentsurfacelists[0].name, var_name) index = obj.extensible_field_index("Surface 1 Name") self.assertEqual(idf2.roomairnodeairflownetworkadjacentsurfacelists[0].extensibles[0][index], var_surface_1_name)
def test_create_zonecontaminantsourceandsinkgenericcutoffmodel(self): pyidf.validation_level = ValidationLevel.error obj = ZoneContaminantSourceAndSinkGenericCutoffModel() # alpha var_name = "Name" obj.name = var_name # object-list var_zone_name = "object-list|Zone Name" obj.zone_name = var_zone_name # real var_design_generation_rate_coefficient = 0.0 obj.design_generation_rate_coefficient = var_design_generation_rate_coefficient # object-list var_schedule_name = "object-list|Schedule Name" obj.schedule_name = var_schedule_name # real var_cutoff_generic_contaminant_at_which_emission_ceases = 0.0001 obj.cutoff_generic_contaminant_at_which_emission_ceases = var_cutoff_generic_contaminant_at_which_emission_ceases idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.zonecontaminantsourceandsinkgenericcutoffmodels[0].name, var_name) self.assertEqual(idf2.zonecontaminantsourceandsinkgenericcutoffmodels[0].zone_name, var_zone_name) self.assertAlmostEqual(idf2.zonecontaminantsourceandsinkgenericcutoffmodels[0].design_generation_rate_coefficient, var_design_generation_rate_coefficient) self.assertEqual(idf2.zonecontaminantsourceandsinkgenericcutoffmodels[0].schedule_name, var_schedule_name) self.assertAlmostEqual(idf2.zonecontaminantsourceandsinkgenericcutoffmodels[0].cutoff_generic_contaminant_at_which_emission_ceases, var_cutoff_generic_contaminant_at_which_emission_ceases)
def test_create_energymanagementsystemtrendvariable(self): pyidf.validation_level = ValidationLevel.error obj = EnergyManagementSystemTrendVariable() # alpha var_name = "Name" obj.name = var_name # alpha var_ems_variable_name = "EMS Variable Name" obj.ems_variable_name = var_ems_variable_name # integer var_number_of_timesteps_to_be_logged = 1 obj.number_of_timesteps_to_be_logged = var_number_of_timesteps_to_be_logged idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.energymanagementsystemtrendvariables[0].name, var_name) self.assertEqual(idf2.energymanagementsystemtrendvariables[0].ems_variable_name, var_ems_variable_name) self.assertEqual(idf2.energymanagementsystemtrendvariables[0].number_of_timesteps_to_be_logged, var_number_of_timesteps_to_be_logged)
def test_create_airflownetworkmultizoneexternalnode(self): pyidf.validation_level = ValidationLevel.error obj = AirflowNetworkMultiZoneExternalNode() # alpha var_name = "Name" obj.name = var_name # real var_external_node_height = 2.2 obj.external_node_height = var_external_node_height # object-list var_wind_pressure_coefficient_values_object_name = "object-list|Wind Pressure Coefficient Values Object Name" obj.wind_pressure_coefficient_values_object_name = var_wind_pressure_coefficient_values_object_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.airflownetworkmultizoneexternalnodes[0].name, var_name) self.assertAlmostEqual(idf2.airflownetworkmultizoneexternalnodes[0].external_node_height, var_external_node_height) self.assertEqual(idf2.airflownetworkmultizoneexternalnodes[0].wind_pressure_coefficient_values_object_name, var_wind_pressure_coefficient_values_object_name)
def test_create_connectormixer(self): pyidf.validation_level = ValidationLevel.error obj = ConnectorMixer() # alpha var_name = "Name" obj.name = var_name # object-list var_outlet_branch_name = "object-list|Outlet Branch Name" obj.outlet_branch_name = var_outlet_branch_name paras = [] var_inlet_branch_name = "object-list|Inlet Branch Name" paras.append(var_inlet_branch_name) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.connectormixers[0].name, var_name) self.assertEqual(idf2.connectormixers[0].outlet_branch_name, var_outlet_branch_name) index = obj.extensible_field_index("Inlet Branch Name") self.assertEqual(idf2.connectormixers[0].extensibles[0][index], var_inlet_branch_name)
def test_create_thermostatsetpointdualsetpoint(self): pyidf.validation_level = ValidationLevel.error obj = ThermostatSetpointDualSetpoint() # alpha var_name = "Name" obj.name = var_name # object-list var_heating_setpoint_temperature_schedule_name = "object-list|Heating Setpoint Temperature Schedule Name" obj.heating_setpoint_temperature_schedule_name = var_heating_setpoint_temperature_schedule_name # object-list var_cooling_setpoint_temperature_schedule_name = "object-list|Cooling Setpoint Temperature Schedule Name" obj.cooling_setpoint_temperature_schedule_name = var_cooling_setpoint_temperature_schedule_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.thermostatsetpointdualsetpoints[0].name, var_name) self.assertEqual(idf2.thermostatsetpointdualsetpoints[0].heating_setpoint_temperature_schedule_name, var_heating_setpoint_temperature_schedule_name) self.assertEqual(idf2.thermostatsetpointdualsetpoints[0].cooling_setpoint_temperature_schedule_name, var_cooling_setpoint_temperature_schedule_name)
def test_create_energymanagementsystemcurveortableindexvariable(self): pyidf.validation_level = ValidationLevel.error obj = EnergyManagementSystemCurveOrTableIndexVariable() # alpha var_name = "Name" obj.name = var_name # object-list var_curve_or_table_object_name = "object-list|Curve or Table Object Name" obj.curve_or_table_object_name = var_curve_or_table_object_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode="r") as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.energymanagementsystemcurveortableindexvariables[0].name, var_name) self.assertEqual( idf2.energymanagementsystemcurveortableindexvariables[0].curve_or_table_object_name, var_curve_or_table_object_name, )
def test_create_setpointmanagersinglezonehumiditymaximum(self): pyidf.validation_level = ValidationLevel.error obj = SetpointManagerSingleZoneHumidityMaximum() # alpha var_name = "Name" obj.name = var_name # alpha var_control_variable = "Control Variable" obj.control_variable = var_control_variable # alpha var_schedule_name = "Schedule Name" obj.schedule_name = var_schedule_name # node var_setpoint_node_or_nodelist_name = "node|Setpoint Node or NodeList Name" obj.setpoint_node_or_nodelist_name = var_setpoint_node_or_nodelist_name # node var_control_zone_air_node_name = "node|Control Zone Air Node Name" obj.control_zone_air_node_name = var_control_zone_air_node_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.setpointmanagersinglezonehumiditymaximums[0].name, var_name) self.assertEqual(idf2.setpointmanagersinglezonehumiditymaximums[0].control_variable, var_control_variable) self.assertEqual(idf2.setpointmanagersinglezonehumiditymaximums[0].schedule_name, var_schedule_name) self.assertEqual(idf2.setpointmanagersinglezonehumiditymaximums[0].setpoint_node_or_nodelist_name, var_setpoint_node_or_nodelist_name) self.assertEqual(idf2.setpointmanagersinglezonehumiditymaximums[0].control_zone_air_node_name, var_control_zone_air_node_name)
def test_create_airflownetworkintrazonelinkage(self): pyidf.validation_level = ValidationLevel.error obj = AirflowNetworkIntraZoneLinkage() # alpha var_name = "Name" obj.name = var_name # alpha var_node_1_name = "Node 1 Name" obj.node_1_name = var_node_1_name # alpha var_node_2_name = "Node 2 Name" obj.node_2_name = var_node_2_name # object-list var_component_name = "object-list|Component Name" obj.component_name = var_component_name # object-list var_airflownetworkmultizonesurface_name = "object-list|AirflowNetwork:MultiZone:Surface Name" obj.airflownetworkmultizonesurface_name = var_airflownetworkmultizonesurface_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.airflownetworkintrazonelinkages[0].name, var_name) self.assertEqual(idf2.airflownetworkintrazonelinkages[0].node_1_name, var_node_1_name) self.assertEqual(idf2.airflownetworkintrazonelinkages[0].node_2_name, var_node_2_name) self.assertEqual(idf2.airflownetworkintrazonelinkages[0].component_name, var_component_name) self.assertEqual(idf2.airflownetworkintrazonelinkages[0].airflownetworkmultizonesurface_name, var_airflownetworkmultizonesurface_name)
def test_create_heatbalancesettingsconductionfinitedifference(self): pyidf.validation_level = ValidationLevel.error obj = HeatBalanceSettingsConductionFiniteDifference() # alpha var_difference_scheme = "CrankNicholsonSecondOrder" obj.difference_scheme = var_difference_scheme # real var_space_discretization_constant = 2.2 obj.space_discretization_constant = var_space_discretization_constant # real var_relaxation_factor = 0.505 obj.relaxation_factor = var_relaxation_factor # real var_inside_face_surface_temperature_convergence_criteria = 0.00500005 obj.inside_face_surface_temperature_convergence_criteria = var_inside_face_surface_temperature_convergence_criteria idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.heatbalancesettingsconductionfinitedifferences[0].difference_scheme, var_difference_scheme) self.assertAlmostEqual(idf2.heatbalancesettingsconductionfinitedifferences[0].space_discretization_constant, var_space_discretization_constant) self.assertAlmostEqual(idf2.heatbalancesettingsconductionfinitedifferences[0].relaxation_factor, var_relaxation_factor) self.assertAlmostEqual(idf2.heatbalancesettingsconductionfinitedifferences[0].inside_face_surface_temperature_convergence_criteria, var_inside_face_surface_temperature_convergence_criteria)
def test_create_surfacecontrolmovableinsulation(self): pyidf.validation_level = ValidationLevel.error obj = SurfaceControlMovableInsulation() # alpha var_insulation_type = "Outside" obj.insulation_type = var_insulation_type # object-list var_surface_name = "object-list|Surface Name" obj.surface_name = var_surface_name # object-list var_material_name = "object-list|Material Name" obj.material_name = var_material_name # object-list var_schedule_name = "object-list|Schedule Name" obj.schedule_name = var_schedule_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.surfacecontrolmovableinsulations[0].insulation_type, var_insulation_type) self.assertEqual(idf2.surfacecontrolmovableinsulations[0].surface_name, var_surface_name) self.assertEqual(idf2.surfacecontrolmovableinsulations[0].material_name, var_material_name) self.assertEqual(idf2.surfacecontrolmovableinsulations[0].schedule_name, var_schedule_name)
def test_create_outputtablemonthly(self): pyidf.validation_level = ValidationLevel.error obj = OutputTableMonthly() # alpha var_name = "Name" obj.name = var_name # integer var_digits_after_decimal = 5 obj.digits_after_decimal = var_digits_after_decimal paras = [] var_variable_or_meter_1_name = "external-list|Variable or Meter 1 Name" paras.append(var_variable_or_meter_1_name) var_aggregation_type_for_variable_or_meter_1 = "SumOrAverage" paras.append(var_aggregation_type_for_variable_or_meter_1) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.outputtablemonthlys[0].name, var_name) self.assertEqual(idf2.outputtablemonthlys[0].digits_after_decimal, var_digits_after_decimal) index = obj.extensible_field_index("Variable or Meter 1 Name") self.assertEqual(idf2.outputtablemonthlys[0].extensibles[0][index], var_variable_or_meter_1_name) index = obj.extensible_field_index("Aggregation Type for Variable or Meter 1") self.assertEqual(idf2.outputtablemonthlys[0].extensibles[0][index], var_aggregation_type_for_variable_or_meter_1)
def test_create_surfacepropertyheattransferalgorithmconstruction(self): pyidf.validation_level = ValidationLevel.error obj = SurfacePropertyHeatTransferAlgorithmConstruction() # alpha var_name = "Name" obj.name = var_name # alpha var_algorithm = "ConductionTransferFunction" obj.algorithm = var_algorithm # object-list var_construction_name = "object-list|Construction Name" obj.construction_name = var_construction_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.surfacepropertyheattransferalgorithmconstructions[0].name, var_name) self.assertEqual(idf2.surfacepropertyheattransferalgorithmconstructions[0].algorithm, var_algorithm) self.assertEqual(idf2.surfacepropertyheattransferalgorithmconstructions[0].construction_name, var_construction_name)
def test_create_roomairsettingsonenodedisplacementventilation(self): pyidf.validation_level = ValidationLevel.error obj = RoomAirSettingsOneNodeDisplacementVentilation() # object-list var_zone_name = "object-list|Zone Name" obj.zone_name = var_zone_name # real var_fraction_of_convective_internal_loads_added_to_floor_air = 0.5 obj.fraction_of_convective_internal_loads_added_to_floor_air = var_fraction_of_convective_internal_loads_added_to_floor_air # real var_fraction_of_infiltration_internal_loads_added_to_floor_air = 0.5 obj.fraction_of_infiltration_internal_loads_added_to_floor_air = var_fraction_of_infiltration_internal_loads_added_to_floor_air idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.roomairsettingsonenodedisplacementventilations[0].zone_name, var_zone_name) self.assertAlmostEqual(idf2.roomairsettingsonenodedisplacementventilations[0].fraction_of_convective_internal_loads_added_to_floor_air, var_fraction_of_convective_internal_loads_added_to_floor_air) self.assertAlmostEqual(idf2.roomairsettingsonenodedisplacementventilations[0].fraction_of_infiltration_internal_loads_added_to_floor_air, var_fraction_of_infiltration_internal_loads_added_to_floor_air)
def test_create_refrigerationcompressorlist(self): pyidf.validation_level = ValidationLevel.error obj = RefrigerationCompressorList() # alpha var_name = "Name" obj.name = var_name paras = [] var_refrigeration_compressor_1_name = "object-list|Refrigeration Compressor 1 Name" paras.append(var_refrigeration_compressor_1_name) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.refrigerationcompressorlists[0].name, var_name) index = obj.extensible_field_index("Refrigeration Compressor 1 Name") self.assertEqual(idf2.refrigerationcompressorlists[0].extensibles[0][index], var_refrigeration_compressor_1_name)
def test_create_constructioncfactorundergroundwall(self): pyidf.validation_level = ValidationLevel.error obj = ConstructionCfactorUndergroundWall() # alpha var_name = "Name" obj.name = var_name # real var_cfactor = 0.0001 obj.cfactor = var_cfactor # real var_height = 0.0001 obj.height = var_height idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.constructioncfactorundergroundwalls[0].name, var_name) self.assertAlmostEqual(idf2.constructioncfactorundergroundwalls[0].cfactor, var_cfactor) self.assertAlmostEqual(idf2.constructioncfactorundergroundwalls[0].height, var_height)
def test_create_airterminalsingleductuncontrolled(self): pyidf.validation_level = ValidationLevel.error obj = AirTerminalSingleDuctUncontrolled() # alpha var_name = "Name" obj.name = var_name # object-list var_availability_schedule_name = "object-list|Availability Schedule Name" obj.availability_schedule_name = var_availability_schedule_name # node var_zone_supply_air_node_name = "node|Zone Supply Air Node Name" obj.zone_supply_air_node_name = var_zone_supply_air_node_name # real var_maximum_air_flow_rate = 0.0 obj.maximum_air_flow_rate = var_maximum_air_flow_rate idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.airterminalsingleductuncontrolleds[0].name, var_name) self.assertEqual(idf2.airterminalsingleductuncontrolleds[0].availability_schedule_name, var_availability_schedule_name) self.assertEqual(idf2.airterminalsingleductuncontrolleds[0].zone_supply_air_node_name, var_zone_supply_air_node_name) self.assertAlmostEqual(idf2.airterminalsingleductuncontrolleds[0].maximum_air_flow_rate, var_maximum_air_flow_rate)
def test_create_zonemixing(self): pyidf.validation_level = ValidationLevel.error obj = ZoneMixing() # alpha var_name = "Name" obj.name = var_name # object-list var_zone_name = "object-list|Zone Name" obj.zone_name = var_zone_name # object-list var_schedule_name = "object-list|Schedule Name" obj.schedule_name = var_schedule_name # alpha var_design_flow_rate_calculation_method = "Flow/Zone" obj.design_flow_rate_calculation_method = var_design_flow_rate_calculation_method # real var_design_flow_rate = 0.0 obj.design_flow_rate = var_design_flow_rate # real var_flow_rate_per_zone_floor_area = 0.0 obj.flow_rate_per_zone_floor_area = var_flow_rate_per_zone_floor_area # real var_flow_rate_per_person = 0.0 obj.flow_rate_per_person = var_flow_rate_per_person # real var_air_changes_per_hour = 0.0 obj.air_changes_per_hour = var_air_changes_per_hour # object-list var_source_zone_name = "object-list|Source Zone Name" obj.source_zone_name = var_source_zone_name # real var_delta_temperature = 10.1 obj.delta_temperature = var_delta_temperature # object-list var_delta_temperature_schedule_name = "object-list|Delta Temperature Schedule Name" obj.delta_temperature_schedule_name = var_delta_temperature_schedule_name # object-list var_minimum_zone_temperature_schedule_name = "object-list|Minimum Zone Temperature Schedule Name" obj.minimum_zone_temperature_schedule_name = var_minimum_zone_temperature_schedule_name # object-list var_maximum_zone_temperature_schedule_name = "object-list|Maximum Zone Temperature Schedule Name" obj.maximum_zone_temperature_schedule_name = var_maximum_zone_temperature_schedule_name # object-list var_minimum_source_zone_temperature_schedule_name = "object-list|Minimum Source Zone Temperature Schedule Name" obj.minimum_source_zone_temperature_schedule_name = var_minimum_source_zone_temperature_schedule_name # object-list var_maximum_source_zone_temperature_schedule_name = "object-list|Maximum Source Zone Temperature Schedule Name" obj.maximum_source_zone_temperature_schedule_name = var_maximum_source_zone_temperature_schedule_name # object-list var_minimum_outdoor_temperature_schedule_name = "object-list|Minimum Outdoor Temperature Schedule Name" obj.minimum_outdoor_temperature_schedule_name = var_minimum_outdoor_temperature_schedule_name # object-list var_maximum_outdoor_temperature_schedule_name = "object-list|Maximum Outdoor Temperature Schedule Name" obj.maximum_outdoor_temperature_schedule_name = var_maximum_outdoor_temperature_schedule_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.zonemixings[0].name, var_name) self.assertEqual(idf2.zonemixings[0].zone_name, var_zone_name) self.assertEqual(idf2.zonemixings[0].schedule_name, var_schedule_name) self.assertEqual(idf2.zonemixings[0].design_flow_rate_calculation_method, var_design_flow_rate_calculation_method) self.assertAlmostEqual(idf2.zonemixings[0].design_flow_rate, var_design_flow_rate) self.assertAlmostEqual(idf2.zonemixings[0].flow_rate_per_zone_floor_area, var_flow_rate_per_zone_floor_area) self.assertAlmostEqual(idf2.zonemixings[0].flow_rate_per_person, var_flow_rate_per_person) self.assertAlmostEqual(idf2.zonemixings[0].air_changes_per_hour, var_air_changes_per_hour) self.assertEqual(idf2.zonemixings[0].source_zone_name, var_source_zone_name) self.assertAlmostEqual(idf2.zonemixings[0].delta_temperature, var_delta_temperature) self.assertEqual(idf2.zonemixings[0].delta_temperature_schedule_name, var_delta_temperature_schedule_name) self.assertEqual(idf2.zonemixings[0].minimum_zone_temperature_schedule_name, var_minimum_zone_temperature_schedule_name) self.assertEqual(idf2.zonemixings[0].maximum_zone_temperature_schedule_name, var_maximum_zone_temperature_schedule_name) self.assertEqual(idf2.zonemixings[0].minimum_source_zone_temperature_schedule_name, var_minimum_source_zone_temperature_schedule_name) self.assertEqual(idf2.zonemixings[0].maximum_source_zone_temperature_schedule_name, var_maximum_source_zone_temperature_schedule_name) self.assertEqual(idf2.zonemixings[0].minimum_outdoor_temperature_schedule_name, var_minimum_outdoor_temperature_schedule_name) self.assertEqual(idf2.zonemixings[0].maximum_outdoor_temperature_schedule_name, var_maximum_outdoor_temperature_schedule_name)
def test_create_chillerelectriceir(self): pyidf.validation_level = ValidationLevel.error obj = ChillerElectricEir() # alpha var_name = "Name" obj.name = var_name # real var_reference_capacity = 0.0001 obj.reference_capacity = var_reference_capacity # real var_reference_cop = 0.0001 obj.reference_cop = var_reference_cop # real var_reference_leaving_chilled_water_temperature = 4.4 obj.reference_leaving_chilled_water_temperature = var_reference_leaving_chilled_water_temperature # real var_reference_entering_condenser_fluid_temperature = 5.5 obj.reference_entering_condenser_fluid_temperature = var_reference_entering_condenser_fluid_temperature # real var_reference_chilled_water_flow_rate = 0.0001 obj.reference_chilled_water_flow_rate = var_reference_chilled_water_flow_rate # real var_reference_condenser_fluid_flow_rate = 0.0 obj.reference_condenser_fluid_flow_rate = var_reference_condenser_fluid_flow_rate # object-list var_cooling_capacity_function_of_temperature_curve_name = "object-list|Cooling Capacity Function of Temperature Curve Name" obj.cooling_capacity_function_of_temperature_curve_name = var_cooling_capacity_function_of_temperature_curve_name # object-list var_electric_input_to_cooling_output_ratio_function_of_temperature_curve_name = "object-list|Electric Input to Cooling Output Ratio Function of Temperature Curve Name" obj.electric_input_to_cooling_output_ratio_function_of_temperature_curve_name = var_electric_input_to_cooling_output_ratio_function_of_temperature_curve_name # object-list var_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name = "object-list|Electric Input to Cooling Output Ratio Function of Part Load Ratio Curve Name" obj.electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name = var_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name # real var_minimum_part_load_ratio = 0.0 obj.minimum_part_load_ratio = var_minimum_part_load_ratio # real var_maximum_part_load_ratio = 0.0001 obj.maximum_part_load_ratio = var_maximum_part_load_ratio # real var_optimum_part_load_ratio = 0.0001 obj.optimum_part_load_ratio = var_optimum_part_load_ratio # real var_minimum_unloading_ratio = 0.0 obj.minimum_unloading_ratio = var_minimum_unloading_ratio # node var_chilled_water_inlet_node_name = "node|Chilled Water Inlet Node Name" obj.chilled_water_inlet_node_name = var_chilled_water_inlet_node_name # node var_chilled_water_outlet_node_name = "node|Chilled Water Outlet Node Name" obj.chilled_water_outlet_node_name = var_chilled_water_outlet_node_name # node var_condenser_inlet_node_name = "node|Condenser Inlet Node Name" obj.condenser_inlet_node_name = var_condenser_inlet_node_name # node var_condenser_outlet_node_name = "node|Condenser Outlet Node Name" obj.condenser_outlet_node_name = var_condenser_outlet_node_name # alpha var_condenser_type = "AirCooled" obj.condenser_type = var_condenser_type # real var_condenser_fan_power_ratio = 0.0 obj.condenser_fan_power_ratio = var_condenser_fan_power_ratio # real var_fraction_of_compressor_electric_consumption_rejected_by_condenser = 0.50005 obj.fraction_of_compressor_electric_consumption_rejected_by_condenser = var_fraction_of_compressor_electric_consumption_rejected_by_condenser # real var_leaving_chilled_water_lower_temperature_limit = 22.22 obj.leaving_chilled_water_lower_temperature_limit = var_leaving_chilled_water_lower_temperature_limit # alpha var_chiller_flow_mode = "ConstantFlow" obj.chiller_flow_mode = var_chiller_flow_mode # real var_design_heat_recovery_water_flow_rate = 0.0 obj.design_heat_recovery_water_flow_rate = var_design_heat_recovery_water_flow_rate # node var_heat_recovery_inlet_node_name = "node|Heat Recovery Inlet Node Name" obj.heat_recovery_inlet_node_name = var_heat_recovery_inlet_node_name # node var_heat_recovery_outlet_node_name = "node|Heat Recovery Outlet Node Name" obj.heat_recovery_outlet_node_name = var_heat_recovery_outlet_node_name # real var_sizing_factor = 0.0001 obj.sizing_factor = var_sizing_factor # real var_basin_heater_capacity = 0.0 obj.basin_heater_capacity = var_basin_heater_capacity # real var_basin_heater_setpoint_temperature = 2.0 obj.basin_heater_setpoint_temperature = var_basin_heater_setpoint_temperature # object-list var_basin_heater_operating_schedule_name = "object-list|Basin Heater Operating Schedule Name" obj.basin_heater_operating_schedule_name = var_basin_heater_operating_schedule_name # real var_condenser_heat_recovery_relative_capacity_fraction = 0.5 obj.condenser_heat_recovery_relative_capacity_fraction = var_condenser_heat_recovery_relative_capacity_fraction # object-list var_heat_recovery_inlet_high_temperature_limit_schedule_name = "object-list|Heat Recovery Inlet High Temperature Limit Schedule Name" obj.heat_recovery_inlet_high_temperature_limit_schedule_name = var_heat_recovery_inlet_high_temperature_limit_schedule_name # node var_heat_recovery_leaving_temperature_setpoint_node_name = "node|Heat Recovery Leaving Temperature Setpoint Node Name" obj.heat_recovery_leaving_temperature_setpoint_node_name = var_heat_recovery_leaving_temperature_setpoint_node_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.chillerelectriceirs[0].name, var_name) self.assertAlmostEqual(idf2.chillerelectriceirs[0].reference_capacity, var_reference_capacity) self.assertAlmostEqual(idf2.chillerelectriceirs[0].reference_cop, var_reference_cop) self.assertAlmostEqual( idf2.chillerelectriceirs[0]. reference_leaving_chilled_water_temperature, var_reference_leaving_chilled_water_temperature) self.assertAlmostEqual( idf2.chillerelectriceirs[0]. reference_entering_condenser_fluid_temperature, var_reference_entering_condenser_fluid_temperature) self.assertAlmostEqual( idf2.chillerelectriceirs[0].reference_chilled_water_flow_rate, var_reference_chilled_water_flow_rate) self.assertAlmostEqual( idf2.chillerelectriceirs[0].reference_condenser_fluid_flow_rate, var_reference_condenser_fluid_flow_rate) self.assertEqual( idf2.chillerelectriceirs[0]. cooling_capacity_function_of_temperature_curve_name, var_cooling_capacity_function_of_temperature_curve_name) self.assertEqual( idf2.chillerelectriceirs[0]. electric_input_to_cooling_output_ratio_function_of_temperature_curve_name, var_electric_input_to_cooling_output_ratio_function_of_temperature_curve_name ) self.assertEqual( idf2.chillerelectriceirs[0]. electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name, var_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name ) self.assertAlmostEqual( idf2.chillerelectriceirs[0].minimum_part_load_ratio, var_minimum_part_load_ratio) self.assertAlmostEqual( idf2.chillerelectriceirs[0].maximum_part_load_ratio, var_maximum_part_load_ratio) self.assertAlmostEqual( idf2.chillerelectriceirs[0].optimum_part_load_ratio, var_optimum_part_load_ratio) self.assertAlmostEqual( idf2.chillerelectriceirs[0].minimum_unloading_ratio, var_minimum_unloading_ratio) self.assertEqual( idf2.chillerelectriceirs[0].chilled_water_inlet_node_name, var_chilled_water_inlet_node_name) self.assertEqual( idf2.chillerelectriceirs[0].chilled_water_outlet_node_name, var_chilled_water_outlet_node_name) self.assertEqual(idf2.chillerelectriceirs[0].condenser_inlet_node_name, var_condenser_inlet_node_name) self.assertEqual( idf2.chillerelectriceirs[0].condenser_outlet_node_name, var_condenser_outlet_node_name) self.assertEqual(idf2.chillerelectriceirs[0].condenser_type, var_condenser_type) self.assertAlmostEqual( idf2.chillerelectriceirs[0].condenser_fan_power_ratio, var_condenser_fan_power_ratio) self.assertAlmostEqual( idf2.chillerelectriceirs[0]. fraction_of_compressor_electric_consumption_rejected_by_condenser, var_fraction_of_compressor_electric_consumption_rejected_by_condenser ) self.assertAlmostEqual( idf2.chillerelectriceirs[0]. leaving_chilled_water_lower_temperature_limit, var_leaving_chilled_water_lower_temperature_limit) self.assertEqual(idf2.chillerelectriceirs[0].chiller_flow_mode, var_chiller_flow_mode) self.assertAlmostEqual( idf2.chillerelectriceirs[0].design_heat_recovery_water_flow_rate, var_design_heat_recovery_water_flow_rate) self.assertEqual( idf2.chillerelectriceirs[0].heat_recovery_inlet_node_name, var_heat_recovery_inlet_node_name) self.assertEqual( idf2.chillerelectriceirs[0].heat_recovery_outlet_node_name, var_heat_recovery_outlet_node_name) self.assertAlmostEqual(idf2.chillerelectriceirs[0].sizing_factor, var_sizing_factor) self.assertAlmostEqual( idf2.chillerelectriceirs[0].basin_heater_capacity, var_basin_heater_capacity) self.assertAlmostEqual( idf2.chillerelectriceirs[0].basin_heater_setpoint_temperature, var_basin_heater_setpoint_temperature) self.assertEqual( idf2.chillerelectriceirs[0].basin_heater_operating_schedule_name, var_basin_heater_operating_schedule_name) self.assertAlmostEqual( idf2.chillerelectriceirs[0]. condenser_heat_recovery_relative_capacity_fraction, var_condenser_heat_recovery_relative_capacity_fraction) self.assertEqual( idf2.chillerelectriceirs[0]. heat_recovery_inlet_high_temperature_limit_schedule_name, var_heat_recovery_inlet_high_temperature_limit_schedule_name) self.assertEqual( idf2.chillerelectriceirs[0]. heat_recovery_leaving_temperature_setpoint_node_name, var_heat_recovery_leaving_temperature_setpoint_node_name)
def test_create_zoneventilationwindandstackopenarea(self): pyidf.validation_level = ValidationLevel.error obj = ZoneVentilationWindandStackOpenArea() # alpha var_name = "Name" obj.name = var_name # object-list var_zone_name = "object-list|Zone Name" obj.zone_name = var_zone_name # real var_opening_area = 0.0 obj.opening_area = var_opening_area # object-list var_opening_area_fraction_schedule_name = "object-list|Opening Area Fraction Schedule Name" obj.opening_area_fraction_schedule_name = var_opening_area_fraction_schedule_name # real var_opening_effectiveness = 0.5 obj.opening_effectiveness = var_opening_effectiveness # real var_effective_angle = 179.99995 obj.effective_angle = var_effective_angle # real var_height_difference = 0.0 obj.height_difference = var_height_difference # real var_discharge_coefficient_for_opening = 0.5 obj.discharge_coefficient_for_opening = var_discharge_coefficient_for_opening # real var_minimum_indoor_temperature = 0.0 obj.minimum_indoor_temperature = var_minimum_indoor_temperature # object-list var_minimum_indoor_temperature_schedule_name = "object-list|Minimum Indoor Temperature Schedule Name" obj.minimum_indoor_temperature_schedule_name = var_minimum_indoor_temperature_schedule_name # real var_maximum_indoor_temperature = 0.0 obj.maximum_indoor_temperature = var_maximum_indoor_temperature # object-list var_maximum_indoor_temperature_schedule_name = "object-list|Maximum Indoor Temperature Schedule Name" obj.maximum_indoor_temperature_schedule_name = var_maximum_indoor_temperature_schedule_name # real var_delta_temperature = -100.0 obj.delta_temperature = var_delta_temperature # object-list var_delta_temperature_schedule_name = "object-list|Delta Temperature Schedule Name" obj.delta_temperature_schedule_name = var_delta_temperature_schedule_name # real var_minimum_outdoor_temperature = 0.0 obj.minimum_outdoor_temperature = var_minimum_outdoor_temperature # object-list var_minimum_outdoor_temperature_schedule_name = "object-list|Minimum Outdoor Temperature Schedule Name" obj.minimum_outdoor_temperature_schedule_name = var_minimum_outdoor_temperature_schedule_name # real var_maximum_outdoor_temperature = 0.0 obj.maximum_outdoor_temperature = var_maximum_outdoor_temperature # object-list var_maximum_outdoor_temperature_schedule_name = "object-list|Maximum Outdoor Temperature Schedule Name" obj.maximum_outdoor_temperature_schedule_name = var_maximum_outdoor_temperature_schedule_name # real var_maximum_wind_speed = 20.0 obj.maximum_wind_speed = var_maximum_wind_speed idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.zoneventilationwindandstackopenareas[0].name, var_name) self.assertEqual( idf2.zoneventilationwindandstackopenareas[0].zone_name, var_zone_name) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0].opening_area, var_opening_area) self.assertEqual( idf2.zoneventilationwindandstackopenareas[0]. opening_area_fraction_schedule_name, var_opening_area_fraction_schedule_name) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0].opening_effectiveness, var_opening_effectiveness) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0].effective_angle, var_effective_angle) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0].height_difference, var_height_difference) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0]. discharge_coefficient_for_opening, var_discharge_coefficient_for_opening) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0]. minimum_indoor_temperature, var_minimum_indoor_temperature) self.assertEqual( idf2.zoneventilationwindandstackopenareas[0]. minimum_indoor_temperature_schedule_name, var_minimum_indoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0]. maximum_indoor_temperature, var_maximum_indoor_temperature) self.assertEqual( idf2.zoneventilationwindandstackopenareas[0]. maximum_indoor_temperature_schedule_name, var_maximum_indoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0].delta_temperature, var_delta_temperature) self.assertEqual( idf2.zoneventilationwindandstackopenareas[0]. delta_temperature_schedule_name, var_delta_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0]. minimum_outdoor_temperature, var_minimum_outdoor_temperature) self.assertEqual( idf2.zoneventilationwindandstackopenareas[0]. minimum_outdoor_temperature_schedule_name, var_minimum_outdoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0]. maximum_outdoor_temperature, var_maximum_outdoor_temperature) self.assertEqual( idf2.zoneventilationwindandstackopenareas[0]. maximum_outdoor_temperature_schedule_name, var_maximum_outdoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationwindandstackopenareas[0].maximum_wind_speed, var_maximum_wind_speed)
def test_create_solarcollectorperformanceintegralcollectorstorage(self): pyidf.validation_level = ValidationLevel.error obj = SolarCollectorPerformanceIntegralCollectorStorage() # alpha var_name = "Name" obj.name = var_name # alpha var_ics_collector_type = "RectangularTank" obj.ics_collector_type = var_ics_collector_type # real var_gross_area = 0.0001 obj.gross_area = var_gross_area # real var_collector_water_volume = 0.0001 obj.collector_water_volume = var_collector_water_volume # real var_bottom_heat_loss_conductance = 0.0001 obj.bottom_heat_loss_conductance = var_bottom_heat_loss_conductance # real var_side_heat_loss_conductance = 0.0001 obj.side_heat_loss_conductance = var_side_heat_loss_conductance # real var_aspect_ratio = 0.75 obj.aspect_ratio = var_aspect_ratio # real var_collector_side_height = 0.15 obj.collector_side_height = var_collector_side_height # real var_thermal_mass_of_absorber_plate = 0.0 obj.thermal_mass_of_absorber_plate = var_thermal_mass_of_absorber_plate # integer var_number_of_covers = 1 obj.number_of_covers = var_number_of_covers # real var_cover_spacing = 0.10005 obj.cover_spacing = var_cover_spacing # real var_refractive_index_of_outer_cover = 1.5 obj.refractive_index_of_outer_cover = var_refractive_index_of_outer_cover # real var_extinction_coefficient_times_thickness_of_outer_cover = 0.0 obj.extinction_coefficient_times_thickness_of_outer_cover = var_extinction_coefficient_times_thickness_of_outer_cover # real var_emissivity_of_outer_cover = 0.5 obj.emissivity_of_outer_cover = var_emissivity_of_outer_cover # real var_refractive_index_of_inner_cover = 1.5 obj.refractive_index_of_inner_cover = var_refractive_index_of_inner_cover # real var_extinction_coefficient_times_thickness_of_the_inner_cover = 0.0 obj.extinction_coefficient_times_thickness_of_the_inner_cover = var_extinction_coefficient_times_thickness_of_the_inner_cover # real var_emissivity_of_inner_cover = 0.5 obj.emissivity_of_inner_cover = var_emissivity_of_inner_cover # real var_absorptance_of_absorber_plate = 0.5 obj.absorptance_of_absorber_plate = var_absorptance_of_absorber_plate # real var_emissivity_of_absorber_plate = 0.5 obj.emissivity_of_absorber_plate = var_emissivity_of_absorber_plate idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0].name, var_name) self.assertEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. ics_collector_type, var_ics_collector_type) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. gross_area, var_gross_area) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. collector_water_volume, var_collector_water_volume) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. bottom_heat_loss_conductance, var_bottom_heat_loss_conductance) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. side_heat_loss_conductance, var_side_heat_loss_conductance) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. aspect_ratio, var_aspect_ratio) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. collector_side_height, var_collector_side_height) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. thermal_mass_of_absorber_plate, var_thermal_mass_of_absorber_plate) self.assertEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. number_of_covers, var_number_of_covers) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. cover_spacing, var_cover_spacing) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. refractive_index_of_outer_cover, var_refractive_index_of_outer_cover) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. extinction_coefficient_times_thickness_of_outer_cover, var_extinction_coefficient_times_thickness_of_outer_cover) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. emissivity_of_outer_cover, var_emissivity_of_outer_cover) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. refractive_index_of_inner_cover, var_refractive_index_of_inner_cover) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. extinction_coefficient_times_thickness_of_the_inner_cover, var_extinction_coefficient_times_thickness_of_the_inner_cover) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. emissivity_of_inner_cover, var_emissivity_of_inner_cover) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. absorptance_of_absorber_plate, var_absorptance_of_absorber_plate) self.assertAlmostEqual( idf2.solarcollectorperformanceintegralcollectorstorages[0]. emissivity_of_absorber_plate, var_emissivity_of_absorber_plate)
def test_create_hvactemplatesystemvrf(self): pyidf.validation_level = ValidationLevel.error obj = HvactemplateSystemVrf() # alpha var_name = "Name" obj.name = var_name # object-list var_system_availability_schedule_name = "object-list|System Availability Schedule Name" obj.system_availability_schedule_name = var_system_availability_schedule_name # real var_gross_rated_total_cooling_capacity = 0.0001 obj.gross_rated_total_cooling_capacity = var_gross_rated_total_cooling_capacity # real var_gross_rated_cooling_cop = 0.0001 obj.gross_rated_cooling_cop = var_gross_rated_cooling_cop # real var_minimum_outdoor_temperature_in_cooling_mode = 5.5 obj.minimum_outdoor_temperature_in_cooling_mode = var_minimum_outdoor_temperature_in_cooling_mode # real var_maximum_outdoor_temperature_in_cooling_mode = 6.6 obj.maximum_outdoor_temperature_in_cooling_mode = var_maximum_outdoor_temperature_in_cooling_mode # real var_gross_rated_heating_capacity = 7.7 obj.gross_rated_heating_capacity = var_gross_rated_heating_capacity # real var_rated_heating_capacity_sizing_ratio = 1.0 obj.rated_heating_capacity_sizing_ratio = var_rated_heating_capacity_sizing_ratio # real var_gross_rated_heating_cop = 9.9 obj.gross_rated_heating_cop = var_gross_rated_heating_cop # real var_minimum_outdoor_temperature_in_heating_mode = 10.1 obj.minimum_outdoor_temperature_in_heating_mode = var_minimum_outdoor_temperature_in_heating_mode # real var_maximum_outdoor_temperature_in_heating_mode = 11.11 obj.maximum_outdoor_temperature_in_heating_mode = var_maximum_outdoor_temperature_in_heating_mode # real var_minimum_heat_pump_partload_ratio = 12.12 obj.minimum_heat_pump_partload_ratio = var_minimum_heat_pump_partload_ratio # object-list var_zone_name_for_master_thermostat_location = "object-list|Zone Name for Master Thermostat Location" obj.zone_name_for_master_thermostat_location = var_zone_name_for_master_thermostat_location # alpha var_master_thermostat_priority_control_type = "LoadPriority" obj.master_thermostat_priority_control_type = var_master_thermostat_priority_control_type # object-list var_thermostat_priority_schedule_name = "object-list|Thermostat Priority Schedule Name" obj.thermostat_priority_schedule_name = var_thermostat_priority_schedule_name # alpha var_heat_pump_waste_heat_recovery = "No" obj.heat_pump_waste_heat_recovery = var_heat_pump_waste_heat_recovery # real var_equivalent_piping_length_used_for_piping_correction_factor_in_cooling_mode = 17.17 obj.equivalent_piping_length_used_for_piping_correction_factor_in_cooling_mode = var_equivalent_piping_length_used_for_piping_correction_factor_in_cooling_mode # real var_vertical_height_used_for_piping_correction_factor = 18.18 obj.vertical_height_used_for_piping_correction_factor = var_vertical_height_used_for_piping_correction_factor # real var_equivalent_piping_length_used_for_piping_correction_factor_in_heating_mode = 19.19 obj.equivalent_piping_length_used_for_piping_correction_factor_in_heating_mode = var_equivalent_piping_length_used_for_piping_correction_factor_in_heating_mode # real var_crankcase_heater_power_per_compressor = 20.2 obj.crankcase_heater_power_per_compressor = var_crankcase_heater_power_per_compressor # integer var_number_of_compressors = 21 obj.number_of_compressors = var_number_of_compressors # real var_ratio_of_compressor_size_to_total_compressor_capacity = 22.22 obj.ratio_of_compressor_size_to_total_compressor_capacity = var_ratio_of_compressor_size_to_total_compressor_capacity # real var_maximum_outdoor_drybulb_temperature_for_crankcase_heater = 23.23 obj.maximum_outdoor_drybulb_temperature_for_crankcase_heater = var_maximum_outdoor_drybulb_temperature_for_crankcase_heater # alpha var_defrost_strategy = "ReverseCycle" obj.defrost_strategy = var_defrost_strategy # alpha var_defrost_control = "Timed" obj.defrost_control = var_defrost_control # real var_defrost_time_period_fraction = 0.0 obj.defrost_time_period_fraction = var_defrost_time_period_fraction # real var_resistive_defrost_heater_capacity = 0.0 obj.resistive_defrost_heater_capacity = var_resistive_defrost_heater_capacity # real var_maximum_outdoor_drybulb_temperature_for_defrost_operation = 28.28 obj.maximum_outdoor_drybulb_temperature_for_defrost_operation = var_maximum_outdoor_drybulb_temperature_for_defrost_operation # alpha var_condenser_type = "AirCooled" obj.condenser_type = var_condenser_type # real var_water_condenser_volume_flow_rate = 30.3 obj.water_condenser_volume_flow_rate = var_water_condenser_volume_flow_rate # real var_evaporative_condenser_effectiveness = 0.5 obj.evaporative_condenser_effectiveness = var_evaporative_condenser_effectiveness # real var_evaporative_condenser_air_flow_rate = 0.0001 obj.evaporative_condenser_air_flow_rate = var_evaporative_condenser_air_flow_rate # real var_evaporative_condenser_pump_rated_power_consumption = 0.0 obj.evaporative_condenser_pump_rated_power_consumption = var_evaporative_condenser_pump_rated_power_consumption # real var_basin_heater_capacity = 0.0 obj.basin_heater_capacity = var_basin_heater_capacity # real var_basin_heater_setpoint_temperature = 2.0 obj.basin_heater_setpoint_temperature = var_basin_heater_setpoint_temperature # object-list var_basin_heater_operating_schedule_name = "object-list|Basin Heater Operating Schedule Name" obj.basin_heater_operating_schedule_name = var_basin_heater_operating_schedule_name # alpha var_fuel_type = "Electricity" obj.fuel_type = var_fuel_type # real var_minimum_outdoor_temperature_in_heat_recovery_mode = 38.38 obj.minimum_outdoor_temperature_in_heat_recovery_mode = var_minimum_outdoor_temperature_in_heat_recovery_mode # real var_maximum_outdoor_temperature_in_heat_recovery_mode = 39.39 obj.maximum_outdoor_temperature_in_heat_recovery_mode = var_maximum_outdoor_temperature_in_heat_recovery_mode idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.hvactemplatesystemvrfs[0].name, var_name) self.assertEqual( idf2.hvactemplatesystemvrfs[0].system_availability_schedule_name, var_system_availability_schedule_name) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].gross_rated_total_cooling_capacity, var_gross_rated_total_cooling_capacity) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].gross_rated_cooling_cop, var_gross_rated_cooling_cop) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. minimum_outdoor_temperature_in_cooling_mode, var_minimum_outdoor_temperature_in_cooling_mode) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. maximum_outdoor_temperature_in_cooling_mode, var_maximum_outdoor_temperature_in_cooling_mode) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].gross_rated_heating_capacity, var_gross_rated_heating_capacity) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].rated_heating_capacity_sizing_ratio, var_rated_heating_capacity_sizing_ratio) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].gross_rated_heating_cop, var_gross_rated_heating_cop) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. minimum_outdoor_temperature_in_heating_mode, var_minimum_outdoor_temperature_in_heating_mode) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. maximum_outdoor_temperature_in_heating_mode, var_maximum_outdoor_temperature_in_heating_mode) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].minimum_heat_pump_partload_ratio, var_minimum_heat_pump_partload_ratio) self.assertEqual( idf2.hvactemplatesystemvrfs[0]. zone_name_for_master_thermostat_location, var_zone_name_for_master_thermostat_location) self.assertEqual( idf2.hvactemplatesystemvrfs[0]. master_thermostat_priority_control_type, var_master_thermostat_priority_control_type) self.assertEqual( idf2.hvactemplatesystemvrfs[0].thermostat_priority_schedule_name, var_thermostat_priority_schedule_name) self.assertEqual( idf2.hvactemplatesystemvrfs[0].heat_pump_waste_heat_recovery, var_heat_pump_waste_heat_recovery) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. equivalent_piping_length_used_for_piping_correction_factor_in_cooling_mode, var_equivalent_piping_length_used_for_piping_correction_factor_in_cooling_mode ) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. vertical_height_used_for_piping_correction_factor, var_vertical_height_used_for_piping_correction_factor) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. equivalent_piping_length_used_for_piping_correction_factor_in_heating_mode, var_equivalent_piping_length_used_for_piping_correction_factor_in_heating_mode ) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. crankcase_heater_power_per_compressor, var_crankcase_heater_power_per_compressor) self.assertEqual(idf2.hvactemplatesystemvrfs[0].number_of_compressors, var_number_of_compressors) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. ratio_of_compressor_size_to_total_compressor_capacity, var_ratio_of_compressor_size_to_total_compressor_capacity) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. maximum_outdoor_drybulb_temperature_for_crankcase_heater, var_maximum_outdoor_drybulb_temperature_for_crankcase_heater) self.assertEqual(idf2.hvactemplatesystemvrfs[0].defrost_strategy, var_defrost_strategy) self.assertEqual(idf2.hvactemplatesystemvrfs[0].defrost_control, var_defrost_control) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].defrost_time_period_fraction, var_defrost_time_period_fraction) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].resistive_defrost_heater_capacity, var_resistive_defrost_heater_capacity) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. maximum_outdoor_drybulb_temperature_for_defrost_operation, var_maximum_outdoor_drybulb_temperature_for_defrost_operation) self.assertEqual(idf2.hvactemplatesystemvrfs[0].condenser_type, var_condenser_type) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].water_condenser_volume_flow_rate, var_water_condenser_volume_flow_rate) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].evaporative_condenser_effectiveness, var_evaporative_condenser_effectiveness) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].evaporative_condenser_air_flow_rate, var_evaporative_condenser_air_flow_rate) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. evaporative_condenser_pump_rated_power_consumption, var_evaporative_condenser_pump_rated_power_consumption) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].basin_heater_capacity, var_basin_heater_capacity) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0].basin_heater_setpoint_temperature, var_basin_heater_setpoint_temperature) self.assertEqual( idf2.hvactemplatesystemvrfs[0]. basin_heater_operating_schedule_name, var_basin_heater_operating_schedule_name) self.assertEqual(idf2.hvactemplatesystemvrfs[0].fuel_type, var_fuel_type) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. minimum_outdoor_temperature_in_heat_recovery_mode, var_minimum_outdoor_temperature_in_heat_recovery_mode) self.assertAlmostEqual( idf2.hvactemplatesystemvrfs[0]. maximum_outdoor_temperature_in_heat_recovery_mode, var_maximum_outdoor_temperature_in_heat_recovery_mode)
def test_create_solarcollectorflatplatephotovoltaicthermal(self): pyidf.validation_level = ValidationLevel.error obj = SolarCollectorFlatPlatePhotovoltaicThermal() # alpha var_name = "Name" obj.name = var_name # object-list var_surface_name = "object-list|Surface Name" obj.surface_name = var_surface_name # object-list var_photovoltaicthermal_model_performance_name = "object-list|Photovoltaic-Thermal Model Performance Name" obj.photovoltaicthermal_model_performance_name = var_photovoltaicthermal_model_performance_name # object-list var_photovoltaic_name = "object-list|Photovoltaic Name" obj.photovoltaic_name = var_photovoltaic_name # alpha var_thermal_working_fluid_type = "Water" obj.thermal_working_fluid_type = var_thermal_working_fluid_type # node var_water_inlet_node_name = "node|Water Inlet Node Name" obj.water_inlet_node_name = var_water_inlet_node_name # node var_water_outlet_node_name = "node|Water Outlet Node Name" obj.water_outlet_node_name = var_water_outlet_node_name # node var_air_inlet_node_name = "node|Air Inlet Node Name" obj.air_inlet_node_name = var_air_inlet_node_name # node var_air_outlet_node_name = "node|Air Outlet Node Name" obj.air_outlet_node_name = var_air_outlet_node_name # real var_design_flow_rate = 10.1 obj.design_flow_rate = var_design_flow_rate idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0].name, var_name) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0].surface_name, var_surface_name) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. photovoltaicthermal_model_performance_name, var_photovoltaicthermal_model_performance_name) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. photovoltaic_name, var_photovoltaic_name) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. thermal_working_fluid_type, var_thermal_working_fluid_type) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. water_inlet_node_name, var_water_inlet_node_name) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. water_outlet_node_name, var_water_outlet_node_name) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. air_inlet_node_name, var_air_inlet_node_name) self.assertEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. air_outlet_node_name, var_air_outlet_node_name) self.assertAlmostEqual( idf2.solarcollectorflatplatephotovoltaicthermals[0]. design_flow_rate, var_design_flow_rate)
def test_create_zoneventilationdesignflowrate(self): pyidf.validation_level = ValidationLevel.error obj = ZoneVentilationDesignFlowRate() # alpha var_name = "Name" obj.name = var_name # object-list var_zone_or_zonelist_name = "object-list|Zone or ZoneList Name" obj.zone_or_zonelist_name = var_zone_or_zonelist_name # object-list var_schedule_name = "object-list|Schedule Name" obj.schedule_name = var_schedule_name # alpha var_design_flow_rate_calculation_method = "Flow/Zone" obj.design_flow_rate_calculation_method = var_design_flow_rate_calculation_method # real var_design_flow_rate = 0.0 obj.design_flow_rate = var_design_flow_rate # real var_flow_rate_per_zone_floor_area = 0.0 obj.flow_rate_per_zone_floor_area = var_flow_rate_per_zone_floor_area # real var_flow_rate_per_person = 0.0 obj.flow_rate_per_person = var_flow_rate_per_person # real var_air_changes_per_hour = 0.0 obj.air_changes_per_hour = var_air_changes_per_hour # alpha var_ventilation_type = "Natural" obj.ventilation_type = var_ventilation_type # real var_fan_pressure_rise = 0.0 obj.fan_pressure_rise = var_fan_pressure_rise # real var_fan_total_efficiency = 0.0001 obj.fan_total_efficiency = var_fan_total_efficiency # real var_constant_term_coefficient = 12.12 obj.constant_term_coefficient = var_constant_term_coefficient # real var_temperature_term_coefficient = 13.13 obj.temperature_term_coefficient = var_temperature_term_coefficient # real var_velocity_term_coefficient = 14.14 obj.velocity_term_coefficient = var_velocity_term_coefficient # real var_velocity_squared_term_coefficient = 15.15 obj.velocity_squared_term_coefficient = var_velocity_squared_term_coefficient # real var_minimum_indoor_temperature = 0.0 obj.minimum_indoor_temperature = var_minimum_indoor_temperature # object-list var_minimum_indoor_temperature_schedule_name = "object-list|Minimum Indoor Temperature Schedule Name" obj.minimum_indoor_temperature_schedule_name = var_minimum_indoor_temperature_schedule_name # real var_maximum_indoor_temperature = 0.0 obj.maximum_indoor_temperature = var_maximum_indoor_temperature # object-list var_maximum_indoor_temperature_schedule_name = "object-list|Maximum Indoor Temperature Schedule Name" obj.maximum_indoor_temperature_schedule_name = var_maximum_indoor_temperature_schedule_name # real var_delta_temperature = -100.0 obj.delta_temperature = var_delta_temperature # object-list var_delta_temperature_schedule_name = "object-list|Delta Temperature Schedule Name" obj.delta_temperature_schedule_name = var_delta_temperature_schedule_name # real var_minimum_outdoor_temperature = 0.0 obj.minimum_outdoor_temperature = var_minimum_outdoor_temperature # object-list var_minimum_outdoor_temperature_schedule_name = "object-list|Minimum Outdoor Temperature Schedule Name" obj.minimum_outdoor_temperature_schedule_name = var_minimum_outdoor_temperature_schedule_name # real var_maximum_outdoor_temperature = 0.0 obj.maximum_outdoor_temperature = var_maximum_outdoor_temperature # object-list var_maximum_outdoor_temperature_schedule_name = "object-list|Maximum Outdoor Temperature Schedule Name" obj.maximum_outdoor_temperature_schedule_name = var_maximum_outdoor_temperature_schedule_name # real var_maximum_wind_speed = 20.0 obj.maximum_wind_speed = var_maximum_wind_speed idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.zoneventilationdesignflowrates[0].name, var_name) self.assertEqual( idf2.zoneventilationdesignflowrates[0].zone_or_zonelist_name, var_zone_or_zonelist_name) self.assertEqual(idf2.zoneventilationdesignflowrates[0].schedule_name, var_schedule_name) self.assertEqual( idf2.zoneventilationdesignflowrates[0]. design_flow_rate_calculation_method, var_design_flow_rate_calculation_method) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].design_flow_rate, var_design_flow_rate) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0]. flow_rate_per_zone_floor_area, var_flow_rate_per_zone_floor_area) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].flow_rate_per_person, var_flow_rate_per_person) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].air_changes_per_hour, var_air_changes_per_hour) self.assertEqual( idf2.zoneventilationdesignflowrates[0].ventilation_type, var_ventilation_type) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].fan_pressure_rise, var_fan_pressure_rise) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].fan_total_efficiency, var_fan_total_efficiency) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].constant_term_coefficient, var_constant_term_coefficient) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0]. temperature_term_coefficient, var_temperature_term_coefficient) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].velocity_term_coefficient, var_velocity_term_coefficient) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0]. velocity_squared_term_coefficient, var_velocity_squared_term_coefficient) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].minimum_indoor_temperature, var_minimum_indoor_temperature) self.assertEqual( idf2.zoneventilationdesignflowrates[0]. minimum_indoor_temperature_schedule_name, var_minimum_indoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].maximum_indoor_temperature, var_maximum_indoor_temperature) self.assertEqual( idf2.zoneventilationdesignflowrates[0]. maximum_indoor_temperature_schedule_name, var_maximum_indoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].delta_temperature, var_delta_temperature) self.assertEqual( idf2.zoneventilationdesignflowrates[0]. delta_temperature_schedule_name, var_delta_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].minimum_outdoor_temperature, var_minimum_outdoor_temperature) self.assertEqual( idf2.zoneventilationdesignflowrates[0]. minimum_outdoor_temperature_schedule_name, var_minimum_outdoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].maximum_outdoor_temperature, var_maximum_outdoor_temperature) self.assertEqual( idf2.zoneventilationdesignflowrates[0]. maximum_outdoor_temperature_schedule_name, var_maximum_outdoor_temperature_schedule_name) self.assertAlmostEqual( idf2.zoneventilationdesignflowrates[0].maximum_wind_speed, var_maximum_wind_speed)
def test_create_setpointmanagercondenserenteringreset(self): pyidf.validation_level = ValidationLevel.error obj = SetpointManagerCondenserEnteringReset() # alpha var_name = "Name" obj.name = var_name # alpha var_control_variable = "Temperature" obj.control_variable = var_control_variable # object-list var_default_condenser_entering_water_temperature_schedule_name = "object-list|Default Condenser Entering Water Temperature Schedule Name" obj.default_condenser_entering_water_temperature_schedule_name = var_default_condenser_entering_water_temperature_schedule_name # object-list var_minimum_design_wetbulb_temperature_curve_name = "object-list|Minimum Design Wetbulb Temperature Curve Name" obj.minimum_design_wetbulb_temperature_curve_name = var_minimum_design_wetbulb_temperature_curve_name # object-list var_minimum_outside_air_wetbulb_temperature_curve_name = "object-list|Minimum Outside Air Wetbulb Temperature Curve Name" obj.minimum_outside_air_wetbulb_temperature_curve_name = var_minimum_outside_air_wetbulb_temperature_curve_name # object-list var_optimized_cond_entering_water_temperature_curve_name = "object-list|Optimized Cond Entering Water Temperature Curve Name" obj.optimized_cond_entering_water_temperature_curve_name = var_optimized_cond_entering_water_temperature_curve_name # real var_minimum_lift = 7.7 obj.minimum_lift = var_minimum_lift # real var_maximum_condenser_entering_water_temperature = 8.8 obj.maximum_condenser_entering_water_temperature = var_maximum_condenser_entering_water_temperature # real var_cooling_tower_design_inlet_air_wetbulb_temperature = 9.9 obj.cooling_tower_design_inlet_air_wetbulb_temperature = var_cooling_tower_design_inlet_air_wetbulb_temperature # node var_setpoint_node_or_nodelist_name = "node|Setpoint Node or NodeList Name" obj.setpoint_node_or_nodelist_name = var_setpoint_node_or_nodelist_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.setpointmanagercondenserenteringresets[0].name, var_name) self.assertEqual( idf2.setpointmanagercondenserenteringresets[0].control_variable, var_control_variable) self.assertEqual( idf2.setpointmanagercondenserenteringresets[0]. default_condenser_entering_water_temperature_schedule_name, var_default_condenser_entering_water_temperature_schedule_name) self.assertEqual( idf2.setpointmanagercondenserenteringresets[0]. minimum_design_wetbulb_temperature_curve_name, var_minimum_design_wetbulb_temperature_curve_name) self.assertEqual( idf2.setpointmanagercondenserenteringresets[0]. minimum_outside_air_wetbulb_temperature_curve_name, var_minimum_outside_air_wetbulb_temperature_curve_name) self.assertEqual( idf2.setpointmanagercondenserenteringresets[0]. optimized_cond_entering_water_temperature_curve_name, var_optimized_cond_entering_water_temperature_curve_name) self.assertAlmostEqual( idf2.setpointmanagercondenserenteringresets[0].minimum_lift, var_minimum_lift) self.assertAlmostEqual( idf2.setpointmanagercondenserenteringresets[0]. maximum_condenser_entering_water_temperature, var_maximum_condenser_entering_water_temperature) self.assertAlmostEqual( idf2.setpointmanagercondenserenteringresets[0]. cooling_tower_design_inlet_air_wetbulb_temperature, var_cooling_tower_design_inlet_air_wetbulb_temperature) self.assertEqual( idf2.setpointmanagercondenserenteringresets[0]. setpoint_node_or_nodelist_name, var_setpoint_node_or_nodelist_name)
def test_create_windowpropertyframeanddivider(self): pyidf.validation_level = ValidationLevel.error obj = WindowPropertyFrameAndDivider() # alpha var_name = "Name" obj.name = var_name # real var_frame_width = 0.5 obj.frame_width = var_frame_width # real var_frame_outside_projection = 0.25 obj.frame_outside_projection = var_frame_outside_projection # real var_frame_inside_projection = 0.25 obj.frame_inside_projection = var_frame_inside_projection # real var_frame_conductance = 0.0 obj.frame_conductance = var_frame_conductance # real var_ratio_of_frameedge_glass_conductance_to_centerofglass_conductance = 2.00005 obj.ratio_of_frameedge_glass_conductance_to_centerofglass_conductance = var_ratio_of_frameedge_glass_conductance_to_centerofglass_conductance # real var_frame_solar_absorptance = 0.5 obj.frame_solar_absorptance = var_frame_solar_absorptance # real var_frame_visible_absorptance = 0.5 obj.frame_visible_absorptance = var_frame_visible_absorptance # real var_frame_thermal_hemispherical_emissivity = 0.0001 obj.frame_thermal_hemispherical_emissivity = var_frame_thermal_hemispherical_emissivity # alpha var_divider_type = "DividedLite" obj.divider_type = var_divider_type # real var_divider_width = 0.25 obj.divider_width = var_divider_width # real var_number_of_horizontal_dividers = 0.0 obj.number_of_horizontal_dividers = var_number_of_horizontal_dividers # real var_number_of_vertical_dividers = 0.0 obj.number_of_vertical_dividers = var_number_of_vertical_dividers # real var_divider_outside_projection = 0.25 obj.divider_outside_projection = var_divider_outside_projection # real var_divider_inside_projection = 0.25 obj.divider_inside_projection = var_divider_inside_projection # real var_divider_conductance = 0.0 obj.divider_conductance = var_divider_conductance # real var_ratio_of_divideredge_glass_conductance_to_centerofglass_conductance = 2.00005 obj.ratio_of_divideredge_glass_conductance_to_centerofglass_conductance = var_ratio_of_divideredge_glass_conductance_to_centerofglass_conductance # real var_divider_solar_absorptance = 0.5 obj.divider_solar_absorptance = var_divider_solar_absorptance # real var_divider_visible_absorptance = 0.5 obj.divider_visible_absorptance = var_divider_visible_absorptance # real var_divider_thermal_hemispherical_emissivity = 0.5 obj.divider_thermal_hemispherical_emissivity = var_divider_thermal_hemispherical_emissivity # real var_outside_reveal_solar_absorptance = 0.5 obj.outside_reveal_solar_absorptance = var_outside_reveal_solar_absorptance # real var_inside_sill_depth = 1.0 obj.inside_sill_depth = var_inside_sill_depth # real var_inside_sill_solar_absorptance = 0.5 obj.inside_sill_solar_absorptance = var_inside_sill_solar_absorptance # real var_inside_reveal_depth = 1.0 obj.inside_reveal_depth = var_inside_reveal_depth # real var_inside_reveal_solar_absorptance = 0.5 obj.inside_reveal_solar_absorptance = var_inside_reveal_solar_absorptance idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.windowpropertyframeanddividers[0].name, var_name) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].frame_width, var_frame_width) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].frame_outside_projection, var_frame_outside_projection) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].frame_inside_projection, var_frame_inside_projection) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].frame_conductance, var_frame_conductance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].ratio_of_frameedge_glass_conductance_to_centerofglass_conductance, var_ratio_of_frameedge_glass_conductance_to_centerofglass_conductance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].frame_solar_absorptance, var_frame_solar_absorptance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].frame_visible_absorptance, var_frame_visible_absorptance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].frame_thermal_hemispherical_emissivity, var_frame_thermal_hemispherical_emissivity) self.assertEqual(idf2.windowpropertyframeanddividers[0].divider_type, var_divider_type) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].divider_width, var_divider_width) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].number_of_horizontal_dividers, var_number_of_horizontal_dividers) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].number_of_vertical_dividers, var_number_of_vertical_dividers) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].divider_outside_projection, var_divider_outside_projection) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].divider_inside_projection, var_divider_inside_projection) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].divider_conductance, var_divider_conductance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].ratio_of_divideredge_glass_conductance_to_centerofglass_conductance, var_ratio_of_divideredge_glass_conductance_to_centerofglass_conductance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].divider_solar_absorptance, var_divider_solar_absorptance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].divider_visible_absorptance, var_divider_visible_absorptance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].divider_thermal_hemispherical_emissivity, var_divider_thermal_hemispherical_emissivity) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].outside_reveal_solar_absorptance, var_outside_reveal_solar_absorptance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].inside_sill_depth, var_inside_sill_depth) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].inside_sill_solar_absorptance, var_inside_sill_solar_absorptance) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].inside_reveal_depth, var_inside_reveal_depth) self.assertAlmostEqual(idf2.windowpropertyframeanddividers[0].inside_reveal_solar_absorptance, var_inside_reveal_solar_absorptance)
def test_create_designspecificationzonehvacsizing(self): pyidf.validation_level = ValidationLevel.error obj = DesignSpecificationZoneHvacSizing() # alpha var_name = "Name" obj.name = var_name # alpha var_cooling_supply_air_flow_rate_method = "None" obj.cooling_supply_air_flow_rate_method = var_cooling_supply_air_flow_rate_method # real var_cooling_supply_air_flow_rate = 0.0 obj.cooling_supply_air_flow_rate = var_cooling_supply_air_flow_rate # real var_cooling_supply_air_flow_rate_per_floor_area = 0.0 obj.cooling_supply_air_flow_rate_per_floor_area = var_cooling_supply_air_flow_rate_per_floor_area # real var_cooling_fraction_of_autosized_cooling_supply_air_flow_rate = 0.0 obj.cooling_fraction_of_autosized_cooling_supply_air_flow_rate = var_cooling_fraction_of_autosized_cooling_supply_air_flow_rate # real var_cooling_supply_air_flow_rate_per_unit_cooling_capacity = 0.0 obj.cooling_supply_air_flow_rate_per_unit_cooling_capacity = var_cooling_supply_air_flow_rate_per_unit_cooling_capacity # alpha var_no_load_supply_air_flow_rate_method = "None" obj.no_load_supply_air_flow_rate_method = var_no_load_supply_air_flow_rate_method # real var_no_load_supply_air_flow_rate = 0.0 obj.no_load_supply_air_flow_rate = var_no_load_supply_air_flow_rate # real var_no_load_supply_air_flow_rate_per_floor_area = 0.0 obj.no_load_supply_air_flow_rate_per_floor_area = var_no_load_supply_air_flow_rate_per_floor_area # real var_no_load_fraction_of_cooling_supply_air_flow_rate = 0.0 obj.no_load_fraction_of_cooling_supply_air_flow_rate = var_no_load_fraction_of_cooling_supply_air_flow_rate # real var_no_load_fraction_of_heating_supply_air_flow_rate = 0.0 obj.no_load_fraction_of_heating_supply_air_flow_rate = var_no_load_fraction_of_heating_supply_air_flow_rate # alpha var_heating_supply_air_flow_rate_method = "None" obj.heating_supply_air_flow_rate_method = var_heating_supply_air_flow_rate_method # real var_heating_supply_air_flow_rate = 0.0 obj.heating_supply_air_flow_rate = var_heating_supply_air_flow_rate # real var_heating_supply_air_flow_rate_per_floor_area = 0.0 obj.heating_supply_air_flow_rate_per_floor_area = var_heating_supply_air_flow_rate_per_floor_area # real var_heating_fraction_of_heating_supply_air_flow_rate = 0.0 obj.heating_fraction_of_heating_supply_air_flow_rate = var_heating_fraction_of_heating_supply_air_flow_rate # real var_heating_supply_air_flow_rate_per_unit_heating_capacity = 0.0 obj.heating_supply_air_flow_rate_per_unit_heating_capacity = var_heating_supply_air_flow_rate_per_unit_heating_capacity # alpha var_cooling_design_capacity_method = "None" obj.cooling_design_capacity_method = var_cooling_design_capacity_method # real var_cooling_design_capacity = 0.0 obj.cooling_design_capacity = var_cooling_design_capacity # real var_cooling_design_capacity_per_floor_area = 0.0 obj.cooling_design_capacity_per_floor_area = var_cooling_design_capacity_per_floor_area # real var_fraction_of_autosized_cooling_design_capacity = 0.0 obj.fraction_of_autosized_cooling_design_capacity = var_fraction_of_autosized_cooling_design_capacity # alpha var_heating_design_capacity_method = "None" obj.heating_design_capacity_method = var_heating_design_capacity_method # real var_heating_design_capacity = 0.0 obj.heating_design_capacity = var_heating_design_capacity # real var_heating_design_capacity_per_floor_area = 0.0 obj.heating_design_capacity_per_floor_area = var_heating_design_capacity_per_floor_area # real var_fraction_of_autosized_heating_design_capacity = 0.0 obj.fraction_of_autosized_heating_design_capacity = var_fraction_of_autosized_heating_design_capacity idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.designspecificationzonehvacsizings[0].name, var_name) self.assertEqual(idf2.designspecificationzonehvacsizings[0].cooling_supply_air_flow_rate_method, var_cooling_supply_air_flow_rate_method) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].cooling_supply_air_flow_rate, var_cooling_supply_air_flow_rate) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].cooling_supply_air_flow_rate_per_floor_area, var_cooling_supply_air_flow_rate_per_floor_area) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].cooling_fraction_of_autosized_cooling_supply_air_flow_rate, var_cooling_fraction_of_autosized_cooling_supply_air_flow_rate) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].cooling_supply_air_flow_rate_per_unit_cooling_capacity, var_cooling_supply_air_flow_rate_per_unit_cooling_capacity) self.assertEqual(idf2.designspecificationzonehvacsizings[0].no_load_supply_air_flow_rate_method, var_no_load_supply_air_flow_rate_method) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].no_load_supply_air_flow_rate, var_no_load_supply_air_flow_rate) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].no_load_supply_air_flow_rate_per_floor_area, var_no_load_supply_air_flow_rate_per_floor_area) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].no_load_fraction_of_cooling_supply_air_flow_rate, var_no_load_fraction_of_cooling_supply_air_flow_rate) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].no_load_fraction_of_heating_supply_air_flow_rate, var_no_load_fraction_of_heating_supply_air_flow_rate) self.assertEqual(idf2.designspecificationzonehvacsizings[0].heating_supply_air_flow_rate_method, var_heating_supply_air_flow_rate_method) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].heating_supply_air_flow_rate, var_heating_supply_air_flow_rate) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].heating_supply_air_flow_rate_per_floor_area, var_heating_supply_air_flow_rate_per_floor_area) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].heating_fraction_of_heating_supply_air_flow_rate, var_heating_fraction_of_heating_supply_air_flow_rate) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].heating_supply_air_flow_rate_per_unit_heating_capacity, var_heating_supply_air_flow_rate_per_unit_heating_capacity) self.assertEqual(idf2.designspecificationzonehvacsizings[0].cooling_design_capacity_method, var_cooling_design_capacity_method) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].cooling_design_capacity, var_cooling_design_capacity) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].cooling_design_capacity_per_floor_area, var_cooling_design_capacity_per_floor_area) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].fraction_of_autosized_cooling_design_capacity, var_fraction_of_autosized_cooling_design_capacity) self.assertEqual(idf2.designspecificationzonehvacsizings[0].heating_design_capacity_method, var_heating_design_capacity_method) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].heating_design_capacity, var_heating_design_capacity) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].heating_design_capacity_per_floor_area, var_heating_design_capacity_per_floor_area) self.assertAlmostEqual(idf2.designspecificationzonehvacsizings[0].fraction_of_autosized_heating_design_capacity, var_fraction_of_autosized_heating_design_capacity)
def test_create_plantequipmentoperationcomponentsetpoint(self): pyidf.validation_level = ValidationLevel.error obj = PlantEquipmentOperationComponentSetpoint() # alpha var_name = "Name" obj.name = var_name # alpha var_equipment_1_object_type = "Equipment 1 Object Type" obj.equipment_1_object_type = var_equipment_1_object_type # alpha var_equipment_1_name = "Equipment 1 Name" obj.equipment_1_name = var_equipment_1_name # node var_demand_calculation_1_node_name = "node|Demand Calculation 1 Node Name" obj.demand_calculation_1_node_name = var_demand_calculation_1_node_name # node var_setpoint_1_node_name = "node|Setpoint 1 Node Name" obj.setpoint_1_node_name = var_setpoint_1_node_name # real var_component_1_flow_rate = 6.6 obj.component_1_flow_rate = var_component_1_flow_rate # alpha var_operation_1_type = "Heating" obj.operation_1_type = var_operation_1_type # alpha var_equipment_2_object_type = "Equipment 2 Object Type" obj.equipment_2_object_type = var_equipment_2_object_type # alpha var_equipment_2_name = "Equipment 2 Name" obj.equipment_2_name = var_equipment_2_name # node var_demand_calculation_2_node_name = "node|Demand Calculation 2 Node Name" obj.demand_calculation_2_node_name = var_demand_calculation_2_node_name # node var_setpoint_2_node_name = "node|Setpoint 2 Node Name" obj.setpoint_2_node_name = var_setpoint_2_node_name # real var_component_2_flow_rate = 12.12 obj.component_2_flow_rate = var_component_2_flow_rate # alpha var_operation_2_type = "Heating" obj.operation_2_type = var_operation_2_type # alpha var_equipment_3_object_type = "Equipment 3 Object Type" obj.equipment_3_object_type = var_equipment_3_object_type # alpha var_equipment_3_name = "Equipment 3 Name" obj.equipment_3_name = var_equipment_3_name # node var_demand_calculation_3_node_name = "node|Demand Calculation 3 Node Name" obj.demand_calculation_3_node_name = var_demand_calculation_3_node_name # node var_setpoint_3_node_name = "node|Setpoint 3 Node Name" obj.setpoint_3_node_name = var_setpoint_3_node_name # real var_component_3_flow_rate = 18.18 obj.component_3_flow_rate = var_component_3_flow_rate # alpha var_operation_3_type = "Heating" obj.operation_3_type = var_operation_3_type # alpha var_equipment_4_object_type = "Equipment 4 Object Type" obj.equipment_4_object_type = var_equipment_4_object_type # alpha var_equipment_4_name = "Equipment 4 Name" obj.equipment_4_name = var_equipment_4_name # node var_demand_calculation_4_node_name = "node|Demand Calculation 4 Node Name" obj.demand_calculation_4_node_name = var_demand_calculation_4_node_name # node var_setpoint_4_node_name = "node|Setpoint 4 Node Name" obj.setpoint_4_node_name = var_setpoint_4_node_name # real var_component_4_flow_rate = 24.24 obj.component_4_flow_rate = var_component_4_flow_rate # alpha var_operation_4_type = "Heating" obj.operation_4_type = var_operation_4_type # alpha var_equipment_5_object_type = "Equipment 5 Object Type" obj.equipment_5_object_type = var_equipment_5_object_type # alpha var_equipment_5_name = "Equipment 5 Name" obj.equipment_5_name = var_equipment_5_name # node var_demand_calculation_5_node_name = "node|Demand Calculation 5 Node Name" obj.demand_calculation_5_node_name = var_demand_calculation_5_node_name # node var_setpoint_5_node_name = "node|Setpoint 5 Node Name" obj.setpoint_5_node_name = var_setpoint_5_node_name # real var_component_5_flow_rate = 30.3 obj.component_5_flow_rate = var_component_5_flow_rate # alpha var_operation_5_type = "Heating" obj.operation_5_type = var_operation_5_type # alpha var_equipment_6_object_type = "Equipment 6 Object Type" obj.equipment_6_object_type = var_equipment_6_object_type # alpha var_equipment_6_name = "Equipment 6 Name" obj.equipment_6_name = var_equipment_6_name # node var_demand_calculation_6_node_name = "node|Demand Calculation 6 Node Name" obj.demand_calculation_6_node_name = var_demand_calculation_6_node_name # node var_setpoint_6_node_name = "node|Setpoint 6 Node Name" obj.setpoint_6_node_name = var_setpoint_6_node_name # real var_component_6_flow_rate = 36.36 obj.component_6_flow_rate = var_component_6_flow_rate # alpha var_operation_6_type = "Heating" obj.operation_6_type = var_operation_6_type # alpha var_equipment_7_object_type = "Equipment 7 Object Type" obj.equipment_7_object_type = var_equipment_7_object_type # alpha var_equipment_7_name = "Equipment 7 Name" obj.equipment_7_name = var_equipment_7_name # node var_demand_calculation_7_node_name = "node|Demand Calculation 7 Node Name" obj.demand_calculation_7_node_name = var_demand_calculation_7_node_name # node var_setpoint_7_node_name = "node|Setpoint 7 Node Name" obj.setpoint_7_node_name = var_setpoint_7_node_name # real var_component_7_flow_rate = 42.42 obj.component_7_flow_rate = var_component_7_flow_rate # alpha var_operation_7_type = "Heating" obj.operation_7_type = var_operation_7_type # alpha var_equipment_8_object_type = "Equipment 8 Object Type" obj.equipment_8_object_type = var_equipment_8_object_type # alpha var_equipment_8_name = "Equipment 8 Name" obj.equipment_8_name = var_equipment_8_name # node var_demand_calculation_8_node_name = "node|Demand Calculation 8 Node Name" obj.demand_calculation_8_node_name = var_demand_calculation_8_node_name # node var_setpoint_8_node_name = "node|Setpoint 8 Node Name" obj.setpoint_8_node_name = var_setpoint_8_node_name # real var_component_8_flow_rate = 48.48 obj.component_8_flow_rate = var_component_8_flow_rate # alpha var_operation_8_type = "Heating" obj.operation_8_type = var_operation_8_type # alpha var_equipment_9_object_type = "Equipment 9 Object Type" obj.equipment_9_object_type = var_equipment_9_object_type # alpha var_equipment_9_name = "Equipment 9 Name" obj.equipment_9_name = var_equipment_9_name # node var_demand_calculation_9_node_name = "node|Demand Calculation 9 Node Name" obj.demand_calculation_9_node_name = var_demand_calculation_9_node_name # node var_setpoint_9_node_name = "node|Setpoint 9 Node Name" obj.setpoint_9_node_name = var_setpoint_9_node_name # real var_component_9_flow_rate = 54.54 obj.component_9_flow_rate = var_component_9_flow_rate # alpha var_operation_9_type = "Heating" obj.operation_9_type = var_operation_9_type # alpha var_equipment_10_object_type = "Equipment 10 Object Type" obj.equipment_10_object_type = var_equipment_10_object_type # alpha var_equipment_10_name = "Equipment 10 Name" obj.equipment_10_name = var_equipment_10_name # node var_demand_calculation_10_node_name = "node|Demand Calculation 10 Node Name" obj.demand_calculation_10_node_name = var_demand_calculation_10_node_name # node var_setpoint_10_node_name = "node|Setpoint 10 Node Name" obj.setpoint_10_node_name = var_setpoint_10_node_name # real var_component_10_flow_rate = 60.6 obj.component_10_flow_rate = var_component_10_flow_rate # alpha var_operation_10_type = "Heating" obj.operation_10_type = var_operation_10_type idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].name, var_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_1_object_type, var_equipment_1_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_1_name, var_equipment_1_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_1_node_name, var_demand_calculation_1_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_1_node_name, var_setpoint_1_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_1_flow_rate, var_component_1_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_1_type, var_operation_1_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_2_object_type, var_equipment_2_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_2_name, var_equipment_2_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_2_node_name, var_demand_calculation_2_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_2_node_name, var_setpoint_2_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_2_flow_rate, var_component_2_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_2_type, var_operation_2_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_3_object_type, var_equipment_3_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_3_name, var_equipment_3_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_3_node_name, var_demand_calculation_3_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_3_node_name, var_setpoint_3_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_3_flow_rate, var_component_3_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_3_type, var_operation_3_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_4_object_type, var_equipment_4_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_4_name, var_equipment_4_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_4_node_name, var_demand_calculation_4_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_4_node_name, var_setpoint_4_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_4_flow_rate, var_component_4_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_4_type, var_operation_4_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_5_object_type, var_equipment_5_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_5_name, var_equipment_5_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_5_node_name, var_demand_calculation_5_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_5_node_name, var_setpoint_5_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_5_flow_rate, var_component_5_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_5_type, var_operation_5_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_6_object_type, var_equipment_6_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_6_name, var_equipment_6_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_6_node_name, var_demand_calculation_6_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_6_node_name, var_setpoint_6_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_6_flow_rate, var_component_6_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_6_type, var_operation_6_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_7_object_type, var_equipment_7_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_7_name, var_equipment_7_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_7_node_name, var_demand_calculation_7_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_7_node_name, var_setpoint_7_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_7_flow_rate, var_component_7_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_7_type, var_operation_7_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_8_object_type, var_equipment_8_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_8_name, var_equipment_8_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_8_node_name, var_demand_calculation_8_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_8_node_name, var_setpoint_8_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_8_flow_rate, var_component_8_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_8_type, var_operation_8_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_9_object_type, var_equipment_9_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].equipment_9_name, var_equipment_9_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_9_node_name, var_demand_calculation_9_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_9_node_name, var_setpoint_9_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_9_flow_rate, var_component_9_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0].operation_9_type, var_operation_9_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_10_object_type, var_equipment_10_object_type) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. equipment_10_name, var_equipment_10_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. demand_calculation_10_node_name, var_demand_calculation_10_node_name) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. setpoint_10_node_name, var_setpoint_10_node_name) self.assertAlmostEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. component_10_flow_rate, var_component_10_flow_rate) self.assertEqual( idf2.plantequipmentoperationcomponentsetpoints[0]. operation_10_type, var_operation_10_type)
def test_create_wateruseconnections(self): pyidf.validation_level = ValidationLevel.error obj = WaterUseConnections() # alpha var_name = "Name" obj.name = var_name # node var_inlet_node_name = "node|Inlet Node Name" obj.inlet_node_name = var_inlet_node_name # node var_outlet_node_name = "node|Outlet Node Name" obj.outlet_node_name = var_outlet_node_name # object-list var_supply_water_storage_tank_name = "object-list|Supply Water Storage Tank Name" obj.supply_water_storage_tank_name = var_supply_water_storage_tank_name # object-list var_reclamation_water_storage_tank_name = "object-list|Reclamation Water Storage Tank Name" obj.reclamation_water_storage_tank_name = var_reclamation_water_storage_tank_name # object-list var_hot_water_supply_temperature_schedule_name = "object-list|Hot Water Supply Temperature Schedule Name" obj.hot_water_supply_temperature_schedule_name = var_hot_water_supply_temperature_schedule_name # object-list var_cold_water_supply_temperature_schedule_name = "object-list|Cold Water Supply Temperature Schedule Name" obj.cold_water_supply_temperature_schedule_name = var_cold_water_supply_temperature_schedule_name # alpha var_drain_water_heat_exchanger_type = "None" obj.drain_water_heat_exchanger_type = var_drain_water_heat_exchanger_type # alpha var_drain_water_heat_exchanger_destination = "Plant" obj.drain_water_heat_exchanger_destination = var_drain_water_heat_exchanger_destination # real var_drain_water_heat_exchanger_ufactor_times_area = 0.0 obj.drain_water_heat_exchanger_ufactor_times_area = var_drain_water_heat_exchanger_ufactor_times_area paras = [] var_water_use_equipment_1_name = "object-list|Water Use Equipment 1 Name" paras.append(var_water_use_equipment_1_name) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.wateruseconnectionss[0].name, var_name) self.assertEqual(idf2.wateruseconnectionss[0].inlet_node_name, var_inlet_node_name) self.assertEqual(idf2.wateruseconnectionss[0].outlet_node_name, var_outlet_node_name) self.assertEqual( idf2.wateruseconnectionss[0].supply_water_storage_tank_name, var_supply_water_storage_tank_name) self.assertEqual( idf2.wateruseconnectionss[0].reclamation_water_storage_tank_name, var_reclamation_water_storage_tank_name) self.assertEqual( idf2.wateruseconnectionss[0]. hot_water_supply_temperature_schedule_name, var_hot_water_supply_temperature_schedule_name) self.assertEqual( idf2.wateruseconnectionss[0]. cold_water_supply_temperature_schedule_name, var_cold_water_supply_temperature_schedule_name) self.assertEqual( idf2.wateruseconnectionss[0].drain_water_heat_exchanger_type, var_drain_water_heat_exchanger_type) self.assertEqual( idf2.wateruseconnectionss[0]. drain_water_heat_exchanger_destination, var_drain_water_heat_exchanger_destination) self.assertAlmostEqual( idf2.wateruseconnectionss[0]. drain_water_heat_exchanger_ufactor_times_area, var_drain_water_heat_exchanger_ufactor_times_area) index = obj.extensible_field_index("Water Use Equipment 1 Name") self.assertEqual(idf2.wateruseconnectionss[0].extensibles[0][index], var_water_use_equipment_1_name)
def test_create_refrigerationwalkin(self): pyidf.validation_level = ValidationLevel.error obj = RefrigerationWalkIn() # alpha var_name = "Name" obj.name = var_name # object-list var_availability_schedule_name = "object-list|Availability Schedule Name" obj.availability_schedule_name = var_availability_schedule_name # real var_rated_coil_cooling_capacity = 3.3 obj.rated_coil_cooling_capacity = var_rated_coil_cooling_capacity # real var_operating_temperature = 19.9999 obj.operating_temperature = var_operating_temperature # real var_rated_cooling_source_temperature = -15.0 obj.rated_cooling_source_temperature = var_rated_cooling_source_temperature # real var_rated_total_heating_power = 6.6 obj.rated_total_heating_power = var_rated_total_heating_power # object-list var_heating_power_schedule_name = "object-list|Heating Power Schedule Name" obj.heating_power_schedule_name = var_heating_power_schedule_name # real var_rated_cooling_coil_fan_power = 0.0 obj.rated_cooling_coil_fan_power = var_rated_cooling_coil_fan_power # real var_rated_circulation_fan_power = 0.0 obj.rated_circulation_fan_power = var_rated_circulation_fan_power # real var_rated_total_lighting_power = 10.1 obj.rated_total_lighting_power = var_rated_total_lighting_power # object-list var_lighting_schedule_name = "object-list|Lighting Schedule Name" obj.lighting_schedule_name = var_lighting_schedule_name # alpha var_defrost_type = "HotFluid" obj.defrost_type = var_defrost_type # alpha var_defrost_control_type = "TimeSchedule" obj.defrost_control_type = var_defrost_control_type # object-list var_defrost_schedule_name = "object-list|Defrost Schedule Name" obj.defrost_schedule_name = var_defrost_schedule_name # object-list var_defrost_dripdown_schedule_name = "object-list|Defrost Drip-Down Schedule Name" obj.defrost_dripdown_schedule_name = var_defrost_dripdown_schedule_name # real var_defrost_power = 0.0 obj.defrost_power = var_defrost_power # real var_temperature_termination_defrost_fraction_to_ice = 0.50005 obj.temperature_termination_defrost_fraction_to_ice = var_temperature_termination_defrost_fraction_to_ice # object-list var_restocking_schedule_name = "object-list|Restocking Schedule Name" obj.restocking_schedule_name = var_restocking_schedule_name # real var_average_refrigerant_charge_inventory = 19.19 obj.average_refrigerant_charge_inventory = var_average_refrigerant_charge_inventory # real var_insulated_floor_surface_area = 0.0001 obj.insulated_floor_surface_area = var_insulated_floor_surface_area # real var_insulated_floor_uvalue = 0.0001 obj.insulated_floor_uvalue = var_insulated_floor_uvalue paras = [] var_zone_1_name = "object-list|Zone 1 Name" paras.append(var_zone_1_name) var_total_insulated_surface_area_facing_zone_1 = 0.0001 paras.append(var_total_insulated_surface_area_facing_zone_1) var_insulated_surface_uvalue_facing_zone_1 = 0.0001 paras.append(var_insulated_surface_uvalue_facing_zone_1) var_area_of_glass_reach_in_doors_facing_zone_1 = 25.25 paras.append(var_area_of_glass_reach_in_doors_facing_zone_1) var_height_of_glass_reach_in_doors_facing_zone_1 = 26.26 paras.append(var_height_of_glass_reach_in_doors_facing_zone_1) var_glass_reach_in_door_u_value_facing_zone_1 = 0.0001 paras.append(var_glass_reach_in_door_u_value_facing_zone_1) var_glass_reach_in_door_opening_schedule_name_facing_zone_1 = "object-list|Glass Reach In Door Opening Schedule Name Facing Zone 1" paras.append( var_glass_reach_in_door_opening_schedule_name_facing_zone_1) var_area_of_stocking_doors_facing_zone_1 = 29.29 paras.append(var_area_of_stocking_doors_facing_zone_1) var_height_of_stocking_doors_facing_zone_1 = 30.3 paras.append(var_height_of_stocking_doors_facing_zone_1) var_stocking_door_u_value_facing_zone_1 = 0.0001 paras.append(var_stocking_door_u_value_facing_zone_1) var_stocking_door_opening_schedule_name_facing_zone_1 = "object-list|Stocking Door Opening Schedule Name Facing Zone 1" paras.append(var_stocking_door_opening_schedule_name_facing_zone_1) var_stocking_door_opening_protection_type_facing_zone_1 = "None" paras.append(var_stocking_door_opening_protection_type_facing_zone_1) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.refrigerationwalkins[0].name, var_name) self.assertEqual( idf2.refrigerationwalkins[0].availability_schedule_name, var_availability_schedule_name) self.assertAlmostEqual( idf2.refrigerationwalkins[0].rated_coil_cooling_capacity, var_rated_coil_cooling_capacity) self.assertAlmostEqual( idf2.refrigerationwalkins[0].operating_temperature, var_operating_temperature) self.assertAlmostEqual( idf2.refrigerationwalkins[0].rated_cooling_source_temperature, var_rated_cooling_source_temperature) self.assertAlmostEqual( idf2.refrigerationwalkins[0].rated_total_heating_power, var_rated_total_heating_power) self.assertEqual( idf2.refrigerationwalkins[0].heating_power_schedule_name, var_heating_power_schedule_name) self.assertAlmostEqual( idf2.refrigerationwalkins[0].rated_cooling_coil_fan_power, var_rated_cooling_coil_fan_power) self.assertAlmostEqual( idf2.refrigerationwalkins[0].rated_circulation_fan_power, var_rated_circulation_fan_power) self.assertAlmostEqual( idf2.refrigerationwalkins[0].rated_total_lighting_power, var_rated_total_lighting_power) self.assertEqual(idf2.refrigerationwalkins[0].lighting_schedule_name, var_lighting_schedule_name) self.assertEqual(idf2.refrigerationwalkins[0].defrost_type, var_defrost_type) self.assertEqual(idf2.refrigerationwalkins[0].defrost_control_type, var_defrost_control_type) self.assertEqual(idf2.refrigerationwalkins[0].defrost_schedule_name, var_defrost_schedule_name) self.assertEqual( idf2.refrigerationwalkins[0].defrost_dripdown_schedule_name, var_defrost_dripdown_schedule_name) self.assertAlmostEqual(idf2.refrigerationwalkins[0].defrost_power, var_defrost_power) self.assertAlmostEqual( idf2.refrigerationwalkins[0]. temperature_termination_defrost_fraction_to_ice, var_temperature_termination_defrost_fraction_to_ice) self.assertEqual(idf2.refrigerationwalkins[0].restocking_schedule_name, var_restocking_schedule_name) self.assertAlmostEqual( idf2.refrigerationwalkins[0].average_refrigerant_charge_inventory, var_average_refrigerant_charge_inventory) self.assertAlmostEqual( idf2.refrigerationwalkins[0].insulated_floor_surface_area, var_insulated_floor_surface_area) self.assertAlmostEqual( idf2.refrigerationwalkins[0].insulated_floor_uvalue, var_insulated_floor_uvalue) index = obj.extensible_field_index("Zone 1 Name") self.assertEqual(idf2.refrigerationwalkins[0].extensibles[0][index], var_zone_1_name) index = obj.extensible_field_index( "Total Insulated Surface Area Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_total_insulated_surface_area_facing_zone_1) index = obj.extensible_field_index( "Insulated Surface U-Value Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_insulated_surface_uvalue_facing_zone_1) index = obj.extensible_field_index( "Area of Glass Reach In Doors Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_area_of_glass_reach_in_doors_facing_zone_1) index = obj.extensible_field_index( "Height of Glass Reach In Doors Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_height_of_glass_reach_in_doors_facing_zone_1) index = obj.extensible_field_index( "Glass Reach In Door U Value Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_glass_reach_in_door_u_value_facing_zone_1) index = obj.extensible_field_index( "Glass Reach In Door Opening Schedule Name Facing Zone 1") self.assertEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_glass_reach_in_door_opening_schedule_name_facing_zone_1) index = obj.extensible_field_index( "Area of Stocking Doors Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_area_of_stocking_doors_facing_zone_1) index = obj.extensible_field_index( "Height of Stocking Doors Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_height_of_stocking_doors_facing_zone_1) index = obj.extensible_field_index( "Stocking Door U Value Facing Zone 1") self.assertAlmostEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_stocking_door_u_value_facing_zone_1) index = obj.extensible_field_index( "Stocking Door Opening Schedule Name Facing Zone 1") self.assertEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_stocking_door_opening_schedule_name_facing_zone_1) index = obj.extensible_field_index( "Stocking Door Opening Protection Type Facing Zone 1") self.assertEqual( idf2.refrigerationwalkins[0].extensibles[0][index], var_stocking_door_opening_protection_type_facing_zone_1)
def test_create_zonehvacevaporativecoolerunit(self): pyidf.validation_level = ValidationLevel.error obj = ZoneHvacEvaporativeCoolerUnit() # alpha var_name = "Name" obj.name = var_name # object-list var_availability_schedule_name = "object-list|Availability Schedule Name" obj.availability_schedule_name = var_availability_schedule_name # object-list var_availability_manager_list_name = "object-list|Availability Manager List Name" obj.availability_manager_list_name = var_availability_manager_list_name # node var_outdoor_air_inlet_node_name = "node|Outdoor Air Inlet Node Name" obj.outdoor_air_inlet_node_name = var_outdoor_air_inlet_node_name # node var_cooler_outlet_node_name = "node|Cooler Outlet Node Name" obj.cooler_outlet_node_name = var_cooler_outlet_node_name # node var_zone_relief_air_node_name = "node|Zone Relief Air Node Name" obj.zone_relief_air_node_name = var_zone_relief_air_node_name # alpha var_supply_air_fan_object_type = "Fan:ConstantVolume" obj.supply_air_fan_object_type = var_supply_air_fan_object_type # object-list var_supply_air_fan_name = "object-list|Supply Air Fan Name" obj.supply_air_fan_name = var_supply_air_fan_name # real var_design_supply_air_flow_rate = 0.0001 obj.design_supply_air_flow_rate = var_design_supply_air_flow_rate # alpha var_fan_placement = "BlowThrough" obj.fan_placement = var_fan_placement # alpha var_cooler_unit_control_method = "ZoneTemperatureDeadbandOnOffCycling" obj.cooler_unit_control_method = var_cooler_unit_control_method # real var_throttling_range_temperature_difference = 0.0001 obj.throttling_range_temperature_difference = var_throttling_range_temperature_difference # real var_cooling_load_control_threshold_heat_transfer_rate = 0.0001 obj.cooling_load_control_threshold_heat_transfer_rate = var_cooling_load_control_threshold_heat_transfer_rate # alpha var_first_evaporative_cooler_object_type = "EvaporativeCooler:Direct:CelDekPad" obj.first_evaporative_cooler_object_type = var_first_evaporative_cooler_object_type # object-list var_first_evaporative_cooler_object_name = "object-list|First Evaporative Cooler Object Name" obj.first_evaporative_cooler_object_name = var_first_evaporative_cooler_object_name # alpha var_second_evaporative_cooler_object_type = "EvaporativeCooler:Direct:CelDekPad" obj.second_evaporative_cooler_object_type = var_second_evaporative_cooler_object_type # object-list var_second_evaporative_cooler_name = "object-list|Second Evaporative Cooler Name" obj.second_evaporative_cooler_name = var_second_evaporative_cooler_name # object-list var_design_specification_zonehvac_sizing_object_name = "object-list|Design Specification ZoneHVAC Sizing Object Name" obj.design_specification_zonehvac_sizing_object_name = var_design_specification_zonehvac_sizing_object_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.zonehvacevaporativecoolerunits[0].name, var_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0].availability_schedule_name, var_availability_schedule_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0]. availability_manager_list_name, var_availability_manager_list_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0].outdoor_air_inlet_node_name, var_outdoor_air_inlet_node_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0].cooler_outlet_node_name, var_cooler_outlet_node_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0].zone_relief_air_node_name, var_zone_relief_air_node_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0].supply_air_fan_object_type, var_supply_air_fan_object_type) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0].supply_air_fan_name, var_supply_air_fan_name) self.assertAlmostEqual( idf2.zonehvacevaporativecoolerunits[0].design_supply_air_flow_rate, var_design_supply_air_flow_rate) self.assertEqual(idf2.zonehvacevaporativecoolerunits[0].fan_placement, var_fan_placement) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0].cooler_unit_control_method, var_cooler_unit_control_method) self.assertAlmostEqual( idf2.zonehvacevaporativecoolerunits[0]. throttling_range_temperature_difference, var_throttling_range_temperature_difference) self.assertAlmostEqual( idf2.zonehvacevaporativecoolerunits[0]. cooling_load_control_threshold_heat_transfer_rate, var_cooling_load_control_threshold_heat_transfer_rate) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0]. first_evaporative_cooler_object_type, var_first_evaporative_cooler_object_type) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0]. first_evaporative_cooler_object_name, var_first_evaporative_cooler_object_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0]. second_evaporative_cooler_object_type, var_second_evaporative_cooler_object_type) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0]. second_evaporative_cooler_name, var_second_evaporative_cooler_name) self.assertEqual( idf2.zonehvacevaporativecoolerunits[0]. design_specification_zonehvac_sizing_object_name, var_design_specification_zonehvac_sizing_object_name)
def test_create_heatpumpwatertowaterparameterestimationheating(self): pyidf.validation_level = ValidationLevel.error obj = HeatPumpWaterToWaterParameterEstimationHeating() # alpha var_name = "Name" obj.name = var_name # node var_source_side_inlet_node_name = "node|Source Side Inlet Node Name" obj.source_side_inlet_node_name = var_source_side_inlet_node_name # node var_source_side_outlet_node_name = "node|Source Side Outlet Node Name" obj.source_side_outlet_node_name = var_source_side_outlet_node_name # node var_load_side_inlet_node_name = "node|Load Side Inlet Node Name" obj.load_side_inlet_node_name = var_load_side_inlet_node_name # node var_load_side_outlet_node_name = "node|Load Side Outlet Node Name" obj.load_side_outlet_node_name = var_load_side_outlet_node_name # real var_nominal_cop = 0.0001 obj.nominal_cop = var_nominal_cop # real var_nominal_capacity = 0.0001 obj.nominal_capacity = var_nominal_capacity # real var_minimum_part_load_ratio = 0.0 obj.minimum_part_load_ratio = var_minimum_part_load_ratio # real var_maximum_part_load_ratio = 0.0 obj.maximum_part_load_ratio = var_maximum_part_load_ratio # real var_optimum_part_load_ratio = 0.0 obj.optimum_part_load_ratio = var_optimum_part_load_ratio # real var_load_side_flow_rate = 0.0001 obj.load_side_flow_rate = var_load_side_flow_rate # real var_source_side_flow_rate = 0.0001 obj.source_side_flow_rate = var_source_side_flow_rate # real var_load_side_heat_transfer_coefficient = 0.0001 obj.load_side_heat_transfer_coefficient = var_load_side_heat_transfer_coefficient # real var_source_side_heat_transfer_coefficient = 0.0001 obj.source_side_heat_transfer_coefficient = var_source_side_heat_transfer_coefficient # real var_piston_displacement = 0.0001 obj.piston_displacement = var_piston_displacement # real var_compressor_clearance_factor = 0.0001 obj.compressor_clearance_factor = var_compressor_clearance_factor # real var_compressor_suction_and_discharge_pressure_drop = 0.0001 obj.compressor_suction_and_discharge_pressure_drop = var_compressor_suction_and_discharge_pressure_drop # real var_superheating = 0.0001 obj.superheating = var_superheating # real var_constant_part_of_electromechanical_power_losses = 0.0001 obj.constant_part_of_electromechanical_power_losses = var_constant_part_of_electromechanical_power_losses # real var_loss_factor = 0.0001 obj.loss_factor = var_loss_factor # real var_high_pressure_cut_off = 0.0 obj.high_pressure_cut_off = var_high_pressure_cut_off # real var_low_pressure_cut_off = 0.0 obj.low_pressure_cut_off = var_low_pressure_cut_off idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0].name, var_name) self.assertEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. source_side_inlet_node_name, var_source_side_inlet_node_name) self.assertEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. source_side_outlet_node_name, var_source_side_outlet_node_name) self.assertEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. load_side_inlet_node_name, var_load_side_inlet_node_name) self.assertEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. load_side_outlet_node_name, var_load_side_outlet_node_name) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. nominal_cop, var_nominal_cop) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. nominal_capacity, var_nominal_capacity) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. minimum_part_load_ratio, var_minimum_part_load_ratio) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. maximum_part_load_ratio, var_maximum_part_load_ratio) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. optimum_part_load_ratio, var_optimum_part_load_ratio) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. load_side_flow_rate, var_load_side_flow_rate) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. source_side_flow_rate, var_source_side_flow_rate) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. load_side_heat_transfer_coefficient, var_load_side_heat_transfer_coefficient) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. source_side_heat_transfer_coefficient, var_source_side_heat_transfer_coefficient) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. piston_displacement, var_piston_displacement) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. compressor_clearance_factor, var_compressor_clearance_factor) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. compressor_suction_and_discharge_pressure_drop, var_compressor_suction_and_discharge_pressure_drop) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. superheating, var_superheating) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. constant_part_of_electromechanical_power_losses, var_constant_part_of_electromechanical_power_losses) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. loss_factor, var_loss_factor) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. high_pressure_cut_off, var_high_pressure_cut_off) self.assertAlmostEqual( idf2.heatpumpwatertowaterparameterestimationheatings[0]. low_pressure_cut_off, var_low_pressure_cut_off)
def test_create_headeredpumpsconstantspeed(self): pyidf.validation_level = ValidationLevel.error obj = HeaderedPumpsConstantSpeed() # alpha var_name = "Name" obj.name = var_name # node var_inlet_node_name = "node|Inlet Node Name" obj.inlet_node_name = var_inlet_node_name # node var_outlet_node_name = "node|Outlet Node Name" obj.outlet_node_name = var_outlet_node_name # real var_total_rated_flow_rate = 0.0001 obj.total_rated_flow_rate = var_total_rated_flow_rate # integer var_number_of_pumps_in_bank = 5 obj.number_of_pumps_in_bank = var_number_of_pumps_in_bank # alpha var_flow_sequencing_control_scheme = "Sequential" obj.flow_sequencing_control_scheme = var_flow_sequencing_control_scheme # real var_rated_pump_head = 7.7 obj.rated_pump_head = var_rated_pump_head # real var_rated_power_consumption = 8.8 obj.rated_power_consumption = var_rated_power_consumption # real var_motor_efficiency = 0.50005 obj.motor_efficiency = var_motor_efficiency # real var_fraction_of_motor_inefficiencies_to_fluid_stream = 0.5 obj.fraction_of_motor_inefficiencies_to_fluid_stream = var_fraction_of_motor_inefficiencies_to_fluid_stream # alpha var_pump_control_type = "Continuous" obj.pump_control_type = var_pump_control_type # object-list var_pump_flow_rate_schedule_name = "object-list|Pump Flow Rate Schedule Name" obj.pump_flow_rate_schedule_name = var_pump_flow_rate_schedule_name # object-list var_zone_name = "object-list|Zone Name" obj.zone_name = var_zone_name # real var_skin_loss_radiative_fraction = 0.5 obj.skin_loss_radiative_fraction = var_skin_loss_radiative_fraction idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.headeredpumpsconstantspeeds[0].name, var_name) self.assertEqual(idf2.headeredpumpsconstantspeeds[0].inlet_node_name, var_inlet_node_name) self.assertEqual(idf2.headeredpumpsconstantspeeds[0].outlet_node_name, var_outlet_node_name) self.assertAlmostEqual( idf2.headeredpumpsconstantspeeds[0].total_rated_flow_rate, var_total_rated_flow_rate) self.assertEqual( idf2.headeredpumpsconstantspeeds[0].number_of_pumps_in_bank, var_number_of_pumps_in_bank) self.assertEqual( idf2.headeredpumpsconstantspeeds[0].flow_sequencing_control_scheme, var_flow_sequencing_control_scheme) self.assertAlmostEqual( idf2.headeredpumpsconstantspeeds[0].rated_pump_head, var_rated_pump_head) self.assertAlmostEqual( idf2.headeredpumpsconstantspeeds[0].rated_power_consumption, var_rated_power_consumption) self.assertAlmostEqual( idf2.headeredpumpsconstantspeeds[0].motor_efficiency, var_motor_efficiency) self.assertAlmostEqual( idf2.headeredpumpsconstantspeeds[0]. fraction_of_motor_inefficiencies_to_fluid_stream, var_fraction_of_motor_inefficiencies_to_fluid_stream) self.assertEqual(idf2.headeredpumpsconstantspeeds[0].pump_control_type, var_pump_control_type) self.assertEqual( idf2.headeredpumpsconstantspeeds[0].pump_flow_rate_schedule_name, var_pump_flow_rate_schedule_name) self.assertEqual(idf2.headeredpumpsconstantspeeds[0].zone_name, var_zone_name) self.assertAlmostEqual( idf2.headeredpumpsconstantspeeds[0].skin_loss_radiative_fraction, var_skin_loss_radiative_fraction)
def test_create_windowmaterialglazingrefractionextinctionmethod(self): pyidf.validation_level = ValidationLevel.error obj = WindowMaterialGlazingRefractionExtinctionMethod() # alpha var_name = "Name" obj.name = var_name # real var_thickness = 0.0001 obj.thickness = var_thickness # real var_solar_index_of_refraction = 1.0001 obj.solar_index_of_refraction = var_solar_index_of_refraction # real var_solar_extinction_coefficient = 0.0001 obj.solar_extinction_coefficient = var_solar_extinction_coefficient # real var_visible_index_of_refraction = 1.0001 obj.visible_index_of_refraction = var_visible_index_of_refraction # real var_visible_extinction_coefficient = 0.0001 obj.visible_extinction_coefficient = var_visible_extinction_coefficient # real var_infrared_transmittance_at_normal_incidence = 0.49995 obj.infrared_transmittance_at_normal_incidence = var_infrared_transmittance_at_normal_incidence # real var_infrared_hemispherical_emissivity = 0.5 obj.infrared_hemispherical_emissivity = var_infrared_hemispherical_emissivity # real var_conductivity = 0.0001 obj.conductivity = var_conductivity # real var_dirt_correction_factor_for_solar_and_visible_transmittance = 0.50005 obj.dirt_correction_factor_for_solar_and_visible_transmittance = var_dirt_correction_factor_for_solar_and_visible_transmittance # alpha var_solar_diffusing = "No" obj.solar_diffusing = var_solar_diffusing idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0].name, var_name) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0].thickness, var_thickness) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. solar_index_of_refraction, var_solar_index_of_refraction) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. solar_extinction_coefficient, var_solar_extinction_coefficient) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. visible_index_of_refraction, var_visible_index_of_refraction) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. visible_extinction_coefficient, var_visible_extinction_coefficient) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. infrared_transmittance_at_normal_incidence, var_infrared_transmittance_at_normal_incidence) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. infrared_hemispherical_emissivity, var_infrared_hemispherical_emissivity) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. conductivity, var_conductivity) self.assertAlmostEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. dirt_correction_factor_for_solar_and_visible_transmittance, var_dirt_correction_factor_for_solar_and_visible_transmittance) self.assertEqual( idf2.windowmaterialglazingrefractionextinctionmethods[0]. solar_diffusing, var_solar_diffusing)
def test_create_heatpumpwatertowaterequationfitcooling(self): pyidf.validation_level = ValidationLevel.error obj = HeatPumpWaterToWaterEquationFitCooling() # alpha var_name = "Name" obj.name = var_name # node var_source_side_inlet_node_name = "node|Source Side Inlet Node Name" obj.source_side_inlet_node_name = var_source_side_inlet_node_name # node var_source_side_outlet_node_name = "node|Source Side Outlet Node Name" obj.source_side_outlet_node_name = var_source_side_outlet_node_name # node var_load_side_inlet_node_name = "node|Load Side Inlet Node Name" obj.load_side_inlet_node_name = var_load_side_inlet_node_name # node var_load_side_outlet_node_name = "node|Load Side Outlet Node Name" obj.load_side_outlet_node_name = var_load_side_outlet_node_name # real var_rated_load_side_flow_rate = 0.0001 obj.rated_load_side_flow_rate = var_rated_load_side_flow_rate # real var_rated_source_side_flow_rate = 0.0001 obj.rated_source_side_flow_rate = var_rated_source_side_flow_rate # real var_rated_cooling_capacity = 0.0001 obj.rated_cooling_capacity = var_rated_cooling_capacity # real var_rated_cooling_power_consumption = 0.0001 obj.rated_cooling_power_consumption = var_rated_cooling_power_consumption # real var_cooling_capacity_coefficient_1 = 10.1 obj.cooling_capacity_coefficient_1 = var_cooling_capacity_coefficient_1 # real var_cooling_capacity_coefficient_2 = 11.11 obj.cooling_capacity_coefficient_2 = var_cooling_capacity_coefficient_2 # real var_cooling_capacity_coefficient_3 = 12.12 obj.cooling_capacity_coefficient_3 = var_cooling_capacity_coefficient_3 # real var_cooling_capacity_coefficient_4 = 13.13 obj.cooling_capacity_coefficient_4 = var_cooling_capacity_coefficient_4 # real var_cooling_capacity_coefficient_5 = 14.14 obj.cooling_capacity_coefficient_5 = var_cooling_capacity_coefficient_5 # real var_cooling_compressor_power_coefficient_1 = 15.15 obj.cooling_compressor_power_coefficient_1 = var_cooling_compressor_power_coefficient_1 # real var_cooling_compressor_power_coefficient_2 = 16.16 obj.cooling_compressor_power_coefficient_2 = var_cooling_compressor_power_coefficient_2 # real var_cooling_compressor_power_coefficient_3 = 17.17 obj.cooling_compressor_power_coefficient_3 = var_cooling_compressor_power_coefficient_3 # real var_cooling_compressor_power_coefficient_4 = 18.18 obj.cooling_compressor_power_coefficient_4 = var_cooling_compressor_power_coefficient_4 # real var_cooling_compressor_power_coefficient_5 = 19.19 obj.cooling_compressor_power_coefficient_5 = var_cooling_compressor_power_coefficient_5 idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.heatpumpwatertowaterequationfitcoolings[0].name, var_name) self.assertEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. source_side_inlet_node_name, var_source_side_inlet_node_name) self.assertEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. source_side_outlet_node_name, var_source_side_outlet_node_name) self.assertEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. load_side_inlet_node_name, var_load_side_inlet_node_name) self.assertEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. load_side_outlet_node_name, var_load_side_outlet_node_name) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. rated_load_side_flow_rate, var_rated_load_side_flow_rate) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. rated_source_side_flow_rate, var_rated_source_side_flow_rate) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. rated_cooling_capacity, var_rated_cooling_capacity) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. rated_cooling_power_consumption, var_rated_cooling_power_consumption) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_capacity_coefficient_1, var_cooling_capacity_coefficient_1) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_capacity_coefficient_2, var_cooling_capacity_coefficient_2) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_capacity_coefficient_3, var_cooling_capacity_coefficient_3) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_capacity_coefficient_4, var_cooling_capacity_coefficient_4) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_capacity_coefficient_5, var_cooling_capacity_coefficient_5) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_compressor_power_coefficient_1, var_cooling_compressor_power_coefficient_1) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_compressor_power_coefficient_2, var_cooling_compressor_power_coefficient_2) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_compressor_power_coefficient_3, var_cooling_compressor_power_coefficient_3) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_compressor_power_coefficient_4, var_cooling_compressor_power_coefficient_4) self.assertAlmostEqual( idf2.heatpumpwatertowaterequationfitcoolings[0]. cooling_compressor_power_coefficient_5, var_cooling_compressor_power_coefficient_5)
def test_create_zonehvacbaseboardradiantconvectiveelectric(self): pyidf.validation_level = ValidationLevel.error obj = ZoneHvacBaseboardRadiantConvectiveElectric() # alpha var_name = "Name" obj.name = var_name # object-list var_availability_schedule_name = "object-list|Availability Schedule Name" obj.availability_schedule_name = var_availability_schedule_name # alpha var_heating_design_capacity_method = "HeatingDesignCapacity" obj.heating_design_capacity_method = var_heating_design_capacity_method # real var_heating_design_capacity = 0.0 obj.heating_design_capacity = var_heating_design_capacity # real var_heating_design_capacity_per_floor_area = 0.0 obj.heating_design_capacity_per_floor_area = var_heating_design_capacity_per_floor_area # real var_fraction_of_autosized_heating_design_capacity = 0.0 obj.fraction_of_autosized_heating_design_capacity = var_fraction_of_autosized_heating_design_capacity # real var_efficiency = 0.50005 obj.efficiency = var_efficiency # real var_fraction_radiant = 0.5 obj.fraction_radiant = var_fraction_radiant # real var_fraction_of_radiant_energy_incident_on_people = 0.5 obj.fraction_of_radiant_energy_incident_on_people = var_fraction_of_radiant_energy_incident_on_people paras = [] var_surface_1_name = "object-list|Surface 1 Name" paras.append(var_surface_1_name) var_fraction_of_radiant_energy_to_surface_1 = 0.5 paras.append(var_fraction_of_radiant_energy_to_surface_1) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0].name, var_name) self.assertEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0]. availability_schedule_name, var_availability_schedule_name) self.assertEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0]. heating_design_capacity_method, var_heating_design_capacity_method) self.assertAlmostEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0]. heating_design_capacity, var_heating_design_capacity) self.assertAlmostEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0]. heating_design_capacity_per_floor_area, var_heating_design_capacity_per_floor_area) self.assertAlmostEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0]. fraction_of_autosized_heating_design_capacity, var_fraction_of_autosized_heating_design_capacity) self.assertAlmostEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0].efficiency, var_efficiency) self.assertAlmostEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0]. fraction_radiant, var_fraction_radiant) self.assertAlmostEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0]. fraction_of_radiant_energy_incident_on_people, var_fraction_of_radiant_energy_incident_on_people) index = obj.extensible_field_index("Surface 1 Name") self.assertEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0].extensibles[0] [index], var_surface_1_name) index = obj.extensible_field_index( "Fraction of Radiant Energy to Surface 1") self.assertAlmostEqual( idf2.zonehvacbaseboardradiantconvectiveelectrics[0].extensibles[0] [index], var_fraction_of_radiant_energy_to_surface_1)
def test_create_plantequipmentoperationoutdoorrelativehumidity(self): pyidf.validation_level = ValidationLevel.error obj = PlantEquipmentOperationOutdoorRelativeHumidity() # alpha var_name = "Name" obj.name = var_name # real var_relative_humidity_range_1_lower_limit = 50.0 obj.relative_humidity_range_1_lower_limit = var_relative_humidity_range_1_lower_limit # real var_relative_humidity_range_1_upper_limit = 50.0 obj.relative_humidity_range_1_upper_limit = var_relative_humidity_range_1_upper_limit # object-list var_range_1_equipment_list_name = "object-list|Range 1 Equipment List Name" obj.range_1_equipment_list_name = var_range_1_equipment_list_name # real var_relative_humidity_range_2_lower_limit = 50.0 obj.relative_humidity_range_2_lower_limit = var_relative_humidity_range_2_lower_limit # real var_relative_humidity_range_2_upper_limit = 50.0 obj.relative_humidity_range_2_upper_limit = var_relative_humidity_range_2_upper_limit # object-list var_range_2_equipment_list_name = "object-list|Range 2 Equipment List Name" obj.range_2_equipment_list_name = var_range_2_equipment_list_name # real var_relative_humidity_range_3_lower_limit = 50.0 obj.relative_humidity_range_3_lower_limit = var_relative_humidity_range_3_lower_limit # real var_relative_humidity_range_3_upper_limit = 50.0 obj.relative_humidity_range_3_upper_limit = var_relative_humidity_range_3_upper_limit # object-list var_range_3_equipment_list_name = "object-list|Range 3 Equipment List Name" obj.range_3_equipment_list_name = var_range_3_equipment_list_name # real var_relative_humidity_range_4_lower_limit = 50.0 obj.relative_humidity_range_4_lower_limit = var_relative_humidity_range_4_lower_limit # real var_relative_humidity_range_4_upper_limit = 50.0 obj.relative_humidity_range_4_upper_limit = var_relative_humidity_range_4_upper_limit # object-list var_range_4_equipment_list_name = "object-list|Range 4 Equipment List Name" obj.range_4_equipment_list_name = var_range_4_equipment_list_name # real var_relative_humidity_range_5_lower_limit = 50.0 obj.relative_humidity_range_5_lower_limit = var_relative_humidity_range_5_lower_limit # real var_relative_humidity_range_5_upper_limit = 50.0 obj.relative_humidity_range_5_upper_limit = var_relative_humidity_range_5_upper_limit # object-list var_range_5_equipment_list_name = "object-list|Range 5 Equipment List Name" obj.range_5_equipment_list_name = var_range_5_equipment_list_name # real var_relative_humidity_range_6_lower_limit = 50.0 obj.relative_humidity_range_6_lower_limit = var_relative_humidity_range_6_lower_limit # real var_relative_humidity_range_6_upper_limit = 50.0 obj.relative_humidity_range_6_upper_limit = var_relative_humidity_range_6_upper_limit # object-list var_range_6_equipment_list_name = "object-list|Range 6 Equipment List Name" obj.range_6_equipment_list_name = var_range_6_equipment_list_name # real var_relative_humidity_range_7_lower_limit = 50.0 obj.relative_humidity_range_7_lower_limit = var_relative_humidity_range_7_lower_limit # real var_relative_humidity_range_7_upper_limit = 50.0 obj.relative_humidity_range_7_upper_limit = var_relative_humidity_range_7_upper_limit # object-list var_range_7_equipment_list_name = "object-list|Range 7 Equipment List Name" obj.range_7_equipment_list_name = var_range_7_equipment_list_name # real var_relative_humidity_range_8_lower_limit = 50.0 obj.relative_humidity_range_8_lower_limit = var_relative_humidity_range_8_lower_limit # real var_relative_humidity_range_8_upper_limit = 50.0 obj.relative_humidity_range_8_upper_limit = var_relative_humidity_range_8_upper_limit # object-list var_range_8_equipment_list_name = "object-list|Range 8 Equipment List Name" obj.range_8_equipment_list_name = var_range_8_equipment_list_name # real var_relative_humidity_range_9_lower_limit = 50.0 obj.relative_humidity_range_9_lower_limit = var_relative_humidity_range_9_lower_limit # real var_relative_humidity_range_9_upper_limit = 50.0 obj.relative_humidity_range_9_upper_limit = var_relative_humidity_range_9_upper_limit # object-list var_range_9_equipment_list_name = "object-list|Range 9 Equipment List Name" obj.range_9_equipment_list_name = var_range_9_equipment_list_name # real var_relative_humidity_range_10_lower_limit = 50.0 obj.relative_humidity_range_10_lower_limit = var_relative_humidity_range_10_lower_limit # real var_relative_humidity_range_10_upper_limit = 50.0 obj.relative_humidity_range_10_upper_limit = var_relative_humidity_range_10_upper_limit # object-list var_range_10_equipment_list_name = "object-list|Range 10 Equipment List Name" obj.range_10_equipment_list_name = var_range_10_equipment_list_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].name, var_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_1_lower_limit, var_relative_humidity_range_1_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_1_upper_limit, var_relative_humidity_range_1_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_1_equipment_list_name, var_range_1_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_2_lower_limit, var_relative_humidity_range_2_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_2_upper_limit, var_relative_humidity_range_2_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_2_equipment_list_name, var_range_2_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_3_lower_limit, var_relative_humidity_range_3_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_3_upper_limit, var_relative_humidity_range_3_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_3_equipment_list_name, var_range_3_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_4_lower_limit, var_relative_humidity_range_4_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_4_upper_limit, var_relative_humidity_range_4_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_4_equipment_list_name, var_range_4_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_5_lower_limit, var_relative_humidity_range_5_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_5_upper_limit, var_relative_humidity_range_5_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_5_equipment_list_name, var_range_5_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_6_lower_limit, var_relative_humidity_range_6_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_6_upper_limit, var_relative_humidity_range_6_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_6_equipment_list_name, var_range_6_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_7_lower_limit, var_relative_humidity_range_7_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_7_upper_limit, var_relative_humidity_range_7_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_7_equipment_list_name, var_range_7_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_8_lower_limit, var_relative_humidity_range_8_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_8_upper_limit, var_relative_humidity_range_8_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_8_equipment_list_name, var_range_8_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_9_lower_limit, var_relative_humidity_range_9_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_9_upper_limit, var_relative_humidity_range_9_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_9_equipment_list_name, var_range_9_equipment_list_name) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_10_lower_limit, var_relative_humidity_range_10_lower_limit) self.assertAlmostEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].relative_humidity_range_10_upper_limit, var_relative_humidity_range_10_upper_limit) self.assertEqual(idf2.plantequipmentoperationoutdoorrelativehumiditys[0].range_10_equipment_list_name, var_range_10_equipment_list_name)
def test_create_airloophvacunitarysystem(self): pyidf.validation_level = ValidationLevel.error obj = AirLoopHvacUnitarySystem() # alpha var_name = "Name" obj.name = var_name # alpha var_control_type = "Load" obj.control_type = var_control_type # object-list var_controlling_zone_or_thermostat_location = "object-list|Controlling Zone or Thermostat Location" obj.controlling_zone_or_thermostat_location = var_controlling_zone_or_thermostat_location # alpha var_dehumidification_control_type = "None" obj.dehumidification_control_type = var_dehumidification_control_type # object-list var_availability_schedule_name = "object-list|Availability Schedule Name" obj.availability_schedule_name = var_availability_schedule_name # node var_air_inlet_node_name = "node|Air Inlet Node Name" obj.air_inlet_node_name = var_air_inlet_node_name # node var_air_outlet_node_name = "node|Air Outlet Node Name" obj.air_outlet_node_name = var_air_outlet_node_name # alpha var_supply_fan_object_type = "Fan:OnOff" obj.supply_fan_object_type = var_supply_fan_object_type # object-list var_supply_fan_name = "object-list|Supply Fan Name" obj.supply_fan_name = var_supply_fan_name # alpha var_fan_placement = "BlowThrough" obj.fan_placement = var_fan_placement # object-list var_supply_air_fan_operating_mode_schedule_name = "object-list|Supply Air Fan Operating Mode Schedule Name" obj.supply_air_fan_operating_mode_schedule_name = var_supply_air_fan_operating_mode_schedule_name # alpha var_heating_coil_object_type = "Coil:Heating:DX:SingleSpeed" obj.heating_coil_object_type = var_heating_coil_object_type # object-list var_heating_coil_name = "object-list|Heating Coil Name" obj.heating_coil_name = var_heating_coil_name # real var_dx_heating_coil_sizing_ratio = 0.0001 obj.dx_heating_coil_sizing_ratio = var_dx_heating_coil_sizing_ratio # alpha var_cooling_coil_object_type = "Coil:Cooling:DX:SingleSpeed" obj.cooling_coil_object_type = var_cooling_coil_object_type # object-list var_cooling_coil_name = "object-list|Cooling Coil Name" obj.cooling_coil_name = var_cooling_coil_name # alpha var_use_doas_dx_cooling_coil = "Yes" obj.use_doas_dx_cooling_coil = var_use_doas_dx_cooling_coil # real var_doas_dx_cooling_coil_leaving_minimum_air_temperature = 3.6 obj.doas_dx_cooling_coil_leaving_minimum_air_temperature = var_doas_dx_cooling_coil_leaving_minimum_air_temperature # alpha var_latent_load_control = "SensibleOnlyLoadControl" obj.latent_load_control = var_latent_load_control # alpha var_supplemental_heating_coil_object_type = "Coil:Heating:Gas" obj.supplemental_heating_coil_object_type = var_supplemental_heating_coil_object_type # object-list var_supplemental_heating_coil_name = "object-list|Supplemental Heating Coil Name" obj.supplemental_heating_coil_name = var_supplemental_heating_coil_name # alpha var_cooling_supply_air_flow_rate_method = "None" obj.cooling_supply_air_flow_rate_method = var_cooling_supply_air_flow_rate_method # real var_cooling_supply_air_flow_rate = 0.0 obj.cooling_supply_air_flow_rate = var_cooling_supply_air_flow_rate # real var_cooling_supply_air_flow_rate_per_floor_area = 0.0 obj.cooling_supply_air_flow_rate_per_floor_area = var_cooling_supply_air_flow_rate_per_floor_area # real var_cooling_fraction_of_autosized_cooling_supply_air_flow_rate = 0.0 obj.cooling_fraction_of_autosized_cooling_supply_air_flow_rate = var_cooling_fraction_of_autosized_cooling_supply_air_flow_rate # real var_cooling_supply_air_flow_rate_per_unit_of_capacity = 0.0 obj.cooling_supply_air_flow_rate_per_unit_of_capacity = var_cooling_supply_air_flow_rate_per_unit_of_capacity # alpha var_heating_supply_air_flow_rate_method = "None" obj.heating_supply_air_flow_rate_method = var_heating_supply_air_flow_rate_method # real var_heating_supply_air_flow_rate = 0.0 obj.heating_supply_air_flow_rate = var_heating_supply_air_flow_rate # real var_heating_supply_air_flow_rate_per_floor_area = 0.0 obj.heating_supply_air_flow_rate_per_floor_area = var_heating_supply_air_flow_rate_per_floor_area # real var_heating_fraction_of_autosized_heating_supply_air_flow_rate = 0.0 obj.heating_fraction_of_autosized_heating_supply_air_flow_rate = var_heating_fraction_of_autosized_heating_supply_air_flow_rate # real var_heating_supply_air_flow_rate_per_unit_of_capacity = 0.0 obj.heating_supply_air_flow_rate_per_unit_of_capacity = var_heating_supply_air_flow_rate_per_unit_of_capacity # alpha var_no_load_supply_air_flow_rate_method = "None" obj.no_load_supply_air_flow_rate_method = var_no_load_supply_air_flow_rate_method # real var_no_load_supply_air_flow_rate = 0.0 obj.no_load_supply_air_flow_rate = var_no_load_supply_air_flow_rate # real var_no_load_supply_air_flow_rate_per_floor_area = 0.0 obj.no_load_supply_air_flow_rate_per_floor_area = var_no_load_supply_air_flow_rate_per_floor_area # real var_no_load_fraction_of_autosized_cooling_supply_air_flow_rate = 0.0 obj.no_load_fraction_of_autosized_cooling_supply_air_flow_rate = var_no_load_fraction_of_autosized_cooling_supply_air_flow_rate # real var_no_load_fraction_of_autosized_heating_supply_air_flow_rate = 0.0 obj.no_load_fraction_of_autosized_heating_supply_air_flow_rate = var_no_load_fraction_of_autosized_heating_supply_air_flow_rate # real var_no_load_supply_air_flow_rate_per_unit_of_capacity_during_cooling_operation = 0.0 obj.no_load_supply_air_flow_rate_per_unit_of_capacity_during_cooling_operation = var_no_load_supply_air_flow_rate_per_unit_of_capacity_during_cooling_operation # real var_no_load_supply_air_flow_rate_per_unit_of_capacity_during_heating_operation = 0.0 obj.no_load_supply_air_flow_rate_per_unit_of_capacity_during_heating_operation = var_no_load_supply_air_flow_rate_per_unit_of_capacity_during_heating_operation # real var_maximum_supply_air_temperature = 39.39 obj.maximum_supply_air_temperature = var_maximum_supply_air_temperature # real var_maximum_outdoor_drybulb_temperature_for_supplemental_heater_operation = 40.4 obj.maximum_outdoor_drybulb_temperature_for_supplemental_heater_operation = var_maximum_outdoor_drybulb_temperature_for_supplemental_heater_operation # node var_outdoor_drybulb_temperature_sensor_node_name = "node|Outdoor Dry-Bulb Temperature Sensor Node Name" obj.outdoor_drybulb_temperature_sensor_node_name = var_outdoor_drybulb_temperature_sensor_node_name # real var_maximum_cycling_rate = 2.5 obj.maximum_cycling_rate = var_maximum_cycling_rate # real var_heat_pump_time_constant = 250.0 obj.heat_pump_time_constant = var_heat_pump_time_constant # real var_fraction_of_oncycle_power_use = 0.025 obj.fraction_of_oncycle_power_use = var_fraction_of_oncycle_power_use # real var_heat_pump_fan_delay_time = 0.0 obj.heat_pump_fan_delay_time = var_heat_pump_fan_delay_time # real var_ancillary_oncycle_electric_power = 0.0 obj.ancillary_oncycle_electric_power = var_ancillary_oncycle_electric_power # real var_ancillary_offcycle_electric_power = 0.0 obj.ancillary_offcycle_electric_power = var_ancillary_offcycle_electric_power # real var_design_heat_recovery_water_flow_rate = 0.0 obj.design_heat_recovery_water_flow_rate = var_design_heat_recovery_water_flow_rate # real var_maximum_temperature_for_heat_recovery = 50.0 obj.maximum_temperature_for_heat_recovery = var_maximum_temperature_for_heat_recovery # node var_heat_recovery_water_inlet_node_name = "node|Heat Recovery Water Inlet Node Name" obj.heat_recovery_water_inlet_node_name = var_heat_recovery_water_inlet_node_name # node var_heat_recovery_water_outlet_node_name = "node|Heat Recovery Water Outlet Node Name" obj.heat_recovery_water_outlet_node_name = var_heat_recovery_water_outlet_node_name # alpha var_design_specification_multispeed_object_type = "UnitarySystemPerformance:Multispeed" obj.design_specification_multispeed_object_type = var_design_specification_multispeed_object_type # object-list var_design_specification_multispeed_object_name = "object-list|Design Specification Multispeed Object Name" obj.design_specification_multispeed_object_name = var_design_specification_multispeed_object_name idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.airloophvacunitarysystems[0].name, var_name) self.assertEqual(idf2.airloophvacunitarysystems[0].control_type, var_control_type) self.assertEqual( idf2.airloophvacunitarysystems[0]. controlling_zone_or_thermostat_location, var_controlling_zone_or_thermostat_location) self.assertEqual( idf2.airloophvacunitarysystems[0].dehumidification_control_type, var_dehumidification_control_type) self.assertEqual( idf2.airloophvacunitarysystems[0].availability_schedule_name, var_availability_schedule_name) self.assertEqual(idf2.airloophvacunitarysystems[0].air_inlet_node_name, var_air_inlet_node_name) self.assertEqual( idf2.airloophvacunitarysystems[0].air_outlet_node_name, var_air_outlet_node_name) self.assertEqual( idf2.airloophvacunitarysystems[0].supply_fan_object_type, var_supply_fan_object_type) self.assertEqual(idf2.airloophvacunitarysystems[0].supply_fan_name, var_supply_fan_name) self.assertEqual(idf2.airloophvacunitarysystems[0].fan_placement, var_fan_placement) self.assertEqual( idf2.airloophvacunitarysystems[0]. supply_air_fan_operating_mode_schedule_name, var_supply_air_fan_operating_mode_schedule_name) self.assertEqual( idf2.airloophvacunitarysystems[0].heating_coil_object_type, var_heating_coil_object_type) self.assertEqual(idf2.airloophvacunitarysystems[0].heating_coil_name, var_heating_coil_name) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].dx_heating_coil_sizing_ratio, var_dx_heating_coil_sizing_ratio) self.assertEqual( idf2.airloophvacunitarysystems[0].cooling_coil_object_type, var_cooling_coil_object_type) self.assertEqual(idf2.airloophvacunitarysystems[0].cooling_coil_name, var_cooling_coil_name) self.assertEqual( idf2.airloophvacunitarysystems[0].use_doas_dx_cooling_coil, var_use_doas_dx_cooling_coil) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. doas_dx_cooling_coil_leaving_minimum_air_temperature, var_doas_dx_cooling_coil_leaving_minimum_air_temperature) self.assertEqual(idf2.airloophvacunitarysystems[0].latent_load_control, var_latent_load_control) self.assertEqual( idf2.airloophvacunitarysystems[0]. supplemental_heating_coil_object_type, var_supplemental_heating_coil_object_type) self.assertEqual( idf2.airloophvacunitarysystems[0].supplemental_heating_coil_name, var_supplemental_heating_coil_name) self.assertEqual( idf2.airloophvacunitarysystems[0]. cooling_supply_air_flow_rate_method, var_cooling_supply_air_flow_rate_method) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].cooling_supply_air_flow_rate, var_cooling_supply_air_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. cooling_supply_air_flow_rate_per_floor_area, var_cooling_supply_air_flow_rate_per_floor_area) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. cooling_fraction_of_autosized_cooling_supply_air_flow_rate, var_cooling_fraction_of_autosized_cooling_supply_air_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. cooling_supply_air_flow_rate_per_unit_of_capacity, var_cooling_supply_air_flow_rate_per_unit_of_capacity) self.assertEqual( idf2.airloophvacunitarysystems[0]. heating_supply_air_flow_rate_method, var_heating_supply_air_flow_rate_method) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].heating_supply_air_flow_rate, var_heating_supply_air_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. heating_supply_air_flow_rate_per_floor_area, var_heating_supply_air_flow_rate_per_floor_area) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. heating_fraction_of_autosized_heating_supply_air_flow_rate, var_heating_fraction_of_autosized_heating_supply_air_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. heating_supply_air_flow_rate_per_unit_of_capacity, var_heating_supply_air_flow_rate_per_unit_of_capacity) self.assertEqual( idf2.airloophvacunitarysystems[0]. no_load_supply_air_flow_rate_method, var_no_load_supply_air_flow_rate_method) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].no_load_supply_air_flow_rate, var_no_load_supply_air_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. no_load_supply_air_flow_rate_per_floor_area, var_no_load_supply_air_flow_rate_per_floor_area) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. no_load_fraction_of_autosized_cooling_supply_air_flow_rate, var_no_load_fraction_of_autosized_cooling_supply_air_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. no_load_fraction_of_autosized_heating_supply_air_flow_rate, var_no_load_fraction_of_autosized_heating_supply_air_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. no_load_supply_air_flow_rate_per_unit_of_capacity_during_cooling_operation, var_no_load_supply_air_flow_rate_per_unit_of_capacity_during_cooling_operation ) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. no_load_supply_air_flow_rate_per_unit_of_capacity_during_heating_operation, var_no_load_supply_air_flow_rate_per_unit_of_capacity_during_heating_operation ) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].maximum_supply_air_temperature, var_maximum_supply_air_temperature) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. maximum_outdoor_drybulb_temperature_for_supplemental_heater_operation, var_maximum_outdoor_drybulb_temperature_for_supplemental_heater_operation ) self.assertEqual( idf2.airloophvacunitarysystems[0]. outdoor_drybulb_temperature_sensor_node_name, var_outdoor_drybulb_temperature_sensor_node_name) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].maximum_cycling_rate, var_maximum_cycling_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].heat_pump_time_constant, var_heat_pump_time_constant) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].fraction_of_oncycle_power_use, var_fraction_of_oncycle_power_use) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].heat_pump_fan_delay_time, var_heat_pump_fan_delay_time) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0].ancillary_oncycle_electric_power, var_ancillary_oncycle_electric_power) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. ancillary_offcycle_electric_power, var_ancillary_offcycle_electric_power) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. design_heat_recovery_water_flow_rate, var_design_heat_recovery_water_flow_rate) self.assertAlmostEqual( idf2.airloophvacunitarysystems[0]. maximum_temperature_for_heat_recovery, var_maximum_temperature_for_heat_recovery) self.assertEqual( idf2.airloophvacunitarysystems[0]. heat_recovery_water_inlet_node_name, var_heat_recovery_water_inlet_node_name) self.assertEqual( idf2.airloophvacunitarysystems[0]. heat_recovery_water_outlet_node_name, var_heat_recovery_water_outlet_node_name) self.assertEqual( idf2.airloophvacunitarysystems[0]. design_specification_multispeed_object_type, var_design_specification_multispeed_object_type) self.assertEqual( idf2.airloophvacunitarysystems[0]. design_specification_multispeed_object_name, var_design_specification_multispeed_object_name)
def test_create_sitegroundtemperaturebuildingsurface(self): pyidf.validation_level = ValidationLevel.error obj = SiteGroundTemperatureBuildingSurface() # real var_january_ground_temperature = 1.1 obj.january_ground_temperature = var_january_ground_temperature # real var_february_ground_temperature = 2.2 obj.february_ground_temperature = var_february_ground_temperature # real var_march_ground_temperature = 3.3 obj.march_ground_temperature = var_march_ground_temperature # real var_april_ground_temperature = 4.4 obj.april_ground_temperature = var_april_ground_temperature # real var_may_ground_temperature = 5.5 obj.may_ground_temperature = var_may_ground_temperature # real var_june_ground_temperature = 6.6 obj.june_ground_temperature = var_june_ground_temperature # real var_july_ground_temperature = 7.7 obj.july_ground_temperature = var_july_ground_temperature # real var_august_ground_temperature = 8.8 obj.august_ground_temperature = var_august_ground_temperature # real var_september_ground_temperature = 9.9 obj.september_ground_temperature = var_september_ground_temperature # real var_october_ground_temperature = 10.1 obj.october_ground_temperature = var_october_ground_temperature # real var_november_ground_temperature = 11.11 obj.november_ground_temperature = var_november_ground_temperature # real var_december_ground_temperature = 12.12 obj.december_ground_temperature = var_december_ground_temperature idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. january_ground_temperature, var_january_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. february_ground_temperature, var_february_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. march_ground_temperature, var_march_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. april_ground_temperature, var_april_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. may_ground_temperature, var_may_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. june_ground_temperature, var_june_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. july_ground_temperature, var_july_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. august_ground_temperature, var_august_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. september_ground_temperature, var_september_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. october_ground_temperature, var_october_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. november_ground_temperature, var_november_ground_temperature) self.assertAlmostEqual( idf2.sitegroundtemperaturebuildingsurfaces[0]. december_ground_temperature, var_december_ground_temperature)
def test_create_materialpropertyheatandmoisturetransferthermalconductivity( self): pyidf.validation_level = ValidationLevel.error obj = MaterialPropertyHeatAndMoistureTransferThermalConductivity() # object-list var_material_name = "object-list|Material Name" obj.material_name = var_material_name # integer var_number_of_thermal_coordinates = 13 obj.number_of_thermal_coordinates = var_number_of_thermal_coordinates # real var_moisture_content_1 = 0.0 obj.moisture_content_1 = var_moisture_content_1 # real var_thermal_conductivity_1 = 0.0001 obj.thermal_conductivity_1 = var_thermal_conductivity_1 # real var_moisture_content_2 = 0.0 obj.moisture_content_2 = var_moisture_content_2 # real var_thermal_conductivity_2 = 0.0001 obj.thermal_conductivity_2 = var_thermal_conductivity_2 # real var_moisture_content_3 = 0.0 obj.moisture_content_3 = var_moisture_content_3 # real var_thermal_conductivity_3 = 0.0001 obj.thermal_conductivity_3 = var_thermal_conductivity_3 # real var_moisture_content_4 = 0.0 obj.moisture_content_4 = var_moisture_content_4 # real var_thermal_conductivity_4 = 0.0001 obj.thermal_conductivity_4 = var_thermal_conductivity_4 # real var_moisture_content_5 = 0.0 obj.moisture_content_5 = var_moisture_content_5 # real var_thermal_conductivity_5 = 0.0001 obj.thermal_conductivity_5 = var_thermal_conductivity_5 # real var_moisture_content_6 = 0.0 obj.moisture_content_6 = var_moisture_content_6 # real var_thermal_conductivity_6 = 0.0001 obj.thermal_conductivity_6 = var_thermal_conductivity_6 # real var_moisture_content_7 = 0.0 obj.moisture_content_7 = var_moisture_content_7 # real var_thermal_conductivity_7 = 0.0001 obj.thermal_conductivity_7 = var_thermal_conductivity_7 # real var_moisture_content_8 = 0.0 obj.moisture_content_8 = var_moisture_content_8 # real var_thermal_conductivity_8 = 0.0001 obj.thermal_conductivity_8 = var_thermal_conductivity_8 # real var_moisture_content_9 = 0.0 obj.moisture_content_9 = var_moisture_content_9 # real var_thermal_conductivity_9 = 0.0001 obj.thermal_conductivity_9 = var_thermal_conductivity_9 # real var_moisture_content_10 = 0.0 obj.moisture_content_10 = var_moisture_content_10 # real var_thermal_conductivity_10 = 0.0001 obj.thermal_conductivity_10 = var_thermal_conductivity_10 # real var_moisture_content_11 = 0.0 obj.moisture_content_11 = var_moisture_content_11 # real var_thermal_conductivity_11 = 0.0001 obj.thermal_conductivity_11 = var_thermal_conductivity_11 # real var_moisture_content_12 = 0.0 obj.moisture_content_12 = var_moisture_content_12 # real var_thermal_conductivity_12 = 0.0001 obj.thermal_conductivity_12 = var_thermal_conductivity_12 # real var_moisture_content_13 = 0.0 obj.moisture_content_13 = var_moisture_content_13 # real var_thermal_conductivity_13 = 0.0001 obj.thermal_conductivity_13 = var_thermal_conductivity_13 # real var_moisture_content_14 = 0.0 obj.moisture_content_14 = var_moisture_content_14 # real var_thermal_conductivity_14 = 0.0001 obj.thermal_conductivity_14 = var_thermal_conductivity_14 # real var_moisture_content_15 = 0.0 obj.moisture_content_15 = var_moisture_content_15 # real var_thermal_conductivity_15 = 0.0001 obj.thermal_conductivity_15 = var_thermal_conductivity_15 # real var_moisture_content_16 = 0.0 obj.moisture_content_16 = var_moisture_content_16 # real var_thermal_conductivity_16 = 0.0001 obj.thermal_conductivity_16 = var_thermal_conductivity_16 # real var_moisture_content_17 = 0.0 obj.moisture_content_17 = var_moisture_content_17 # real var_thermal_conductivity_17 = 0.0001 obj.thermal_conductivity_17 = var_thermal_conductivity_17 # real var_moisture_content_18 = 0.0 obj.moisture_content_18 = var_moisture_content_18 # real var_thermal_conductivity_18 = 0.0001 obj.thermal_conductivity_18 = var_thermal_conductivity_18 # real var_moisture_content_19 = 0.0 obj.moisture_content_19 = var_moisture_content_19 # real var_thermal_conductivity_19 = 0.0001 obj.thermal_conductivity_19 = var_thermal_conductivity_19 # real var_moisture_content_20 = 0.0 obj.moisture_content_20 = var_moisture_content_20 # real var_thermal_conductivity_20 = 0.0001 obj.thermal_conductivity_20 = var_thermal_conductivity_20 # real var_moisture_content_21 = 0.0 obj.moisture_content_21 = var_moisture_content_21 # real var_thermal_conductivity_21 = 0.0001 obj.thermal_conductivity_21 = var_thermal_conductivity_21 # real var_moisture_content_22 = 0.0 obj.moisture_content_22 = var_moisture_content_22 # real var_thermal_conductivity_22 = 0.0001 obj.thermal_conductivity_22 = var_thermal_conductivity_22 # real var_moisture_content_23 = 0.0 obj.moisture_content_23 = var_moisture_content_23 # real var_thermal_conductivity_23 = 0.0001 obj.thermal_conductivity_23 = var_thermal_conductivity_23 # real var_moisture_content_24 = 0.0 obj.moisture_content_24 = var_moisture_content_24 # real var_thermal_conductivity_24 = 0.0001 obj.thermal_conductivity_24 = var_thermal_conductivity_24 # real var_moisture_content_25 = 0.0 obj.moisture_content_25 = var_moisture_content_25 # real var_thermal_conductivity_25 = 0.0001 obj.thermal_conductivity_25 = var_thermal_conductivity_25 idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .material_name, var_material_name) self.assertEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .number_of_thermal_coordinates, var_number_of_thermal_coordinates) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_1, var_moisture_content_1) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_1, var_thermal_conductivity_1) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_2, var_moisture_content_2) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_2, var_thermal_conductivity_2) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_3, var_moisture_content_3) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_3, var_thermal_conductivity_3) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_4, var_moisture_content_4) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_4, var_thermal_conductivity_4) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_5, var_moisture_content_5) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_5, var_thermal_conductivity_5) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_6, var_moisture_content_6) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_6, var_thermal_conductivity_6) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_7, var_moisture_content_7) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_7, var_thermal_conductivity_7) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_8, var_moisture_content_8) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_8, var_thermal_conductivity_8) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_9, var_moisture_content_9) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_9, var_thermal_conductivity_9) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_10, var_moisture_content_10) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_10, var_thermal_conductivity_10) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_11, var_moisture_content_11) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_11, var_thermal_conductivity_11) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_12, var_moisture_content_12) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_12, var_thermal_conductivity_12) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_13, var_moisture_content_13) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_13, var_thermal_conductivity_13) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_14, var_moisture_content_14) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_14, var_thermal_conductivity_14) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_15, var_moisture_content_15) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_15, var_thermal_conductivity_15) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_16, var_moisture_content_16) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_16, var_thermal_conductivity_16) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_17, var_moisture_content_17) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_17, var_thermal_conductivity_17) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_18, var_moisture_content_18) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_18, var_thermal_conductivity_18) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_19, var_moisture_content_19) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_19, var_thermal_conductivity_19) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_20, var_moisture_content_20) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_20, var_thermal_conductivity_20) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_21, var_moisture_content_21) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_21, var_thermal_conductivity_21) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_22, var_moisture_content_22) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_22, var_thermal_conductivity_22) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_23, var_moisture_content_23) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_23, var_thermal_conductivity_23) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_24, var_moisture_content_24) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_24, var_thermal_conductivity_24) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .moisture_content_25, var_moisture_content_25) self.assertAlmostEqual( idf2.materialpropertyheatandmoisturetransferthermalconductivitys[0] .thermal_conductivity_25, var_thermal_conductivity_25)
def test_create_window(self): pyidf.validation_level = ValidationLevel.error obj = Window() # alpha var_name = "Name" obj.name = var_name # object-list var_construction_name = "object-list|Construction Name" obj.construction_name = var_construction_name # object-list var_building_surface_name = "object-list|Building Surface Name" obj.building_surface_name = var_building_surface_name # object-list var_shading_control_name = "object-list|Shading Control Name" obj.shading_control_name = var_shading_control_name # object-list var_frame_and_divider_name = "object-list|Frame and Divider Name" obj.frame_and_divider_name = var_frame_and_divider_name # real var_multiplier = 1.0 obj.multiplier = var_multiplier # real var_starting_x_coordinate = 7.7 obj.starting_x_coordinate = var_starting_x_coordinate # real var_starting_z_coordinate = 8.8 obj.starting_z_coordinate = var_starting_z_coordinate # real var_length = 9.9 obj.length = var_length # real var_height = 10.1 obj.height = var_height idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.windows[0].name, var_name) self.assertEqual(idf2.windows[0].construction_name, var_construction_name) self.assertEqual(idf2.windows[0].building_surface_name, var_building_surface_name) self.assertEqual(idf2.windows[0].shading_control_name, var_shading_control_name) self.assertEqual(idf2.windows[0].frame_and_divider_name, var_frame_and_divider_name) self.assertAlmostEqual(idf2.windows[0].multiplier, var_multiplier) self.assertAlmostEqual(idf2.windows[0].starting_x_coordinate, var_starting_x_coordinate) self.assertAlmostEqual(idf2.windows[0].starting_z_coordinate, var_starting_z_coordinate) self.assertAlmostEqual(idf2.windows[0].length, var_length) self.assertAlmostEqual(idf2.windows[0].height, var_height)
def test_create_walldetailed(self): pyidf.validation_level = ValidationLevel.error obj = WallDetailed() # alpha var_name = "Name" obj.name = var_name # object-list var_construction_name = "object-list|Construction Name" obj.construction_name = var_construction_name # object-list var_zone_name = "object-list|Zone Name" obj.zone_name = var_zone_name # alpha var_outside_boundary_condition = "Adiabatic" obj.outside_boundary_condition = var_outside_boundary_condition # object-list var_outside_boundary_condition_object = "object-list|Outside Boundary Condition Object" obj.outside_boundary_condition_object = var_outside_boundary_condition_object # alpha var_sun_exposure = "SunExposed" obj.sun_exposure = var_sun_exposure # alpha var_wind_exposure = "WindExposed" obj.wind_exposure = var_wind_exposure # real var_view_factor_to_ground = 0.5 obj.view_factor_to_ground = var_view_factor_to_ground # real var_number_of_vertices = 3.0 obj.number_of_vertices = var_number_of_vertices paras = [] var_vertex_1_xcoordinate = 10.1 paras.append(var_vertex_1_xcoordinate) var_vertex_1_ycoordinate = 11.11 paras.append(var_vertex_1_ycoordinate) var_vertex_1_zcoordinate = 12.12 paras.append(var_vertex_1_zcoordinate) obj.add_extensible(*paras) idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual(idf2.walldetaileds[0].name, var_name) self.assertEqual(idf2.walldetaileds[0].construction_name, var_construction_name) self.assertEqual(idf2.walldetaileds[0].zone_name, var_zone_name) self.assertEqual(idf2.walldetaileds[0].outside_boundary_condition, var_outside_boundary_condition) self.assertEqual( idf2.walldetaileds[0].outside_boundary_condition_object, var_outside_boundary_condition_object) self.assertEqual(idf2.walldetaileds[0].sun_exposure, var_sun_exposure) self.assertEqual(idf2.walldetaileds[0].wind_exposure, var_wind_exposure) self.assertAlmostEqual(idf2.walldetaileds[0].view_factor_to_ground, var_view_factor_to_ground) self.assertAlmostEqual(idf2.walldetaileds[0].number_of_vertices, var_number_of_vertices) index = obj.extensible_field_index("Vertex 1 X-coordinate") self.assertAlmostEqual(idf2.walldetaileds[0].extensibles[0][index], var_vertex_1_xcoordinate) index = obj.extensible_field_index("Vertex 1 Y-coordinate") self.assertAlmostEqual(idf2.walldetaileds[0].extensibles[0][index], var_vertex_1_ycoordinate) index = obj.extensible_field_index("Vertex 1 Z-coordinate") self.assertAlmostEqual(idf2.walldetaileds[0].extensibles[0][index], var_vertex_1_zcoordinate)
def test_create_heatexchangerdesiccantbalancedflowperformancedatatype1( self): pyidf.validation_level = ValidationLevel.error obj = HeatExchangerDesiccantBalancedFlowPerformanceDataType1() # alpha var_name = "Name" obj.name = var_name # real var_nominal_air_flow_rate = 0.0001 obj.nominal_air_flow_rate = var_nominal_air_flow_rate # real var_nominal_air_face_velocity = 3.00005 obj.nominal_air_face_velocity = var_nominal_air_face_velocity # real var_nominal_electric_power = 0.0 obj.nominal_electric_power = var_nominal_electric_power # real var_temperature_equation_coefficient_1 = 5.5 obj.temperature_equation_coefficient_1 = var_temperature_equation_coefficient_1 # real var_temperature_equation_coefficient_2 = 6.6 obj.temperature_equation_coefficient_2 = var_temperature_equation_coefficient_2 # real var_temperature_equation_coefficient_3 = 7.7 obj.temperature_equation_coefficient_3 = var_temperature_equation_coefficient_3 # real var_temperature_equation_coefficient_4 = 8.8 obj.temperature_equation_coefficient_4 = var_temperature_equation_coefficient_4 # real var_temperature_equation_coefficient_5 = 9.9 obj.temperature_equation_coefficient_5 = var_temperature_equation_coefficient_5 # real var_temperature_equation_coefficient_6 = 10.1 obj.temperature_equation_coefficient_6 = var_temperature_equation_coefficient_6 # real var_temperature_equation_coefficient_7 = 11.11 obj.temperature_equation_coefficient_7 = var_temperature_equation_coefficient_7 # real var_temperature_equation_coefficient_8 = 12.12 obj.temperature_equation_coefficient_8 = var_temperature_equation_coefficient_8 # real var_minimum_regeneration_inlet_air_humidity_ratio_for_temperature_equation = 0.5 obj.minimum_regeneration_inlet_air_humidity_ratio_for_temperature_equation = var_minimum_regeneration_inlet_air_humidity_ratio_for_temperature_equation # real var_maximum_regeneration_inlet_air_humidity_ratio_for_temperature_equation = 0.5 obj.maximum_regeneration_inlet_air_humidity_ratio_for_temperature_equation = var_maximum_regeneration_inlet_air_humidity_ratio_for_temperature_equation # real var_minimum_regeneration_inlet_air_temperature_for_temperature_equation = 15.15 obj.minimum_regeneration_inlet_air_temperature_for_temperature_equation = var_minimum_regeneration_inlet_air_temperature_for_temperature_equation # real var_maximum_regeneration_inlet_air_temperature_for_temperature_equation = 16.16 obj.maximum_regeneration_inlet_air_temperature_for_temperature_equation = var_maximum_regeneration_inlet_air_temperature_for_temperature_equation # real var_minimum_process_inlet_air_humidity_ratio_for_temperature_equation = 0.5 obj.minimum_process_inlet_air_humidity_ratio_for_temperature_equation = var_minimum_process_inlet_air_humidity_ratio_for_temperature_equation # real var_maximum_process_inlet_air_humidity_ratio_for_temperature_equation = 0.5 obj.maximum_process_inlet_air_humidity_ratio_for_temperature_equation = var_maximum_process_inlet_air_humidity_ratio_for_temperature_equation # real var_minimum_process_inlet_air_temperature_for_temperature_equation = 19.19 obj.minimum_process_inlet_air_temperature_for_temperature_equation = var_minimum_process_inlet_air_temperature_for_temperature_equation # real var_maximum_process_inlet_air_temperature_for_temperature_equation = 20.2 obj.maximum_process_inlet_air_temperature_for_temperature_equation = var_maximum_process_inlet_air_temperature_for_temperature_equation # real var_minimum_regeneration_air_velocity_for_temperature_equation = 0.0001 obj.minimum_regeneration_air_velocity_for_temperature_equation = var_minimum_regeneration_air_velocity_for_temperature_equation # real var_maximum_regeneration_air_velocity_for_temperature_equation = 0.0001 obj.maximum_regeneration_air_velocity_for_temperature_equation = var_maximum_regeneration_air_velocity_for_temperature_equation # real var_minimum_regeneration_outlet_air_temperature_for_temperature_equation = 23.23 obj.minimum_regeneration_outlet_air_temperature_for_temperature_equation = var_minimum_regeneration_outlet_air_temperature_for_temperature_equation # real var_maximum_regeneration_outlet_air_temperature_for_temperature_equation = 24.24 obj.maximum_regeneration_outlet_air_temperature_for_temperature_equation = var_maximum_regeneration_outlet_air_temperature_for_temperature_equation # real var_minimum_regeneration_inlet_air_relative_humidity_for_temperature_equation = 50.0 obj.minimum_regeneration_inlet_air_relative_humidity_for_temperature_equation = var_minimum_regeneration_inlet_air_relative_humidity_for_temperature_equation # real var_maximum_regeneration_inlet_air_relative_humidity_for_temperature_equation = 50.0 obj.maximum_regeneration_inlet_air_relative_humidity_for_temperature_equation = var_maximum_regeneration_inlet_air_relative_humidity_for_temperature_equation # real var_minimum_process_inlet_air_relative_humidity_for_temperature_equation = 50.0 obj.minimum_process_inlet_air_relative_humidity_for_temperature_equation = var_minimum_process_inlet_air_relative_humidity_for_temperature_equation # real var_maximum_process_inlet_air_relative_humidity_for_temperature_equation = 50.0 obj.maximum_process_inlet_air_relative_humidity_for_temperature_equation = var_maximum_process_inlet_air_relative_humidity_for_temperature_equation # real var_humidity_ratio_equation_coefficient_1 = 29.29 obj.humidity_ratio_equation_coefficient_1 = var_humidity_ratio_equation_coefficient_1 # real var_humidity_ratio_equation_coefficient_2 = 30.3 obj.humidity_ratio_equation_coefficient_2 = var_humidity_ratio_equation_coefficient_2 # real var_humidity_ratio_equation_coefficient_3 = 31.31 obj.humidity_ratio_equation_coefficient_3 = var_humidity_ratio_equation_coefficient_3 # real var_humidity_ratio_equation_coefficient_4 = 32.32 obj.humidity_ratio_equation_coefficient_4 = var_humidity_ratio_equation_coefficient_4 # real var_humidity_ratio_equation_coefficient_5 = 33.33 obj.humidity_ratio_equation_coefficient_5 = var_humidity_ratio_equation_coefficient_5 # real var_humidity_ratio_equation_coefficient_6 = 34.34 obj.humidity_ratio_equation_coefficient_6 = var_humidity_ratio_equation_coefficient_6 # real var_humidity_ratio_equation_coefficient_7 = 35.35 obj.humidity_ratio_equation_coefficient_7 = var_humidity_ratio_equation_coefficient_7 # real var_humidity_ratio_equation_coefficient_8 = 36.36 obj.humidity_ratio_equation_coefficient_8 = var_humidity_ratio_equation_coefficient_8 # real var_minimum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation = 0.5 obj.minimum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation = var_minimum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation # real var_maximum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation = 0.5 obj.maximum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation = var_maximum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation # real var_minimum_regeneration_inlet_air_temperature_for_humidity_ratio_equation = 39.39 obj.minimum_regeneration_inlet_air_temperature_for_humidity_ratio_equation = var_minimum_regeneration_inlet_air_temperature_for_humidity_ratio_equation # real var_maximum_regeneration_inlet_air_temperature_for_humidity_ratio_equation = 40.4 obj.maximum_regeneration_inlet_air_temperature_for_humidity_ratio_equation = var_maximum_regeneration_inlet_air_temperature_for_humidity_ratio_equation # real var_minimum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation = 0.5 obj.minimum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation = var_minimum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation # real var_maximum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation = 0.5 obj.maximum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation = var_maximum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation # real var_minimum_process_inlet_air_temperature_for_humidity_ratio_equation = 43.43 obj.minimum_process_inlet_air_temperature_for_humidity_ratio_equation = var_minimum_process_inlet_air_temperature_for_humidity_ratio_equation # real var_maximum_process_inlet_air_temperature_for_humidity_ratio_equation = 44.44 obj.maximum_process_inlet_air_temperature_for_humidity_ratio_equation = var_maximum_process_inlet_air_temperature_for_humidity_ratio_equation # real var_minimum_regeneration_air_velocity_for_humidity_ratio_equation = 0.0001 obj.minimum_regeneration_air_velocity_for_humidity_ratio_equation = var_minimum_regeneration_air_velocity_for_humidity_ratio_equation # real var_maximum_regeneration_air_velocity_for_humidity_ratio_equation = 0.0001 obj.maximum_regeneration_air_velocity_for_humidity_ratio_equation = var_maximum_regeneration_air_velocity_for_humidity_ratio_equation # real var_minimum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation = 0.5 obj.minimum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation = var_minimum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation # real var_maximum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation = 0.5 obj.maximum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation = var_maximum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation # real var_minimum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation = 50.0 obj.minimum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation = var_minimum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation # real var_maximum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation = 50.0 obj.maximum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation = var_maximum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation # real var_minimum_process_inlet_air_relative_humidity_for_humidity_ratio_equation = 50.0 obj.minimum_process_inlet_air_relative_humidity_for_humidity_ratio_equation = var_minimum_process_inlet_air_relative_humidity_for_humidity_ratio_equation # real var_maximum_process_inlet_air_relative_humidity_for_humidity_ratio_equation = 50.0 obj.maximum_process_inlet_air_relative_humidity_for_humidity_ratio_equation = var_maximum_process_inlet_air_relative_humidity_for_humidity_ratio_equation idf = IDF() idf.add(obj) idf.save(self.path, check=False) with open(self.path, mode='r') as f: for line in f: log.debug(line.strip()) idf2 = IDF(self.path) self.assertEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. name, var_name) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. nominal_air_flow_rate, var_nominal_air_flow_rate) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. nominal_air_face_velocity, var_nominal_air_face_velocity) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. nominal_electric_power, var_nominal_electric_power) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_1, var_temperature_equation_coefficient_1) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_2, var_temperature_equation_coefficient_2) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_3, var_temperature_equation_coefficient_3) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_4, var_temperature_equation_coefficient_4) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_5, var_temperature_equation_coefficient_5) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_6, var_temperature_equation_coefficient_6) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_7, var_temperature_equation_coefficient_7) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. temperature_equation_coefficient_8, var_temperature_equation_coefficient_8) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_inlet_air_humidity_ratio_for_temperature_equation, var_minimum_regeneration_inlet_air_humidity_ratio_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_inlet_air_humidity_ratio_for_temperature_equation, var_maximum_regeneration_inlet_air_humidity_ratio_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_inlet_air_temperature_for_temperature_equation, var_minimum_regeneration_inlet_air_temperature_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_inlet_air_temperature_for_temperature_equation, var_maximum_regeneration_inlet_air_temperature_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_process_inlet_air_humidity_ratio_for_temperature_equation, var_minimum_process_inlet_air_humidity_ratio_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_process_inlet_air_humidity_ratio_for_temperature_equation, var_maximum_process_inlet_air_humidity_ratio_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_process_inlet_air_temperature_for_temperature_equation, var_minimum_process_inlet_air_temperature_for_temperature_equation) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_process_inlet_air_temperature_for_temperature_equation, var_maximum_process_inlet_air_temperature_for_temperature_equation) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_air_velocity_for_temperature_equation, var_minimum_regeneration_air_velocity_for_temperature_equation) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_air_velocity_for_temperature_equation, var_maximum_regeneration_air_velocity_for_temperature_equation) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_outlet_air_temperature_for_temperature_equation, var_minimum_regeneration_outlet_air_temperature_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_outlet_air_temperature_for_temperature_equation, var_maximum_regeneration_outlet_air_temperature_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_inlet_air_relative_humidity_for_temperature_equation, var_minimum_regeneration_inlet_air_relative_humidity_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_inlet_air_relative_humidity_for_temperature_equation, var_maximum_regeneration_inlet_air_relative_humidity_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_process_inlet_air_relative_humidity_for_temperature_equation, var_minimum_process_inlet_air_relative_humidity_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_process_inlet_air_relative_humidity_for_temperature_equation, var_maximum_process_inlet_air_relative_humidity_for_temperature_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_1, var_humidity_ratio_equation_coefficient_1) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_2, var_humidity_ratio_equation_coefficient_2) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_3, var_humidity_ratio_equation_coefficient_3) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_4, var_humidity_ratio_equation_coefficient_4) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_5, var_humidity_ratio_equation_coefficient_5) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_6, var_humidity_ratio_equation_coefficient_6) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_7, var_humidity_ratio_equation_coefficient_7) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. humidity_ratio_equation_coefficient_8, var_humidity_ratio_equation_coefficient_8) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation, var_minimum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation, var_maximum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_inlet_air_temperature_for_humidity_ratio_equation, var_minimum_regeneration_inlet_air_temperature_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_inlet_air_temperature_for_humidity_ratio_equation, var_maximum_regeneration_inlet_air_temperature_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation, var_minimum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation, var_maximum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_process_inlet_air_temperature_for_humidity_ratio_equation, var_minimum_process_inlet_air_temperature_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_process_inlet_air_temperature_for_humidity_ratio_equation, var_maximum_process_inlet_air_temperature_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_air_velocity_for_humidity_ratio_equation, var_minimum_regeneration_air_velocity_for_humidity_ratio_equation) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_air_velocity_for_humidity_ratio_equation, var_maximum_regeneration_air_velocity_for_humidity_ratio_equation) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation, var_minimum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation, var_maximum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation, var_minimum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation, var_maximum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. minimum_process_inlet_air_relative_humidity_for_humidity_ratio_equation, var_minimum_process_inlet_air_relative_humidity_for_humidity_ratio_equation ) self.assertAlmostEqual( idf2.heatexchangerdesiccantbalancedflowperformancedatatype1s[0]. maximum_process_inlet_air_relative_humidity_for_humidity_ratio_equation, var_maximum_process_inlet_air_relative_humidity_for_humidity_ratio_equation )