Wolfram Computation Meets Knowledge

タンクの例

コンポーネントのドラッグイン接続とシミュレート
タンクパラメータの定義解析
境界パラメータの定義

この例では,周囲への出口を持つタンクをモデル化する.このモデルを使用して,タンクの高さに応じて流速がどのように変化するかを観察する.

1.gif

タンク出口での流速を決定するためのモデル.

コンポーネントのドラッグイン

新しいモデルを作成し,Modelica標準ライブラリから以下のコンポーネントをドラッグする:

タンクパラメータの定義

Medium ドロップダウン メニューから,たとえば「Extension of the standard water package」などの流体を選択する.(このパラメータを空白のままにすることはできない)

Height:タンク全体の高さ.デフォルトでは,タンク内の液体の初期レベルは 0.5 * height of the tankに設定されている.デフォルトを維持することも, Initializationタブに移動してlevel_startパラメータを変更することによって変えることもできる.

crossArea:タンクの断面積を定義する.

Ports:他のコンポーネントを接続することができるタンクの出口を指す.

nPorts:この例では,アンビエントのみに接続したいため,nPortsを1に設定する.

use_portsDatause_portsDataをtrueに設定する.

portsDataportsDataをリストとして与える,つまり,中括弧 {} を使用して指定する必要がある.引数として関数Modelica.Fluid.Vessels.BaseClasses.VesselPortsData()を取る.Class Browserの検索フィールドに名前を入力して関数を開くと,入力を確認できる:

3.gif

diameterheight,その他のパラメータを定義できる.この例では,ポートの高さを1m,直径を0.3mに設定する.zeta_outzeta_inにはデフォルトを使用する.portsDataへの入力は次のようになる:{Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter = 0.3, height = 1)}

4.gif

境界パラメータの定義

Medium:ドロップダウンメニューから,たとえば「Extension of the standard water package」などの流体を選択する.

nPorts:アンビエントはタンクにのみ接続されているため,値を1に設定する.

5.gif

接続とシミュレート

tankboundaryのポートを接続する.

6.gif

Experiment Setupでシミュレーションの時間を指定し,シミュレートする:

7.gif

解析

Simulation Centerで出口の質量流量とレベルをプロットする.質量流量はポートデータ tank.ports[1].m_flowから取得できる.レベルは,tank.levelのようにプロットすることで取得できる.

8.gif

負の質量流量は,液体がタンクから移動していることを示す.液体レベルが減少すると,質量流量も減少する.