ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

FreeFEMを使って、有限要素法で偏微分方程式を解く方法を

2019-10-23 09:09:25 | Weblog
聞いてきた

FreeFem++とPythonで実装する偏微分方程式ハンズオン #1 【有限要素法編】
https://liberal-arts-beginners.connpass.com/event/142760/

んだけど、難しい話のわりに、肝心なことが書いてなかったので、
メモしておかないと忘れてしまいそうなので、メモメモ




・偏微分方程式を数値的に解く方法として有限要素法がある
・有限要素法を行うフリーソフトに「FreeFEMがある
・FreeFEMを使って図を書くこともできるし
 CSVファイルに結果を書きだし、
 そのCSVファイルを読み込んでPythonで描きだすこともできる
  →今回はこちらを実行

<<有限要素法を行って図に書き出すには>>

【事前準備】
・FreeFEMのインストール
 ここ https://freefem.org/ Downloadをクリック

【手順】
・有限要素法を行うファイルの作成(拡張子.edp)
  →内容は後述

・FreeFEMを起動する
 →ファイル名を聞いてくるので、上記で作成した.edpファイルを
  指定する
 →CSVファイルができる

・CSVファイルをPython等で表示する。

【ファイルの書き方】
※講義の中で言っていた「手順」とは、このファイルの書き方らしい
 講義の手順と対応して書いている(同じこと書いてもわからないと
 思うので、書き換えている)

・手順1:境界を書き、その中を差三角形に分解する
  →境界を式で指定、 buildmeshで分割数を指定すれば、
   自動的に参画分列が所得できる。

・手順2:分解した三角形を近似する
  →fespace Vh(Th, P1);の第二引数で指定、P1は一次関数、P2は二次関数
  →基底関数という

・手順3:行列方程式を解く
  →problemで弱形式で対象を規定すれば
  あとは係数行列にして、行列方程式を解くところは
  FreeFEMがやってくれる。

※具体的なソースコードは、https://freefem.org/をスクロールすると
 でてくる(立方体が回っている横)

<<参考サイト(講義では紹介してなかったけど・・・)>>
FreeFem++の紹介
https://qiita.com/t_kemmochi/items/418bdc55e4937381711e
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Pythonで最短距離を求める | トップ | 台風の避難訓練って、してな... »
最新の画像もっと見る

Weblog」カテゴリの最新記事