RSSフィード:http://alpha-ralpha.com/diary/index.rdf
2018-06-08 [長年日記]
_ [物理学][数学][コンピュータ] FreeFem++
朝にゴミ出しに行ったくらいで今日はダラダラしたりスヤァってしてたりしてて今夕方。夜はやっぱりヨガくらいやろうと思ってるので、それまでにできることをやってみる。それは「あっぱれ!KANAGAWA大行進」や「ももクロChan」の録画を見たり包丁を研いだりということばかりではないだろう。というわけでFreeFem++という、偏微分方程式を解くプログラムをインストールして動かしてみた。
http://www.freefem.org/
我が家の環境がwin64ビットなので64ビット版をインストールしてみたらいろいろとライブラリが足りないというエラーが出たのであっさりあきらめて32ビット版をインストールし直した。あっさり動いた。なので、県立図書館で借りてきた『有限要素法で学ぶ現象と数理』という本に載っているコード(FeeFem++はC++に似たプログラミング言語のようなプログラムである)を書いて動かしてみましたっ!ちぃたんですっ!いやちぃたんにはキーボード打てないと思うけどね。
_ ニュートンの運動方程式が、物体の速度の時間変化と質量と力を結びつける基本法則を式で書いたものであるように、物理の問題は考える量の時間変化や位置変化を使った等式で書かれることが多いわけです。これが微分方程式で、それを解くことが問題を解くことになる訳です。
以下は針金の輪っかを作ってそこにせっけん膜を張るという2次元の問題です。せっけん膜は数ミクロンからその1/10くらいのとても薄いもので、表面張力によってシート状の形を保ってはいるけどゴムの膜ほど強い弾力がある訳ではないので、重力によってたわんでしまう訳です。ちなみに、一番薄いコンドームでも0.01mmということですからその半分より薄い訳ですね。破れやすくて危険ですけど、自重を支えるくらいの弾力を持ってはいます。そのたわみ具合は、輪っかのところではしっかり輪っかにくっついているのでゼロ、真ん中に行くほど下にたわんでいることでしょう。輪っかが真ん丸で水平に置かれているのなら、偏ることなく中心対称にたわんでいるはずなので、たわみ具合を等高線であらわせばバームクーヘンみたいな絵が描かれることでしょう。この現象を支配するのは、せっけん膜が弱くはあってもゴムのように伸ばすのには力がかかり、力を取り除くと元に戻るように縮むというフックの法則です。伸びる前の膜の上の点が伸びた後にずれる位置と、その部分にかかる力との関係を、やはり微分方程式であらわされている訳です。しかし輪っかの形が変わればせっけん膜の形が変わる訳なので、フックの法則は輪っかの形を与えないと使えません。わかっていることは、輪っかの形が変わろうと輪っかの場所ではたわみはゼロになるはずということでしょう。これが、この問題を解く場合の「境界条件」と呼ばれるものです。輪っかが丸ければ、2次元の膜を直接あつかう代わりに半径方向のことだけを考えれば、ちょうど1次元のバネとおもりの問題のように比較的簡単に解くことができるかもしれませんがその方法はいろいろな形のせっけん膜の枠に対していつも上手く行くとは思えません。一般の形に、円形に対する半径のように良い変数があるとは限らないからです。
この問題が扱っている世界を小さな要素の集まりと考えて、その局所での力や物質の移動量などのバランスが保たれるようにして同じ問題を解く方法を考えたのがクーラントという人でした。これが有限要素法ですが、単に微分を差分に置き換える方法とはちょっと考え方が違います。
_ FreeFem++では、境界の形と分割後の多角形の大きさを決めるのに境界上の分割数を与えてやれば、あとは良い感じに三角形の集まりに分割してくれる関数があります。これがbuidlmeshという関数で、ドロネー三角形分割という計算機科学では良く知られたアルゴリズムを使っています。
_ そして、"problem"という宣言の後に、解かれるべき方程式をおおむね数式に一致するような書き方で書いていき、最後に境界条件を書きます。"on(C, u=0)"というのがそれで、Cはせっけん膜の枠、u=0はその上ではたわみがゼロ、という意味ですね。ちなみにこのように、境界における値そのものを条件として与えるのはディリクレ条件と言います。これを解いてたわみ具合を等高線で示しました。枠のそばのほうが等高線が詰まっていて、真ん中辺が緩やかです。思っていたのと合ってますか?
_ 夜ヨガで汗流し、ジムで入浴してから買い物して帰宅。充実してるなあ…なんて思ってたのだが、大変なことをしでかしてしまった。一度始めたらもう止まらなくて、いけないいけないと思いながらつい一気に…
かりんとう一袋食べきってしまった。何ということだ。誰に詫びたら良いのだろう…。
きれいな図形ですね〜 <br>今日はバカンスってかんじな天気でしたね☆ <br>私は、昼間の麦酒楽しみました
でもさっき凄い雷鳴りましたね。止みましたけど。サンダー杉山!