シミュレーション

Python/SymPy:ラグランジュ法による運動方程式の自動導出

 運動方程式を手計算で構築するのは大変です。自動的に式を導出することができれば、複雑なモデルでも手計算で間違う可能性が減ります。ここではsympy.physics.mechanicsでラグランジュ法を使った運動方程式の自動導出方法とシミュレーション方法を紹介します。

続きを読む

Pythonでジェフコットローターの2面アンバランス振動を計算する

 回転機の振動問題はアンバランスの修正を目的に検討される場合が多いですが、振動を毎回実験で評価するのは時間がかかって大変です。ここでは実機がなくても簡単に回転機の振動検討ができるよう、Jeffcott Rotorの問題をPythonで解析してみます。アンバランスでよく検討される2面のモデルに対応しているので、是非参考にしてください。

続きを読む

Pythonで基礎から学ぶ1次元梁モデルの有限要素法

有限要素法は一般的に商用ソフトやオープンソースのライブラリを活用して「使う」ことが多いものですが、理解するためには自分でプログラミングするのが一番です。ここでは手計算でもできるレベルの問題をPythonによる有限要素法コードで解くことで、計算の流れを把握することを目指します。

続きを読む

WindowsのWSL2でPython3/GetFEMを使ってみた

計算力学技術者試験の勉強のため、Pythonで使える有限要素法ライブラリGetFEMを使ってみました。GetFEMは通常Linux環境が必要ですが、WindowsでもWSLを使えばLinux環境を手にいれることができます。ここではWindows機でGetFEMを使う時のメモを紹介します。

続きを読む

回転機の振動シミュレーションで回転パルスを設定してみた

先日の記事で回転機のアンバランス振動シミュレーションをPythonで行いました。振れ回り振動と参考書の対応がとれたので、次はより詳細な分析を行うために回転パルス(基準信号)をシミュレーションで設定してみます。ここではPythonのodeintで基準パルスを設定しながらアンバランス振動のシミュレーションを行う方法を紹介します。

続きを読む

回転機のアンバランス振動をシミュレートするPythonコード

工業製品である回転機はアンバランスを修正することで精密な回転を実現しています。しかし、アンバランスを真に0にすることは難しく、不釣り合い振動の影響をシミュレーションすることは重要です。ここではPythonのscipy.odeintを使ってアンバランス振動を解析する方法を紹介します。

続きを読む

Pythonで2次元移流方程式を数値計算する方法

1次元移流方程式で基礎を学んだ後は2次元移流方程式を学びます。ここでは2次元移流方程式の差分化手法の例とPythonコードによるアニメーション作成までを行います。2次元の初期場を作る方法、漸化式の更新方法、結果のプロット方法について考えてみた結果を紹介します。

続きを読む