Example #1
0
def pv_test9(area_test9):
    p = PVStrategy(panel_count=3)
    p.area = area_test9
    p.owner = area_test9
    p.offers.posted = {}
    p.energy_production_forecast_kWh = ENERGY_FORECAST
    return p
Example #2
0
def get_setup(config):

    i_c = 12 * 1.2
    i_c_f = 1
    area = Area('Grid', [
        Area('House 1', [
            Area('H1 PV', strategy=PVStrategy(60, 80),
                 appliance=PVAppliance()),
            Area('H1 General Load',
                 strategy=DefinedLoadStrategy(daily_load_profile=os.path.join(
                     d3a_path, 'resources', 'SAM_MF2_Summer.csv'),
                                              max_energy_rate=35),
                 appliance=SwitchableAppliance()),
            Area('H1 Storage1',
                 strategy=StorageStrategy(battery_capacity_kWh=i_c,
                                          max_abs_battery_power_kW=i_c,
                                          initial_capacity_kWh=i_c_f * i_c),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 PV', strategy=PVStrategy(60, 80),
                 appliance=PVAppliance()),
            Area('H2 General Load',
                 strategy=DefinedLoadStrategy(daily_load_profile=os.path.join(
                     d3a_path, 'resources', 'SAM_MF2_Summer.csv'),
                                              max_energy_rate=35),
                 appliance=SwitchableAppliance()),
            Area('H2 Storage1',
                 strategy=StorageStrategy(battery_capacity_kWh=i_c,
                                          max_abs_battery_power_kW=i_c,
                                          initial_capacity_kWh=i_c_f * i_c),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 3', [
            Area('H3 General Load',
                 strategy=DefinedLoadStrategy(daily_load_profile=os.path.join(
                     d3a_path, 'resources', 'SAM_MF2_Summer.csv'),
                                              max_energy_rate=35),
                 appliance=SwitchableAppliance()),
            Area('H3 Storage1',
                 strategy=StorageStrategy(battery_capacity_kWh=i_c,
                                          max_abs_battery_power_kW=i_c,
                                          initial_capacity_kWh=i_c_f * i_c),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 4', [
            Area('H4 General Load',
                 strategy=DefinedLoadStrategy(daily_load_profile=os.path.join(
                     d3a_path, 'resources', 'SAM_MF2_Summer.csv'),
                                              max_energy_rate=35),
                 appliance=SwitchableAppliance()),
            Area('H4 Storage1',
                 strategy=StorageStrategy(battery_capacity_kWh=i_c,
                                          max_abs_battery_power_kW=i_c,
                                          initial_capacity_kWh=i_c_f * i_c),
                 appliance=SwitchableAppliance()),
        ]),
    ],
                config=config)
    return area
Example #3
0
def get_setup(config):
    ConstSettings.IAASettings.MARKET_TYPE = 2
    ConstSettings.PVSettings.FINAL_SELLING_RATE = 0
    ConstSettings.GeneralSettings.DEFAULT_MARKET_MAKER_RATE = 30
    ConstSettings.LoadSettings.INITIAL_BUYING_RATE = 0
    ConstSettings.LoadSettings.FINAL_BUYING_RATE = 30

    area = Area('Grid', [
        Area('House 1', [
            Area('H1 General Load',
                 strategy=LoadHoursStrategy(avg_power_W=1000,
                                            hrs_per_day=24,
                                            hrs_of_day=list(range(0, 24)),
                                            initial_buying_rate=ConstSettings.
                                            LoadSettings.INITIAL_BUYING_RATE,
                                            final_buying_rate=ConstSettings.
                                            LoadSettings.FINAL_BUYING_RATE),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 PV1', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV2', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV3', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV4', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV5', strategy=PVStrategy(1), appliance=PVAppliance()),
        ]),
    ],
                config=config)
    return area
def test_pv_constructor_rejects_incorrect_parameters():
    with pytest.raises(D3ADeviceException):
        PVStrategy(panel_count=-1)
    with pytest.raises(D3ADeviceException):
        PVStrategy(max_panel_power_W=-100)
    with pytest.raises(D3ADeviceException):
        PVStrategy(initial_selling_rate=5, final_selling_rate=15)
Example #5
0
def get_setup(config):
    ConstSettings.IAASettings.AlternativePricing.PRICING_SCHEME = 1
    area = Area('Grid', [
        Area('House 1', [
            Area('H1 General Load',
                 strategy=LoadHoursStrategy(avg_power_W=100,
                                            hrs_per_day=24,
                                            hrs_of_day=list(range(0, 24))),
                 appliance=SwitchableAppliance()),
            Area('H1 Storage1',
                 strategy=StorageStrategy(initial_soc=50),
                 appliance=SwitchableAppliance()),
            Area('H1 PV', strategy=PVStrategy(4, 0), appliance=PVAppliance()),
        ]),
        Area('House 2', [
            Area('H2 General Load',
                 strategy=LoadHoursStrategy(avg_power_W=100,
                                            hrs_per_day=24,
                                            hrs_of_day=list(range(0, 24))),
                 appliance=SwitchableAppliance()),
            Area('H2 PV', strategy=PVStrategy(4, 0), appliance=PVAppliance()),
            Area('H2 Storage1',
                 strategy=StorageStrategy(initial_soc=100),
                 appliance=SwitchableAppliance()),
        ]),
        Area('Commercial Energy Producer',
             strategy=CommercialStrategy(energy_rate=30),
             appliance=SimpleAppliance()),
    ],
                config=config)
    return area
def get_setup(config):
    ConstSettings.IAASettings.MARKET_TYPE = 2
    ConstSettings.PVSettings.MIN_SELLING_RATE = 0
    ConstSettings.GeneralSettings.DEFAULT_MARKET_MAKER_RATE = 30
    ConstSettings.LoadSettings.MIN_ENERGY_RATE = 0
    ConstSettings.LoadSettings.MAX_ENERGY_RATE = 30

    area = Area('Grid', [
        Area('House 1', [
            Area(
                'H1 General Load',
                strategy=LoadHoursStrategy(
                    avg_power_W=1000,
                    hrs_per_day=24,
                    hrs_of_day=list(range(0, 24)),
                    min_energy_rate=ConstSettings.LoadSettings.MIN_ENERGY_RATE,
                    max_energy_rate=ConstSettings.LoadSettings.MAX_ENERGY_RATE
                ),
                appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 PV1', strategy=PVStrategy(1, 0), appliance=PVAppliance()),
            Area('H2 PV2', strategy=PVStrategy(1, 0), appliance=PVAppliance()),
            Area('H2 PV3', strategy=PVStrategy(1, 0), appliance=PVAppliance()),
            Area('H2 PV4', strategy=PVStrategy(1, 0), appliance=PVAppliance()),
            Area('H2 PV5', strategy=PVStrategy(1, 0), appliance=PVAppliance()),
        ]),
    ],
                config=config)
    return area
Example #7
0
def pv_test8(area_test3):
    p = PVStrategy(1, 10)
    p.area = area_test3
    p.owner = area_test3
    p.offers.posted = {Offer('id', 1, 1, 'FakeArea', market=area_test3.test_market):
                       area_test3.test_market}
    return p
Example #8
0
def test_pv_constructor_rejects_incorrect_parameters():
    with pytest.raises(ValueError):
        PVStrategy(risk=-1)
    with pytest.raises(ValueError):
        PVStrategy(risk=101)
    with pytest.raises(ValueError):
        PVStrategy(panel_count=0)
Example #9
0
def pv_test6(area_test3):
    p = PVStrategy()
    p.area = area_test3
    p.owner = area_test3
    p.offers.posted = {}
    p.energy_production_forecast_kWh = ENERGY_FORECAST
    return p
def get_setup(config):
    ConstSettings.IAASettings.MARKET_TYPE = 2
    ConstSettings.PVSettings.FINAL_SELLING_RATE = 0
    ConstSettings.GeneralSettings.DEFAULT_MARKET_MAKER_RATE = 30
    ConstSettings.StorageSettings.BUYING_RANGE = RangeLimit(0, 29.9)
    ConstSettings.StorageSettings.SELLING_RANGE = RangeLimit(30, 30)

    area = Area('Grid', [
        Area('House 1', [
            Area('H1 Storage',
                 strategy=StorageStrategy(initial_soc=11,
                                          battery_capacity_kWh=10,
                                          max_abs_battery_power_kW=5,
                                          initial_buying_rate=0),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 PV1', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV2', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV3', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV4', strategy=PVStrategy(1), appliance=PVAppliance()),
            Area('H2 PV5', strategy=PVStrategy(1), appliance=PVAppliance()),
        ]),
    ],
                config=config)
    return area
Example #11
0
def pv_test4(area_test3, called):
    p = PVStrategy()
    p.area = area_test3
    p.owner = area_test3
    p.offers.posted = {
        Offer(id='id', price=20, energy=1, seller='FakeArea'): area_test3.test_market.id
    }
    return p
Example #12
0
def pv_test3(area_test3):
    p = PVStrategy()
    p.area = area_test3
    p.owner = area_test3
    p.offers.posted = {
        Offer('id', 1, 1, 'FakeArea'): area_test3.test_market.id
    }
    return p
Example #13
0
def pv_test8(area_test3):
    p = PVStrategy(panel_count=1, initial_selling_rate=30)
    p.area = area_test3
    p.owner = area_test3
    p.offers.posted = {
        Offer('id', 1, 1, 'FakeArea'): area_test3.test_market.id
    }
    return p
Example #14
0
def get_setup(config):
    config.grid_fee_type = 1
    ConstSettings.GeneralSettings.DEFAULT_UPDATE_INTERVAL = 5
    area = Area('Grid', [
        Area('Neighborhood 1', [
            Area('House 1', [
                Area('H1 General Load',
                     strategy=LoadHoursStrategy(avg_power_W=200,
                                                hrs_per_day=24,
                                                hrs_of_day=list(range(0, 24)),
                                                initial_buying_rate=30,
                                                final_buying_rate=30),
                     appliance=SwitchableAppliance()),
            ],
                 grid_fee_constant=0)
        ],
             grid_fee_constant=1),
        Area('Neighborhood 2', [
            Area('House 2', [
                Area('H2 PV',
                     strategy=PVStrategy(panel_count=10,
                                         initial_selling_rate=10,
                                         final_selling_rate=10),
                     appliance=PVAppliance()),
            ],
                 grid_fee_constant=0),
        ],
             grid_fee_constant=1)
    ],
                config=config,
                grid_fee_constant=2)
    return area
Example #15
0
def get_setup(config):
    config.read_market_maker_rate(30)
    area = Area(
        'Grid',
        [
            Area(
                'House 1',
                [
                    Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=100,
                                                                       hrs_per_day=24,
                                                                       hrs_of_day=list(
                                                                           range(0, 24)),
                                                                       final_buying_rate=14),
                         appliance=SwitchableAppliance()),
                    Area('H1 Storage1', strategy=StorageStrategy(energy_rate_decrease_per_update=7,
                                                                 battery_capacity_kWh=1.2,
                                                                 max_abs_battery_power_kW=5,
                                                                 final_buying_rate=12,
                                                                 final_selling_rate=17.01),

                         appliance=SwitchableAppliance()),
                    Area('H1 PV', strategy=PVStrategy(panel_count=4,
                                                      final_selling_rate=5,
                                                      energy_rate_decrease_per_update=7),
                         appliance=PVAppliance()),

                ]
            ),
            Area('Commercial Energy Producer',
                 strategy=CommercialStrategy(energy_rate=15),
                 appliance=SimpleAppliance()),
        ],
        config=config
    )
    return area
def get_setup(config):
    config.read_market_maker_rate(market_maker_rate)
    area = Area(
        'Grid',
        [
            Area(
                'House',
                [
                    Area('H1 General Load', strategy=LoadHoursStrategy(
                            avg_power_W=500,
                            hrs_per_day=6,
                            hrs_of_day=list(
                                range(6, 22)),
                            max_energy_rate=35.01
                        ),
                         appliance=SwitchableAppliance()),
                    # The default value is 1, for historical average price
                    # Here a value of 2 is used, which is using the market maker rate
                    Area('H1 PV', strategy=PVStrategy(4, 80, initial_rate_option=2),
                         appliance=PVAppliance()),
                ]
            ),
        ],
        config=config
    )
    return area
Example #17
0
def get_setup(config):
    area = Area(
        'Grid',
        [
            Area('House 1', [
                Area('H1 General Load',
                     strategy=LoadHoursStrategy(avg_power_W=200,
                                                hrs_per_day=6,
                                                hrs_of_day=list(range(12, 18)),
                                                final_buying_rate=25)),
                Area('H1 Storage1', strategy=StorageStrategy(initial_soc=50)),
                Area('H1 Storage2', strategy=StorageStrategy(initial_soc=50)),
            ]),
            Area('House 2', [
                Area('H2 General Load',
                     strategy=LoadHoursStrategy(avg_power_W=200,
                                                hrs_per_day=4,
                                                hrs_of_day=list(range(12, 16)),
                                                final_buying_rate=35)),
                Area(
                    'H2 PV',
                    strategy=PVStrategy(3, 80),
                ),
            ]),
            Area('Cell Tower',
                 strategy=LoadHoursStrategy(avg_power_W=100,
                                            hrs_per_day=24,
                                            hrs_of_day=list(range(0, 24)),
                                            final_buying_rate=35))
            # Area('Commercial Energy Producer',
            #      strategy=CommercialStrategy(energy_range_wh=(40, 120), energy_price=30)
            #      ),
        ],
        config=config)
    return area
Example #18
0
def get_setup(config):
    DeviceRegistry.REGISTRY = device_registry_dict
    ConstSettings.BalancingSettings.ENABLE_BALANCING_MARKET = True
    area = Area('Grid', [
        Area('House 1', [
            Area('H1 General Load',
                 strategy=LoadHoursStrategy(avg_power_W=200,
                                            hrs_per_day=6,
                                            hrs_of_day=list(range(0, 18)),
                                            final_buying_rate=35)),
            Area('H1 Storage1', strategy=StorageStrategy(initial_soc=50)),
            Area('H1 Storage2', strategy=StorageStrategy(initial_soc=50)),
        ]),
        Area('House 2', [
            Area('H2 General Load',
                 strategy=LoadHoursStrategy(avg_power_W=200,
                                            hrs_per_day=4,
                                            hrs_of_day=list(range(12, 16)),
                                            final_buying_rate=35)),
            Area(
                'H2 PV',
                strategy=PVStrategy(4, 80),
            ),
        ]),
        Area('Cell Tower',
             strategy=LoadHoursStrategy(avg_power_W=100,
                                        hrs_per_day=24,
                                        hrs_of_day=list(range(0, 24)),
                                        final_buying_rate=35))
    ],
                config=config)
    return area
Example #19
0
def get_setup(config):
    # Two sided market
    ConstSettings.IAASettings.MARKET_TYPE = 2
    ConstSettings.PVSettings.MIN_SELLING_RATE = 0
    ConstSettings.GeneralSettings.DEFAULT_MARKET_MAKER_RATE = 30
    ConstSettings.LoadSettings.MIN_ENERGY_RATE = 0
    ConstSettings.LoadSettings.MAX_ENERGY_RATE = 30
    DeviceRegistry.REGISTRY = device_registry_dict
    ConstSettings.BalancingSettings.FLEXIBLE_LOADS_SUPPORT = False
    ConstSettings.BalancingSettings.ENABLE_BALANCING_MARKET = True

    area = Area('Grid', [
        Area('House 1', [
            Area(
                'H1 General Load',
                strategy=LoadHoursStrategy(
                    avg_power_W=200,
                    hrs_per_day=6,
                    hrs_of_day=list(range(9, 15)),
                    min_energy_rate=ConstSettings.LoadSettings.MIN_ENERGY_RATE,
                    max_energy_rate=ConstSettings.LoadSettings.MAX_ENERGY_RATE
                ),
                appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 PV', strategy=PVStrategy(4, 0), appliance=PVAppliance()),
        ]),
    ],
                config=config)
    return area
Example #20
0
def get_setup(config):
    ConstSettings.GeneralSettings.KEEP_PAST_MARKETS = True
    area = Area('Grid', [
        Area(
            'House 1',
            [
                Area('H1 General Load',
                     strategy=LoadHoursStrategy(avg_power_W=200,
                                                hrs_per_day=24,
                                                hrs_of_day=list(range(24)),
                                                final_buying_rate=35),
                     appliance=SwitchableAppliance()),
                Area('H1 PV',
                     strategy=PVStrategy(panel_count=4,
                                         initial_selling_rate=30,
                                         final_selling_rate=5),
                     appliance=PVAppliance()),
            ],
            transfer_fee_pct=0,
            transfer_fee_const=0,
        ),
        Area('Commercial Energy Producer',
             strategy=CommercialStrategy(energy_rate=30),
             appliance=SimpleAppliance()),
    ],
                config=config)
    return area
Example #21
0
def get_setup(config):
    # Left this for testing that the KPIs export also works with KEEP_PAST_MARKETS
    ConstSettings.GeneralSettings.KEEP_PAST_MARKETS = True
    area = Area('Grid', [
        Area(
            'House 1',
            [
                Area('H1 General Load',
                     strategy=LoadHoursStrategy(avg_power_W=200,
                                                hrs_per_day=4,
                                                hrs_of_day=list(range(10, 14)),
                                                final_buying_rate=35),
                     appliance=SwitchableAppliance()),
                Area('H1 PV',
                     strategy=PVStrategy(panel_count=4,
                                         initial_selling_rate=30,
                                         final_selling_rate=5),
                     appliance=PVAppliance()),
            ],
            grid_fee_percentage=0,
            transfer_fee_const=0,
        ),
        Area('Commercial Energy Producer',
             strategy=CommercialStrategy(energy_rate=30),
             appliance=SimpleAppliance()),
    ],
                config=config)
    return area
Example #22
0
def get_setup(config):
    ConstSettings.IAASettings.MARKET_TYPE = 2
    ConstSettings.GeneralSettings.KEEP_PAST_MARKETS = True
    area = Area('Grid', [
        Area(
            'House 1',
            [
                Area('H1 General Load',
                     strategy=LoadHoursStrategy(avg_power_W=200,
                                                hrs_of_day=list(range(0, 23)),
                                                initial_buying_rate=0,
                                                final_buying_rate=30),
                     appliance=SwitchableAppliance()),
                Area('H1 PV',
                     strategy=PVStrategy(panel_count=4,
                                         initial_selling_rate=30,
                                         final_selling_rate=5),
                     appliance=PVAppliance()),
            ],
        ),
        Area('Infinite Bus',
             strategy=InfiniteBusStrategy(energy_buy_rate=5,
                                          energy_sell_rate=30),
             appliance=SimpleAppliance()),
    ],
                config=config)
    return area
Example #23
0
def get_setup(config):
    area = Area(
        'Grid',
        children=[
            Area('House 1',
                 children=[
                     Area('H2 PV',
                          strategy=PVStrategy(panel_count=1,
                                              initial_selling_rate=80),
                          appliance=PVAppliance(),
                          event_list=[
                              StrategyEvents(12, {
                                  'panel_count': 5,
                                  'max_panel_power_W': 320
                              })
                          ])
                 ]),
            Area('Grid Load',
                 strategy=LoadHoursStrategy(avg_power_W=10000,
                                            hrs_per_day=24,
                                            hrs_of_day=list(range(0, 24)),
                                            final_buying_rate=35),
                 appliance=SwitchableAppliance())
        ],
        config=config)
    return area
Example #24
0
def get_setup(config):
    area = Area('Grid', [
        Area('House 1', [
            Area('H1 DefinedLoad',
                 strategy=DefinedLoadStrategy(daily_load_profile=profile_path,
                                              final_buying_rate=36),
                 appliance=SwitchableAppliance()),
            Area('H1 Storage1',
                 strategy=StorageStrategy(initial_soc=50),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 General Load',
                 strategy=LoadHoursStrategy(avg_power_W=1000,
                                            hrs_per_day=4,
                                            hrs_of_day=list(range(12, 16)),
                                            final_buying_rate=35),
                 appliance=SwitchableAppliance()),
            Area('H2 PV', strategy=PVStrategy(1, 80), appliance=PVAppliance()),
        ]),
        Area('Finite Commercial Producer',
             strategy=FinitePowerPlant(energy_rate=30,
                                       max_available_power_kW=0.01),
             appliance=SwitchableAppliance()),
        Area('Commercial Energy Producer',
             strategy=CommercialStrategy(energy_rate=30),
             appliance=SimpleAppliance()),
    ],
                config=config)
    return area
Example #25
0
def get_setup(config):
    # Two sided market
    ConstSettings.IAASettings.MARKET_TYPE = 2
    ConstSettings.PVSettings.MIN_SELLING_RATE = 0
    ConstSettings.GeneralSettings.DEFAULT_MARKET_MAKER_RATE = 30
    ConstSettings.StorageSettings.MIN_BUYING_RATE = 0
    ConstSettings.StorageSettings.BREAK_EVEN_BUY = 29.9
    ConstSettings.StorageSettings.BREAK_EVEN_SELL = 30

    area = Area('Grid', [
        Area('House 1', [
            Area('H1 Storage',
                 strategy=StorageStrategy(
                     initial_capacity_kWh=0.6,
                     break_even=(
                         ConstSettings.StorageSettings.BREAK_EVEN_BUY,
                         ConstSettings.StorageSettings.BREAK_EVEN_SELL)),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 PV', strategy=PVStrategy(4, 0), appliance=PVAppliance()),
        ]),
    ],
                config=config)
    return area
Example #26
0
def get_setup(config):
    ConstSettings.IAASettings.MARKET_TYPE = 2
    area = Area(
        'Grid',
        [
            Area(
                'House 1',
                [
                    Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=200,
                                                                       hrs_of_day=list(
                                                                           range(0, 23)),
                                                                       final_buying_rate=27,
                                                                       initial_buying_rate=27),
                         appliance=SwitchableAppliance()),
                    Area('H1 PV', strategy=PVStrategy(panel_count=4,
                                                      final_selling_rate=15,
                                                      initial_selling_rate=24.1),
                         appliance=PVAppliance()),
                ], transfer_fee_const=1
            ),
            Area('Infinite Bus', strategy=InfiniteBusStrategy(energy_buy_rate=24,
                                                              energy_sell_rate=24),
                 appliance=SimpleAppliance()
                 ),
        ],
        config=config
    )
    return area
def get_setup(config):
    # Two sided market
    ConstSettings.IAASettings.MARKET_TYPE = 2
    ConstSettings.PVSettings.FINAL_SELLING_RATE = 0
    ConstSettings.GeneralSettings.DEFAULT_MARKET_MAKER_RATE = 30
    ConstSettings.LoadSettings.INITIAL_BUYING_RATE = 0
    ConstSettings.LoadSettings.FINAL_BUYING_RATE = 30

    area = Area('Grid', [
        Area('House 1', [
            Area('H1 General Load',
                 strategy=CustomLoadStrategy(avg_power_W=200,
                                             hrs_per_day=6,
                                             hrs_of_day=list(range(9, 15)),
                                             initial_buying_rate=ConstSettings.
                                             LoadSettings.INITIAL_BUYING_RATE,
                                             final_buying_rate=ConstSettings.
                                             LoadSettings.FINAL_BUYING_RATE),
                 appliance=SwitchableAppliance()),
        ]),
        Area('House 2', [
            Area('H2 PV', strategy=PVStrategy(4, 0), appliance=PVAppliance()),
        ]),
    ],
                config=config)
    return area
def get_setup(config):
    area = Area('Grid', [
        Area(
            'House 1',
            [
                Area('H1 General Load',
                     strategy=LoadHoursStrategy(avg_power_W=200,
                                                hrs_per_day=4,
                                                hrs_of_day=list(range(24)),
                                                final_buying_rate=35)),
                Area(
                    'H1 PV',
                    strategy=PVStrategy(panel_count=4,
                                        initial_selling_rate=30,
                                        final_selling_rate=5),
                ),
            ],
            grid_fee_percentage=0,
            grid_fee_constant=0,
        ),
        Area('Commercial Energy Producer',
             strategy=CommercialStrategy(energy_rate=30)),
    ],
                config=config)
    return area
Example #29
0
def get_setup(config):
    area = Area('Grid', [
        Area(
            'House 1',
            [
                Area('Penalty PV',
                     strategy=PVStrategy(panel_count=10,
                                         initial_selling_rate=30,
                                         final_selling_rate=5),
                     appliance=PVAppliance()),
            ],
            grid_fee_percentage=0,
            transfer_fee_const=0,
        ),
        Area(
            'House 2',
            [
                Area('Non Penalty Load',
                     strategy=LoadHoursStrategy(avg_power_W=100,
                                                hrs_per_day=6,
                                                hrs_of_day=list(range(10, 16)),
                                                final_buying_rate=35),
                     appliance=SwitchableAppliance()),
            ],
            grid_fee_percentage=0,
            transfer_fee_const=0,
        ),
    ],
                config=config)
    return area
Example #30
0
def get_setup(config):
    GlobalConfig.POWER_FLOW = True
    area = Area(
        'Grid',
        [
            Area(
                'House 1',
                [
                    Area('H1 General Load',
                         strategy=LoadHoursStrategy(avg_power_W=200,
                                                    hrs_per_day=6,
                                                    hrs_of_day=list(
                                                        range(12, 18)),
                                                    final_buying_rate=35),
                         appliance=SwitchableAppliance()),
                    Area('H1 Storage1',
                         strategy=StorageStrategy(initial_soc=50),
                         appliance=SwitchableAppliance()),
                    Area('H1 Storage2',
                         strategy=StorageStrategy(initial_soc=50),
                         appliance=SwitchableAppliance()),
                ],
                grid_fee_percentage=0,
                grid_fee_constant=0,
            ),
            Area(
                'House 2',
                [
                    Area('H2 General Load',
                         strategy=LoadHoursStrategy(avg_power_W=200,
                                                    hrs_per_day=4,
                                                    hrs_of_day=list(
                                                        range(12, 16)),
                                                    final_buying_rate=35),
                         appliance=SwitchableAppliance()),
                    Area('H2 PV',
                         strategy=PVStrategy(panel_count=4,
                                             initial_selling_rate=30,
                                             final_selling_rate=5,
                                             max_panel_power_W=100),
                         appliance=PVAppliance()),
                ],
                grid_fee_percentage=0,
                grid_fee_constant=0,
            ),
            Area('Cell Tower',
                 strategy=CellTowerLoadHoursStrategy(avg_power_W=100,
                                                     hrs_per_day=24,
                                                     hrs_of_day=list(
                                                         range(0, 24)),
                                                     final_buying_rate=35),
                 appliance=SwitchableAppliance()),
            Area('DSO',
                 strategy=InfiniteBusStrategy(energy_buy_rate=10,
                                              energy_sell_rate=30),
                 appliance=SimpleAppliance()),
        ],
        config=config,
    )
    return area