今回は、初心者でも簡単にできる、Ladybug ToolsとGalapagosを用いた日照解析の最適化方法を解説します。
今回の内容は初心者向けのため、内容は非常にシンプルにしてあります。
Ladybug Toolsをインストールしてない人は、上の記事を参考にしてインストールをお願いします。
また、今回の日照解析のプログラミングは、上の記事の続きになります。
日照時間解析のLB Direct Sun Hoursコンポーネントまでのプログラミングが解説されているので、そこまでは上の記事を参照してください。
また、今回使用したライノセラスとグラスホッパーデータをダウンロードすることもできます。
今回使用したライノセラスとグラスホッパーデータのダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
今回の最適化内容

今回は、モデルを回転させることで、最も日照時間を多く確保できる角度を最適化します。
全体コンポーネント

全体コンポーネント1:①Boolean Toggle ②LB EPWMAP ③LB Download Weather ④LB Import EPW ⑤LB Analysis Period ⑥LB SunPath

全体コンポーネント2:⑧LB Direct Sun Hours ⑨Brep ⑩Area ⑪Rotate ⑫Mass Addition ⑬Galapagos
回転するモデルの作成

こちらが、今回使用するモデルになります。
緑色のモデルが、今回最適化する対象です。
周辺の赤色が、日照時間に影響を与える周辺モデルです。

解析するモデルを、一番上のBrepに格納します。
周辺モデルを、下のBrepに格納し、LB Direct Sun Hoursのcontext_端子につなげてください。


その後、解析するモデルが入っているBrepを、Areaにつなげます。
すると、モデルの中心点を取得することができます。
この点を、回転の基点にします。
RotateのA端子に、0~360の数値に変化するNumber Sliderを入力します。

この際に、RotateのA端子を右クリックし、Degreesを選択してください。
これにより、入力された数値が角度で命令されるようになります。


Number Sliderの数値を変えると、上の画像のように角度を変えることができるようになりました。

この時点で、Boolean ToggleをダブルクリックしてTrueの状態にすると、日照時間の解析ができます。

このように、日照時間の解析が行われます。

LB Direct Sun Hoursのresults端子からは、各地点の日照時間が出力されます。
これをMass Additionにつなげることで、R端子から各地点の日照時間を合計した数値が出力されます。

今回の解析する期間は、LB Analysis Periodで冬至の12月21日0時~23時の一日に設定しています。
最適化

ここからは、最適化の準備をします。
GalapagosのFitness端子を掴み、Mass AdditionのR端子につなげます。
Fitness端子につながれた数値が、最終的に最適化されます。

さらに、Genome端子を掴み、回転角度の数値のNumber Sliderにつなげます。
Genome端子につながれた数値が変数となります。
今回の場合、モデルの様々な角度をシミュレーションし、最終的には最適な角度を導き出します。

その後、Galapagosをダブルクリックします。

すると、Galapagosの設定ウィンドウが表示されます。
Fitnessのプラスを押すとMaximizeになり、数値を最大化させる最適化を行えます。
Fitnessのマイナスを押すとMinimizeとなり、数値を最小化させる最適化を行えます。
今回はモデルの日照時間を最大化したいので、Maximizeにします。

Solversタブを押します。

左上のStart Solverをクリックすると、最適化が始まります。

最適化が始まると、上の画像のような画面になります。

グラスホッパー画面を見てみると、様々な数値がシミュレーションされていることが分かります。

最適化が完了すると、右下に様々な数値が表示されています。
この数値を選択して、Reinstateを押すと、そのパターンを反映させることができます。
選択しない場合、一番上の数値が適応されます。
今回は選択しないで、一番上の数値を使います。

最適化が完了すると、右下のOkを押せるようになるのでクリックします。
これで最適化終了です。

最適化後のモデルの角度は86度で、日照時間は976時間となっています。

こちらが、モデルの様子です。

比較として角度が60度の場合、日照時間の合計は753時間です。
最適化された角度が86度の976時間は、合計日照時間が最大化されていることが分かります。
今回の方法を応用すると、日照時間だけでなく、日射量などの他の環境解析でも最適化を行うことができます。
今回は以上になります。
Comment