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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 8
0
    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)
Esempio n. 18
0
    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)
Esempio n. 25
0
    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)
Esempio n. 31
0
    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)
Esempio n. 32
0
    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)
Esempio n. 33
0
    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)
Esempio n. 36
0
    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)
Esempio n. 40
0
    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)
Esempio n. 43
0
    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)
Esempio n. 49
0
    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)
Esempio n. 50
0
    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)
Esempio n. 52
0
    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)
Esempio n. 53
0
    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)
Esempio n. 54
0
    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)
Esempio n. 55
0
    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
        )