[S0016] テーブル形式の結果から応答値を定義する

 

多ケースの結果を比較評価する手段として、目的に適した計算方法で定義する応答値があります。
また、解析前に応答値を定義し、最適化における目的関数に使用するユースケースがあります。
このスクリプトではジュール損失の単純平均を計算する応答値を作成します。

前提条件

  • スタディが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)

Download Python source code

ファイルご利用の注意点

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

絞込み検索

  • カテゴリー 一覧

JMAG-Express Online
An engineer's diary