示例#1
0
    def test_create_heatbalancealgorithm(self):

        pyidf.validation_level = ValidationLevel.error

        obj = HeatBalanceAlgorithm()
        # alpha
        var_algorithm = "ConductionTransferFunction"
        obj.algorithm = var_algorithm
        # real
        var_surface_temperature_upper_limit = 200.0
        obj.surface_temperature_upper_limit = var_surface_temperature_upper_limit
        # real
        var_minimum_surface_convection_heat_transfer_coefficient_value = 0.0001
        obj.minimum_surface_convection_heat_transfer_coefficient_value = var_minimum_surface_convection_heat_transfer_coefficient_value
        # real
        var_maximum_surface_convection_heat_transfer_coefficient_value = 1.0
        obj.maximum_surface_convection_heat_transfer_coefficient_value = var_maximum_surface_convection_heat_transfer_coefficient_value

        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.heatbalancealgorithms[0].algorithm, var_algorithm)
        self.assertAlmostEqual(idf2.heatbalancealgorithms[0].surface_temperature_upper_limit, var_surface_temperature_upper_limit)
        self.assertAlmostEqual(idf2.heatbalancealgorithms[0].minimum_surface_convection_heat_transfer_coefficient_value, var_minimum_surface_convection_heat_transfer_coefficient_value)
        self.assertAlmostEqual(idf2.heatbalancealgorithms[0].maximum_surface_convection_heat_transfer_coefficient_value, var_maximum_surface_convection_heat_transfer_coefficient_value)
示例#2
0
    obj2.minimum_number_of_warmup_days = 6
    idf.add(obj2)

    obj3 = Timestep()
    obj3.number_of_timesteps_per_hour = 4
    idf.add(obj3)

    obj4 = SurfaceConvectionAlgorithmInside()
    obj4.algorithm = "TARP"
    idf.add(obj4)

    obj5 = SurfaceConvectionAlgorithmOutside()
    obj5.algorithm = "TARP"
    idf.add(obj5)

    obj6 = HeatBalanceAlgorithm()
    obj6.algorithm = "ConductionTransferFunction"
    idf.add(obj6)

    obj7 = ShadowCalculation()
    obj7.calculation_method = "AverageOverDaysInFrequency"
    obj7.calculation_frequency = 20
    idf.add(obj7)

    obj8 = SimulationControl()
    obj8.do_zone_sizing_calculation = "No"
    obj8.do_system_sizing_calculation = "No"
    obj8.do_plant_sizing_calculation = "No"
    obj8.run_simulation_for_sizing_periods = "Yes"
    obj8.run_simulation_for_weather_file_run_periods = "No"
    idf.add(obj8)
    obj2.minimum_number_of_warmup_days = 6
    idf.add(obj2)

    obj3 = Timestep()
    obj3.number_of_timesteps_per_hour = 4
    idf.add(obj3)

    obj4 = SurfaceConvectionAlgorithmInside()
    obj4.algorithm = "TARP"
    idf.add(obj4)

    obj5 = SurfaceConvectionAlgorithmOutside()
    obj5.algorithm = "TARP"
    idf.add(obj5)

    obj6 = HeatBalanceAlgorithm()
    obj6.algorithm = "ConductionTransferFunction"
    idf.add(obj6)

    obj7 = ShadowCalculation()
    obj7.calculation_method = "AverageOverDaysInFrequency"
    obj7.calculation_frequency = 20
    idf.add(obj7)

    obj8 = SimulationControl()
    obj8.do_zone_sizing_calculation = "No"
    obj8.do_system_sizing_calculation = "No"
    obj8.do_plant_sizing_calculation = "No"
    obj8.run_simulation_for_sizing_periods = "Yes"
    obj8.run_simulation_for_weather_file_run_periods = "No"
    idf.add(obj8)