« スポーツウェアに菌を塗布して、汗をかくと涼しくなるって!(MITの研究) | トップページ | J.L.Lions研究所のフリーの有限要素法ソフトFreeFem++を使ってみる(その2、Windows10では拡張子edpにすると楽) »

2017年5月24日 (水)

J.L.Lions研究所のフリーの有限要素法ソフトFreeFem++を使ってみる(その1、Windows10にインストール)

先日、本屋さんでこの「有限要素法で学ぶ現象と数理 FreeFem++数理思考プログラミング」という本を見た。
中をパラパラ見ると、非線形偏微分方程式(反応拡散方程式)を有限要素法で計算している!実は私の学生時代は、こういう計算・シミュレーションばっかりやっていたのだ。
でも使ったのはほとんど差分法。
会社で使っているシミュレーションソフトは大抵どんな分野も有限要素法。
前からTDGL方程式とか、あのあたり有限要素法で計算したらどうなるんだろうな、と思っていたのだ。
久しぶりに計算ものの記事を(不定期で)書いていきます。
まずはインストールから。MacとWindowsのどっちにしようか、と思ったけどMacの文献は多そうなんでWindows10にインストールしてみよう。
リンクはこちらから。
このダウンロードで、Windows向けプレコンパイル済み実行ファイル(64ビット)を落としてくる。
インストールは普通にするだけで出来る。
で、見ると、、、
Freefem001
こんなアイコンができた。
でも、これをクリックしてもエラー?
なんで?
と思ったら、、、
Warning: if you launch freefem++ without filename script by double clip, your get a error due (it is bug of usage GetOpenFileName in win64 )
と書いてあった。。。
ここから実行するわけじゃないのか。
まずはよくわからんので、マニュアルに載っていた最初の例のラプラス方程式
Δu=x*y, (u=0 at 単位円上)を計算しよう。
とりあえずメモ帳でテキストファイルをこんな感じで作って、
border C(t=0,2*pi){x=cos(t); y=sin(t);}
mesh Th=buildmesh (C(50));
fespace Vh(Th,P1);
Vh u,v;
func f=x*y;
problem Poisson(u,v) =
    int2d(Th)(dx(u)*dx(v)+dy(u)*dy(v))
     -int2d(Th)(f*v)
     +on(C,u=0);
Poisson;
plot(u);
これをtest.txtとでも保存して、
コマンドプロンプトを立ち上げる。
もうパスはインストールしたときに通っている。
で、適当なフォルダ内で
launchff++ test.txt
を実行する。
結果がこちら。。。
Freefem002
おお、一瞬で計算できた。
でもちょっとテキストファイル作ってコマンドライン実行するのがめんどくさいなあ、と思ったらやっぱり私がいろいろ間違っていた。もっと楽な方法がありました(続く)。

« スポーツウェアに菌を塗布して、汗をかくと涼しくなるって!(MITの研究) | トップページ | J.L.Lions研究所のフリーの有限要素法ソフトFreeFem++を使ってみる(その2、Windows10では拡張子edpにすると楽) »

学問・資格」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« スポーツウェアに菌を塗布して、汗をかくと涼しくなるって!(MITの研究) | トップページ | J.L.Lions研究所のフリーの有限要素法ソフトFreeFem++を使ってみる(その2、Windows10では拡張子edpにすると楽) »

最近の記事

最近のコメント

2025年1月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
フォト
無料ブログはココログ