computeモジュール¶
- compute_L2_norm(MF, U, mim, CVids=None)¶
(実数または複素数の)フィールド U のL2ノルムを計算します.
CVids が指定されている場合,ノルムはリストされた要素でのみ計算されます.
- compute_L2_dist(MF, U, mim, mf2, U2, CVids=None)¶
U と U2 の間のL2距離を計算します.
CVids が指定されている場合,ノルムはリストされた要素でのみ計算されます.
- compute_H1_semi_norm(MF, U, mim, CVids=None)¶
grad(U) のL2ノルムを計算します.
CVids が指定されている場合,ノルムはリストされた要素でのみ計算されます.
- compute_H1_semi_dist(MF, U, mim, mf2, U2, CVids=None)¶
U と U2 の間の準H1距離を計算します.
CVids が指定されている場合,ノルムはリストされた要素でのみ計算されます.
- compute_H1_norm(MF, U, mim, CVids=None)¶
U のH1ノルムを計算します.
CVids が指定されている場合,ノルムはリストされた要素でのみ計算されます.
- compute_H2_semi_norm(MF, U, mim, CVids=None)¶
D^2(U) のL2ノルムを計算します.
CVids が指定されている場合,ノルムはリストされた要素でのみ計算されます.
- compute_H2_norm(MF, U, mim, CVids=None)¶
U のH2ノルムを計算します.
CVids が指定されている場合,ノルムはリストされた要素でのみ計算されます.
- compute_gradient(MF, U, mf_du)¶
MeshFem mf_du 上で定義されたフィールド U の勾配を計算します.
勾配はMeshFemの mf_du で補間され DU に返されます.例えば, U がP2 MeshFemで定義されている場合, DU はP1不連続MeshFemで評価されます. mf と mf_du は同じメッシュを共有する必要があります.
U は任意の数の次元を持つことができます(すなわち,この関数はスカラー場の勾配に限定されず,テンソル場にも使用できます).ただし, U の最後の次元は mf の自由度の数に等しくなければなりません.たとえば, U が [3x3xNmf] 配列(ここで,Nmfは mf の自由度の数です)の場合, DU は [Nx3x3[xQ]xNmf_du] 配列となり, N はメッシュの次元, Nmf_du は mf_du の自由度の数であり, Qdim_mf != Qdim_mf_du の場合,オプションのQ次が挿入されます,ここで, Qdim_mf は mf のQdimであり,Qdim_mf_duは mf_du のQdimです.
- compute_hessian(MF, U, mf_h)¶
MeshFem mf_h に定義されているフィールド U のHessianを計算します.
gf_compute('gradient', MeshFem mf_du) も参照してください.
- compute_eval_on_triangulated_surface(MF, U, Nrefine, CVLIST=None)¶
[廃止された機能! 将来のリリースで削除される予定です] 2次元三角形メッシュ用に設計されたユーティリティ関数は補間されたU値を持つ三角形座標のリストを返します.これは,不連続な高次要素上で定義されたデータを正確に視覚化するために使用できます.出力では,UPの6つの最初の行は三角形座標を含み,他の行はU(三角形の頂点ごとに1つ)のCVLISTの補間された値を含み,考慮されるべき凸数のリストを示すことができ,もし使用されなければ,全てのメッシュ凸が使用されます.Uは行ベクトルでなければなりません.
- compute_interpolate_on(MF, U, *args)¶
概要: Ui = compute_interpolate_on(MeshFem MF, vec U, {MeshFem mfi | Slice sli | vec pts})
別のMeshFem,Slice,または点のリストのフィールドを補間します.
- 別のMeshFem mfi 上の補間
mfi はLagrangianでなければなりません. mf と mfi が同じメッシュオブジェクトを共有する場合,補間は非常に高速になります.
- スライス sli の補間.
これは,洗練されたP1-不連続メッシュの補間に似ていますが,はるかに高速です.また, Slice('points') と組み合わせて使用し,特定の点集合におけるフィールド値を取得することもできます.
点 pts の集合の補間
gf_asm('interpolation matrix') も参照
- compute_extrapolate_on(MF, U, mfe)¶
フィールドを別のMeshFemに外挿します.
mfe のメッシュが mf のメッシュに厳密に含まれている場合,この関数はgf_compute('interpolate_on')と厳密に同じ処理を行います.しかし, mfe のメッシュが mf に正確に含まれていない場合(曲線状のリファインされたメッシュと粗いメッシュの間の補間を想像してください), mf 外の値が外挿されます.
gf_asm('extrapolation matrix') も参照
- compute_error_estimate(MF, U, mim)¶
事後誤差推定値を計算します.
現在,使用できるのは1つだけです.各凸に対して,法線導関数のジャンプが面に対して積分されます.
- compute_error_estimate_nitsche(MF, U, mim, GAMMAC, GAMMAN, lambda_, mu_, gamma0, f_coeff, vertical_force)¶
Nitsche法の場合,事後誤差推定値を計算します.
現在,使用できるのは1つだけです.各凸に対して,法線導関数のジャンプが面に対して積分されます.
- compute_convect(MF, U, mf_v, V, dt, nt, option=None, *args)¶
概要: compute_convect(MeshFem MF, vec U, MeshFem mf_v, vec V, scalar dt, int nt[, string option[, vec per_min, vec per_max]])
Characteristic-Galerkin法を用いて定常状態の速度場Vに関するUの対流を計算します.結果は,そのまま U で返されます.この方法は, U. mf_v が連続有限要素法を表現するための純粋なLagrange関数に限定されます. dt は積分時間, nt は特性上の積分ステップ数です. option は,re-entrant対流がある境界部分のオプションです.最も近い要素への外挿の場合は option = 'extrapolation' で,その境界上の定数値の場合は option = 'unchanged' です,周期境界の場合は option = 'periodicity' となります.後者のオプションでは,per_min,per_maxの二つのベクトルが与えられ,周期領域(per_max[k] < per_min[k]が設定されているコンポーネントに対しては,何も実行されません)の限界を表現しなければなりません.この方法はかなり散逸的ですが,安定しています.