単一の応答曲面上を遺伝的アルゴリズムで探査するコードを書いたので、次はトレードオフ関係を持つ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桁翼を作図する方法を紹介します。
続きを読む回転数変化を模擬した周波数応答解析で次数分析するPythonコード
モータやエンジンといった回転機は構造の共振に当たらないように加振力を設計する必要があります。ここではPythonで回転数変化を模擬した周波数応答解析を行い、実験の次数トラッキング解析と比較できるシミュレーション結果を得る事を目標とします。
続きを読む振動モデルを直接法の周波数応答解析で解くPythonコード
振動シミュレーションの代表的な解法の1つに周波数応答解析があります。この解析手法は時間領域ではなく周波数領域で計算をするため、一般的に計算負荷が軽いとされ実際の設計現場で重宝されています。ここではPythonで振動モデルを周波数応答解析で解く例を紹介します。
続きを読む