gf_mesh_set¶
概要
PIDs = gf_mesh_set(mesh M, 'pts', mat PTS)
PIDs = gf_mesh_set(mesh M, 'add point', mat PTS)
gf_mesh_set(mesh M, 'del point', ivec PIDs)
CVIDs = gf_mesh_set(mesh M, 'add convex', geotrans GT, mat PTS)
gf_mesh_set(mesh M, 'del convex', mat CVIDs)
gf_mesh_set(mesh M, 'del convex of dim', ivec DIMs)
gf_mesh_set(mesh M, 'translate', vec V)
gf_mesh_set(mesh M, 'transform', mat T)
gf_mesh_set(mesh M, 'boundary', int rnum, mat CVFIDs)
gf_mesh_set(mesh M, 'region', int rnum, mat CVFIDs)
gf_mesh_set(mesh M, 'extend region', int rnum, mat CVFIDs)
gf_mesh_set(mesh M, 'region intersect', int r1, int r2)
gf_mesh_set(mesh M, 'region merge', int r1, int r2)
gf_mesh_set(mesh M, 'region subtract', int r1, int r2)
gf_mesh_set(mesh M, 'delete boundary', int rnum, mat CVFIDs)
gf_mesh_set(mesh M, 'delete region', ivec RIDs)
gf_mesh_set(mesh M, 'merge', mesh m2[, scalar tol])
gf_mesh_set(mesh M, 'optimize structure'[, int with_renumbering])
gf_mesh_set(mesh M, 'refine'[, ivec CVIDs])
説明 :
mesh オブジェクトを変更するための汎用的な関数です.
コマンドリスト
PIDs = gf_mesh_set(mesh M, 'pts', mat PTS)
メッシュ点の座標を PTS で指定された座標に置き換えます.
PIDs = gf_mesh_set(mesh M, 'add point', mat PTS)
メッシュに新しい点を挿入し,その #id を返します.
PTS は
nxm
行列でなければなりません.ここでn
はメッシュの次元,m
はメッシュに追加される点の数です.出力では, PID にこれらの新しい点の点番号IDが含まれます.注: (
1e-8
程度の小さな許容範囲で)既にメッシュの一部になっている点がある場合,それらの点は再挿入されず, PIDs には以前に割り当てられた #id の点が含まれます.
gf_mesh_set(mesh M, 'del point', ivec PIDs)
メッシュから1つまたは複数の点を削除します.
PIDs は 'add point' コマンドで返される点である #ids などを指定する必要があります.
CVIDs = gf_mesh_set(mesh M, 'add convex', geotrans GT, mat PTS)
メッシュに新しい凸を追加します.
凸(三角形,プリズム,...)は GT ( gf_geotrans('...') で取得されます)によって与えられ,その点は PTS の列によって与えられます.返される CVID には凸の #idが含まれます. PTS は複数の凸(またはFortranの次数に従って正しく形成された2次元配列)を挿入するための3次元配列の場合もあります.
gf_mesh_set(mesh M, 'del convex', mat CVIDs)
メッシュから1つまたは複数の凸を削除します.
CVIDs には 'add convex' コマンドで返されるような凸 #id を含める必要があります.
gf_mesh_set(mesh M, 'del convex of dim', ivec DIMs)
DIMs に表示されている次元の凸をすべて削除します.
例えば
gf_mesh_set(mesh M, 'del convex of dim', [1,2])
はすべての線区分,三角形,四角形を削除します.
gf_mesh_set(mesh M, 'translate', vec V)
メッシュの各点を V から移動します.
gf_mesh_set(mesh M, 'transform', mat T)
メッシュの各点にマトリックス T を適用します.
なお, T は
NxN
(N = gf_mesh_get(mesh M, 'dim')
)行列である必要はありません.したがって,2次元メッシュを3次元メッシュに(相互に)変換できます.
gf_mesh_set(mesh M, 'boundary', int rnum, mat CVFIDs)
非推奨関数です.代わりに 'regions' を使用してください.
gf_mesh_set(mesh M, 'region', int rnum, mat CVFIDs)
領域番号 rnum を,行列 CVFIDs に提供されている凸または凸面,あるいはその両方の集合に割り当てます.
CVFIDs の最初の行は凸の #id を含み,二番目の行は凸の中に面番号を含みます (または凸全体として0(領域は通常,凸面のリストを格納するために使用されますが,凸面のリストを格納するために使用することもできます).
ベクトル(または1行の行列)が与えられる場合,領域は対応する凸集合を表します.
gf_mesh_set(mesh M, 'extend region', int rnum, mat CVFIDs)
領域番号 rnum で識別される領域を拡張して,行列 CVFIDs に与えられた凸または凸面あるいはその両方の集合を含めます.
gf_mesh_set(mesh M, 'set region)
も参照.
gf_mesh_set(mesh M, 'region intersect', int r1, int r2)
領域番号 r1 を領域番号 r2 との交差部分に置き換えます.
gf_mesh_set(mesh M, 'region merge', int r1, int r2)
領域番号 r2 を領域番号 r1 にマージします.
gf_mesh_set(mesh M, 'region subtract', int r1, int r2)
領域番号 r1 を領域番号 r2 との差分に置き換えます.
gf_mesh_set(mesh M, 'delete boundary', int rnum, mat CVFIDs)
非推奨関数です.代わりに 'delete region' を使用してください.
gf_mesh_set(mesh M, 'delete region', ivec RIDs)
RIDs にリストされている領域 #id を削除します.
gf_mesh_set(mesh M, 'merge', mesh m2[, scalar tol])
mesh m2 とマージします.
許容半径 tol 内の重複点は複製されません. m2 がmesh_femオブジェクトの場合は,そのリンクされたメッシュが使用されます.
gf_mesh_set(mesh M, 'optimize structure'[, int with_renumbering])
点および凸の番号付けをリセットします.
最適化後,点 (resp. convexes) には連続して 1 から gf_mesh_get(mesh M, 'max pid') (resp. gf_mesh_get(mesh M, 'max cvid')) まで番号が付けられます.
gf_mesh_set(mesh M, 'refine'[, ivec CVIDs])
メッシュの改善には Bank の方法を使用します.
CVIDs が指定されていない場合,メッシュ全体が洗練されます.このメッシュにリンクされたmesh_femオブジェクトとmesh_imオブジェクトの領域,有限要素法,および積分法は,自動的に洗練されます.