Function that returns a dictionnary with the size of each component of a microgrid. We chose to define PV penetration as defined by NREL (https://www.nrel.gov/docs/fy12osti/55094.pdf) PV penetration = peak PV power / peak load power
(self, load, size_load=1)
| 350 | # sizing functions |
| 351 | ########################################### |
| 352 | def _size_mg(self, load, size_load=1): |
| 353 | ''' |
| 354 | Function that returns a dictionnary with the size of each component of a microgrid. We chose to define PV |
| 355 | penetration as defined by NREL (https://www.nrel.gov/docs/fy12osti/55094.pdf) |
| 356 | PV penetration = peak PV power / peak load power |
| 357 | ''' |
| 358 | # generate a list of size based on the number of architecture generated |
| 359 | # 2 size the other generators based on the load |
| 360 | |
| 361 | #PV penetration definition by NREL: https: // www.nrel.gov/docs/fy12osti/55094.pdf |
| 362 | # penetragion = peak pv / peak load |
| 363 | pv=load.max().values[0]*(np.random.randint(low=30, high=151)/100) |
| 364 | |
| 365 | #battery_size = self._size_battery(load) |
| 366 | # return a dataframe with the power of each generator, and if applicable the number of generator |
| 367 | |
| 368 | size={ |
| 369 | 'pv': pv, |
| 370 | 'load': size_load, |
| 371 | 'battery': self._size_battery(load), |
| 372 | 'genset': self._size_genset(load), |
| 373 | 'grid': int(max(load.values)*2), |
| 374 | } |
| 375 | |
| 376 | return size |
| 377 | |
| 378 | def _size_genset(self, load, max_operating_loading = 0.9): |
| 379 | """ Function that returns the maximum power a genset. """ |