This example demonstrates the importance of merging pressure
drop components that are connected in series, into one pressure
drop component. Parameter mergeDp.k can be used to
merge two components that are connected in series. Parameter
from_dp also has an influence of the computational
speed.
Following script can be used in Dymola to compare the CPU times. For this script to work, make sure that Dymola stores at least 4 results.
cpuOld=OutputCPUtime;
evaluateOld=Evaluate;
OutputCPUtime:=true;
simulateModel("IDEAS.Fluid.Examples.Performance.Example3(from_dp.k=false,
mergeDp.k=false, nRes.k=10)", stopTime=1000, numberOfIntervals=10,
method="dassl", resultFile="Example3");
simulateModel("IDEAS.Fluid.Examples.Performance.Example3(from_dp.k=false,
mergeDp.k=true, nRes.k=10)", stopTime=1000, numberOfIntervals=10,
method="dassl", resultFile="Example3");
simulateModel("IDEAS.Fluid.Examples.Performance.Example3(from_dp.k=true,
mergeDp.k=false, nRes.k=10)", stopTime=1000, numberOfIntervals=10,
method="dassl", resultFile="Example3");
simulateModel("IDEAS.Fluid.Examples.Performance.Example3(from_dp.k=true,
mergeDp.k=true, nRes.k=10)", stopTime=1000, numberOfIntervals=10,
method="dassl", resultFile="Example3");
createPlot(id=1, position={15, 10, 592, 421}, range={0.0, 1000.0,
-0.01, 8}, autoscale=false, grid=true);
plotExpression(apply(Example3[end-3].CPUtime), false,
"from_dp=false, mergeDp=false", 1);
plotExpression(apply(Example3[end-2].CPUtime), false,
"from_dp=false, mergeDp=true", 1);
plotExpression(apply(Example3[end-1].CPUtime), false,
"from_dp=true, mergeDp=false", 1);
plotExpression(apply(Example3[end].CPUtime), false, "from_dp=true,
mergeDp=true", 1);
OutputCPUtime=cpuOld;
Evaluate=evaluateOld;
See Jorissen et al. (2015) for a discussion.
| Name | Description |
|---|---|
| Medium |