TRNSYS+PythonでCooling Effect(CE)を計算

TRNSYS Type3157を使って、以前にご紹介したpythermalcomfortを試してみました。

仕組みとしてはType3157からPythonを呼び出して、pythermalcomfortの関数を呼び出します。

pythermalcomfortには様々な関数が用意されています。この例ではTRNSYSには用意されていないCooling Effect(CE)を計算します。

pythermalcomfortのインストール

Pyhtonの環境に予めpythermalcomfortしておきます。

pip install pythermalcomfort

プロジェクトの準備

2室モデル演習を元にして、Type3157を配置したプロジェクトを用意します。

Cooling Effectのプロジェクト

Type3157の設定

Parameter

Cooling Effect(CE)の関数で要求される値を受け取るのに必要なInput数を指定します。この例では6つ必要です。

Type3157 Parameter

Input

Cooling Effect(CE)の関数で使用する値の名前と初期値を指定します。それぞれの値について詳しくはCooling Effect(CE)を参照して下さい。

Type3157 Input

Output

計算結果を出力するoutputの名前をCoolingEffectへ変更します。

Type3157 Output

Type56-Type3157の接続

Type56の出力より、室温、相対湿度、MRTをType3157へ接続します。その他の値は未接続のままで初期値を使用します。

Type56,Type3157の接続

Pyhtonスクリプトの準備

Examples(C:\TRNSYS18\TRNLib\CallingPython-Cffi\Examples\01-SimplePolynomial)を参考にPythonスクリプを用意します。

以下、Cooling Effect(CE)の計算処理の抜粋です。

はじめにpythermalcomfortをインポートしています。これでcooling_effect関数が呼び出せるようになります。

import numpy
import os
from pythermalcomfort.models import cooling_effect

def Iteration(TRNData): 関数の部分にCooling Effectの計算処理を記述します。さきほどType3157のInputで定義した値を受け取って、cooling_effect関数に引き渡します。


# --------------------------------------------------------------------------------------
def Iteration(TRNData):

    # Define local short names for convenience (this is optional)
    tdb = TRNData[thisModule]["inputs"][0]
    tr = TRNData[thisModule]["inputs"][1]
    vr = TRNData[thisModule]["inputs"][2]
    rh = TRNData[thisModule]["inputs"][3]
    met = TRNData[thisModule]["inputs"][4]
    clo = TRNData[thisModule]["inputs"][5]

    # Calculate the outputs
    CE = cooling_effect(tdb=tdb, tr=tr, vr=vr, rh=rh, met=met, clo=clo)

    # Set outputs in TRNData
    TRNData[thisModule]["outputs"][0] = CE
   
    return

# EndOfTimeStep: function called at the end of each time step, after iteration and before moving on to next time step
# --------------------------------------------------------------------------------------

計算実行

実行するとType3157 Pyhtonからpythermalcomfortが呼び出され、結果が出力されます。

まとめ

  • この例ではType56の計算結果を受け取ってCooling Effect(CE)を計算しました。
  • Type3157ではPythonのライブラリを簡単に呼び出すことができます。
  • すでに作成済みのPyhtonのプログラムもTRNSYSの計算と組み合わせた処理が簡単に実現できます。

サンプル

動作環境

以下の環境で動作を確認しています。

  • Windows11 Pro(64bit, 21H2)
  • TRNSYS18.04.0000(64bit)
  • Python 3.10
Pocket

1件のピンバック

コメントする

メールアドレスが公開されることはありません。