From ffb8d4e2d25269c07283700c2b482d237e6af8df Mon Sep 17 00:00:00 2001 From: kabdelhak Date: Tue, 7 May 2019 15:56:55 +0200 Subject: [PATCH] [fixTest] ticket 4793 - OMC PR #3077 Belonging to [master]: - OpenModelica/OpenModelica#167 - OpenModelica/OMCompiler#3077 --- OMCompiler | 2 +- ....BranchingDynamicPipes_genDebugSymbols.mos | 3 + .../DataReconciliationTests21jan2013.mos | 2 +- ...o.Examples.SimpleExamples.TestVolumes2.mos | 10 +++- ...SolveOneNonlinearEquation.Inverse_sine.mos | 1 + .../commonSubExp/wrapFunctionCalls13.mos | 56 +++++++++++++------ .../modelica/functions_eval/functionTest8.mos | 14 +++-- .../modelica/functions_eval/functionTest9.mos | 12 ++-- 8 files changed, 64 insertions(+), 36 deletions(-) diff --git a/OMCompiler b/OMCompiler index 80f6ed2acb8..72fde6edee4 160000 --- a/OMCompiler +++ b/OMCompiler @@ -1 +1 @@ -Subproject commit 80f6ed2acb82f9140e3f130ea8c53e411ff1b9b9 +Subproject commit 72fde6edee4dd7793637e60f1588f70d6a46a009 diff --git a/testsuite/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos b/testsuite/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos index 510fab8dd45..1d266e66427 100644 --- a/testsuite/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos +++ b/testsuite/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos @@ -114,6 +114,9 @@ runScript(modelTesting);getErrorString(); // Simulation options: startTime = 0.0, stopTime = 10.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Fluid.Examples.BranchingDynamicPipes', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = '' // Result file: Modelica.Fluid.Examples.BranchingDynamicPipes_res.mat // Messages: Wrong start value for variable _boundary1_P_medium_P_p_steam_sat_ detected. Got 2339.19 Expected: 100000 +// Wrong start value for variable _pipe1_P_flowModel_P_mus_(1) detected. Got 1.82329e-05 Expected: 0.001 +// Wrong start value for variable _pipe1_P_flowModel_P_rhos_(1) detected. Got 1.77178 Expected: 1 +// Wrong start value for variable _pipe1_P_statesFM1_P_T_ detected. Got 293.15 Expected: 300 // // Files Equal! // "true diff --git a/testsuite/openmodelica/uncertainties/DataReconciliationTests21jan2013.mos b/testsuite/openmodelica/uncertainties/DataReconciliationTests21jan2013.mos index 406832e936c..c0577ef3e7f 100644 --- a/testsuite/openmodelica/uncertainties/DataReconciliationTests21jan2013.mos +++ b/testsuite/openmodelica/uncertainties/DataReconciliationTests21jan2013.mos @@ -300,7 +300,7 @@ getErrorString(); // [openmodelica/uncertainties/DataReconciliationTests21jan2013Total.mo:6665:7-6700:22:writable] Warning: Connector .ThermoSysPro.WaterSteam.Connectors.FluidOutlet is not balanced: The number of potential variables (4) is not equal to the number of flow variables (0). // Warning: The model contains alias variables with conflicting start and/or nominal values. It is recommended to resolve the conflicts, because otherwise the system could be hard to solve. To print the conflicting alias sets and the chosen candidates please use -d=aliasConflicts. // " -// "{{{sensorQ4\\[UpPointer]Q[\\[FormalT]],sensorQ1\\[UpPointer]Q[\\[FormalT]],sensorQ3\\[UpPointer]Q[\\[FormalT]],sensorQ2\\[UpPointer]Q[\\[FormalT]]},{0==sensorQ1\\[UpPointer]Q[\\[FormalT]] + (-sensorQ2\\[UpPointer]Q[\\[FormalT]] - sensorQ3\\[UpPointer]Q[\\[FormalT]]),0==sensorQ2\\[UpPointer]Q[\\[FormalT]] + (sensorQ3\\[UpPointer]Q[\\[FormalT]] - sensorQ4\\[UpPointer]Q[\\[FormalT]])}},{{pipePressureLoss1\\[UpPointer]h[\\[FormalT]],pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]T[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],sourceP1\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss1\\[UpPointer]deltaPf[\\[FormalT]],pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],splitter21\\[UpPointer]alpha1[\\[FormalT]],pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]],splitter21\\[UpPointer]T[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss4\\[UpPointer]h[\\[FormalT]],mixer21\\[UpPointer]alpha1[\\[FormalT]],mixer21\\[UpPointer]P[\\[FormalT]],mixer21\\[UpPointer]T[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],pipePressureLoss2\\[UpPointer]deltaPf[\\[FormalT]],pipePressureLoss2\\[UpPointer]T[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss3\\[UpPointer]deltaPf[\\[FormalT]],pipePressureLoss3\\[UpPointer]T[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],sinkP1\\[UpPointer]h[\\[FormalT]],pipePressureLoss4\\[UpPointer]deltaPf[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]T[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],sinkP1\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss1\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss1\\[UpPointer]T[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss4\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss4\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss4\\[UpPointer]T[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]},{FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss4\\[UpPointer]T[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss4\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss4\\[UpPointer]h[\\[FormalT]],pipePressureLoss4\\[UpPointer]mode,pipePressureLoss4\\[UpPointer]fluid],pipePressureLoss4\\[UpPointer]Pm[\\[FormalT]]==ToExpression[StringReplace[\"0.5\",\"e\"->\"*1.0*10^\"]] * (mixer21\\[UpPointer]P[\\[FormalT]] + sinkP1\\[UpPointer]P0),0==sensorQ2\\[UpPointer]Q[\\[FormalT]] * (If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + ((-sensorQ3\\[UpPointer]Q[\\[FormalT]]) * (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])]) - sensorQ4\\[UpPointer]Q[\\[FormalT]] * pipePressureLoss4\\[UpPointer]h[\\[FormalT]]),mixer21\\[UpPointer]P[\\[FormalT]] - sinkP1\\[UpPointer]P0==pipePressureLoss4\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss4\\[UpPointer]deltaPf[\\[FormalT]]==pipePressureLoss4\\[UpPointer]K * FunctionCall[\".ThermoSysPro.Functions.ThermoSquare\"][sensorQ4\\[UpPointer]Q[\\[FormalT]],pipePressureLoss4\\[UpPointer]eps] / pipePressureLoss4\\[UpPointer]p\\[UnderBracket]rho,pipePressureLoss4\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss4\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss4\\[UpPointer]deltaPg,2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]] - mixer21\\[UpPointer]P[\\[FormalT]] - sourceP1\\[UpPointer]P0==pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]]==ToExpression[StringReplace[\"0.5\",\"e\"->\"*1.0*10^\"]] * (2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]] + mixer21\\[UpPointer]P[\\[FormalT]] - sourceP1\\[UpPointer]P0),pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss3\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss3\\[UpPointer]deltaPg,pipePressureLoss3\\[UpPointer]deltaPf[\\[FormalT]]==pipePressureLoss3\\[UpPointer]K * FunctionCall[\".ThermoSysPro.Functions.ThermoSquare\"][sensorQ3\\[UpPointer]Q[\\[FormalT]],pipePressureLoss3\\[UpPointer]eps] / pipePressureLoss3\\[UpPointer]p\\[UnderBracket]rho,pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss2\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss2\\[UpPointer]deltaPg,FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss1\\[UpPointer]T[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss1\\[UpPointer]h[\\[FormalT]],pipePressureLoss1\\[UpPointer]mode,pipePressureLoss1\\[UpPointer]fluid],(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0])==FunctionCall[\".ThermoSysPro.Properties.WaterSteam.IF97.SpecificEnthalpy_PT\"][sourceP1\\[UpPointer]P0,sourceP1\\[UpPointer]T0,0],pipePressureLoss1\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss1\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss1\\[UpPointer]deltaPg,2 * sourceP1\\[UpPointer]P0 + -2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]]==pipePressureLoss1\\[UpPointer]deltaP[\\[FormalT]],sinkP1\\[UpPointer]h[\\[FormalT]]==FunctionCall[\".ThermoSysPro.Properties.WaterSteam.IF97.SpecificEnthalpy_PT\"][sinkP1\\[UpPointer]P0,sinkP1\\[UpPointer]T0,0],sinkP1\\[UpPointer]pro[\\[FormalT]]==FunctionCall[\".ThermoSysPro.Properties.WaterSteam.IF97.Water_Ph\"][sinkP1\\[UpPointer]P0,sinkP1\\[UpPointer]h[\\[FormalT]],sinkP1\\[UpPointer]mode],0==If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - sinkP1\\[UpPointer]h[\\[FormalT]]],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][mixer21\\[UpPointer]T[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][mixer21\\[UpPointer]P[\\[FormalT]],(-(If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss4\\[UpPointer]h[\\[FormalT]] ,pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]])) / (If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0]),mixer21\\[UpPointer]mode,mixer21\\[UpPointer]fluid],sourceP1\\[UpPointer]pro[\\[FormalT]]==FunctionCall[\".ThermoSysPro.Properties.WaterSteam.IF97.Water_Ph\"][sourceP1\\[UpPointer]P0,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0]),sourceP1\\[UpPointer]mode],0==If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, (-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]) - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, -pipePressureLoss4\\[UpPointer]h[\\[FormalT]] ,(pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0]) - (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])])],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss3\\[UpPointer]T[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]],(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]),pipePressureLoss3\\[UpPointer]mode,pipePressureLoss3\\[UpPointer]fluid],0==If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, -pipePressureLoss4\\[UpPointer]h[\\[FormalT]] ,(pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])],mixer21\\[UpPointer]alpha1[\\[FormalT]]==sensorQ2\\[UpPointer]Q[\\[FormalT]] / sensorQ4\\[UpPointer]Q[\\[FormalT]],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][splitter21\\[UpPointer]T[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][-sourceP1\\[UpPointer]P0 - -2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]],(-(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, (-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]) ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]) - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0]),splitter21\\[UpPointer]mode,splitter21\\[UpPointer]fluid],splitter21\\[UpPointer]alpha1[\\[FormalT]]==sensorQ2\\[UpPointer]Q[\\[FormalT]] / sensorQ1\\[UpPointer]Q[\\[FormalT]],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss2\\[UpPointer]T[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]],If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]],pipePressureLoss2\\[UpPointer]mode,pipePressureLoss2\\[UpPointer]fluid],0==sensorQ1\\[UpPointer]Q[\\[FormalT]] * pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (sensorQ3\\[UpPointer]Q[\\[FormalT]] * (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])]) - sensorQ2\\[UpPointer]Q[\\[FormalT]] * (If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,(pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss1\\[UpPointer]h[\\[FormalT]] - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss1\\[UpPointer]h[\\[FormalT]] + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]))}},{\"None\",\"None\",\"None\",\"None\"}}" +// "{{{sensorQ4\\[UpPointer]Q[\\[FormalT]],sensorQ1\\[UpPointer]Q[\\[FormalT]],sensorQ3\\[UpPointer]Q[\\[FormalT]],sensorQ2\\[UpPointer]Q[\\[FormalT]]},{0==sensorQ1\\[UpPointer]Q[\\[FormalT]] + (-sensorQ2\\[UpPointer]Q[\\[FormalT]] - sensorQ3\\[UpPointer]Q[\\[FormalT]]),0==sensorQ2\\[UpPointer]Q[\\[FormalT]] + (sensorQ3\\[UpPointer]Q[\\[FormalT]] - sensorQ4\\[UpPointer]Q[\\[FormalT]])}},{{pipePressureLoss1\\[UpPointer]deltaPf[\\[FormalT]],pipePressureLoss1\\[UpPointer]T[\\[FormalT]],pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],splitter21\\[UpPointer]alpha1[\\[FormalT]],splitter21\\[UpPointer]T[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss4\\[UpPointer]h[\\[FormalT]],mixer21\\[UpPointer]alpha1[\\[FormalT]],mixer21\\[UpPointer]P[\\[FormalT]],mixer21\\[UpPointer]T[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]],pipePressureLoss2\\[UpPointer]deltaPf[\\[FormalT]],pipePressureLoss2\\[UpPointer]T[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss3\\[UpPointer]deltaPf[\\[FormalT]],pipePressureLoss3\\[UpPointer]T[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]],pipePressureLoss4\\[UpPointer]deltaPf[\\[FormalT]],pipePressureLoss1\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss4\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss4\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss4\\[UpPointer]T[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]},{FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss4\\[UpPointer]T[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss4\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss4\\[UpPointer]Pm[\\[FormalT]],pipePressureLoss4\\[UpPointer]h[\\[FormalT]],pipePressureLoss4\\[UpPointer]mode,pipePressureLoss4\\[UpPointer]fluid],pipePressureLoss4\\[UpPointer]Pm[\\[FormalT]]==ToExpression[StringReplace[\"0.5\",\"e\"->\"*1.0*10^\"]] * (mixer21\\[UpPointer]P[\\[FormalT]] + sinkP1\\[UpPointer]P0),0==sensorQ2\\[UpPointer]Q[\\[FormalT]] * (If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + ((-sensorQ3\\[UpPointer]Q[\\[FormalT]]) * (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])]) - sensorQ4\\[UpPointer]Q[\\[FormalT]] * pipePressureLoss4\\[UpPointer]h[\\[FormalT]]),mixer21\\[UpPointer]P[\\[FormalT]] - sinkP1\\[UpPointer]P0==pipePressureLoss4\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss4\\[UpPointer]deltaPf[\\[FormalT]]==pipePressureLoss4\\[UpPointer]K * FunctionCall[\".ThermoSysPro.Functions.ThermoSquare\"][sensorQ4\\[UpPointer]Q[\\[FormalT]],pipePressureLoss4\\[UpPointer]eps] / pipePressureLoss4\\[UpPointer]p\\[UnderBracket]rho,pipePressureLoss4\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss4\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss4\\[UpPointer]deltaPg,2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]] - mixer21\\[UpPointer]P[\\[FormalT]] - sourceP1\\[UpPointer]P0==pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]],pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]]==ToExpression[StringReplace[\"0.5\",\"e\"->\"*1.0*10^\"]] * (2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]] + mixer21\\[UpPointer]P[\\[FormalT]] - sourceP1\\[UpPointer]P0),pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss3\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss3\\[UpPointer]deltaPg,pipePressureLoss3\\[UpPointer]deltaPf[\\[FormalT]]==pipePressureLoss3\\[UpPointer]K * FunctionCall[\".ThermoSysPro.Functions.ThermoSquare\"][sensorQ3\\[UpPointer]Q[\\[FormalT]],pipePressureLoss3\\[UpPointer]eps] / pipePressureLoss3\\[UpPointer]p\\[UnderBracket]rho,pipePressureLoss2\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss2\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss2\\[UpPointer]deltaPg,pipePressureLoss1\\[UpPointer]deltaP[\\[FormalT]]==pipePressureLoss1\\[UpPointer]deltaPf[\\[FormalT]] + pipePressureLoss1\\[UpPointer]deltaPg,2 * sourceP1\\[UpPointer]P0 + -2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]]==pipePressureLoss1\\[UpPointer]deltaP[\\[FormalT]],0==If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - sinkP1\\[UpPointer]h],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][mixer21\\[UpPointer]T[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],mixer21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][mixer21\\[UpPointer]P[\\[FormalT]],(-(If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, pipePressureLoss4\\[UpPointer]h[\\[FormalT]] ,pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]])) / (If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0]),mixer21\\[UpPointer]mode,mixer21\\[UpPointer]fluid],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss1\\[UpPointer]T[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss1\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]],If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]],pipePressureLoss1\\[UpPointer]mode,pipePressureLoss1\\[UpPointer]fluid],0==If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, (-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]) - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, -pipePressureLoss4\\[UpPointer]h[\\[FormalT]] ,(pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0]) - (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])])],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss3\\[UpPointer]T[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss3\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]],(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]),pipePressureLoss3\\[UpPointer]mode,pipePressureLoss3\\[UpPointer]fluid],0==If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ4\\[UpPointer]Q[\\[FormalT]] > 0, -pipePressureLoss4\\[UpPointer]h[\\[FormalT]] ,(pipePressureLoss4\\[UpPointer]h[\\[FormalT]] - pipePressureLoss4\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])],mixer21\\[UpPointer]alpha1[\\[FormalT]]==sensorQ2\\[UpPointer]Q[\\[FormalT]] / sensorQ4\\[UpPointer]Q[\\[FormalT]],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][splitter21\\[UpPointer]T[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],splitter21\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][-sourceP1\\[UpPointer]P0 - -2 * pipePressureLoss1\\[UpPointer]Pm[\\[FormalT]],(-(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, (-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]) ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0]]) - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0]),splitter21\\[UpPointer]mode,splitter21\\[UpPointer]fluid],splitter21\\[UpPointer]alpha1[\\[FormalT]]==sensorQ2\\[UpPointer]Q[\\[FormalT]] / sensorQ1\\[UpPointer]Q[\\[FormalT]],FunctionCall[\".ThermoSysPro.Properties.WaterSteam.Common.ThermoProperties_ph\"][pipePressureLoss2\\[UpPointer]T[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]d[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]u[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]s[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]cp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]ddph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duph[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]duhp[\\[FormalT]],pipePressureLoss2\\[UpPointer]pro\\[UpPointer]x[\\[FormalT]]]==FunctionCall[\".ThermoSysPro.Properties.Fluid.Ph\"][pipePressureLoss3\\[UpPointer]Pm[\\[FormalT]],If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]],pipePressureLoss2\\[UpPointer]mode,pipePressureLoss2\\[UpPointer]fluid],0==sensorQ1\\[UpPointer]Q[\\[FormalT]] * (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (sensorQ3\\[UpPointer]Q[\\[FormalT]] * (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])]) - sensorQ2\\[UpPointer]Q[\\[FormalT]] * (If[ sensorQ2\\[UpPointer]Q[\\[FormalT]] > 0, -(If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, ((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0 ,((If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])) / (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, -1 ,0 / 0])] ,(-(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, (If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) - pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] ,(If[ sensorQ1\\[UpPointer]Q[\\[FormalT]] > 0, sourceP1\\[UpPointer]h ,pipePressureLoss1\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]) + (If[ sensorQ3\\[UpPointer]Q[\\[FormalT]] > 0, 0 ,(-pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]) / 0])])) / 0 - pipePressureLoss3\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]] / 0]) ,pipePressureLoss2\\[UpPointer]C1\\[UpPointer]h\\[UnderBracket]vol[\\[FormalT]]]))}},{\"None\",\"None\",\"None\",\"None\"}}" // "[openmodelica/uncertainties/DataReconciliationTests21jan2013Total.mo:6665:7-6700:22:writable] Warning: Connector .ThermoSysPro.WaterSteam.Connectors.FluidOutlet is not balanced: The number of potential variables (4) is not equal to the number of flow variables (0). // [openmodelica/uncertainties/DataReconciliationTests21jan2013Total.mo:4598:9-4637:28:writable] Warning: pro.x was used before it was defined (given a value). Additional such uses may exist for the variable, but some messages were suppressed. // [openmodelica/uncertainties/DataReconciliationTests21jan2013Total.mo:4681:9-4725:32:writable] Warning: pro.x was used before it was defined (given a value). Additional such uses may exist for the variable, but some messages were suppressed. diff --git a/testsuite/simulation/libraries/3rdParty/ThermoSysPro/ThermoSysPro.Examples.SimpleExamples.TestVolumes2.mos b/testsuite/simulation/libraries/3rdParty/ThermoSysPro/ThermoSysPro.Examples.SimpleExamples.TestVolumes2.mos index cd571e4945e..2f6f907e8d5 100644 --- a/testsuite/simulation/libraries/3rdParty/ThermoSysPro/ThermoSysPro.Examples.SimpleExamples.TestVolumes2.mos +++ b/testsuite/simulation/libraries/3rdParty/ThermoSysPro/ThermoSysPro.Examples.SimpleExamples.TestVolumes2.mos @@ -27,8 +27,14 @@ getEnvironmentVar("REFERENCEFILES")+"/ThermoSysPro/ThermoSysPro.Examples.SimpleE // record SimulationResult // resultFile = "ThermoSysPro.Examples.SimpleExamples.TestVolumes2_res.mat", // simulationOptions = "startTime = 0.0, stopTime = 10.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'ThermoSysPro.Examples.SimpleExamples.TestVolumes2', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", -// messages = "assert | error | Model error. 0^(-2) is not defined -// stdout | warning | Non-Linear Solver try to handle a problem with a called assert. +// messages = "stdout | warning | While solving non-linear system an assertion failed during initialization. +// | | | | | The non-linear solver tries to solve the problem that could take some time. +// | | | | | It could help to provide better start-values for the iteration variables. +// | | | | | For more information simulate with -lv LOG_NLS_V +// stdout | warning | While solving non-linear system an assertion failed during initialization. +// | | | | | The non-linear solver tries to solve the problem that could take some time. +// | | | | | It could help to provide better start-values for the iteration variables. +// | | | | | For more information simulate with -lv LOG_NLS_V // stdout | warning | While solving non-linear system an assertion failed during initialization. // | | | | | The non-linear solver tries to solve the problem that could take some time. // | | | | | It could help to provide better start-values for the iteration variables. diff --git a/testsuite/simulation/libraries/msl32/Modelica.Media.Examples.SolveOneNonlinearEquation.Inverse_sine.mos b/testsuite/simulation/libraries/msl32/Modelica.Media.Examples.SolveOneNonlinearEquation.Inverse_sine.mos index da29faab51c..6f89f936086 100644 --- a/testsuite/simulation/libraries/msl32/Modelica.Media.Examples.SolveOneNonlinearEquation.Inverse_sine.mos +++ b/testsuite/simulation/libraries/msl32/Modelica.Media.Examples.SolveOneNonlinearEquation.Inverse_sine.mos @@ -27,6 +27,7 @@ runScript(modelTesting);getErrorString(); // Simulation options: startTime = 0.0, stopTime = 0.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Media.Examples.SolveOneNonlinearEquation.Inverse_sine', options = '', outputFormat = 'mat', variableFilter = 'time|x_zero', cflags = '', simflags = ' -abortSlowSimulation -alarm=360 -emit_protected' // Result file: Modelica.Media.Examples.SolveOneNonlinearEquation.Inverse_sine_res.mat // Messages: stdout | info | x_zero = 0.523599, y_zero = 0.5, A*sin(w*x_zero) = 0.5 +// stdout | info | x_zero = 0.523599, y_zero = 0.5, A*sin(w*x_zero) = 0.5 // LOG_SUCCESS | info | The initialization finished successfully without homotopy method. // stdout | info | x_zero = 0.523599, y_zero = 0.5, A*sin(w*x_zero) = 0.5 // LOG_SUCCESS | info | The simulation finished successfully. diff --git a/testsuite/simulation/modelica/commonSubExp/wrapFunctionCalls13.mos b/testsuite/simulation/modelica/commonSubExp/wrapFunctionCalls13.mos index 33a147beedf..c5fd465f74d 100644 --- a/testsuite/simulation/modelica/commonSubExp/wrapFunctionCalls13.mos +++ b/testsuite/simulation/modelica/commonSubExp/wrapFunctionCalls13.mos @@ -110,44 +110,64 @@ system("rm -f ./ReferenceFiles/CSE.wrapFunctionCalls13_res.mat"); // ######################################## // // +// unspecified partition +// ======================================== +// +// Variables (1) +// ======================================== +// 1: $cse2:VARIABLE(protected = true ) type: Real unreplaceable +// +// +// Equations (1, 1) +// ======================================== +// 1/1 (1): $cse2 = CSE.wrapFunctionCalls13.f1(dat.d1, p1, 2 * p1) [binding |0|0|0|0|] +// +// +// Matching +// ======================================== +// 1 variables and equations +// var 1 is solved in eqn 1 +// +// +// StrongComponents +// ======================================== +// {1:1} +// +// // unknown partition // ======================================== // -// Variables (5) +// Variables (4) // ======================================== // 1: z:VARIABLE() type: Real // 2: x:DISCRETE() type: Integer // 3: $cse3:VARIABLE(protected = true ) type: Real unreplaceable -// 4: $cse2:VARIABLE(protected = true ) type: Real unreplaceable -// 5: $cse1:VARIABLE(protected = true ) type: Real unreplaceable +// 4: $cse1:VARIABLE(protected = true ) type: Real unreplaceable // // -// Equations (5, 5) +// Equations (4, 4) // ======================================== -// 1/1 (1): $cse2 = CSE.wrapFunctionCalls13.f1(dat.d1, p1, 2 * p1) [unknown |0|0|0|0|] -// 2/2 (1): $cse1 = $cse2 [dynamic |0|0|0|0|] -// 3/3 (1): $cse3 = sin($cse1) [unknown |0|0|0|0|] -// 4/4 (1): z = $cse3 - 1.0 [dynamic |0|0|0|0|] -// 5/5 (1): x = $cse1 - CSE.wrapFunctionCalls13.f1(0.0, p1, 2 * p1) [unknown |0|0|0|0|] +// 1/1 (1): $cse1 = $cse2 [dynamic |0|0|0|0|] +// 2/2 (1): $cse3 = sin($cse1) [unknown |0|0|0|0|] +// 3/3 (1): z = $cse3 - 1.0 [dynamic |0|0|0|0|] +// 4/4 (1): x = $cse1 - CSE.wrapFunctionCalls13.f1(0.0, p1, 2 * p1) [unknown |0|0|0|0|] // // // Matching // ======================================== -// 5 variables and equations -// var 1 is solved in eqn 4 -// var 2 is solved in eqn 5 -// var 3 is solved in eqn 3 +// 4 variables and equations +// var 1 is solved in eqn 3 +// var 2 is solved in eqn 4 +// var 3 is solved in eqn 2 // var 4 is solved in eqn 1 -// var 5 is solved in eqn 2 // // // StrongComponents // ======================================== // {1:4} -// {2:5} -// {3:3} -// {4:1} -// {5:2} +// {2:3} +// {3:1} +// {4:2} // // // diff --git a/testsuite/simulation/modelica/functions_eval/functionTest8.mos b/testsuite/simulation/modelica/functions_eval/functionTest8.mos index 2e77a2fd5cf..330f09a8042 100644 --- a/testsuite/simulation/modelica/functions_eval/functionTest8.mos +++ b/testsuite/simulation/modelica/functions_eval/functionTest8.mos @@ -61,8 +61,7 @@ val(H, 0.0); // true // "" // -// Start function evaluation of: -// h := functionTest8.hl(Tc_model, T_model) +// Start constant evaluation of expression: functionTest8.hl(Tc_model, T_model) // // IF-statement: // if T < Tc then @@ -177,10 +176,11 @@ val(H, 0.0); // end if; // // -// the function output is not constant in any case // -// Start function evaluation of: -// H := functionTest8.hv(Tc_model, T_model) +// evaluated to: functionTest8.hl(Tc_model, T_model) +// +// +// Start constant evaluation of expression: functionTest8.hv(Tc_model, T_model) // // assignment: // temp := 298.15; @@ -259,7 +259,9 @@ val(H, 0.0); // end if; // // -// the function output is not constant in any case +// +// evaluated to: functionTest8.hv(Tc_model, T_model) +// // record SimulationResult // resultFile = "functionTest8_res.mat", // simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'functionTest8', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", diff --git a/testsuite/simulation/modelica/functions_eval/functionTest9.mos b/testsuite/simulation/modelica/functions_eval/functionTest9.mos index 2ebecc4074b..c50a37a49c3 100644 --- a/testsuite/simulation/modelica/functions_eval/functionTest9.mos +++ b/testsuite/simulation/modelica/functions_eval/functionTest9.mos @@ -45,8 +45,7 @@ val(H, 0.0); // true // "" // -// Start function evaluation of: -// H := functionTest9.hv(Tc_model, T_model) +// Start constant evaluation of expression: functionTest9.hv(Tc_model, T_model) // // assignment: // temp := 298.15; @@ -126,12 +125,9 @@ val(H, 0.0); // Ent2 := 1.0; // // -// the function output is completely constant -// Finish evaluation: -// of: -// functionTest9.hv(Tc_model, T_model) -// to: -// H := 1.0 +// +// evaluated to: 1.0 +// // record SimulationResult // resultFile = "functionTest9_res.mat", // simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'functionTest9', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",