Translate

2012/10/11

TRNSYSのDebug機能を使ってみる

TRNSYSでシミュレーションしていて、計算結果が本当に合っているんだろうかと思える時があります。計算結果が想像していたのとかなり違っている時とか、そういう事ないですか?
そういう場合、コンポーネントの出力をファイルに書きだして値を検討すると、結果的には思い違いだったり、単位間違えて変な値を入れていたりといった、間違えてんのオレじゃん的なケースが大部分です。

しかし、そのたびにファイルに書きだすのも面倒、そういう時にはTRNSYSのDebug機能を使うと手っ取り早く値をチェックする事ができます。
TRNSYSに慣れていないと少々解りにくいネタなのでブログに書くのはありや?なしや?な気分ではあるんですが、ま、知ってて役に立つこともあるので、書いてみます。
新規にオリジナルのコンポーネントを作っている時なんか、割りと役立ちそうな機能です。

下図のようなプロジェクトでコンポーネントの出力内容を調べてみることにします。ここでは気象データのコンポーネントを選んで値を調べてみます。
まず最初はDebugの機能を有効化します。Control Cardsのダイアログを表示して、Debugの項目でTrueを選択します。
次は、値を調べたいコンポーネントを選んで、Traceをクリックします。
コンポーネントのアイコンの右上に「足跡」のマークが表示されたら準備完了です。

あとは普通にシミュレーションを実行したら、Listing fileを表示します。
ダイアログから「Lst File...」のタブをクリックして、Listing Fileを表示します。
メモ帳が起動して、Listing Fileが表示されたら、ファイルの中程を見てみると、数字が大量に書きだされている箇所があります。

数値が塊で書きだされていますが、" *TRACE*"で始まる行がコンポーネントの情報です。タイムステップごとにコンポーネントの情報がひとまとめに書きだされます。
この行に続いて、そのタイムテップのPrameters,Inputs,Outputsの値が書きだされます。値は行頭の文字で次のように区別されます。
P Prametersの値
I  Inputsの値
O Outputsの値

確認のためコンポーネントの設定と見比べてみます。

まずは、Prametersの設定と出力値
出力:
P  1.0000000000000000E+00  3.0000000000000000E+01  4.0000000000000000E+00  1.0000000000000000E+00

指数表記なので若干見難いですが、Parametersの設定と同じ値が書きだされています。

次はInputsの値。
 出力:

 I  2.0000000000000001E-01  9.0000000000000000E+01  0.0000000000000000E+00  9.0000000000000000E+01  9.0000000000000000E+01
 I  9.0000000000000000E+01  1.8000000000000000E+02  9.0000000000000000E+01  2.7000000000000000E+02

こちらもInputsで指定された値が書きだされます。
注意)この例は気象データリーダなのでInputsの値は固定ですが、他のコンポーネントから値を受け取るタイプのコンポーネントでは値がタイムステップごとに変化するので、設定と比較しても値は合わない点に注意して下さい。

最後はOutputs
出力:

 O  1.0722681999206543E+01  5.8429500579833984E+01  5.5000001192092896E-01  6.7500000000000000E+01  2.9444400024414062E+02
 O  0.0000000000000000E+00  4.0000000596046448E-01  4.6000001020729542E-03  9.2652435302734375E+02  7.9320762691168056E+01
 O  5.1277485277523738E+01  4.5304650878906250E+02  1.9795703125000000E+02  2.5508947753906250E+02  0.0000000000000000E+00
 O  7.9320762691168056E+01  0.0000000000000000E+00  1.0081582565307617E+03  6.5666436767578125E+02  3.0618920898437500E+02
 O  4.5304679870605469E+01  5.2068817138671875E+01  9.0000068664550781E+01  1.2207890853881836E+03  8.1899053955078125E+02
 O  3.5649386596679688E+02  4.5304679870605469E+01  3.9944126129150391E+01  9.0000068664550781E+01  1.4799444580078125E+02
 O  0.0000000000000000E+00  1.0268976593017578E+02  4.5304679870605469E+01  1.2793133544921875E+02  9.0000068664550781E+01
 O  1.4799444580078125E+02  0.0000000000000000E+00  1.0268976593017578E+02  4.5304679870605469E+01  1.4005589294433594E+02
 O  9.0000068664550781E+01

Outputsは気象データから読み出された値が出力されます。このためコンポーネントの設定値と比較はできません。
でも値を順番に見ていくと、それらしい値かどうかの見分けはつきます。この例だと一番最初の項目は外気温になります。書きだされた値を見ると1.0722...+01でタイムテップは16hなので、冬の夕方16:00としては妥当な値だという事がわまります。

こうやって順番に調べていくと、おかしな値なのか、そうじゃないのか調べていくことができます。




0 件のコメント:

コメントを投稿