Coder Social home page Coder Social logo

raulrpearson / pvsystems Goto Github PK

View Code? Open in Web Editor NEW
29.0 20.0 10.0 39.73 MB

A Modelica library for photovoltaic system and power converter design

Home Page: https://raulrpearson.github.io/PVSystems/

License: MIT License

Modelica 65.80% HTML 24.03% Motoko 10.17%
modelica-library photovoltaic power-converters modeling simulation

pvsystems's Introduction

PVSystems

A Modelica library for photovoltaic system and power converter design

Overview

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.

Download and usage

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.

Contributing

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.

License

PVSystems is licensed under the MIT License. See LICENSE.md for the full license text.

pvsystems's People

Contributors

raulrpearson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pvsystems's Issues

How to plot Power vs Voltage ?

I have run a PVarray verification simulation [PVSystems/Examples/Verification/PVArrayVerification]. However, I have not been able to produce a Power (W) vs Voltage (V) plot. How to do it?
Thank you

PVInverter1Phase increasing AC amplitude

Hi everyone,
I am currently using the basic layout of example PVInverter1Phase along with mppt tracker .
How can I achieve AC output at 230 V instead of the same amplitude on DC side?

Thank you in advance.

if construct in PV cell wrong

Consider example model PVArrayVerification.
When run, the current goes to zero near the end of the simulation. This means that the model does not simulate negative currents when voltage overcomes OCV.
However, if I change temperature Tn, for instance from 298.15 to 298.15+10, the current the cell delivers goes negative: this is because the internal if: is:
if v < 0 then i = v/((Rs + Rp)/Np); elseif v > Vocn then i = 0; else i = -Np*(Ipv - Id - Ir); end if;
i.e., it switches to i=0 when V>Vocn, with, for temperatures different from the nominal, is different from the actual open-circuit voltage.

Wrong Cell current when Np>1?

Consider Electrical,PVArray model.
In the active region it is:
i = -Np*(Ipv - Id - Ir);
I think that Ipv and Id are cell currents, and therefore for computing the array current they must be multiplied by Np. the definition of Ir, instead is:
Ir = (v - Rs*i)/Rp;
therefore it is already the "array" current flowing through Rp. Therefore I think the formula for i should be changed into:
i = -Np*(Ipv - Id) + Ir;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.