ビール造りにTRNSYS

TRNSYSにはオプションでTESS Librariesという便利なコンポーネントを集めたライブラリが用意されています。

もともとTESS社(TRNSYSの開発グループの1社)がコンサルティングプロジェクトで開発したコンポーネントを元に構成されています。つまり実務で検証が取れているって事ですね。

このオプションには14種類のライブラリが含まれていて、更にそれぞれ複数のコンポーネントが含まれる構成になっています。(概要はこちら

このライブラリの概要(英文)の訳をチェックしていたら。。。 「ビールの醸造プロセスでなんとかかんとか。。。」という訳が出てきて、誤訳かと思ったらホントでした。(いままでちゃんと読んでなかったよ、ソーリー)

原文:Cogeneration (CHP) Components The TESS Cogeneration (also known as the Combined Heat and Power or CHP) Library features many steam system components: pumps, valves, superheaters, desuperheaters, turbines, etc.. These components may be used to simulate different cogeneration or trigeneration systems at different scales. TESS has used them to simulate the thermodynamics of the beer brewing process and to model a biomass power plant.

和訳:Cogeneration (CHP) Components
Cogeneration Components にはポンプ、バルブ、過熱器、過熱器、タービンなどの多くの蒸気システムコンポーネントを備えています。これらのコンポーネントを使用して、異なるスケールで異なるコージェネレーションシステムまたはトリジェネレーションシステムをシミュレートできます 。 TESS 社ではビール醸造プロセスの熱力学シミュレーションとバイオマス発電プラントのモデル化にそれらを使用しました。

まー、いろんな使い方があるんですね、TRNSYSって。

SketchUp2017とTRNSYS

TRNSYSのSketchUp2017用のプラグイン(TRNSYS3D Plugin)は正式にはリリースされていません。
でも、2,3日まえに先にFacebookで書いちゃいましたが、SketchUp2016のプラグインがそのまま2017でも利用できるようです。

で、試してみました。 インストーラーを上記のリンク先からダウンロードして、右クリックのメニューから「管理者として実行」でインストールを開始します。 途中、インストール先のフォルダの指定の画面で、SketchUp2017のパスへ変更します。

インストールフォルダを"2017"へ変更
インストールフォルダを”2017″へ変更

あとはそのままインストール作業を進めればOK。
実際に使ってみたのが下の画面。まあ、見慣れたいつもの画面ですね。

TRNSYS3Dの画面
TRNSYS3Dの画面

TRNSYSのドキュメントをGoogle翻訳で簡単翻訳

TRNSYSのドキュメントは詳細に記述されています。英文の多読にはもってこい。専門用語も豊富なので、海外の文献を読むいいトレーニングになります。とかとか強がってはみても英文なのはやはり辛い。特に年末や年度末の忙しい時は。。。

幸いな事にTRNSYSに添付されるドキュメントはすべてPDF形式です。Adobe ReaderなどのPDFリーダーで表示するのが一般的ですが、最近はブラウザでも開くことができます。これとGoogle翻訳を組み合わせると簡単に翻訳できます。 PDFは「C:\Trnsys17\Documentation」に格納されています。

C:\Trnsys17\Documentation  フォルダ
C:\Trnsys17\Documentation フォルダ

ドキュメントをそのままダブルクリックするとPDFビューワーが立ち上ってしまうので、はじめにブラウザ(Google Chrome)を起動して、ドラッグ&ドロップでPDFを開きます。

ドキュメントをブラウザへドロップ
ドキュメントをブラウザへドロップ

翻訳したいテキストを選択して、右ボタンクリックで表示されるメニューから「Google 翻訳」を選択します。

右ボタンで「Google翻訳」を選択する
右ボタンで「Google翻訳」を選択する

するとChromeに新しいタブが開いて、翻訳が表示されます。

選択したテキストの訳が表示される
選択したテキストの訳が表示される

機械翻訳なので多少変なところはありますが、大筋を理解するには十分なレベルじゃないでしょうか?詳細は後で原文をちゃんと読むという事で、忙しい時など時間の節約になります。

続FORTRANコンパイラが。。。

前回までの話

なぜかIntel Parallel Studio XE 2017(以下、XE2017)でTRNSYSのコンポーネントのプロジェクトが変換できなくなってしまいました。(詳しくはこちら

なにか条件があるのかもしれませんが、どうもうまく変換できません。変換がダメなら、ドキュメントを参考にスクラッチから新しく作ろうかと思いましたが、それもいろいろ設定が細かくて面倒です。(vol 7.Programmer’s Guideに記載されています)
もしかして変換が不要な既存のプロジェクトを元に修正すれば簡単なのではと思いついて試してみました。

プロジェクトを準備する

TRNSYSにはXE2017より少し前のバージョン、XE2011のソリューション(IvfCXE2011.sln)が添付されています。COMPAQ Visual Fortranに比べたらかなり最近のバージョンなのでプロジェクトの変換が不要(※)です。これに含まれているプロジェクトを元に新しいコンポーネント用のプロジェクトを作成してみます。

※「ソリューション」としてはバージョンが違うので変換が必要になりますが、ここでは「プロジェクト」を使うので、特に変換なしで作業できます。

以下、すでにプロフォルマからExportしたソースコード(Type201.for)がある前提で話を進めます。

まずは、IvfCXE2011.slnの所在を確認します。「C:\TRNSYS17\Compilers」フォルダにある「IvfCXE2011」フォルダがそれです。

「C:\TRNSYS17\Compilers」フォルダにある「IvfCXE2011」フォルダ
「C:\TRNSYS17\Compilers」フォルダにある「IvfCXE2011」フォルダ

このソリューションはTRNDLL、その他をビルドするものなので、さらに3個のプロジェクト(フォルダ)が含まれています。

ここから「MyType」フォルダを丸ごとコピーして雛形として流用します。コピーしたら分かり易いように「MyType201」といういう名前にリネームしておきます。

「MyType」をコピーしてリネームする
「MyType」をコピーしてリネームする

さらにフォルダの中身を覗くとプロジェクトファイル(.vfproj)があるので、これも分かり易いように「MyType201.vfproj」にリネームします。

プロジェクトファイル(.vfproj)を「MyType201.vfproj」にリネームする
プロジェクトファイル(.vfproj)を「MyType201.vfproj」にリネームする

さらにSimulation StudioからExportしたソースコードを同じフォルダに放り込んだら準備完了です。

フォルダへExportしたソースコードを追加する
フォルダへExportしたソースコードを追加する

XE2017(画面はVisual Studio2015で起動)を起動。先ほど用意したプロジェクト「MyType201.vfproj」を開いて、「Sourace Files」フォルダへソースコード「Type201.for」を追加します。

「Sourace Files」フォルダへソースコード「Type201.for」を追加する
「Sourace Files」フォルダへソースコード「Type201.for」を追加する

プロジェクトのプロパティ変更

あとは、追加したソースコードに合せてプロジェクトの設定を何カ所か変更します。

[プロジェクト]-[プロパティ]で設定画面を表示して、以下の赤枠の項目を変更します。構成「Release」で、「リンカー」の出力ファイルの項目をプロジェクト名に合せて「MyType201.dll」へ変更します。

2017/10/19 追記
ここは
$(OUTDIR)$(ProjectName).dll としておくとプロジェクトと同じ名前でDLLが出力されます。プロジェクト名と揃える場合に便利な指定方法です。

リンカーの設定で出力するファイル名を指定する
リンカーの設定で出力するファイル名を指定する

つづいて「ビルドイベント」のコマンドラインのファイル名を同じように変更します。

ビルド後にファイルを所定のフォルダへコピーする
ビルド後にファイルを所定のフォルダへコピーする

2017/10/19 追記
ここも copy $(OutDir)$(ProjectName).dll  C:\TRNSYS17\UserLib\ReleaseDLLs\*.*  とするとプロジェクト名と同じ名前で扱われます。

【重要】構成「Debug」も忘れずに同じように変更を行います。

あとはビルドして、「C:\Trnsys17\UserLib\ReleaseDLLs」フォルダにMyType201.dllができあがっていれば無事成功です。

ビルド後にMyType201.dllが出来上がれば成功
ビルド後にMyType201.dllが出来上がれば成功

これでType201が利用できる状態になったので、TRNSYSのプロジェクトから呼び出して計算に利用できます。

もっと面倒なのかと思ったけど、なんとかなった。 さらにこのプロジェクトをソリューション(IvfCXE2011.sln)へ追加しておくと、TRNDLL.DLLのビルドも同時にできてDebug、Releaseモードの切り替えが楽になります。

複数のコンポーネントを開発する場合には、同じ手順でプロジェクトを作成、まとめてソリューションへ登録しておくと、ソースコードのメンテナンスがやりやすくなります。

FORTRANコンパイラが。。。

2017/06/27 追記
この件、XE2017 Update4で修正されています。以下の環境で確認済み。
TRNSYS17.02.0005
XE2017 Update4
Windows10 Pro (64bit)

TRNSYSのコンポーネントを作成するのに欠かせないIntelのFORTRANコンパイラ。その最新版、Intel Parallel Studio XE 2017(以下、XE2017) でプロジェクトの変換がうまくいかないようです。

詳しくは以前に書いた、「作ってみようTRNSYSコンポーネント(3) ソースコードの生成」の手順に従って「COMPAQ Visual Fortran プロジェクト項目の抽出」を実行する必要があるんですが、その処理がうまくいかないようです。

これSimulation StudioからExportされたCOMPAQ Visual Fortran形式のプロジェクトをXE2017形式へ変換する作業なんですが、はて、なんでできない?いままでできていたのに。 試しにXE2017の評価版をインストールして、CVF66.dsw(C:Trnsys17CompilersCvf66)を開くと。。。

まずは、アップグレードの画面が表示されて、これは無事に終了。

プロジェクトとソリューションの変更をレビュー
プロジェクトとソリューションの変更をレビュー

つづいて、「COMPAQ Visual Fortran プロジェクト項目の抽出」(Extract Compaq Visual Fortran Project Items)を実行すると以下のような画面が表示されて上手くいきません。

「Fortran プロジェクト・ファイルの変換に失敗しました。
プロジェクト・ファイル(.dsp)は変換されていません。」
「Fortran プロジェクト・ファイルの変換に失敗しました。
プロジェクト・ファイル(.dsp)は変換されていません。」

こりゃ困る。コンポーネントを作るときに困る。XE2013まではちゃんと変換できていたのになんでだろ?いやな汗が出てきた。

なにか手を打たなきゃと思い始めたところで、次回へつづく。

RADIANCEはじめました(2)

地味にマニュアル読んでます。

What is Radiance?

Radianceという単独のプログラムは存在せず、複数のプログラムから構成されている。これって、UNIXワークステーションが使われていた頃には割と一般的に使われていた方法。

今になってはどういう経緯で見学に行ったのか思い出せないが、昔CGのプロダクション大手でツールのデモをしてもらったことがある。オペレーターというか制作の担当者がバチバチとコマンド入力して作業している姿に愕然としたことを思い出した。これが作っている映像のキレイさとのギャップがすごい。商業ベースで使われる映像の華やかさと、キーボードから入力される謎なコマンド。当時はあれで最先端だったはずなんだけど、今考えるとかなり人に厳しい。憶えるのに相当時間が掛かるはずだ。(当時もGUIを使ったツールは存在したんだけど、開発しながら映像を制作する現場だと、あれはあれで正解だったのかも)

さて、Radianceである。図には10個ぐらいしか描かれていないが、ドキュメントによると100個以上のプログラムがあるらしい。組み合わせでとってもフレキシブルに使える。(ホントか?)
複数のコマンドをつなげたり、オプションで自由自在らしいので、楽しみである。いや楽しみじゃないな、これ。

Ray-tracing vs. Radiosity

Radianceでは他のレンダリングツールに比べて物体と物体の相互反射を厳密に計算するらしい。(レイトレーシング法による)これに対して一般的には ambient light(環境光?)を使って計算している。(簡易に計算して高速に処理している?)
Radianceって他のレンダリングツールと何が違うんだろう、というか他のツールで光の計算はできるんじゃない?って思ってたんだけど、このあたりが学術系で使われる理由でしょうか?

いまどきは商用ツールでも同じような事ができそうな気もするんだけど、残念ながらリサーチ不足でよく分からない。

読み始めたチュートリアルは約50ページ。現在3ページ目ぐらい。先は長い。

つづくか不安。

RADIANCEはじめました(1)

RADIANCEってなにやら高機能な雰囲気なのに、ホント情報が少ない。世界的に使われているツールなのでさぞや書籍(英文)はあるだろうとAmazon.comで探したら、まったくない。いや、探し方が悪いのかもしれないが、やっぱりない。(”RADIANCE”って普通によく使われる名詞なので検索するとアクセサリとか、小説とかキラキラななのがいっぱい引っかかってくる)
まあ、そういう事もあるのか、なにか納得がいかないがradiance-online.orgによると初心者向けにはチュートリアルあたりがおススメらしい。

チュートリアルを紐解くとドキュメントを読む際のおススメが書いてある(下図)
入口がUNIXのドキュメントってあたりが時代を感じさせます。今となってはすでに初心者向きの内容じゃないないような。。。
とりあえずRadiance Tutorialが最初に読むには良さそうだという事が分かったところで本日終了。

つづくかもしれない。

TRNSYSで日付時刻を出力する

TRNSYSの計算結果をファイルへ出力すると指数表記で書き出されます。図はトレーニングテキストのモデルでType65cから出力したファイルです。ご覧のようにタイムステップごとの計算結果が指数表記でならんで出力されます。この指数表記も分かりにくいですが、スペース区切りで出力されているので、後からExcelで扱う場合も少々面倒くさい。こういう場合は、区切り文字を変更してカンマ区切りにしてあげると扱いやすくなります。

参考:TRNSYSの計算結果をCSV形式で保存するTIPS

カンマ区切りに変更すると、以下のようなります。最初のと比べるとカンマで区切りになって値の間隔が少し詰まった感じになります。このファイル形式ならファイルのダブルクリックで即Excelが起動して編集できます。

実際にExcelで開いたのがこちらの画面。(わかりやすいようにExcelで開いた後にセルを「数値」へ変更した画面です)数値になってだいぶ見やすくなりました。

さてここからが本題です。書き出されたファイルの先頭のカラム「TIME」には必ず計算した際の時刻(1/1 0:00からの経過時間)が出力されています。この値から日付や時刻へ換算します。例えば、2/1を探そうとすると、1/1~31まで24hx31日で744hあるので、2/1の1:00は744+1で745hの結果という事になります。これが、すごく分かりにくい。特定の期間や月別になにか処理をしようとすると、この換算にだいぶやられます。

Type21 Time Valuesで日付時刻を出力する

良くしたものでTRNSYSには日付時刻を出力する便利なコンポーネントが用意されています。図の赤枠のアイコンがType21です。(たぶん同じような苦労をした人が実装したにちがいないと思います)

2017/1/16更新 「月」はCalendar Monthへ変更(Simulation Monthでは「月数」になるため1年を超えると13,14,15…のように出力されるため)

つなぐ項目は3つ。日付時刻に対応する SimulationCalendar Month, Day of the month, Hour of the dayの3項目をType65cへ接続します。

ファイルに出力してExcelで開くと、日付時刻も一緒に表示されるようになります。(しつこいようですが、Excelで開いた後にセルを「数値」へ変更した画面です)

まとめ

このように出力を指定する際、あらかじめType21を加えておくと日付時刻の処理が格段に楽になります。繰り返し計算を行う場合や、特定の期間のデータを抽出する際には憶えておくと便利なコンポーネントの使い方です。

追記:作成したサンプルをGithub/TRNSYS.JPへアップしました。
TRNSYS.JP/TRNSYS17.02/MyProjects/Type21_Time_Values/

拡張アメダス2010年版がリリースされましたね

以前から2010年版がリリースされるという話は聞いていたのですが、ついにリリースされたようです。 以下、気象データシステムのサイトより。「標準年EA気象データ2010年版」が増えています。

現在販売中の標準年EA気象データ
・「標準年EA気象データ1995年版」(1981~1995年の15年間のEA気象データに基づく)
・「標準年EA気象データ2000年版」(1991~2000年の10年間のEA気象データに基づく)
・「標準年EA気象データ2010年版」(2001~2010年の10年間のEA気象データに基づく)

データファイルの形式は従来と同じという事なので、TRNSYSその他でも標準年のデータがそのまま使えるはずです。(もし使えなかったらかなり困る)

Type56の出力項目あれこれ

Type56の出力項目は既定では数項目だけですが、実は100数十項目(※)が用意されています。室温、湿度の他、潜熱/顕熱負荷、表面温度や外皮のエネルギーバランスまで多岐に渡ります。

※詳しくはドキュメント(Vol.5 Multizone Building modeling with Type56 and TRNBuild)に記載されています。日本語版の簡易翻訳版(只今、作成中)はTRNSYS.JP/Docs/Type56/NTYPEs.docxで公開しています。

図はトレーニングテキストで作成したモデルですがOutputには4項目とシンプルな構成になっているのが分かります。

出力項目

出力の項目は出力対象ごとにカテゴリ分けされています。以下の図はTRNBuildで出力項目を指定する画面ですが、赤枠の部分でカテゴリを選択します。

・airnode outpus

Zone(Airnode)を対象とした出力項目。室温や湿度、暖冷房負荷や設定温度などが含まれます。

・group of airnode outputs

複数のZone(Airnode)を対象とした出力項目。複数のZoneの暖房負荷や冷房負荷をまとめて出力する項目が用意されています。

・surface outputs

壁や窓など面を対象とした出力項目。表面温度や窓のU値などの項目が用意されています。

・comport outputs

MRTなど快適性の値の出力項目が用意されています。

・balances

日射や湿度のバランスをまとめて出力する項目が用意されています。

出力項目の追加例

ここでは壁の表面温度の出力を例に項目を追加してみます。

1. 対象Zoneの選択

①はじめに表面温度を出力する壁を含むZoneを選択します。
②次に左向き矢印をクリックして選択状態にします。

2. 出力項目の選択

①surface outputs の項目をクリックします。
②次にPossible “Outputs”のリストからTSI(内表面温度)を選択して、
③左向き矢印をクリックして選択状態にします。

3. 壁の指定

表面温度を出力する壁を選択します。 ①Selected “Outputs”のリストに追加された、TSIの項目をダブルクリックして設定画面を表示します。

②Possible “Walls” in Airnode のリストから北面の壁(No.6の壁)を選択して、
③左向き矢印をクリックしてSelected “Surfaces”のリストへ追加します。

Selected “Surfaces”のリストに壁(赤枠)が追加されているのを確認したら、
④✔ボタンをクリックしてウィンドウを閉じます。

4. Simulation Studioで出力項目を更新

TRNBuildで出力項目を追加しただけではSimulation Studioでは認識されていません。Simulation Studioの画面でType56のアイコンを選択、右クリックで表示されるメニューからUpdate building variable listを選択して出力項目の更新を行います。【←ここ重要】

最後にType56のOutputの項目を確認して表面温度の項目が追加されていれば終了です。