Skip to content

RTP Acceleration Step 2: Compute linear solver only upon timestep change

  1. Feature description was added to the changelog
  2. Tests covering your feature were added?
  3. Any new feature or behavior change was documented?

The linear solver computation, i.e., LU decomposition or preconditioner initialization, only has to repeated if the global matrix changes. This MR adds a flag <linear_solver_compute_only_upon_timestep_change> to the ComponentTransport process, which does exactly that (in conjunction with the recently added <is_linear> flag.

This option, however, is somewhat dangerous and adds some caveats to the already dangerous <is_linear> flag, namely:

  1. Some BCs (Robin, Python) do or might modify the global matrices. Therefore, BCs must not be time dependent if used together with the <linear_solver_compute_only_upon_timestep_change> feature.
  2. No two processes must share the same linear solver, each solver must have a dedicated linear solver. Otherwise OGS might compute garbage without being recognized.

TODOs

  • add test with changing timestep size
  • write docu
Edited by Christoph Lehmann

Merge request reports