EnergyPlusのGetting Startを試してみる　その3（Exercise 1C）

# はじめに
前回の[EnergyPlusのGetting Startを試してみる　その2（Exercise 1B）](https://qiita.com/bebebefu/items/10be9ded01127aaf472a)の続きで次はEnergyPlusのGetting Startedの4.2.3項にあるExercise 1Cの件をやっていきたいと思います。

# 実施環境
- CPU: CORE i7 7th Gen
- メモリ: 32GB
- OS:windows 11

# Getting Startedの4.2.3項　Exercise 1C. Add Internal Loadsについて
手順がGetting Startedの4.2.3項に一つ一つ書かれているので、基本的にはそれに沿ってやっていきますが、少々省略されているところもあるので、自分なりに手順を加えつつ記載していきます。

1. EP-Launchを開く
   windows11の「スタート」＞「すべてのアプリ」のところからEP-Launchを選択して起動します。
        <img width="400" alt="EP-launch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/da6f38d8-5003-b689-3655-6bafecf140e7.png">

1. 入力ファイルExercise1B.idfの読み込み
    EP-Launchの赤枠で囲んだBrowseを押下し、ExampleFiles⇒BasicsFilesの順にたどり、Exercise1B.idfを見つけたら開くを押して読み込みます。
    
    ![excercise_1A探し_その1_R1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/c8d32dca-bbc6-d1dd-24db-3b8f58b70286.png)

1. Weather Fileの選択
    EP-Launchの赤枠で囲んだプルダウンリストからNo Weather Fileを選択します。
    
    <img width="400" alt="no_weatherfileの指定_R1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/c9cfefac-00a0-b91d-5dde-31d7a4fce70c.png">

1. IDF Editorの起動
EP-Launchの赤枠で囲んだ「Edit - IDF Editor」を押します。これにより、IDF EditorでExercise1B.idfが開かれます。
注：画像は入力ファイルをExercise1A.idfにした時のものです。
    <img width="400" alt="idf_editorの起動.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/10b70a2f-1849-c083-3366-c32867895aa4.png">

1. IDF Editorの初期設定
IDF Editorで、File -> Save Options . . . を選択すると下の図で赤枠で囲んであるウィンドウが開きます。そして「Saved Order」を「Original with New at Top」に設定し、「Special Format for Some Objects」を「Yes」に設定します。また「Set as Default」ボックスにチェックを入れます。

    <img width="400" alt="Save Optionsの選択.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/93f82690-ec5a-528d-7fb6-7fa00aae0ac3.png">

    <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/e47e27ea-ffed-eef8-30fe-3477e07ecf96.png">

1. idfファイルの名前変更保存
IDF Editorで、File -> Save As . . . を選択し、このファイルを**Exercise1C.idf**として保存します。

1. データセットファイルSchedules.idfを開く
File -> Open Dataset -> Schedules.idfを選択して、Schedules.idfを開きます。
    <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/ae8e41b1-efa9-978d-651d-ea3d1e0b4491.png">

    - 以下の図で赤枠で囲んである「Office Lighting」という名前のSchedule:Compactオブジェクトを選択し、緑枠で囲んである「Copy Object」をクリックしてこのオブジェクトをコピーします。
        <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/bc246143-7f6b-2fc7-553a-3a40f7c12a16.png">

    - Exercise1C.idfの画面に戻り、以下の図で緑枠で囲んである「Paste Object」をクリックして貼り付けると、Exercise1C.idfに赤枠で囲んだオブジェクトが貼り付けられます。
        <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/81582675-3cfc-7f24-928c-6856c2dde782.png">

    - Schedules.idfの画面に戻り以下の図で青枠で囲んだ「ScheduleTypeLimits」オブジェクトを選択し、赤枠で囲んである「Fraction」という名前のオブジェクトを選択して、緑枠で囲んである「Copy Object」をクリックしてこのオブジェクトをコピーします。
        <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/5d59b190-e2dc-dffd-12b5-e9c1a0aaebf0.png">

    - Exercise1C.idfの画面に戻り、以下の図で緑枠で囲んである「Paste Object」をクリックして貼り付けると、Exercise1C.idfに赤枠で囲んだオブジェクトが貼り付けられます。
        <img width="400" alt="Fractionのコピー.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/b4da3df7-6615-a64f-e746-27c5df9f73b4.png">

1. 照明の追加
Getting startedにおいては「In Exercise1C.idf, add a LIGHTS object named ZONE ONE Lights, using the Office Lighting schedule, peak input is 1000W.」とあります。私はExercise1C.idfの画面で、以下の図の赤枠で囲んである「Lights」オブジェクトを選択して、緑枠で囲んである「New Obj」をクリックすると、青枠で囲んであるオブジェクトが追加されましたので、その各項目を以下のように設定しました（以下に示した項目以外はデフォルトで入力された値を用いています）。
    - Name: ZONE ONE Lights
    - Zone or ZoneList or Space or SpaceList Name: ZONE ONE（ドロップダウンリストから選択しました）
    - Schedule Name: Office Lighting（ドロップダウンリストから選択しました）
    - Lighting Level: 1000（ピーク時に1000WのLIGHTSオブジェクト追加するとありましたので、このようにしました。ただ、後で気づいたことなんですけど、、この設定だと**Office Lightingスケジュールの変数が掛かっていてピーク時は900Wしか入力されていなかったみたいです。。**）
    - Return Air Fraction: 0.86（[[1]](#参考サイト)の537ページにあるDownlights, Compact Fluorescent, DTTの値を適用しました）
    - Fraction Radiant: 0.04（[[1]](#参考サイト)の537ページにあるDownlights, Compact Fluorescent, DTTの値を適用しました）
    - Fraction Visible: 0.10（[[1]](#参考サイト)の537ページにあるDownlights, Compact Fluorescent, DTTの値を適用しました）
    <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/9e26b276-9b94-a79e-f3a0-dfb74c1edf13.png"> 

これらの設定が完了したらIDFファイルを保存し閉じて、EP-LaunchでExercise1C.idfを選択し、シミュレーションを実行して一旦出力を確認します。

1. 出力の確認(rddファイルの確認)とcsvへ出力する項目の選択
シミュレーションが完了したら、以下の図の赤枠で囲んである「RDD」をクリックします。
    <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/678a534a-c859-5d49-6cd8-167cafd7dc32.png"> 

    そうするとExercise1C.rddというファイルが開きますので、照明に関連するレポート変数名として私は以下の図の「Zone Lights Electricity Energy [J]」という項目があることを確認しました。
    <img width="400" alt="Zone Lights Electricity Energyno.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/8b89cf6e-9d9a-6fc3-ec4e-c1ef1ecc51c8.png">

    そこからExercise1C.idfの画面に行き、以下の図で赤枠で囲んである「Output:Variable」オブジェクトを選択して、囲んである「New Obj」をクリックすると、青枠で囲んであるオブジェクトが追加されます。その追加されたオブジェクトの「Variable Name」の項目としてドロップダウンリストから「Zone Lights Electricity Energy」を選択して、保存し、Exercise1C.idf閉じて、再度シミュレーションを実行します。
    <img width="400" alt="csv出力.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/a21e1587-f663-9fe9-688f-1b956d848ec1.png">

# シミュレーション結果の確認
同じ形の建物モデルで、窓の有無が異なる以下の3つのモデルのシミュレーション結果を比較します。外部の環境データはすべてのモデルで同じです。

- 窓がない建物モデル：Exercise 1A
- 窓が東西に1つずつある建物モデル：Exercise 1B
- 窓が東西に1つずつあって照明もある建物モデル：Exercise 1C

## シミュレーション結果の処理
Outputとして保存されている"Exercise1A.csv"と"Exercise1B.csv"と"Exercise1C.csv"のデータを処理します。csvにあるDate/Timeの列が7月21日の1:00:00から24:00:00までに対応する以下のデータをコピーして適当なエクセルシートの貼り付けてグラフ化します。

- 外部環境の温度データ: Environment:Site Outdoor Air Drybulb Temperature C
- 建物内部の温度データ: ZONE ONE:Zone Air Temperature C
- 冷房負荷データ: ZONE ONE: Zone Air System Sensible Cooling Energy

## シミュレーション結果
まずは同じ環境データを使用していることを示すため、以下に外部環境の温度データの比較を示します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/160e4c49-4f38-7948-5dce-d61a9f754b4f.png)
👆重なっているため分かりづらいですが温度の時間推移が同じであり同じ環境データを使用していることがわかります。

次に建物内部の温度データの推移を示します。
Exercise 1BとExercise 1Cの方が窓があるせいか温度の上昇がExercise 1Aよりも早いことが見られます。また照明の熱のせいでしょうか、Exercise 1Cの温度の下がり方が他のよりも緩慢です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/b3d344f1-83de-3b1e-52db-e6705b072ec4.png)

次に冷房負荷の推移を示します。
Exercise 1BとExercise 1Cの方が窓があるせいか冷房負荷がExercise 1Aよりも大きいですし、照明があるせいだと思いますが、Exercise 1Cが冷房負荷はほかの2つよりも大きいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/cbb4b7d2-49ac-2e64-eee3-ab9fffd562ef.png)

# まとめ
Getting Started[[2]](#参考サイト)の4.2.3項「Add Internal Loads」の手順を追い、エラーなく実行できたと思います。また、[EnergyPlusのGetting Startを試してみる　その2（Exercise 1B）](https://qiita.com/bebebefu/items/10be9ded01127aaf472a)のOutputと比較して、照明の有無による冷房負荷の違いを確認できました。次回は4.2.4項以降のExerciseを実施し、シミュレーション結果を比較していく予定です。

# 参考サイト
[1][EnergyPlus Input Output Reference](https://energyplus.net/assets/nrel_custom/pdfs/pdfs_v9.6.0/InputOutputReference.pdf)
[2][EnergyPlusのGetting Start](https://energyplus.net/documentation)