Skip to content

ODE Solver for transient and nonlinear processes

Lars Bilke requested to merge github/fork/chleh/t-int into master

Created by: chleh

I took the last few days to take an epic attempt on reinventing the wheel. Here's the result: A new ODE solver structure. It is not yet feature-complete—like small child—but it is shiny and new, call it iSolver if you like.

I will try to finish the work on this PR until Tuesday, 16 Feb. Do not review yet (although the structures will not change anymore).

TODO:

  • replace present timeloop
  • iron out some edges with linear solvers and matrix classes (separate PR)
  • header guards, copyright texts
  • API docs (mostly done)
  • Petsc matrix and vector (stub done, todo: implementation, tests)
  • 🚫 LIS matrix and vector: I'd like to drop them since BLAS functionality is only provided for dense matrices. Discuss.
  • some cleanup
  • write builders that parse configuration options
  • clean up BLAS interface

Also important:

  • Compare test cases to actual data. Currently the tests only "run", but are not compared to analytical solutions. It would be nice if some of the mathematicians could do that comparison. Everything is prepared, only the right tolerances have to be given.

Future work:

  • save some matrices (i.e. save space)
  • adaptive time stepping
  • different error norms
  • numerical Jacobians
  • process coupling
  • ...

Merge request reports