示例#1
0
    def _init(self, slowdown, seed, paused, pause_after, redis_job_id):
        self.paused = paused
        self.pause_after = pause_after
        self.slowdown = slowdown

        if seed is not None:
            random.seed(int(seed))
        else:
            random_seed = random.randint(0, RANDOM_SEED_MAX_VALUE)
            random.seed(random_seed)
            self.initial_params["seed"] = random_seed
            log.info("Random seed: {}".format(random_seed))

        self.area = self.setup_module.get_setup(self.simulation_config)
        self.endpoint_buffer = SimulationEndpointBuffer(
            redis_job_id,
            self.initial_params,
            self.area,
            export_plots=self.should_export_plots)

        self._update_and_send_results()

        if GlobalConfig.POWER_FLOW:
            self.power_flow = PandaPowerFlow(self.area)
            self.power_flow.run_power_flow()
        self.bc = None
        if self.use_bc:
            self.bc = BlockChainInterface()
        log.debug("Starting simulation with config %s", self.simulation_config)

        self._set_traversal_length()

        are_all_areas_unique(self.area, set())

        self.area.activate(self.bc)
示例#2
0
def test_area_does_not_allow_duplicate_subarea_names():
    area = Area(
        'Grid',
        [Area('House 1', children=[Area('H1 General Load'), Area('H1 PV1')]),
         Area('House 1', children=[Area('H2 General Load'), Area('H2 PV1')])],
    )

    with pytest.raises(AssertionError):
        are_all_areas_unique(area, set())

    area = Area(
        'Grid',
        [Area('House 1', children=[Area('H1 General Load'), Area('H1 PV1')]),
         Area('House 2', children=[Area('H1 General Load'), Area('H2 PV1')])],
    )

    with pytest.raises(AssertionError):
        are_all_areas_unique(area, set())

    area = Area(
        'Grid',
        [Area('House 1', children=[Area('H1 General Load'), Area('H1 PV1')]),
         Area('House 2', children=[Area('H2 General Load'), Area('H2 PV1')])],
    )

    # Does not raise an assertion
    are_all_areas_unique(area, set())
示例#3
0
    def _init(self, slowdown, seed, paused, pause_after):
        self.paused = paused
        self.pause_after = pause_after
        self.slowdown = slowdown

        if seed:
            random.seed(seed)
        else:
            random_seed = random.randint(0, 1000000)
            random.seed(random_seed)
            log.error("Random seed: {}".format(random_seed))

        self.area = self.setup_module.get_setup(self.simulation_config)
        self.bc = None  # type: BlockChainInterface
        if self.use_bc:
            self.bc = BlockChainInterface()
        log.info("Starting simulation with config %s", self.simulation_config)

        self._set_traversal_length()

        are_all_areas_unique(self.area, set())

        self.area.activate(self.bc)