TRNFlowのエラーと対策

TRNSYSには、換気回路のオプション、TRNFlowが用意されています。このオプションでは多数室モデルのデータ(Type56/TRNBuild)を基に換気回路の情報を構成することができます。温熱に加えて、同じモデルで自然換気や機械換気の影響を考慮した連成計算を行う事ができます。TRNFlowで換気回路網を構成していると、温熱の計算とは違った種類のエラーが発生するケースがあります。

換気回路は1つのネットワークで構成する

TRNBuildでファイルを保存する際に図のようなメッセージが表示されることがあります。下図は「C:TRNSYS18\Examples\TRNFLOW_example」のサンプルを意図的にエラーが発生するように編集して保存しようとした際の画面です。

TRNFlowのエラーメッセージ
TRNFlowのエラーメッセージ

エラーメッセージ

The airlink network is not properly connected.
All Airflow nodes must be connected in ONE network.
Please check the INF-file for future information.

和訳

エアリンクネットワークが正しく接続されていません。
すべてのエアーフローノードが1つのネットワークに接続されている必要があります。
詳しい情報については、INF ファイルを確認してください。

この例では、換気回路が1つにまとまっていない構成になっています。(複数の換気回路で構成されています)メッセージに従って、INFファイルのメモ帳などで開いてみると、次のような箇所が見つかります。

TRNFLOW (2003-06-04) based on COMIS 3.1

Copyright (C) 2001 EMPA

-------------------------------------------------------

NETWORK ERROR

All zones should be connected, but here are 2 isolated groups of zones.
You have to add links, or delete not-used zones from &-NET-ZONes.
You have to add at least 1 link between those groups.
Zones in group 0 are not in &-NET-LIN or are connected only toknown pressure(s).

Here follow the zones and the group they are in.
Zone Group Zone name:
1 1 DINING
2 2 KITCHEN
3 1 STORAGE
4 2 AN_001
5 2 AN_006
6 2 AN_005
7 2 AN_002
8 2 AN_003
9 2 AN_004

----------------------------------------------------------------

COMIS MESSAGE ***** ERROR *****The Network is not properly connected:

このメッセージから2つの独立した換気回路が存在していることが分かります。換気回路網を図に描いてみると、下図のようになります。

エラーのモデル
エラーのモデル

この図では、一見1つの換気回路にまとまっているように見えますが、良く見るとThermal Zone, Auxiliary nodeに混じってExternal nodeで分断されていることが分かります。

2つの換気回路が存在する
2つの換気回路が存在する

対策として、建物内のThermal zoneが1つの換気回路で構成されるように修正します。KITCHNからDINING、もしくはSTORAGEとLarge OpeningやCrackなどを介してつないで、1つの換気回路網として構成する必要があります。

下図は「C:\TRNSYS18\Examples\TRNFLOW_example」の本来の換気回路網の例です。このように1つの換気回路でまとまるように構成します。

換気回路が1つのモデル
換気回路が1つのモデル

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0019(64bit)
TRNFlow 1.4

TRNSYS日本語版マニュアル

TRNSYSのマニュアルの一部日本語化しようと考えています。とはいえ、オプションを除いた標準機能だけで1700ページ以上あります。いきなりすべてを日本語化するのは難しそうです。まずは、はじめて使われる方向けに、TRNSYSの概要や使い方についてまとめられている、Getting StartedTutorialsから段階的にはじめようと思います。ということで、第一弾として以下のマニュアルを公開しました。

2018/12/25更新

Vol.1 Getting Started

  • すべて翻訳済み

Vol.6 TRNEdit

  • 6.9. TRNSEDアプリケーションの作成
  • 6.10. 参考資料(追加)

Vol.9 Tutorials

  • 9.1. TRNSYSサンプルの使用
  • 9.2. シンプルなTRNSYSプロジェクトの作成New
  • 9.3. 3D データモデルを使用した建物プロジェクトNew
  • 9.3.1. はじめにNew
  • 9.3.2. TRNSYS3D(SketchUp Plugin)と 3D Building ウィザードNew

ダウンロードは、以下のサイトから。

GitHub/TRNSYS.JP

https://github.com/TRNSYSJP/TRNSYS.JP/tree/master/TRNSYS18/Documentation

順次、追加、更新を行う予定です。なお、日本で作成しているオリジナルテキストは、引き続きこちらのURLで公開中です。

https://github.com/TRNSYSJP/TRNSYS.JP/tree/master/Docs

TRNSYSでPCMの計算

TRNSYSには市販されているもので2種類のコンポーネントがあります。(TESSとTRANSSOLARからそれぞれリリースされています)その他にも何種類か作られているようです。たまたま見つけたのでリンクを貼っておきます。(しかし、これなんかの論文か?)

Development and numerical validation of a new model for walls with phase change materials implemented in TRNSYS
(TRNSYSに実装されたPCMを用いた壁の新しいモデルの開発と数値検証)

それぞれのコンポーネントによって特徴が有るようです。このドキュメントの中程にある比較表(Table 1)が参考になります。

PCMのコンポーネント
PCMのコンポーネント

Type1270(TESS)とType399は日本でも取り扱ってます。それ以外は研究室レベルのツールかな?番号の割り当てからだと、200番台はユーザー用なので、おそらくは研究機関、3200番台はCSTBの割り当てなので(こちらも研究機関だけど)、それぞれ開発されているようです。

Weather Data Map Plugin 0.9.2をリリースしました

TRNSYS の気象データリーダー、Type15-x、Type99のプラグインを更新しました。EPWを含め、新たに3種類の気象データ形式に対応しています。あとはドイツで使われている形式に対応すれば世界制覇なんですが、もうちょっと時間が掛かりそうです。

Type15-2 TMY2
Type15-3 Energy+(EPW) New!
Type15-6 Meteonorm for TRNSYS
Type15-7 TMY3 New!
Type99 User Format New!

ダウンロードはこちらから
https://github.com/TRNSYSJP/WeatherDataMap/releases

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0019(64bit)

TRNSYSコンポーネントのPrintデバッグ

あまり需要がある話とは思えないですが、備忘のためまとめておきます。

プログラムをデバッグする方法としてPrintデバッグというのがあります。名前の通り処理の途中にデバッグ用の出力を入れて画面やファイルに書き出して値をチェックするという古典的な方法です。

ファイルに書き出す方法として、TRNSYSにはリストファイル(.lst)へ書き出すAPI、writeToList()が用意されています。これを使って、次のようにコーディングするとリストファイルへの書き出しが行えます。

power_rated = getParameterValue(3)
Call writeToList(‘—– PRINT DEBUG —–‘)   ! コメントの書き出し
write (messageText,'(f10.3)’) power_rated   ! 値を文字列に変換
Call writeToList(messageText)                     ! .lstファイルへ書き出し

なぜか今朝、コンパイラのデバッグモードが使えなくなってしまったため、Printデバッグを使って見ました。TypeStudioでデバッグしようとすると、いまのところこの方法かな?

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0019(64bit)

TRNSYSのデモ版、テキスト、動画など

はじめてTRNSYSを使われる方や検討されている方向けにデモ版やテキスト、動画のご紹介です。

TRNSYSデモ版情報

デモ版は以下のサイトで公開されています。こちらからダウンロード、ご試用いただけます。

TRNSYS18 Demo Version

製品版に比べて機能制限はありますが、後述する基本操作ガイドの内容もお試し頂けます。デモ版の制限事項、注意点については以下のサイトをご覧下さい。

参考:TRNSYS18のデモ版が公開
https://www.kankyoukei.com/2017/11/trnsys18.html

テキスト

下記URLのサイトで日本語版の入門、トレーニングテキストを公開しています。
https://github.com/TRNSYSJP/TRNSYS.JP/tree/master/Docs

はじめてTRNSYSを使われる方には以下のテキストがお勧めです。

  • TRNSYS入門.docx
  • TRNSYS18 – 基本操作ガイド – Meteonorm編.docx
  • TRNSYS18 – 基本操作ガイド(2室モデル演習).docx

2018/12/27追記一部ドキュメントの和訳を行っています。主にチュートリアルの日本語訳を公開中です。現在、太陽熱集熱システム、多数室モデル(建物)の日本語訳が公開されています。

TRNSYS日本語版マニュアル

動画

TRNSYSの基本操作の動画を公開中です。

https://www.youtube.com/channel/UCC0w9ExqnMmSVTZsjJB6p3g

TRNSYSで日単位で平均、最低、最高気温を計算する

2018/11/21 追記 日平均、月平均のサンプルを作成、公開しました。

https://github.com/TRNSYSJP/TRNSYS.JP/tree/master/TRNSYS18/MyProjects/Type155_DailyAndMonthlyAve

社内的なリクエストでタイトルのような処理を考えてみました。(何のために要るのかはよく分かっていないんだが。。。)

さてと、計算結果を出力すると、通常は図のようにタイムステップごとに結果が出力されます。(タイムステップ1hの例)

タイムステップごとに結果が出力される
タイムステップごとに結果が出力される

こういったデータから日平均を計算は、通常Excelなどを使って処理することになります。でも、何度も繰り返して計算する場合、Excelで計算を繰り返すのも大変です。

TRNSYSには標準で積算や平均値を計算する便利なコンポーネント、Type55が用意されています。これを使って日平均、最低、最高気温を計算してみます。

用意する物

  • Type99-AMeDAS
  • Type55 Periodic Integrator
  • Type25a

Type99-AMeDAS

気温のデータが必要なので、気象データリーダーを用意します。今回はType99-AMeDASを使いましたが、気温のデータが出力できるコンポーネントであれば何でもOKです。

Type55 Periodic Integrator

期間を指定可能な積分コンポーネント。任意の時間間隔で平均や最高、最低値を出力してくれる便利なコンポーネントです。

Type25a

ファイル出力用。

プロジェクトの作成例

Type55を使ったプロジェクト
Type55を使ったプロジェクト

必要最小限の構成のでシンプルなプロジェクトになります。一つ一つコンポーネントの設定を見ていきましょう。

Type99-AMeDAS

デフォルトのままで変更なし。

Type55 Periodic Integrator

日単位(24h間隔)で処理するため何カ所か設定を変更します。

Type55の設定
Type55の設定
  1. 気温を扱うので積分ではなく合計値処理を指定(-1)
  2. 気象データの開始(1:00)に合せて相対開始時刻を0hへ変更
  3. 集計する間隔を24hへ設定
  4. 平均、最高、最低値をリセットする間隔を24hへ設定

Type25

Excelで扱いやすくするため、ファイルの区切り文字をカンマ”,”へ変更。

デリミタをカンマへ変更
デリミタをカンマへ変更

ファイルの拡張子もExcelで扱いやすいように”.csv”へ変更しておきます。

ファイル拡張子を"CSV"へ変更
ファイル拡張子を”CSV”へ変更

コンポーネントの接続

Type99-AMeDAS → Type25c

気温の値のみ接続
気温の値のみ接続

Type99-AMeDAS → Type55 Periodic Integrator

こちらも気温の値のみ接続する
こちらも気温の値のみ接続する

Type55 Periodic Integrator → Type25c

動作確認のためすべての出力を接続する
動作確認のためすべての出力を接続する

動作確認のためすべての出力を接続する。

出力結果

計算を実行して書き出した結果が下の図です。一日分のデータを抜きして、重要な項目を塗りつぶしています。

一日分のデータを抜粋
一日分のデータを抜粋
  1. 集計範囲(24h)
  2. 合計値
  3. 平均値
  4. 最低値と発生時刻
  5. 最高値と発生時刻24時間の範囲で平均、最低、最高の値が出力されているのが確認できます。

Type25で一工夫

さて、欲しい値が書き出されているのは確認できました。でも、これだと毎時間ごとの値も出力されているので、少々見にくい状態です。日単位の値が欲しいので、次はType25の機能を使って必要な値のみを抜き出す処理を追加します。変更箇所は一箇所だけ、Printing intervalの設定をデフォルトの「STEP」から「24」へ変更します。

Printing intervalを「24」へ変更
Printing intervalを「24」へ変更

再度実行してCSVファイルを開くと、下の図のように24h間隔で値が書き出されるようになりました。必要なデータだけまとまっています。タイムステップごとの出力に比べて大分すっきりしました。こういった一工夫で計算の作業がぐっと楽になります。

24h間隔で値が書き出される
24h間隔で値が書き出される

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0019(64bit)

eveBIM-TRNSYSの製品紹介を和訳してみた。

以前に紹介したBIMデータからシミュレーションデータへの変換ツール、eveBIM-TRNSYSの製品紹介ページを和訳してみました。

原文はcstbのこちらのサイト

以下、Google翻訳&意訳で仏語からの訳です。日本語が少々堅いのはご勘弁。

——–

デジタルモデルをTRNSYSソフトウェアにインポートするためのモジュール

BIMからTRNSYSへのゲートウェイ

eveBIM-TRNSYSデジタルモックアップビューアを使って、建物をTRNSYSのプロジェクトへ簡単に入力できます。建物やシステム向けの動的シミュレーションソフトウェアを使用するすべてのTRNSYSユーザー(設計事務所、製造業者、ガス、電力供給業者、大学)を対象としています。

さらに

コラボレーション – IFCフォーマットは、プロジェクト関係者間の相互運用性を促進相補的 – TRNSYSプロジェクトへの建物の入力を容易にする

機能

デジタルモデルから温熱シミュレーションへ..

eveBIM-TRNSYSデジタルモックアップモジュールにより、TRNSYSプロジェクトへ建物を簡単に入力できます。BIMモデルからTRNSYSの建物モデルへの変換はIFC(Industry Foundation Classes)標準交換フォーマットを介して行われます。

eveBIM-TRNSYSモジュールでは様々な機能を利用してTRNSYSプロジェクトへの変換が行えます。

  • 建築要素のツリービュー表示機能
  • インタラクティブな3D表示機能
  • 温熱計算のためのゾーニング処理
  • 建物外皮(壁、開口、床、屋根)の形状調整
  • モデルへの物性値の割り当て
  • TRNSYSの計算用ファイル(.buiファイル、.dckファイル)の自動生成
  • 検証のための簡易シミュレーションの実行
  • TRNSYS Simulation Studio、TRNBuildの起動

時間を節約し、生産性を向上

eveBIM-TRNSYSは、TRNSYSソフトウェアのデータ入力に要する時間を削減し、分析や最適化のための時間を確保します。設備機器やシステムに集中することができます。

TRNSYS,TypeStudioのテキストを公開しました。

TypeStudioで作るTRNSYSコンポーネント(1)~(4)をまとめたテキストを公開しました。

元記事に加筆修正、画像の調整などを行ってテキスト形式にまとめています。

GitHub/TRNSYS.JP(以下のリンク先)でView Rowをクリックするとダウンロードできます。

https://github.com/TRNSYSJP/TRNSYS.JP/blob/master/Docs/TRNSYS18%20-%20TypeStudio%E3%81%A7%E4%BD%9C%E3%82%8BTRNSYS%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88.docx

Github
Github

関連

TypeStudioで作るTRNSYSコンポーネント(1)
TypeStudioで作るTRNSYSコンポーネント(2)
TypeStudioで作るTRNSYSコンポーネント(3)
TypeStudioで作るTRNSYSコンポーネント(4)

TypeStudioで作るTRNSYSコンポーネント(4)

前回ビルドしたコンポーネントを動かしてみます。

プロジェクトを用意する

テスト用になにかプロジェクトを用意します。

今回はExamplesからBegin.tpf(”C:TRNSYS18\Examples\BeginBegin.tpf”)を使ってテスト用のプロジェクトを作成します。

Bgin.tpfを元にテスト用のプロジェクトを作成する
Bgin.tpfを元にテスト用のプロジェクトを作成する

すこしコンポーネントを整理して、前回作成したコンポーネント(Type201Heater)を図のように配置して接続します。

Type201Heaterを配置したテスト用のプロジェクト
Type201Heaterを配置したテスト用のプロジェクト

Type138は今回作成したヒーターと同じ計算を行っています。計算結果の比較のため、Type138からRequired Energy Inputの値をType65へ出力します。

Type139,Type65の接続
Type139,Type65の接続

Type201Heaterの接続

Inputは集熱パネルから出口温度(Outlet temperature)、流量(Outlet flowrate)の値をそれぞれ対応するTin,mへ接続します

Type1、Type201の接続
Type1、Type201の接続

そしてOutputはType65へ負荷(Q)を接続しておきます。

Type201,Type65の接続
Type201,Type65の接続

最後に、配置されているType138の設定温度(Setpoint temperature)に合せて、Type201Heaterの設定温度(Tset)を60℃へ変更します。

Tsetを60に設定する
Tsetを60に設定する

そして結果がこちら。

計算結果
計算結果

Type138とType201の結果がまったく同じになるため、グラフがぴったりと重なって描かれています。少々分かりにくい画面になってしまいましたが、正しく動作しているようです。(注:画面はType65/Prameters/Left axis maximumを10000へ変更しています)

計算結果の検証

今回は同じ計算を行うコンポーネントがあったので、簡単に比較検証できました。普通は存在しないのでなんらかの方法で結果を検証する必要があります。

ここでは関連するデータを書き出してExcelで検証する方法をご紹介します。まずは検証用のデータを書き出すためType25を配置して、図のように接続します。

Type25を追加
Type25を追加

コンポーネントが計算に使用するためInputsで受け取っているパネルの出口温度、流量、それとコンポーネントの計算結果をType25で出力します。ちなみに接続は図のような感じで。。。

Type1,Type25の接続
Type1,Type25の接続
Type201,Type25の接続
Type201,Type25の接続

書き出された値を使ってExcelで計算して同じ結果になるか比較、検証します。図のようにコンポーネントが行っているのと同じ計算式をセルに入力します。

Type201と同じ式をExcelで設定する
Type201と同じ式をExcelで設定する

注:上の図では、なぜか0hourのQの値が変な値になっていますが、これは出力値の初期化に由来します。理由と対策は後述します。そして、QExcelで計算した値を比べてみると、同じ値になっている事が確認できます。

Type201とExcelで計算結果の比較
Type201とExcelで計算結果の比較

Outputの初期化(おまけ)

さて、0hourでおかしな値が出力されていた件ですが、これはOutputの初期化が原因です。コンポーネントのソースコードを再確認すると Output の初期化を行っている箇所があります。(下図の赤枠の関数)

Outputの初期化
Outputの初期化

ここで、Outputの1番目、つまりQの値を”0”に初期化しています。計算の開始時点なので、”0”で問題なさそうですが、この書き方はFORTRANでは整数値として扱われます。

やや専門的な話になりますが、この関数では実数値で値を受ける取る事を期待しています。ここで整数値から実数値へのキャスト(変換)で微少な誤差が発生しているようです。

さきほどの図では見切れていてますが、値は “+4.2439915819305446-314″(指数表記)で書き出されています。実質は限りなく”0″なので実用上は問題ありませんが、計算上はこういうケースが発生します。

対策はごくごくシンプルで”0“から”0.0“へ書き換え、実数としてFORTRANが認識できるようにすれば解決です。

実数0.0で初期化する
実数0.0で初期化する

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0019(64bit)

関連

TypeStudioで作るTRNSYSコンポーネント(1)
TypeStudioで作るTRNSYSコンポーネント(2)
TypeStudioで作るTRNSYSコンポーネント(3)
TypeStudioで作るTRNSYSコンポーネント(4)