Opened 8 years ago
Closed 3 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 , 8 years ago
Milestone: | 1.10.0 → 1.11.0 |
---|
comment:2 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 8 years ago
Milestone: | 1.11.0 → 1.12.0 |
---|
comment:4 by , 7 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 , 7 years ago
Status: | assigned → accepted |
---|
comment:7 by , 5 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 , 4 years ago
Milestone: | 1.17.0 → 1.18.0 |
---|
Retargeted to 1.18.0 because of 1.17.0 timed release.
comment:11 by , 3 years ago
Owner: | changed from | to
---|---|
Status: | accepted → assigned |
Discussion continues on https://github.com/OpenModelica/OpenModelica/issues/4034
comment:12 by , 3 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.