解析グループは、連成解析や複数のスタディで1つの解析目的を持つ場合などに、スタディをグループ化します。
スタディを順番に実行するタイプの解析グループでは、解析設定の妥当性確認などのためグループ内の一部のスタディのみの解析実行も可能です。
このスクリプトでは、解析グループに含まれる一部のスタディを対象に、現ケースのバッチ実行を行います。
前提条件
- 解析実行可能な、順番にスタディを実行するタイプの解析グループが作成されていること
このスクリプト例では、プロジェクトツリー上のアクティブ解析グループに対して実行している - 解析対象のスタディタイトルが既知であること
このスクリプト例では、3つのスタディをタイトルで指定している。
設定内容
- 解析グループのバッチ実行のためのjobオブジェクトを作成し実行パラメータを設定
解析対象のスタディを”NoLoad”、”Load”、”Demagnetization”とスタディのタイトルで3つ指定
その他のパラメータは、干渉チェックを行わない、解析実行時に形状エラーを無視しない、ジョブ追加時に実行待ちとする設定 - ジョブの追加を実行し、ジョブが完了するまで待機する
- ジョブが完了したら、新しい結果の確認で結果をロードする
解析実行が正常終了した場合、指定したスタディの解析結果がロードされる
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/
def submitActiveCaseToQueue(anaGroup, tgtStudyNmArray):
"""解析グループ内の指定されたスタディのバッチ実行"""
job = anaGroup.CreateJob()
job.SetValue(u"Title", anaGroup.GetName())
job.SetValue(u"Queued", True)
job.SetValue(u"NumOfJobs", 1)
job.SetValue(u"CheckConflict", False)
job.SetValue(u"IgnoreGeometryError", False)
job.SetTargetStudyList(tgtStudyNmArray)
# ジョブを実行
# True :全ケースの解析実行
# False:現ケースの解析実行
job.Submit(False)
# ジョブが実行終了まで待機
job.WaitForFinished()
app = designer.GetApplication()
anaGroup = app.GetCurrentAnalysisGroup()
tgtStudyNmArray = [u"NoLoad", u"Load", u"Demagnetization"]
submitActiveCaseToQueue(anaGroup, tgtStudyNmArray)
anaGroup.CheckForNewResults()


