# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/

def createResponseTableCorrectionAndSkew(study, resposeTableName):
    """効率マップスタディの結果に補正係数、補正値、およびスキューを適用し、補正された応答値テーブルを作成する。"""
    tableCorrection = study.CreateTableCorrection(resposeTableName)

    # [係数/漏れインダクタンス]
    tableCorrection.SetRotorResistanceFactor(1.1)
    tableCorrection.SetStatorLeakageInductanceFactor(1.2)
    tableCorrection.SetRotorLeakageInductanceFactor(1.15)
    tableCorrection.SetMagnetizingInductanceFactor(0.9)
    tableCorrection.SetExcitingConductanceFactor(0.95)
    tableCorrection.SetAdditionalStatorLeakageInductance(0.1)
    tableCorrection.SetAdditionalRotorLeakageInductance(0.15)

    # [温度]
    # [コイル]
    tableCorrection.SetCoilStandardTemp(20)
    tableCorrection.SetCoilTemp(100)
    tableCorrection.SetCoilTempFactor(1.0)
    # [ロータ導体]
    tableCorrection.SetRotorConductorStandardTemp(20)
    tableCorrection.SetRotorConductorTemp(100)
    tableCorrection.SetRotorConductorTempFactor(1.5)

    # [スキュー]
    tableCorrection.SetIMRotorSkew(True)
    tableCorrection.SetIMRotorSkewAngle(10)


app = designer.GetApplication()
study = app.GetCurrentStudy()
resposeTableName = u"corrected_table"

createResponseTableCorrectionAndSkew(study, resposeTableName)
