多ケースの結果を比較評価する手段として、目的に適した計算方法で定義する応答値があります。
また、解析前に応答値を定義し、最適化における目的関数に使用するユースケースがあります。
このスクリプトではジュール損失の単純平均を計算する応答値を作成します。
前提条件
- スタディが1つ以上作成されていること
このスクリプト例では、プロジェクトツリー上でアクティブな磁界解析スタディに対して実行している
スクリプトにおける設定内容
- ジュール損失の単純平均を計算する応答値を作成
参照元データをジュール損失、計算方法を単純平均、対象を合計、変数名をJLAveと設定
参照元データは結果テーブルにおける表示名で指定
範囲の単位を秒とし、計算範囲は全ケースで最終ステップから指定した区間までを計算対象、最終ステップからの区間は0.05秒を設定
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/
def createResponseDataParameterByInterval(study, referenceData, calculationType, variableName, rangeType, numLastPeriods = 0.0):
"""指定された計算方法で応答値を作成する"""
parameter = app.CreateResponseDataParameter(referenceData)
parameter.SetCalculationType(calculationType)
parameter.SetUnit(u"s")
parameter.SetAllLine(False)
parameter.SetLine(u"合計")
parameter.SetVariable(variableName)
# The 1st argumet of SetCaseRangeType
# 0:全ケースで全ステップを指定する
# 1:全ケースで同じ計算範囲を指定する
# 2:ケース毎に計算範囲を指定する
# 3:全ケースで最終ステップから指定した区間までを計算対象とする
parameter.SetCaseRangeType(rangeType)
if rangeType == 3:
parameter.SetRangeFromLastStep(numLastPeriods)
study.CreateParametricDataFromTable(referenceData, parameter)
app = designer.GetApplication()
study = app.GetCurrentStudy()
referenceData = u"ジュール損失"
calculationType = u"SimpleAverage"
variableName = u"JLAve"
rangeType = 3
createResponseDataParameterByInterval(study, referenceData, calculationType, variableName, rangeType, 0.05)


