連立方程式の解法は直接法がわかりやすいですが、巨大な方程式の場合は計算時間が問題となります。ここでは直接法に比べ高速に連立方程式を解くことができる反復法の中で、比較的ポピュラーなヤコビ法を注意点と共に説明しPythonで実装してみます。
続きを読む工学
Pythonで拡散方程式を数値計算してアニメーションを作成する
熱流体分野の基礎学習として、拡散方程式の離散化と数値計算を行います。拡散方程式も移流方程式と同様に安定性の議論が必要です。ここではPythonを使って自分の手で実装しながら学習し、理解を深めるためにシミュレーション結果をアニメーションで確認するコードも紹介します。
続きを読むPythonで1次元移流方程式を離散化して数値流体力学に入門する
数値流体力学を学習して普段のCAEへの理解を深めたいと思います。ここでは入門レベルとして1次元移流方程式の紹介、偏微分方程式の離散化からPythonによる実装までを行います。さらにシミュレーション結果は動画で確認できるようにして理解を深めます。
続きを読むPyVistaで2つのSTLサーフェス間距離を計測した事例集
3Dプロットやメッシュ解析のためのライブラリ「PyVista」を使うと簡単にSTLファイルを扱うことが可能です。STLファイルはモデリングだけでなく、比較用途にも需要があります。ここでは色々なSTLファイル2面間の距離を計測してみた例を紹介します。
続きを読むcsvの値から直列ばねマスモデルを自動生成するPythonコード
振動シミュレーションをプログラミングで行う場合、質量行列や剛性行列の記述が面倒です。しかし、ばね要素の結合と行列の重畳を理解する事で規則性を利用できます。ここではcsvに記録した質量や剛性の値を使ってPython/Numpy形式の行列生成を行う方法を紹介します。
続きを読む計算力学技術者試験1級と2級(振動)を同時に受験して合格した感想
2021年12月に初めて計算力学技術者試験を1級と2級の併願で受け、なんとか両方とも合格することができました。難しいくせにマイナーな試験であまり受けた人の情報もないため、受験経験者として学習内容や感想を記録したいと思います。Pythonを活用した勉強もしています。
続きを読む機械学習で回帰した2つの応答曲面を多目的最適化で探査してみた
単一の応答曲面上を遺伝的アルゴリズムで探査するコードを書いたので、次はトレードオフ関係を持つ2つの応答曲面間の多目的最適化に挑戦します。ここではPyTorchによる応答曲面の作成からPlatypusによる多目的最適化、結果の可視化まで全てPythonで書いた内容を紹介します。
続きを読む1つの応答曲面を遺伝的アルゴリズムで探査するPythonコード例
機械学習で応答曲面を求めた後、その曲面(学習済モデル)の最小値や最大値を探査したい場合があります。ここではPythonによる実現の例として、とりあえずPyTorchで機械学習→PlatypusのNSGA-IIで探査といった方法を試してみます。
続きを読むPythonで二項係数を理解してベジェ曲線描画コードを実装する
ベジェ曲線はコンピュータグラフィックスの分野で曲線を描く時によく使われています。描画に使う数式を理解して自分で実装する事ができれば、自動作図や画像処理の幅が広がります。ここではベジェ曲線の数式を解説しながらPythonコードを紹介します。
続きを読む積分で解くWi-FiパスワードをPython/sympyで計算する
Pythonのsympyでintegrateを使うと積分式も文字式のまま処理する事が可能です。ここでは例題としてとあるホテルのWi-Fiパスワードをsympyで解きながら使い方を確認していきます。
続きを読む