opm-simulators icon indicating copy to clipboard operation
opm-simulators copied to clipboard

duneILU not working

Open multitalentloes opened this issue 1 year ago • 3 comments

Using the duneILU preconditioner does not work properly on master. The linear solver provided below failed to converge on SPE1. It works well to begin with but preconditioner quality deteriorates until the linear system does not converge anymore. I suspect the getRebuildOnUpdateWrapper is not working as inteded.

{
    "tol": "0.01",
    "maxiter": "200",
    "verbosity": "0",
    "solver": "bicgstab",
    "preconditioner": {
        "type": "DuneILU",
        "relaxation": "0.90000000000000002",
        "ilulevel": "0"
    }
}

@jakobtorben initially found the bug and we looked into it briefly without finding the cause, dumping it here to increase awareness and to track progress.

multitalentloes avatar Dec 04 '24 12:12 multitalentloes

What kind of run is this? Serial or parallel?

blattms avatar Dec 05 '24 11:12 blattms

I think we tested serial.

From our tests it looked like the matrix or preconditioner was not updated, as it worked for the first few iterations and gradually performed worse and worse until it cuts timesteps and gives up.

We confirmed that the expected functions where being called when using the getRebuildOnUpdateWrapper but we were not able to verify if the matrix was updated.

jakobtorben avatar Dec 05 '24 11:12 jakobtorben

The preconditioner does not work for both serial and parallel runs. Since our debugging I tested wrapping the CPU DILU preconditioner in the same wrapper and picked a few random elements from the factorized diagonal that always turned out to be the same, not very rigorous but it looks like it is not udpating correctly

multitalentloes avatar Dec 05 '24 11:12 multitalentloes