磁界過渡応答解析、または統合解析では回路設定を行うことが一般的です。JMAGでは基本的な素子のだけでなく、機能をまとめたマクロ素子もプリインストールで提供されています。また電気回路素子だけでなく、制御系の素子もあります。このスクリプトではプリインストールマクロ素子であるPWM120度通電(3相)素子を配置し、パラメータを設定します。
前提条件
- 磁界過渡応答解析、または統合解析スタディが1つ以上作成されていること
このスクリプト例では、プロジェクトツリー上でアクティブなスタディに対して実行している
スクリプトにおける設定内容
- 回路設定はまず回路を作成する必要がある。作成済みか否かを確認し未作成であれば作成
- マクロ素子であるPWM120度通電(3相)素子を作成し配置
- PWM120度通電(3相)素子のパラメータは極数を4, キャリア周波数を1,000Hzとしている
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/
def getCircuitInStudy(study):
"""スタディのCircuitオブジェクトを取得し存在しない場合は新しく回路を作成する"""
if study.HasCircuit():
circuit = study.GetCircuit()
else:
circuit = study.CreateCircuit()
return circuit
def createPWM120degConductionSystem3phase(circuit):
"""PWM120度通電(3相)素子を回路に配置し項目に値を設定する"""
componentName = u"PWM 120deg Conduction System (3phase)"
circuit.CreateSubCircuit(u"PWM_120deg_Conduction_System_3-phase", componentName, -28, 9)
circuit.GetComponent(componentName).SetValue(u"Npoles", 4)
circuit.GetComponent(componentName).SetValue(u"fc", 1000)
app = designer.GetApplication()
study = app.GetCurrentStudy()
createPWM120degConductionSystem3phase(getCircuitInStudy(study))


