この記事で、Turbojetエンジン全体でdeisgn-pointとoff-designの計算を統合して行うことに成功した。しかし、終わりの方で記した予感通り、早速新しいモデルで壁に当たった。2軸、2流路のturbofanエンジンモデルを組むと動かない。原因不明、解決目途が立っていないが、ひとまず現状報告として記事上げする。


Model checkを掛けるとvariableとequationの数が一致しエラーが出ない。しかし、simulateするとエラーが出る。エラーメッセージはModelica触る人なら良く遭遇する文言、"singular"だ。残念ながら、皆お馴染みの"matrix singular"ではない。コンパイル自体通らず、"Initialization problem is structurally singular"とのメッセージで止まる。メッセージを地道に読めば手掛かりが得られる可能性が有るが、この長大メッセージをどう読み進めてゆくか。。。これが逃れられないCAEの闇、出た結果の解釈、物理以外のところでコケて進めなくなる。

下図が作成したturbofanモデル。前回記事のturbojetエンジンから少し複雑になっただけのものだ。

  • PropulsionSystem.Examples.temp.Turbofan_temp01

turbojetのモデルには無い、design-pointのバイパス比(流量配分比)を定義するcomponentが追加されている。しかし、これが原因ではないと考えられる。意図通り動作することを、別途単体で確認を取っている。

turbofan_temp01_01

下図が、model check結果。エラーは何も現れない。

turbofan_temp01_02

こちらがdesign-pointバイパス比定義component。勿論、model checkでエラーは発生せず、simulateすると意図通り動作している。

  • PropulsionSystem.Examples.Elements.BasicElements.IdealSpliterBPRatDesignPoint_ex01

IdealSpliterBPRatDesignPoint_ex01_00

一応、エラーメッセージを下に掲載しておくので、スキルが有る方、興味が有る方は読解に挑戦して頂きたい。解決への道をご教授頂ければ幸いだ。

今回記事は以上、ここまで

------------------------------------------------------------

[1] 14:44:18 Symbolic Warning The model contains alias variables with conflicting start and/or nominal values. It is recommended to resolve the conflicts, because otherwise the system could be hard to solve. To print the conflicting alias sets and the chosen candidates please use -d=aliasConflicts.

[2] 14:44:18 Translation Warning It was not possible to determine if the initialization problem is consistent, because of not evaluable parameters/start values during compile time: SpltDesPt.ConstraintDesPt.k_auxVar1 = 0.0 (if time <= SpltDesPt.environment.timeRemoveDesConstraint then 0.0 else 1.0 = 0.0)

[3] 14:44:18 Translation Warning It was not possible to determine if the initialization problem is consistent, because of not evaluable parameters/start values during compile time: NmechDes1.ConstraintDesPt.k_auxVar1 = 0.0 (if time <= NmechDes1.environment.timeRemoveDesConstraint then 0.0 else 1.0 = 0.0)

[4] 14:44:18 Translation Warning It was not possible to determine if the initialization problem is consistent, because of not evaluable parameters/start values during compile time: NmechDes.ConstraintDesPt.k_auxVar1 = 0.0 (if time <= NmechDes.environment.timeRemoveDesConstraint then 0.0 else 1.0 = 0.0)

[5] 14:44:18 Translation Warning It was not possible to determine if the initialization problem is consistent, because of not evaluable parameters/start values during compile time: MassFlowDes.ConstraintDesPt.k_auxVar1 = 0.0 (if time <= MassFlowDes.environment.timeRemoveDesConstraint then 0.0 else 1.0 = 0.0)

[6] 14:44:18 Translation Notification The given system is mixed-determined. [index = 2]

[7] 14:44:18 Symbolic Error Initialization problem is structurally singular, error found sorting equations 456: SpltDesPt.ConstraintDesPt.k_u_variable = if time <= SpltDesPt.environment.timeRemoveDesConstraint then 1.0 else 0.0; 203: SpltDesPt.ConstraintDesPt.auxVar1 = 0.0; 429: -Cmp.port_1.m_flow = (-MassFlowDes.massFlowRate1.m_flow) / (1.0 + SpltDesPt.Splt.u_BPR); 455: SpltDesPt.const.k = SpltDesPt.ConstraintDesPt.k_u_variable * SpltDesPt.ConstraintDesPt.u_variable + SpltDesPt.ConstraintDesPt.auxVar1; 428: -Cmp1.port_1.m_flow = (-MassFlowDes.massFlowRate1.m_flow) * SpltDesPt.Splt.u_BPR / (1.0 + SpltDesPt.Splt.u_BPR); 427: SpltDesPt.ConstraintDesPt.u_variable = Cmp1.port_1.m_flow / SpltDesPt.division1.u2; 10: Cmp.NmechDes = Cmp.Nmech; 42: Cmp.Nc_1_des = Cmp.NmechDes / sqrt(Cmp.fluid_1.T / environment.Tstd); 759: Cmp.ScalerDesCmp.y_s_NcDes = Cmp.Nc_1_des / Cmp.NcTblDes_paramInput; 723: Cmp.Nmech = 9.549296585513721 * Cmp.omega; 745: Cmp.division_NcTbl.u2 = homotopy(smooth(0, if Cmp.ScalerDesCmp.y_s_NcDes > Cmp.limiter.uMax then Cmp.limiter.uMax else if Cmp.ScalerDesCmp.y_s_NcDes < Cmp.limiter.uMin then Cmp.limiter.uMin else Cmp.ScalerDesCmp.y_s_NcDes), Cmp.ScalerDesCmp.y_s_NcDes); 734: Cmp.Nc_1 = Cmp.Nmech / sqrt(Cmp.fluid_1.T / environment.Tstd); 927: Inlt.fluid_2.Xi[3] = smooth(0, Flt2Fluid.X_fluid_paramInput[3]); 430: SpltDesPt.Splt.fluid_3.Xi[3] = smooth(0, if MassFlowDes.massFlowRate1.m_flow > 0.0 then Inlt.fluid_2.Xi[3] else SpltDesPt.Splt.fluid_3.Xi[3]); 738: Cmp.fluid_1.Xi[3] = smooth(0, SpltDesPt.Splt.fluid_3.Xi[3]); 926: Inlt.fluid_2.Xi[2] = smooth(0, Flt2Fluid.X_fluid_paramInput[2]); 431: SpltDesPt.Splt.fluid_3.Xi[2] = smooth(0, if MassFlowDes.massFlowRate1.m_flow > 0.0 then Inlt.fluid_2.Xi[2] else SpltDesPt.Splt.fluid_3.Xi[2]); 739: Cmp.fluid_1.Xi[2] = smooth(0, SpltDesPt.Splt.fluid_3.Xi[2]); 925: Inlt.fluid_2.Xi[1] = smooth(0, Flt2Fluid.X_fluid_paramInput[1]); 432: SpltDesPt.Splt.fluid_3.Xi[1] = smooth(0, if MassFlowDes.massFlowRate1.m_flow > 0.0 then Inlt.fluid_2.Xi[1] else SpltDesPt.Splt.fluid_3.Xi[1]); 740: Cmp.fluid_1.Xi[1] = smooth(0, SpltDesPt.Splt.fluid_3.Xi[1]); 581: MassFlowDes.ConstraintDesPt.k_u_variable = if time <= MassFlowDes.environment.timeRemoveDesConstraint then 1.0 else 0.0; 107: MassFlowDes.ConstraintDesPt.auxVar1 = 0.0; 897: Flt2Fluid.AltMN2pTh.y_hTot = PropulsionSystem.Subelements.AltMN2pTh00$Flt2Fluid$AltMN2pTh.Medium.h_TX(Flt2Fluid.AltMN2pTh.y_Ttot, {Flt2Fluid.X_fluid_paramInput[1], Flt2Fluid.X_fluid_paramInput[2], Flt2Fluid.X_fluid_paramInput[3]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 867: Flt2Fluid.limiter4.y = homotopy(smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_Ttot > Flt2Fluid.limiter4.uMax) then Flt2Fluid.limiter4.uMax else if noEvent(Flt2Fluid.AltMN2pTh.y_Ttot < Flt2Fluid.limiter4.uMin) then Flt2Fluid.limiter4.uMin else Flt2Fluid.AltMN2pTh.y_Ttot), Flt2Fluid.AltMN2pTh.y_Ttot); 873: Flt2Fluid.sourceFluid2Inlet.ports[1].h_outflow = Modelica.Fluid.Sources.Boundary_pT$Flt2Fluid$sourceFluid2Inlet.Medium.h_TX(Flt2Fluid.limiter4.y, {Flt2Fluid.X_fluid_paramInput[1], Flt2Fluid.X_fluid_paramInput[2], Flt2Fluid.X_fluid_paramInput[3]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 580: MassFlowDes.const.k = MassFlowDes.ConstraintDesPt.k_u_variable * MassFlowDes.massFlowRate1.m_flow + MassFlowDes.ConstraintDesPt.auxVar1; 908: Inlt.fluid_1.h = smooth(0, Flt2Fluid.sourceFluid2Inlet.ports[1].h_outflow); 903: MassFlowDes.massFlowRate1.m_flow * (Inlt.fluid_1.h - Inlt.fluid_2.h) = 0.0; 907: Inlt.fluid_2.h = smooth(0, MassFlowDes.port_2.h_outflow); 433: SpltDesPt.Splt.fluid_3.h = smooth(0, if MassFlowDes.massFlowRate1.m_flow > 0.0 then MassFlowDes.port_2.h_outflow else SpltDesPt.Splt.fluid_3.h); 933: boundary.ports[1].h_outflow = PropulsionSystem.Sources.MassFlowSource_T$boundary.Medium.h_TX(400.0, {1.0, 0.0, 0.0}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 814: Comb.HeatInjector.fluid_2.h = PropulsionSystem.Elements.BasicElements.HeatInjector00$Comb$HeatInjector.Medium.h_TX(Comb.HeatInjector.fluid_2.T, {Comb.HeatInjector.fluid_1.Xi[1], Comb.HeatInjector.fluid_1.Xi[2], Comb.HeatInjector.fluid_1.Xi[3]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 866: algorithm Comb.Combustion.m_flow_fuel := VarBySolver.y_independent; Comb.Combustion.LHV_fuel := Comb.LHV_fuel_paramInput; Comb.Combustion.effComb := Comb.effComb_paramInput; if Comb.Combustion.m_flow_fuel > 0.0 then Comb.Combustion.Qcomb := Comb.Combustion.m_flow_fuel * Comb.Combustion.LHV_fuel * Comb.Combustion.effComb; else Comb.Combustion.Qcomb := 0.0; end if; Comb.Combustion.y_m_flow_fuel := Comb.Combustion.m_flow_fuel; Comb.Combustion.y_Qcomb := Comb.Combustion.Qcomb; ; 797: -Comb.HeatInjector.HeatPort_1.Q_flow = (-Comb.Combustion.y_Qcomb) * (1.0 + Comb.prescribedHeatFlow1.alpha * (Comb.HeatInjector.fluid_2.T - Comb.prescribedHeatFlow1.T_ref)); 806: Comb.HeatInjector.fluid_2.h = smooth(0, Comb.port_2.h_outflow); 800: Comb.HeatInjector.HeatPort_1.Q_flow + Trb.port_1.m_flow * (Comb.HeatInjector.fluid_1.h - Comb.HeatInjector.fluid_2.h) = 0.0; 810: Comb.HeatInjector.fluid_1.h = smooth(0, if Trb.port_1.m_flow > 0.0 then Comb.Mixer.port_3.h_outflow else Comb.HeatInjector.fluid_1.h); 424: 99999.99999999999 * Trb.fluid_1.p_bar = Cmp.fluid_2.p; 413: Cmp.port_2.m_flow = -Cmp.port_1.m_flow; 726: Cmp.pwr = (-Cmp.port_1.m_flow) * Cmp.fluid_1.h - Cmp.port_2.m_flow * Cmp.fluid_2.h; 924: Cmp.flange_1.tau = 0.0; 724: Cmp.omega * Cmp.trq = Cmp.pwr; 727: Cmp.trq = Cmp.flange_1.tau + Cmp.flange_2.tau; 923: Trb.flange_2.tau = 0.0; 420: Trb.flange_1.tau = -Cmp.flange_2.tau; 672: Trb.trq = Trb.flange_1.tau + Trb.flange_2.tau; 423: Trb.port_1.m_flow = -Trb.port_2.m_flow; 669: Trb.omega * Trb.trq = Trb.pwr; 671: Trb.pwr = (-Trb.port_1.m_flow) * Trb.fluid_1.h - Trb.port_2.m_flow * Trb.fluid_2.h; 690: Trb.TrbTbl_WcEff_NcPR.u_PRtbl = Trb.add_PRtbl.k1 * Trb.add_PRtbl.u1 + Trb.add_PRtbl.k2 * Trb.const.k; 691: Trb.division_PRtbl.u1 = Trb.PR - Trb.const1.k; 693: Trb.add_PRtbl.u1 = Trb.division_PRtbl.u1 / Trb.division_PRtbl.u2; 935: Trb.ScalerDesTrb.division3.u2 = Trb.PRtblDes_paramInput - Trb.ScalerDesTrb.const1.k; 689: Trb.division_PRtbl.u2 = homotopy(smooth(0, if Trb.ScalerDesTrb.y_s_PRdes > Trb.limiter.uMax then Trb.limiter.uMax else if Trb.ScalerDesTrb.y_s_PRdes < Trb.limiter.uMin then Trb.limiter.uMin else Trb.ScalerDesTrb.y_s_PRdes), Trb.ScalerDesTrb.y_s_PRdes); 700: Trb.ScalerDesTrb.y_s_PRdes = Trb.ScalerDesTrb.division3.u1 / Trb.ScalerDesTrb.division3.u2; 698: Trb.ScalerDesTrb.division3.u1 = Trb.PRdes - Trb.ScalerDesTrb.const.k; 55: Trb.PRdes = Trb.PR; 677: Trb.PR = Trb.fluid_1.p / Trb.fluid_2.p; 676: Trb.h_2is = PropulsionSystem.Elements.BasicElements.TrbCharTable01$Trb.Medium.isentropicEnthalpyApproximation(Trb.fluid_2.p, PropulsionSystem.Elements.BasicElements.TrbCharTable01$Trb.Medium.ThermodynamicState$Trb$fluid_1$state(Cmp.fluid_2.p, Trb.fluid_1.T, {Trb1.fluid_2.Xi[1], Trb1.fluid_2.Xi[2], Trb1.fluid_2.Xi[3]})); 673: Trb.dht = Trb.fluid_1.h - Trb.fluid_2.h; 675: Trb.dht_is = Trb.fluid_1.h - Trb.h_2is; 674: Trb.eff = Trb.dht / Trb.dht_is; 703: Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.y_eff = Modelica.Blocks.Tables.CombiTable2D$Trb$ScalerDesTrb$TrbTbl_WcEff_NcPR$combiTable2D_eff.getTableValue(Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.combiTable2D_eff.tableID, Trb.NcTblDes_paramInput, Trb.PRtblDes_paramInput, Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.combiTable2D_eff.tableOnFileRead); 686: 0.0 = if noEvent(time <= environment.timeRemoveDesConstraint) then Trb.eff - Trb.effDes_paramInput else Trb.eff - Trb.SclTrb.y_effScld; 699: Trb.ScalerDesTrb.y_s_effDes = Trb.effDes_paramInput / Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.y_eff; 694: Trb.SclTrb.y_effScld = Trb.ScalerDesTrb.y_s_effDes * Trb.SclTrb.u_eff; 54: Trb.NmechDes = Trb.Nmech; 70: Trb.Nc_1_des = Trb.NmechDes / sqrt(Trb.fluid_1_des.T / environment.Tstd); 702: Trb.ScalerDesTrb.y_s_NcDes = Trb.Nc_1_des / Trb.NcTblDes_paramInput; 578: NmechDes.ConstraintDesPt.k_u_variable = if time <= NmechDes.environment.timeRemoveDesConstraint then 1.0 else 0.0; 109: NmechDes.ConstraintDesPt.auxVar1 = 0.0; 577: NmechDes.const.k = NmechDes.ConstraintDesPt.k_u_variable * NmechDes.ConstraintDesPt.u_variable + NmechDes.ConstraintDesPt.auxVar1; 579: NmechDes.ConstraintDesPt.u_variable = 9.549296585513721 * Cmp.omega; 417: Trb.omega = Cmp.omega; 668: Trb.Nmech = 9.549296585513721 * Trb.omega; 688: Trb.division_NcTbl.u2 = homotopy(smooth(0, if Trb.ScalerDesTrb.y_s_NcDes > Trb.limiter1.uMax then Trb.limiter1.uMax else if Trb.ScalerDesTrb.y_s_NcDes < Trb.limiter1.uMin then Trb.limiter1.uMin else Trb.ScalerDesTrb.y_s_NcDes), Trb.ScalerDesTrb.y_s_NcDes); 678: Trb.Nc_1 = Trb.Nmech / sqrt(Trb.fluid_1.T / environment.Tstd); 696: Trb.SclTrb.u_eff = Modelica.Blocks.Tables.CombiTable2D$Trb$TrbTbl_WcEff_NcPR$combiTable2D_eff.getTableValue(Trb.TrbTbl_WcEff_NcPR.combiTable2D_eff.tableID, Trb.TrbTbl_WcEff_NcPR.u_NcTbl, Trb.TrbTbl_WcEff_NcPR.u_PRtbl, Trb.TrbTbl_WcEff_NcPR.combiTable2D_eff.tableOnFileRead); 692: Trb.TrbTbl_WcEff_NcPR.u_NcTbl = Trb.Nc_1 / Trb.division_NcTbl.u2; 53: Trb.fluid_1_des.T = Trb.fluid_1.T; 52: Trb.fluid_1_des.p = Trb.fluid_1.p; 704: Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.y_Wc = Modelica.Blocks.Tables.CombiTable2D$Trb$ScalerDesTrb$TrbTbl_WcEff_NcPR$combiTable2D_Wc.getTableValue(Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.combiTable2D_Wc.tableID, Trb.NcTblDes_paramInput, Trb.PRtblDes_paramInput, Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.combiTable2D_Wc.tableOnFileRead); 69: Trb.Wc_1_des = Trb.fluid_1_des.m_flow * sqrt(Trb.fluid_1_des.T / environment.Tstd) * environment.pStd / Trb.fluid_1_des.p; 697: Trb.SclTrb.u_Wc = Modelica.Blocks.Tables.CombiTable2D$Trb$TrbTbl_WcEff_NcPR$combiTable2D_Wc.getTableValue(Trb.TrbTbl_WcEff_NcPR.combiTable2D_Wc.tableID, Trb.TrbTbl_WcEff_NcPR.u_NcTbl, Trb.TrbTbl_WcEff_NcPR.u_PRtbl, Trb.TrbTbl_WcEff_NcPR.combiTable2D_Wc.tableOnFileRead); 701: Trb.ScalerDesTrb.y_s_WcDes = Trb.Wc_1_des / Trb.ScalerDesTrb.TrbTbl_WcEff_NcPR.y_Wc; 695: Trb.SclTrb.y_WcScld = Trb.ScalerDesTrb.y_s_WcDes * Trb.SclTrb.u_Wc; 51: Trb.fluid_1_des.m_flow = Trb.port_1.m_flow; 829: 0.0 = if VarBySolver.y_independent > 0.0 then Cmp.port_1.m_flow + VarBySolver.y_independent - Trb.port_1.m_flow else Cmp.port_1.m_flow - Trb.port_1.m_flow; 717: Trb.fluid_1.p_bar = 1e-005 * Trb.fluid_1.p; 687: 0.0 = if noEvent(time <= environment.timeRemoveDesConstraint) then Trb.fluid_1_des.m_flow - Trb.port_1.m_flow else Trb.Wc_1 - Trb.SclTrb.y_WcScld; 827: 0.0 = if VarBySolver.y_independent > 0.0 then Comb.Mixer.fluid_3.Xi[3] * (Cmp.port_1.m_flow + VarBySolver.y_independent) - Cmp.fluid_2.Xi[3] * Cmp.port_1.m_flow else Comb.Mixer.fluid_3.Xi[3] - Cmp.fluid_2.Xi[3]; 830: Comb.Mixer.fluid_3.Xi[3] = smooth(0, Comb.Mixer.port_3.Xi_outflow[3]); 807: Comb.HeatInjector.fluid_1.Xi[3] = smooth(0, if Trb.port_1.m_flow > 0.0 then Comb.Mixer.port_3.Xi_outflow[3] else Comb.HeatInjector.fluid_1.Xi[3]); 826: 0.0 = if VarBySolver.y_independent > 0.0 then Comb.Mixer.fluid_3.Xi[2] * (Cmp.port_1.m_flow + VarBySolver.y_independent) - Cmp.fluid_2.Xi[2] * Cmp.port_1.m_flow else Comb.Mixer.fluid_3.Xi[2] - Cmp.fluid_2.Xi[2]; 831: Comb.Mixer.fluid_3.Xi[2] = smooth(0, Comb.Mixer.port_3.Xi_outflow[2]); 808: Comb.HeatInjector.fluid_1.Xi[2] = smooth(0, if Trb.port_1.m_flow > 0.0 then Comb.Mixer.port_3.Xi_outflow[2] else Comb.HeatInjector.fluid_1.Xi[2]); 803: Comb.HeatInjector.fluid_1.Xi[3] = smooth(0, Comb.port_2.Xi_outflow[3]); 804: Comb.HeatInjector.fluid_1.Xi[2] = smooth(0, Comb.port_2.Xi_outflow[2]); 920: Constraint.u_variable = ramp_TIT.offset + (if time < ramp_TIT.startTime then 0.0 else if time < ramp_TIT.startTime + ramp_TIT.duration then (time - ramp_TIT.startTime) * ramp_TIT.height / ramp_TIT.duration else ramp_TIT.height); 919: Constraint.u_variable = Modelica.Fluid.Sensors.Temperature$temperature.Medium.T_hX(Comb.port_2.h_outflow, {Comb.port_2.Xi_outflow[1], Comb.port_2.Xi_outflow[2], Comb.port_2.Xi_outflow[3]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 779: Trb1.fluid_2.Xi[3] = smooth(0, Comb.port_2.Xi_outflow[3]); 780: Trb1.fluid_2.Xi[2] = smooth(0, Comb.port_2.Xi_outflow[2]); 679: Trb.Wc_1 = Trb.port_1.m_flow * sqrt(Trb.fluid_1.T / environment.Tstd) * environment.pStd / Trb.fluid_1.p; 782: Trb.fluid_1.h = smooth(0, Comb.port_2.h_outflow); 715: Trb.fluid_1.h = PropulsionSystem.Elements.BasicElements.TrbCharTable01$Trb.Medium.h_TX(Trb.fluid_1.T, {Trb1.fluid_2.Xi[1], Trb1.fluid_2.Xi[2], Trb1.fluid_2.Xi[3]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 781: Trb1.fluid_2.Xi[1] = smooth(0, Comb.port_2.Xi_outflow[1]); 805: Comb.HeatInjector.fluid_1.Xi[1] = smooth(0, Comb.port_2.Xi_outflow[1]); 809: Comb.HeatInjector.fluid_1.Xi[1] = smooth(0, if Trb.port_1.m_flow > 0.0 then Comb.Mixer.port_3.Xi_outflow[1] else Comb.HeatInjector.fluid_1.Xi[1]); 832: Comb.Mixer.fluid_3.Xi[1] = smooth(0, Comb.Mixer.port_3.Xi_outflow[1]); 204: Comb.Mixer.fluid_2.h = smooth(0, boundary.ports[1].h_outflow); 833: Comb.Mixer.fluid_3.h = smooth(0, Comb.Mixer.port_3.h_outflow); 825: 0.0 = if VarBySolver.y_independent > 0.0 then Comb.Mixer.fluid_3.Xi[1] * (Cmp.port_1.m_flow + VarBySolver.y_independent) - (Cmp.fluid_2.Xi[1] * Cmp.port_1.m_flow + VarBySolver.y_independent) else Comb.Mixer.fluid_3.Xi[1] - Cmp.fluid_2.Xi[1]; 828: 0.0 = if VarBySolver.y_independent > 0.0 then Comb.Mixer.fluid_3.h * (Cmp.port_1.m_flow + VarBySolver.y_independent) - (Cmp.port_1.m_flow * Cmp.fluid_2.h + VarBySolver.y_independent * Comb.Mixer.fluid_2.h) else Comb.Mixer.fluid_3.h - Cmp.fluid_2.h; 760: Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_eff = Modelica.Blocks.Tables.CombiTable2D$Cmp$ScalerDesCmp$CmpTbl_WcPReff_NcRline_Des$combiTable2D_eff.getTableValue(Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_eff.tableID, Cmp.NcTblDes_paramInput, Cmp.RlineTblDes_paramInput, Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_eff.tableOnFileRead); 747: Cmp.CmpTbl_WcPReff_NcRline.y_eff = Modelica.Blocks.Tables.CombiTable2D$Cmp$CmpTbl_WcPReff_NcRline$combiTable2D_eff.getTableValue(Cmp.CmpTbl_WcPReff_NcRline.combiTable2D_eff.tableID, Cmp.CmpTbl_WcPReff_NcRline.u_NcTbl, Cmp.Rline, Cmp.CmpTbl_WcPReff_NcRline.combiTable2D_eff.tableOnFileRead); 756: Cmp.ScalerDesCmp.y_s_effDes = Cmp.effDes_paramInput / Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_eff; 752: Cmp.SclCmp.y_effScld = Cmp.ScalerDesCmp.y_s_effDes * Cmp.CmpTbl_WcPReff_NcRline.y_eff; 730: Cmp.dht = Cmp.fluid_2.h - Cmp.fluid_1.h; 742: Cmp.eff = if noEvent(time <= environment.timeRemoveDesConstraint) then Cmp.effDes_paramInput else Cmp.SclCmp.y_effScld; 741: Cmp.fluid_1.h = smooth(0, SpltDesPt.Splt.fluid_3.h); 729: Cmp.eff = if 0.0 < Cmp.dht then Cmp.dht_is / Cmp.dht else 0.0; 411: Cmp.fluid_1.Xi[3] = Cmp.fluid_2.Xi[3]; 410: Cmp.fluid_1.Xi[2] = Cmp.fluid_2.Xi[2]; 409: Cmp.fluid_1.Xi[1] = Cmp.fluid_2.Xi[1]; 731: Cmp.dht_is = Cmp.h_2is - Cmp.fluid_1.h; 732: Cmp.h_2is = PropulsionSystem.Elements.BasicElements.CmpCharTable01$Cmp.Medium.isentropicEnthalpyApproximation(Cmp.fluid_2.p, PropulsionSystem.Elements.BasicElements.CmpCharTable01$Cmp.Medium.ThermodynamicState$Cmp$fluid_1$state(Cmp.fluid_1.p, Cmp.fluid_1.T, {Cmp.fluid_2.Xi[1], Cmp.fluid_2.Xi[2], Cmp.fluid_2.Xi[3]})); 733: Cmp.PR = Cmp.fluid_2.p / Cmp.fluid_1.p; 743: Cmp.PR = if noEvent(time <= environment.timeRemoveDesConstraint) then Cmp.PRdes_paramInput else Cmp.SclCmp.y_PRscld; 761: Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_PR = Modelica.Blocks.Tables.CombiTable2D$Cmp$ScalerDesCmp$CmpTbl_WcPReff_NcRline_Des$combiTable2D_PR.getTableValue(Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_PR.tableID, Cmp.NcTblDes_paramInput, Cmp.RlineTblDes_paramInput, Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_PR.tableOnFileRead); 934: Cmp.ScalerDesCmp.division3.u1 = Cmp.PRdes_paramInput - Cmp.ScalerDesCmp.const.k; 755: Cmp.ScalerDesCmp.division3.u2 = Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_PR - Cmp.ScalerDesCmp.const1.k; 750: Cmp.SclCmp.y_PRscld = Cmp.SclCmp.add1.k1 * Cmp.SclCmp.add1.u1 + Cmp.SclCmp.add1.k2 * Cmp.SclCmp.const1.k; 757: Cmp.ScalerDesCmp.y_s_PRdes = Cmp.ScalerDesCmp.division3.u1 / Cmp.ScalerDesCmp.division3.u2; 751: Cmp.SclCmp.add1.u1 = Cmp.ScalerDesCmp.y_s_PRdes * Cmp.SclCmp.feedback1.y; 753: Cmp.SclCmp.feedback1.y = Cmp.CmpTbl_WcPReff_NcRline.y_PR - Cmp.SclCmp.const.k; 746: Cmp.CmpTbl_WcPReff_NcRline.u_NcTbl = Cmp.Nc_1 / Cmp.division_NcTbl.u2; 748: Cmp.CmpTbl_WcPReff_NcRline.y_PR = Modelica.Blocks.Tables.CombiTable2D$Cmp$CmpTbl_WcPReff_NcRline$combiTable2D_PR.getTableValue(Cmp.CmpTbl_WcPReff_NcRline.combiTable2D_PR.tableID, Cmp.CmpTbl_WcPReff_NcRline.u_NcTbl, Cmp.Rline, Cmp.CmpTbl_WcPReff_NcRline.combiTable2D_PR.tableOnFileRead); 762: Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_Wc = Modelica.Blocks.Tables.CombiTable2D$Cmp$ScalerDesCmp$CmpTbl_WcPReff_NcRline_Des$combiTable2D_Wc.getTableValue(Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_Wc.tableID, Cmp.NcTblDes_paramInput, Cmp.RlineTblDes_paramInput, Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_Wc.tableOnFileRead); 749: Cmp.CmpTbl_WcPReff_NcRline.y_Wc = Modelica.Blocks.Tables.CombiTable2D$Cmp$CmpTbl_WcPReff_NcRline$combiTable2D_Wc.getTableValue(Cmp.CmpTbl_WcPReff_NcRline.combiTable2D_Wc.tableID, Cmp.CmpTbl_WcPReff_NcRline.u_NcTbl, Cmp.Rline, Cmp.CmpTbl_WcPReff_NcRline.combiTable2D_Wc.tableOnFileRead); 758: Cmp.ScalerDesCmp.y_s_WcDes = Cmp.Wc_1_des / Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_Wc; 754: Cmp.SclCmp.y_WcScld = Cmp.ScalerDesCmp.y_s_WcDes * Cmp.CmpTbl_WcPReff_NcRline.y_Wc; 735: Cmp.Wc_1 = Cmp.port_1.m_flow * sqrt(Cmp.fluid_1.T / environment.Tstd) * environment.pStd / Cmp.fluid_1.p; 426: SpltDesPt.division1.u2 = homotopy(smooth(0, if Cmp.port_1.m_flow > SpltDesPt.limiter1.uMax then SpltDesPt.limiter1.uMax else if Cmp.port_1.m_flow < SpltDesPt.limiter1.uMin then SpltDesPt.limiter1.uMin else Cmp.port_1.m_flow), Cmp.port_1.m_flow); 773: Cmp.fluid_1.h = PropulsionSystem.Elements.BasicElements.CmpCharTable01$Cmp.Medium.h_TX(Cmp.fluid_1.T, {Cmp.fluid_2.Xi[1], Cmp.fluid_2.Xi[2], Cmp.fluid_2.Xi[3]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 744: Cmp.Wc_1 = if noEvent(time <= environment.timeRemoveDesConstraint) then Cmp.Wc_1_des else Cmp.SclCmp.y_WcScld; 41: Cmp.Wc_1_des = Cmp.port_1.m_flow * sqrt(Cmp.fluid_1.T / environment.Tstd) * environment.pStd / Cmp.fluid_1.p; 904: Cmp.fluid_1.p = Inlt.effRamDes_paramInput * Flt2Fluid.sourceFluid2Inlet.p_in; 868: Flt2Fluid.sourceFluid2Inlet.p_in = homotopy(smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_pTot > Flt2Fluid.limiter3.uMax) then Flt2Fluid.limiter3.uMax else if noEvent(Flt2Fluid.AltMN2pTh.y_pTot < Flt2Fluid.limiter3.uMin) then Flt2Fluid.limiter3.uMin else Flt2Fluid.AltMN2pTh.y_pTot), Flt2Fluid.AltMN2pTh.y_pTot); 884: Flt2Fluid.y_V_inf = Flt2Fluid.MN_paramInput * sqrt(max(0.0, (518.2791167938085 * Flt2Fluid.X_fluid_paramInput[1] + 296.8033869505308 * Flt2Fluid.X_fluid_paramInput[2] + 259.8369938872708 * Flt2Fluid.X_fluid_paramInput[3]) * Flt2Fluid.AltMN2pTh.y_Tamb * (smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_Tamb < 1000) then 518.2791167938085 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (-176685.0998 + Flt2Fluid.AltMN2pTh.y_Tamb * (2786.18102 + Flt2Fluid.AltMN2pTh.y_Tamb * (-12.0257785 + Flt2Fluid.AltMN2pTh.y_Tamb * (0.0391761929 + Flt2Fluid.AltMN2pTh.y_Tamb * (-3.61905443e-005 + Flt2Fluid.AltMN2pTh.y_Tamb * (2.026853043e-008 + (-4.976705489999999e-012) * Flt2Fluid.AltMN2pTh.y_Tamb)))))) else 518.2791167938085 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (3730042.76 + Flt2Fluid.AltMN2pTh.y_Tamb * (-13835.01485 + Flt2Fluid.AltMN2pTh.y_Tamb * (20.49107091 + Flt2Fluid.AltMN2pTh.y_Tamb * (-0.001961974759 + Flt2Fluid.AltMN2pTh.y_Tamb * (4.72731304e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (-3.72881469e-011 + 1.623737207e-015 * Flt2Fluid.AltMN2pTh.y_Tamb))))))) * Flt2Fluid.X_fluid_paramInput[1] + smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_Tamb < 1000) then 296.8033869505308 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (22103.71497 + Flt2Fluid.AltMN2pTh.y_Tamb * (-381.846182 + Flt2Fluid.AltMN2pTh.y_Tamb * (6.08273836 + Flt2Fluid.AltMN2pTh.y_Tamb * (-0.00853091441 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.384646189e-005 + Flt2Fluid.AltMN2pTh.y_Tamb * (-9.62579362e-009 + 2.519705809e-012 * Flt2Fluid.AltMN2pTh.y_Tamb)))))) else 296.8033869505308 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (587712.406 + Flt2Fluid.AltMN2pTh.y_Tamb * (-2239.249073 + Flt2Fluid.AltMN2pTh.y_Tamb * (6.06694922 + Flt2Fluid.AltMN2pTh.y_Tamb * (-0.00061396855 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.491806679e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (-1.923105485e-011 + 1.061954386e-015 * Flt2Fluid.AltMN2pTh.y_Tamb))))))) * Flt2Fluid.X_fluid_paramInput[2] + smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_Tamb < 1000) then 259.8369938872708 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (-34255.6342 + Flt2Fluid.AltMN2pTh.y_Tamb * (484.700097 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.119010961 + Flt2Fluid.AltMN2pTh.y_Tamb * (0.00429388924 + Flt2Fluid.AltMN2pTh.y_Tamb * (-6.83630052e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (-2.0233727e-009 + 1.039040018e-012 * Flt2Fluid.AltMN2pTh.y_Tamb)))))) else 259.8369938872708 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (-1037939.022 + Flt2Fluid.AltMN2pTh.y_Tamb * (2344.830282 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.819732036 + Flt2Fluid.AltMN2pTh.y_Tamb * (0.001267847582 + Flt2Fluid.AltMN2pTh.y_Tamb * (-2.188067988e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (2.053719572e-011 + (-8.193467050000001e-016) * Flt2Fluid.AltMN2pTh.y_Tamb))))))) * Flt2Fluid.X_fluid_paramInput[3]) / (smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_Tamb < 1000) then 518.2791167938085 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (-176685.0998 + Flt2Fluid.AltMN2pTh.y_Tamb * (2786.18102 + Flt2Fluid.AltMN2pTh.y_Tamb * (-12.0257785 + Flt2Fluid.AltMN2pTh.y_Tamb * (0.0391761929 + Flt2Fluid.AltMN2pTh.y_Tamb * (-3.61905443e-005 + Flt2Fluid.AltMN2pTh.y_Tamb * (2.026853043e-008 + (-4.976705489999999e-012) * Flt2Fluid.AltMN2pTh.y_Tamb)))))) else 518.2791167938085 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (3730042.76 + Flt2Fluid.AltMN2pTh.y_Tamb * (-13835.01485 + Flt2Fluid.AltMN2pTh.y_Tamb * (20.49107091 + Flt2Fluid.AltMN2pTh.y_Tamb * (-0.001961974759 + Flt2Fluid.AltMN2pTh.y_Tamb * (4.72731304e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (-3.72881469e-011 + 1.623737207e-015 * Flt2Fluid.AltMN2pTh.y_Tamb))))))) * Flt2Fluid.X_fluid_paramInput[1] + smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_Tamb < 1000) then 296.8033869505308 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (22103.71497 + Flt2Fluid.AltMN2pTh.y_Tamb * (-381.846182 + Flt2Fluid.AltMN2pTh.y_Tamb * (6.08273836 + Flt2Fluid.AltMN2pTh.y_Tamb * (-0.00853091441 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.384646189e-005 + Flt2Fluid.AltMN2pTh.y_Tamb * (-9.62579362e-009 + 2.519705809e-012 * Flt2Fluid.AltMN2pTh.y_Tamb)))))) else 296.8033869505308 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (587712.406 + Flt2Fluid.AltMN2pTh.y_Tamb * (-2239.249073 + Flt2Fluid.AltMN2pTh.y_Tamb * (6.06694922 + Flt2Fluid.AltMN2pTh.y_Tamb * (-0.00061396855 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.491806679e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (-1.923105485e-011 + 1.061954386e-015 * Flt2Fluid.AltMN2pTh.y_Tamb))))))) * Flt2Fluid.X_fluid_paramInput[2] + smooth(0, if noEvent(Flt2Fluid.AltMN2pTh.y_Tamb < 1000) then 259.8369938872708 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (-34255.6342 + Flt2Fluid.AltMN2pTh.y_Tamb * (484.700097 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.119010961 + Flt2Fluid.AltMN2pTh.y_Tamb * (0.00429388924 + Flt2Fluid.AltMN2pTh.y_Tamb * (-6.83630052e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (-2.0233727e-009 + 1.039040018e-012 * Flt2Fluid.AltMN2pTh.y_Tamb)))))) else 259.8369938872708 * Flt2Fluid.AltMN2pTh.y_Tamb ^ (-2.0) * (-1037939.022 + Flt2Fluid.AltMN2pTh.y_Tamb * (2344.830282 + Flt2Fluid.AltMN2pTh.y_Tamb * (1.819732036 + Flt2Fluid.AltMN2pTh.y_Tamb * (0.001267847582 + Flt2Fluid.AltMN2pTh.y_Tamb * (-2.188067988e-007 + Flt2Fluid.AltMN2pTh.y_Tamb * (2.053719572e-011 + (-8.193467050000001e-016) * Flt2Fluid.AltMN2pTh.y_Tamb))))))) * Flt2Fluid.X_fluid_paramInput[3] + (-518.2791167938085) * Flt2Fluid.X_fluid_paramInput[1] + (-296.8033869505308) * Flt2Fluid.X_fluid_paramInput[2] + (-259.8369938872708) * Flt2Fluid.X_fluid_paramInput[3]))); 882: Flt2Fluid.AltMN2pTh.y_hTot = PropulsionSystem.Subelements.AltMN2pTh00$Flt2Fluid$AltMN2pTh.Medium.isentropicEnthalpyApproximation(Flt2Fluid.AltMN2pTh.y_pTot, PropulsionSystem.Subelements.AltMN2pTh00$Flt2Fluid$AltMN2pTh.Medium.ThermodynamicState$Flt2Fluid$AltMN2pTh$fluidAmb$state(Flt2Fluid.AltMN2pTh.y_pAmb, Flt2Fluid.AltMN2pTh.y_Tamb, {Flt2Fluid.X_fluid_paramInput[1], Flt2Fluid.X_fluid_paramInput[2], Flt2Fluid.X_fluid_paramInput[3]})); 883: Flt2Fluid.AltMN2pTh.y_hTot = Flt2Fluid.AltMN2pTh.y_hAmb + 0.5 * Flt2Fluid.y_V_inf ^ 2.0; 929: Flt2Fluid.AltMN2pTh.fluidAmb.R = 518.2791167938085 * Flt2Fluid.X_fluid_paramInput[1] + 296.8033869505308 * Flt2Fluid.X_fluid_paramInput[2] + 259.8369938872708 * Flt2Fluid.X_fluid_paramInput[3]; 930: Flt2Fluid.AltMN2pTh.fluidAmbStd.R = 518.2791167938085 * Flt2Fluid.X_fluid_paramInput[1] + 296.8033869505308 * Flt2Fluid.X_fluid_paramInput[2] + 259.8369938872708 * Flt2Fluid.X_fluid_paramInput[3]; 892: Flt2Fluid.AltMN2pTh.y_hAmb = PropulsionSystem.Subelements.AltMN2pTh00$Flt2Fluid$AltMN2pTh.Medium.h_TX(Flt2Fluid.AltMN2pTh.y_Tamb, {Flt2Fluid.X_fluid_paramInput[1], Flt2Fluid.X_fluid_paramInput[2], Flt2Fluid.X_fluid_paramInput[3]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0); 881: algorithm if Flt2Fluid.environment.alt_ground <= Flt2Fluid.alt_paramInput and Flt2Fluid.alt_paramInput < Flt2Fluid.environment.alt_UpBdTropos then Flt2Fluid.AltMN2pTh.TambStd := max(Flt2Fluid.environment.T_ground + (-0.0064878) * (Flt2Fluid.alt_paramInput - Flt2Fluid.environment.alt_ground), 1e-010); Flt2Fluid.AltMN2pTh.y_Tamb := max(Flt2Fluid.AltMN2pTh.TambStd + Flt2Fluid.dTamb_paramInput, 1e-010); Flt2Fluid.AltMN2pTh.pAmbStd := max(Flt2Fluid.environment.p_ground * (Flt2Fluid.AltMN2pTh.TambStd / Flt2Fluid.environment.T_ground) ^ ((-Flt2Fluid.environment.gravity) / (Flt2Fluid.AltMN2pTh.fluidAmbStd.R * Flt2Fluid.environment.LapseR1)), 1e-010); Flt2Fluid.AltMN2pTh.y_pAmb := max(Flt2Fluid.environment.p_ground * (Flt2Fluid.AltMN2pTh.y_Tamb / Flt2Fluid.environment.T_ground) ^ ((-Flt2Fluid.environment.gravity) / (Flt2Fluid.AltMN2pTh.fluidAmb.R * Flt2Fluid.environment.LapseR1)), 1e-010); elseif Flt2Fluid.environment.alt_UpBdTropos <= Flt2Fluid.alt_paramInput and Flt2Fluid.alt_paramInput < Flt2Fluid.environment.alt_UpBdStratos then Flt2Fluid.AltMN2pTh.TambStd := max(Flt2Fluid.environment.T_UpBdTropos, 1e-010); Flt2Fluid.AltMN2pTh.y_Tamb := max(Flt2Fluid.AltMN2pTh.TambStd + Flt2Fluid.dTamb_paramInput, 1e-010); Flt2Fluid.AltMN2pTh.pAmbStd := max(Flt2Fluid.environment.p_UpBdTropos * exp(Flt2Fluid.environment.gravity * (Flt2Fluid.environment.T_UpBdTropos - Flt2Fluid.alt_paramInput) / (Flt2Fluid.AltMN2pTh.fluidAmbStd.R * Flt2Fluid.AltMN2pTh.TambStd)), 1e-010); Flt2Fluid.AltMN2pTh.y_pAmb := max(Flt2Fluid.environment.p_UpBdTropos * exp(Flt2Fluid.environment.gravity * (Flt2Fluid.environment.T_UpBdTropos - Flt2Fluid.alt_paramInput) / (Flt2Fluid.AltMN2pTh.fluidAmb.R * Flt2Fluid.AltMN2pTh.y_Tamb)), 1e-010); end if; ; for variables $PRE.Trb.fluid_1_des.p(589), Cmp1.flagEffVal(350), Trb.port_2.Xi_outflow[1](595), Trb.fluid_1_des.m_flow(590), Trb.fluid_1.T(616), Trb.fluid_1.d(617), $PRE.Trb.fluid_2_des.s(561), $PRE.Trb1.PRdes(201), $PRE.Nzl.fluid_1_des.X[1](411), Trb1.pwr(223), Comb.HeatInjector.fluid_1.u(834), Cmp1.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_Wc.tableOnFileRead(11), Flt2Fluid.AltMN2pTh.fluidAmbStd.T_degC(908), Trb.fluid_1.u(615), Cmp1.CmpTbl_WcPReff_NcRline.combiTable2D_Wc.tableOnFileRead(8), Flt2Fluid.AltMN2pTh.fluidTot.p_bar(916), Trb.fluid_1.h(618), Trb1.m_flow_max(209), Inlt.y_FdRam(922), Trb.Nc_1_des(627), Cmp1.CmpTbl_WcPReff_NcRline.combiTable2D_PR.tableOnFileRead(7), $PRE.Cmp1.flange_1_des.pwr(286), Trb1.fluid_1.Xi[3](194), Flt2Fluid.sourceFluidAmb.medium.d(900), Comb.Mixer.fluid_3.Xi[3](864), Comb.Mixer.fluid_3.R(859), SpltDesPt.Splt.fluid_3.Xi[1](57), Flt2Fluid.AltMN2pTh.y_pAmb(906), Flt2Fluid.sourceFluid2Inlet.medium.d(895), Flt2Fluid.sourceFluidAmb.medium.T_degC(898), $PRE.Trb.Nc_1_des(628), Trb1.ScalerDesTrb.division3.u1(92), Cmp.Nmech(795), Comb.Mixer.fluid_1afterMix.T(854), Comb.Mixer.fluid_3.p_bar(856), Comb.Mixer.fluid_1afterMix.d(855), Comb.Mixer.fluid_3.MM(858), Comb.Mixer.fluid_3.T_degC(857), Comb.HeatInjector.fluid_1.MM(832), Nzl.AeThDes(386), Inlt.fluid_2.d(927), Cmp.fluid_2_des.m_flow(726), Cmp.s_fluid_1(785), Trb.fluid_1.Xi[2](620), $PRE.Trb1.variablesDes.Nmech(108), Inlt.fluid_2.Xi[1](26), Inlt.fluid_2.T_degC(924), Inlt.fluid_2.Xi[2](27), Cmp1.SclCmp.y_PRscld(232), Inlt.fluid_2.p_bar(923), Trb.fluid_2.h(606), Flt2Fluid.AltMN2pTh.fluidTot.R(29), Nzl.fluidStat_th_choked.T_degC(425), Cmp.port_2.h_outflow(748), Cmp1.CmpTbl_WcPReff_NcRline.u_NcTbl(230), Inlt.fluid_1.MM(44), Trb1.Wc_1(216), $DER.Trb1.phi(218), $PRE.Cmp.fluid_2_des.p(725), Trb1.Nc_1(215), Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_Wc.tableOnFileRead(21), Cmp.CmpTbl_WcPReff_NcRline.combiTable2D_PR.tableOnFileRead(17), Nzl.fluidStat_th_choked.d(430), Cmp1.SclCmp.y_WcScld(233), Cmp.flange_1.tau(25), Cmp1.CmpTbl_WcPReff_NcRline.y_Wc(229), Cmp1.CmpTbl_WcPReff_NcRline.y_PR(228), Flt2Fluid.AltMN2pTh.fluidAmb.R(30), Cmp1.ScalerDesCmp.y_s_effDes(236), boundary.medium.u(39), Cmp1.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_eff(241), Cmp1.ScalerDesCmp.division3.u1(37), Nzl.fluidStat_th_fullExp.T_degC(433), Nzl.fluidStat_th.R(451), Trb1.flange_2.tau(22), SpltDesPt.Splt.fluid_2.p_bar(58), Trb1.fluid_1.Xi[2](195), Cmp1.flange_1_des.omega(283), Cmp1.flange_1_des.pwr(285), Cmp1.fluid_2_des.X[2](291), Cmp.fluid_2.p(762), SpltDesPt.division1.u2(45), Trb.flange_2.tau(24), Cmp1.flange_1.tau(23), Comb.Mixer.fluid_2.h(40), Nzl.fluidStat_th_fullExp.MM(434), Nzl.fluidStat_th_fullExp.T(437), Cmp.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_PR.tableOnFileRead(20), Nzl.fluidStat_th.T_degC(449), Cmp1.SclCmp.feedback1.y(235), Cmp1.ScalerDesCmp.y_s_PRdes(237), Trb1.pwr_inv(221), Nzl.fluidStat_th_fullExp.R(435), Comb.port_2.h_outflow(806), Trb1.s_fluid_1(225), Trb1.omega(219), Comb.fluid_1.p_bar(814), Comb.HeatInjector.fluid_2.T_degC(823), Cmp.h_2is(788), Comb.fluid_2.T(812), Comb.HeatInjector.fluid_2.MM(824), Cmp.dht(789), Comb.port_2.Xi_outflow[3](803), Comb.port_2.Xi_outflow[2](804), Flt2Fluid.AltMN2pTh.fluidAmbStd.h(911), Flt2Fluid.AltMN2pTh.fluidTot.T_degC(917), Trb1.dht_is(212), Cmp1.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_PR.tableOnFileRead(10), Cmp1.SclCmp.add1.u1(234), Cmp.flange_2.tau(744), Trb1.s_fluid_2(224), Trb1.m_flow_min(208), $PRE.Cmp.NmechDes(781), Cmp.m_flow_max(787), Comb.HeatInjector.fluid_2.p_bar(822), $PRE.Trb1.fluid_1_des.p(164), Comb.fluid_1.d(820), Comb.fluid_2.d(813), Comb.fluid_2.u(811), Nzl.fluid_1_des.X[1](410), Comb.HeatInjector.fluid_1.d(836), Cmp.fluid_1.R(766), Cmp.fluid_1.d(769), Trb.TrbTbl_WcEff_NcPR.combiTable2D_Wc.tableOnFileRead(13), Cmp1.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.combiTable2D_eff.tableOnFileRead(9), Trb1.h_2is(210), Cmp1.ScalerDesCmp.CmpTbl_WcPReff_NcRline_Des.y_Wc(243), $PRE.Cmp1.fluid_1_des.s(304), Trb1.ScalerDesTrb.TrbTbl_WcEff_NcPR.y_Wc(94), Cmp1.fluid_1_des.s(303), Cmp1.variablesDes.h_2is(245), Trb.TrbTbl_WcEff_NcPR.combiTable2D_eff.tableOnFileRead(12), $PRE.Cmp1.variablesDes.h_2is(246), Trb1.dht(211), $PRE.Nzl.fluid_1_des.X[2](409), $PRE.Trb1.Wc_1_des(207), Cmp.fluid_1.T_degC(764), Nzl.fluidStat_th_choked.MM(426), Cmp.fluid_1.p_bar(763), Cmp.fluid_1.T(768), Cmp.fluid_1.u(767), Comb.HeatInjector.fluid_1.T(835), Comb.HeatInjector.fluid_1.h(837), Cmp.fluid_1_des.X[2](732), $PRE.Nzl.fluid_1_des.h(413), Comb.HeatInjector.fluid_2.d(828), Cmp.fluid_1.MM(765), Cmp1.variablesDes.dht_is(247), Trb.fluid_1.Xi[3](619), Cmp.fluid_1_des.p(740), $PRE.Cmp.fluid_2_des.m_flow(727), Trb1.Nc_1_des(202), Flt2Fluid.AltMN2pTh.y_hTot(901), Comb.Mixer.fluid_3.Xi[2](865), Comb.Mixer.m_flow_min(879), Flt2Fluid.AltMN2pTh.fluidAmb.p_bar(912), Comb.Mixer.fluid_1.d(878), Flt2Fluid.AltMN2pTh.fluidAmb.T_degC(913), Flt2Fluid.AltMN2pTh.fluidAmb.u(914), Comb.Combustion.y_Qcomb(881), Flt2Fluid.sourceFluid2Inlet.medium.p_bar(892), Comb.Mixer.fluid_1.MM(874), Comb.Mixer.fluid_1.p_bar(872), Comb.Mixer.fluid_3.Xi[1](866), Comb.Combustion.m_flow_fuel(886)

[8] 14:44:18 Translation Error No system for the symbolic initialization was generated

------------------------------------------------------------




文献紹介

Modelicaによるシステムシミュレーション入門

入門者に最適の書。Modelicaって何?という導入から、簡単なコードベースやGUIベースの例モデルまで解説。筆者も入門時に手に取った。訳に少し癖が有る印象だが、英語書物がハードルになる方には確かな助けになる筈。


[amazon、紙面書籍版] [楽天、紙面書籍版] [AU payマーケット、紙面書籍版]
[楽天、電子書籍版] [AU payマーケット、電子書籍版] [7ネットショッピング、電子書籍版]

Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica

「Modelicaによるシステムシミュレーション入門」の英語版原書。英語に抵抗がなければこちらを入手したら良いと思う。


[Yahoo、紙面書籍版]

Principles of Object-Oriented Modeling and Simulation with Modelica 3.3 A Cyber-Physical Approach (Wiley-IEEE Press)

本格的にModelicaを使い込むなら必携の書。辞書的に適宜調べものをするような形で手元に有ると頼もしい武器。量が多いので電子版もお勧め。筆者もKindle版を所有し、かなりの頻度で参照している。


[楽天、電子書籍版]

Introduction to Physical Modeling With Modelica


[楽天、紙面書籍版]


------------------------------