振動シミュレーションをプログラミングで行う場合、質量行列や剛性行列の記述が面倒です。しかし、ばね要素の結合と行列の重畳を理解する事で規則性を利用できます。ここでは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で解きながら使い方を確認していきます。
続きを読むPlatypusで多目的最適化からパレートフロントを求める方法
多目的最適化とは、2つ以上のトレードオフ関係にある複数の目的関数を同時に最適化する方法の事です。ここではPythonライブラリであるPlatypusを使って簡単な多目的最適化を行い、パレートフロントを求めるコードを紹介します。
続きを読むPyVistaで面が閉じた立体を作ってSTL保存する1つの例
これまで当ブログではPyVistaを使ってSTLを作ってきましたが、まだ欠落面が存在する3Dモデルでした。ここでは最後の仕上げとして欠落面を閉じた完全な立体を作成、そしてSTLファイルを保存するPythonコードを紹介します。
続きを読むPyVistaで任意サーフェスメッシュを作成してSTL保存する
工学問題は複雑な形状をメッシュで分割して計算に利用する事が多々あります。この記事では形状やメッシュデータを扱う事が得意なPyVistaを使って任意サーフェスを作成し、デローニー三角形分割によりメッシュを作成します。そしてその他ソフトでの活用を目標にSTLファイルとして保存する所までを紹介します。
続きを読むPythonでNACA4桁翼の断面形状を作図する方法
NACA4桁翼とは、航空機に使われている代表的な翼型の事です。空力性能が良い翼の設計は航空機業界だけの仕事ではなく、翼の断面形状を自由に作図できるようになる事で、色々な解析が捗ります。この記事はPythonでNACA4桁翼を作図する方法を紹介します。
続きを読む