Microgrids-X / Microgrids.py

Operational & economic simulation of Microgrid projects. Python package of the Microgrids.X family.
MIT License
9 stars 4 forks source link

Support of grid-connected Microgrids #1

Open baborok opened 10 months ago

baborok commented 10 months ago

HI do you think i could use your package to simulate such relation in grid ? Power Grid-Battery-Generator-Load ? Could not find PowerGrid module in your documentation, maybe i could use PV to simulate it ?

pierre-haessig commented 10 months ago

You are right in you diagnosis: there is currently no PowerGrid component in the package to support grid-connected Microgrids.

The way I see this is:

baborok commented 10 months ago

Thank you for detailed answer! I will take this recommendations into account.

pierre-haessig commented 10 months ago

let's keep the issue open since it's far from being solve. Although it's not in my immediate roadmap, it's definitely a feature worth having.

Out of curiosity, in the list of cases I described, which one are you working on?

baborok commented 10 months ago

I have the following problem, there is my conifguration of Grid Power Grid-Batter-Generator-Load I need to optimize the capacity of Battery and configuration of Generator(Power output, working hours etc.) So i will have a certain load and i need to choose an optimal battery and Generator for this load.

pierre-haessig commented 10 months ago

and what is the underlying incentive to choose between the Power grid and the Generator:

baborok commented 10 months ago

Tha main problem is that we are choosing the configuration of generator and batteries so we need to test multiple cases. Incentive is that generator that we have produces power almost for half a price of main PowerGrid, so our load needs to mainly rely on generator, and batteries are there to optimize this state. This is rather not a microgrid problem perhaps, but a usual one. We have multiple factories(in our case), that are a clients of company that produces and install mini-gas-generators, and they always struggle to choose the right configuration, because if you pick just oh the top of load level, generator will be heavily underloaded and cost much more, and vice versa if you choose a small amount generator, it will produce less power and you would still need to buy a lot of from main PowerGrid. I hope you can understand me because english is not my first language, so be free to ask anything you are curios or interested in. :)

pierre-haessig commented 10 months ago

OK, thanks for the details. So in your case, an important modeling aspect is the low-load operation of the generator.

For this, Microgrids.py does currently implements an affine fuel curve model, like "F0" in HOMER. This allows having a decreasing generator efficiency at low load when is is >0 (while F0=0 means constant efficiency). The parameter is called in Microgrids.py fuel_intercept.

However, Microgrids.py doesn't implement currently the minimal load in the dispatch, although there is already a parameter load_ratio_min meant for that purpose.

Finally, adding the existence of the external power grid, I guess you need a "smart dispatch" function at each instant to feed the load at the lowest price. As said previously, this is also presently missing.