メインコンテンツまでスキップ

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を参照できるようにします。

入力引数​

NameTypeRequiredDefaultDescription

filename

str | None

Optional

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の一覧。境界条件の割り当てや、可視化する境界面の選択に使用します。

メソッド​

show

メッシュを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

メッシュファイルのパスを文字列で指定してください。

関連API​