ModelicaStandardLibrary icon indicating copy to clipboard operation
ModelicaStandardLibrary copied to clipboard

Reduce guess for initial temperature difference across wall.

Open HansOlsson opened this issue 2 years ago • 1 comments

From 10 K to 1 K to be specific.

The reason is two-fold:

  • It is an order of magnitude too large; compared to what is actually seen.
  • In some configurations it can cause simulation problems.

Basically it should be the initial guess for temperature difference across the wall of the heat-exchanger. Obviously the size depend on the temperature difference between the pipes and the relatives heat capacity of the medium compared to the heat-exchanger walls, so I think that giving an order of magnitude is fine - as long as it is the right order of magnitude.

If you simulate it in Dymola you get this plot for those temperature differences:

HeatExchangerSimulation

plotExpression(apply(HeatExchangerSimulation[end].HEX.wall.Tb[1]-HeatExchangerSimulation[end].HEX.wall.Ta[1]), false, "Diff 1", 1, unit="K");
plotExpression(apply(HeatExchangerSimulation[end].HEX.wall.Tb[10]-HeatExchangerSimulation[end].HEX.wall.Ta[10]), false, "Diff 10", 1, unit="K");
plotExpression(apply(HeatExchangerSimulation[end].HEX.wall.Tb[20]-HeatExchangerSimulation[end].HEX.wall.Ta[20]), false, "Diff 20", 1, unit="K");

So they start 0.4 K apart, not 10 K, and the maximum difference is 2.5 K (the temperature in the mediums are 32 degC and 82 degC at that point - remember that the pipes go in different directions).

HansOlsson avatar Sep 15 '22 13:09 HansOlsson

Note that even if it is modifying the same parameter as in #4032 the PRs are independent (since one is modifier and one is declaration) and can be merged separately.

HansOlsson avatar Sep 15 '22 13:09 HansOlsson

@casella can you please review the changes , Thankyou