Opened 11 years ago

Closed 10 years ago

#2543 closed defect (worksforme)

Structuraly singular systems in ThermoPower involving homotopy

Reported by: Adrian Pop Owned by: probably noone
Priority: high Milestone: 1.9.2
Component: Backend Version: trunk
Keywords: Cc: Francesco Casella, Lennart Ochel, Willi Braun

Description

ThermoPower.Examples.HRB.Models.HRBPlant in ThermoPower (see attached)
or SVN at: http://svn.code.sf.net/p/thermopower/svn/trunk/ThermoPower.

loadFile("hrb.mo"); getErrorString();
simulate(ThermoPower.Examples.HRB.Models.HRBPlant); getErrorString();

gives:

[c:\\bin\\cygwin\\home\\adrpo\\dev\\OpenModelicaNoChanges\\build\\lib\\omlibrary\\Modelica 3.2.1\\Blocks\\Continuous.mo:348:5-348:25:writable] Error: Model is structurally singular, error found sorting equations 
 549: der(GasFlowActuator.y) = (GasFlowActuator.k * GasFlowRate - GasFlowActuator.y) / GasFlowActuator.T;
520: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[10]);
515: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[9]);
510: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[8]);
505: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[7]);
495: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[5]);
491: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[4]);
490: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[4]);
485: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[3]);
480: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[2]);
278: Boiler.GasSide.gas[1].d = Boiler.GasSide.p / (Boiler.GasSide.gas[1].T * Boiler.GasSide.gas[1].R);
154: Boiler.WaterSide.wbar[7] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[7]) / 2.0 - Boiler.WaterSide.dMdt[1] - Boiler.WaterSide.dMdt[2] - Boiler.WaterSide.dMdt[3] - Boiler.WaterSide.dMdt[4] - Boiler.WaterSide.dMdt[6] - Boiler.WaterSide.dMdt[5], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
148: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[7] * der(Boiler.WaterSide.htilde[7]) + Boiler.WaterSide.wbar[7] * (Boiler.WaterSide.htilde[7] - Boiler.WaterSide.htilde[6]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[7];
53: Boiler.WaterSide.heatTransfer.k[7] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[7], Boiler.WaterSide.T[7], Boiler.WaterSide.p, 0.0, true);
52: Boiler.WaterSide.heatTransfer.mu[7] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[7], Boiler.WaterSide.T[7], Boiler.WaterSide.p, 0.0);
54: Boiler.WaterSide.heatTransfer.cp[7] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], 0.0, 0));
33: Boiler.WaterSide.heatTransfer.k[2] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[2], Boiler.WaterSide.T[2], Boiler.WaterSide.p, 0.0, true);
32: Boiler.WaterSide.heatTransfer.mu[2] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[2], Boiler.WaterSide.T[2], Boiler.WaterSide.p, 0.0);
34: Boiler.WaterSide.heatTransfer.cp[2] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], 0.0, 0));
175: Boiler.WaterSide.wbar[10] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[10]) / 2.0 - Boiler.WaterSide.dMdt[1] - Boiler.WaterSide.dMdt[2] - Boiler.WaterSide.dMdt[3] - Boiler.WaterSide.dMdt[4] - Boiler.WaterSide.dMdt[5] - Boiler.WaterSide.dMdt[6] - Boiler.WaterSide.dMdt[7] - Boiler.WaterSide.dMdt[9] - Boiler.WaterSide.dMdt[8], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
242: Boiler.WaterSide.Q_single[10] = Boiler.WaterSide.wall.Q[10] / /*Real*/(Boiler.WaterSide.Nt);
152: Boiler.WaterSide.drbdh[7] = (Boiler.WaterSide.drdh[7] + Boiler.WaterSide.drdh[8]) / 2.0;
209: Boiler.WaterSide.drdh[7] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], 0.0, 0));
145: Boiler.WaterSide.drbdh[6] = (Boiler.WaterSide.drdh[6] + Boiler.WaterSide.drdh[7]) / 2.0;
140: Boiler.WaterSide.wbar[5] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[5]) / 2.0 - Boiler.WaterSide.dMdt[1] - Boiler.WaterSide.dMdt[2] - Boiler.WaterSide.dMdt[4] - Boiler.WaterSide.dMdt[3], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
237: Boiler.WaterSide.Q_single[5] = Boiler.WaterSide.wall.Q[5] / /*Real*/(Boiler.WaterSide.Nt);
131: Boiler.WaterSide.drbdh[4] = (Boiler.WaterSide.drdh[4] + Boiler.WaterSide.drdh[5]) / 2.0;
238: Boiler.WaterSide.Q_single[6] = Boiler.WaterSide.wall.Q[6] / /*Real*/(Boiler.WaterSide.Nt);
240: Boiler.WaterSide.Q_single[8] = Boiler.WaterSide.wall.Q[8] / /*Real*/(Boiler.WaterSide.Nt);
214: Boiler.WaterSide.drdh[8] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], 0.0, 0));
159: Boiler.WaterSide.drbdh[8] = (Boiler.WaterSide.drdh[8] + Boiler.WaterSide.drdh[9]) / 2.0;
158: Boiler.WaterSide.drbdp[8] = (Boiler.WaterSide.drdp[8] + Boiler.WaterSide.drdp[9]) / 2.0;
241: Boiler.WaterSide.Q_single[9] = Boiler.WaterSide.wall.Q[9] / /*Real*/(Boiler.WaterSide.Nt);
229: Boiler.WaterSide.drdh[11] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], 0.0, 0));
467: Boiler.GasSide.cv[1] = smooth(0, if noEvent(Boiler.GasSide.gas[1].T < 1000.0) then 296.8033869505308 * Boiler.GasSide.gas[1].T ^ -2 * (22103.71497 + Boiler.GasSide.gas[1].T * (-381.846182 + Boiler.GasSide.gas[1].T * (6.08273836 + Boiler.GasSide.gas[1].T * (-0.00853091441 + Boiler.GasSide.gas[1].T * (1.384646189e-005 + Boiler.GasSide.gas[1].T * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.gas[1].T)))))) else 296.8033869505308 * Boiler.GasSide.gas[1].T ^ -2 * (587712.406 + Boiler.GasSide.gas[1].T * (-2239.249073 + Boiler.GasSide.gas[1].T * (6.06694922 + Boiler.GasSide.gas[1].T * (-0.00061396855 + Boiler.GasSide.gas[1].T * (1.491806679e-007 + Boiler.GasSide.gas[1].T * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.gas[1].T))))))) * SourceW2.Xnom[1] + smooth(0, if noEvent(Boiler.GasSide.gas[1].T < 1000.0) then 259.8369938872708 * Boiler.GasSide.gas[1].T ^ -2 * (-34255.6342 + Boiler.GasSide.gas[1].T * (484.700097 + Boiler.GasSide.gas[1].T * (1.119010961 + Boiler.GasSide.gas[1].T * (0.00429388924 + Boiler.GasSide.gas[1].T * (-6.83630052e-007 + Boiler.GasSide.gas[1].T * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.gas[1].T)))))) else 259.8369938872708 * Boiler.GasSide.gas[1].T ^ -2 * (-1037939.022 + Boiler.GasSide.gas[1].T * (2344.830282 + Boiler.GasSide.gas[1].T * (1.819732036 + Boiler.GasSide.gas[1].T * (0.001267847582 + Boiler.GasSide.gas[1].T * (-2.188067988e-007 + Boiler.GasSide.gas[1].T * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.gas[1].T))))))) * SourceW2.Xnom[2] + -296.8033869505308 * (SourceW2.Xnom[1] + SourceW2.Xnom[2]);
472: Boiler.GasSide.cv[2] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[1] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[1] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[1] * (-381.846182 + Boiler.GasSide.Ttilde[1] * (6.08273836 + Boiler.GasSide.Ttilde[1] * (-0.00853091441 + Boiler.GasSide.Ttilde[1] * (1.384646189e-005 + Boiler.GasSide.Ttilde[1] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[1])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[1] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[1] * (-2239.249073 + Boiler.GasSide.Ttilde[1] * (6.06694922 + Boiler.GasSide.Ttilde[1] * (-0.00061396855 + Boiler.GasSide.Ttilde[1] * (1.491806679e-007 + Boiler.GasSide.Ttilde[1] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[1]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[1] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[1] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[1] * (484.700097 + Boiler.GasSide.Ttilde[1] * (1.119010961 + Boiler.GasSide.Ttilde[1] * (0.00429388924 + Boiler.GasSide.Ttilde[1] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[1] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[1])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[1] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[1] * (2344.830282 + Boiler.GasSide.Ttilde[1] * (1.819732036 + Boiler.GasSide.Ttilde[1] * (0.001267847582 + Boiler.GasSide.Ttilde[1] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[1] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[1]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
333: Boiler.GasSide.heatTransfer.Tvol[2] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[1] + Boiler.GasSide.Ttilde[2]) / 2.0 else Boiler.GasSide.Ttilde[2];
96: Boiler.WaterSide.heatTransfer.Tvol[9] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[9] + Boiler.WaterSide.T[10]) / 2.0 else Boiler.WaterSide.T[10];
97: Boiler.WaterSide.heatTransfer.gamma_vol[9] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[9] + Boiler.WaterSide.heatTransfer.gamma[10]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[10];
98: Boiler.WaterSide.wall.Q[9] = 3.0 * (Boiler.TubeWalls.int.T[9] - Boiler.WaterSide.heatTransfer.Tvol[9]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[9] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
264: -Boiler.WaterSide.wall.Q[9] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[9] - Boiler.TubeWalls.Tvol[9]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
334: Boiler.GasSide.wall.Q[2] = 0.2 * (Boiler.CounterCurrent1.side1.T[2] - Boiler.GasSide.heatTransfer.Tvol[2]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
254: 0.1 * der(Boiler.TubeWalls.Tvol[9]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[9]) - Boiler.GasSide.wall.Q[2];
274: -Boiler.GasSide.wall.Q[2] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[2] - Boiler.TubeWalls.Tvol[9]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
362: Boiler.GasSide.rhobar[2] = (Boiler.GasSide.gas[2].d + Boiler.GasSide.gas[3].d) / 2.0;
372: Boiler.GasSide.cvbar[2] = (Boiler.GasSide.cv[2] + Boiler.GasSide.cv[3]) / 2.0;
524: Boiler.GasSide.Q_single[2] = Boiler.GasSide.wall.Q[2] / /*Real*/(Boiler.GasSide.Nt);
385: Boiler.GasSide.rhobar[4] = (Boiler.GasSide.gas[4].d + Boiler.GasSide.gas[5].d) / 2.0;
392: Boiler.GasSide.cvbar[4] = (Boiler.GasSide.cv[4] + Boiler.GasSide.cv[5]) / 2.0;
526: Boiler.GasSide.Q_single[4] = Boiler.GasSide.wall.Q[4] / /*Real*/(Boiler.GasSide.Nt);
487: Boiler.GasSide.cv[5] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[4] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[4] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[4] * (-381.846182 + Boiler.GasSide.Ttilde[4] * (6.08273836 + Boiler.GasSide.Ttilde[4] * (-0.00853091441 + Boiler.GasSide.Ttilde[4] * (1.384646189e-005 + Boiler.GasSide.Ttilde[4] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[4])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[4] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[4] * (-2239.249073 + Boiler.GasSide.Ttilde[4] * (6.06694922 + Boiler.GasSide.Ttilde[4] * (-0.00061396855 + Boiler.GasSide.Ttilde[4] * (1.491806679e-007 + Boiler.GasSide.Ttilde[4] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[4]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[4] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[4] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[4] * (484.700097 + Boiler.GasSide.Ttilde[4] * (1.119010961 + Boiler.GasSide.Ttilde[4] * (0.00429388924 + Boiler.GasSide.Ttilde[4] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[4] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[4])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[4] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[4] * (2344.830282 + Boiler.GasSide.Ttilde[4] * (1.819732036 + Boiler.GasSide.Ttilde[4] * (0.001267847582 + Boiler.GasSide.Ttilde[4] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[4] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[4]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
206: Boiler.WaterSide.T[7] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], 0, 0));
87: Boiler.WaterSide.heatTransfer.Tvol[6] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[6] + Boiler.WaterSide.T[7]) / 2.0 else Boiler.WaterSide.T[7];
88: Boiler.WaterSide.heatTransfer.gamma_vol[6] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[6] + Boiler.WaterSide.heatTransfer.gamma[7]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[7];
251: 0.1 * der(Boiler.TubeWalls.Tvol[6]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[6]) - Boiler.GasSide.wall.Q[5];
89: Boiler.WaterSide.wall.Q[6] = 3.0 * (Boiler.TubeWalls.int.T[6] - Boiler.WaterSide.heatTransfer.Tvol[6]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[6] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
261: -Boiler.WaterSide.wall.Q[6] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[6] - Boiler.TubeWalls.Tvol[6]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
271: -Boiler.GasSide.wall.Q[5] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[5] - Boiler.TubeWalls.Tvol[6]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
339: Boiler.GasSide.heatTransfer.Tvol[5] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[4] + Boiler.GasSide.Ttilde[5]) / 2.0 else Boiler.GasSide.Ttilde[5];
340: Boiler.GasSide.wall.Q[5] = 0.2 * (Boiler.CounterCurrent1.side1.T[5] - Boiler.GasSide.heatTransfer.Tvol[5]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
395: Boiler.GasSide.rhobar[5] = (Boiler.GasSide.gas[5].d + Boiler.GasSide.gas[6].d) / 2.0;
402: Boiler.GasSide.cvbar[5] = (Boiler.GasSide.cv[5] + Boiler.GasSide.cv[6]) / 2.0;
295: Boiler.GasSide.gas[5].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[4], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
527: Boiler.GasSide.Q_single[5] = Boiler.GasSide.wall.Q[5] / /*Real*/(Boiler.GasSide.Nt);
415: Boiler.GasSide.rhobar[7] = (Boiler.GasSide.gas[7].d + Boiler.GasSide.gas[8].d) / 2.0;
422: Boiler.GasSide.cvbar[7] = (Boiler.GasSide.cv[7] + Boiler.GasSide.cv[8]) / 2.0;
529: Boiler.GasSide.Q_single[7] = Boiler.GasSide.wall.Q[7] / /*Real*/(Boiler.GasSide.Nt);
517: Boiler.GasSide.cv[11] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[10] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[10] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[10] * (-381.846182 + Boiler.GasSide.Ttilde[10] * (6.08273836 + Boiler.GasSide.Ttilde[10] * (-0.00853091441 + Boiler.GasSide.Ttilde[10] * (1.384646189e-005 + Boiler.GasSide.Ttilde[10] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[10])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[10] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[10] * (-2239.249073 + Boiler.GasSide.Ttilde[10] * (6.06694922 + Boiler.GasSide.Ttilde[10] * (-0.00061396855 + Boiler.GasSide.Ttilde[10] * (1.491806679e-007 + Boiler.GasSide.Ttilde[10] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[10]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[10] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[10] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[10] * (484.700097 + Boiler.GasSide.Ttilde[10] * (1.119010961 + Boiler.GasSide.Ttilde[10] * (0.00429388924 + Boiler.GasSide.Ttilde[10] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[10] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[10])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[10] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[10] * (2344.830282 + Boiler.GasSide.Ttilde[10] * (1.819732036 + Boiler.GasSide.Ttilde[10] * (0.001267847582 + Boiler.GasSide.Ttilde[10] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[10] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[10]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
445: Boiler.GasSide.rhobar[10] = (Boiler.GasSide.gas[10].d + Boiler.GasSide.gas[11].d) / 2.0;
452: Boiler.GasSide.cvbar[10] = (Boiler.GasSide.cv[10] + Boiler.GasSide.cv[11]) / 2.0;
325: GasOut.gas.h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[10], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
532: Boiler.GasSide.Q_single[10] = Boiler.GasSide.wall.Q[10] / /*Real*/(Boiler.GasSide.Nt);
522: Boiler.GasSide.heatTransfer.w[11] = GasFlowActuator.y / /*Real*/(Boiler.GasSide.Nt);
538: Boiler.GasSide.p - SinkP2.p0 = PressDropLin1.R * PressDropLin1.inlet.m_flow;
512: Boiler.GasSide.cv[10] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[9] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[9] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[9] * (-381.846182 + Boiler.GasSide.Ttilde[9] * (6.08273836 + Boiler.GasSide.Ttilde[9] * (-0.00853091441 + Boiler.GasSide.Ttilde[9] * (1.384646189e-005 + Boiler.GasSide.Ttilde[9] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[9])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[9] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[9] * (-2239.249073 + Boiler.GasSide.Ttilde[9] * (6.06694922 + Boiler.GasSide.Ttilde[9] * (-0.00061396855 + Boiler.GasSide.Ttilde[9] * (1.491806679e-007 + Boiler.GasSide.Ttilde[9] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[9]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[9] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[9] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[9] * (484.700097 + Boiler.GasSide.Ttilde[9] * (1.119010961 + Boiler.GasSide.Ttilde[9] * (0.00429388924 + Boiler.GasSide.Ttilde[9] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[9] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[9])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[9] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[9] * (2344.830282 + Boiler.GasSide.Ttilde[9] * (1.819732036 + Boiler.GasSide.Ttilde[9] * (0.001267847582 + Boiler.GasSide.Ttilde[9] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[9] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[9]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
435: Boiler.GasSide.rhobar[9] = (Boiler.GasSide.gas[9].d + Boiler.GasSide.gas[10].d) / 2.0;
442: Boiler.GasSide.cvbar[9] = (Boiler.GasSide.cv[9] + Boiler.GasSide.cv[10]) / 2.0;
320: Boiler.GasSide.gas[10].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[9], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
531: Boiler.GasSide.Q_single[9] = Boiler.GasSide.wall.Q[9] / /*Real*/(Boiler.GasSide.Nt);
433: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[9] * Boiler.GasSide.cvbar[9] * der(Boiler.GasSide.Ttilde[9]) + Boiler.GasSide.wbar[9] * (Boiler.GasSide.gas[10].h - Boiler.GasSide.gas[9].h) = Boiler.GasSide.Q_single[9];
502: Boiler.GasSide.cv[8] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[7] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[7] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[7] * (-381.846182 + Boiler.GasSide.Ttilde[7] * (6.08273836 + Boiler.GasSide.Ttilde[7] * (-0.00853091441 + Boiler.GasSide.Ttilde[7] * (1.384646189e-005 + Boiler.GasSide.Ttilde[7] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[7])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[7] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[7] * (-2239.249073 + Boiler.GasSide.Ttilde[7] * (6.06694922 + Boiler.GasSide.Ttilde[7] * (-0.00061396855 + Boiler.GasSide.Ttilde[7] * (1.491806679e-007 + Boiler.GasSide.Ttilde[7] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[7]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[7] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[7] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[7] * (484.700097 + Boiler.GasSide.Ttilde[7] * (1.119010961 + Boiler.GasSide.Ttilde[7] * (0.00429388924 + Boiler.GasSide.Ttilde[7] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[7] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[7])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[7] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[7] * (2344.830282 + Boiler.GasSide.Ttilde[7] * (1.819732036 + Boiler.GasSide.Ttilde[7] * (0.001267847582 + Boiler.GasSide.Ttilde[7] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[7] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[7]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
507: Boiler.GasSide.cv[9] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[8] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[8] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[8] * (-381.846182 + Boiler.GasSide.Ttilde[8] * (6.08273836 + Boiler.GasSide.Ttilde[8] * (-0.00853091441 + Boiler.GasSide.Ttilde[8] * (1.384646189e-005 + Boiler.GasSide.Ttilde[8] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[8])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[8] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[8] * (-2239.249073 + Boiler.GasSide.Ttilde[8] * (6.06694922 + Boiler.GasSide.Ttilde[8] * (-0.00061396855 + Boiler.GasSide.Ttilde[8] * (1.491806679e-007 + Boiler.GasSide.Ttilde[8] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[8]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[8] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[8] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[8] * (484.700097 + Boiler.GasSide.Ttilde[8] * (1.119010961 + Boiler.GasSide.Ttilde[8] * (0.00429388924 + Boiler.GasSide.Ttilde[8] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[8] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[8])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[8] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[8] * (2344.830282 + Boiler.GasSide.Ttilde[8] * (1.819732036 + Boiler.GasSide.Ttilde[8] * (0.001267847582 + Boiler.GasSide.Ttilde[8] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[8] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[8]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
425: Boiler.GasSide.rhobar[8] = (Boiler.GasSide.gas[8].d + Boiler.GasSide.gas[9].d) / 2.0;
432: Boiler.GasSide.cvbar[8] = (Boiler.GasSide.cv[8] + Boiler.GasSide.cv[9]) / 2.0;
315: Boiler.GasSide.gas[9].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[8], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
310: Boiler.GasSide.gas[8].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[7], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
530: Boiler.GasSide.Q_single[8] = Boiler.GasSide.wall.Q[8] / /*Real*/(Boiler.GasSide.Nt);
423: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[8] * Boiler.GasSide.cvbar[8] * der(Boiler.GasSide.Ttilde[8]) + Boiler.GasSide.wbar[8] * (Boiler.GasSide.gas[9].h - Boiler.GasSide.gas[8].h) = Boiler.GasSide.Q_single[8];
443: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[10] * Boiler.GasSide.cvbar[10] * der(Boiler.GasSide.Ttilde[10]) + Boiler.GasSide.wbar[10] * (GasOut.gas.h - Boiler.GasSide.gas[10].h) = Boiler.GasSide.Q_single[10];
352: Boiler.GasSide.dMdt[1] + Boiler.GasSide.dMdt[2] + Boiler.GasSide.dMdt[3] + Boiler.GasSide.dMdt[4] + Boiler.GasSide.dMdt[5] + Boiler.GasSide.dMdt[6] + Boiler.GasSide.dMdt[7] + Boiler.GasSide.dMdt[8] + Boiler.GasSide.dMdt[9] + Boiler.GasSide.dMdt[10] = (GasFlowActuator.y - PressDropLin1.inlet.m_flow) / /*Real*/(Boiler.GasSide.Nt);
441: Boiler.GasSide.wbar[9] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[9]) / 2.0 - Boiler.GasSide.dMdt[1] - Boiler.GasSide.dMdt[2] - Boiler.GasSide.dMdt[3] - Boiler.GasSide.dMdt[4] - Boiler.GasSide.dMdt[5] - Boiler.GasSide.dMdt[6] - Boiler.GasSide.dMdt[8] - Boiler.GasSide.dMdt[7], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
431: Boiler.GasSide.wbar[8] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[8]) / 2.0 - Boiler.GasSide.dMdt[1] - Boiler.GasSide.dMdt[2] - Boiler.GasSide.dMdt[3] - Boiler.GasSide.dMdt[4] - Boiler.GasSide.dMdt[5] - Boiler.GasSide.dMdt[7] - Boiler.GasSide.dMdt[6], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
492: Boiler.GasSide.cv[6] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[5] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[5] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[5] * (-381.846182 + Boiler.GasSide.Ttilde[5] * (6.08273836 + Boiler.GasSide.Ttilde[5] * (-0.00853091441 + Boiler.GasSide.Ttilde[5] * (1.384646189e-005 + Boiler.GasSide.Ttilde[5] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[5])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[5] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[5] * (-2239.249073 + Boiler.GasSide.Ttilde[5] * (6.06694922 + Boiler.GasSide.Ttilde[5] * (-0.00061396855 + Boiler.GasSide.Ttilde[5] * (1.491806679e-007 + Boiler.GasSide.Ttilde[5] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[5]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[5] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[5] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[5] * (484.700097 + Boiler.GasSide.Ttilde[5] * (1.119010961 + Boiler.GasSide.Ttilde[5] * (0.00429388924 + Boiler.GasSide.Ttilde[5] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[5] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[5])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[5] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[5] * (2344.830282 + Boiler.GasSide.Ttilde[5] * (1.819732036 + Boiler.GasSide.Ttilde[5] * (0.001267847582 + Boiler.GasSide.Ttilde[5] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[5] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[5]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
497: Boiler.GasSide.cv[7] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[6] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[6] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[6] * (-381.846182 + Boiler.GasSide.Ttilde[6] * (6.08273836 + Boiler.GasSide.Ttilde[6] * (-0.00853091441 + Boiler.GasSide.Ttilde[6] * (1.384646189e-005 + Boiler.GasSide.Ttilde[6] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[6])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[6] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[6] * (-2239.249073 + Boiler.GasSide.Ttilde[6] * (6.06694922 + Boiler.GasSide.Ttilde[6] * (-0.00061396855 + Boiler.GasSide.Ttilde[6] * (1.491806679e-007 + Boiler.GasSide.Ttilde[6] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[6]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[6] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[6] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[6] * (484.700097 + Boiler.GasSide.Ttilde[6] * (1.119010961 + Boiler.GasSide.Ttilde[6] * (0.00429388924 + Boiler.GasSide.Ttilde[6] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[6] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[6])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[6] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[6] * (2344.830282 + Boiler.GasSide.Ttilde[6] * (1.819732036 + Boiler.GasSide.Ttilde[6] * (0.001267847582 + Boiler.GasSide.Ttilde[6] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[6] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[6]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
341: Boiler.GasSide.heatTransfer.Tvol[6] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[5] + Boiler.GasSide.Ttilde[6]) / 2.0 else Boiler.GasSide.Ttilde[6];
201: Boiler.WaterSide.T[6] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], 0, 0));
49: Boiler.WaterSide.heatTransfer.k[6] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[6], Boiler.WaterSide.T[6], Boiler.WaterSide.p, 0.0, true);
48: Boiler.WaterSide.heatTransfer.mu[6] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[6], Boiler.WaterSide.T[6], Boiler.WaterSide.p, 0.0);
50: Boiler.WaterSide.heatTransfer.cp[6] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], 0.0, 0));
51: Boiler.WaterSide.heatTransfer.gamma[6] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[6], Boiler.WaterSide.heatTransfer.k[6], Boiler.WaterSide.heatTransfer.cp[6]);
84: Boiler.WaterSide.heatTransfer.Tvol[5] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[5] + Boiler.WaterSide.T[6]) / 2.0 else Boiler.WaterSide.T[6];
85: Boiler.WaterSide.heatTransfer.gamma_vol[5] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[5] + Boiler.WaterSide.heatTransfer.gamma[6]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[6];
250: 0.1 * der(Boiler.TubeWalls.Tvol[5]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[5]) - Boiler.GasSide.wall.Q[6];
86: Boiler.WaterSide.wall.Q[5] = 3.0 * (Boiler.TubeWalls.int.T[5] - Boiler.WaterSide.heatTransfer.Tvol[5]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[5] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
342: Boiler.GasSide.wall.Q[6] = 0.2 * (Boiler.CounterCurrent1.side1.T[6] - Boiler.GasSide.heatTransfer.Tvol[6]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
260: -Boiler.WaterSide.wall.Q[5] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[5] - Boiler.TubeWalls.Tvol[5]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
270: -Boiler.GasSide.wall.Q[6] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[6] - Boiler.TubeWalls.Tvol[5]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
405: Boiler.GasSide.rhobar[6] = (Boiler.GasSide.gas[6].d + Boiler.GasSide.gas[7].d) / 2.0;
412: Boiler.GasSide.cvbar[6] = (Boiler.GasSide.cv[6] + Boiler.GasSide.cv[7]) / 2.0;
305: Boiler.GasSide.gas[7].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[6], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
300: Boiler.GasSide.gas[6].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[5], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
528: Boiler.GasSide.Q_single[6] = Boiler.GasSide.wall.Q[6] / /*Real*/(Boiler.GasSide.Nt);
403: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[6] * Boiler.GasSide.cvbar[6] * der(Boiler.GasSide.Ttilde[6]) + Boiler.GasSide.wbar[6] * (Boiler.GasSide.gas[7].h - Boiler.GasSide.gas[6].h) = Boiler.GasSide.Q_single[6];
413: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[7] * Boiler.GasSide.cvbar[7] * der(Boiler.GasSide.Ttilde[7]) + Boiler.GasSide.wbar[7] * (Boiler.GasSide.gas[8].h - Boiler.GasSide.gas[7].h) = Boiler.GasSide.Q_single[7];
451: Boiler.GasSide.wbar[10] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[10]) / 2.0 - Boiler.GasSide.dMdt[1] - Boiler.GasSide.dMdt[2] - Boiler.GasSide.dMdt[3] - Boiler.GasSide.dMdt[4] - Boiler.GasSide.dMdt[5] - Boiler.GasSide.dMdt[6] - Boiler.GasSide.dMdt[7] - Boiler.GasSide.dMdt[9] - Boiler.GasSide.dMdt[8], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
411: Boiler.GasSide.wbar[6] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[6]) / 2.0 - Boiler.GasSide.dMdt[1] - Boiler.GasSide.dMdt[2] - Boiler.GasSide.dMdt[3] - Boiler.GasSide.dMdt[5] - Boiler.GasSide.dMdt[4], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
393: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[5] * Boiler.GasSide.cvbar[5] * der(Boiler.GasSide.Ttilde[5]) + Boiler.GasSide.wbar[5] * (Boiler.GasSide.gas[6].h - Boiler.GasSide.gas[5].h) = Boiler.GasSide.Q_single[5];
421: Boiler.GasSide.wbar[7] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[7]) / 2.0 - Boiler.GasSide.dMdt[1] - Boiler.GasSide.dMdt[2] - Boiler.GasSide.dMdt[3] - Boiler.GasSide.dMdt[4] - Boiler.GasSide.dMdt[6] - Boiler.GasSide.dMdt[5], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
286: Boiler.GasSide.gas[3].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
291: Boiler.GasSide.gas[4].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
288: Boiler.GasSide.gas[3].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[2] * Boiler.GasSide.gas[3].R);
293: Boiler.GasSide.gas[4].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[3] * Boiler.GasSide.gas[4].R);
477: Boiler.GasSide.cv[3] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[2] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[2] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[2] * (-381.846182 + Boiler.GasSide.Ttilde[2] * (6.08273836 + Boiler.GasSide.Ttilde[2] * (-0.00853091441 + Boiler.GasSide.Ttilde[2] * (1.384646189e-005 + Boiler.GasSide.Ttilde[2] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[2])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[2] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[2] * (-2239.249073 + Boiler.GasSide.Ttilde[2] * (6.06694922 + Boiler.GasSide.Ttilde[2] * (-0.00061396855 + Boiler.GasSide.Ttilde[2] * (1.491806679e-007 + Boiler.GasSide.Ttilde[2] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[2]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[2] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[2] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[2] * (484.700097 + Boiler.GasSide.Ttilde[2] * (1.119010961 + Boiler.GasSide.Ttilde[2] * (0.00429388924 + Boiler.GasSide.Ttilde[2] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[2] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[2])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[2] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[2] * (2344.830282 + Boiler.GasSide.Ttilde[2] * (1.819732036 + Boiler.GasSide.Ttilde[2] * (0.001267847582 + Boiler.GasSide.Ttilde[2] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[2] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[2]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
482: Boiler.GasSide.cv[4] = smooth(0, if noEvent(Boiler.GasSide.Ttilde[3] < 1000.0) then 296.8033869505308 * Boiler.GasSide.Ttilde[3] ^ -2 * (22103.71497 + Boiler.GasSide.Ttilde[3] * (-381.846182 + Boiler.GasSide.Ttilde[3] * (6.08273836 + Boiler.GasSide.Ttilde[3] * (-0.00853091441 + Boiler.GasSide.Ttilde[3] * (1.384646189e-005 + Boiler.GasSide.Ttilde[3] * (-9.62579362e-009 + 2.519705809e-012 * Boiler.GasSide.Ttilde[3])))))) else 296.8033869505308 * Boiler.GasSide.Ttilde[3] ^ -2 * (587712.406 + Boiler.GasSide.Ttilde[3] * (-2239.249073 + Boiler.GasSide.Ttilde[3] * (6.06694922 + Boiler.GasSide.Ttilde[3] * (-0.00061396855 + Boiler.GasSide.Ttilde[3] * (1.491806679e-007 + Boiler.GasSide.Ttilde[3] * (-1.923105485e-011 + 1.061954386e-015 * Boiler.GasSide.Ttilde[3]))))))) * Boiler.GasSide.Xtilde[1,1] + smooth(0, if noEvent(Boiler.GasSide.Ttilde[3] < 1000.0) then 259.8369938872708 * Boiler.GasSide.Ttilde[3] ^ -2 * (-34255.6342 + Boiler.GasSide.Ttilde[3] * (484.700097 + Boiler.GasSide.Ttilde[3] * (1.119010961 + Boiler.GasSide.Ttilde[3] * (0.00429388924 + Boiler.GasSide.Ttilde[3] * (-6.83630052e-007 + Boiler.GasSide.Ttilde[3] * (-2.0233727e-009 + 1.039040018e-012 * Boiler.GasSide.Ttilde[3])))))) else 259.8369938872708 * Boiler.GasSide.Ttilde[3] ^ -2 * (-1037939.022 + Boiler.GasSide.Ttilde[3] * (2344.830282 + Boiler.GasSide.Ttilde[3] * (1.819732036 + Boiler.GasSide.Ttilde[3] * (0.001267847582 + Boiler.GasSide.Ttilde[3] * (-2.188067988e-007 + Boiler.GasSide.Ttilde[3] * (2.053719572e-011 + -8.193467050000001e-016 * Boiler.GasSide.Ttilde[3]))))))) * Boiler.GasSide.Xtilde[1,2] + -296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
481: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[2]);
335: Boiler.GasSide.heatTransfer.Tvol[3] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[2] + Boiler.GasSide.Ttilde[3]) / 2.0 else Boiler.GasSide.Ttilde[3];
211: Boiler.WaterSide.T[8] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], 0, 0));
216: Boiler.WaterSide.T[9] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], 0, 0));
61: Boiler.WaterSide.heatTransfer.k[9] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[9], Boiler.WaterSide.T[9], Boiler.WaterSide.p, 0.0, true);
60: Boiler.WaterSide.heatTransfer.mu[9] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[9], Boiler.WaterSide.T[9], Boiler.WaterSide.p, 0.0);
62: Boiler.WaterSide.heatTransfer.cp[9] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], 0.0, 0));
63: Boiler.WaterSide.heatTransfer.gamma[9] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[9], Boiler.WaterSide.heatTransfer.k[9], Boiler.WaterSide.heatTransfer.cp[9]);
263: -Boiler.WaterSide.wall.Q[8] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[8] - Boiler.TubeWalls.Tvol[8]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
93: Boiler.WaterSide.heatTransfer.Tvol[8] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[8] + Boiler.WaterSide.T[9]) / 2.0 else Boiler.WaterSide.T[9];
94: Boiler.WaterSide.heatTransfer.gamma_vol[8] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[8] + Boiler.WaterSide.heatTransfer.gamma[9]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[9];
95: Boiler.WaterSide.wall.Q[8] = 3.0 * (Boiler.TubeWalls.int.T[8] - Boiler.WaterSide.heatTransfer.Tvol[8]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[8] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
336: Boiler.GasSide.wall.Q[3] = 0.2 * (Boiler.CounterCurrent1.side1.T[3] - Boiler.GasSide.heatTransfer.Tvol[3]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
253: 0.1 * der(Boiler.TubeWalls.Tvol[8]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[8]) - Boiler.GasSide.wall.Q[3];
273: -Boiler.GasSide.wall.Q[3] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[3] - Boiler.TubeWalls.Tvol[8]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
375: Boiler.GasSide.rhobar[3] = (Boiler.GasSide.gas[3].d + Boiler.GasSide.gas[4].d) / 2.0;
382: Boiler.GasSide.cvbar[3] = (Boiler.GasSide.cv[3] + Boiler.GasSide.cv[4]) / 2.0;
290: Boiler.GasSide.gas[4].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[3], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
285: Boiler.GasSide.gas[3].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[2], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
525: Boiler.GasSide.Q_single[3] = Boiler.GasSide.wall.Q[3] / /*Real*/(Boiler.GasSide.Nt);
373: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[3] * Boiler.GasSide.cvbar[3] * der(Boiler.GasSide.Ttilde[3]) + Boiler.GasSide.wbar[3] * (Boiler.GasSide.gas[4].h - Boiler.GasSide.gas[3].h) = Boiler.GasSide.Q_single[3];
383: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[4] * Boiler.GasSide.cvbar[4] * der(Boiler.GasSide.Ttilde[4]) + Boiler.GasSide.wbar[4] * (Boiler.GasSide.gas[5].h - Boiler.GasSide.gas[4].h) = Boiler.GasSide.Q_single[4];
401: Boiler.GasSide.wbar[5] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[5]) / 2.0 - Boiler.GasSide.dMdt[1] - Boiler.GasSide.dMdt[2] - Boiler.GasSide.dMdt[4] - Boiler.GasSide.dMdt[3], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
381: Boiler.GasSide.wbar[3] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[3]) / 2.0 - Boiler.GasSide.dMdt[2] - Boiler.GasSide.dMdt[1], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
360: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.rhobar[2] * Boiler.GasSide.cvbar[2] * der(Boiler.GasSide.Ttilde[2]) + Boiler.GasSide.wbar[2] * (Boiler.GasSide.gas[3].h - Boiler.GasSide.gas[2].h) = Boiler.GasSide.Q_single[2];
391: Boiler.GasSide.wbar[4] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[4]) / 2.0 - Boiler.GasSide.dMdt[1] - Boiler.GasSide.dMdt[3] - Boiler.GasSide.dMdt[2], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
371: Boiler.GasSide.wbar[2] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[2]) / 2.0 - Boiler.GasSide.dMdt[1], Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
359: Boiler.GasSide.cvbar[1] = (Boiler.GasSide.cv[1] + Boiler.GasSide.cv[2]) / 2.0;
358: Boiler.GasSide.wbar[1] = homotopy(Boiler.GasSide.heatTransfer.w[11] + (-Boiler.GasSide.dMdt[1]) / 2.0, Boiler.GasSide.wnom / /*Real*/(Boiler.GasSide.Nt));
280: Boiler.GasSide.gas[2].h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.Ttilde[1], {Boiler.GasSide.Xtilde[1,1], Boiler.GasSide.Xtilde[1,2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
355: Boiler.GasSide.A * Boiler.GasSide.l * Boiler.GasSide.gas[2].d * Boiler.GasSide.cvbar[1] * der(Boiler.GasSide.Ttilde[1]) + Boiler.GasSide.wbar[1] * (Boiler.GasSide.gas[2].h - GasIn.gas.h) = Boiler.GasSide.Q_single[1];
331: Boiler.GasSide.heatTransfer.Tvol[1] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.gas[1].T + Boiler.GasSide.Ttilde[1]) / 2.0 else Boiler.GasSide.Ttilde[1];
523: Boiler.GasSide.Q_single[1] = Boiler.GasSide.wall.Q[1] / /*Real*/(Boiler.GasSide.Nt);
332: Boiler.GasSide.wall.Q[1] = 0.2 * (Boiler.CounterCurrent1.side1.T[1] - Boiler.GasSide.heatTransfer.Tvol[1]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
275: -Boiler.GasSide.wall.Q[1] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[1] - Boiler.TubeWalls.Tvol[10]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
255: 0.1 * der(Boiler.TubeWalls.Tvol[10]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[10]) - Boiler.GasSide.wall.Q[1];
265: -Boiler.WaterSide.wall.Q[10] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[10] - Boiler.TubeWalls.Tvol[10]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
99: Boiler.WaterSide.heatTransfer.Tvol[10] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[10] + Boiler.WaterSide.T[11]) / 2.0 else Boiler.WaterSide.T[11];
143: Boiler.WaterSide.rhobar[6] = (Boiler.WaterSide.rho[6] + Boiler.WaterSide.rho[7]) / 2.0;
208: Boiler.WaterSide.drdp[7] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], 0.0, 0));
207: Boiler.WaterSide.rho[7] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[6], 0, 0));
150: Boiler.WaterSide.rhobar[7] = (Boiler.WaterSide.rho[7] + Boiler.WaterSide.rho[8]) / 2.0;
212: Boiler.WaterSide.rho[8] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], 0, 0));
157: Boiler.WaterSide.rhobar[8] = (Boiler.WaterSide.rho[8] + Boiler.WaterSide.rho[9]) / 2.0;
218: Boiler.WaterSide.drdp[9] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], 0.0, 0));
165: Boiler.WaterSide.drbdp[9] = (Boiler.WaterSide.drdp[9] + Boiler.WaterSide.drdp[10]) / 2.0;
163: Boiler.WaterSide.dMdt[9] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[9] * der(Boiler.WaterSide.htilde[9]) + Boiler.WaterSide.drbdp[9] * der(Boiler.WaterSide.p));
224: Boiler.WaterSide.drdh[10] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], 0.0, 0));
166: Boiler.WaterSide.drbdh[9] = (Boiler.WaterSide.drdh[9] + Boiler.WaterSide.drdh[10]) / 2.0;
219: Boiler.WaterSide.drdh[9] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], 0.0, 0));
217: Boiler.WaterSide.rho[9] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[8], 0, 0));
164: Boiler.WaterSide.rhobar[9] = (Boiler.WaterSide.rho[9] + Boiler.WaterSide.rho[10]) / 2.0;
104: Boiler.WaterSide.p + Boiler.WaterSide.Dpfric - SourceP1.p0 = 0.0;
111: Boiler.WaterSide.vbar[1] = 1.0 / Boiler.WaterSide.rhobar[1];
118: Boiler.WaterSide.vbar[2] = 1.0 / Boiler.WaterSide.rhobar[2];
125: Boiler.WaterSide.vbar[3] = 1.0 / Boiler.WaterSide.rhobar[3];
132: Boiler.WaterSide.vbar[4] = 1.0 / Boiler.WaterSide.rhobar[4];
139: Boiler.WaterSide.vbar[5] = 1.0 / Boiler.WaterSide.rhobar[5];
146: Boiler.WaterSide.vbar[6] = 1.0 / Boiler.WaterSide.rhobar[6];
153: Boiler.WaterSide.vbar[7] = 1.0 / Boiler.WaterSide.rhobar[7];
160: Boiler.WaterSide.vbar[8] = 1.0 / Boiler.WaterSide.rhobar[8];
167: Boiler.WaterSide.vbar[9] = 1.0 / Boiler.WaterSide.rhobar[9];
105: Boiler.WaterSide.Dpfric = homotopy(Boiler.WaterSide.Kf * ThermoPower.Water.Flow1DFV.squareReg(Boiler.WaterSide.w, Boiler.WaterSide.wnom * Boiler.WaterSide.wnf / /*Real*/(Boiler.WaterSide.Nt)) * (Boiler.WaterSide.vbar[1] + Boiler.WaterSide.vbar[2] + Boiler.WaterSide.vbar[3] + Boiler.WaterSide.vbar[4] + Boiler.WaterSide.vbar[5] + Boiler.WaterSide.vbar[6] + Boiler.WaterSide.vbar[7] + Boiler.WaterSide.vbar[8] + Boiler.WaterSide.vbar[9] + Boiler.WaterSide.vbar[10]) / /*Real*/(Boiler.WaterSide.N + -1), Boiler.WaterSide.dpnom * /*Real*/(Boiler.WaterSide.Nt) * Boiler.WaterSide.w / Boiler.WaterSide.wnom);
174: Boiler.WaterSide.vbar[10] = 1.0 / Boiler.WaterSide.rhobar[10];
171: Boiler.WaterSide.rhobar[10] = (Boiler.WaterSide.rho[10] + Boiler.WaterSide.rho[11]) / 2.0;
226: Boiler.WaterSide.T[11] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], 0, 0));
69: Boiler.WaterSide.heatTransfer.k[11] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[11], Boiler.WaterSide.T[11], Boiler.WaterSide.p, 0.0, true);
68: Boiler.WaterSide.heatTransfer.mu[11] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[11], Boiler.WaterSide.T[11], Boiler.WaterSide.p, 0.0);
70: Boiler.WaterSide.heatTransfer.cp[11] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], 0.0, 0));
101: Boiler.WaterSide.wall.Q[10] = 3.0 * (Boiler.TubeWalls.int.T[10] - Boiler.WaterSide.heatTransfer.Tvol[10]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[10] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
71: Boiler.WaterSide.heatTransfer.gamma[11] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[11], Boiler.WaterSide.heatTransfer.k[11], Boiler.WaterSide.heatTransfer.cp[11]);
222: Boiler.WaterSide.rho[10] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], 0, 0));
221: Boiler.WaterSide.T[10] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], 0, 0));
100: Boiler.WaterSide.heatTransfer.gamma_vol[10] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[10] + Boiler.WaterSide.heatTransfer.gamma[11]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[11];
65: Boiler.WaterSide.heatTransfer.k[10] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[10], Boiler.WaterSide.T[10], Boiler.WaterSide.p, 0.0, true);
64: Boiler.WaterSide.heatTransfer.mu[10] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[10], Boiler.WaterSide.T[10], Boiler.WaterSide.p, 0.0);
67: Boiler.WaterSide.heatTransfer.gamma[10] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[10], Boiler.WaterSide.heatTransfer.k[10], Boiler.WaterSide.heatTransfer.cp[10]);
66: Boiler.WaterSide.heatTransfer.cp[10] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], 0.0, 0));
223: Boiler.WaterSide.drdp[10] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[9], 0.0, 0));
228: Boiler.WaterSide.drdp[11] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], 0.0, 0));
173: Boiler.WaterSide.drbdh[10] = (Boiler.WaterSide.drdh[10] + Boiler.WaterSide.drdh[11]) / 2.0;
227: Boiler.WaterSide.rho[11] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[10], 0, 0));
172: Boiler.WaterSide.drbdp[10] = (Boiler.WaterSide.drdp[10] + Boiler.WaterSide.drdp[11]) / 2.0;
550: der(ValveOpeningActuator.y) = (ValveOpeningActuator.k * ValveOpening - ValveOpeningActuator.y) / ValveOpeningActuator.T;
170: Boiler.WaterSide.dMdt[10] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[10] * der(Boiler.WaterSide.htilde[10]) + Boiler.WaterSide.drbdp[10] * der(Boiler.WaterSide.p));
231: Boiler.WaterSide.w = WaterIn.inlet.m_flow / /*Real*/(Boiler.WaterSide.Nt);
536: Valve.w = Valve.Kv * ValveOpeningActuator.y * (Boiler.WaterSide.p - SinkP1.p0);
162: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[9] * der(Boiler.WaterSide.htilde[9]) + Boiler.WaterSide.wbar[9] * (Boiler.WaterSide.htilde[9] - Boiler.WaterSide.htilde[8]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[9];
103: Boiler.WaterSide.dMdt[1] + Boiler.WaterSide.dMdt[2] + Boiler.WaterSide.dMdt[3] + Boiler.WaterSide.dMdt[4] + Boiler.WaterSide.dMdt[5] + Boiler.WaterSide.dMdt[6] + Boiler.WaterSide.dMdt[7] + Boiler.WaterSide.dMdt[8] + Boiler.WaterSide.dMdt[9] + Boiler.WaterSide.dMdt[10] = (WaterIn.inlet.m_flow - Valve.w) / /*Real*/(Boiler.WaterSide.Nt);
155: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[8] * der(Boiler.WaterSide.htilde[8]) + Boiler.WaterSide.wbar[8] * (Boiler.WaterSide.htilde[8] - Boiler.WaterSide.htilde[7]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[8];
156: Boiler.WaterSide.dMdt[8] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[8] * der(Boiler.WaterSide.htilde[8]) + Boiler.WaterSide.drbdp[8] * der(Boiler.WaterSide.p));
168: Boiler.WaterSide.wbar[9] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[9]) / 2.0 - Boiler.WaterSide.dMdt[1] - Boiler.WaterSide.dMdt[2] - Boiler.WaterSide.dMdt[3] - Boiler.WaterSide.dMdt[4] - Boiler.WaterSide.dMdt[5] - Boiler.WaterSide.dMdt[6] - Boiler.WaterSide.dMdt[8] - Boiler.WaterSide.dMdt[7], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
199: Boiler.WaterSide.drdh[5] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], 0.0, 0));
204: Boiler.WaterSide.drdh[6] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], 0.0, 0));
138: Boiler.WaterSide.drbdh[5] = (Boiler.WaterSide.drdh[5] + Boiler.WaterSide.drdh[6]) / 2.0;
137: Boiler.WaterSide.drbdp[5] = (Boiler.WaterSide.drdp[5] + Boiler.WaterSide.drdp[6]) / 2.0;
141: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[6] * der(Boiler.WaterSide.htilde[6]) + Boiler.WaterSide.wbar[6] * (Boiler.WaterSide.htilde[6] - Boiler.WaterSide.htilde[5]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[6];
161: Boiler.WaterSide.wbar[8] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[8]) / 2.0 - Boiler.WaterSide.dMdt[1] - Boiler.WaterSide.dMdt[2] - Boiler.WaterSide.dMdt[3] - Boiler.WaterSide.dMdt[4] - Boiler.WaterSide.dMdt[5] - Boiler.WaterSide.dMdt[7] - Boiler.WaterSide.dMdt[6], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
135: Boiler.WaterSide.dMdt[5] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[5] * der(Boiler.WaterSide.htilde[5]) + Boiler.WaterSide.drbdp[5] * der(Boiler.WaterSide.p));
179: Boiler.WaterSide.drdh[1] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, SourceP1.h, Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, SourceP1.h, 0.0, 0));
178: Boiler.WaterSide.drdp[1] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, SourceP1.h, Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, SourceP1.h, 0.0, 0));
110: Boiler.WaterSide.drbdh[1] = (Boiler.WaterSide.drdh[1] + Boiler.WaterSide.drdh[2]) / 2.0;
109: Boiler.WaterSide.drbdp[1] = (Boiler.WaterSide.drdp[1] + Boiler.WaterSide.drdp[2]) / 2.0;
194: Boiler.WaterSide.drdh[4] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], 0.0, 0));
124: Boiler.WaterSide.drbdh[3] = (Boiler.WaterSide.drdh[3] + Boiler.WaterSide.drdh[4]) / 2.0;
123: Boiler.WaterSide.drbdp[3] = (Boiler.WaterSide.drdp[3] + Boiler.WaterSide.drdp[4]) / 2.0;
184: Boiler.WaterSide.drdh[2] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], 0.0, 0));
189: Boiler.WaterSide.drdh[3] = Modelica.Media.Water.IF97_Utilities.ddhp_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], 0.0, 0));
37: Boiler.WaterSide.heatTransfer.k[3] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[3], Boiler.WaterSide.T[3], Boiler.WaterSide.p, 0.0, true);
36: Boiler.WaterSide.heatTransfer.mu[3] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[3], Boiler.WaterSide.T[3], Boiler.WaterSide.p, 0.0);
39: Boiler.WaterSide.heatTransfer.gamma[3] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[3], Boiler.WaterSide.heatTransfer.k[3], Boiler.WaterSide.heatTransfer.cp[3]);
176: Boiler.WaterSide.T[1] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, SourceP1.h, Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, SourceP1.h, 0, 0));
29: Boiler.WaterSide.heatTransfer.k[1] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[1], Boiler.WaterSide.T[1], Boiler.WaterSide.p, 0.0, true);
28: Boiler.WaterSide.heatTransfer.mu[1] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[1], Boiler.WaterSide.T[1], Boiler.WaterSide.p, 0.0);
30: Boiler.WaterSide.heatTransfer.cp[1] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, SourceP1.h, Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, SourceP1.h, 0.0, 0));
115: Boiler.WaterSide.rhobar[2] = (Boiler.WaterSide.rho[2] + Boiler.WaterSide.rho[3]) / 2.0;
119: Boiler.WaterSide.wbar[2] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[2]) / 2.0 - Boiler.WaterSide.dMdt[1], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
113: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[2] * der(Boiler.WaterSide.htilde[2]) + Boiler.WaterSide.wbar[2] * (Boiler.WaterSide.htilde[2] - Boiler.WaterSide.htilde[1]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[2];
347: Boiler.GasSide.heatTransfer.Tvol[9] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[8] + Boiler.GasSide.Ttilde[9]) / 2.0 else Boiler.GasSide.Ttilde[9];
247: 0.1 * der(Boiler.TubeWalls.Tvol[2]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[2]) - Boiler.GasSide.wall.Q[9];
348: Boiler.GasSide.wall.Q[9] = 0.2 * (Boiler.CounterCurrent1.side1.T[9] - Boiler.GasSide.heatTransfer.Tvol[9]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
267: -Boiler.GasSide.wall.Q[9] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[9] - Boiler.TubeWalls.Tvol[2]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
181: Boiler.WaterSide.T[2] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], 0, 0));
234: Boiler.WaterSide.Q_single[2] = Boiler.WaterSide.wall.Q[2] / /*Real*/(Boiler.WaterSide.Nt);
257: -Boiler.WaterSide.wall.Q[2] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[2] - Boiler.TubeWalls.Tvol[2]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
75: Boiler.WaterSide.heatTransfer.Tvol[2] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[2] + Boiler.WaterSide.T[3]) / 2.0 else Boiler.WaterSide.T[3];
187: Boiler.WaterSide.rho[3] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], 0, 0));
122: Boiler.WaterSide.rhobar[3] = (Boiler.WaterSide.rho[3] + Boiler.WaterSide.rho[4]) / 2.0;
126: Boiler.WaterSide.wbar[3] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[3]) / 2.0 - Boiler.WaterSide.dMdt[2] - Boiler.WaterSide.dMdt[1], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
120: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[3] * der(Boiler.WaterSide.htilde[3]) + Boiler.WaterSide.wbar[3] * (Boiler.WaterSide.htilde[3] - Boiler.WaterSide.htilde[2]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[3];
345: Boiler.GasSide.heatTransfer.Tvol[8] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[7] + Boiler.GasSide.Ttilde[8]) / 2.0 else Boiler.GasSide.Ttilde[8];
248: 0.1 * der(Boiler.TubeWalls.Tvol[3]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[3]) - Boiler.GasSide.wall.Q[8];
346: Boiler.GasSide.wall.Q[8] = 0.2 * (Boiler.CounterCurrent1.side1.T[8] - Boiler.GasSide.heatTransfer.Tvol[8]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
268: -Boiler.GasSide.wall.Q[8] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[8] - Boiler.TubeWalls.Tvol[3]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
186: Boiler.WaterSide.T[3] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], 0, 0));
235: Boiler.WaterSide.Q_single[3] = Boiler.WaterSide.wall.Q[3] / /*Real*/(Boiler.WaterSide.Nt);
258: -Boiler.WaterSide.wall.Q[3] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[3] - Boiler.TubeWalls.Tvol[3]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
78: Boiler.WaterSide.heatTransfer.Tvol[3] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[3] + Boiler.WaterSide.T[4]) / 2.0 else Boiler.WaterSide.T[4];
80: Boiler.WaterSide.wall.Q[3] = 3.0 * (Boiler.TubeWalls.int.T[3] - Boiler.WaterSide.heatTransfer.Tvol[3]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[3] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
77: Boiler.WaterSide.wall.Q[2] = 3.0 * (Boiler.TubeWalls.int.T[2] - Boiler.WaterSide.heatTransfer.Tvol[2]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[2] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
79: Boiler.WaterSide.heatTransfer.gamma_vol[3] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[3] + Boiler.WaterSide.heatTransfer.gamma[4]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[4];
31: Boiler.WaterSide.heatTransfer.gamma[1] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[1], Boiler.WaterSide.heatTransfer.k[1], Boiler.WaterSide.heatTransfer.cp[1]);
76: Boiler.WaterSide.heatTransfer.gamma_vol[2] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[2] + Boiler.WaterSide.heatTransfer.gamma[3]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[3];
72: Boiler.WaterSide.heatTransfer.Tvol[1] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[1] + Boiler.WaterSide.T[2]) / 2.0 else Boiler.WaterSide.T[2];
73: Boiler.WaterSide.heatTransfer.gamma_vol[1] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[1] + Boiler.WaterSide.heatTransfer.gamma[2]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[2];
266: -Boiler.GasSide.wall.Q[10] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[10] - Boiler.TubeWalls.Tvol[1]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
349: Boiler.GasSide.heatTransfer.Tvol[10] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[9] + Boiler.GasSide.Ttilde[10]) / 2.0 else Boiler.GasSide.Ttilde[10];
350: Boiler.GasSide.wall.Q[10] = 0.2 * (Boiler.CounterCurrent1.side1.T[10] - Boiler.GasSide.heatTransfer.Tvol[10]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
74: Boiler.WaterSide.wall.Q[1] = 3.0 * (Boiler.TubeWalls.int.T[1] - Boiler.WaterSide.heatTransfer.Tvol[1]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[1] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
246: 0.1 * der(Boiler.TubeWalls.Tvol[1]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[1]) - Boiler.GasSide.wall.Q[10];
256: -Boiler.WaterSide.wall.Q[1] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[1] - Boiler.TubeWalls.Tvol[1]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
112: Boiler.WaterSide.wbar[1] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[1]) / 2.0, Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
233: Boiler.WaterSide.Q_single[1] = Boiler.WaterSide.wall.Q[1] / /*Real*/(Boiler.WaterSide.Nt);
106: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[1] * der(Boiler.WaterSide.htilde[1]) + Boiler.WaterSide.wbar[1] * (Boiler.WaterSide.htilde[1] - SourceP1.h) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[1];
177: Boiler.WaterSide.rho[1] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, SourceP1.h, Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, SourceP1.h, 0, 0));
108: Boiler.WaterSide.rhobar[1] = (Boiler.WaterSide.rho[1] + Boiler.WaterSide.rho[2]) / 2.0;
182: Boiler.WaterSide.rho[2] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], 0, 0));
183: Boiler.WaterSide.drdp[2] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[1], 0.0, 0));
188: Boiler.WaterSide.drdp[3] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], 0.0, 0));
117: Boiler.WaterSide.drbdh[2] = (Boiler.WaterSide.drdh[2] + Boiler.WaterSide.drdh[3]) / 2.0;
38: Boiler.WaterSide.heatTransfer.cp[3] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[2], 0.0, 0));
116: Boiler.WaterSide.drbdp[2] = (Boiler.WaterSide.drdp[2] + Boiler.WaterSide.drdp[3]) / 2.0;
147: Boiler.WaterSide.wbar[6] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[6]) / 2.0 - Boiler.WaterSide.dMdt[1] - Boiler.WaterSide.dMdt[2] - Boiler.WaterSide.dMdt[3] - Boiler.WaterSide.dMdt[5] - Boiler.WaterSide.dMdt[4], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
107: Boiler.WaterSide.dMdt[1] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[1] * der(Boiler.WaterSide.htilde[1]) + Boiler.WaterSide.drbdp[1] * der(Boiler.WaterSide.p));
121: Boiler.WaterSide.dMdt[3] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[3] * der(Boiler.WaterSide.htilde[3]) + Boiler.WaterSide.drbdp[3] * der(Boiler.WaterSide.p));
114: Boiler.WaterSide.dMdt[2] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[2] * der(Boiler.WaterSide.htilde[2]) + Boiler.WaterSide.drbdp[2] * der(Boiler.WaterSide.p));
129: Boiler.WaterSide.rhobar[4] = (Boiler.WaterSide.rho[4] + Boiler.WaterSide.rho[5]) / 2.0;
133: Boiler.WaterSide.wbar[4] = homotopy(Boiler.WaterSide.w + (-Boiler.WaterSide.dMdt[4]) / 2.0 - Boiler.WaterSide.dMdt[1] - Boiler.WaterSide.dMdt[3] - Boiler.WaterSide.dMdt[2], Boiler.WaterSide.wnom / /*Real*/(Boiler.WaterSide.Nt));
127: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[4] * der(Boiler.WaterSide.htilde[4]) + Boiler.WaterSide.wbar[4] * (Boiler.WaterSide.htilde[4] - Boiler.WaterSide.htilde[3]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[4];
343: Boiler.GasSide.heatTransfer.Tvol[7] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[6] + Boiler.GasSide.Ttilde[7]) / 2.0 else Boiler.GasSide.Ttilde[7];
249: 0.1 * der(Boiler.TubeWalls.Tvol[4]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[4]) - Boiler.GasSide.wall.Q[7];
344: Boiler.GasSide.wall.Q[7] = 0.2 * (Boiler.CounterCurrent1.side1.T[7] - Boiler.GasSide.heatTransfer.Tvol[7]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
269: -Boiler.GasSide.wall.Q[7] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[7] - Boiler.TubeWalls.Tvol[4]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
236: Boiler.WaterSide.Q_single[4] = Boiler.WaterSide.wall.Q[4] / /*Real*/(Boiler.WaterSide.Nt);
259: -Boiler.WaterSide.wall.Q[4] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[4] - Boiler.TubeWalls.Tvol[4]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
81: Boiler.WaterSide.heatTransfer.Tvol[4] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[4] + Boiler.WaterSide.T[5]) / 2.0 else Boiler.WaterSide.T[5];
196: Boiler.WaterSide.T[5] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], 0, 0));
45: Boiler.WaterSide.heatTransfer.k[5] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[5], Boiler.WaterSide.T[5], Boiler.WaterSide.p, 0.0, true);
44: Boiler.WaterSide.heatTransfer.mu[5] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[5], Boiler.WaterSide.T[5], Boiler.WaterSide.p, 0.0);
46: Boiler.WaterSide.heatTransfer.cp[5] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], 0.0, 0));
83: Boiler.WaterSide.wall.Q[4] = 3.0 * (Boiler.TubeWalls.int.T[4] - Boiler.WaterSide.heatTransfer.Tvol[4]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[4] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
47: Boiler.WaterSide.heatTransfer.gamma[5] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[5], Boiler.WaterSide.heatTransfer.k[5], Boiler.WaterSide.heatTransfer.cp[5]);
192: Boiler.WaterSide.rho[4] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], 0, 0));
191: Boiler.WaterSide.T[4] = Modelica.Media.Water.IF97_Utilities.T_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], 0, 0));
82: Boiler.WaterSide.heatTransfer.gamma_vol[4] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[4] + Boiler.WaterSide.heatTransfer.gamma[5]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[5];
41: Boiler.WaterSide.heatTransfer.k[4] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[4], Boiler.WaterSide.T[4], Boiler.WaterSide.p, 0.0, true);
40: Boiler.WaterSide.heatTransfer.mu[4] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[4], Boiler.WaterSide.T[4], Boiler.WaterSide.p, 0.0);
43: Boiler.WaterSide.heatTransfer.gamma[4] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[4], Boiler.WaterSide.heatTransfer.k[4], Boiler.WaterSide.heatTransfer.cp[4]);
42: Boiler.WaterSide.heatTransfer.cp[4] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], 0.0, 0));
128: Boiler.WaterSide.dMdt[4] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[4] * der(Boiler.WaterSide.htilde[4]) + Boiler.WaterSide.drbdp[4] * der(Boiler.WaterSide.p));
193: Boiler.WaterSide.drdp[4] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[3], 0.0, 0));
130: Boiler.WaterSide.drbdp[4] = (Boiler.WaterSide.drdp[4] + Boiler.WaterSide.drdp[5]) / 2.0;
198: Boiler.WaterSide.drdp[5] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], 0.0, 0));
134: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[5] * der(Boiler.WaterSide.htilde[5]) + Boiler.WaterSide.wbar[5] * (Boiler.WaterSide.htilde[5] - Boiler.WaterSide.htilde[4]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[5];
197: Boiler.WaterSide.rho[5] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[4], 0, 0));
136: Boiler.WaterSide.rhobar[5] = (Boiler.WaterSide.rho[5] + Boiler.WaterSide.rho[6]) / 2.0;
202: Boiler.WaterSide.rho[6] = Modelica.Media.Water.IF97_Utilities.rho_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], 0, 0));
142: Boiler.WaterSide.dMdt[6] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[6] * der(Boiler.WaterSide.htilde[6]) + Boiler.WaterSide.drbdp[6] * der(Boiler.WaterSide.p));
203: Boiler.WaterSide.drdp[6] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[5], 0.0, 0));
149: Boiler.WaterSide.dMdt[7] = 3.0 * Boiler.WaterSide.A * (Boiler.WaterSide.drbdh[7] * der(Boiler.WaterSide.htilde[7]) + Boiler.WaterSide.drbdp[7] * der(Boiler.WaterSide.p));
144: Boiler.WaterSide.drbdp[6] = (Boiler.WaterSide.drdp[6] + Boiler.WaterSide.drdp[7]) / 2.0;
151: Boiler.WaterSide.drbdp[7] = (Boiler.WaterSide.drdp[7] + Boiler.WaterSide.drdp[8]) / 2.0;
169: 3.0 * Boiler.WaterSide.A * Boiler.WaterSide.rhobar[10] * der(Boiler.WaterSide.htilde[10]) + Boiler.WaterSide.wbar[10] * (Boiler.WaterSide.htilde[10] - Boiler.WaterSide.htilde[9]) + -3 * Boiler.WaterSide.A * der(Boiler.WaterSide.p) = Boiler.WaterSide.Q_single[10];
213: Boiler.WaterSide.drdp[8] = Modelica.Media.Water.IF97_Utilities.ddph_props(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], 0.0, 0));
57: Boiler.WaterSide.heatTransfer.k[8] = Modelica.Media.Water.IF97_Utilities.thermalConductivity(Boiler.WaterSide.rho[8], Boiler.WaterSide.T[8], Boiler.WaterSide.p, 0.0, true);
35: Boiler.WaterSide.heatTransfer.gamma[2] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[2], Boiler.WaterSide.heatTransfer.k[2], Boiler.WaterSide.heatTransfer.cp[2]);
56: Boiler.WaterSide.heatTransfer.mu[8] = Modelica.Media.Water.IF97_Utilities.dynamicViscosity(Boiler.WaterSide.rho[8], Boiler.WaterSide.T[8], Boiler.WaterSide.p, 0.0);
58: Boiler.WaterSide.heatTransfer.cp[8] = Modelica.Media.Water.IF97_Utilities.cp_props_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], Modelica.Media.Water.IF97_Utilities.waterBaseProp_ph(Boiler.WaterSide.p, Boiler.WaterSide.htilde[7], 0.0, 0));
55: Boiler.WaterSide.heatTransfer.gamma[7] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[7], Boiler.WaterSide.heatTransfer.k[7], Boiler.WaterSide.heatTransfer.cp[7]);
59: Boiler.WaterSide.heatTransfer.gamma[8] = ThermoPower.Water.f_dittus_boelter(Boiler.WaterSide.w, Boiler.WaterSide.heatTransfer.Dhyd, Boiler.WaterSide.heatTransfer.A, Boiler.WaterSide.heatTransfer.mu[8], Boiler.WaterSide.heatTransfer.k[8], Boiler.WaterSide.heatTransfer.cp[8]);
90: Boiler.WaterSide.heatTransfer.Tvol[7] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.T[7] + Boiler.WaterSide.T[8]) / 2.0 else Boiler.WaterSide.T[8];
91: Boiler.WaterSide.heatTransfer.gamma_vol[7] = if Boiler.WaterSide.heatTransfer.useAverageTemperature then (Boiler.WaterSide.heatTransfer.gamma[7] + Boiler.WaterSide.heatTransfer.gamma[8]) / 2.0 else Boiler.WaterSide.heatTransfer.gamma[8];
239: Boiler.WaterSide.Q_single[7] = Boiler.WaterSide.wall.Q[7] / /*Real*/(Boiler.WaterSide.Nt);
92: Boiler.WaterSide.wall.Q[7] = 3.0 * (Boiler.TubeWalls.int.T[7] - Boiler.WaterSide.heatTransfer.Tvol[7]) * Boiler.WaterSide.heatTransfer.omega * Boiler.WaterSide.heatTransfer.gamma_vol[7] * /*Real*/(Boiler.WaterSide.heatTransfer.Nt);
262: -Boiler.WaterSide.wall.Q[7] = 0.6283185307179586 * (Boiler.TubeWalls.int.T[7] - Boiler.TubeWalls.Tvol[7]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log((Boiler.TubeWalls.rint + Boiler.TubeWalls.rext) / (Boiler.TubeWalls.rint * 2.0));
329: Boiler.GasSide.heatTransfer.w_wnom = abs(Boiler.GasSide.heatTransfer.w[11]) / Boiler.GasSide.heatTransfer.wnom;
252: 0.1 * der(Boiler.TubeWalls.Tvol[7]) * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) * Boiler.TubeWalls.rhomcm * Boiler.TubeWalls.Am = (-Boiler.WaterSide.wall.Q[7]) - Boiler.GasSide.wall.Q[4];
272: -Boiler.GasSide.wall.Q[4] = 0.6283185307179586 * (Boiler.CounterCurrent1.side1.T[4] - Boiler.TubeWalls.Tvol[7]) * Boiler.TubeWalls.lambda * Boiler.TubeWalls.L * /*Real*/(Boiler.TubeWalls.Nt) / log(2.0 * Boiler.TubeWalls.rext / (Boiler.TubeWalls.rint + Boiler.TubeWalls.rext));
330: Boiler.GasSide.heatTransfer.gamma = Boiler.GasSide.heatTransfer.gamma_nom * ThermoPower.Functions.smoothSat(Boiler.GasSide.heatTransfer.w_wnom, Boiler.GasSide.heatTransfer.beta, 1000000000.0, Boiler.GasSide.heatTransfer.beta / 2.0, dxmin) ^ Boiler.GasSide.heatTransfer.alpha;
338: Boiler.GasSide.wall.Q[4] = 0.2 * (Boiler.CounterCurrent1.side1.T[4] - Boiler.GasSide.heatTransfer.Tvol[4]) * Boiler.GasSide.heatTransfer.gamma * Boiler.GasSide.heatTransfer.omega * /*Real*/(Boiler.GasSide.heatTransfer.Nt);
486: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[3]);
337: Boiler.GasSide.heatTransfer.Tvol[4] = if Boiler.GasSide.heatTransfer.useAverageTemperature then (Boiler.GasSide.Ttilde[3] + Boiler.GasSide.Ttilde[4]) / 2.0 else Boiler.GasSide.Ttilde[4];
296: Boiler.GasSide.gas[5].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
298: Boiler.GasSide.gas[5].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[4] * Boiler.GasSide.gas[5].R);
496: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[5]);
301: Boiler.GasSide.gas[6].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
303: Boiler.GasSide.gas[6].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[5] * Boiler.GasSide.gas[6].R);
501: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[6]);
306: Boiler.GasSide.gas[7].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
308: Boiler.GasSide.gas[7].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[6] * Boiler.GasSide.gas[7].R);
506: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[7]);
311: Boiler.GasSide.gas[8].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
313: Boiler.GasSide.gas[8].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[7] * Boiler.GasSide.gas[8].R);
511: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[8]);
316: Boiler.GasSide.gas[9].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
318: Boiler.GasSide.gas[9].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[8] * Boiler.GasSide.gas[9].R);
516: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[9]);
321: Boiler.GasSide.gas[10].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
323: Boiler.GasSide.gas[10].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[9] * Boiler.GasSide.gas[10].R);
456: Boiler.GasSide.u[1] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[1].d);
458: Boiler.GasSide.u[3] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[3].d);
459: Boiler.GasSide.u[4] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[4].d);
460: Boiler.GasSide.u[5] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[5].d);
461: Boiler.GasSide.u[6] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[6].d);
462: Boiler.GasSide.u[7] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[7].d);
463: Boiler.GasSide.u[8] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[8].d);
464: Boiler.GasSide.u[9] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[9].d);
465: Boiler.GasSide.u[10] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[10].d);
521: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[10]);
326: Boiler.GasSide.gas[11].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
455: der(Boiler.GasSide.Xtilde[1,2]) = homotopy((SourceW2.Xnom[2] - Boiler.GasSide.Xtilde[1,2]) * (Boiler.GasSide.u[1] + Boiler.GasSide.u[2] + Boiler.GasSide.u[3] + Boiler.GasSide.u[4] + Boiler.GasSide.u[5] + Boiler.GasSide.u[6] + Boiler.GasSide.u[7] + Boiler.GasSide.u[8] + Boiler.GasSide.u[9] + Boiler.GasSide.u[10] + Boiler.GasSide.u[11]) / (11.0 * Boiler.GasSide.L), (SourceW2.Xnom[2] - Boiler.GasSide.Xtilde[1,2]) * 10.0 / Boiler.GasSide.L);
328: Boiler.GasSide.gas[11].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[10] * Boiler.GasSide.gas[11].R);
454: der(Boiler.GasSide.Xtilde[1,1]) = homotopy((SourceW2.Xnom[1] - Boiler.GasSide.Xtilde[1,1]) * (Boiler.GasSide.u[1] + Boiler.GasSide.u[2] + Boiler.GasSide.u[3] + Boiler.GasSide.u[4] + Boiler.GasSide.u[5] + Boiler.GasSide.u[6] + Boiler.GasSide.u[7] + Boiler.GasSide.u[8] + Boiler.GasSide.u[9] + Boiler.GasSide.u[10] + Boiler.GasSide.u[11]) / (11.0 * Boiler.GasSide.L), (SourceW2.Xnom[1] - Boiler.GasSide.Xtilde[1,1]) * 10.0 / Boiler.GasSide.L);
466: Boiler.GasSide.u[11] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[11].d);
457: Boiler.GasSide.u[2] = Boiler.GasSide.heatTransfer.w[11] / (Boiler.GasSide.A * Boiler.GasSide.gas[2].d);
283: Boiler.GasSide.gas[2].d = Boiler.GasSide.p / (Boiler.GasSide.Ttilde[1] * Boiler.GasSide.gas[2].R);
500: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[6]);
281: Boiler.GasSide.gas[2].R = 296.8033869505308 * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]);
475: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[1]);
476: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((Boiler.GasSide.Xtilde[1,1] / 0.0280134 + Boiler.GasSide.Xtilde[1,2] / 0.0280134) * (Boiler.GasSide.Xtilde[1,1] + Boiler.GasSide.Xtilde[1,2]) * Boiler.GasSide.Ttilde[1]);
471: Boiler.GasSide.dddX[2] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((SourceW2.Xnom[1] / 0.0280134 + SourceW2.Xnom[2] / 0.0280134) * (SourceW2.Xnom[1] + SourceW2.Xnom[2]) * Boiler.GasSide.gas[1].T);
276: GasIn.gas.h = ThermoPower.Gas.Flow1DFV.Medium.h_TX(Boiler.GasSide.gas[1].T, {SourceW2.Xnom[1], SourceW2.Xnom[2]}, true, Modelica.Media.Interfaces.Choices.ReferenceEnthalpy.ZeroAt0K, 0.0);
470: Boiler.GasSide.dddX[1] = (-Boiler.GasSide.p) * 0.1202722193303435 / ((SourceW2.Xnom[1] / 0.0280134 + SourceW2.Xnom[2] / 0.0280134) * (SourceW2.Xnom[1] + SourceW2.Xnom[2]) * Boiler.GasSide.gas[1].T);
 for variables 
 Boiler.GasSide.gas[7].h(266), Boiler.GasSide.cvbar[5](177), Boiler.GasSide.dddp[6](136), Boiler.GasSide.dMdt[1](171), Boiler.GasSide.dddp[7](135), Boiler.GasSide.dddp[8](134), Boiler.GasSide.dMdt[8](164), Boiler.GasSide.cvbar[8](174), Boiler.GasSide.dddp[3](139), Boiler.GasSide.Q_single[5](105), Boiler.GasSide.gas[2].MM(297), Boiler.WaterSide.dMdt[8](502), Boiler.WaterSide.vbar[7](483), Boiler.TubeWalls.Tvol[3](329), Boiler.WaterSide.drbdh[3](466), Boiler.TubeWalls.Tvol[2](330), Boiler.WaterSide.rho[5](516), Boiler.WaterSide.T[11](521), Boiler.WaterSide.rho[10](511), Boiler.WaterSide.Q_single[4](422), Boiler.TubeWalls.int.T[1](321), Boiler.WaterSide.rho[9](512), Boiler.WaterSide.heatTransfer.gamma[6](390), Boiler.WaterSide.rhobar[2](498), Boiler.WaterSide.drdh[11](469), Boiler.TubeWalls.Tvol[5](327), Boiler.WaterSide.rho[2](519), Boiler.TubeWalls.Tvol[4](328), GasOut.gas.p_bar(19), Boiler.WaterSide.wbar[2](435), Boiler.WaterSide.drdh[3](477), Boiler.WaterSide.vbar[8](482), Boiler.TubeWalls.int.T[3](319), Boiler.WaterSide.drbdh[10](459), Boiler.GasSide.wall.Q[3](117), Boiler.GasSide.rhobar[9](214), Boiler.GasSide.drbdX1[2,2](96), Boiler.WaterSide.heatTransfer.k[8](366), Boiler.GasSide.gas[4].T_degC(281), Boiler.GasSide.Q(307), Boiler.GasSide.drbdX1[4,1](93), GasIn.gas.d(15), WaterOut_T(10), SourceW2.gas.d(30), Boiler.GasSide.Ttilde[9](33), Boiler.GasSide.vbar[2](211), Boiler.GasSide.dddX[4,1](71), Boiler.GasSide.drbdX1[9,2](82), Boiler.GasSide.drbdp[2](201), Boiler.GasSide.wbar[6](125), Boiler.WaterSide.Q_single[6](420), Boiler.WaterSide.htilde[2](404), Boiler.TubeWalls.int.T[4](318), Boiler.WaterSide.heatTransfer.gamma[2](394), GasIn.gas.p_bar(13), Boiler.GasSide.gas[1].T_degC(302), Boiler.GasSide.drbdX2[1,2](78), Boiler.GasSide.dddX[1,1](75), Valve.w(31), Boiler.GasSide.drbdp[5](198), WaterOutTSensor.y(4), Boiler.GasSide.drbdp[7](196), Boiler.GasSide.gas[8].R(256), Boiler.GasSide.wbar[4](127), Boiler.GasSide.drbdT1[8](186), Boiler.GasSide.drbdT1[2](192), Boiler.GasSide.wbar[8](123), Boiler.GasSide.dddT[8](144), Boiler.GasSide.gas[7].MM(262), Boiler.GasSide.u[3](230), Boiler.GasSide.rhobar[2](221), Boiler.GasSide.drbdp[3](200), Boiler.GasSide.rhobar[6](217), Boiler.GasSide.wall.Q[1](119), Boiler.GasSide.dddT[10](142), Boiler.GasSide.gas[8].u(257), Boiler.GasSide.cvbar[6](176), Boiler.GasSide.dddp[9](133), Boiler.GasSide.cv[6](156), Boiler.GasSide.wbar[10](121), Boiler.GasSide.gas[11].T_degC(233), Boiler.GasSide.dddp[1](140), Boiler.GasSide.drbdX1[4,2](92), Boiler.WaterSide.u[8](535), Boiler.GasSide.cvbar[1](181), Boiler.GasSide.p(120), Boiler.GasSide.dddp[5](137), Boiler.GasSide.dddX[4,2](70), Boiler.GasSide.dddT[3](149), Boiler.GasSide.dddT[11](141), Boiler.GasSide.cv[5](157), Boiler.GasSide.wbar[9](122), Boiler.GasSide.dddX[3,2](72), Boiler.WaterSide.heatTransfer.k[11](363), Boiler.WaterSide.heatTransfer.Tvol[7](335), Boiler.WaterSide.heatTransfer.Tvol[4](338), Boiler.WaterSide.heatTransfer.Tvol[9](333), Boiler.TubeWalls.Tvol[1](331), Boiler.WaterSide.wall.Q[2](414), Boiler.TubeWalls.int.T[5](317), Boiler.GasSide.Q_single[9](101), GasIn.gas.u(14), Boiler.GasSide.gas[2].h(301), Boiler.GasSide.drbdT2[10](182), Boiler.GasSide.gas[11].R(236), Boiler.GasSide.gas[5].MM(276), Boiler.WaterSide.drdp[2](457), Boiler.GasSide.drbdT1[3](191), Boiler.GasSide.heatTransfer.Tvol[10](42), Boiler.GasSide.gas[11].MM(235), Boiler.GasSide.cv[11](151), Boiler.GasSide.gas[9].u(250), Boiler.GasSide.drbdX2[1,1](79), Boiler.GasSide.gas[11].u(237), Boiler.GasSide.gas[3].d(293), Boiler.GasSide.gas[4].d(286), GasFlowActuator.y(6), Boiler.GasSide.gas[3].T_degC(288), Boiler.GasSide.drbdT1[5](189), Boiler.GasSide.cv[2](160), Boiler.GasSide.dMdt[5](167), Boiler.GasSide.drbdX1[5,2](90), Boiler.WaterSide.heatTransfer.k[4](370), Boiler.WaterSide.wall.Q[1](415), Boiler.WaterSide.wbar[9](428), Boiler.WaterSide.wbar[8](429), Boiler.WaterSide.Q_single[7](419), Boiler.WaterSide.Q_single[8](418), Boiler.GasSide.gas[1].d(306), Boiler.WaterSide.heatTransfer.mu[11](374), Boiler.WaterSide.heatTransfer.cp[2](361), Boiler.GasSide.drbdX1[7,1](87), GasIn.gas.p(16), Boiler.GasSide.gas[2].d(300), Boiler.GasSide.dddX[7,2](64), Boiler.GasSide.Ttilde[6](36), Boiler.GasSide.gas[4].R(284), Boiler.GasSide.gas[3].u(292), Boiler.GasSide.vbar[7](206), SourceW2.gas.p_bar(29), Boiler.GasSide.Ttilde[10](32), Boiler.GasSide.drbdp[1](202), Boiler.GasSide.Ttilde[2](40), Boiler.GasSide.Ttilde[3](39), Boiler.GasSide.heatTransfer.Tvol[5](47), Boiler.GasSide.Ttilde[5](37), Boiler.GasSide.heatTransfer.Tvol[9](43), Boiler.GasSide.heatTransfer.Tvol[6](46), Boiler.GasSide.gas[2].T_degC(295), Boiler.GasSide.dddX[10,2](58), Boiler.GasSide.gas[9].T_degC(246), Boiler.GasSide.rhobar[7](216), Boiler.GasSide.Xtilde[1,1](99), WaterIn_T(9), Boiler.GasSide.M(309), Boiler.GasSide.Mtot(308), Boiler.WaterSide.dMdt[10](500), Boiler.WaterSide.dMdt[2](508), Boiler.WaterSide.htilde[6](400), Boiler.WaterSide.wall.Q[6](410), Boiler.WaterSide.drbdh[1](468), Boiler.WaterSide.heatTransfer.cp[6](357), Boiler.WaterSide.vbar[3](487), Boiler.WaterSide.heatTransfer.gamma[1](395), Boiler.WaterSide.drdp[8](451), Boiler.WaterSide.drbdp[7](441), Boiler.WaterSide.drbdh[5](464), Boiler.WaterSide.wall.Q[5](411), Boiler.WaterSide.heatTransfer.gamma[11](385), Boiler.WaterSide.htilde[1](405), Boiler.WaterSide.wbar[6](431), Boiler.WaterSide.T[4](528), Boiler.GasSide.gas[9].p_bar(247), Boiler.GasSide.gas[5].T_degC(274), Boiler.WaterSide.htilde[3](403), Boiler.WaterSide.rho[7](514), Boiler.WaterSide.drdh[1](479), Boiler.WaterSide.rhobar[7](493), Boiler.WaterSide.dMdt[3](507), Boiler.WaterSide.drdh[8](472), Boiler.WaterSide.Q_single[5](421), Boiler.WaterSide.T[5](527), Boiler.WaterSide.wbar[5](432), Boiler.WaterSide.heatTransfer.k[3](371), Boiler.WaterSide.drbdh[7](462), Boiler.WaterSide.heatTransfer.gamma[8](388), Boiler.WaterSide.heatTransfer.gamma[7](389), Boiler.WaterSide.heatTransfer.mu[6](379), Boiler.WaterSide.T[1](531), Boiler.WaterSide.heatTransfer.mu[7](378), Boiler.WaterSide.drdp[4](455), Boiler.WaterSide.heatTransfer.cp[1](362), Boiler.WaterSide.u[11](532), Boiler.WaterSide.wall.Q[8](408), Boiler.WaterSide.wall.Q[7](409), Boiler.WaterSide.htilde[8](398), Boiler.WaterSide.htilde[7](399), Boiler.WaterSide.drbdh[4](465), Boiler.WaterSide.drbdh[9](460), Boiler.WaterSide.drbdp[6](442), Boiler.WaterSide.drbdh[8](461), Boiler.WaterSide.drdp[7](452), Boiler.WaterSide.heatTransfer.gamma_vol[4](348), Boiler.WaterSide.heatTransfer.gamma[5](391), Boiler.WaterSide.drdp[5](454), Boiler.GasSide.vbar[3](210), Boiler.WaterSide.heatTransfer.cp[11](352), Boiler.WaterSide.T[3](529), Boiler.WaterSide.rhobar[3](497), Boiler.WaterSide.rhobar[8](492), Boiler.WaterSide.htilde[5](401), Boiler.WaterSide.heatTransfer.gamma[10](386), Boiler.WaterSide.drbdp[8](440), Boiler.WaterSide.vbar[6](484), Boiler.WaterSide.vbar[1](489), Boiler.WaterSide.rho[3](518), Boiler.WaterSide.drbdh[2](467), Boiler.WaterSide.rhobar[1](499), Boiler.WaterSide.heatTransfer.mu[3](382), Boiler.WaterSide.heatTransfer.gamma[4](392), Boiler.WaterSide.heatTransfer.gamma_vol[2](350), Boiler.WaterSide.heatTransfer.cp[8](355), Boiler.WaterSide.wbar[1](436), Boiler.WaterSide.wall.Q[3](413), Boiler.WaterSide.Q_single[3](423), Boiler.WaterSide.w(437), Boiler.WaterSide.heatTransfer.gamma[9](387), Boiler.WaterSide.rhobar[4](496), Boiler.WaterSide.dMdt[9](501), Boiler.WaterSide.vbar[4](486), Boiler.WaterSide.wall.Q[4](412), GasOut.gas.d(23), Boiler.WaterSide.u[5](538), Boiler.WaterSide.u[6](537), Boiler.WaterSide.heatTransfer.Tvol[2](340), Boiler.WaterSide.T[9](523), Boiler.GasSide.gas[9].R(249), Boiler.GasSide.drbdX1[8,1](85), GasOut.T(17), Boiler.GasSide.drbdX1[9,1](83), GasIn.gas.T_degC(12), Boiler.WaterSide.heatTransfer.cp[4](359), GasOut.gas.R(21), Boiler.TubeWalls.int.T[10](312), Boiler.WaterSide.wall.Q[9](407), Boiler.WaterSide.wbar[4](433), Boiler.WaterSide.heatTransfer.gamma[3](393), Boiler.WaterSide.drdh[9](471), Boiler.GasSide.drbdX1[5,1](91), Boiler.TubeWalls.int.T[8](314), Boiler.GasSide.drbdX1[6,2](88), GasIn.T(11), Boiler.WaterSide.Q_single[9](417), Boiler.TubeWalls.Tvol[8](324), Boiler.TubeWalls.int.T[9](313), Boiler.WaterSide.heatTransfer.k[7](367), Boiler.WaterSide.drbdp[4](444), Boiler.WaterSide.heatTransfer.cp[7](356), Boiler.WaterSide.u[7](536), Boiler.WaterSide.drdp[10](449), Boiler.WaterSide.heatTransfer.k[5](369), Boiler.WaterSide.heatTransfer.k[6](368), Boiler.GasSide.gas[1].T(305), Boiler.GasSide.drbdX1[10,2](80), Boiler.GasSide.drbdX2[10,1](77), GasOut.gas.T_degC(18), Boiler.GasSide.Dpfric(311), Boiler.GasSide.gas[9].MM(248), GasOut.gas.u(22), Boiler.WaterSide.T[6](526), Boiler.WaterSide.htilde[4](402), Boiler.WaterSide.T[8](524), Boiler.WaterSide.drbdp[1](447), Boiler.WaterSide.drdh[7](473), Boiler.WaterSide.htilde[9](397), Boiler.GasSide.gas[6].h(273), Boiler.WaterSide.heatTransfer.Tvol[5](337), Boiler.GasSide.gas[9].h(252), Boiler.WaterSide.vbar[2](488), Boiler.WaterSide.T[7](525), Boiler.WaterSide.drbdp[5](443), Boiler.GasSide.gas[6].R(270), Boiler.WaterSide.heatTransfer.cp[3](360), Boiler.WaterSide.dMdt[1](509), Boiler.WaterSide.heatTransfer.mu[2](383), Boiler.GasSide.drbdX1[2,1](97), Boiler.TubeWalls.int.T[6](316), Boiler.GasSide.drbdX1[3,2](94), Boiler.GasSide.gas[2].u(299), Boiler.TubeWalls.Tvol[6](326), Boiler.GasSide.Tr(310), Boiler.WaterSide.wbar[3](434), Boiler.WaterSide.Q_single[10](416), Boiler.WaterSide.heatTransfer.gamma_vol[9](343), Boiler.WaterSide.heatTransfer.gamma_vol[7](345), Boiler.WaterSide.heatTransfer.Tvol[1](341), Boiler.WaterSide.Q_single[2](424), Boiler.WaterSide.heatTransfer.Tvol[3](339), Boiler.WaterSide.heatTransfer.k[10](364), Boiler.WaterSide.heatTransfer.k[9](365), Boiler.WaterSide.drdh[5](475), Boiler.WaterSide.vbar[9](481), Boiler.WaterSide.heatTransfer.gamma_vol[5](347), Boiler.WaterSide.heatTransfer.gamma_vol[3](349), Boiler.WaterSide.heatTransfer.k[1](373), Boiler.WaterSide.drbdp[2](446), Boiler.WaterSide.heatTransfer.cp[5](358), Boiler.WaterSide.htilde[10](396), Boiler.WaterSide.dMdt[6](504), Boiler.WaterSide.wall.Q[10](406), Boiler.WaterSide.rhobar[6](494), Boiler.WaterSide.drdh[6](474), Boiler.WaterSide.rho[8](513), Boiler.WaterSide.drdp[9](450), Boiler.WaterSide.drdh[2](478), Boiler.WaterSide.dMdt[7](503), Boiler.WaterSide.rho[4](517), Boiler.WaterSide.heatTransfer.mu[4](381), Boiler.WaterSide.drbdp[3](445), Boiler.WaterSide.drdp[11](448), Boiler.WaterSide.dMdt[4](506), Boiler.WaterSide.drbdp[9](439), Boiler.WaterSide.heatTransfer.gamma_vol[1](351), Boiler.WaterSide.drbdp[10](438), Boiler.WaterSide.heatTransfer.mu[1](384), GasOut.gas.MM(20), Boiler.GasSide.gas[1].u(304), Boiler.GasSide.gas[6].p_bar(268), Boiler.TubeWalls.int.T[7](315), Boiler.GasSide.gas[1].p_bar(303), Boiler.GasSide.gas[6].T_degC(267), Boiler.GasSide.drbdX1[10,1](81), Boiler.GasSide.dddp[10](132), Boiler.GasSide.drbdX1[8,2](84), GasInTSensor.y(3), Boiler.GasSide.gas[4].MM(283), Boiler.GasSide.wbar[2](129), Boiler.GasSide.gas[5].h(280), ValveOpeningActuator.y(1), Boiler.GasSide.Q_single[7](103), Boiler.GasSide.gas[5].u(278), Boiler.WaterSide.u[9](534), Boiler.GasSide.dddT[5](147), Boiler.WaterSide.heatTransfer.cp[9](354), Boiler.GasSide.Xtilde[1,2](98), Boiler.GasSide.u[11](222), Boiler.GasSide.drbdX1[6,1](89), Boiler.GasSide.gas[8].h(259), Boiler.GasSide.drbdp[6](197), Boiler.GasSide.dddX[1,2](74), Boiler.GasSide.gas[8].p_bar(254), Boiler.GasSide.drbdT1[6](188), Boiler.GasSide.cvbar[4](178), Boiler.GasSide.cvbar[9](173), Boiler.GasSide.dMdt[9](163), Boiler.GasSide.cv[3](159), Boiler.GasSide.cv[10](152), Boiler.GasSide.dddT[7](145), Boiler.GasSide.dddp[4](138), Boiler.GasSide.dddp[11](131), Boiler.GasSide.u[7](226), Boiler.GasSide.gas[7].p_bar(261), Boiler.GasSide.drbdp[10](193), Boiler.GasSide.gas[6].MM(269), Boiler.GasSide.wbar[1](130), Boiler.GasSide.wbar[7](124), Boiler.GasSide.drbdT2[1](183), Boiler.GasSide.gas[3].p_bar(289), Boiler.GasSide.dMdt[2](170), GasOut_T(8), Boiler.GasSide.drbdp[4](199), Boiler.GasSide.drbdp[9](194), Boiler.GasSide.dMdt[6](166), Boiler.GasSide.gas[3].h(294), Boiler.GasSide.u[9](224), Boiler.WaterSide.drdh[10](470), Boiler.WaterSide.drdh[4](476), Boiler.WaterSide.vbar[10](480), Boiler.WaterSide.vbar[5](485), Boiler.WaterSide.rhobar[10](490), Boiler.WaterSide.rhobar[9](491), Boiler.WaterSide.rhobar[5](495), Boiler.WaterSide.dMdt[5](505), Boiler.WaterSide.rho[11](510), Boiler.WaterSide.rho[6](515), Boiler.WaterSide.rho[1](520), Boiler.CounterCurrent1.side1.T[10](549)

Attachments (1)

hrb.mo (746.0 KB ) - added by Adrian Pop 11 years ago.

Download all attachments as: .zip

Change History (10)

by Adrian Pop, 11 years ago

Attachment: hrb.mo added

comment:1 by Adrian Pop, 11 years ago

Cc: Francesco Casella added

comment:2 by Adrian Pop, 11 years ago

More ThermoPower models failing with the same message:
https://test.openmodelica.org/libraries/ThermoPower/BuildModelRecursive.html

ThermoPower.Examples.HRB.Simulators.ClosedLoopDigitalSimulator
ThermoPower.Examples.HRB.Simulators.ClosedLoopDigitalSimulatorSimplified
ThermoPower.Examples.HRB.Simulators.ClosedLoopSimulator
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulator
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulatorHtc
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulatorSS
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulatorSimplified

Could be more models there with the same failure.

This may have to do with homotopy and matching/index reduction somehow.
Should we match the variables in the actual or the simplified expression, or both?

Note that when I added rules for diff(homotopy(e1, e2)) -> homotopy(diff(e1), diff(e2))
for #2537 strangely some MSL example became structurally singular: Modelica.Fluid.Examples.HeatingSystem.

comment:3 by Adrian Pop, 11 years ago

One could test with +replaceHomotopy=actual (#2542) to see if the issues come from the homotopy operator handling.

comment:4 by Lennart Ochel, 11 years ago

Cc: locher added

comment:5 by Willi Braun, 11 years ago

Cc: Lennart Ochel Willi Braun added; locher removed

comment:6 by Adrian Pop, 11 years ago

I've tried also with +replaceHomotopy=actual and +replaceHomotopy=simplified
and the model: ThermoPower.Examples.HRB.Models.HRBPlant
is still structurally singular.

Any back-end people have any idea how can we debug this issue?
It might be a problem in the front-end with missing some modifiers
but some pointers on where to look might be good.

Unfortunately I have no other idea than comparing the flattened
equations we get with OpenModelica with what we get with other
tools and that's never an easy job.

comment:7 by Martin Sjölund, 10 years ago

Milestone: 1.9.11.9.2

This ticket was not closed for 1.9.1, which has now been released. It was batch modified for milestone 1.9.2 (but maybe an empty milestone was more appropriate; feel free to change it).

in reply to:  description comment:8 by Francesco Casella, 10 years ago

Replying to adrpo:

ThermoPower.Examples.HRB.Models.HRBPlant in ThermoPower (see attached)
or SVN at: http://svn.code.sf.net/p/thermopower/svn/trunk/ThermoPower.

This model has two signal inputs, the gas flow and the valve opening, and is only meant to be connected to appropriate sources for them. If you simulate it alone, they are set to zero, and this brings a lot of singularities.

in reply to:  2 comment:9 by Francesco Casella, 10 years ago

Resolution: worksforme
Status: newclosed

Replying to adrpo:

More ThermoPower models failing with the same message:
https://test.openmodelica.org/libraries/ThermoPower/BuildModelRecursive.html

ThermoPower.Examples.HRB.Simulators.ClosedLoopDigitalSimulator
ThermoPower.Examples.HRB.Simulators.ClosedLoopDigitalSimulatorSimplified
ThermoPower.Examples.HRB.Simulators.ClosedLoopSimulator
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulator
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulatorHtc
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulatorSS
ThermoPower.Examples.HRB.Simulators.OpenLoopSimulatorSimplified

Looking at the history of the test suite, these models have been working (or failing for other reasons) since one of the revisions between r20538 and r20509.

Note: See TracTickets for help on using tickets.