タグ付けされた質問 「finite-element」

常微分および偏微分方程式を解く手段。問題のドメインは要素に分割され、各要素のソリューションは関数のベースで拡張されます。有限要素法は、適応的改良、不規則な形状、優れた誤差推定に適しています。

3
多様体上の有限要素
たとえば、球体上の楕円方程式など、多様体上のPDEを解きたいです。 どこから始めますか?私は2dで既存のコード/ライブラリを使用しているものを見つけたいのですが、(今のところ)それほど空想的ではありません 後で追加:記事とレポートを歓迎します。

3
並列有限要素計算でメッシュを管理するための最良の方法論?
現在、散乱の問題を解決するためのドメイン分解法を開発しています。基本的に、ヘルムホルツBVPのシステムを反復的に解いています。三角形または四面体メッシュ上の有限要素法を使用して方程式を離散化します。私は博士論文に向けてコードを開発しています。deal.iiやDUNEなど、既存の有限要素ライブラリのいくつかを知っています。インスピレーションに満ちたデザインとAPIを備えたすばらしいものだと思いますが、学習目的で、自分の小さなアプリケーションをゼロから開発したいと考えました。 私はシリアルバージョンを実行している時点で、それらを並列化したいと思っています。結局のところ、少なくとも原則として並列化が容易なアルゴリズムを策定することは、ドメイン分解フレームワークの強みの1つです。しかし実際には、考慮しなければならない多くの詳細があります。メッシュ管理もその1つです。アプリケーションが多くのCPUに適切にスケーリングしながら高解像度を実現する場合、すべてのCPUでのメッシュ全体の複製は非効率的です。 高性能コンピューティング環境で同様のアプリケーションに取り組んでいる開発者に、この問題への対処方法を尋ねたいと思いました。 分散メッシュ管理用のp4estライブラリがあります。私はAMRを必要としないので、均一なメッシュの使用にのみ関心があり、三角形メッシュを洗練できるかどうかはわかりません。また、単純に均一なメッシュを作成し、それをメッシュパーティショナーの1つに供給して、出力の後処理を行うこともできます。 最も単純なアプローチは、特定のパーティションのみに関連するメッシュ情報を含むパーティションごとに個別のファイルを作成するようです。このファイルは、メッシュのその部分で個別のシステムを組み立てる単一のCPUによって読み取られます。もちろん、プロセス間通信のために、一部のグローバルパーティションの接続性/近隣情報も、すべてのCPUが読み取るファイルに保存する必要があります。 他にどのようなアプローチがありますか?皆さんが共有できる場合、業界で一般的に使用されている方法論や、この問題の処理に関連する政府研究機関は何ですか?並列有限要素ソルバーをプログラミングするのは初めてで、この問題について正しく考えているかどうか、他の人がどのように近づいているのかを知りたいと思いました。関連する研究記事へのアドバイスやポインタは大歓迎です! 前もって感謝します!

3
ポアソン方程式:ラグランジュ乗数による境界条件として完全勾配を課す
私は、2次元のポアソン方程式によって支配物理的な問題を有していて 私は2つの勾配成分の測定値を有する ∂ U / ∂ X及び ∂ U / ∂ Y境界の一部に沿って、 ΓのMよう課すしたい、 ∂ uと−∇2u=f(x,y),inΩ−∇2u=f(x,y),inΩ -\nabla^2 u = f(x,y), \; in \; \Omega ∂u/∂x∂u/∂x\partial{u}/\partial{x}∂u/∂y∂u/∂y\partial{u}/\partial{y}ΓmΓm\Gamma_m あり、遠方界に伝播します。∂u∂xi0=gm,onΓm∂u∂xi0=gm,onΓm \frac{\partial{u}}{\partial{x_i}}_0 = g_m, \; on \; \Gamma_m 接線方向の傾き成分、、私は統合することができ、次いで、ディリクレ条件を介して強制よう ∫ΓM∂U∂あなたは∂バツ(t 、0 )∂u∂x(t,0)\frac{\partial{u}}{\partial{x}}_{(t,0)} 同時に法線成分を課すために、 ∂ U∫Γm∂あなたは∂バツ(t 、0 )ds = u0∫Γm∂u∂x(t,0)ds=u0 \int_{\Gamma_m}\frac{\partial{u}}{\partial{x}}_{(t,0)} \, ds = u_0 、私はラグランジュ乗数を経由する必要があります集まりました。∂あなたは∂バツ(n 、0 …

2
FEM:剛性マトリックスの特異点
私は微分方程式を解いています 初期条件、。ここで、はパラメーターです。演算子形式では、微分方程式をとして書き換えることができます。ここで、演算子は正定値です。(σ2(x)u′′(x))′′=f(x),0⩽x⩽1(σ2(x)u″(x))″=f(x),0⩽x⩽1 \left( \sigma^{2}(x) u ''(x) \right)'' = f(x), \;\;\; 0 \leqslant x \leqslant 1 u(0)=u(1)=0u(0)=u(1)=0u(0) = u(1) = 0u′′(0)=u′′(1)=0u″(0)=u″(1)=0u''(0) = u''(1) = 0σ(x)⩾σ0>0σ(x)⩾σ0>0\sigma(x) \geqslant \sigma_{0} > 0Au=fAu=fAu = fAAA FEMスキームに従って、問題を最適化問題に縮小します v_ {として 有限要素h_ {k}(x)を導入しますk}(x)= \ left \ {\ begin {array} {rl} 1-\ left(\ frac {x-x_ {k}} {h} \ right)^ …

1
非線形反応項を持つ拡散方程式の可能な数値スキームは何ですか?
いくつかの単純な凸型ドメインのための 2Dで、我々はいくつか持っているU (X ):下記式を満足 - D IのVを(A ∇ U )+ C U N = F 特定ディリクレおよび/またはノイマン境界条件を有します。私の知る限り、有限要素空間でニュートンの方法を適用することは、この方程式を数値的に解くための比較的簡単な方法でしょう。ΩΩ\Omegau (x )u(x)u(x)- D I V(A ∇ U )+ C Un= f−div(A∇u)+cun=f -\mathrm{div}(A\nabla u)+cu^n = f 私の質問は次のとおりです。(1)ディリクレ境界条件をゼロと仮定して、この方程式の対応する変分定式化の適切性に関するソボレフ理論はありますか?もしそうなら、どのようなバナッハのスペースを考慮すべきでしょうか?(2)このタイプの方程式の可能な数値的アプローチは何ですか?

1
FEMで集中質量行列を作成する方法
有限要素法、たとえば熱方程式を使用して時間依存のPDEを解く場合、明示的な時間ステップを使用すると、質量行列のために線形システムを解かなければなりません。たとえば、熱方程式の例に固執すると、 ∂u∂t=c∇2u∂u∂t=c∇2u\frac{\partial{u}}{\partial{t}} = c\nabla{}^{2}u 次に、フォワードオイラーを使用して M(un+1−undt)=−cKunM(un+1−undt)=−cKunM(\frac{u^{n+1}-u^{n}}{dt}) = -cKu^{n} したがって、明示的な時間ステップ方式を使用している場合でも、線形システムを解く必要があります。明示的なスキームを使用する主な利点は線形システムを解く必要がないことなので、これは明らかに大きな問題です。この問題を回避する一般的な方法は、通常の(一貫性のある)質量行列を対角行列に変換し、逆変換を簡単にする「集中」質量行列を使用することです。グーグル検索を行ったとき、この集中質量行列がどのように作成されるかはまだ完全にはわかりません。たとえば、彼の論文、ADVECTION-DEFUSION EQUATIONの質量ランピングに関する数値実験Edson Wendland HarryとEdmar Schulzにより、対角線上にすべての係数を単純に合計することにより、集中質量行列を作成します。したがって、たとえば、元の一貫した質量行列が次の場合、 ⎛⎝⎜⎜⎜4212242112422124⎞⎠⎟⎟⎟(4212242112422124)\begin{pmatrix} 4 & 2 & 1 & 2 \\ 2 & 4 & 2 & 1 \\ 1 & 2 & 4 & 2 \\ 2 & 1 & 2 & 4\end{pmatrix} 集中質量行列は次のようになります。 ⎛⎝⎜⎜⎜9000090000900009⎞⎠⎟⎟⎟(9000090000900009)\begin{pmatrix} 9 & 0 …

1
DGローカル方程式、平均平均テスト関数の解釈方法
論文http://www.sciencedirect.com/science/article/pii/S0045782509003521で、HDG要素ローカル方程式は584ページの方程式(4)で説明されており、次の形式を取る方程式の1つが含まれます。 − (uh、∇ Q)K= - ⟨ U^h⋅ N 、Q− q¯⟩∂K−(uh,∇q)K=−⟨u^h⋅n,q−q¯⟩∂K-(u_h,\nabla q)_K = -\left\langle\hat{u}_h \cdot n, q - \bar{q}\right\rangle_{\partial K} これは、連続式に変近似であるスカラー値テスト機能で、qは理にかなった空間インチ∇ ⋅ U = 0∇⋅u=0\nabla \cdot u = 0qqq 紙定義。q¯=1|∂K|∫∂Kqq¯=1|∂K|∫∂Kq\bar{q} = \frac{1}{|\partial K|} \int_{\partial K} q これは有限要素の意味でどのように解釈されますか?私の理解から、我々乗算両側テスト機能により、、その後は満たすソリューションのすべての可能な選択肢のための方程式を見つけるしようとqと。この方法でテストスペースを変更するにはどうすればよいですか?qqqqqq 論文はまた、これはアイデンティティ施行する必要があると述べて 私はこの声明に同意しますが、どのようにテスト機能かもしれませんQ - ˉ qはコードで実装できますか?要素の局所線形システムを組み立てるとき、要素の基底関数を取り、それらの平均を差し引く必要がありますか?⟨u^h⋅n,q−q¯⟩∂K=0⟨u^h⋅n,q−q¯⟩∂K=0\left\langle\hat{u}_h\cdot n, q - \bar{q}\right\rangle_{\partial K} = 0q−q¯q−q¯q - \bar{q}

4
非常に小さなドメインを持つ生物学的に正確なモデルで適切なメッシュを作成する方法
私は、さまざまな生理学的プロセスが発生する、組織層の生物学的に正確な2D空間モデルを作成しようとしています。これには主に、化学反応、拡散、境界を超えるフラックスが含まれます。 私はこのモデルをCOMSOL Multiphysicsで作成しています。これは、反応拡散システムなどのさまざまな物理学を解く有限要素ソフトウェアパッケージですが、私の質問にはこれはあまり関係がないかもしれません。 私の形状では、組織層の細胞の間に本当に小さな領域があります。これらの領域は、セル(接合部)間で拡散が行われる開口部として機能します。ここではメッシュの品質はあまり良くありません。品質を向上させたい場合(主に要素を追加するなど)、シミュレーション時間が大幅に増加します。メッシュの品質が低いほど、収束に時間がかかります。アイデアを与えるために、ジオメトリの画像を追加しました。要素の品質と要素の数が16000〜50000の範囲で、さまざまなメッシュを試しました。 FEMの私のバックグラウンドは本当に限られており、この問題に次のような方法で取り組むことができるかどうか知りたいと思いました。 生物学に悪影響を及ぼさない(組織ドメインのサイズ/問題などを可能な限り生物学的に正確に保つ) シミュレーション時間を大幅に増やしませんが、 より良いメッシュ品質を与えます。私はすでにいくつかのことを考えているので、私は本当に行くための最良の方法が何であるかを知りたいです。 したがって、より品質の低いメッシュ(それほど悪くはないが、どちらでもない)を使用して、生物学的精度を最適化するために小さな領域を維持し、計算時間を比較的短くすることができます(そして、収束エラー)。しかし、おそらく私が見落としている可能性があるかもしれません。たとえば、小さなドメインを大きくして、拡散率に何らかの要因を追加することは可能ですか。つまり、ドメインを2倍の大きさにしたい場合、拡散率を半分に因数分解しますか?それは化学/物理法則でも正確ですか? うまくいけば、私は問題を少し明確にし、助けてくれて本当にありがとうございました。 乾杯、

2
有限要素エラー推定
ノルム(つまり、)で誤差推定を提供する有限要素法の設定はありますか?それらを実装するために使用できる要素のファミリはどれですか? ‖ U ' H - U ' ‖ ∞W1 、∞W1,∞W^{1,\infty}∥u′h−u′∥∞‖uh′−u′‖∞\|u'_h - u'\|_\infty (ほとんど興味がなかったMathOverflowからクロスポストされましたが、おそらくここにFEMのバックグラウンドを持つ人々をもっと見つけることができます。)

2
なぜ有限要素の形状が重要なのですか?
私はFEAをここ数年使用していますが、それを使用することと正しく使用することは2つの異なるものであり、安全率はすべてに対する解決策ではありません。その質問に明確な答えがない限り、私はそれを正しく使用しないだろうと感じています。 正確な結果を得るためには、要素がそれらの理想的な形状(ヤコビアンのみに基づいているか?)に近い必要があることを認識しています。しかし、なぜですか?私はそれが座標変換から来ることを理解しているので、要素の2つのベクトルが同一線上にならない限り、その形状に関係なく結果は正確ではありませんか? 図解された例(任意の応力分布)に基づく段階的な答えは、特に比較的一般的な質問であることを考えると理想的です(しかし、私が見たものからはよく答えられません)。

1
参照正方形上のラビアートトーマス要素
Raviart-Thomas(RT)要素がどのように機能するかを知りたいのですが。そのために、基底関数が参照正方形上でどのように見えるかを分析的に説明したいと思います。ここでの目標は、それを自分で実装することではなく、単に要素を直感的に理解することです。 私は、この作業をここで説明した三角形要素に主に基づいています。おそらく、四角形に拡張すること自体が誤りです。 つまり、最初のRK要素RK0の基底関数を定義できます。 ϕi(x)=a+bx=(a1+b1xa2+b2y)ϕi(x)=a+bx=(a1+b1xa2+b2y)\mathbf{\phi}_i(\mathbf{x}) = \mathbf{a} + \mathbf{b}\mathbf{x} = \begin{pmatrix} a_1 + b_1 x\\a_2 + b_2 y\end{pmatrix} fori=1,…,4.i=1,…,4.i = 1,\dots,4. の条件は次のとおりです。ϕiϕi\mathbf{\phi}_i ϕi(xj)⋅nj=δijϕi(xj)⋅nj=δij\mathbf{\phi}_i(\mathbf{x}_j)\cdot\mathbf{n}_j = \delta_{ij} ここで、は以下に示す単位法線で、はその座標です。njnj\mathbf{n}_jxjxj\mathbf{x}_j これは参照二乗なので、各基底関数の方程式系になります。ためこれは、次のとおりです。[ - 1 、1 ] × [ 1 、1 ][−1、1]×[1、1][-1,1]\times[1,1]φ1φ1\mathbf{\phi}_1 ⎛⎝⎜⎜⎜10− 100− 10110100101⎞⎠⎟⎟⎟⎛⎝⎜⎜⎜a1a2b1b3⎞⎠⎟⎟⎟= ⎛⎝⎜⎜⎜1000⎞⎠⎟⎟⎟(10100−101−10100101)(a1a2b1b3)=(1000)\begin{pmatrix} 1 & 0 & 1 & 0\\ 0 & -1 & …

3
暗黙的FEMと明示的FEMの違いは何ですか?
明示的なFEMと暗黙的なFEMの正確な違いは何ですか?ここの投稿によると、唯一の違いは暗黙的または明示的な時間積分が使用されているかどうかです。 私が読んだ1冊の本で覚えているように、暗黙のFEMは、質量がノードに集中していない場所です。 明示的および暗黙的なFEMの正確な定義は何ですか?

2
不連続ガラーキン/ポアソン/フェニックス
不連続ガラーキン法(DG)と次の離散化を使用して2Dポアソン方程式を解こうとしています(pngファイルがありますが、アップロードできません。申し訳ありません)。 方程式: ∇⋅(κ∇T)+f=0∇⋅(κ∇T)+f=0\nabla \cdot( \kappa \nabla T) + f = 0 新しい方程式: q=κ∇T∇⋅q=−fq=κ∇T∇⋅q=−fq = \kappa \nabla T\\\nabla \cdot q = -f 数値フラックスおよび弱い形式:T^T^\hat{T}q^q^\hat{q} ∫q⋅wdV=−∫T∇⋅(κw)dV+∫κT^n⋅wdS∫q⋅∇vdV=∫vfdV+∫q^⋅nvdS∫q⋅wdV=−∫T∇⋅(κw)dV+∫κT^n⋅wdS∫q⋅∇vdV=∫vfdV+∫q^⋅nvdS\int q \cdot w dV = - \int T \nabla \cdot (\kappa w) dV + \int \kappa \hat{T} n \cdot w dS\\ \int q \cdot \nabla v dV …

1
科学計算のコンテキストでC ++ 11移動セマンティクスの影響は何ですか?
C ++ 11は移動セマンティクスを導入しています。たとえば、C ++ 03がコピー構築またはコピー割り当てを実行する必要がある状況でコードのパフォーマンスを向上させることができます。この記事では、C + 11でコンパイルすると、次のコードで5倍の速度が得られると報告しています。 vector<vector<int> > V; for(int k = 0; k < 100000; ++k) { vector<int> x(1000); V.push_back(x); } 科学計算のコンテキストでC ++ 11移動セマンティクスの影響は何ですか? この質問は一般的な質問に興味がありますが、具体的には、Boostライブラリを使用して記述された有限要素コードの移動セマンティクスにも興味があります。ブーストバージョン1.47.0(ブーストリリースノートには移動のセマンティクスが1.48.0で導入されていると記載されているため)とブーストバージョン1.53.0 を使用して、独自のC ++ 03コードの一部をテストしましたが、あまり改善されていません。システムマトリックスの解決はワークロードの大部分を構成するため、boost::numeric::ublas::vector/のコピー構築を行わなくても済むことによる節約は目立たないmatrixと思いますboost::function。 編集:実際には、移動のセマンティクスが実装されているように見えますboost::function(バージョン1.52.0リリースノートを参照)。には移動のセマンティクスについての言及はありません。boost::numericソースを確認して確認し、右辺値の参照がないようです。

2
線形PDEのこの単純な誤差推定はどうですか?
LET 多角形でリプシッツ領域有界凸状R 2せ、fは∈ L 2(Ω )。ΩΩ\OmegaR2R2\mathbb R^2f∈L2(Ω)f∈L2(Ω)f \in L^2(\Omega) Δu=fΔu=f\Delta u = fΩΩ\Omegatraceu=0trace⁡u=0\operatorname{trace} u = 0∂Ω∂Ω\partial\OmegaH2H2H^2CCC∥u∥H2≤C∥f∥L2‖u‖H2≤C‖f‖L2\|u\|_{H^2} \leq C \|f\|_{L^2} いくつかの有限要素近似場合、たとえば、均一なグリッド上の節点要素を使用すると、誤差推定が得られます。uhuhu_h ∥u−uh∥H1≤Ch∥u∥H2‖u−uh‖H1≤Ch‖u‖H2\| u - u_h \|_{H^1} \leq C h \| u \|_{H^2} 人々は通常、明白なエラー推定値を使用しないようです(おそらく私はそれで間違っています) ∥u−uh∥H1≤Ch∥f∥L2‖u−uh‖H1≤Ch‖f‖L2\| u - u_h \|_{H^1} \leq C h \| f \|_{L^2} これは、上記の2つの不等式の組み合わせで取得できます。代わりに、事後誤差推定器はさまざまな形式で開発されます。上記の方程式に対して私が想像できる唯一の異論は、定数が実際には悲観的すぎるか、信頼性の高い推定ができない場合があることです。CCC

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