Skip to content

ShipMMG/RunJModelica_PyFMI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

RunJModelica

これは、JModelicaを利用してFMUファイルを作成し、PyFMIを利用してCo-Simulationを実施するための環境構築と実行例を示すレポジトリです。

事前準備:Docker Imageの作成(省略してOK)

  • Dockerfileは作成していないが、このページに従ってImageを作成する

  • こちらで作成したImageをDockerHubのtaiga4112/jmodelica:jm0にPushしているので、以降ではこのイメージを使う前提で説明する

    • 本来は、JModelicaの登録が必要みたいなので、これはあくまでお試し用ということでご理解ください

scripts/create_fmu_from_jmodelica.pyを利用してmoファイルからFMUファイルを作成する例

前提として、scripts/mo_fileフォルダにコンパイル対象となるmoファイルを置いてある状態を想定する。ここでは、mo_fileの直下にKT_3DOF.moファイルを置いたものとする

IPython環境を利用する場合

  1. DockerHubにあるtaiga4112/jmodelica:jm0のイメージを利用して、以下のコマンドでipythonを起動する
$ docker pull taiga4112/jmodelica:jm0
$ docker run --rm --name create_fmu_from_jmodelica -it \
  -v $(pwd)/scripts:/home/jmodelica/jmodelica -w /home/jmodelica/jmodelica \
  taiga4112/jmodelica:jm0 /usr/local/jmodelica/bin/jm_ipython.sh
  1. IPython上で以下のコマンドでKT_3DOF.fmuファイルを作成する
%run create_fmu_from_jmodelica.py mo_file/KT_3DOF.mo KT_3DOF

Python環境を利用する場合

  1. DockerHubにあるtaiga4112/jmodelica:jm0のイメージを利用して、以下のコマンドでpythonを起動する
$ docker pull taiga4112/jmodelica:jm0
$ docker run --rm --name create_fmu_from_jmodelica -it \
  -v $(pwd)/scripts:/home/jmodelica/jmodelica -w /home/jmodelica/jmodelica \
  taiga4112/jmodelica:jm0 /usr/local/jmodelica/bin/jm_python.sh
  1. IPython上で以下のコマンドでKT_3DOF.fmuファイルを作成する
>>> import create_fmu_from_jmodelica as cj
>>> cj.create_fmu_from_jmodelica("mo_file/KT_3DOF.mo", "KT_3DOF")

Jupyter上でFMU作成とCo-Simulationを実行する例

  1. DockerHubにあるtaiga4112/jmodelica:jm0のイメージを利用して、以下のコマンドでJupyterを起動する
$ docker pull taiga4112/jmodelica:jm0
$ docker run -it --rm --name ktjm -p 8888:8888 \
    -u root -v $(pwd)/notebooks:/home/jmodelica/jmodelica \
    taiga4112/jmodelica:jm0 /usr/local/jmodelica/bin/jm_start.sh
  1. その後、http://localhost:8888にアクセスする

    • Access Tokenはjmodelicaです
  2. notebooksフォルダにサンプルを置いてあるので、いろいろと試してみてください

About

Ship Maneuvering Model simulation by using JModelica and PyFMI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages