ALSETLab / RaPId

RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems.
GNU Lesser General Public License v3.0
40 stars 12 forks source link
calibration dynamical-systems fmi fmi-standard fmu identification itesla-rapid modelica modelica-models optimization optimization-toolbox toolbox

DOI

RaPId

Abstract

RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems. A quick overview of RaPId can be found here.

Contents

  1. Abstract
  2. Contents
  3. Quick Download: Release
  4. Contributing
  5. RaPId Introduction
  6. Cite us in your Publications
  7. RaPId - Quick Start
    1. Demo videos
    2. Software requirements
    3. Installation
    4. Using the toolbox
    5. Creating FMUs
    6. Creating FMUs for Power System Models
  8. Acknowledgements
  9. Dedication
  10. No Warranty

Quick Download: Release

Contributing

RaPId - Introduction

RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems. The foundation of RaPId is MATLAB/Simulink which is necessary for processing the available measurements and for the simulation of the Modelica model within the MATLAB/Simulink platform. Simulation of the Modelica model is carried out using the FMI Toolbox for MATLAB. Within the MATLAB environment, RaPId provides the user with different functionalities, such as the set-up of an optimization problem, access to different solvers to simulate the model, and automates a parameter optimization process (or “calibration”) so that the model is not only validated (i.e. satisfies the error allowed in an objective function) but also calibrated (i.e. the error of the objective function is minimized by finding optimal parameters).

The user is provided with a Graphical User Interface (GUI) which he can use to set-up the model validation and calibration problem. More advanced users, such as researchers, can take benefit of the modular design of RaPId which allows the use of the command line interface via MATLAB scripts, the inclusion of dedicated optimization routines (by extending RaPId's source code), and the formulation of different optimization problems.

RaPId has been designed with the researcher in mind: to give maximum flexibility and efficiency to develop methods and derive tools for model validation, calibration and correction. The spirit of RaPId is that other researchers will use it and contribute to its features – as such, RaPId is distributed as an Open Source Software.

What RaPId becomes in the future is up to you, the researcher or engineer that needs freedom and flexibility to put your creativity in action, and if RaPId makes this happen, please share it with all of us by contributing with your developments!

RaPId - Cite us in your Publications

If you use RaPId in your work or research, all we ask you in exchange is that you cite the following papers. You are also welcome to submit your contributions (modifications to RaPId or examples) using GIT.

If you only have space for one publication, our prefered citation is the following:

If you only have space for additional publications, you can also cite the following papers:

RaPId - Quick Start

Demo Videos

To see RaPId in action, you can find demonstration videos on Youtube:

  1. Demonstrating basic usage of RaPId:

  2. Using RaPId to identify Power System Parameters

  3. Advanced features (Future! Release: TBA)

Note: RaPId is continuously evolving, thus the GUI and source code is subject to change (usually improvements) compared to what is depicted in the videos.

Software requirements (dependencies):

Here is compiled a list of the required software packages to run the toolbox.

Installation:

Provided that all the software required have been installed on your machine, the installation has been automated with an installation script.

The first step of the installation is to procure the RaPId toolbox:

The rest of the installation will be executed in Matlab:

  1. Launch Matlab and change the working directory to the ./rapid/ folder of the RaPId toolbox.
  2. Run the 'setupRapid.m' script located in this sub-folder.
  3. Check that the dependency check didn't prompt any warning.
  4. The GUI of the toolbox will be launched upon successful installation.

Using the toolbox:

The best way to get familiar with the toolbox is to refer to the examples provided. Each example is delivered in a separate folder in the ./Examples/ folder, containing the necessary elements to use the toolbox:

To load an example, click on the 'load container' button and select an example's container. After successful loading, you can simply click on 'Run Optimization' and the toolbox will run the optimization process.

To build your own experiments, the best practice is to work in the ./Examples/work_dir/ directory (it is ignored by GIT). You can start by copying the files of one of the examples, replace with your own FMU, load the copied container and modify the appropriate settings to suite your experiment.

Don't forget to save your container, after your modifications!

Creating FMUs

In principle, RaPId be used with any FMU generated from an FMI Compliant tool. However, because RaPId depends on the FMI Toolbox for MATLAB/Simulink, the user needs to check if their tool has been supported and/or tested by the FMI Toolbox developers, Modelon.

Creating FMUs for Power System Models

The development of RaPId was carried out in parallel to the development of a Modelica library for power networks to be able to validate and calibrate power system models. Currently, only the Modelica OpenIPSL library is recommended: https://openipsl.org

To create FMUs for power system models you can use a Modelica tool of your choice capable of generating FMUs. FMU generation with RaPId has been tested using JModelica and Dymola.

If you would like to use Modelica to generate FMUs containing power system models, you can use the OpenIPSL. Several of the examples in RaPId where developed using the OpenIPSL.

Acknowledgements

The initial development of RaPId was possible through the iTesla project funded by the European Commission through the FP7 program.

Dedication

To the memory of Jan Ove Gjerde.

No Warranty

Copyright 2015-2018 Luigi Vanfretti, Achour Amazouz, Maxime Baudette, Tetiana Bogodorova, Jan Lavenius, Tin Rabuzin, Giuseppe Laera, Francisco Gomez-Lopez The authors can be contacted by email: luigi.vanfretti@gmail.com This package is part of Rapid Parameter Identification ("RaPId") . RaPId is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. RaPId is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with RaPId. If not, see .