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で多自由度振動系の過渡応答計算をする時はSciPyを使おう
このブログではしばらく自前のルンゲ・クッタ法を使って振動解析を行ってきました。しかしPythonで常微分方程式の数値計算をする時はSciPyのodeintを使った方が良いです。ここでは巨人の肩に乗るつもりでSciPy/odeintで振動問題を解くための例題を紹介します。
続きを読むPythonで非線形ばねを持つ1自由度振動系の周波数応答関数を求める
振動系の運動方程式において復元力項が非線形になった時、その周波数応答関数は特徴的な形を示します。この記事では非線形ばねを有する1自由度の運動方程式を題材に、ハードニング特性やソフトニング特性の周波数応答関数をPythonで解析する方法を紹介します。
続きを読むPythonでDuffing振動子を解析してアトラクターを見る
Duffing振動子は非線形の2階常微分方程式です。この方程式をある特定のパラメータ下で解析すると特徴的な模様のアトラクターを観察できます。ここではDuffing振動子の概要と、Pythonによる計算方法を紹介し、自分の手でアトラクターを描くまでを目標とします。
続きを読む