TRNSYSと日本語

TRNSYSって英語版のソフトなので、日本語がエラーの原因になるケースがあります。以下、TRNSYSのツールと注意点です。

SketchUp/TRNSYS3D

  • IDFファイル名
  • Zone名

建物のモデルを作成すると、ファイル名に案件名などをつけたくなります。例:実験棟A.idf SketchUpのバージョンにもよりますが、保存した時点でファイル名が文字化けすることがあります。

また、Zone名も「和室8畳」や「玄関」などの名前も文字化けやエラーの原因になることがあります。これらはすべて英数字で指定してください。英数字の名前でも途中にブランクを含む「1F  LDK」のような名前もTRNBuildでは認識されないので避け、アンダーバーなどに置き換えて「1F_LDK」のようにしてください。

TRNBuild

  • Layer, Construction type, Window type, Schedule type
  • Regime Type全般
  • Zone
  • buiファイル名(.b17,.b18)

すべての名称は英数字で入力してください。TRNBuildで扱う分には日本語でも問題ないようですが、SketchUpとやり取りをする際に文字化けを引き起こすことがあります。

Simulation Studio

  • ファイル名(プロジェクト)
  • フォルダ名

ファイル名についてはSketchUp/TRNSYS3D, TRNBuildも共通で、日本語やブランクを含む名称は避けてください。デフォルトのフォルダ「C:TRNSYS18MyProjects」にプロジェクトを作成されるのがお勧めです。

以下の図のようなユーザー名やフォルダ、ファイル名に日本語やブランクを含む名称は避けるようにしてください。

【すごく危険な例】

・作業中のフォルダの名前が日本語、ブランクを含んでいる

例)”恵比寿ビル A棟”

・プロジェクトファイルの名前が日本語、ブランクを含んでいる

例)”A棟 低層階.tpf”

・フォルダのパスに日本語、ブランクを含んでいる

例)”ユーザー\クアトロ\ドキュメント\恵比寿ビル A棟”

image

【問題ない例】

・フォルダ、プロジェクトファイル、フォルダのパスがすべてブランクを含まない英数字

image

動作環境

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

TRNSYS/TRNBuildの設定項目

TRNSYS/TRNBuildで計算結果が予想外

TRNSYSで計算してみたら予想外の結果になる時があります。こういった場合、まずは何か条件を見落としていないか、誤った設定がないか疑ってみます。

とはいえ、多数室モデルの計算では建物を扱うためパラメーターが多岐に渡ります。気象条件のような外的な条件に始まって、断熱性能や窓性能などの物性的な条件、加えて照明機器や家電や在室者のような室内側の条件もあります。多数室の計算に影響を与えるTRNBuildの設定ってどれぐらいあるのか、思いつくまま項目を書き出してみたら、ずいぶんな項目数になってしまいました。

図はマインドマップ形式。中央から外側へ行くに従って細分化され設定項目に近くなります。分かり易いようにTRNBuild用語をそのまま記載しています。

多数室モデル

計算結果がどうも思ったようにならないとか、実測と比較して合わないようなケースでは、これ全部が検討対象になります。

実際は割と1箇所、ないし2箇所ぐらいの設定が大きく影響しているケースが多いのですが、建物の規模や仕様、計算対象によって影響を受ける条件も変わるので、なかなか大変な作業になります。

原因を考える

基本的には計算結果を踏まえて原因を絞り込んでいく作業になります。例えば、室温が低温で安定しているようであれば、日射が届いていないのかなとか?で、あれば日射遮蔽の設定、例えばExt shade factorをうっかり設定していないか疑ってみます。

日射遮蔽は問題ないようであれば窓の性能上げすぎじゃないか、それも問題ないようなら床側の境界温度が低すぎではにかとか、順に試して検討していきます。想定外の結果でもそれが正解ってケースもありそうですが。。。

動作環境

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

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が計算を停止することがあります。あまり多い場合はなにか問題が潜んでいます。)

2018/5/16 追記

● Error 

計算を継続できなくなる致命的な問題が発生しいてる。文字通りのエラーなので、原因の検討、対策が必要。設定上の問題の他、WARNINGの多発などの原因が考えられる。

● Warning

警告メッセージ。Errorではないが使用者に注意を促す意味で出力される。収束計算に一定以上の計算が掛かる、計算した値が想定される上限値を超えているなど。頻繁に発生するようであれば計算上の問題が考えられるため検討、対策が必要。

● Notice

通知メッセージ。処理内容の確認のため出力される。ErrorでもWarningでもないため特に対応は不要。

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)

TRNSYS18のデモ版が公開

ウィスコンシン大学SELのオフィシャルサイトTRNSYS18のデモ版が公開されています。

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

TRNSYS18 Demo Version

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

image

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

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

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

デモ版の制限事項

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

TRNSYSのデモ版は、評価の目的のみを対象としています。

・このデモ版はTRNSYSバージョン18.00.0015に基づいています。
・有効期限は2019年9月30日までです。(2018/10/22現在確認)
・作成できるプロジェクトにはいくつかの制限があります。
・デモ版のプロジェクトではコンポーネントは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)

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から呼び出すことができるサブルーチンを提供します。

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 factorimage

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

動作環境

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

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

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 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)

TRNSYS18 新機能概要(9)TRNSYSエンジン,レポート機能

TRNSYS18では、計算エンジンの部分も改良、新機能の追加が行われています。
今回追加された自動レポート機能は、計算に使ったコンポーネント設定や結果のサマリーを確認するのに役立ちそうです。

5.    TRNSYS エンジン

5.1.    日射補間処理の改良

今回のリリースでは日射の補間処理に2つの変更が行われています。1つめの変更点は、水平面天空日射と法線面直達日射が他の日射量の計算に使用されるようになりました。これにより、データファイルに正の値の水平面天空日射があるときは、TRNSYSによって計算される水平面天空日射が存在することが保証されます。

2つめの変更点は、1時間未満の日射量の計算に新しい方法が追加されています。この方法は、数学的モデルに対する日射の物理的形状形成を避けます。

この方法では、その時間の開始点(前の時間の終点または日の出の0)と予定時刻の日射から時刻ごとの日射量の終点を推定します。終点は、日没時に強制的にゼロになります。
気象データファイルからの時刻と、そのタイムステップの総日射量の開始点と終了点を取得することで、時刻の中間点の値を知ることができます。
日射は、開始点から中間点、中間点から終点まで直線的に変化することが想定されます。この方法では、気象データファイルからの時間単位の日射量の合計が保持され、また、負の値は避けられ、以下に示すように日射の滑らかな曲線が作成されます。

image

5.2.    湿り空気線図状態計算方法の更新

ASHRAEでは長年に渡って、より正確な測定値を利用しHandbook of Fundamentalsの湿り空気線図ルーチンを更新しています。

TRNSYS18では、湿り空気線図の計算処理を再検討し、最新のASHRAEアルゴリズムへ変更を行いました。

5.3.    自動レポート生成機能

TRNSYS 18では、有用なデフォルトレポートを作成するシンプルで効率的な方法が導入されました。すべてのコンポーネントには、ユーザーにとって有用な標準データセットが定義されます。

例えば、太陽熱集熱器(Type1)がプロジェクトで使用されている場合、ユーザーは、コンポーネントの設定の概要(集熱面積、集熱器の枚数など)、ならびにシミュレーションの対象期間の平均値、積算値や総エネルギー取得、出口温度の最大値に興味があるかもしれません。

ユーザーは、プロジェクト内の対応するコンポーネントを選択し、以下に示すように「レポート」アイコンをアクティブにするだけで、このデータを標準シミュレーションレポート(*.ssr)へ出力することができます。

image