Multiple Assets with the Site API
The site API allows optimizing many assets at the same time.
Multiple assets can be optimized using a single epl.Site
, which accepts a list of assets.
Below we give some examples of typical configurations of energy assets.
Battery & CHP Generator
We can use a site to optimize an electric battery alongside a gas fired generator:
import energypylinear as epl
site = epl.Site(assets=[
epl.Battery(power_mw=2.0, capacity_mwh=4.0),
epl.Generator(
electric_power_max_mw=100,
electric_power_min_mw=30,
electric_efficiency_pct=0.4
)
])
results = site.optimize(
electricity_prices=[100.0, 50, 200, -100, 0, 200, 100, -100],
freq_mins=60,
initial_charge_mwh=1,
final_charge_mwh=3
)
Fast & Slow Battery
We can use a site to optimize a fast and slow battery alongside each other:
import energypylinear as epl
site = epl.Site(assets=[
epl.Battery(power_mw=4.0, capacity_mwh=1.0),
epl.Battery(power_mw=2.0, capacity_mwh=4.0),
])
results = site.optimize(
electricity_prices=[100.0, 50, 200, -100, 0, 200, 100, -100],
freq_mins=60,
initial_charge_mwh=1,
final_charge_mwh=3
)
Battery & EV Chargers
We can use a site to optimize a battery that sits alongside EV chargers:
import energypylinear as epl
site = epl.Site(assets=[
epl.Battery(power_mw=2.0, capacity_mwh=4.0),
epl.EVs(charger_mws=[100, 100], charger_turndown=0.1)
])
results = site.optimize(
electricity_prices=[100.0, 50, 200, -100, 0, 200, 100, -100],
freq_mins=60,
initial_charge_mwh=1,
final_charge_mwh=3,
charge_events=[
[1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0],
],
charge_event_mwh=[50, 100, 30, 40]
)