工学

Python/SciPyで積分(1重/2重)した結果を可視化する方法

Pythonのscipy.integrate.quadやscipy.integrate.dblquadを使えば簡単に数値積分ができますが、当然結果はシンプルに積分値が返ってくるだけです。ここでは他者へ説明する目的で基本的な1重積分をはじめ、2重積分までのmatplotlibによる可視化方法を紹介します。

続きを読む

Pythonでルジャンドル多項式を使ってガウス積分をする方法

数値解析の分野ではガウス積分という求積手法がよく用いられます。ガウス積分はルジャンドル多項式を使って積分点と重みを算出しますが、初学者はまずこれらの概念を理解するのが難しいです。この記事では簡単な関数を題材にガウス積分を計算する方法をPythonコードと共に紹介します。

続きを読む

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

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

続きを読む

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

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

続きを読む

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

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

続きを読む

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

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

続きを読む

計算力学技術者試験の熱流体2級に合格するのに必要な勉強量

2022年12月に計算力学技術者の熱流体分野2級を受けて合格することができました。難しいけどマイナーなのでネットから手に入る情報が少ないです。技術ブログとして内容を記録するとともに、これから受験する人の参考に熱流体2級へ合格するまでに行った勉強量を紹介します。

続きを読む

PythonでDuffing振動子を解析してアトラクターを見る

Duffing振動子は非線形の2階常微分方程式です。この方程式をある特定のパラメータ下で解析すると特徴的な模様のアトラクターを観察できます。ここではDuffing振動子の概要と、Pythonによる計算方法を紹介し、自分の手でアトラクターを描くまでを目標とします。

続きを読む