ILU fill level being set incorrectly

Issue #599 wontfix
Gary Rebt created an issue

Hi,

It seems like in Python, the option to set the fill level of ILU in the solver options for the PETSC solver such as in

prm = solver.parameters
prm["linear_solver"] = "gmres"
prm["preconditioner"] = "ilu"
prm["krylov_solver"]["preconditioner"]["ilu"]["fill_level"] = 1
solver.solve()

does not actually modify anything. It still uses a fill level of 0. However, when modifying directly the PETSc options, so inserting

PETScOptions.set('pc_factor_levels', 1)

the ILU fill level is indeed set to 1 as it should.

The effect can be highlighted by looking at the number of iterations performed by the solver which has to be lower when the fill level is set to 0 than for a fill level of 1.

Comments (3)

  1. Prof Garth Wells

    I suggest that we remove the parameter. Getting into controlling solver details from the parameter system is a recipe for inconsistencies, especially across different backends.

  2. Log in to comment