RTP Acceleration Step 2: Compute linear solver only upon timestep change
-
Feature description was added to the changelog -
Tests covering your feature were added? -
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:
- 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. - 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