Mesh
概要
3次元電磁界解析で使用する有限要素メッシュを表します。
メッシュには、四面体の体積要素、三角形の境界要素、それぞれの頂点座標、および識別用IDが含まれます。領域IDは材料の割り当てに使用する3次元領域を識別し、境界IDは境界条件を適用する表面を識別します。
Pythonからメッシュの形状や領域ID、境界IDを確認できます。また、メッシュ全体や指定した領域・境界面を3次元で可視化し、解析を実行する前にメッシュの構造を確認できます。
オブジェクトの作成
m = Mesh()
m = Mesh()
メッシュファイルを読み込まずにメッシュオブジェクトを作成します。メッシュデータにアクセスする前に、m.filename
にファイルパスを設定してください。
m = Mesh(filename)
m = Mesh(filename) 指定したメッシュファイル filename
を読み込み、メッシュ形状、領域ID、境界IDを参照できるようにします。
入力引数
filename
str | None
None
読み込む有限要素メッシュファイルのパス。 省略した場合は、後から
filename プロパティで指定できます。
プロパティ
filename- Type
str | NoneAccess read/writeメッシュファイルのパス。 有効なファイルパスを設定すると、指定したメッシュが読み込まれ、メッシュデータが更新されます。
points- Type
numpy.ndarrayAccess read-onlyメッシュの頂点座標。各行が1つの頂点の3次元座標を表す、形状 (N, 3) の配列です。ここで、N は頂点数です。
elements- Type
numpy.ndarrayAccess read-only四面体要素を構成する4つの頂点のインデックス。各行が1つの四面体要素を表す、形状 (N, 4) の配列です。ここで、N は四面体要素数です。
boundary_elements- Type
numpy.ndarrayAccess read-only三角形の境界要素を構成する3つの頂点のインデックス。各行が1つの境界要素を表す、形状 (N, 3) の配列です。ここで、N は境界要素数です。
domain- Type
numpy.ndarrayAccess read-onlyメッシュの3次元領域を識別する領域IDの一覧。材料の割り当てや、可視化する領域の選択に使用します。
boundary- Type
numpy.ndarrayAccess read-onlyメッシュの表面を識別する境界IDの一覧。境界条件の割り当てや、可視化する境界面の選択に使用します。
メソッド
メッシュを3次元で可視化します。 指定した体積領域や境界面を選択して表示することもできます。
使用例
from hado.mesh import Mesh
m = Mesh("model.msh")
print(m.domain)
print(m.boundary)
m.show(domain=2)
m.show(boundary=1)
注意事項
領域IDと境界IDはメッシュファイルで定義され、頂点や要素のインデックスとは異なります。
1つの領域IDには複数の四面体要素が含まれる場合があり、1つの境界IDには複数の三角形の境界要素が含まれる場合があります。
エラー・例外
エラー・例外一覧
tanager:meshmessage: EmptyMeshFile - Condition
メッシュファイルが設定されていない状態で、メッシュデータにアクセスした場合。
Resolutionメッシュデータにアクセスする前に、
m.filenameに有効なメッシュファイルのパスを設定してください。 tanager:meshmessage: NoMeshFile - Condition
指定したメッシュファイルが存在しない場合。
Resolutionファイルパスを確認し、メッシュファイルが存在することを確認してください。
tanager:validatormessage: MustBeDataType - Condition
filenameに文字列以外の値を設定した場合。Resolutionメッシュファイルのパスを文字列で指定してください。