バルブの例
この例では,バルブを使って2つのタンクの間の流量を制御する.
コンポーネントのドラッグイン
新しいモデルを作成し,Modelica標準ライブラリから以下のコンポーネントをドラッグする:
- System:システムの特性とデフォルト値を定義するために使用されるので,コンポーネントごとに定義する必要はない
タンクパラメータの定義
両方のタンクに同じパラメータが使用される.流体の初期値のみが異なる:
Mediumドロップダウン メニューから,たとえば「Extension of the standard water package」などの流体を選択する.(このパラメータを空白のままにすることはできない)
Height:タンク全体の高さ.Initializationタブにあるlevel_startでtank1 を10mに,tank2を1mに変更する.
Ports:他のコンポーネントを接続することができるタンクの出口を指す.
nPorts:この例では,アンビエントのみに接続したいため,nPortsを1に設定する.
use_portsData:use_portsDataをtrueに設定する.
portsData:portsData をリストとして与える.つまり,中括弧 {} を使用して指定する必要がある.引数として関数Modelica.Fluid.Vessels.BaseClasses.VesselPortsData()を取る.Class Browserの検索フィールドに名前を入力して関数を開くと,入力を確認できる:
diameter,height,その他のパラメータを定義できる.この例では,ポートの高さを1m,直径を0.3mに設定する.zeta_outとzeta_inにはデフォルトを使用する.portsDataへの入力は次のようになる:{Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter = 0.3, height = 1)}
バルブパラメータの定義
Medium:ドロップダウンメニューから,たとえば「Extension of the standard water package」などの流体を選択する.(このパラメータを空白のままにすることはできない)
valveCharacteristic:バルブの特徴を選択する.デフォルト設定linearを使うとほとんどのケースで動作する.
CvData:バルブの流量係数を使用する.通常はCv (US) flow coefficientが使用される.
Cv:Cv値を設定する.サイズ10インチ (定格150) のボールバルブの場合,Cv値は15771である.
m_flow_nominal:バルブを通過する公称質量流量を設定する.
filteredOpening:数値を改善するには,これをtrueに設定する.
ランプパラメータの定義
Height:ここでは,高さはバルブを開いた時の正規化された値として使用される.ランプの高さを設定する.
Duration:ランプが初期値から目的の高さに到達するまでの時間を設定する.
システムパラメータの定義
Assumptionsタブで, massDynamicsをFixedInitialに設定する.(これによりタンクが初期レベルから開始できるため,初期値の使用が優先される)
接続とシミュレート
Experiment Setupでシミュレーションの時間を指定し,シミュレートする:
解析
バルブを通過する質量流量とタンクのレベルをプロットする.バルブを通過する質量流量は変数valveIncompressible1.m_flowを使用してプロットできる:
ランプ信号が始まった2秒後に水が流れ始める.水は高さの高いタンク (タンク1) から低いタンク (タンク2) に流れる.