Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

duneILU not working #5781

Open
multitalentloes opened this issue Dec 4, 2024 · 3 comments
Open

duneILU not working #5781

multitalentloes opened this issue Dec 4, 2024 · 3 comments

Comments

@multitalentloes
Copy link
Contributor

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.

@blattms
Copy link
Member

blattms commented Dec 5, 2024

What kind of run is this? Serial or parallel?

@jakobtorben
Copy link
Contributor

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.

@multitalentloes
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants