def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 3 area = Area( 'Grid', [ Area( 'Energy Community', [ Area('Load 1', strategy=LoadHoursStrategy( avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=10, final_buying_rate=10), appliance=SwitchableAppliance()), Area('Load 2', strategy=LoadHoursStrategy( avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=15, final_buying_rate=15), appliance=SwitchableAppliance()), Area('Load 3', strategy=LoadHoursStrategy( avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=30, final_buying_rate=30), appliance=SwitchableAppliance()), Area('Local Supply', strategy=FinitePowerPlant(energy_rate=10, max_available_power_kW=1.0), appliance=SimpleAppliance()), ], ), ], 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=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
def load_hours_strategy_test4(): strategy = LoadHoursStrategy(avg_power_W=620, hrs_per_day=4, hrs_of_day=[8, 9, 10, 12], initial_buying_rate=10) strategy.accept_offer = Mock() return strategy
def get_setup(config): area = Area( 'Grid', [ Area( 'House 1', [ Area('H1 General Load 1', strategy=LoadHoursStrategy(avg_power_W=200, hrs_of_day=list(range(0, 24)), max_energy_rate=user_profile_int), appliance=SwitchableAppliance()), Area('H1 General Load 2', strategy=LoadHoursStrategy(avg_power_W=200, hrs_of_day=list(range(0, 24)), max_energy_rate=user_profile_str), appliance=SwitchableAppliance()), ] ), Area('Commercial Energy Producer', strategy=CommercialStrategy(energy_rate=34), appliance=SimpleAppliance() ), ], config=config ) return area
def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 2 area = Area('Grid', [ Area('House 1', [ Area('H1 General Load 1', strategy=LoadHoursStrategy( avg_power_W=200, hrs_of_day=list(range(0, 24)), update_interval=duration(minutes=30), initial_buying_rate=user_profile_int, final_buying_rate=35), appliance=SwitchableAppliance()), Area('H1 General Load 2', strategy=LoadHoursStrategy( avg_power_W=200, hrs_of_day=list(range(0, 24)), initial_buying_rate=user_profile_str, final_buying_rate=35), appliance=SwitchableAppliance()), ]), Area('Commercial Energy Producer', strategy=CommercialStrategy(energy_rate=9), appliance=SimpleAppliance()), ], 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=6, hrs_of_day=list(range(12, 18)), max_energy_rate=35), appliance=SwitchableAppliance()), Area('H1 Storage1', strategy=CustomStorageStrategy(initial_capacity_kWh=0.6), appliance=SwitchableAppliance()), ]), Area('House 2', [ Area('H2 General Load', strategy=LoadHoursStrategy(avg_power_W=200, hrs_per_day=4, hrs_of_day=list(range(12, 16)), max_energy_rate=35), appliance=SwitchableAppliance()), Area('H2 PV', strategy=PVStrategy(4, 80), appliance=PVAppliance()), ]), Area('Cell Tower', strategy=CellTowerLoadHoursStrategy(avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(0, 24)), max_energy_rate=35), appliance=SwitchableAppliance()) ], config=config) return area
def get_setup(config): area = Area( 'Grid', [ Area( 'House 1', [ Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=12, hrs_of_day=list( range(7, 20))) ), Area('H1 PV', strategy=PVStrategy(panel_count=1), ) ] ), Area( 'House 2', [ Area('H2 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=4, hrs_of_day=list( range(12, 16))) ), ] ), ], config=config ) return area
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
def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 2 ConstSettings.IAASettings.BID_OFFER_MATCH_TYPE = \ BidOfferMatchAlgoEnum.PAY_AS_CLEAR.value area = Area( 'Grid', [ Area( 'Energy Community', [ Area('Load 1', strategy=LoadHoursStrategy( avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=10, final_buying_rate=10), ), Area('Load 2', strategy=LoadHoursStrategy( avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=15, final_buying_rate=15), ), Area('Load 3', strategy=LoadHoursStrategy( avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=30, final_buying_rate=30), ), Area('Local Supply', strategy=FinitePowerPlant(energy_rate=10, max_available_power_kW=1.0), ), ], ), ], config=config ) return area
def get_setup(config): area = Area('Grid', [ Area('House 1', [ Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=4, hrs_of_day=list(range(12, 16))), appliance=SwitchableAppliance()), Area('H1 Storage1', strategy=StorageStrategy(initial_capacity_kWh=0.6), appliance=SwitchableAppliance()), ]), Area('House 2', [ Area('H2 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=4, hrs_of_day=list(range(12, 16))), appliance=SwitchableAppliance()), Area('H2 PV', strategy=PVStrategy(6, 80), appliance=PVAppliance()), ]), Area('Commercial Energy Producer', strategy=CommercialStrategy(energy_rate=30), appliance=SimpleAppliance()), ], config=config) return area
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
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 test_use_market_maker_rate_parameter_is_respected(use_mmr, expected_rate): GlobalConfig.market_maker_rate = 9 load = LoadHoursStrategy(200, final_buying_rate=33, use_market_maker_rate=use_mmr) load.area = FakeArea() load.event_activate() assert all(v == expected_rate for v in load.bid_update.final_rate.values())
def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 3 ConstSettings.IAASettings.PAY_AS_CLEAR_AGGREGATION_ALGORITHM = 1 ConstSettings.GeneralSettings.MARKET_CLEARING_FREQUENCY_PER_SLOT = 1 ConstSettings.LoadSettings.INITIAL_BUYING_RATE = 35 ConstSettings.LoadSettings.FINAL_BUYING_RATE = 35 ConstSettings.StorageSettings.INITIAL_BUYING_RATE = 24.99 ConstSettings.StorageSettings.FINAL_BUYING_RATE = 25 ConstSettings.StorageSettings.INITIAL_SELLING_RATE = 30 ConstSettings.StorageSettings.FINAL_SELLING_RATE = 25.01 area = Area('Grid', [ Area('House 1', [ Area('H1 General Load1', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=28.8, fit_to_limit=False, energy_rate_increase_per_update=0), appliance=SwitchableAppliance()), Area('H1 General Load2', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=18.8, fit_to_limit=False, energy_rate_increase_per_update=0), appliance=SwitchableAppliance()), Area('H1 General Load3', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=8.8, fit_to_limit=False, energy_rate_increase_per_update=0), appliance=SwitchableAppliance()), Area('H1 CEP1', strategy=FinitePowerPlant(energy_rate=5.1, max_available_power_kW=0.1), appliance=SimpleAppliance()), Area('H1 CEP2', strategy=FinitePowerPlant(energy_rate=15.5, max_available_power_kW=0.1), appliance=SimpleAppliance()), Area('H1 CEP3', strategy=FinitePowerPlant(energy_rate=25.001, max_available_power_kW=0.1), appliance=SimpleAppliance()), Area('H1 CEP4', strategy=FinitePowerPlant(energy_rate=28.001, max_available_power_kW=0.1), appliance=SimpleAppliance()), ]), ], 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=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()), ], transfer_fee_pct=0, transfer_fee_const=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), appliance=PVAppliance()), ], transfer_fee_pct=0, transfer_fee_const=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('Commercial Energy Producer', # strategy=CommercialStrategy(energy_rate=30), # appliance=SimpleAppliance() # ), ], config=config) return area
def get_setup(config): market_maker_rate = 3 ConstSettings.IAASettings.MARKET_TYPE = 1 config.update_config_parameters(market_maker_rate=market_maker_rate) houses_1 = [ Area(f'House 1 {i}', children=[ Area(f'House 1 {i} Loads ', strategy=LoadHoursStrategy(avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(0, 24)), initial_buying_rate=1, final_buying_rate=12)) ]) for i in range(1, 50) ] houses_2 = [ Area(f'House 2 {i}', children=[ Area(f'House 2 {i} Loads ', strategy=LoadHoursStrategy(avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(0, 24)), initial_buying_rate=1, final_buying_rate=12)) ]) for i in range(1, 50) ] houses_3 = [ Area(f'House 3 {i}', children=[ Area(f'House 3 {i} Loads', strategy=LoadHoursStrategy(avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(0, 24)), initial_buying_rate=1, final_buying_rate=12)) ]) for i in range(1, 50) ] flats = [ Area(f'Flat {i}', children=[ Area(f'Flat {i} Loads ', strategy=LoadHoursStrategy(avg_power_W=500, hrs_per_day=24, hrs_of_day=list(range(0, 24)), initial_buying_rate=1, final_buying_rate=12)) ]) for i in range(1, 120) ] area = Area('Grid', [ Area('Micro-grid', children=[*houses_1, *houses_2, *houses_3, *flats]), Area('Commercial Energy Producer', strategy=CommercialStrategy(energy_rate=market_maker_rate)), ], config=config) return area
def get_setup(config): ConstSettings.GeneralSettings.DEFAULT_UPDATE_INTERVAL = 5 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), grid_fee_percentage=0), Area('H1 Storage1', strategy=StorageStrategy(initial_soc=50), grid_fee_percentage=0), Area('H1 Storage2', strategy=StorageStrategy(initial_soc=50), grid_fee_percentage=0), ], 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), grid_fee_percentage=0), Area('H2 PV', strategy=PVStrategy(10), grid_fee_percentage=0), ], grid_fee_percentage=0, grid_fee_constant=0, ), Area('Cell Tower', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(0, 24)), final_buying_rate=35), grid_fee_percentage=0) # Area('Commercial Energy Producer', # strategy=CommercialStrategy(energy_range_wh=(40, 120), energy_price=30), # # ), ], config=config) return area
def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 2 ConstSettings.IAASettings.BID_OFFER_MATCH_TYPE = \ BidOfferMatchAlgoEnum.PAY_AS_CLEAR.value # ConstSettings.GeneralSettings.SUPPLY_DEMAND_PLOTS = False ConstSettings.GeneralSettings.MARKET_CLEARING_FREQUENCY_PER_SLOT = 3 ConstSettings.GeneralSettings.DEFAULT_UPDATE_INTERVAL = 5 area = Area('Grid', [ Area('House 1', [ Area( 'H1 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=6, hrs_of_day=list(range(12, 18)), initial_buying_rate=35, 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=100, hrs_per_day=4, hrs_of_day=list(range(12, 16)), final_buying_rate=35), ), Area( 'H2 PV', strategy=PVStrategy(4), ), Area( 'H2 CEP', strategy=CommercialStrategy(energy_rate=10), ), ]), 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
def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 2 ConstSettings.GeneralSettings.EXPORT_ENERGY_TRADE_PROFILE_HR = True ConstSettings.GeneralSettings.EXPORT_OFFER_BID_TRADE_HR = True area = Area('Grid', [ Area('House 1', [ Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=6, hrs_of_day=list(range(12, 18)), final_buying_rate=30, fit_to_limit=True, update_interval=1)), Area('H1 Storage1', strategy=StorageStrategy(initial_soc=50, min_allowed_soc=10, battery_capacity_kWh=1.2, max_abs_battery_power_kW=5, initial_selling_rate=30, final_buying_rate=25, final_selling_rate=25.1, initial_buying_rate=0, fit_to_limit=True, update_interval=1)), ]), Area('House 2', [ Area('H2 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=4, hrs_of_day=list(range(12, 16)), final_buying_rate=30, fit_to_limit=True, update_interval=1)), Area('H2 PV', strategy=PVStrategy(4, initial_selling_rate=30, final_selling_rate=0, fit_to_limit=True, update_interval=1)), ]), Area('Cell Tower', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(0, 24)), final_buying_rate=30, fit_to_limit=True, update_interval=1)), Area('Market Maker', strategy=MarketMakerStrategy(energy_rate=30, grid_connected=True)), ], config=config) return area
def test_load_hour_strategy_increases_rate_when_fit_to_limit_is_false(): load = LoadHoursStrategy(avg_power_W=100, initial_buying_rate=0, final_buying_rate=30, fit_to_limit=False, energy_rate_increase_per_update=10, update_interval=5) load.area = FakeArea() load.event_activate() assert all([ rate == -10 for rate in load.bid_update.energy_rate_change_per_update.values() ])
def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 2 ConstSettings.LoadSettings.INITIAL_BUYING_RATE = 35 ConstSettings.LoadSettings.FINAL_BUYING_RATE = 35 ConstSettings.StorageSettings.INITIAL_BUYING_RATE = 24.99 ConstSettings.StorageSettings.FINAL_BUYING_RATE = 25 ConstSettings.StorageSettings.INITIAL_SELLING_RATE = 30 ConstSettings.StorageSettings.FINAL_SELLING_RATE = 25.01 area = Area( 'Grid', [ Area('House 1', [ Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=100, 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(), appliance=SwitchableAppliance()) ]), Area('House 2', [ Area('H2 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=4, hrs_of_day=list(range(12, 16)), final_buying_rate=35), appliance=SwitchableAppliance()), Area('H2 PV', strategy=PVStrategy(4), appliance=PVAppliance()), ]), 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('Commercial Energy Producer', # strategy=CommercialStrategy(energy_range_wh=(40, 120), energy_price=30), # appliance=SimpleAppliance() # ), ], 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=6, hrs_of_day=list(range(12, 18)), final_buying_rate=35), ), Area( 'H1 Storage1', strategy=StorageStrategy( initial_soc=50, final_buying_rate=final_buying_rate_profile, final_selling_rate=final_selling_rate_profile, max_abs_battery_power_kW=5.0), ), Area( 'H1 Storage2', strategy=StorageStrategy( initial_soc=50, final_buying_rate=final_buying_rate_profile_2, final_selling_rate=final_selling_rate_profile_2, max_abs_battery_power_kW=5.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), ), Area( 'H2 PV', strategy=PVStrategy(4), ), ]), 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
def get_setup(config): ConstSettings.IAASettings.MARKET_TYPE = 3 # ConstSettings.GeneralSettings.SUPPLY_DEMAND_PLOTS = False ConstSettings.GeneralSettings.MARKET_CLEARING_FREQUENCY_PER_SLOT = 3 ConstSettings.LoadSettings.INITIAL_BUYING_RATE = 35 ConstSettings.LoadSettings.FINAL_BUYING_RATE = 35 ConstSettings.StorageSettings.INITIAL_BUYING_RATE = 24.99 ConstSettings.StorageSettings.FINAL_BUYING_RATE = 25 ConstSettings.StorageSettings.INITIAL_SELLING_RATE = 30 ConstSettings.StorageSettings.FINAL_SELLING_RATE = 25.01 area = Area('Grid', [ Area('House 1', [ Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=6, hrs_of_day=list(range(12, 18)), initial_buying_rate=35, 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()), ]), Area('House 2', [ Area('H2 General Load', strategy=LoadHoursStrategy(avg_power_W=100, hrs_per_day=4, hrs_of_day=list(range(12, 16)), final_buying_rate=35), appliance=SwitchableAppliance()), Area('H2 PV', strategy=PVStrategy(4), appliance=PVAppliance()), Area('H2 CEP', strategy=CommercialStrategy(energy_rate=10), appliance=SimpleAppliance()), ]), 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()), ], config=config) return area
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(12, 18)), max_energy_rate=35), appliance=SwitchableAppliance()), Area('H1 Storage1', strategy=StorageStrategy(initial_capacity_kWh=0.6), appliance=SwitchableAppliance()), Area('H1 Storage2', strategy=StorageStrategy(initial_capacity_kWh=0.6), appliance=SwitchableAppliance()), ] ), Area( 'House 2', [ Area('H2 General Load', strategy=LoadHoursStrategy(avg_power_W=200, hrs_per_day=4, hrs_of_day=list( range(12, 16)), max_energy_rate=35), appliance=SwitchableAppliance()), Area('H2 PV', strategy=PVStrategy(4, 80), appliance=PVAppliance()), ] ), Area('Cell Tower', strategy=CellTowerLoadHoursStrategy(avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(0, 24)), max_energy_rate=35), 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.IAASettings.MIN_OFFER_AGE = 0 ConstSettings.IAASettings.MIN_BID_AGE = 0 area = Area( "Grid", [ Area("Community", [ Area("Family 2 children with PV + ESS", [ Area("Family General Load", strategy=LoadHoursStrategy(avg_power_W=5680, hrs_of_day=list(range(24)), hrs_per_day=24, initial_buying_rate=23, final_buying_rate=23)), Area("Family PV", strategy=PVStrategy(max_panel_power_W=17985, panel_count=1, initial_selling_rate=6, final_selling_rate=6)), Area("Family ESS", strategy=StorageStrategy(initial_soc=20, battery_capacity_kWh=5, initial_buying_rate=22.94, final_buying_rate=22.94, initial_selling_rate=22.95, final_selling_rate=22.95)) ]), Area("Community PP", strategy=FinitePowerPlant(max_available_power_kW=10, energy_rate=1)), Area("Community Load", strategy=LoadHoursStrategy(avg_power_W=1200, hrs_of_day=list(range(24)), hrs_per_day=24, initial_buying_rate=10, final_buying_rate=10)) ], grid_fee_constant=4.0), Area("DSO", strategy=InfiniteBusStrategy(energy_buy_rate=20, energy_sell_rate=22)) ], config=config, grid_fee_constant=4.0, ) return area
def get_setup(config): ConstSettings.GeneralSettings.EXPORT_SUPPLY_DEMAND_PLOTS = True ConstSettings.IAASettings.MARKET_TYPE = 2 ConstSettings.IAASettings.BID_OFFER_MATCH_TYPE = \ BidOfferMatchAlgoEnum.PAY_AS_CLEAR.value ConstSettings.IAASettings.PAY_AS_CLEAR_AGGREGATION_ALGORITHM = 1 ConstSettings.GeneralSettings.MARKET_CLEARING_FREQUENCY_PER_SLOT = 1 ConstSettings.IAASettings.MIN_OFFER_AGE = 0 ConstSettings.IAASettings.MIN_BID_AGE = 0 area = Area( 'Grid', [ Area( 'House 1', [ Area('H1 General Load1', strategy=LoadHoursStrategy( avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=28.8, fit_to_limit=False, energy_rate_increase_per_update=0), ), Area('H1 General Load2', strategy=LoadHoursStrategy( avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=18.8, fit_to_limit=False, energy_rate_increase_per_update=0), ), Area('H1 General Load3', strategy=LoadHoursStrategy( avg_power_W=100, hrs_per_day=24, hrs_of_day=list(range(24)), initial_buying_rate=8.8, fit_to_limit=False, energy_rate_increase_per_update=0), ), Area('H1 CEP1', strategy=FinitePowerPlant(energy_rate=5.1, max_available_power_kW=0.1), ), Area('H1 CEP2', strategy=FinitePowerPlant(energy_rate=15.5, max_available_power_kW=0.1), ), Area('H1 CEP3', strategy=FinitePowerPlant(energy_rate=25.001, max_available_power_kW=0.1), ), Area('H1 CEP4', strategy=FinitePowerPlant(energy_rate=28.001, max_available_power_kW=0.1), ), ] ), ], config=config ) return area
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
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
def get_setup(config): area = Area( 'Grid', children=[ Area( 'House 1', event_list=[DisconnectIntervalAreaEvent(6, 16)], children=[ Area('H1 General Load', strategy=LoadHoursStrategy(avg_power_W=200, hrs_per_day=24, hrs_of_day=list( range(0, 24)), final_buying_rate=27), appliance=SwitchableAppliance()), Area('H1 Storage1', strategy=StorageStrategy(initial_soc=50, battery_capacity_kWh=30, max_abs_battery_power_kW=1), appliance=SwitchableAppliance()), ] ), Area('Commercial Energy Producer', strategy=CommercialStrategy(energy_rate=22), appliance=SimpleAppliance() ), ], config=config ) return area
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