Memo ≫ FreeFem++

Memo FreeFem++

Contents

導入

FreeFem++とは

FreeFem++は有限要素法(Finite Element Method)を用いて偏微分方程式を解くことができるソフトウェア。基本的にC++で書かれているが少し違う部分もある。
Ref.
[1] Freefem++ Home Page
[2] Hecht, F. New development in FreeFem++. J. Numer. Math. 20 (2012), no. 3-4, 251-265. 65Y15
[3] 連続体力学の数理 FreeFem++

FreeFem++のパッケージ

公式ページよりダウンロード可能。 Ubintuの場合、パッケージマネージャなどからもインストール可能。
FreeFem++のアプリケーションやターミナルから実行できる。
> FreeFem++ hogehoge.edp
また、下記のemacsのFreeFem++ modeを使えば、いちいちターミナルから実行する必要が無くなる。

emacsのFreeFem++ mode

Ref. [GitHub - rrgalvan/freefem-mode: FreeFem++ Emacs Mode]
READMEとfreefem++-mode.elはこちらから。
freefem++-mode.elを適切な場所へ置く(他のelファイルがあるところを探せば良い)。 freefem++-modeが起動すると、わかりやすく色が付きます。また、C-c C-cで編集中のプログラムを走らせることが出来ます。 .emacsに
(autoload 'freefem++-mode "freefem++-mode"
"Major mode for editing FreeFem++ code." t)
(add-to-list 'auto-mode-alist '("\\.edp$" . freefem++-mode))
(add-to-list 'auto-mode-alist '("\\.idp$" . freefem++-mode))
(setq freefempp-program "FreeFem++-nw")
を書き加える。
Back to Top

macro

よりシンプルなプログラムを書くために「macro」が使える。 長くて複雑な式もパーツ毎にmacroで定義することによって、シンプルな見た目に。 「macro」で宣言し、「//」までが定義文となる。
macro u [u1,u2] //
macro v [v1,v2] //
と、(u1,u2)の要素を持った配列「u」と (v1,v2)の要素を持った配列「v」を定義しておくと、 「u1*v1+u2*v2」と書きたいところでは「u'*v」と書けば良い。
Back to Top

Memo FreeFem++