Archived OpenModelica forums. Posting is disabled.

Alternative forums include GitHub discussions or StackOverflow (make sure to read the Stack Overflow rules; you need to have well-formed questions)


Forgot password? | Forgot username? | Register
  • Index
  • » Users
  • » Sylvain Girard
  • » Profile

Posts

Posts

Trying to load an FMU compiled by omc (OpenModelica's compiler) provoke a nasty crash under IPython.

Running

    import pyfmi
    pyfmi.load_fmu("path/to/fmu")
   
makes IPython crash with message
   
    JSON object expected ',' or '}', got: "lineEnd":67,"colSta
    Aborted (core dumped)

I tried both IPython 5.4 and 4.2, for Python 2.7.13 (Anaconda 64-bit) on Ubuntu 16.04.

An example FMU for reproducing the bug can be found here:
https://trac.fmi-standard.org/browser/b … ontrol.fmu

This seems to be specific to OpenModelica as a JModelica compiled FMU (https://trac.fmi-standard.org/browser/b … ature.fmu) does not trigger the error.

Both FMUs pass the FMU compliance check.

Do you have any idea about the problem's root and how to solve it?

I already experienced segfaults with older version of OpenModelica, as mentionned here: http://www.jmodelica.org/27816. They were however rare enough to be only a nuisance, not a show stopper.

A training on how to combine Modelica and Python to perform numerical simulation experiments will be held in Paris (in french…) by Phimeca, on November 30th.

Please contact Sylvain Girard (girard@phimeca.com) for further informations, or read below (if you can read french).



Expériences numériques sur des modèles de système 0D/1D avec Modelica et Python
═══════════════════════════════════════════════════════════════════════════════

  *Modelica* est un langage libre pour programmer des modèles physiques
  sous forme de systèmes algébriques d'*équations différentielles*
  ([http://book.xogeny.com/front/intro/]). Les équations s'écrivent pour
  ainsi dire en langage (mathématique) naturel. Grâce à l'approche
  acausale, la mise en équations et leur résolution numérique sont deux
  problèmes complètement distincts, le second étant pour l'essentiel
  pris en charge par des outils, dont le logiciel libre OpenModelica
  ([https://www.openmodelica.org/]). Le paradigme d'objets de Modelica
  est mis a profit pour constuire des bibliothèques de modules
  réutilisables et combinables, permettant même la construction de
  modèles exclusivement depuis une interface graphique !

  Des développements récents, en particulier la *norme FMI* (/functional
  mock-up interface/, [http://fmi-standard.org/]) et les outils
  associés, permettent d'appliquer à ces modèles numériques toutes la
  panoplie d'algorithmes mathématiques disponibles notamment dans
  l'univers *Python*.

  Cette formation offre un panorama des outils disponibles pour réaliser
  des plans d'expérience de simulations avec des modèles écrits en
  Modelica, ainsi que pour utiliser des programmes Python à l'intérieur
  de modèles Modelica. Une connaissance préalable de l'un ou l'autre des
  langages Modelica et Python est préférable, mais pas indispensable.


Informations pratiques
──────────────────────

  • Acceuil : 9h30
  • Fin : 17h30
  • Lieu : Phimeca Engineering, 18 boulevard de Reuilly, 75012, Paris
  • Tarif : 850 € (400 € pour les étudiants).

  Les inscriptions se font par courriel à `girard@phimeca.com'. Ne
  tardez pas : le nombre de places disponibles est restreint pour
  garantir l'interactivité de la séance.


Programme
─────────

Modelisation des systèmes avec Modelica
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  • Qu'est-ce que la « modelisation système » ?
  • Pourquoi choisir Modelica?
  • Les outils pour Modelica
    ⁃ Dymola
    ⁃ OpenModelica
    ⁃ Outils additionnels
  • ⌨ `Installation d'OpenModelica'


Pourquoi compléter Modelica avec un langage procédural ?
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  • Pilotage
    • Réaliser un plan d'expérience pour
      ⁃ l'optimisation,
      ⁃ l'estimation de paramètres et le calage,
      ⁃ l'analyse de sensibilité,
      ⁃ la propagation d'incertitudes…
    • La norme FMI (/functional mockup-up interface/) : des boîtes
      noires standardisées pour les modèles numériques
  • Inclusion
    ⁃ Utiliser des bibliothèques d'algorithmes mathématiques dans des
      modèles Modelica
      • Efficacité calculatoire
      • Gestion commode des données externes
      • /software in the loop/, émulateur de modèles numériques coûteux
  • Pourquoi choisir Python?
    ⁃ Polyvalence, facilité d'usage, communauté
    ⁃ L'API C/Python, et autres ponts
    ⁃ Python et la norme FMI: `PyFMI'


Piloter des modèles Modelica avec Python
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  • Interface de données d'entrée–sortie
  • Piloter des FMU avec le module Python `PyFMI'
  • ⌨ `Estimation de paramètre et propagation d'incertitude avec un
    modèle d'épidémie'


Inclure du code Python dans des modèles Modelica
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  • Le mot-clef Modelica `external' : inclusion de code C ou Fortran
  • Brancher Python sur le connecteur C
  • ⌨ `Inclusion d'un modèle réduit en Python d'un simulateur coûteux
    dans un modèle Modelica'

Feb-28-17 16:31:10
Simulating FMU created with OM requires to install OM. Is it possible to produce standalone FMU?

Thank you. The same goes here; the following command succeed:

Code:

translateModelFMU(className, version="2.0", fmuType="me_cs", platforms={"static"})

Unfortunately I still get

Code:


FMUException: Error loading the binary. Could not load the DLL: libSimulationRuntimeC.so: cannot open shared object file: No such file or directory

when trying to load it with PyFmi on a machine without OpenModlica installed.

Feb-28-17 10:54:27
Simulating FMU created with OM requires to install OM. Is it possible to produce standalone FMU?

Is “platforms={"static"} ” an argument to be passed to translateModelFMU? In seems to fail in OMShell-terminal

Code:

>>> translateModelFMU(className=className, version="2.0", fmuType="me_cs", platforms={"static"})


>>> getErrorString()
"[<interactive>:1:1-1:0:writable] Error: Class translateModelFMU not found in scope <global scope> (looking for a function or record).
"

By the way, omc --version returns

Code:


OpenModelica 1.12.0~dev-450-gdeecfb

and I use Ubuntu.

Feb-28-17 10:38:21
Simulating FMU created with OM requires to install OM. Is it possible to produce standalone FMU?

Thank you very much, this sounds good.
Could you expand a little on what you mean by “use the static target of the FMU”
For now I am simply using omc's command

Code:

translateModelFMU(className=className, version="2.0", fmuType="me_cs")

Feb-28-17 10:02:00
Simulating FMU created with OM requires to install OM. Is it possible to produce standalone FMU?

Simulating FMU created with OpenModlica requires to install OpenModelica.
Trying to load an FMU produced with OpenModelica with PyFmi on a machine that has not OpenModelica installed on raised the following error:

Code:


    pyfmi.fmi.FMUException: Error loading the binary. Could not load the DLL: libSimulationRuntimeC.so: cannot open shared object file: No such file or directory

Is it possible to produce standalone a FMU by including all required component such as libSimulationRuntimeC.so?

  Hello,

How can we set the initial values of a large number of variables with OpenModelica in order to ease  initialization? In Dymola, it is possible to load a “.mos” script file like this

    initialized(true);
    variable_a=12.34;
    variable_b=9.0;
    variable_c=77.31;

Is it possible to process such files in OMEdit? With a scripting command in OMShell?

Kind regards

  • Index
  • » Users
  • » Sylvain Girard
  • » Profile
You are here: