Translate

2017/11/22

TRNSYSのエラーメッセージの読み方と対策

TRNSYSの計算実行に表示されるエラーメッセージと対策について。

Simulation Studioでプロジェクトを実行すると以下のようなメッセージが表示される事があります。

image

One error was found in the deck.
Check the listing file for more information!

このメッセージは、ひとまず何らかのエラーが発生したので、詳細はリストファイル(.lst)の参照を促しています。
ちなみに、このメッセージで”the deck”と言っているのは、Simulation StudioからTRNSYSの計算エンジンへ引き渡しているdeckファイル(.dck)の事を指しています。ここでは詳しく説明しませんが、Simulation Studioはdeckファイルを作るだけで、計算自体はTRNSYS本体(TRNEXE.EXEというプログラム)が行っています。

リストファイル(.lst)

TRNSYSが計算中のログやエラーメッセージを書き出すファイルです。デフォルトではプロジェクト名と同じ名前で、拡張子.lstで書き出されます。テキストファイルなので、直接メモ帳で開いて確認することもできますが、エラーには直接関係しないログや警告メッセージなども含まれるため、読み解くには慣れが必要です。通常はSimulation Studioにリストファイルの内容を整理して表示する機能が用意されているので、そちらを使って詳細を確認します。
TRNSYS18では上記のメッセージでOKボタンをクリックすると、自動的に整理された情報が表示されます。
image

TRNSYS17ではSimulation Studioのツールバーからアイコンをクリックして表示します。

image

情報の読み方

下図は先ほどの画面を拡大した物です。いくつかの項目に分かれて情報が表示されています。

image

Severity
メッセージの種類。Error,Warning,Noticeのいずれかになります。Error以外は直接的なエラーの原因ではないので、ひとまず無視してもOKです。(Warningも一定数を超えると、問題ありと見なしてTRNSYSが計算を停止することがあります。あまり多い場合はなにか問題が潜んでいます。)

Time
メッセージが書き出された時刻(通し時間)この例では0.000なので計算開始時点で発生しています。計算の途中で発生しているようであれば、その期間に条件指定されている設定が原因の可能性が高くなります。例えば、夏期にエラーが発生しているのであれば、冷房の設定などに問題がある可能性があります。

Unit
メッセージを書き出したTypeのUnit番号。Simulation StudioでTypeを配置した段階で、自動的に割り当てられます。確認する場合はキーボードの[F2]を押すとTypeのアイコンとともに表示されます。
同じTypeを複数配置している場合に、該当するTypeを特定する手がかりになります。

参考:TRNSYSコンポーネントのType No. を確認する

Type
メッセージを書き出したType番号。この例ではType65が書き出しています。Type65に何らかの原因がある事になります。

Message
メッセージの本文。エラーであれば原因に関しての詳しい説明が表示されます。

対策

上記の⑤の部分は以下のようなメッセージになっています。

TRNSYS Message    431 : An error occurred when trying to access the output file. The specified file must not be currently in use by another application and (if specified) must be in a directory that currently exists. Please check the file ASSIGNment for this unit/type, and re-run the simulation. This error can happen if the file accessed is locked by another application such as MS Excel. It can also occur if the printed values are outside the range set by a FORMAT statement in the code. In this case stars (*) are printed to the output file istead of numbers.
     Reported information  : Not available

指定された出力ファイルにアクセスできない。他のアプリケーション、例えばExcelでロックされている可能性がある。と言っています。
実際、計算結果をExcelで開いたままにしているケースは良くあります。こういう時は出力ファイルを開いているExcelを閉じれば解決です。

その他のエラー

使用しているTypeや組み合わせによって様々なエラーの原因が考えられます。上記のように発生するTypeや時刻、エラーメッセージを参考に原因を特定します。
原因が特定できない場合は、単純に設定を変えて状況が変わるか検討する方法もあります。例えばパラメーターの値を大きな値や小さな値に振ってみるとか。上記の例でいえば、なにか出力先のファイルに問題があるのは明らかです。ファイルの名前や、フォルダを変更して試してみると良いでしょう。

2017/11/22追記

TRNSYS-USERSを参照する

TRNSYSのメーリングリスト、TRNSYS-USERSにはエラーを含め、使い方や計算方法についての過去の質疑が蓄積されています。ここでエラーメッセージを検索すると、かなりの確率でログがヒットします。エラー原因を検討する際には非常に有用です。

参考:TRNSYSの情報はここがおすすめ


ヒント

メッセージの部分をダブルクリックすると、該当するTypeの設定画面を表示することができます。(下図)Typeが何十個と配置されているような複雑なプロジェクトでは、直接設定画面へ行けるので効率的に作業できます。

image


動作環境

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

Windows10 Pro(64bit)
TRNSYS18.00.0015(64bit)

2017/11/01

TRNSYS18のデモ版が公開

trnsys.comのサイトでTRNSYS18のデモ版が公開されています。

TRNSYSを試してみたい、TRNSYS18の新機能をバージョンアップ前に試したいといった向きにお勧めです。お試し下さい。

Overview - Demo | TRNSYS : Transient System Simulation Tool

このサイトからインストーラーをダウンロード、インストールして起動すると、最初に下図のような画面が表示されます。

image

This is a demo-version – restrictions apply.
Contact your TRNSYS distributor for more information.

これはデモ版です - 制限が適用されます
詳しくはTRNSYSの販売代理店までお問い合わせください


ということで、解説しましょう。

デモ版の制限事項

以下、制限事項(TRNSYS18デモ版のリリースノートより)

TRNSYSのデモ版は、評価の目的のみを対象としています。
・このデモ版はTRNSYSバージョン18.00.0015に基づいています。
・有効期限は2018年9月30日までです。
・作成できるプロジェクトにはいくつかの制限があります。
・デモ版のプロジェクトではコンポーネントは5つまでに制限されます。
・多数室モデル(TRNBuild)のプロジェクトでは、Airnodeは2つ、Windowは3つ、昼光コントロールタイプ(Daylight control type)は2つ、昼光センサーポジション(daylight sensor position)は2つまでに制限されます。
・サンプルプロジェクトは、記載されている制限に準拠していなくても、修正なしで実行可能です。

その他、記載されていませんがドキュメントなども基本的な部分に限られます。ソースコードも添付しませんが、基本操作や機能を確認するには十分な仕様になっています。新しく追加されたTypeStudio(専用FORTRANコンパイラ)もお試しできます。

さらに詳しい情報については、TRNSYS概要か、こちら(お問い合わせ窓口)までお問い合わせください。

余談

リンク先からダウンロードして、インストーラーを起動すると下図のようなウィンドウが表示されて、ちょっとびびります。(ネットからダウンロードすると、OSによってはセキュリティ上の制限で表示されます。

「実行しない」ボタンのみで、途方に暮れますが、こういう時は「詳細情報」をクリックしてください。

image

「実行」ボタンが表示されるので、ここをクリックしてインストールを始めて下さい。

image

動作環境

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

Windows10 Pro(64bit)
TRNSYS18デモ版(18.00.0015/64bit)

2017/10/23

TRNSYS18トレーニングガイドを更新しました

TRNSYS18基本操作ガイド 2室モデル演習 を更新しました。

今回の更新では、TRNSYS3Dの部位別のConstructionの設定や日射遮蔽物の扱いについて追記しています。

2017-10-21_14h38_28

詳しくはこちら↓

トレーニングテキスト改訂 TRNSYS18(2017年10月20日版)

2017/10/20

TRNSYS18 新機能概要(10)新しいコンポーネント

TRNSYS18では新しいコンポーネントが多数追加されています。設計の初期段階で使えるシンプルなコンポーネントが用意されています。

6.    新しいコンポーネント 

標準ライブラリには、初心者がソフトウェアの使い方を簡単に理解できるようにする多数の基本コンポーネントモデルが追加されています。
また、これらの基本コンポーネントは、設計の初期段階で詳細情報が未定の段階でTRNSYSの使用を容易にします。
これらの基本コンポーネントは、設計が進んで詳細が決まった段階で、より詳細なコンポーネントに置き換えることができます。
例えば、設計プロセスの早い段階では、全体の冷房負荷は想定できているが使用する冷却コイルはまだ選択されていない場合があります。はじめは容量だけを指定する基本的な冷却コイルモデルのコンポーネントを使用し、冷却コイルが設計された後、詳細な冷却コイルモデルのコンポーネントへ置き換えることができます。

6.1.    New Controller Components

Simple Thermostat
Simple Humidistat
Dehumidistat
Aquastat (heating and cooling)
Tempering Valve (heating and cooling)
Delayed Inputs
Simple Differential Controller

6.2.    New Electrical Components

Four Parameter PV
Five Parameter PV

6.3.    New HVAC Components

Electric Resistance Heater (air and liquid)
Gas Heater (air and liquid)
Air Cooled Chiller
Air-to-Air Heat Pump
Boiler
Chilled Water Coil (dry or wet and partially wet)
Simple Cooling Tower
Direct Expansion Coil
Fan Coil
Furnace
Hot Water Coil (constant UA and varying UA)
Water Cooled Chiller
Water-to-Air Heat Pump
Residential Split System AC
PTAC
VAV Air Handler
VAV Air Handler with PFP Boxes Detailed Cooling Tower

6.4.    New Hydronics Components

Duct 
Constant Speed Fan
Variable Speed Fan
Air Diverter
Return Plenum

6.5.    New Loads and Structures Components

NIST Simple Infiltration
Simple Natural Ventilation

6.6.    New Thermal Storage Components

Simple Gas Heated Liquid Storage
Simple Electric Heated Liquid Storage
Constant Volume Liquid Storage – with HX Constant Volume Liquid Storage – no HX

6.7.    New Utility Components

Calling External Programs (MATHIS)
Calling External Programs (Python)
Calling External Programs (CoolProp) – 他のTypeから呼び出すことができるサブルーチンを提供します。

2017/10/05

TRNSYSで内部開口の作り方

TRNSYS17以降、多数室モデルでは外気側の開口に加えて、内部開口も扱えるようになっています。以前に書きましたが、住宅の縁側(最近はないか?)、ビルのダブルスキンのような開口が室内にもあるモデルを作成することができます。

モデルを作る際の注意点を何点かご紹介です。

内部開口形状の作り方

SketchUp/TRNSYS3Dでモデリングする際は、開口を作成する隣接するZone同士で次のようにモデリングする必要があります。

同じ形状の開口を作成する(内壁を作るのと同じで、背中合わせで同じ形状の窓を作成します)
・Constructionは"ADJ_WINDOW"を割り当てる

image

これでTRNBuildへImportすれば自動的に内部開口として変換されます。

Front/Backに注意

TRNBuildではWallの向きをFront/Backの指定で区別しています。外気側の壁(外壁)は室内側がFront,外気側がBackとして扱われます。内壁では任意の向きで指定できます。内部開口を設ける場合もこの向きによって日射の扱いが変わります。具体的には図のようにInternal Shading factorの扱いがFront/Backに依存します。Front側のみ指定可能です。内部開口にブラインドを付けるケースでは、この向きに注意してください。(External Shading factorの指定はありません)

外側がFront:外側にInternal Shading factor

image

室内側がFront:室内側にInternal Shading factor

image


動作環境

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

Windows10 Pro(64bit)
TRNSYS18.00.0015(64bit)

2017/09/28

TRNSYSにIF文が欲しい

条件判定

TRNSYSで計算する際に条件を判断して処理したいケースってないですか?例えば暖冷房期間の判定処理とか。手軽な方法としてEquationを使って判断する方法(TRNSYSのEquationで条件判定)がありますが、少々分かりにくいのが難点。

単純な処理だと、これはこれで十分なんですが、条件が複数になると途端にハードルが上がります。例えば、冷房期間でも気温の低い早朝は窓開け換気の条件を設定したい。ただし、外気の湿度は60%以下の場合に限る。なんて条件を設定されるとEquationでは表現が難しくなります。(工夫すれば多分できると思うけど、可読性は低くなります)

スクリプトで代用できないか?

開発言語やスクリプトのようにIF文が使えると、少々条件が増えても簡潔に記述することができるはずです。例えば、書き方はこんな感じで。。。

#暖房、冷房期間の判定
if  time<=2760 or time>=7056 then
    heating=true
else
    heating = false
    cooling = not heating
endif

#外気導入の判定:冷房期間でも外気温が25℃未満、湿度が60%以下なら窓開け換気する

if cooling and tamb <25 and rh <=60 then
    ach=10  #外気導入分の換気量を増やす
    aircon=0  #冷房のスイッチをOFF
else
    ach=0.5
    aircon=1 #冷房のスイッチをON
endif

あとは、achをInfiltrationへairconをCoolingTypeへ渡して処理する。

こういった処理をやろうとすると、いくつかやり方があります。

JavaScriptを試す

以前にスクリプト言語の実装を試みたこともあるのですが、パフォーマンス的にいまいち。cstbが有償配布しているW言語コンポーネント(Type79)と比べると恐ろしく処理速度が遅くなります。

TRNSYSでJavaScriptを使ってみる

TRNSYS Type79 とスピード対決

素直にType79を購入すればいいのですが、共同研究とか納品とか考えると、それもちょっとなーという感じです。(とはいえ使ってみた感じ、そこそこ便利は便利そうです)

世の中には同じような事を考える人がいるらしく、Javaで実装している例もあります。

TRNSYSとJavaを連成?(1)

こもれなんかJavaの環境設定が面倒で簡単じゃないんですよね。

単純に配布できて、誰でも利用できる仕組みって作れないんだろうか?パフォーマンスが良くて、配布も関連ファイル同梱するだけでOKとか、Lua言語とか検討してみるか?とか考えていると。。。

Type169(Direct Call)登場

TRNSYS18からPythonが標準でサポートされるようになりました。Pythonなら技術計算では広く使われているのでパフォーマンスも定評があります。Pythonは別途インストールが必要になりますが、使いやすいディストリビューションも利用できます。

スクリプトは次のような感じで記述できます。

import TRNSYSpy as trn

def PythonFunction():
     # retrieve values from the  and Inputs
     time = trn.getInputValue(1)
     tamb = trn.getInputValue(2)   
     rh=trn.getInputValue(3)
     #冷房、暖房期間の判定
     if  time<=2760 or time>=7056 :
         heating=True
         cooling=False
     else:
         heating = False
         cooling=True
        
     #冷房期間の外気導入判定
     if (cooling==True) :
         if  (tamb <25) and (rh <=60) :
             ach=10
             aircon=0
         else:
             ach=0.5
             aircon=1
     else:
         aircon=0
    
     # return the new values to the Outputs
     trn.setOutputValue(1,ach)
     trn.setOutputValue(2,aircon)
     return

image

Equationで書くのに比べると、だいぶ解りやすいですね。(まあPythonが前提ではありますが)
Pythonには数値計算のライブラリも用意されているので、使いようによってはMatlabのような使い方もありそうです。


動作環境

Windows10 Pro(64bit)
Python:Anaconda 4.3.1(Python 3.6/64bit) https://www.continuum.io/downloads
TRNSYS18.00.0014(64bit)