MixedAir (Buildings Library) について

ModelicaのBuildingsライブラリv10.0.0の特定のライブラリ（`MixedAir`）について主にその構造を整理したので，覚書きとして共有する．Buildingsライブラリ自体の概要および導入方法については，[Modelica Building Libraryの紹介](https://slidesplayer.net/slide/17443291/)スライドを参照．

# モデルの概要
`MixedAir`は，`Buildings.ThermalZones.Detailed.MixedAir`に配置されており，部屋の空気が完全に混合されたモデルである．部屋の空気と熱伝導・熱伝達・ふく射（赤外線・日射）により熱交換される．
モデルの実装内容については一部旧バージョンの内容になっているが，[Wetter et al.](https://simulationresearch.lbl.gov/wetter/download/2011-ibpsa-BuildingsLib.pdf)を参照．

# パラメータ概要
`MixedAir`を使用する際に定義が必要なパラメータの概要を記す．リスト形式でパラメータを列挙した後，クラス図形式で構造とともにパラメータを示す．
## リスト形式
#### General.Parameters
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `datConExt` | 窓のない外装のパラメータ | `ConstructionRecords` |
| `datConExtWin` | 窓のある外装のパラメータ | `ConstructionRecords` |
| `datConPar` | 空間内の間仕切りのパラメータ | `ConstructionRecords` |
| `datConBou` | 空間外との境界構造体のパラメータ | `ConstructionRecords` |
| `surBou` | 熱伝導が空間外でモデル化される不透明面のパラメータ | `ConstructionRecords` |
| `dummyCon` | 定義不要 | `ConstructionRecords` |
| `dummyGlaSys` | 定義不要 | `ConstructionRecords` |
| `AFlo` | 部屋面積 | `RoomHeatMassBalance` |
| `hRoo` | 部屋高さ | `RoomHeatMassBalance` |
| `linearizeRadiation` | ふく射強度を線形化するかどうか | `RoomHeatMassBalance` |
| `air` | 定義不要（熱・質量保存モデル） | `RoomHeatMassBalance` |

#### General.Exterior construction
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `nConExt` | 窓のない外装の数 | `ConstructionNumbers` |
| `nConExtWin` | 窓のある外装の数 | `ConstructionNumbers` |

#### General.Partition construction
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `nConPar` | 空間内の間仕切りの数 | `ConstructionNumbers` |
#### General.Boundary construction
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `nConBou` | 空間外との境界構造体の数 | `ConstructionNumbers` |
| `nSurBou` | 熱伝導が空間外でモデル化される不透明面の数 | `ConstructionNumbers` |
#### General.Convective heat transfer
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `intConMod` | 室内側の熱伝達方式 | `RoomHeatMassBalance` |
| `hIntFixed` | 室内側の熱伝達率 | `RoomHeatMassBalance` |
| `extConMod` | 室外側の熱伝達方式 | `RoomHeatMassBalance` |
| `hExtFixed` | 室外側の熱伝達率 | `RoomHeatMassBalance` |
#### General.Nominal condition
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `m_flow_nominal` | ノミナル質量流量 | `RoomHeatMassBalance` |

#### General.Ports
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `use_C_flow` | 部屋への微量物質の流出入を有効にするかどうか | `MixedAir` |

#### Dynamics.Glazing system
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `steadyStateWindow` | 窓に熱容量を追加するかどうか | `RoomHeatMassBalance` |

#### Dynamics.Zone air
| パラメータ | 説明 | 定義クラス |
| --- | --- | --- |
| `energyDynamics` | エネルギーバランス | `MixedAir` |
| `mSenFac` | 空気量の顕熱質量をスケーリングするための係数 | `MixedAir` |

## クラス図形式
以降，クラス図の記法は[Modelica Fluid ライブラリ解説資料](https://www.amane.to/archives/285)に則っている．
![MixedAirParameterOnly_save.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995847/b90fca20-78fa-6dc7-6a5e-8224f92ce622.png)

# パラメータの詳細
次に，入力する際に迷いそうなパラメータをピックアップして詳細を説明する．

## `ParameterConstruction`
`ConstructionRecords`で定義された構造体関連のパラメータのうち，`datConExt,datConPar,datConBou`の3つのパラメータが`ParameterConstruction`型である．その`ParameterConstruction`の構造を次図に示す．

![MixedAir.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995847/5f630b97-169a-78e7-9533-f76f95008a83.png)

このように，`PartialParameterConstruction`までで構造体の属性が，さらに`layers`パラメータにて伝熱に関わる内部属性が層別に定義されている．
各パラメータを説明のために図示する．
まず，`PartialParameterConstruction`までのパラメータは次のようになっている．

![Modelica Memo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995847/2c3d8fa5-5041-9dde-a9a3-11e9e32606bf.png)

次に，`OpaqueConstructions.Generic(layers)`のパラメータは次のようになっている．

![Modelica Memo (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995847/dd7e5e7f-6146-58a0-9b22-3254cceba52d.png)

なお，`Material`のパラメータについては図示を省略する．

## `ParameterConstructionWithWindow`
`ConstructionRecords`で定義された構造体関連のパラメータのうち，`datConExtWin`が`ParameterConstructionWithWindow`型である．その`ParameterConstructionWithWindow`の構造を次図に示す．

![MixedAir.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995847/244c9c06-f9ab-54c6-1251-c04ab0174df2.png)

`ParameterConstructionWithWindow`のパラメータの一部を図示すると次のようになっている．

![Modelica Memo (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995847/57bc7e34-200c-48dc-e526-821d3adf8308.png)


なお，`Overhang`については[Overhang](https://simulationresearch.lbl.gov/modelica/releases/v10.0.0/help/Buildings_HeatTransfer_Windows.html#Buildings.HeatTransfer.Windows.Overhang)，`SideFins`については[SideFins](https://simulationresearch.lbl.gov/modelica/releases/v10.0.0/help/Buildings_HeatTransfer_Windows.html#Buildings.HeatTransfer.Windows.SideFins)を参照．

## `OpaqueSurface`
`ConstructionRecords`で定義された構造体関連のパラメータのうち，`surBou`の3つのパラメータが`OpaqueSurface`型である．その`OpaqueSurface`の構造を次図に示す．`PartialParameterConstruction`よりパラメータが少ないので，説明を省略する．

![MixedAir.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1995847/16c5cf80-856b-37c4-dc79-7763bbe29e6a.png)