Opened 9 years ago
Closed 4 years ago
#4034 closed enhancement (fixed)
Use sparse solvers for event handling in daemode
| Reported by: | Francesco Casella | Owned by: | Andreas Heuermann |
|---|---|---|---|
| Priority: | high | Milestone: | 1.19.0 |
| Component: | Run-time | Version: | |
| Keywords: | Cc: |
Description
The simulation time for models with many when clauses and large implicit systems of equations, which is one class of models where using daemode makes lots of sense, scales as O(N3). See, e.g., the BreakerNetwork and BreakerNetworkDelayed models in the ScalableTestSuite https://test.openmodelica.org/libraries/ScalableTestSuite_Experimental/BuildModelRecursive.html
As far as I understand, this is due to the fact that, during event handling, the dynamic equations and the equations of the active when clauses are solved using a dense solver, whose solution time is cubic with the size.
If the equations are linear, the -lssMaxDensity and -lssMinSize values should be used to automatically trigger the use of a sparse solver also in this case. I understand this should be enough to handle the ScalableTestSuite test cases efficiently.
The sparse Kinsol solver should be implemented instead, in order to handle the models with large nonlinear implicit equation systems.
Change History (12)
comment:1 by , 9 years ago
| Milestone: | 1.10.0 → 1.11.0 |
|---|
comment:2 by , 9 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:3 by , 9 years ago
| Milestone: | 1.11.0 → 1.12.0 |
|---|
comment:4 by , 8 years ago
| Milestone: | 1.12.0 → 1.13.0 |
|---|
Milestone moved to 1.13.0 due to 1.12.0 already being released.
comment:5 by , 8 years ago
| Status: | assigned → accepted |
|---|
comment:7 by , 6 years ago
| Milestone: | 1.14.0 → 1.16.0 |
|---|
Releasing 1.14.0 which is stable and has many improvements w.r.t. 1.13.2. This issue is rescheduled to 1.16.0
comment:9 by , 5 years ago
| Milestone: | 1.17.0 → 1.18.0 |
|---|
Retargeted to 1.18.0 because of 1.17.0 timed release.
comment:11 by , 4 years ago
| Owner: | changed from to |
|---|---|
| Status: | accepted → assigned |
Discussion continues on https://github.com/OpenModelica/OpenModelica/issues/4034
comment:12 by , 4 years ago
| Milestone: | → 1.19.0 |
|---|---|
| Resolution: | → fixed |
| Status: | assigned → closed |

Milestone moved to 1.12.0 due to 1.11.0 already being released.