適応FEMで使用される新しいデータ構造はどれですか?


9

適応FEMライブラリの多くは、たとえばなどのノード、エッジ、三角形、四面体を、追加/削除処理するために、より高度なメッシュデータ構造を使用し、p4estライブラリの使用は、解適合格子法のためのデータ構造をオクトリ。静的メッシュでの計算に使用されるオクツリーはあまりありません。

適応FEMの線形代数側で何が変わりますか?

私が考えることができる最も率直な方法は、メッシュが洗練または粗くされるときはいつでも、すべてのシステム行列を完全に再構築することです。メッシュ適応が十分に頻度の低い操作である場合、そのための費用は最終的に残りの計算に渡って償却されます。このアプローチでは、既存のスパース線形代数ソフトウェア(PETSc、Trilinosなど)を簡単に活用できます。

この鈍い方法が最も一般的に使用されていますか、それとも洗練中に古いマトリックスを再利用または変更するためのライブラリがありますか?結局のところ、メッシュと対応する行列のほとんどは、メッシュの適応中に変更されません。

回答:


6

はい、最も一般的なアプローチは再構築することです。インプレースで変更可能なデータ構造は、一度設定すると効率が低下する傾向があり、再割り当ては再構成に比べて非常に安価である(たとえば、非線形性のため)ので、これは本当に良い解決策です。解決が非常に簡単な比較的まれなニッチの外では、ソルバーで動的データ構造を使用しようとすると、アプリケーションが遅くなるだけです。ただし、パフォーマンスの測定またはモデル化を忘れた人の間では、これは一般的な認識です。


3

ジェッドがすでに言ったように、行列やベクトルなどの線形代数コンポーネントの再利用は一般的に行われていません。また、これらも必要ではありません。これらのコンポーネントの設定は、線形システムを解くコストに比べてかなり安価です。

静的メッシュから適応的にリファインされたメッシュに変化するときに変化するものを探す場合、最大の障害は、ぶら下がっているノードを処理することです。deal.II、これはによって処理さConstraintMatrixのコードのいくつかの1000行をとるクラス。このクラスが何をするかの説明のいくつかは、私自身とOliver Kayser-Herold(私の出版物のページからリンクされています)による論文で見つけることができます。他のコンポーネント(もちろん、メッシュの処理以外)は、固定メッシュから適応メッシュに移行するときにそれほど多くの適応を必要としません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.