皮膜メッシュ機能は、2次元解析での領域の表面に層状のメッシュを自動生成する機能です。素線を被覆する磁性または非磁性の薄膜(皮膜)を解析上考慮したい場合に使用します。
丸線・角線・より線など断面形状に依らず、各素線に対して均一な厚さで生成されます。
また各層には、それぞれ材料プロパティを設定できます。
このスクリプトでは、2層の皮膜メッシュと各層の材料プロパティを設定します。
前提条件
- 2次元解析のスタディが1つ以上作成されていること
このスクリプト例では、プロジェクトツリー上でアクティブな磁界解析スタディに対して実行している - 皮膜層に設定する材料がスタディに登録されていること
- 皮膜を設定する部品がセットとして作成済みであり、そのセットタイトルが既知であること
スクリプトにおける設定内容
- 皮膜を部品セットの"CoilSet"に設定する
- 皮膜層を2層設定する(外側からGroup 1、Group 2)
- 皮膜層の各パラメータを設定する
Group 1
厚さ:0.01
材料:銅
メッシュ分割数:5
Group 2
厚さ:0.005
材料:TRANSFORMER_FILM
メッシュ分割数:2 - 皮膜層Group1の材料:銅は渦電流を考慮する
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/
app = designer.GetApplication()
def createMeshCondLayerCoating(meshCtrl, tgtSet, meshPropParamArray):
"""メッシュに皮膜を追加する"""
meshCond = meshCtrl.CreateCondition(u"LayerCoating", u"cond01")
meshCond.AddSet(tgtSet, 0)
meshCond.RemoveSubCondition(0)
# 皮膜層のプロパティ設定
for idx, meshPropParam in enumerate(meshPropParamArray, 1):
meshSubCond = meshCond.CreateSubCondition(u"LayerCoatingData", u"Group {}".format(idx))
meshSubCond.SetValue(u"Thickness", meshPropParam[u"Thickness"])
meshSubCond.SetValue(u"Division", meshPropParam[u"Division"])
meshSubCond.SetMaterialByName(u"CoatingMaterial", meshPropParam[u"material"])
material = meshSubCond.GetMaterial(u"CoatingMaterial")
material.SetValue(u"EddyCurrentCalculation", meshPropParam[u"eddyCurrentFlag"])
setNm = u"CoilSet"
tgtSet = app.GetCurrentModel().GetSetList().GetSet(setNm)
meshCtrl = app.GetCurrentStudy().GetMeshControl()
meshPropParamArray = [{u"Thickness" : 0.01, u"Division" : 5, u"material" : u"Copper", u"eddyCurrentFlag" : "AllowEddyCurrent"},
{u"Thickness" : 0.005, u"Division" : 2, u"material" : u"TRANSFORMER_FILM", u"eddyCurrentFlag" : "NoEddyCurrent"}]
createMeshCondLayerCoating(meshCtrl, tgtSet, meshPropParamArray)


