タグ付けされた質問 「adaptive-mesh-refinement」

2
2D関数を適応的にサンプリングするための簡単な方法は何ですか?
値をサンプリングしたい2次元関数あります。この関数は計算が非常に高価であり、複雑な形状を持っているため、最小数のサンプルポイントを使用して、その形状に関する最も多くの情報を取得する方法を見つける必要があります。f(x,y)f(x,y)f(x,y) これを行うにはどのような良い方法がありますか? 私が今まで持っているもの 関数値をすでに計算している既存のポイントのセットから開始します(これは、ポイントの正方格子などです)。 次に、これらのポイントのドロネー三角形分割を計算します。 ドローネ三角形分割において2つの隣接点が十分に(ある場合)と十分にそれらの関数値が異なる(> Δ F)、私はそれら挟ん新しい点を途中で挿入します。隣接する各ポイントペアに対してこれを行います。> Δ X>△バツ > \Delta X> Δ F>△f> \Delta f この方法の何が問題になっていますか? まあ、それは比較的うまく機能しますが、これと似た機能では、サンプルポイントがリッジを「飛び越える」傾向があり、そこに気づかないこともあるため、理想的ではありません。 次のような結果が生成されます(初期ポイントグリッドの解像度が十分に粗い場合)。 上記のプロットは、関数値が計算されるポイント(実際にはそれらの周りのボロノイセル)を示しています。 上記のプロットは、同じ点から生成された線形補間を示し、それをMathematicaの組み込みのサンプリング方法と比較します(ほぼ同じ開始解像度)。 それを改善するには? ここでの主な問題は、私の方法が勾配に基づいてリファインメントポイントを追加するかどうかを決定することだと思います。 改良点を追加するときは、曲率または少なくとも2次導関数を考慮することをお勧めします。 質問 ポイントの位置がまったく制約されていない場合に、2次導関数または曲率を考慮するための非常に簡単な実装方法は何ですか?(開始点の正方格子は必ずしも必要ではありません。これは理想的には一般的なものでなければなりません。) または、最適化された方法で絞り込み点の位置を計算する他の簡単な方法はありますか? これをMathematicaで実装しますが、この質問は主にメソッドに関するものです。「実装しやすい」ビットについては、私がMathematicaを使用していると見なされます(つまり、これはDelaunayの三角形分割を行うためのパッケージがあるため、これまでは簡単でした) 私はこれをどのような実用的な問題に適用していますか 相図を計算しています。複雑な形をしています。ある地域ではその値は0であり、別の地域では0と1の間です。2つの地域間で急激なジャンプがあります(不連続です)。関数がゼロより大きい領域では、滑らかな変動といくつかの不連続性の両方があります。 関数値はモンテカルロシミュレーションに基づいて計算されるため、不正確な関数値またはノイズが予期される場合があります(これは非常にまれですが、多数のポイントでは定常状態に到達しない場合などに発生しますいくつかのランダムな要因) すでにMathematica.SEでこれを尋ねましたが、まだプライベートベータ版であるため、リンクできません。ここでの質問は、実装ではなくメソッドに関するものです。 @sukiへの返信 これは、あなたが提案する分割のタイプ、つまり、三角形の中央に新しいポイントを置くことですか? ここでの私の懸念は、領域のエッジで特別な処理が必要なように見えることです。そうしないと、上記のように非常に長くて非常に細い三角形が得られます。これを修正しましたか? 更新 私が説明する方法と、三角形に基づいて細分割を行い、三角形内に細分割ポイントを配置するという@sukiの提案の両方に現れる問題は、不連続がある場合(私の問題のように)、ステップの後にドローネ三角形分割を再計算することです3つの頂点で異なる関数値を持つ三角形が変更され、おそらくいくつかの大きな三角形が表示されます。 以下に2つの例を示します。 最初の例は、真っ直ぐな不連続の周りでサンプリングしたときの最終結果を示しています。2番目は、同様のケースのサンプリングポイント分布を示しています。 これを回避する簡単な方法は何ですか?現在、私は単純に再三角形分割後に消えるそれらのエーグを細分化していますが、これはハックのように感じ、対称メッシュ(正方形グリッドなど)の場合にはいくつかの有効なDelaunay三角形分割があるため、エッジが変更される可能性があるため、注意して行う必要があります再三角測量後、ランダムに。

4
構造化グリッドアダプティブメッシュリファインメント用の汎用ライブラリはありますか?
この投稿を改善したいですか?引用や回答が正しい理由の説明など、この質問に対する詳細な回答を提供します。十分な詳細のない回答は、編集または削除できます。 アダプティブメッシュリファインメント(AMR)は、PDEの数値解法で大きく変化する空間スケールの問題に対処するための一般的な手法です。構造化グリッド上のAMRにはどのような汎用ライブラリが存在しますか?理想的には、ライブラリがアダプティブメッシュのみを処理し、物理学と離散化(有限差分/ボリューム/要素)を提供する、PETScの精神にあるものが欲しいです。 理想的なライブラリは モジュラー:コードの記述方法やデータ構造の量が多すぎる 一般:私が使用している離散化の種類は気にしません 効率的:オーバーヘッドがかかりすぎない 並列で拡張性の高い これらの基準のサブセットのみに適合するライブラリは、引き続き関心の対象となります。 補遺:Donna CalhounのAMRパッケージの広範なリストは知っていますが、上記の基準に適合するパッケージはどれか(もしあれば)わかりません。だから、私は主に、それらの用語でどのように評価するかについて、1つまたは(より良い)さらに多くのパッケージで実際の経験を持っている人々から聞くことに興味があります。

3
移動メッシュを生成する背後にある基本原則は何ですか?
移流拡散問題のための移動メッシュの実装に興味があります。アダプティブムービングメッシュメソッドは、有限差分を使用して1Dのバーガー方程式に対してこれを行う方法の良い例です。誰かが、移動するメッシュで有限差分を使用して1D移流拡散方程式を解くための実用的な例を提供できますか? たとえば、保守的な形式では、方程式は ut=(a(x)u+dux)xut=(a(x)u+dux)x u_t = (a(x)u + du_x)_x ここでは速度(空間の関数)です。初期条件u (0 、x )は、(たとえば)左から右へ(たとえば、パイプに沿って)移動するフロー種を指定できます。この場合、初期条件には急勾配があります。a(x)a(x)a(x)u(0,x)u(0,x)u(0,x) 移動メッシュの等分布問題をどのように解決する必要がありますか(おそらくDe Boorのアルゴリズムまたは他のアプローチを使用して)。これを自分でPythonで実装したいので、もしあなたの答えがすぐにコードに変換できればいいのです! バウンティ前の古い質問 システムのプロパティに基づいて適応メッシュを生成するための基本的なアプローチは何ですか?勾配が大きい場所の尺度としてフラックスを使用する必要がありますか? 反復(タイムスイープ)ソリューションを模索しているためです。古いグリッドから新しいグリッドに補間することが重要だと思いますが、通常のアプローチは何ですか? 単純な問題(移流方程式など)の有効な例を確認したいと思います。 問題の詳細についての少しの背景。私は方程式の1D結合システムをシミュレートしています、 ∂あなたは∂t= aあなたは∂2あなたは∂バツ2+ bあなたは∂あなたは∂バツ+ fあなたは(x 、u 、v 、w )∂v∂t= av∂2v∂バツ2+ bv∂v∂バツ+ fv(x 、u 、v 、w )∂w∂t= aあなたは∂あなたは∂バツ+ av∂v∂バツ+ fw(x 、u 、v 、w )∂あなたは∂t=aあなたは∂2あなたは∂バツ2+bあなたは∂あなたは∂バツ+fあなたは(バツ、あなたは、v、w)∂v∂t=av∂2v∂バツ2+bv∂v∂バツ+fv(バツ、あなたは、v、w)∂w∂t=aあなたは∂あなたは∂バツ+av∂v∂バツ+fw(バツ、あなたは、v、w) \frac{\partial u}{\partial t} = a_u\frac{\partial^2 u}{\partial x^2} + b_u\frac{\partial …


1
非構造化メッシュでのローカル適応メッシュ細分割(ローカルAMR)の戦略は何ですか?
非構造化メッシュのローカルAMRに興味があります。現在、OpenFOAMライブラリを使用しています-完全に構造化されていないローカルAMRをサポートしています。 セル絞り込み条件は、切り取られるセルのリストを決定します 選択したセルがリファインされます:メッシュ全体が再構築されます 古いメッシュから新しいメッシュにマップが作成されます 接続性が再計算されます(フェースセル、エッジフェースなど) フィールドは新しいメッシュにマッピングされます 関係するデータ構造は基本的にC ++ベクトルであるため、メッシュは膨張してコピーされます。 静的データ構造を使用するメッシュ上に構築できる代替アプローチについて学ぶ必要があります。それらの一つは、中に存在する並列オクツリーフォレストローカルAMR、あるp4estとデンドロ。 誰かが非構造化メッシュのローカル適応AMR戦略に関する最近のレビューペーパーを私に指摘できますか? 経験に基づくアドバイスはさらに優れています。どのローカルAMRエンジンが、固定データ構造ベースの非構造化メッシュに最適ですか? 論文の最初のページでツリー間の通信のバランスについて読む前に、概要が必要です。:)

1
完全に一致するレイヤーを持つ適応メッシュの改良?
摩擦断層インターフェースを使用して弾性波方程式を解くためのアダプティブメッシュリファインメント(AMR)コードがあります(興味のあるユーザー向けのChomboに基づいています)。私たちが実現したことの1つは、結果が外側の吸収境界(単純な特性境界条件として実装する)の存在によって強く影響されていることです。参考までに、現在、Colellaと共同編集者の多次元Godunov(Finite Volume)スキームを使用しています。私たちはこれらの方法に慣れていません(すでにChomboにあるので使いやすいだけです)が、時間内に適応する必要があります。 完全に一致するレイヤーや高次の境界条件など、適応型タイムステッピングを使用したAMRでより効率的な吸収境界条件の経験がある人がいるのではないかと思います。この道を下らない理由はありますか?私の限定的な検索では、これについての有用な参照や言及が文献に実際に現れていません。 編集:これは有限体積法であることを明確にしました。

1
赤(-緑)-絞り込みと最新の頂点の二等分
これら2つのメッシュリファインメントの「長所と短所」は何ですか?どちらも一般的な方法のようです。 エラー分析を容易にするいくつかの魅力的な形式的プロパティ、さらにはNVBとのローカル適応が実装しやすいように見えるため、NVBはAFEM理論で使用されている一方で、グローバルな赤の調整は比較的簡単に実装でき、マルチグリッド法の研究に魅力的であると自然に想像できます。 Red-Green-Refinementよりも。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.