JMAG-Designerでは、時間軸と空間軸で算出された計算結果を対象として2次元高調波振幅を求め、応答値として登録できます。
空間方向と時間方向の周期成分を同時に評価できるため、高調波特性を考慮した結果評価に活用できます。
このスクリプトでは、各時刻におけるセクショングラフのデータセットに対して、2次元高調波振幅の応答値を作成します。
前提条件
- 磁界過渡応答解析スタディが1つ以上作成されていること
このスクリプト例では、プロジェクトツリー上でアクティブな磁界過渡応答スタディに対して実行している - セクショングラフの定義が作成済みであり、そのタイトルが既知であること
- 2次元高調波振幅の応答値はJMAG-Designer v25.0以降で使用可能
スクリプトにおける設定内容
- 2次元高調波振幅を計算する応答値のパラメータを作成
周波数の次数を1, 周期性を1/2, 空間次数を1, 周期性を1/2に設定
時間範囲の始点と終点を設定 - 対象とするセクショングラフのタイトルを指定してセクショングラフから応答値を作成
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/
app = designer.GetApplication()
def create2DHarmonicAmplitudeResponseValueFromSectionGraph(study, sectionName, responseVarName, calcTimeRange):
"""セクショングラフを元に2次元高調波振幅の応答値を作成する"""
parameter = app.CreateResponseDataParameter(sectionName)
parameter.SetCalculationType(u"2DHarmonic")
parameter.SetHarmonic(u"1")
parameter.SetPeriodicity(u"Half")
parameter.SetSpaceHarmonic(u"1")
parameter.SetSpacePeriodicity(u"Half")
parameter.SetVariable(responseVarName)
# The 1st argumet of SetCaseRangeType
# 0:全ケースで全ステップを指定する
# 1:全ケースで同じ計算範囲を指定する
# 2:ケース毎に計算範囲を指定する
# 3:全ケースで最終ステップから指定した区間までを計算対象とする
parameter.SetCaseRangeType(1)
parameter.SetStartValue(calcTimeRange[0])
parameter.SetEndValue(calcTimeRange[1])
study.CreateParametricDataFromSection(sectionName, parameter)
sectionName = u"SectionArc"
responseVarName = "Harmonic2D"
calcTimeRange = [u"0.0001", u"0.0003"]
study = app.GetCurrentStudy()
create2DHarmonicAmplitudeResponseValueFromSectionGraph(study, sectionName, responseVarName, calcTimeRange)


