[S0021] コイルエンド冷却と端子温度のCSV出力を設定する

 

コイルエンド冷却素子は、等温度境界パターン(回転)条件と組み合わせて使用する冷却モデルです。
主として回転機のコイルエンドの冷却のモデル化に使用します。
熱回路構成として、コピー数に相当するコイルスロット毎に熱抵抗素子、熱コンデンサ素子を持ち、等温度境界素子でモデルとリンクします。
動的なマクロ素子としてモデル化されているため、等温度境界パターン(回転)条件におけるコピー数に追随します。
このスクリプトでは等温度境界パターン(回転)条件、コイルエンド冷却素子と温度プローブ素子を配置するとともに、スタディプロパティでCSVファイルへの端子温度の出力設定を行います。

前提条件

  • 熱解析スタディまたは熱応力解析スタディが1つ以上作成されていること
    このスクリプト例では、プロジェクトツリー上でアクティブなスタディに対して実行している
  • 等温度境界パターンのコピー数がSLOTSとして方程式に定義されていること
  • 設定対象面がセットとして作成済みであり、そのセットタイトルが既知であること
  • 設定値の単位は、作成されているモデルに設定されている単位系に従う

スクリプトにおける設定内容

  • タイトルが”up”のコイルエンド冷却素子を作成し配置。回路は作成済みか否かを確認し未作成であれば作成
  • 温度プローブ素子を作成し、コイルエンド冷却素子の端子に接続するように配置。
  • コイルエンド冷却素子のパラメータを設定
    熱抵抗(コイルエンド)を0.016、熱容量(コイルエンド)を0.012、冷却タイプを一定値、熱抵抗(冷却)を1.2、コイルエンドの温度をモニターするをONと設定
  • 面セット”CoilSet”を対象に等温度境界パターン(回転)条件を設定
    参照する回路素子を”up”、コピー数をSLOTSと設定
  • スタディプロパティのCSVファイル出力設定で端子温度(熱回路)をONに設定
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/

def getCircuitInStudy(study):
    """スタディのCircuitオブジェクトを取得し存在しない場合は新しく回路を作成する"""
    if study.HasCircuit():
        circuit = study.GetCircuit()
    else:
        circuit = study.CreateCircuit()
    return circuit

def createCoilEndCoolingWithThermalProbe(circuit, targetCompName):
    """コイルエンド冷却素子と温度プローブ素子を回路に配置してパラメータを設定する"""
    CECComp = circuit.CreateComponent(u"CoilEndCooling", targetCompName)
    posX = -2
    posY = 8
    circuit.CreateComponentInstance(CECComp, posX, posY)
    TPComp = circuit.CreateComponent(u"ThermalProbe", u"TP")
    # コイルエンド冷却素子の端子に温度プローブを配置
    circuit.CreateComponentInstance(TPComp, posX, posY + 3)

    CECComp.SetValue(u"ThermalResistance", 0.016)
    CECComp.SetValue(u"HeatCapacity", 0.012)
    CECComp.SetValue(u"CoolingType", u"Thermal Resistance (Constant)")
    CECComp.SetValue(u"ThermalResistanceCooling1", 1.2)
    CECComp.SetValue(u"MonitorCoilEndTemp", u"On")

def createConditionOfSameTemperatureBoundaryPattern(study, targetCompName, patternOriginalFaceSet):
    """等温度境界パターン(回転)条件を作成し、指定されたコイルエンド冷却素子を関連付ける"""
    condition = study.CreateCondition(u"SameTemperatureBoundaryPattern", targetCompName)
    # 回路素子を名前で指定するためユニークなタイトルである必要
    condition.SetLink(targetCompName)
    condition.SetValue(u"NumCopies", u"SLOTS")
    condition.AddSet(patternOriginalFaceSet, 0)

def applyCsvResultTypeOnTerminalTemperature(study):
    """スタディプロパティのCSV出力設定で端子温度(熱回路)をONにする"""
    study.GetStudyProperties().SetValue(u"CsvResultTypes", u"TerminalTemperature")

app = designer.GetApplication()
study = app.GetCurrentStudy()
circuit = getCircuitInStudy(study)

circuitCompName = u"up"
createCoilEndCoolingWithThermalProbe(circuit, circuitCompName)

set = app.GetCurrentModel().GetSetList().GetSet(u"CoilSet")
createConditionOfSameTemperatureBoundaryPattern(study, circuitCompName, set)

applyCsvResultTypeOnTerminalTemperature(study)

Download Python source code

ファイルご利用の注意点

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

絞込み検索

  • カテゴリー 一覧

JMAG-Express Online
An engineer's diary