部屋の暖房

このアプリケーションの例ではSystemModelと偏微分方程式(PDE)の組合せモデルとして屋内の熱分布を調べる.System Modelerのモデルを使ってPDE解析を行うので,この組合せは一方向性である.最初のステップではSystem Modelerの"Thermal College Virtual Lab"を使って部屋のバーチャルモデルを調べる.2番目のステップでは部屋の中の実際の熱分布を計算するPDEモデルを作成する.

このアプリケーションの例のバーチャルラボに基づくSystem Modelerの部分は,十分に文書化されたシステムモデルの利点を提供する.System Modelerのモデルに触れるのが初めての方は,"Thermal College Virtual Lab"を使うことでどのようにSystem Modelerが動作するかを理解するようお勧めする.

部屋の集中型モデル

このセクションでは,System Modelerで作成した部屋モデルをWolfram言語に移行する.設定の違いが部屋のエネルギーダイナミクスにどのような影響を与えるかを理解するために詳しく見ていく.

集中型モデルのインポート

最初のステップとしてシステムモデルライブラリの"CollegeThermalFEM.mo"をインポートする.このためにSystem Modelerアプリケーションをわざわざ開く必要はない.このモデルライブラリはいくつかの既製のモデルを提供する.

College ThermalライブラリをすべてImportでインポートする:

特定のモデル(この場合は"RoomModelRome")を使うためには,モデルライブラリからそれを選ぶ.その子をチェックすることでモデルを開くことができる.

モデルライブラリによって提供されるモデルを調べる:
モデルの中を詳しく見る:
部屋の暖房モデルを開きそのダイアグラムを可視化する:

これでモデルがロードされたので,モデルのシミュレーションが実行できる.このためにはSystemModelSimulateを使う.

シミュレーションを実行する:

結果は,関心のあるシミュレーション結果をすべて含むSystemModelSimulationDataである.

SystemModelPlot関数を使って,デフォルトのSystem Modelerプロットを可視化する:

正しい変数名を指定すると,他の変数をプロットすることもできる.

室温をプロットする:

屋外温度を変化させる

時間依存の温度データを使って部屋の動作を解析する.このモデルは時間 (秒)の関数としての定義済みの温度データを含んでいる.

モデルで使われる温度データを可視化する:

春の温度を変化させるモデルをテストする.

春の間,外気温は基準温度の20°C付近なので,ラジエータはほとんどオフの状態である.温度が基準温度を下回る夕方はスイッチがオンになる.

いろいろな場合を効率的にテストするために,次のインタラクティブプロットでスライダー付のパラメータを作成する:

PDE部屋モデル

このセクションでは,部屋の2Dモデルを作成し,System Modelerのモデルからの境界条件に対する値を使うことによって,部屋の中で温度がどのように変化するかを調べる.

部屋の平均温度が確実に20度を保つ部屋の熱分布を求める.このために,パラメータがヒーターによって生成される熱をモデル化するパラメトリック偏微分方程式を設定する.ヒーターの指定された値に対して,部屋の温度分布を求める.この温度分布上の積分によってヒーターの指定の値に対する部屋の平均温度が得られる.それから部屋の平均温度が20度であるようなヒーターの値を求める.

FEMパッケージをロードする:

熱移動モデルの設定

部屋の熱分布をモデル化するときは,熱移動方程式を使い,偏微分方程式を使って部屋を記述することができる.部屋は単純な矩形である.

熱移動PDEは以下で与えられる:

熱方程式の従属変数は温度 であり,時間 と位置 とともに変化する.PDEモデルは,密度 の媒体を熱エネルギーが時間とともにどのように移動するかを記述し,比熱容量 を指定する.比熱容量は,単位体積の物質の温度を1ケルビン度上げるために必要な熱エネルギーの量を指定する材料特性である.

時間導関数の部分以外に,PDEはいくつかの成分で作られている.何よりもまず,熱伝導率 拡散項がある.

熱移動方程式を使ったモデリングの詳細は熱移動モノグラフに記載されている.

モデルパラメータの設定

目標は部屋の定常状態の温度分布を求めることである.つまり温度依存の項は削除でき,以下が得られる:

PDEモデルの変数を設定する:

幅4[m],長さ4[m]の矩形領域を設定して部屋をモデル化し,壁の近くにラジエータを置く.

部屋のモデルをメートル単位で作成する:

次に部屋のメッシュを生成する.ラジエータはメッシュの一部にしたい.ラジエータの領域はエネルギー源 として使う.

メッシュを生成する:
メッシュを調べる:

方程式の特定の材料パラメータを利用するために,ThermodynamicDataから関連するデータを抽出する.

このモデルでは,空気を媒体とした室内の温度分布に焦点を当てる.空気の熱伝導率は熱移動PDEモデルに必要である.しかし部屋の媒体の熱伝導率の値はSystem Modelerのモデルには必要なかった.その場合は壁の熱伝導率が計算に使われたのである.つまり,部屋の媒体である空気の熱伝導率はシステムモデルでは設定されていなかったので,ここで設定する.

空気の熱伝導率の値を得る:
PDEモデルのパラメータを設定する:

ここでパラメトリックの熱源,ラジエータを定義する重要なステップになる.ラジエータのサブドメイン内にあるすべての空間座標について,熱源 がある.ラジエータの外側では熱は生成されない.

熱源 を設定する:

次に4つの壁について境界条件を指定する.システムモデルは過渡モデルなので,データを抽出したい特定の時間を選ぶ必要がある.この場合,System Modelerのシミュレーション時間の時間 を任意に選んだ.

システムモデルのシミュレーションデータを抽出する,System Modelerの時間 を設定する:
時間 systemModelTime でモデルから壁の温度を抽出する:
System Modelerからの値で壁の温度を設定する:
PDEを設定する:

これでパラメトリック関数を設定するための成分がすべて揃った.

パラメトリック関数を設定する:

モデルがどのように動作するかをよりよく理解するために,熱源について幾分ランダムな値でモデルを調べ始める.

の値でモデルを評価する:
定常状態温度分布を可視化する:

求めたいのは特定の値に対する室温の平均値である.このために,ヘルパー関数 average を書く.

指定された値に対する平均室温を計算するヘルパー関数:
についての平均室温を計算する:

最後に,20度という平均室温を与えるの値が求めたい.

平均温度についてのを求める:
の値を再びモデルに挿入し,その値についての温度分布を得る:
平均室温20度に対する温度分布を可視化する:

集中型モデルからPDEへの移行はやりにくい場合がある.集中型モデルは,後で回復できないがPDEモデルには必要な憶測を立てるからである.例えば,ラジエータ,部屋,内壁の温度は現実を反映しない集中型モデルではすべて同じである.