Translate

2018/11/20

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

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

用意する物

  • Type99-AMeDAS
  • Type55 Periodic Integrator
  • Type25a
Type99-AMeDAS

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

Type55 Periodic Integrator

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

Type25a

ファイル出力用。

プロジェクトの作成例

image

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

Type99-AMeDAS

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

Type55 Periodic Integrator

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

image

① 気温を扱うので積分ではなく合計値処理を指定(-1)

② 気象データの開始(1:00)に合せて相対開始時刻を0hへ変更

③ 集計する間隔を24hへ設定

④ 平均、最高、最低値をリセットする間隔を24hへ設定

Type25

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

image

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

image

コンポーネントの接続


Type99-AMeDAS → Type25c

気温の値のみ接続する。

image

Type99-AMeDAS → Type55 Periodic Integrator

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

image

Type55 Periodic Integrator → Type25c

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

image


出力結果

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

image

① 集計範囲(24h)

② 合計値

③ 平均値

④ 最低値と発生時刻

⑤ 最高値と発生時刻

24時間の範囲で平均、最低、最高の値が出力されているのが確認できます。

Type25で一工夫

さて、欲しい値が書き出されているのは確認できました。でも、これだと毎時間ごとの値も出力されているので、少々見にくい状態です。日単位の値が欲しいので、次はType25の機能を使って必要な値のみを抜き出す処理を追加します。

変更箇所は一箇所だけ、Printing intervalの設定をデフォルトの「STEP」から「24」へ変更します。

image

再度実行してCSVファイルを開くと、下の図のように24h間隔で値が書き出されるようになりました。

image

動作環境

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

2018/11/13

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

2018/11/09

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

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

プロジェクトを用意する

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

image

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

image

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

image


Type201Heaterの接続

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

image

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

image

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

image


そして結果がこちら。

image

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

計算結果の検証

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

まずは検証用のデータを書き出すためType25を配置して、図のように接続します。


image

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

ちなみに接続は図のような感じで。。。

imageimage

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

image

注:上の図では、なぜか0hourのQの値が変な値になっていますが、これは出力値の初期化に由来します。理由と対策は後述します。

そして、QExcelで計算した値を比べてみると、同じ値になっている事が確認できます。

image


Outputの初期化(おまけ)

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

image

ここで、Outputの1番目、つまりQの値を”0”に初期化しています。計算の開始時点なので、”0”で問題なさそうですが、この書き方はFORTRANでは整数値として扱われます。やや専門的な話になりますが、この関数では実数値で値を受ける取る事を期待しています。ここで整数値から実数値へのキャスト(変換)で微少な誤差が発生しているようです。
さきほどの図では見切れていてますが、値は "+4.2439915819305446-314"(指数表記)で書き出されています。実質は限りなく"0"なので実用上は問題ありませんが、計算上はこういうケースが発生します。

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

image

動作環境

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

2018/11/06

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

前回はProformaを作成して配置まで行いました。今回は、いよいよ計算部分を作り込んでいきます。シリーズ3回目にしてようやくTypeStudioの登場です。

ソースコードのエクスポートと編集

前回作成したProformaからソースコードの雛形をエクスポートします。

はじめに、Simulation Studioを起動して、Proformaを開きます。("C:\TRNSYS18\Studio\Proformas\MyComponents\Type201Heater.tmf")

次にメニューから [File]-[Export as]-[Fortran] を選んでソースコードをエクスポートします。この機能ではProformaの情報を使って、ソースコードの雛形の書き出しを行います。

image

① エクスポート先のフォルダとして"C:\TRNSYS18\MyTypes"を選択。

② ファイル名、"Type201Heater.f90"を指定。

③ 「保存」ボタンをクリックします。

image

エクスポートが終わるとTypeStudioで編集を促す、図のようなメッセージが表示されます。

image

TypeStudioの起動とソースコードのインポート

スタートメニューからTypeStudioを起動して、エクスポートしたソースコードを読み込みます。

TypeStudioのメニューから[Workspace]-[Add Source Files]を選択して、

image

① 先ほど保存したフォルダ "C:\TRNSYS18\MyTypes"を選び、

② "Type201Heater.f90"を選択して

③ 「開く」ボタンのクリックしてソースコードを読み込みます。

image

下の図のような表示になっていれば準備完了です。

image


ソースコードの確認

ソースコードの中身を確認すると、61行目から67行目にProformaのParameters,Inputsの値に相当する変数が宣言されている事が確認できます。

image


ソースコードの実装

さて、次は雛形のソースコードへ計算処理や出力を実装します。

変数の追加

前回用意した式の"Q"に対応する変数を追加します。

image

図の赤枠のようにParameters,Inputsの変数宣言の後へ変数"Q"を追加します。

image

計算処理の追加

コンポーネントのソースコードでは処理を追加する位置が決められています。ソースコードのコメントで"PERFORM ALL THE CALCULATION HERE FOR THIS MODEL. "と書かれた位置に処理を追加します。この例では180行付近にコメントがあるので、前回準備した計算式に沿って、図のように処理を追加してください。

image

出力処理の追加

最後に、計算した値をOutputsへ出力処理を追加します。これも追加する位置が決まっています。ソースコードのコメント"Set the Outputs from this Model (#,Value)"を探して、その後に出力処理を記述します。
この例では214行目付近にコメントが見つかります。すでに出力処理の雛形が用意されているので、出力する値の部分のみを図のように書き換えます。

image

コンポーネントのビルド

ソースコード修正が終わったら、いよいよビルドです。(ソースコードからコンポーネントの実体を生成します)

メニューから[Build]-[Compile Workspace]を選択します。

image

図のように画面右上に緑色のメッセージが表示されればビルドは成功です。もし違うメッセージが表示されていたら間違いがあります。ソースコードを見直して再度ビルドを行ってください。

image

これでコンポーネントが利用できる状態です。ということで、次回は簡単なプロジェクトを用意して動作を確認してみます。

つづく

動作環境

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

2018/11/02

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

Proforma(プロフォルマ)の作成

さて、まずはじめにコンポーネントを作成する前にProformaを用意します。普段はあまり意識しないProformaですが、Simulation Studioでコンポーネントとして見ているアイコンの実体がProformaです。

image

そもそもProformaって何?

Simulation Studioでコンポーネントの設定で使う図のような画面(Variables Window)が表示されますが、この画面に表示される内容を定義しているのがProformaファイル(拡張子.TMF)です。

image

TRNSYSのコンポーネントの実体はFORTRANのサブルーチン(C言語だと関数)に相当します。ProformaはSimulation Studioの画面とサブルーチンのデータ(Parameters,Inputs,Outputs)の橋渡しルールを定義しています。

計算算式の準備

まずは、これから作成するコンポーネントの式を用意します。今回はドキュメントに載っているシンプルなヒーターの式を例にProformaを作成します。

image

Tset  設定温度
Tin    入口温度
m      流量
Cp     比熱
Q      負荷

TRNSYS18, Vol.7 Developer’s / Programmer’s Guide,  p7-17, Eq.7.3.1-1 より

さて、この式を元にコンポーネントのProformaを作っていくわけですが、はじめにそれぞれの値をPrameter,Input,Outputに割り当てていきます。

Qは計算結果なのでOutputで問題なさそうです。m, Tset, Tinは時系列で変化する値としてInputに割り当てます。Cpは時系列で変化するならInputで、それほど影響がないようであれば固定値でParamterで扱います。今回はParameterで扱うことにします。

値の割り当てを整理すると次の表のようになります。

Name Role Dimension Unit Def.
m input Flow Rate kg/hr 100.0
Tset input Temperature C 50.0
Tin input Temperature C 20.0
Cp parameter Specific Heat kJ/kgK 4.190
Q output Power kJ/hr 0.0

※デフォルト値(Def.)はInputでは初期値として使われるので、それっぽい値に設定します。Cpはここでは水の比熱です。

Proformaを作成する

Simulation StudioでProformaを作成します。

① メニューから[File]-[New]を選択する。

② 表示されるウィンドウで「New Component」を選択して、

Createボタンをクリックする。

image

Proformaのウィンドウが表示されるので、式に合せて設定を行います。

はじめに「General」タブのType Numberの項目にType番号を指定します。ここでは201を指定してください。

image

次に、「Variable」タブで、「Variables(Parameters, Inputs, Outputs, Derivatives)」ボタンをクリックして、設定画面を表示します。

image

Inputの項目を追加します。「Inputs」タブを選んで、画面右のAddボタンをクリックして新しい項目を追加します。

image

先ほどの表に合せてInputsの項目を3つ追加、設定します。

image

つづいて、同じように「Outputs」タブで項目を一つ追加、設定します。

image

そして最後に「Parameters」タブで項目を一つ追加、設定したらOKボタンをクリックしてウィンドウを閉じます。

image

メニューから[File]-[Save]を選択してProformaを保存します。

① 保存先として新しいフォルダ”C:\TRNSYS18\Studio\Proformas\MyComponents “を作成します。

② ProformaをType201Heater.tmfという名前で保存します。

image

Simulation Studioのメニューから[Direct Access]-[Refresh tree]を選んで、ツールバーにType201Heaterが表示されればProformaの完成です。

image

この段階で、すでにコンポーネントとしてを配置、他のコンポーネントと接続できる状態です。

ただし、実行してみると図のようなエラーになります。Proformaは出来上がったものの、まだコンポーネントの本体、つまり計算処理の部分は作成されていないためエラーになります。

image

次回は、計算処理の部分を作成します。

つづく。

動作環境

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