Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Virtual-FCS H2020
Copyright (c) 2021-2023 Virtual-FCS H2020

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,34 @@
## Project Status

![Status: Inactive](https://img.shields.io/badge/status-inactive-red)
![Planned Update: 2026](https://img.shields.io/badge/updates-2026-blue)

This library is **not under active maintenance** at the moment.
Development and updates are planned to resume in **2026**.

# VirtualFCS Library
VirtualFCS is a Modelica library for fuel cell system modelling developed through the EU H2020 research project Virtual-FCS.

[![2023: v2.0.0](https://img.shields.io/badge/Release-2023%3A%20v2.0.0-blue)![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7552220.svg)](https://doi.org/10.5281/zenodo.7552220)
[![OpenModelica v1.20 win64](https://img.shields.io/badge/OpenModelica-v1.20%20win64-blue)](https://openmodelica.org/)

Note that this library might also work with other platforms that win64, but that is not tested during development.

<details>
<summary><b>Citing other library versions</b></summary>

Note that library versions older than v2.0.0 requires OpenModelica v1.14.

| Released | Version | DOI |
|------------|---------------|-----|
| 2023-01-19 | v2.0.0 | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7552220.svg)](https://doi.org/10.5281/zenodo.7552220) |
| 2022-02-16 | v2022.1.0-beta| [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6104901.svg)](https://doi.org/10.5281/zenodo.6104901) |
| 2021-12-15 | v0.2.1-beta | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7566040.svg)](https://doi.org/10.5281/zenodo.7566040) |
| 2021-09-22 | v0.2.0-beta | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7566037.svg)](https://doi.org/10.5281/zenodo.7566037) |
| 2021-07-01 | v0.1.0-beta | |

</details>

## Library Description

The objective of the complete hybrid system model is to reproduce and simulate the dynamic behavior of all the components according to the desired architecture. Depending on the possibilities, degradation mechanisms of the components will be considered in order to predict the performance losses of the entire system.
Expand Down
29 changes: 29 additions & 0 deletions VirtualFCS/UsersGuide/ReleaseNotes/Version_0_2_0.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
within VirtualFCS.UsersGuide.ReleaseNotes;

class Version_0_2_0
extends Modelica.Icons.ReleaseNotes;
annotation(
Documentation(info = "<html><head></head><body>
<h4>What's Changed</h4>
<div><ul>
<li>Development by @jsimonclark in <a href=\"https://github.com/Virtual-FCS/VirtualFCS/pull/5\">PR #5</a>:</li>
<ul>
<li>Improved documentation of electrochemical models</li>
<li>Updated parameterization of electrochemical and vehicle models</li>
<li>Add joystick control and examples</li>
<li>Update encapsulation structure</li>
</ul>
<li>Bug fix in <a href=\"modelica://VirtualFCS.Examples.VehicleExamples.RangeExtenderHybridVehicle\">RangeExtenderHybridVehicle</a> by @jsimonclark in <a href=\"https://github.com/Virtual-FCS/VirtualFCS/pull/6\">PR #6</a></li>
<li>Bug fix in <a href=\"modelica://VirtualFCS.Examples.VehicleExamples.BatteryElectricVehicle_JoystickControl\">BatteryElectricVehicle_JoystickControl</a> by @jsimonclark in <a href=\"https://github.com/Virtual-FCS/VirtualFCS/pull/7\">PR #7</a></li>
<li>Updates of
<a href=\"modelica://VirtualFCS.SubSystems.Hydrogen.SubSystemHydrogen\">SubSystemHydrogen</a>,
<a href=\"modelica://VirtualFCS.Electrochemical.Battery.LiIonBatteryPack_Lumped\">LiIonBatteryPack_Lumped</a>,
<a href=\"modelica://VirtualFCS.Electrochemical.Battery.LiIonCell\">LiIonCell,
<a href=\"modelica://VirtualFCS.Electrochemical.Hydrogen.FuelCell\">FuelCell</a>,
<a href=\"modelica://VirtualFCS.Electrochemical.Hydrogen.FuelCellStack\">FuelCellStack</a>,
etc. by @rakayash</li>
</ul></div>
<div><br></div>
<div><b>Full Changelog</b>: <a href=\"https://github.com/Virtual-FCS/VirtualFCS/compare/v0.1.0-beta...v0.2.0-beta\">v0.1.0-beta...v0.2.0-beta</a></div>
</body></html>"));
end Version_0_2_0;
15 changes: 15 additions & 0 deletions VirtualFCS/UsersGuide/ReleaseNotes/Version_0_2_1.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
within VirtualFCS.UsersGuide.ReleaseNotes;

model Version_0_2_1
extends Modelica.Icons.ReleaseNotes;
annotation(
Documentation(info = "<html><head></head><body>
<h4>What's Changed</h4>
<div><ul>
<li>Fixed bug in heat generation term by @mikegerhardt in <a href=\"https://github.com/Virtual-FCS/VirtualFCS/pull/9\">PR #9</a></li>
<li>Minor documentation edits</li>
</ul></div>
<div><br></div>
<div><b>Full Changelog</b>: <a href=\"https://github.com/Virtual-FCS/VirtualFCS/compare/v0.2.0-beta...v0.2.1-beta\">v0.2.0-beta...v0.2.1-beta</a></div>
</body></html>"));
end Version_0_2_1;
8 changes: 3 additions & 5 deletions VirtualFCS/UsersGuide/ReleaseNotes/package.mo
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ within VirtualFCS.UsersGuide;
package ReleaseNotes
extends Modelica.Icons.ReleaseNotes;
annotation(
Documentation(
DocumentationClass=true,
info = "<html><head></head><body>
Documentation(info = "<html><head></head><body>
<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">
<tr><td><a href=\"modelica://VirtualFCS.UsersGuide.ReleaseNotes.Version_2_0_0\">Version 2.0.0</a></td><td>2023-01-19</td></tr>
<tr><td><a href=\"modelica://VirtualFCS.UsersGuide.ReleaseNotes.Version_2022_1_0\">Version 2022.1.0-beta</a></td><td>2022-02-16</td></tr>
<tr><td>Version 0.2.1-beta</td><td>2021-12-15</td></tr>
<tr><td>Version 0.2.0-beta</td><td>2021-09-22</td></tr>
<tr><td><a href=\"modelica://VirtualFCS.UsersGuide.ReleaseNotes.Version_0_2_1\">Version 0.2.1-beta</a></td><td>2021-12-15</td></tr>
<tr><td><a href=\"modelica://VirtualFCS.UsersGuide.ReleaseNotes.Version_0_2_0\">Version 0.2.0-beta</a></td><td>2021-09-22</td></tr>
<tr><td><a href=\"modelica://VirtualFCS.UsersGuide.ReleaseNotes.Version_0_1_0\">Version 0.1.0-beta</a></td><td>2021-07-01</td></tr>
</table>
</body></html>"));
Expand Down
2 changes: 2 additions & 0 deletions VirtualFCS/UsersGuide/ReleaseNotes/package.order
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
Version_2_0_0
Version_2022_1_0
Version_0_2_1
Version_0_2_0
Version_0_1_0
1 change: 1 addition & 0 deletions VirtualFCS/UsersGuide/package.mo
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ within VirtualFCS;
package UsersGuide "User information for the VirtualFCS library"
extends Modelica.Icons.Information;
annotation(
DocumentationClass = true,
Documentation(info = "<html><head></head><body><p style=\"font-size: 12px;\">The&nbsp;<code>VirtualFCS</code>&nbsp;library is a free open-source library for modeling hydrogen fuel cell power systems. The models developed in the library are based on the Modelica standard library, and adhere to the proper conventions to support compatibility and interoperability with other libraries. The library is developed through the research project Virtual-FCS, funded by the European Union (see Acknowledgements for more information). The webpage for the project is&nbsp;<a href=\"https://virtual-fcs.eu\">www.virtual-fcs.eu</a>.&nbsp;</p><p style=\"font-size: 12px;\">The source code for the library is hosted on GitHub (<a href=\"https://github.com/Virtual-FCS\">https://github.com/Virtual-FCS</a>). The developers welcome contributions from the fuel cell and modelling communities to support the development, adoption, and improvement of the library. For information on how to contribute, please see the guidelines posted in the GitHub repository.&nbsp;</p><p style=\"font-size: 12px;\">General information and training materials can be found on the project website. Dedicated User Guides for the main sub-packages are listed below and accessible via hyperlink.</p>

<div><br><table border=\"1\"><tbody><tr><th>Name</th>
Expand Down
4 changes: 2 additions & 2 deletions VirtualFCS/Utilities/ParameterRecords/EVDriveData.mo
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
within VirtualFCS.Utilities.ParameterRecords;

record EVDriveData
extends Modelica.Icons.RecordsPackage;
extends Modelica.Icons.Record;
import Modelica.Electrical.Machines.Thermal.convertResistance;
//Motor
parameter Modelica.Units.SI.Resistance Ra = convertResistance(motorData.Ra, motorData.TaRef, motorData.alpha20a, motorData.TaNominal) "Armature resistance at nominal temperature" annotation(
Expand Down Expand Up @@ -69,4 +69,4 @@ Calculates controller parameters of a DC permanent magnet drive:
Current controller according to absolute optimum, speed controller according to symmetric optimum.
</p>
</html>"));
end EVDriveData;
end EVDriveData;
16 changes: 11 additions & 5 deletions VirtualFCS/package.mo
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@ package VirtualFCS "VirtualFCS - VIRTUAL & physical platform for Fuel Cell Syste
extends Modelica.Icons.Package;
// import Annex60;
annotation(
preferredView="info",
version="2.0.0",
versionDate="2023-01-19",
uses(Modelica(version = "4.0.0"), Modelica_DeviceDrivers(version= "2.1.1")),
preferredView = "info",
version = "2.1.0-dev",
versionDate = "2023-01-19",
uses(Modelica(version = "4.0.0"), Modelica_DeviceDrivers(version = "2.1.1")),
Icon(graphics = {Rectangle(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, extent = {{-100, 100}, {100, -100}}), Bitmap(origin = {-1, 0}, extent = {{-99, -100}, {99, 100}}, fileName = "modelica://VirtualFCS/Resources/images/virtual-fcs-logo-emblem.png")}),
Documentation(info = "<html><head></head><body><div><b>Version</b></div><div>0.1.0 (30.06.2021)</div><div><b><br></b></div><div><b>Overview</b></div><div>VirtualFCS is a Modelica library to model hybrid proton exchange membrane fuel cell (PEMFC) &amp; battery electric vehicles. The library provides classes describing:</div><div><ul style=\"font-size: 12px;\"><li>Electrochemical power sources including PEM fuel cells, PEM fuel cell stacks, Li-ion battery cells, and Li-ion battery packs.</li><li>Fuel cell sub-systems including hydrogen, air, and cooling</li><li>Balance of plant (BoP) components</li><li>Control algorithms for energy, fuel cell, and battery management, as well as BoP control.</li><li>Standard vehicle drive cycles including the New European Drive Cycle (NEDC) and Worldwide Harmonized Light-duty Vehicles Test Cycles (WLTC)</li></ul></div><div><div>The VirtualFCS library is composed of 8 main sub-packages: Control, Electrical, Electrochemical, Examples, Fluid, Thermal, Vehicles, and XInTheLoop.</div><div><br></div><b></b></div><div><br></div><div><img src=\"modelica://VirtualFCS/Resources/images/imgHydrogenVehicle.jpg\" style=\"width:15cm\"></div><div><br></div><div><br></div><div><b>Development&nbsp;</b></div><div>The Virtual-FCS project is supported by the European Union's H2020 research and innovation program and runs from Jan 2020 to Dec 2022. The repository was first opened to the public on April 22, 2021 (Earth Day) with the first minor release with documentation on 30.06.2021. Regular updates are planned every 3 months until Dec 2022.</div><div><br></div><b>Contributors (in alphabetical order)</b><div><a href=\"https://scholar.google.no/citations?user=YyXXh8UAAAAJ&amp;hl=en\">Dr. Simon Clark</a>, <span class=\"Apple-tab-span\" style=\"white-space: pre;\"> </span>SINTEF Industry, Trondheim, Norway</div><div><a href=\"https://scholar.google.no/citations?user=Lb7P3pwAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Michael R. Gerhardt</a>,&nbsp;<span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Indsutry, Trondheim, Norway</div><div>Amelie Pinard, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Industry, Trondheim, Norway</div><div><a href=\"https://scholar.google.no/citations?user=Rm-vHUsAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Roberto Scipioni</a>, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Industr,y Trondheim, Norway</div><div><a href=\"https://scholar.google.no/citations?user=I83c1BcAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Nadia Steiner</a>,&nbsp;<span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>UBFC, Belfort, France</div><div><a href=\"https://scholar.google.no/citations?user=mlhoJ9wAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Yash Raka</a>, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Industry, Trondheim, Norway</div><div><a href=\"https://scholar.google.com/citations?user=VtrKOXUAAAAJ&amp;hl=fr\">Dr. Loic Vichard</a>, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>UBFC, Belfort, France</div><div><br></div><div><b>Contact</b></div><div><a href=\"https://www.sintef.no/projectweb/virtual-fcs/\">www.virtual-fcs.eu</a></div><div><br></div><div><b>Funding</b></div><div>This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 875087. Programme: H2020-EU.3.4.6.1. - Reduce the production cost of fuel cell systems to be used in transportation applications, while increasing their lifetime to levels which can compete with conventional technologies. Topic: FCH-01-3-2019 - Cyber-physical platform for hybrid Fuel Cell Systems.</div><div><br></div><div><br></div></body></html>"));
Documentation(info = "<html><head></head><body>
<div><b>Overview</b></div><div>VirtualFCS is a Modelica library to model hybrid proton exchange membrane fuel cell (PEMFC) &amp; battery electric vehicles. The library provides classes describing:</div><div><ul style=\"font-size: 12px;\"><li>Electrochemical power sources including PEM fuel cells, PEM fuel cell stacks, Li-ion battery cells, and Li-ion battery packs.</li><li>Fuel cell sub-systems including hydrogen, air, and cooling</li><li>Balance of plant (BoP) components</li><li>Control algorithms for energy, fuel cell, and battery management, as well as BoP control.</li><li>Standard vehicle drive cycles including the New European Drive Cycle (NEDC) and Worldwide Harmonized Light-duty Vehicles Test Cycles (WLTC)</li></ul></div><div><div>The VirtualFCS library is composed of 8 main sub-packages: Control, Electrical, Electrochemical, Examples, Fluid, Thermal, Vehicles, and XInTheLoop.</div><div><br></div><b></b></div><div><br></div><div><img src=\"modelica://VirtualFCS/Resources/images/imgHydrogenVehicle.jpg\" style=\"width:15cm\"></div><div><br></div><div><br></div>
<div><b>Development&nbsp;</b></div><div>The Virtual-FCS project is supported by the European Union's H2020 research and innovation program and runs from Jan 2020 to Dec 2022. The repository was first opened to the public on April 22, 2021 (Earth Day) with the first minor release with documentation on 30.06.2021. Regular updates are planned every 3 months until Dec 2022.</div><div><br></div>
<b>Contributors (in alphabetical order)</b><div><a href=\"https://scholar.google.no/citations?user=YyXXh8UAAAAJ&amp;hl=en\">Dr. Simon Clark</a>, <span class=\"Apple-tab-span\" style=\"white-space: pre;\"> </span>SINTEF Industry, Trondheim, Norway</div><div><a href=\"https://scholar.google.no/citations?user=Lb7P3pwAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Michael R. Gerhardt</a>,&nbsp;<span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Indsutry, Trondheim, Norway</div><div>Amelie Pinard, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Industry, Trondheim, Norway</div><div><a href=\"https://scholar.google.no/citations?user=Rm-vHUsAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Roberto Scipioni</a>, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Industr,y Trondheim, Norway</div><div><a href=\"https://scholar.google.no/citations?user=I83c1BcAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Nadia Steiner</a>,&nbsp;<span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>UBFC, Belfort, France</div><div><a href=\"https://scholar.google.no/citations?user=mlhoJ9wAAAAJ&amp;hl=en&amp;oi=ao\">Dr. Yash Raka</a>, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>SINTEF Industry, Trondheim, Norway</div><div><a href=\"https://scholar.google.com/citations?user=VtrKOXUAAAAJ&amp;hl=fr\">Dr. Loic Vichard</a>, <span class=\"Apple-tab-span\" style=\"white-space:pre\"> </span>UBFC, Belfort, France</div><div><br></div>
<div><b>Contact</b></div><div><a href=\"https://www.sintef.no/projectweb/virtual-fcs/\">www.virtual-fcs.eu</a></div><div><br></div>
<div><b>Funding</b></div><div>This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 875087. Programme: H2020-EU.3.4.6.1. - Reduce the production cost of fuel cell systems to be used in transportation applications, while increasing their lifetime to levels which can compete with conventional technologies. Topic: FCH-01-3-2019 - Cyber-physical platform for hybrid Fuel Cell Systems.</div><div><br></div>
<div><br></div></body></html>"));
end VirtualFCS;
2 changes: 1 addition & 1 deletion docs/GenerateDoc.mos
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ touch FindFiles.log.tmp
OMLIBRARY=\""+getInstallationDirectoryPath()+"/lib/omlibrary\"
for f in `sort -u tidy.links`; do
link=`echo $f | cut '-d!' -f2-`
link=`python -c \"import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])\" \"$link\"`
link=`python -c \"import sys, urllib as ul; print ul.unquote(sys.argv[1])\" \"$link\"`
if test -f \"$OMLIBRARY/$link\"; then
d=`dirname \"$link\"`
mkdir -p \"$d\"
Expand Down
Loading