ここ3週間ほど、SPH の図書や文献を読み返し、コードを触っていました。
昨年度、複数の対策を試みたものの改善できなかったコード。しばらく眠らせていたのですが、以下の図書が2月に発売され、仕事の落ち着いた先月に読み始めたことをきっかけに、調査を再開しました。
浅井光輝「明解 粒子法」
クールダウンの効果なのか、あっさり原因が見えてきました。文献を探して解決案も見つけました。
この解決策で利用されていたのが、基準配置と現在配置。連続体力学の基礎でしたね。これは先の図書でも記載されていました。
物理量 | 物質表示 (ラグランジュ表示) |
空間表示 (オイラー表示) |
空間表示 ←物質表示 |
備考 |
ベクトル | dX | dx | dx=FdX | F:変形勾配テンソル |
応力 (テンソル) |
S (第2PK) |
σ (コーシー) |
σ=J-1FSFT | J:ヤコビアン(体積変化)=det(F) |
ひずみ (テンソル) |
E (グリーン) |
e (アルマンジ) |
e=F-TEF-1 |
この図書、粒子法だけでなく、他の手法も比較として概要が記載されています。思いがけず、良い復習になりました。
解決案は見つけたものの、コーディングが面倒。さらに、私の腕では GPU に乗せても実用的な時間に解けるようにまで持っていけません。また寝かせようかと後ろ向きになっているところです。
*****************************
20220515
文献の補正方法を実装するのは意外と容易で、1日で終わりました。が、結果は少し良くなっただけでした。残念。
20240518
コードのバグは全く別のところにありました。符号を整理して式の実装を見直すことで修正が完了しました。
https://phreeqc.blogspot.com/2024/05/sph.html
0 件のコメント:
コメントを投稿