Translate

2017/09/18

TRNSYS18 新機能概要(7)

今回も昼光シミュレーションの続きで、計算用のデータファイルの生成の解説です。

4.2.3. データファイルの生成

DaySIMアプローチにより、各センサーポイントの昼光係数は、Radianceフォーマットの幾何形状および材料定義に基づいて前処理ステップで生成されます。この処理はTRNBuildの "Tools"メニューから "generate radiance files"を選択して行います。

Radianceファイルの生成には3つのオプションが用意されています。

1. Generate radiance input files (*rad) only:

このオプションは、他のアプリケーションで使用するためのRadianceのファイルを生成します。Radianceファイルは、Zoneの幾何形状と他のZoneによるセルフシェーディングを含む関連するすべてのシェーディングジオメトリから構成されます。

2. “classic” format of daylight coefficients for DAYSIM:

Radianceファイルを生成します。(オプション1を参照)

DAYSIMの「gendc」が呼び出され、DAYSIMの”classic”アプローチに従って昼光係数が生成されます。データはゾーンごとに日射遮蔽あり、日射遮蔽なしの2つのファイルに保存されます。


3. “dds” format of daylight coefficients for DAYSIM:
Radianceファイルを生成します。DAYSIMの「gendc」が呼び出され、DAYSIMの”dds”アプローチに従って昼光係数が生成されます。データはゾーンごとに2つのファイルに保存されます。
image

次の情報がRadianceファイルの生成に必要になります。

• Weather station Latitude, Longitude, standard meridian, site elevation)
気象データの地点情報(緯度、経度、標準子午線、標高)

• Scene rotation angle
建物をTRNSYS3dでモデリングした際と異なる向きで計算する場合は角度を指定します。 方位角と同じ角度を使用していることを確認してください(Type56のInput 6:AAZM)

Additional properties

• grand reflectance
地面の状態は昼光の計算結果に大きな影響を与える可能性があります。ユーザーはTRNSYS3dで作成した地面にIDを割り当てることができます。地面の反射率はこれらのシェーディングサーフェースに適用されます。シェーディングIDが定義されていない場合、地面からの反射は反射率(grand reflectance)を使ってモデル化されます。

• shader reflectance
温熱計算のモデルのシェーディングサーフェース(Shading Object)には反射の値がありません。 しかし、昼光モデルでは、shader reflectance(反射率、デフォルト= 0)を考慮に入れることが可能です。 指定された値はすべてのシェーディングサーフェースに適用されます。

Radiance parameters
レイトレーシング(ray tracing, 光線追跡法)シミュレーションとその結果は、使用されるパラメーターに大きく依存します。 最も重要なパラメーターは、TRNBuildインターフェースに表示されています。

• ambient bounces (ab): アンビエントバウンド回数

これは、間接成分の計算(Indirect calculation)で使用される拡散反射回数の最大数です。0を指定すると間接成分の計算は行われません。 複雑なファサードを持たない一般的な部屋では、ab値は5で十分です。このパラメーターは計算時間を大幅に増やしますので注意して設定する必要があります。ベネシャンブラインドを含むファサードを持つ部屋を考慮する場合、光線が数回反射されて建物から出る可能性があるため、それ以上の大きな値を指定する必要があります。

• ambient divisions (ad): アンビエント分割数

アンビエント分割数は、間接入射光を決定するために各周囲点から半球に送られる初期サンプリング光線の数を設定します。 このパラメーターは、明るさの変化が大きいシーンの輝度分布が高い場合には大きくする必要があります。 間接照度のモンテカルロ法による計算誤差は、この数の平方根に反比例します。

• ambient super-samples (as): アンビエントスーパーサンプル数

分散の多い分割された半球内の領域をサンプリングするために使用される追加の光線の数。アンビエントスーパーサンプル数は、通常はアンビエント分割数(ad)の約1/2または1/4に設定する必要があります。 アンビエントスーパーサンプル数は、有意な変化を示すアンビエント分割数にのみ適用されます。

• ambient resolution (ar): アンビエント解像度

この数値は、補間に使用されるアンビエントの値の最大密度を決定します。アンビエント解像度で割ったシーンのサイズよりも近い間隔のサーフェスではエラーが増加し始めます。アンビエント解像度(ar)とアンビエント精度(aa)をシーンサイズと組み合わせると、正確に処理される最小のジオメトリフィーチャが得られます。(下記参照)

シミュレーション解像度 = (最大シーンサイズ x アンビエント精度) / アンビエント解像度

• ambient accuracy (aa): アンビエント精度

この値は間接照度補間の誤差にほぼ等しくなります。0が指定されると補間は補間処理は行われません。

デフォルトの設定は、DaySIMの推奨設定です。モデルの複雑さとサイズによっては、ファイル生成に数時間から数時間かかることがあります。このため作業中のチェックには、精度を抑えて生成時間を短縮するのが有効です。

ambient bounces

アンビエントバウンド回数

ambient divisions

アンビエント分割数

ambient

samples

アンビエントサンプル数

ambient resolution

アンビエント解像度

ambient accuracy

アンビエント精度

Fast (for checking only)

チェック用

3

32

32

300

0.2

Default

推奨値

5

1000

20

300

0.1

プロジェクトに合った適切なパラメーターを選択するための昼光の基礎を勉強することを強くお勧めします。Radianceパラメーターは、Buiファイル(.b18)に保存されます。必要に応じて変更することができます。

Resulting files

データファイルはすべてBuiファイルと同じフォルダの”daylight”フォルダに生成されます。下表は、ファイル拡張子の概要を示しています。

ファイル拡張子

内容

*.hea

DaySIMヘッダーファイル  

*.pts

センサー形状ファイル

*.rad

形状ファイル

*.dc

Type56で使用される昼光率

*.cfg

Type56で使用される設定ファイル

*.log

データファイルを生成した際のログファイル  

   

一般に、ゾーンごとに2種類の昼光モデルが自動的に生成されます。1つは、すべての日射遮蔽装置が使われていない非遮蔽状態(shd0)。もう1つは、すべての日射遮蔽装置が使われている遮蔽状態(shd1)です。ファイル名には以下の命名規則が使用されます。

yyy_shdx_name.*

yyy - zoneの番号
shdx - shd0…日射遮蔽なし, shd1 遮蔽1
name - zoneの名前

4.2.5 昼光関連の出力項目

昼光関連の出力項目は、計算された屋外照度(NType 400 - 402)と標準出力ファイル(NType 435)があります。

標準的出力ファイルは、”Daylight”フォルダに拡張子(.ill)の選択されたゾーンに対して書き込まれます。 各センサーポイントの時間積分照度値が含まれています。 さらに、以下の一般的な昼光の基準値がシミュレーション期間全体で計算されます。

• Daylight Autonomy (DA), default: < 300 lux

• Continuous Daylight Autonomy (cDA), default: < 300 lux

• Useful Daylight Illuminance (UDI), default: 100 – 2000 lux

• Daylight factor (DF) for CIE overcast sky

昼光の基準値のしきい値は、ビルディング記述ファイルに格納され、必要に応じて編集することができます。一般に、これらの基準値は在室者のみ関連します。このためスケジュールが追加データとしてNTpyeに割り当てられます。スケジュールの値は0(オフ)または1(オン)でなければなりません。


と、これで昼光関係は終了。次は、快適性関係へとつづく。

2017/09/12

拡張アメダス、EPW形式をTRNSYSで使う

気象データシステムからEPW(EnergyPlus Weather File)形式の気象データのサンプルが公開されていたので、TRNSYSで試してみました。

EA気象データをEPWフォーマットに変換した気象データを公開

TRNSYSには標準でEPW形式の気象データリーダーが用意されているので、これを使って読みだしてみます。
image

気象データリーダー Type15-3 を配置したら、上記のリンク先からダウンロードしたファイル(EPW)をExternal Filesタブで指定します。あとは特に設定もないので、出力の指定をします。

image

値を書き出してみたかったので、Type25を配置して、各項目を接続します。(しかし、EPWって値が多いですね)

image

TRNSYSを実行して、書き出されたCSVを開くと。。。
きれいに値が書き出されています。問題なく使えそうです。

image

動作環境

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

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

2017/09/06

TRNSYSの計算状況を表示するType76 Scope

TRNSYSの計算状況を表示する場合、よく使われるのはOnline Plotter(Type65)ですが、他にも面白いコンポーネントが用意されています。

Type79 Scopeを使うと、Simulation Studioの上にゲージやチャート、スイッチなどのアイコンを表示することができます。

スイッチのアイコンなど、何かのOn/Offの表示確認に使えそうですね。

動作環境

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

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

2017/09/01

広島へ向かってます

出張で広島(学会)へ向かってます。

新幹線で神戸以西は初めてなので、車窓からの景色が目新しい。やや旅行気分。

品川駅で購入した天むすが予想以上に美味しくて大満足。

2017/08/28

吹き抜けの部屋を作る

なんだか、ここ数日、立て続けに「吹き抜け」の作り方の相談をいただきました。
TRNSYSで住宅のモデルを計算しようとすると、ありがちな話なので簡単にまとめておきます。

計算の目的により、いくつか作り方が考えられますが、ここではシンプルな2パターンを紹介します。

Zoneとしてまとめてしまう

例えば上下階吹き抜けの空間であれば、それを1つのZoneとして作成します。吹き抜けの上下で、特に計算条件や、室温、湿度などの計算結果を区別しなくて構わない場合に向いています。(逆に上下階で分けて扱いたい場合には向いていません。)

例えば、図のような1F,2F,屋根まので吹き抜けは、思い切って1個のZoneにまとめてしまいます。

clip_image002[10]

【吹き抜けで、天窓のある例】

作り方

矩形を描いて軒の高さまで立ち上げたら、ペンで屋根面に線を描く。この線が棟になります。

image

移動ツールで、描いた線をZ軸方向へ、ぐぐぐっっと持ち上げたら切妻屋根のできあがり。あとは天窓を描けば完了です。

image


Airnodeで分割する

吹き抜けの上下で分けて扱いたい場合は、Zone内でAirnodeとして分けて作成します。Airnodeで分けると、それぞれ個別に条件設定、計算結果を出力することができます。

この例では1F,2F,屋根でAirnodeに分割して、Zoneとしては1つにしています。

image

作り方

1.TRNSYS3Dでモデリング

はじめにTRNSYS3Dで、1F,2F,ROOFのZoneを作成します。屋根の形状の作り方は、前述の方法を参考に作成して下さい。

すべてのZoneを作成したらSurface Matchingを行って、Constructionの設定をしておきます。

image

2.VirtualSurfaceを割り当てる

このままTRNBuildへインポートすると、通常のZoneとして変換されてしまうので、境界部分の壁には特殊な材料、VirtualSurfaceを割り当てます。こうすると、TRNBuildでAirnodeとして扱うことができるようになります。(割り当てないと、壁があることになるので、Airnodeとして扱えなくなります)

具体的には1Fと2F、2FとROOFの間の壁をVirtualSurfaceへ変更します。

図は1Fの屋根側(2F側)の壁の設定例です。通常はTypeはCeiling、ConstructionにはADJ_CEILINGが割り当てられているので、ここを VirtualSurface へ変更します。

image

2Fの床面(1F側)もConstructionをVirtualSurfaceへ変更します。

image

2F,ROOFの壁も同じようにVirtualSurfaceへ変更しておきます。これで準備完了。

3.TRNBuildへインポート

TRNBuildへインポートすると、図のような状態になります。この段階では1F,2F,ROOFはそれぞれZoneとして読み込まています。

image

4.AirnodeとしてZoneにまとめる

Zoneを別のZoneへ移動するとAirnodeとして扱われるようになります。(ここ、ちょっと分かりにくいですが、我慢して先へ進んで下さい)

移動の方法ですが、まずはじめに移動するZoneを選択して、Zoneウィンドウを表示します。この例では 2F を選んでいます。

image

この画面で、①左上の矢印アイコンをクリック、次に移動先のZoneを指定します。②target zoneの項目でROOFを選択して、③✔アイコンをクリックします。

image

これで下図のように、ROOF 2F が1つのZoneへまとめられます。

image

1F も同じように選択して、ROOFへ移動して1つのZoneへまとめます。

image

以上で吹き抜けのできあがりです。


注意点

この例では、吹き抜け空間が凸型なので、Radiation modeはStandard,Detailedのどちらでも計算できます。これが凹型の空間、例えば1F,2Fで面積が変わるなどすると、Standardのみ使用可になります。この場合、放射や日射の計算が重要なケースでは形状を読み替えるなどの、Radiation modeで計算できるようにする工夫が要ります。

そもそもZoneじゃだめなの?

そもそもZoneで分けてはダメなのかという話もありますが、Zoneだと必ず内壁(Adjacent Wall)ができてしまうので、日射の影響が考慮されなくなります。今回の例だと、天窓からの日射がROOFの床と2Fの床で遮られて1Fまで届かなくなります。(内部開口を使うなどの読み替えもできますが、ちょっと面倒になります)


動作環境

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

Windows10 Pro(64bit)
TRNSYS18.00.0014(64bit)
TRNSYS3D+SketchUp 8

2017/08/03

TRNLizardを試す(1)

さてと、Rhino/Grasshopper、TRNLizardのセットアップが終わったら、次はいよいよTRNLizardを使って見ます。

まずは単位系の設定

Rhinoを起動したら、Units コマンドで単位系、絶対許容差の設定行います。

モデル単位:メートル
絶対許容差:0.00000001 ←小数点以下にゼロが7個、入力し終えると 7e-08 に変わればOK

image

テンプレートして保存しておくと便利

毎回この設定をやるのも面倒なので、テンプレートとして保存しておくと、次回からテンプレートを選ぶだけで済みます。

メニューから ファイル > テンプレートとして保存 を選んで、適当な名前で保存します。(例、TRNLizard – Meters )

image

TRNLizardのコンポーネントを配置する

計算用のテンプレートがTRNLizardは用意されているので、それを使って計算用のモデルを用意します。

まずは、grasshopperを起動して、TRNLizard タブのトカゲのアイコンをドロップします。(同じアイコンが2個ありますが、今回は右側のアイコンを選んでいます)

image

ドロップしたアイコンはGrasshopperのクラスターになっています。これをダブルクリックすると、TRNLizardのコンポーネントが展開されます。

image

クラスターのままでは計算できないので、すべてのコンポーネントをクラスターの外へコピーします。
キーボードから Ctrl+A ですべてのコンポーネントを選択してクリップボードへコピー(Ctrl+C)つづいて、ボックスのアイコンをクリックして、Return to Parent を選んでクラスターを閉じます。

image

クラスターの外へ戻ったら、クリップボードからコンポーネントを貼り付け(Ctrl+V)します。

無事にコンポーネントが貼り付けできたら、、元々のアイコン(クラスター)は不要なので、削除しておきます。

image

この段階では、データが無いので、コンポーネントが赤く(つまりエラーの状態)で表示されています。

image

と、ここまで書いてチカラ尽きたので、続きは次回。。。

2017/07/30

TRNLizardをセットアップする(2)

前回はRhino/Grasshopperのインストールまで終わったので、いよいよTRNLizardのインストールです。

TRNLizardを準備する

Transsolar社のサイトのTRNLizardのページのダウンロードのインクを辿って、food4RhinoのサイトからTRNLizardをダウンロードしてインストールします。

Transsolar社のTRNLizardのページ
image

food4Rhino

ここからTRNLizardをダウンロードします。(はじめてダウンロードする場合、ユーザー登録が要ります。)
image


TRNLizardのインストール

ダウンロードしたファイル(Zip形式)を解凍すると、大量のGrasshopper User Object ファイルが展開される。

image

で、これをどうするのかと思ったら、専用のフォルダにコピーすればOKらしい。
Grasshopperのメニューから File > Special Folders > User Object Folder を選んで専用フォルダを開く。image

開いたフォルダに展開したファイルをすべてコピーする。

image

するとこの時点で、GrasshopperにTRNLizardのタブが追加され、TRNLizardのアイコンが表示されます。

image

早速アイコンをドラッグして配置してみると。。。

エラーだとおぉ!

image

メッセージを見ると、 Python Interpreter がインストールされていないのが原因のようです。(Pythonインタプリタってオプションなのか?)

調べてみると、food4Rhinoで公開されている GhPython がそれらしいので、これもインストールします。

image

GhPythonをインストール

上記のサイトからghpython2(ghaファイル)をダウンロードして、これも専用フォルダへコピーすればOK。(TRNLizardとはフォルダが違うので注意!)

Grasshopperのメニューから File > Special Folders > Components Folder を選んで専用フォルダを開く。

image

image

ここで注意点。ネットワークからダウンロードしたファイルはアクセスがブロックされているので解除しておきます。エクスプローラーの画面でghpyhton2を選択して、右クリックでプロパティを選択して、「ブロックの解除」をチェックします。

image

TRNLizardを起動

Rhino,Grasshopperを再起動して、TRNLizardのアイコンを配置すると。。。

おおっ!なんかそれっぽい画面が展開された!

image

どうにかTRNLizardのセットアップが完了したので、次は実際に動かしてみます。

つづく。


動作環境

Windows10 Pro(64bit)
Rhinoceros5(64bit) 5 SR14 64-bit (5.14.522.8390, 05/22/2017)
Grasshopper 0.90076, GhPython 0.6.0.3
TRNLizard(trnlizardpackage201704.zip)
TRNSYS18.00.0014(64bit)