TRNSYSの計算時間を計測する

たまにTRNSYSの計算時間を計測したい事があります。例えば、締切りまであまり時間が無いケースや、頻繁に変更や修正が発生するケースでは、予め計算時間が分かっていると対策が立てやすくなります。

時計を見ながら計算時間を計る方法もありますが、WindowsのPowerShell(以下、PowerShell)を使うと、もっと確実に時間を計る事ができます。

PowerShellにはスクリプトやコマンドの処理時間を調べるMeasure-Commandという便利な機能が用意されています。使い方は簡単で、図のように計測したいコマンドを大括弧で挟んで実行します。コマンドが終了すると、処理時間がTotalSeconds(秒単位)やTotalMilliseconds(1000分の1秒単位)で表示されます。

Measure-Commandの実行例
Measure-Commandの実行例

この例は、あっという間の1.7336ミリ秒で終了しています。

TRNSYSの計算時間を計測する

TRNSYSの計算時間の計測は、コマンドラインからDckファイルを指定して次のように指定します。

 Measure-Command { C:\TRNSYS18\exe\TrnEXE64.exe Building.dck /n | out-null }

ちょっと長いですが、大括弧の中身はTRNSYSのプログラム本体(TrnExe64.exe)、Dckファイル、実行オプション(/n)、最後の”| out-null”はプログラム終了待ちのおまじないです。

以下、TRNSYSのExamplesに含まれる3D_Buildingのプロジェクトを実行した例です。この計算では7.967秒ほど掛かっています。

Examplesの実行例
Examplesの実行例

こうして1回分の計算時間を計っておきます。複数パターンの計算を行う場合は、1回分の計算時間を目安にすべての計算に掛かる時間が予測できます。

複雑で計算に時間が掛かるモデルであれば、計算の期間やタイムステップを粗くして、計算全体の処理時間を予測します。例えば、1年間分の計算はひとまず1ヶ月分の計算を実行、それが5分で終われば全体では1時間ほど(5分×12ヶ月=60分)掛かる事が予測できます。計算結果が出るのが1時間後であれば、その間は他の作業や食事、休息に充てることができます。

おまけ

Measure-Commandを().TotalSecondsで囲って、秒数のみ出力することも出来ます。

 (Measure-Command { C:\TRNSYS18\exe\TrnEXE64.exe Building.dck /n | out-null }).TotalSeconds

指定はちょっと長くなりますが、実行すると下の図のように秒数のみ表示されます。

 ().TotalSeconds で秒数を表示
().TotalSeconds で秒数を表示

同じように ().TotalMinutes, ().TotalHours で分単位、時間単位で表示することもできます。

動作環境

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

Pocket

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です