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 | パラメータA 、CD 、および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 が外側になるように変更。屋根と床の抵抗RRem とR は、ドキュメント内で切替。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で動かせるに越したことはないと思うので、リポジトリの最新の状態を引っ張ってきて定期的にテストするスクリプトでチェックしながら、対応作業をしていかないとだめですね。