10周年のSPコンテンツ!
1
seitekiyokkyu/性 @seitekilyx
リッツ法で一次元ポアソン方程式を解こうとしたが、汎関数を作り出す段階でいきなり積んだ。長い戦いの歴史は画像の通り pic.twitter.com/cfiSQc8Fsi
拡大
seitekiyokkyu/性 @seitekilyx
リッツ法とガラーキン法を勉強した結果、理論的に軽いのがリッツ法で、理解するとスッキリわかりやすいのがガラーキン法かな。やっぱり内積を使って誤差が重み関数と直交するという話が頭に入ってくると説明にゴリ押しな感じが無くなる
サンセット(ONE TEAM) @Sunset_Yuhi
有限要素法の計算が一瞬で出来るようになったら何が出来るかな
サンセット(ONE TEAM) @Sunset_Yuhi
マルチスケール・マルチフィジックス心臓シミュレータ UT-Heart: youtu.be/tBdFv28EEq0 @YouTube これ有限要素法だったんか。まあそれ以外に無いかもしれんけど、ヤバいね。各要素に筋繊維を割り当ててるとか意味分からん。
拡大
サンセット(ONE TEAM) @Sunset_Yuhi
有限要素法の理解のために変分法を勉強してるのだけど、変分問題にろくに触れずに解析力学を教えた先生は万死に値すると確信した
サンセット(ONE TEAM) @Sunset_Yuhi
有限要素法について。理論を学ぶには、まず変分問題の近似解法からざっと知ること。あと実践するには、まず要素分割と行列計算のツールは探した方が多分確実で、要素・節点のデータから要素方程式、全体方程式、境界条件処理までと、可視化は自力でプログラミングするのが良いんじゃないかと思う。
サンセット(ONE TEAM) @Sunset_Yuhi
まさか俺がScilabを勉強することになるとは夢にも思ってなかったぜ.数値計算用の関数群や,有限要素法とかのモジュールが充実してるし,少なくとも簡単なグラフを書きたい時は便利だ.研究に使えるかは分からんけど.
サンセット(ONE TEAM) @Sunset_Yuhi
有限要素法はまず定式化がめんどくさすぎる。定数a、未知数u、その1回微分u'、2回微分u''とかの弱形式化くらいは、公式としてメモっといた方がいいかも。加えて、1Dや2Dの1次要素を使った離散式も。でも4×2通りで8回も計算するのツラい。
サンセット(ONE TEAM) @Sunset_Yuhi
差分法はテイラー展開知ってれば、微分方程式の解法知らなくても定式化できるし、次元が変わってもそんなに困らない。有限要素法も部分的にはパターンだけど、形状関数の使い分けが面倒。しかし一番の肝はやっぱベクトル演算と微積。式が長くなるのが罪深い。
サンセット(ONE TEAM) @Sunset_Yuhi
「有限要素法分からん」に対して「ソフト買えばいいじゃん」という返事はクソリプに値すると思っている
サンセット(ONE TEAM) @Sunset_Yuhi
あー 1次元の有限要素法プログラム組みてえ〜〜〜
サンセット(ONE TEAM) @Sunset_Yuhi
Processingでの有限要素法プログラム、1次元のポアソン方程式でしょぼいけど、ついにできた(Commons Math使用)。ただ肝心の、境界条件の実装部分が理解できてない。でも関連した参考文献のアテはあるし、読めば分かるはず! pic.twitter.com/K18MLAFgO0
拡大
サンセット(ONE TEAM) @Sunset_Yuhi
1次元の有限要素法プログラム組んだけど、内容をきちんと理解して機能も拡張もするとしたら、普通に1年はかかりそうだと感じて途方に暮れている
サンセット(ONE TEAM) @Sunset_Yuhi
ひとまず、Processingで作った1次元ポアソン方程式の有限要素法プログラムを、Pythonで書き換えよう。書き換えただけじゃ研究室で発表も出来んけど。あとProcessingで、2次元ヘルムホルツ方程式の有限要素法プログラムを作りたい。定式化をまとめねば。
サンセット(ONE TEAM) @Sunset_Yuhi
Pythonで1次元の有限要素法できた。Processingよりも行数的には短く書けた。Pythonやべえぞ。 pic.twitter.com/ROfXElo1iW
拡大
サンセット(ONE TEAM) @Sunset_Yuhi
プログラムを一から組んで有限要素法やってる奴なんて聞いたこと無いもんな 解析メインの会社でも商用ソフト使ってたりするし 絶対これは自分の強みだし、活かせるもんなら活かしたい気はする 業務自体は別に解析じゃなくていいんだけど ただまあ、世間的にはやっぱ俺プログラマなんだろうなあ
サンセット(ONE TEAM) @Sunset_Yuhi
2次元ヘルムホルツ方程式の有限要素解析プログラムを組んだけど、まだ疑問点や中途半端な実装があって、間違ってる可能性も大。しかし、1次元ポアソン方程式で組んだのは4月30日だし、ちょっと時間かかりすぎか。卒業まで間に合うか分からん。とりあえずは就活だけど、時間は有効に使いたい。
サンセット(ONE TEAM) @Sunset_Yuhi
前に作った有限要素法プログラム、厳密解と比較してみたら、特殊な条件でしか解けない欠陥ば見つかった。やっぱちゃんと調べないとダメだな。
サンセット(ONE TEAM) @Sunset_Yuhi
Pythonで、if(__name__=='__main__'):やdefで宣言する関数を使って、有限要素法プログラムを作れたので、Pythonスキルはそれなりに上がっていると思いたい。あと、今までインデントを2文字にしてたけど、4文字にしたら確かに見やすくなった。ううむ。
サンセット(ONE TEAM) @Sunset_Yuhi
WindowsのPythonで有限要素法やると遅い件、CPU15%、メモリ800MBくらいしか使ってない。OS由来の原因もあるのかこれ……。計算が全く終わらないんだけど……。パーセント表示したい。
サンセット(ONE TEAM) @Sunset_Yuhi
@karayaki すみません、計算の条件が違うことが分かりました。Pythonで圧縮形式の行列を使って境界条件の処理をすると、異常に時間がかかることが分かっているのですが、境界条件の処理に大きな違いがありました。改めて同じ条件で計算しましたら、Windowsの方が早かったです
サンセット(ONE TEAM) @Sunset_Yuhi
圧縮行列を使ったPythonの有限要素法プログラム、境界条件処理とかが異様に遅いので、問題箇所の処理経過を%表示してみた。行列が大きいほど、for文の中ではなくfor文の直前で異常なタイムラグが発生する。何してんのこれ? せめて%表示させて? pic.twitter.com/001vf2NQ6x
拡大
サンセット(ONE TEAM) @Sunset_Yuhi
光導波路を有限要素法で解析(1万節点、2万要素、180秒)。TM(電場)・TE(磁場)偏光のHelmholtz方程式から求めた、Ax=λBxという一般化固有値問題を解く。kはカットオフ波数で、理論値と比較したけど、まだ分割数が足らないぽかった。 #Python #SciPy pic.twitter.com/VQAciugmUw
拡大
拡大
サンセット(ONE TEAM) @Sunset_Yuhi
今日知った有限要素法の衝撃的事実。Youtubeで英語の解説動画を検索すると、フックの法則「ku=f」ではなく、運動方程式「mu''=f」で解く人が多い。日本の書籍は大抵フックの法則から説明するけど、でも運動方程式は微分方程式だし、弱形式化の過程があるので、そっちの方がそれっぽい
残りを読む(455)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする