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)

Pocket

4件のピンバック

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です