ベクトル方程式は1次元の配列データを1つの変数として扱う機能です。テーブル形式の結果データから1系列を取り出してベクトルデータとします。ベクトル方程式はこのベクトルデータ間、またはスカラー値を交えて演算を定義します。
ベクトル方程式形式のデータから応答値を作成することで最適化でも利用できます。
このスクリプトでは、結果テーブルからベクトル方程式データを作成し、その変数を用いてベクトル方程式を定義します。
前提条件
- スタディが1つ以上作成されていること
このスクリプト例では、プロジェクトツリー上でアクティブな熱解析スタディに対して実行している
スクリプトにおける設定内容
- スタディにて参照元データを指定して、ベクトルデータを作成する。
参照元データ:回路の熱抵抗
対象:"Rt1"
変数名:"RtRt1ve"
範囲:全ケースで全てのステップを対象とする - ベクトルデータを使用したベクトル方程式を作成する。
変数名:"RtCE1R2ve"
式:1/RtRt1ve
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/
app = designer.GetApplication()
def createVectorExpression(study, vectorExprInfo):
"""ベクトルデータを使用した変数、式の作成"""
exprtype = vectorExprInfo[u"type"]
exprParam = vectorExprInfo[u"param"]
vectExpr = study.CreateVectorExpression(vectorExprInfo[u"title"])
# データセットから作成
if exprtype == u"DataVariable":
vectExpr.SetReferenceDataFromTable(exprParam[u"refDataFromTbl"])
vectExpr.SetUnit(exprParam[u"unit"])
vectExpr.SetLine(exprParam[u"line"])
vectExpr.SetVariable(exprParam[u"variable"])
vectExpr.SetCaseRangeType(exprParam[u"caseRangeType"])
# 式の作成
elif exprtype == u"Expression":
vectExpr.SetVariable(exprParam[u"variable"])
vectExpr.SetExpression(exprParam[u"expression"])
study = app.GetCurrentStudy()
dataVarParam = {
u"type" : u"DataVariable",
u"title" : u"rth1",
u"param" : { u"refDataFromTbl" : u"回路の熱抵抗",
u"unit" : u"s",
u"line" : u"Rt1",
u"variable" : u"RtRt1ve",
u"caseRangeType" : u"allsteps"
}
}
createVectorExpression(study, dataVarParam)
exprParam = {
u"type" : u"Expression",
u"title" : u"rth2",
u"param" : { u"variable" : u"RtCE1R2ve",
u"expression" : u"1 / RtRt1ve"
}
}
createVectorExpression(study, exprParam)


