連載記事で用いるModelicaのコンポーネントの一覧および簡易解説.
Modelica Standard Library: Fluid
- Modelica.Fluid.System
- Modelica.Fluid.Sources.MassFlowSource_T
- Modelica.Fluid.Sources.Boundary_pT
- Modelica.Fluid.Sources.Boundary_ph
- Modelica.Fluid.Pipes.DynamicPipe
- Modelica.Fluid.Vessels.ClosedVolume
- Modelica.Fluid.Machines.Pump
- Modelica.Fluid.Sensors.TemperatureTwoPort
- Modelica.Fluid.Sensors.Pressure
- Modelica.Fluid.Sensors.VolumeFlowRate
- Modelica.Fluid.Sensors.SpecificEnthalpy
- Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow
- Modelica.Thermal.HeatTransfer.Components.Convection
- Modelica.Thermal.HeatTransfer.Components.HeatCapacitor
- Modelica.Thermal.HeatTransfer.Sensors.HeatFlowSensor
- Modelica.Mechanics.Rotational.Sources.Speed
- Modelica.Mechanics.Rotational.Sensors.PowerSensor
- Modelica.Mechanics.Translational.Sources.Position
- Modelica.Mechanics.Translational.Components.Mass
- Modelica.Mechanics.Translational.Components.SpringDamper
- Modelica.Blocks.Sources.Constant
- Modelica.Blocks.Sources.Ramp
- Modelica.Blocks.Sources.Step
- Modelica.Blocks.Sources.Trapezoid
- Modelica.Blocks.Math.Sum
- Modelica.Blocks.Routing.Replicator
- Modelica.Blocks.Math.UnitConversions.From_rpm
- Modelica.Blocks.Interaction.Show.RealValue
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Environment-> p_ambient: 外気圧力
- General->Environment-> T_ambient: 外気温度
- General->Environment-> g: 重力加速度
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameter-> use_m_flow_in: 質量流量入力コネクタ使用スイッチ.
- General->Parameter-> use_T_in: 温度入力コネクタ使用スイッチ.
- General->Parameter-> use_X_in: 物性組成(割合)入力コネクタ使用スイッチ.
- General->Parameter-> use_C_in: 微量物質(割合)入力コネクタ使用スイッチ.
- General->Parameter-> m_flow: 質量流量.
- General->Parameter-> T: 温度.
- General->Parameter-> X: 物性組成(割合)(物性によっては入力不要).
- General->Parameter-> C: 微量物質(物性に影響しない).
- General->Parameter-> nPorts: ポート数(OpenModelica ver1.18以降入力不要).
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameter-> use_p_in: 圧力入力コネクタ使用スイッチ.
- General->Parameter-> use_T_in: 温度入力コネクタ使用スイッチ.
- General->Parameter-> use_X_in: 物性組成(割合)入力コネクタ使用スイッチ.
- General->Parameter-> use_C_in: 微量物質(割合)入力コネクタ使用スイッチ.
- General->Parameter-> p: 圧力.
- General->Parameter-> T: 温度.
- General->Parameter-> X: 物性組成(割合)(物性によっては入力不要).
- General->Parameter-> C: 微量物質(物性に影響しない).
- General->Parameter-> nPorts: ポート数(ver1.18以降入力不要).
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameter-> use_p_in:
- General->Parameter-> use_h_in:
- General->Parameter-> use_X_in:
- General->Parameter-> use_C_in:
- General->Parameter-> p: 圧力.
- General->Parameter-> h: 比エンタルピ.
- General->Parameter-> X: 物性組成(割合)(物性によっては入力不要).
- General->Parameter-> C: 微量物質(物性に影響しない).
- General->Parameter-> nPorts: ポート数(ver1.18以降入力不要).
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Geometory-> nParallel: 平行本数.
- General->Geometory-> length: 管長さ.
- General->Geometory-> isCircular: 円管/Not.
- General->Geometory-> diameter: 管直径.
- General->Geometory-> crossArea: 流路断面積.円管として計算する場合は入力不要.
- General->Geometory-> perimeter: 流路周長.円管として計算する場合は入力不要.
- General->Geometory-> roughness: 表面粗さ.管摩擦係数に効いてくる.
- General->Static head-> height_ab: 管の出入口の高低差.出入口の高さが異なり,重力による圧力差を加味する場合に入力.
- Assumptions->Heat transfer-> use_HeatTransfer: 熱授受コネクタスイッチ.
- Advanced->Parameters-> nNords: 内部volume要素の数.
- Advanced->Parameters-> modelStructure: pipe両端の、volume(capacitance)とflow(resistance/pressure drop)の組合せ方の設定。選択肢を下記に列挙する。なお,両端部にしか関わらないためnNodesが大きいほど本項による違いが小さくなる。
- av_vb: port_a – volume – flow -…- flow – volume – port_b
- a_v_b: port_a – flow – volume -…- volume – flow – port_b
- av_b: port_a – volume – flow -…- volume – flow – port_b
- a_vb: port_a – flow - volume -…- flow - volume – port_b
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> V: 体積.
- General->Ports-> use_portsData: 本コンポーネントと他コンポーネントを繋ぐportに圧力損失特性を持たせるか否かのスイッチ.離散計算上のnodeとして本コンポーネントを用いる時にはfalseに設定する(筆者のチュートリアル連載では常にfalse設定で使っている).
- Assumptions->Heat transfer-> use_HeatTransfer: 熱授受コネクタスイッチ.
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Geometory-> nParallel: 平行本数.
- General->Characteristics-> N_nominal: 定格機械回転数.
- Assumptions->Parameters-> checkValve: ストールし逆流が生じるのを防ぐ安全機構のOn/Off.
- Assumptions->Parameters-> V: ポンプ容積
- Assumptions->Heat transfer-> use_HeatTransfer: 熱授受コネクタスイッチ.
Modelica.Fluid.System
Modelica.Fluidのコンポーネントを使う為におまじない的に必要なものと考えれば良い。モデル全体を通して使う定数等が納められている.
Modelica.Fluid.Sources.MassFlowSource_T
質量流量,温度を境界条件として与えるもの.
inputはparameterからとコネクタを介してとから選択できる.
Modelica.Fluid.Sources.Boundary_pT
圧力、温度を境界条件として与えるもの。ただし、流体が本コンポーネントに流れ込む場合、温度のinputは使われない.
inputはparameterからとコネクタを介してとから選択できる.
Modelica.Fluid.Sources.Boundary_ph
圧力、比エンタルピを境界条件として与えるもの。ただし、流体が本コンポーネントに流れ込む場合、比エンタルピのinputは使われない.
inputはparameterからとコネクタを介してとから選択できる.
Modelica.Fluid.Pipes.DynamicPipe
ボリューム効果、熱授受のモデルが追加された配管コンポーネント。圧力損失(Resistance)、ボリューム効果+熱授受(Capacitance)が交互に生じるようになっており、幾つのセクションに区切るかをparameterで設定する。刻み数を多くするほど状態量が徐々に変化するのをより正確にシミュレートするが(メッシュを細かく刻むのと同義.),当然計算負荷は大きくなる.
port_aにも_bにもvolumeが隣り合う。flow(pressure drop)の数がnNodesの設定数より1少ない。
port_aにも_bにもflow(pressure drop)が隣り合う。flowの数がnNodesの設定数より1多い。
port_aにはvolume、_bにはflowが隣り合う。flowとvolumeの数が等しい。
port_aにはflow、_bにはvolumeが隣り合う。flowとvolumeの数が等しい。
Modelica.Fluid.Vessels.ClosedVolume
nodeであり,過渡シミュレーションにおいては内部の流体状態が均一な有限体積を持つ要素として,ボリューム効果(質量流量、エネルギの過渡的な溜り)をシミュレートする.
筆者が営むブログのチュートリアル連載では,所望する物理モデルの作成には本来必要無いがこれを配置している事が多々有る.コンポーネントのportの値、特にboundary/Sourceコンポーネントのものは注意して値を観ないと、”流れの向きによっては値を使用していない”と言ったことが有りdebug/結果評価を誤ってしまうので注意.こう言った誤りを防ぐべく状態量監視のためのnodeとして使う.
Modelica.Fluid.Machines.Pump
遠心ポンプコンポーネント.回転数とトルクを授受するシャフトインターフェイスであるflangeを備えており,Mechanics-Rotationalライブラリのコンポーネントと繋げてシステムを作成出来る。
コンポーネント特性として,揚程 vs. 体積流量と断熱効率のソースコードに記述する必要が有る.定格機械回転数においての揚程vs.体積流量と断熱効率(vs.体積流量)をfunctionで設定する.(機械回転数のインターフェイスが異なる,PrescribedPumpでも同様)これはGUIのparameter windowから設定する事は出来ず,下図に示しているようにソースコードを直に記述すつ必要が有る.
Modelica.Fluid.Sensors.TemperatureTwoPort
Modelica.Fluid.Sensors.Pressure
Modelica.Fluid.Sensors.VolumeFlowRate
Modelica.Fluid.Sensors.SpecificEnthalpy
Modelica Standard Library: Thermal
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> T_ref: 温度補正に使う定格温度.
- General->Parameters-> alpha: 補正に使う比例定数.
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> C: 熱容量.比熱ではなく,質量を掛けた値(Cp*m)である点に注意.
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow
熱流量(heat flow)を境界条件として与えるThermalライブラリのコンポーネント。与える熱流量はReal信号で与える。
定格温度と比例係数を用いた補正を行う機能が付いている.
Modelica.Thermal.HeatTransfer.Components.Convection
Modelica.Thermal.HeatTransfer.Components.HeatCapacitor
熱慣性コンポーネント.熱の溜め(固体それ自体の温度上昇に熱が使われる.)による伝熱の遅れをシミュレートするのに使う.
Modelica.Thermal.HeatTransfer.Sensors.HeatFlowSensor
Modelica Standard Library: Mechanics: Rotational
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> useSupport: support flangeを使う/使わない.trueにすると,入力信号=2 flange間の相対速度として計算が為される.
Modelica.Mechanics.Rotational.Sources.Speed
回転機械系のコンポーネントに境界条件として機械回転数を与えるコンポーネント。Real connectorを介して機械回転数の信号を与える.
単位は [rad/s]であり[rpm]ではない点に注意.
support flangeに別の回転機械系コンポーネントを繋ぐ事で,2つのflange間の相対回転数を与える事も出来る.
1次フィルタで入力信号をフィルタリングする機能が備わっている.(周期の短い波状の入力や変化率が大きな入力操作をしない限り,意識する必要は無い.)
Modelica.Mechanics.Rotational.Sensors.PowerSensor
Modelica Standard Library: Mechanics: Translational
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> exact: 入力信号を直接変位入力に使うか,フィルタ掛け処理を掛けるかのスイッチ.trueを選択すると信号値が直接使われる.
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> m: 質量
- General->Parameters-> L: 長さ
- General->Initialization-> v.start: 速度初期値(拘束する場合)
- General->Initialization-> a.start: 加速度初期値(拘束する場合)
- General->Initialization-> s.start: 変位初期値(拘束する場合)
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> c: バネ定数.
- General->Parameters-> d: 減衰係数
- General->Parameters-> s_rel0: 中立状態の相対変位.=力を生じない状態でのバネの長さ.
- General->Initialization-> s_rel.start: 両端の相対変位(connector間長さ)の初期値(拘束する場合)
- General->Initialization-> v_rel.start: 両端の相対速度の初期値(拘束する場合)
- Advanced->Parameters-> stateSelect:
Modelica.Mechanics.Translational.Sources.Position
1D併進運動系に境界条件として変位(位置)を与えるコンポーネント.変位の値はinputコネクタから信号入力を取得する.
Modelica.Mechanics.Translational.Components.Mass
質点コンポーネント.
connectorに流入してくる力の合計値から,質点に生じる加速度が決まる.そして,その積分から質点の速度および変位が決まる.
また,動的な振る舞いは質点であるが,固定値の長さを与え,2つのconnector間に変位差を持たせる事が出来る.
Modelica.Mechanics.Translational.Components.SpringDamper
バネとダンパを並列に繫いだもの.
中立状態からの長さ変化に比例する反発力(弾性)と,connector間の速度差に比例してその速度を妨げようと働く抵抗力(減衰)を発生させる.
また,減衰は機械運動エネルギの散逸を意味する訳だが,そのエネルギ散逸が発熱に換わるとして,熱量をThermal系に渡す事ができるようHeatPortを備えている.ダンパと油圧系回路をモデル化し,発熱の影響を加味したい場合等に使える.
Modelica Standard Library: Blocks
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> height: ランプ操作の高さ(変化量).
- General->Parameters-> duration: ランプ操作実行時間.
- General->Parameters-> offset: ランプ操作前の信号出力値.
- General->Parameters-> startTime: ランプ操作実行開始時刻.
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> height: ステップ高さ(信号出力値の変化)
- General->Parameters-> offset: ステップ発生前の信号出力値
- General->Parameters-> startTime: ステップ発生時刻
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> amplitude: 台形高さ.
- General->Parameters-> rising: 上昇に掛ける時間.
- General->Parameters-> width: 上昇完了から下降開始までの時間.
- General->Parameters-> falling: 下降に掛ける時間.
- General->Parameters-> period: 上昇開始から,次の上昇開始までの時間.
- General->Parameters-> nperiod: 周期回数.
- General->Parameters-> offset: 上昇前の出力値.
- General->Parameters-> startTime: 最初の上昇開始の時刻.
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> nin: 入力信号の個数.
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> nout: 出力信号の数.
- Parameters(基本デフォルト値のまま使うものは省略)
- General->Parameters-> use_numberPort: 表示値に入力コネクタから与えられた値を使うか否か.falseにするとnumberに入力された固定値が表示される.
- General->Parameters-> number: 表示する固定値.use_numberPortがfalseの場合のみ有効.
- General->Parameters-> significantDigits: 表示値の有効数字.
Modelica.Blocks.Sources.Constant
Modelica.Blocks.Sources.Ramp
ランプ信号発生器.
ランプ捜査前の値,ランプ操作の高さ,操作時間を与える.
Modelica.Blocks.Sources.Step
ステップ信号発生器.
Modelica.Blocks.Sources.Trapezoid
台形信号発生器.台形状の出力信号は周期的に多数回発生させられる.
Modelica.Blocks.Math.Sum
コネクタからの信号入力の和を計算するコンポーネント.
和を取る前に各入力信号値に定数を掛ける機能を備えている.
Modelica.Blocks.Routing.Replicator
入力信号を複製して復習のoutputコネクタに出力するコンポーネント.
Modelica.Blocks.Math.UnitConversions.From_rpm
Modelica.Blocks.Interaction.Show.RealValue
シミュレーション完了後の結果表示に使うコンポーネント.diagram上に信号入力された値を表示する.
*この表示機能がOpenModelicaにて使えるのはver1.19以上.
以上
コメント