有限要素法で格子分割 for Python
有限要素法の勉強中。3日目。 これまで研究で有限要素法(FEM)や有限体積法(FVM)をやってきた。しかし、それらは汎用コードの恩恵を受けて、GUI上で操作するだけであった。しかし、エンジニアたるもの自分でコーディングしなければという趣味的な衝動を受け、実装を試みている。
有限要素法の基本
- GEOMETRY: 領域設定
- MESHER: 格子生成
- BC: 境界条件・初期条件の設定
- SOLVE: 解析
- POST PROSSECE: 結果の表示
格子生成
まず初めにつまづいたのが、格子生成である。これが出来なければなにもはじまらない。
格子(メッシュ)というのは、解析する形状を細かい領域に分割することである。格子には(二次元では)三角形や四角形が主に使われる。物理シミュレーションの分野以外にも、3Dのイメージ等で使われる。
ドロネー線図を使っての、格子分割が重要なようだ。
「計算幾何講義」 http://www.kanenko.com/~kanenko/KOUGI/CompGeo/cpgeoc.pdf
実装してみる
有限要素法では、要素(エレメント)とそれを形成する節点(ポイント)が必要である。自動格子分割では、要素と節点の管理をどうするかがキモである。とりあえず四角要素で格子分割してみた。
https://gist.github.com/peace098beat/d4738a60e9c9e2e63c23
とりあえず、四角形要素に対して、各要素を保持しながら四角形を作ることができた。コーディング初心者の僕では難しかった。
次回は、この四角系を三角要素に分割したい。分割では要素の削除・追加等の更新作業が必要になるのでまたややこしくなりそう。
参考
「基本的な有限要素法」 http://hplgit.github.io/INF5620/doc/notes/fem-sphinx/main_fem.html 1ページだが、非常にたくさんの資料が詰め込まれている。 「人工環境設計解析工学 メッシュ生成と アダプティブリメッシング」 http://www.nasl.t.u-tokyo.ac.jp/katsu/lectures/ee-analysis/adaptive.pdf 「2次元の階層メッシュを用いた高速なアダプティブ解析」 http://mps.q.t.u-tokyo.ac.jp/~muro/ResearchAreas5_J.htm
理論と実務がつながる 実践有限要素法シミュレーション―汎用コードで正しい結果を得るための実践的知識
- 作者: 泉聡志,酒井信介
- 出版社/メーカー: 森北出版
- 発売日: 2010/09/18
- メディア: 単行本(ソフトカバー)
- クリック: 10回
- この商品を含むブログを見る
<解析塾秘伝>有限要素法のつくり方! -FEMプログラミングの手順とノウハウ-
- 作者: 石川博幸,青木伸輔,日比学,NPO法人CAE懇話会解析塾テキスト編集グループ
- 出版社/メーカー: 日刊工業新聞社
- 発売日: 2014/06/24
- メディア: 単行本
- この商品を含むブログ (1件) を見る
【Amazon.co.jp限定 】 ASUS ゲーミングモニター 23型フルHDディスプレイ (応答速度1ms / HDMI×2,D-sub×1 / スピーカー内蔵 / 3年保証) VX238H-P
- 出版社/メーカー: Asustek
- 発売日: 2014/05/28
- メディア: Personal Computers
- この商品を含むブログを見る
- 作者: 裕時悠示
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/11/17
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: 丸戸史明,深崎暮人
- 出版社/メーカー: KADOKAWA
- 発売日: 2016/11/19
- メディア: 文庫
- この商品を含むブログ (2件) を見る
- 作者: 近江のこ
- 出版社/メーカー: 小学館
- 発売日: 2016/11/18
- メディア: Kindle版
- この商品を含むブログを見る