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

Hanging node implementation does not work properly for linear problems #47

Open
bsumirak opened this issue Jan 10, 2021 · 0 comments
Open
Labels

Comments

@bsumirak
Copy link
Member

A GMG solver for a simple Poisson test problem on a hexahedron fails when assembled as a linear problem, but succeeds when assembled as a non-linear problem.

This is due to the special treatment linear problems get in the P1-continuity constraint: While non-linear problems assemble zero defect entries and unity lines in the Jacobian (which effectively takes constrained DoFs out of the calculation), linear problems assemble zero right-hand side and an interpolating line in the matrix (thus keeping the constrained DoFs as real DoFs).
This does not seem to go down well in the multigrid hierarchy. But even if the restriction matrix (and prolongation) is adjusted so that the constrained DoFs' defects stay where they are, this does not seem to be a good idea, because the constrained defects are scaled independently from the rest and could - on small-scale geometries - dominate the total defect.

I would much rather treat the linear case just like the non-linear one by setting unity rows in the matrix.
The main problem with this approach is that this will make it necessary for the solution in the hanging nodes to be enforced separately AFTER solving the linear system, which is not a big deal per se, but will require an update in all applications currently using hanging nodes in linear problems.

testScriptAndGeom.zip

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

No branches or pull requests

2 participants