Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save finback-at/9d77965f5a7aa833e7c79492e1369713 to your computer and use it in GitHub Desktop.
Save finback-at/9d77965f5a7aa833e7c79492e1369713 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### GenerationOfFMUs (2) - with_linear_correction\n",
"[CO-SIMULATION USING THE OPEN-SOURCE PYTHON PACKAGE PYFMI](https://www.modelon.com/co-simulation-using-the-open-source-python-package-pyfmi/) の最後の方に記述された linear_correction = True にしたシミュレーションを試みます。\n",
"\n",
"サブシステムモデルをコンパイルしてFMUを生成します。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from pymodelica import compile_fmu\n",
"fmu1 = compile_fmu('Modelica.Mechanics.Rotational.Examples.Utilities.DirectInertia',target='cs', version='2.0', compile_to='DirectInertia.fmu')\n",
"fmu2 = compile_fmu('Modelica.Mechanics.Rotational.Examples.Utilities.InverseInertia',target='cs',version='2.0', compile_to='InverseInertia.fmu')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"サブシステムモデルをロードします。"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from pyfmi import load_fmu\n",
"directInertia = load_fmu(\"DirectInertia.fmu\")\n",
"inverseInertia = load_fmu(\"InverseInertia.fmu\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"パラメータを設定します。"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"directInertia.set(\"J\", 1.1)\n",
"inverseInertia.set(\"J\", 2.2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"サブシステムモデルのリストと接続関係のリストを作成します。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"models = [directInertia, inverseInertia]\n",
"connections = [\n",
" (directInertia, \"phi\", inverseInertia, \"phi\"),\n",
" (directInertia, \"w\", inverseInertia, \"w\"),\n",
" (directInertia, \"a\", inverseInertia, \"a\"),\n",
" (inverseInertia, \"tau\", directInertia, \"tau\")]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Co-Simulationモデルを作成します。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python2.7/dist-packages/ipykernel_launcher.py:2: UserWarning: The model, DirectInertia, does not support directional derivatives which is necessary in-case of an algebraic loop. The simulation might become unstable...\n",
" \n",
"/usr/local/lib/python2.7/dist-packages/ipykernel_launcher.py:2: UserWarning: The model, InverseInertia, does not support directional derivatives which is necessary in-case of an algebraic loop. The simulation might become unstable...\n",
" \n"
]
}
],
"source": [
"from pyfmi.master import Master\n",
"coupled_simulation = Master(models, connections)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"directional derivatives を計算する機能がサポートされていないというワーニングが出ています。この機能はモデルどうしの接続で代数ループがある場合は必要になるようです。\n",
"\n",
"オプションを設定します。コミュニケーションステップサイズを設定し、linear_correction を False にします。"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"opts = coupled_simulation.simulate_options()\n",
"opts[\"step_size\"] = 0.01\n",
"opts[\"linear_correction\"] = True"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"directInertia モデルの入力信号用オブジェクトを生成します。"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"f = lambda time: 10*np.sin(2*np.pi*2*time)\n",
"input_object = ((directInertia, \"tauDrive\"), f)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Co-Simulation を実行します。"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python2.7/dist-packages/ipykernel_launcher.py:1: UserWarning: Linear correction only supported if directional derivatives are available.\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Elapsed initialization time: 0.00193905830383 seconds.\n",
"Master Algorithm options:\n",
" Algorithm : Jacobi (fixed-step)\n",
" Execution : Serial\n",
" Extrapolation Order : 0\n",
" Step-size : 0.01\n",
" Algebraic loop : True\n",
" Linear Correction : False\n",
"\n",
"Statistics: \n",
" Number of global steps : 100\n",
"\n",
"Simulation interval : 0.0 - 1.0 seconds.\n",
"Elapsed simulation time : 0.0547690391541 seconds.\n",
" 0.002795 seconds spent in DirectInertia.\n",
" 0.000860 seconds spent in InverseInertia.\n",
" 0.042885 seconds spent saving simulation result.\n"
]
}
],
"source": [
"res = coupled_simulation.simulate(options=opts, input=input_object)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"linear correction は、directional derivative が計算できる場合のみサポートされるという旨のワーニングがでます。\n",
"シミュレーション結果を抽出してプロットします。"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"inverseInertia_time = res[inverseInertia][\"time\"]\n",
"inverseInertia_phi = res[inverseInertia][\"inertia.flange_b.phi\"]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f728c326850>]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f728c3b8990>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"plt.figure(1)\n",
"plt.plot(inverseInertia_time, inverseInertia_phi)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"結局、linear_correction が有効になりませんでした。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.17"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment