問題タブ [finite-element-analysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1097 参照

matlab - Matlab trisurf を使用して要素単位の量をプロットする

通常、trisurf は三角形メッシュにノード量をプロットするために使用されます。ただし、次のコマンドを使用して、要素ごとの量をプロットしたいと思います。

elewise_quantiy は p(:,1) または p(:,2) と同じ次元である必要があるため、要素ごとの量をその要素の各ノードに関連付けて elewise_quantity を作成します。

この特定のケースでは、中央の 8 つの三角形要素が 1 に関連付けられ、他のすべての要素の値は 0 です。10*10 の小さな正方形と 10*10*2 の小さな三角形があります。

問題は、写真に示されているように、trisurf が私が望む効果を生み出すことができないことです。私が期待するのは、「要素ごとの正確な説明」、つまりエッジでの急激な遷移です。

また、各コーナーで表示が異なることに注意してください。これは、三角形の特定の方向によるものです。これを処理するエレガントな方法はありますか?


ここに画像の説明を入力

0 投票する
1 に答える
530 参照

python - PDE の解を使用して、別の PDE を定義する - FEniCS

現在、非標準の境界条件を実装することにより、FEniCS で Monge-Ampere 方程式を解こうとしています。

境界条件では、解の勾配が元のドメインの境界を別の所定のドメインにマッピングする必要があります。

ターゲット ドメインが単位円であると規定されている場合、実装は非常に簡単です。私は次のコードをシステムに組み込むことで取り組みました。

ここで、uh, は試行関数、vh はテスト関数です。

正方形 [−1,1]×[−1,1] などのより複雑なターゲット空間を検討する場合、手で解くのはそれほど単純ではないため、物事はより困難になります。そのため、私の考えは、距離関数を使用することです.

これを行うために、私はエイコナル方程式の安定化バージョンを解決しました。その解決策は符号付き距離関数です。私の考えは、(1) を次のように置き換えることでした。

ここで、E はエイコナル方程式の解ですが、これを実装しようとすると、関数がスカラー引数を予期していることを示すエラーが発生します。

grad(uh) を 2 次微分形式で入力として受け入れるようにソリューションをプログラムする方法はありますか?

ありがとうございました!

0 投票する
0 に答える
67 参照

c++ - 指定された GID および LID リストからの MPI double マップ

私は有限要素コードで作業しています。メッシュのノードは、ローカルおよびグローバル識別子を持つマップ (single_mesh_nodes と呼びましょう) に従って分散されます。倍数のノードを含む新しいマップ (double_mesh_nodes と呼びましょう) を作成する必要があります。double_mesh_nodes は、最初の部分として single_mesh_nodes を使用して構築する必要があります。その後、最初のノードから再度開始しますが、新しいローカル識別子とグローバル識別子を割り当てます。言い換えれば、最後のグローバル識別子ノードとローカル識別子ノード (それぞれ last_GID と last_LID) に到達した後、再び最初のノードを持つ必要がありますが、最大 GID +1 のグローバル識別子値と最大 LID +1 のローカル識別子を持ちます。など、次のノードについても同様です。例として、single_mesh_nodes LID = 0、1、2、3、および GID = 0、3、2 の 4 ノードのメッシュがある場合、

0 投票する
1 に答える
862 参照

python - インデントエラー

原因がわからないインデント エラーが表示されます。
エラーは

私のコードは

0 投票する
1 に答える
185 参照

c++ - C ++での2次元線形対流(セグメンテーション違反)

Lorena Barbara博士のナビエストークス方程式への12のステップ(http://lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes/)構造に従っていますが、2dの方法がわかりません線形対流。ここにいる誰かがそれを行う方法に精通しているのだろうかと思っていました。以下は私のサンプルコードです: