This example demonstrates that the use of the parameter
from_dp can be important for reducing the size of
algebraic loops in hydraulic circuits with many pressure drop
components connected in series and a pump setting the pressure
head.
If from_dp=true, we obtain:
Sizes of nonlinear systems of equations: {7}
Sizes after manipulation of the nonlinear systems: {5}
If from_dp=false, we obtain:
Sizes of nonlinear systems of equations: {7}
Sizes after manipulation of the nonlinear systems:
{1}
This can have a large impact on computational speed.
Following script can be used in Dymola to compare the CPU times.
cpuOld=OutputCPUtime;
evaluateOld=Evaluate;
OutputCPUtime:=true;
simulateModel("IBPSA.Fluid.Examples.Performance.Example2(from_dp.k=false)",
stopTime=10000, numberOfIntervals=10, method="dassl",
resultFile="Example2");
simulateModel("IBPSA.Fluid.Examples.Performance.Example2(from_dp.k=true)",
stopTime=10000, numberOfIntervals=10, method="dassl",
resultFile="Example2");
createPlot(id=1, position={15, 10, 592, 421}, range={0.0, 10000.0,
-0.01, 25}, autoscale=false, grid=true);
plotExpression(apply(Example2[end-1].CPUtime), false,
"from_dp=false", 1);
plotExpression(apply(Example2[end].CPUtime), false, "from_dp=true",
1);
OutputCPUtime=cpuOld;
Evaluate=evaluateOld;
See Jorissen et al. (2015) for a discussion.
| Name | Description |
|---|---|
|
|