[S8625] 材料と周波数から表皮厚さを設定するスクリプト

 

材料と周波数から表皮厚さを設定するスクリプトを例示します。

import math

# 表皮厚さを設定したい部品名

PartName = u"coil"

# 表皮厚さを設定したい部品の比透磁率

RP = 1

app = designer.GetApplication()

# 現在開いているスタディを取得

study = app.GetCurrentStudy()

# 周波数コントロールの周波数刻みの初期値を取得

frq = study.GetStep().GetValue(u"Initialfrequency")

# 部品に設定している電気抵抗率を取得

resistivity = study.GetMaterial(PartName).GetValue(u"Resistivity")

# 表皮厚さを計算

skin_depth = 1e3 * 1 / math.sqrt((1 / resistivity) * (math.pi * frq) * (RP*4 * math.pi * 1e-7))

# 表皮メッシュ条件を作成

study.GetMeshControl().CreateCondition(u"SkinDepth", f"Skin_{PartName}")

# 条件のパラメータを設定

condition = study.GetMeshControl().GetCondition(f"Skin_{PartName}")

condition.SetValue("Depth", skin_depth * 2)

condition.SetValue("Division", 3)

# 選択する部品をクリア

condition.ClearParts()

# 部品を選択

sel = condition.GetSelection()

sel.SelectPart(PartName)

# 選択した部品を条件に追加

condition.AddSelected(sel)

ファイルご利用の注意点

JMAGスクリプトライブラリをご利用されるに際し、以下の利用規約をよくお読みいただき、ご同意の上ご利用下さるようお願い申し上げます。