パイプ加熱の例
この例では,中を通る流体を加熱するパイプを使用するタンクの充填をモデル化する.
コンポーネントのドラッグイン
新しいモデルを作成し,Modelica標準ライブラリから以下のコンポーネントをドラッグする:
- System:システムの特性とデフォルト値を定義するために使用されるので,コンポーネントごとに定義する必要はない
- MassFlowSource_T:一定質量流量源として使用される
- DynamicPipe:質量とエネルギーを蓄えることができる
- FixedHeatFlow:熱源として使用される
タンクパラメータの定義
Mediumドロップダウン メニューから,たとえば「Extension of the standard water package」などの流体を選択する.(このパラメータを空白のままにすることはできない)
Height:タンク全体の高さ.デフォルトでは,タンク内の液体の初期レベルは0.5 * height of the tankに設定されている.デフォルトを維持することも,Initializationタブに移動してlevel_startパラメータを変更することによって変えることもできる.
Ports:他のコンポーネントを接続することができるタンクの出口を指す.
nPorts:この例では,アンビエントのみに接続したいため,nPortsを1に設定する.
use_portsData:use_portsDataをtrueに設定する.
portsData:portsDataをリストとして与える,つまり,中括弧 {} を使用して指定する必要がある.引数として関数Modelica.Fluid.Vessels.BaseClasses.VesselPortsData()を取る.Class Browserの検索フィールドに名前を入力して関数を開くと,入力を確認できる:
diameter,height,その他のパラメータを定義できる.この例では,ポートの高さを0m,直径を0.3mに設定する.zeta_outとzeta_inにはデフォルトを使用する.portsDataへの入力は次のようになる:{Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter = 0.3, height = 0)}
境界パラメータの定義
Medium:ドロップダウンメニューから,たとえば「Extension of the standard water package」などの流体を選択する.
nPorts:アンビエントはタンクにのみ接続されているため,値を1に設定する.
パイプパラメータの定義
Mediumドロップダウンメニューから,たとえば「Extension of the standard water package」などの流体を選択する.(このパラメータを空白のままにすることはできない)
isCircular:円形か非円形を選択できる.isCircularがfalseに設定されている場合は,crossAreaパラメータとperimeterパラメータを定義する必要がある.断面積は長さ全体に渡って一定であると仮定していることに注意する.
Roughness:パイプ内表面の粗さ.これはパイプ材料の特性であり,一般的な材料とその粗さの値は次のとおりである:
height_ab:出口 (port_b) と入口 (port_a) の高さの差.パイプの矢印の方向を確認して入口と出口を決定すること.
固定された熱流パラメータの定義
接続とシミュレート
Experiment Setupでシミュレーションの時間を指定し,シミュレートする:
解析
タンクの温度とレベルをプロットする.温度は熱移動データtank.heatTransfer.Ts[1]から取得でき,tank.levelをプロットすることによってレベルが取得できる.
タンク内の流体の温度は100分後に20°Cから約22°Cまで上昇する.