A Modelica library for photovoltaic system and power converter design
PVSystems is a Modelica library providing models useful for the design and evaluation of photovoltaic systems and power converters as well as their associated control algorithms. For more information, check out the online documentation.
The library is the result of a research project carried out in the form of a master's degree thesis. There are two intended audiences for the library:
- Users: the library is intended to be rich enough in component and subsystem models that it proves useful for those interested in designing and evaluating photovoltaic systems, power converters and their associated control algorithms. Check out the usage section to learn more.
- Developers: the library is also intended to explore and showcase best practices for the development of Modelica libraries. Many of these best practices are inspired or taken from other Modelica libraries on GitHub and from the excellent Modelica by Example.
The library provides models in the following categories:
- Control: based on the interfaces provided in Modelica.Blocks, common blocks used in the control of power converters, including Park and Clarke transforms, Space Vector Modulation and grid synchronization blocks.
- Electrical: based on the interfaces provided in Modelica.Electrical.Analog, common electrical models including PV arrays, energy storage devices, power converters, transformers, loads and other grid elements. The library features both switched and averaged models of power converters.
- Examples: a comprehensive set of examples will be provided to showcase the capabilities and explain the use of the library.
You can grab a copy of the library by clonning the repository or downloading a zip of the latest commit. If you want to stay up to date with development, you can watch the project if you have a GitHub account or you can subscribe to the commits feed.
The library can be used inside tools like Dymola or OpenModelica to create models of PV systems. These same tools can be used in conjuntion with other tools supporting the FMI standard for model exchange and co-simulation. For example, a PV system model developed in OpenModelica using this library could then be used to validate a control algorithm developed in MATLAB/Simulink or LabVIEW.
If you have any questions, comments, suggestions, ideas or feature requests, please do share those as well as any mistakes or bugs you might discover. You can open an issue in the Issues section of the repository or, if you prefer, contact me by email. Contributions in the form of Pull Requests are always welcome.
PVSystems is licensed under the MIT License. See LICENSE.md for the full license text.