Opened 8 years ago

Closed 3 years ago

#4034 closed enhancement (fixed)

Use sparse solvers for event handling in daemode

Reported by: casella Owned by: AnHeuermann
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 Changed 8 years ago by casella

  • Milestone changed from 1.10.0 to 1.11.0

comment:2 Changed 8 years ago by casella

  • Owner changed from somebody to wbraun
  • Status changed from new to assigned

comment:3 Changed 8 years ago by sjoelund.se

  • Milestone changed from 1.11.0 to 1.12.0

Milestone moved to 1.12.0 due to 1.11.0 already being released.

comment:4 Changed 7 years ago by casella

  • Milestone changed from 1.12.0 to 1.13.0

Milestone moved to 1.13.0 due to 1.12.0 already being released.

comment:5 Changed 7 years ago by wbraun

  • Status changed from assigned to accepted

comment:6 Changed 6 years ago by casella

  • Milestone changed from 1.13.0 to 1.14.0

Rescheduled to 1.14.0 after 1.13.0 releasee

comment:7 Changed 5 years ago by casella

  • Milestone changed from 1.14.0 to 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:8 Changed 4 years ago by casella

  • Milestone changed from 1.16.0 to 1.17.0

Retargeted to 1.17.0 after 1.16.0 release

comment:9 Changed 4 years ago by casella

  • Milestone changed from 1.17.0 to 1.18.0

Retargeted to 1.18.0 because of 1.17.0 timed release.

comment:10 Changed 3 years ago by casella

  • Milestone 1.18.0 deleted

Ticket retargeted after milestone closed

comment:11 Changed 3 years ago by casella

  • Owner changed from wbraun to AnHeuermann
  • Status changed from accepted to assigned

comment:12 Changed 3 years ago by casella

  • Milestone set to 1.19.0
  • Resolution set to fixed
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.