The Modelica Buildings library 6.0.0リリースノート

概要

2019年7月15日にLBNLからThe Modelica Buildings library 6.0.0がリリースされました。ライブラリのテスト環境はDymola 2019FD01、Dymola 2020、JModelica (revision 12903)です。これまで通りOpenModelicaはテストの対象外です。
個々の要素の詳細な確認は置いておいて、取り急ぎ翻訳して概要だけ把握をします。

リリースノートの原文はこちら

主な変更

  • 在室者の行動モデルのパッケージの追加
  • 地中熱利用のボアホールのパッケージの追加
  • 日射遮蔽や屋外照明の制御用のブロックのパッケージの追加
  • 時系列プロットと散布図を生成し、htmlファイルへ書き出すブロックのパッケージの追加
  • 単位変換用のブロックのパッケージの追加
  • Buildings.Controls.OBC.CDLに数種類の新しいコントロールブロックの追加

在室者の行動モデルはIEA EBC Annex 66のものも取り入れられているようです。IEA EBC Annex 66のテーマはDefinition and Simulation of Occupant Behavior in Buildingsで建物内の人間の行動モデルの定義を行っています。日本のContributorsとしては大阪大学の山口容平准教授が名を連ねており日本人の特性も少しは考慮されているかもしれません。(そういうものがあるのかどうかも知りませんが。。。)

変更の一覧

紛らわしいですが、単にissueを参照というのはこちらリポジトリのことで、IBPSAのissueを参照というのはこちらリポジトリのことです。

パッケージの追加

名称 説明
Buildings.Controls.OBC.OutdoorLights 屋外照明のコントローラー
Buildings.Controls.OBC.Shade 日射遮蔽のコントローラー
Buildings.Controls.OBC.UnitConversions 単位変換用のブロックのパッケージ。Modelicaと異なる単位系のBASのデータを読み書きする際に使用する事を意図している。
Buildings.Fluid.Geothermal 地中熱熱交換器のモデルのパッケージ。このパッケージには、垂直ボアホールを備えたボアフィールドと、U字管熱交換器を備えた単一の垂直ボアホールのモデルがある。ボアフィールドモデルでは、任意の幾何学的構成、および1つまたは2つのU字管熱交換器を持つことができる。
Buildings.Occupants 在室者の行動のモデルと関数のパッケージ。住居やオフィスビルの冷暖房システム、窓、ブラインド、照明と在室者との相互作用や在室状況を計算する。
Buildings.Utilities.Cryptographics SHA1暗号化文字列を計算する関数のパッケージ。
Buildings.Utilities.IO.Files files.CSVファイル、JSONファイル、またはコンビタイムテーブルファイルを書き込むためのブロックのパッケージ。
Buildings.Utilities.Plotters 時系列プロットと散布図を生成し、これらのプロットを1つまたは複数のhtmlファイルに書き込むブロックのパッケージ。プロットは入力信号および時間遅延に基づいて無効にすることができ、例えば、HVACシステムが少なくとも30分間動作している間にのみデータをプロットすることができる。

既存ライブラリへのコンポーネントの追加

Buildings.Controls.OBC.CDL.

名称 説明
Continuous.MultiOr ブール入力ベクトルのいずれかの要素がtrueの場合に限り、trueを出力するブロック。
Continuous.MatrixMin 行方向または列方向の最小値のベクトルを出力するブロック。
Continuous.MatrixMax 行方向または列方向の最大値のベクトルを出力するブロック。
Continuous.MatrixGain ゲイン行列と入力信号ベクトルの積を出力するブロック。
Discrete.MovingMean サンプリングされた入力信号の離散移動平均を出力するブロック。
Integers.Change Integer入力がその値を変更したかどうか、そして増加または減少したかどうかを出力するブロック。
Logical.IntegerSwitch ブール入力信号に基づいて2つの整数入力信号のうちの1つを出力するブロック。
Routing.RealExtractor 整数値入力に依存する信号ベクトルからスカラー信号を抽出するブロック。
Utilities.SunRiseSet 毎日の日の出と日の入り時刻を出力するブロック。

Buildings.Fluid.

名称 説明
HeatExchangers 設計条件と現在の質量流量に基づいてプレート式熱交換器の効率を計算するBuildings.Fluid.HeatExchangers.PlateHeatExchangerEffectivenessNTUを追加。

Buildings.Utilities.

名称 説明
Math ベッセル関数、指数積分、階乗、下降階乗、二項関数の追加。
Psychrometrics.Functions.X_pTphi 与えられた圧力、温度および相対湿度に対する湿気の質量分率を計算する関数の追加。

後方互換性を維持した既存コンポーネントの改善

Buildings.BoundaryConditions.

名称 説明
WeatherData.ReaderTMY3 1年未満で新年にまたがる気象データ、および1年以上にわたる気象データに対応するように実装を更新。IBPSAのissue#842を参照。

Buildings.Controls.OBC.CDL.

名称 説明
Logical.Timer 入力がtrueの場合に累積時間を出力するように実装を更新。issue#1212を参照。
Logical.TrueDelay 初期のtrueの入力をオプションで遅らせるパラメータdelayOnInitを追加。issue#1346を参照。

Buildings.Controls.OBC.ASHRAE.G36_PR1.

名称 説明
AHUs.SingleZone.VAV.SetPoints.OutsideAirFlow 在室センサーがない場合に在室者数を入力として設定しなくても済むように、在室用の入力コネクターを条件によって取り外しするよう変更。issue#1270を参照。

Buildings.Fluid.

名称 説明
Interfaces.ConservationEquation
MixingVolumes.MixingVolume
MixingVolumes.MixingVolumeMoistAir
ボリュームがコンパイル時に修正されないようにモデルを変更。issue#1411を参照。

Buildings.Media.

名称 説明
Air
Water
Antifreeze.PropyleneGlycolWater
Specialized.Air.PerfectGas
温度または質量分率が許容範囲外の場合のエラーメッセージを修正。IBPSAのissue#1045を参照。

Buildings.Utilities.IO.Python27.

名称 説明
Functions.exchange PYTHONPATH環境変数の設定をリファクタリング。issue#1421を参照。

後方互換性を伴わない既存コンポーネントの改善

Buildings.Airflow.Multizone.

名称 説明
DoorDiscretizedOperable パラメータCDを削除。Dymolaの場合は、変換スクリプトによってこの変更を行う。IBPSAのissue#971を参照。
EffectiveAirLeakageArea パラメータACD、およびlWetを削除。Dymolaの場合は、変換スクリプトによってこの変更を行う。IBPSAのissue#932を参照。
MediumColumnDynamic パラメータm_flow_nominalを削除。Dymolaの場合は、変換スクリプトによってこの変更を行う。IBPSAのissue#970を参照。
Orifice パラメータlWetを削除。Dymolaの場合、変換スクリプトによってこの変更を行う。IBPSAのissue#932を参照。
MediumColumnDynamic
MediumColumn
EffectiveAirLeakageArea
Orifice
これらのモデルでは意味がないので、allowFlowReversalパラメータを削除。Dymolaの場合は、変換スクリプトによってこの変更を行う。IBPSAのissue#877を参照。

Buildings.BoundaryConditions.

名称 説明
WeatherData.BaseClasses.ConvertTime 複数年にわたる気象データに必要な新しいパラメータを追加。このモデルは、すべての必要な変更を実装する気象データファイルリーダーの一部であるため、ユーザーがこの変更の影響を受けることはほとんどない。IBPSAのissue#842を参照。

Buildings.Controls.OBC.ASHRAE.

名称 説明
G36_PR1.AHUs.SingleZone
G36_PR1.AHUs.MultiZone
パッケージの名前をG36_PR1.AHUs.SingleZone.VAVおよびG36_PR1.AHUs.MultiZone.VAVに変更し、一貫性を保つためにさまざまな信号とパラメータの名前を変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。

Buildings.Controls.OBC.CDL.

名称 説明
RealExtractSignal ExtractSignalからブロック名を変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。
Continuous.MultiMax 出力変数名をyMaxからyに変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。issue#1252を参照。
Continuous.MultiMin 出力変数名をyMinからyに変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。issue#1252を参照。

Buildings.Fluid.

名称 説明
HeatExchangers.DryEffectivenessNTU 対流熱伝達係数が空気用であるため、名称をHeatExchangers.DryCoilEffectivenessNTUに変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。使用されていない変数Zを削除。
HeatExchangers.PlateHeatExchangerEffectivenessNTU 使用されていない変数Zを削除。
HeatExchangers.Ground.Boreholes.BaseClasses.factorial この関数は新しいGeothermalパッケージで使用されるため、名称をBuildings.Utilities.Math.Functions.factorialに変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。
HeatExchangers.Ground.Boreholes 新しくGeothermalパッケージを導入するため、パッケージの名前をBuildings.Fluid.Geothermal.Boreholesに変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。
HeatExchangers.RadiantSlabs.BaseClasses.MassFlowRateMultiplier モデルは新しくGeothermalパッケージで使用されるため、Buildings.Fluid.BaseClasses.MassFlowRateMultiplierに変更。Dymolaの場合は、変換スクリプトによってこの変更を行う。
Sources.FixedBoundary このモデルは現在廃止されており、将来のリリースで削除される予定。名称をBuildings.Obsolete.Fluid.Sources.FixedBoundaryに変更。代わりにBuildings.Fluid.Sources.Boundary_pTの使用を推奨。Dymolaの場合は、変換スクリプトによってこの変更を行う。

Buildings.Media.

名称 説明
Refrigerants.R410A 使用されていなかったため、関数pressureSatLiq_Tを削除。IBPSAのissue#995を参照。

Buildings.Utilities.Reports.

名称 説明
Printer
printRealArray
PrinterをBuildings.Utilities.IO.Files.Printerに移動し、printRealArrayをBuildings.Utilities.IO.Files.BaseClasses.printRealArray.Forに移動。Dymolaの場合は、変換スクリプトによってこの変更を行う。この変更は新しく導入されたパッケージBuildings.Utilities.IO.Filesによるもの。

致命的な不具合の修正(間違った計算結果を導いていたものなど)

Buildings.Controls.OBC.CDL.

名称 説明
Logical.Latch 初期段階で誤った結果を引き起こす実装を修正。issue#1402を参照。
Logical.Toggle 初期段階で誤った結果を引き起こす実装を修正。issue#1402を参照。

Buildings.Fluid.Geothermal.

名称 説明
Borefields.Data.Soil.SandStone 間違った熱特性を修正。IBPSAのissue#1062を参照。

Buildings.Fluid.HeatExchangers.

名称 説明
Heater_T
SensibleCooler_T
初期条件の伝達が出来ていなかった部分を修正。IBPSAのissue#1016を参照。

Buildings.ThermalZones.Detailed.

名称 説明
MixedAir 家具を考慮に入れるなど、室内空気の熱容量を増加させる、パラメータmSenFacを継承するように変更。issue#1405を参照。

Buildings.ThermalZones.ReducedOrder.

名称 説明
RC.ThreeElements
RC.FourElements
屋根のRC要素roofRCを反転してport_bが外側になるように変更。屋根と床の抵抗RRemRは、ドキュメント内で切替。IBPSAのissue#997を参照。

些末な不具合の修正(ドキュメントや単位の記載の誤りなど)

Buildings.Controls.OBC.ASHRAE.

名称 説明
G36_PR1.Generic.SetPoints.OperationMode パラメータのドキュメントの誤った時間を修正。issue#1409を参照。

おわりに

気になるような大きな変更はなさそうです。MixingVolumeでコンパイル時に修正されていたというのは、FMUにしたときに変数であるはずのボリュームの値が変更できなくなることがあり、そうならないように手を加えたようです。履歴をみてもどの部分によりその問題が直ったのかあまりよく分からなかったのですが。。。

今回のアップデートと同時にLBNLが開発しているBuildingsPyの方もバージョン2.0.0へとメジャーアップデートしたようです。こちらはModelica廻りのPythonパッケージで、リリースノートはこちらにあります。

リリースノートに記載はないものの熱交換器のモデルが無事修正されたのでBuildings.Examples.Tutorial.SpaceCoolingがOpenModelicaで実行できるようになったかなと思ったのですが、別のエラーが出ました。OpenModelicaで動かせるに越したことはないと思うので、リポジトリの最新の状態を引っ張ってきて定期的にテストするスクリプトでチェックしながら、対応作業をしていかないとだめですね。