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

Don't use eigenvectors as initial guess for constrained agglomerates #218

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Rombur
Copy link
Collaborator

@Rombur Rombur commented Oct 4, 2019

@masterleinad @aprokop With this PR, we don't reuse the eigenvectors as initial guess for the eigensolver if the agglomerate is on the boundary. If the agglomerate is inside the domain but the initial guess is from a boundary eigenvectors, we add the non-zero entries. This particular implementation only works for matrix-free so I couldn't really test it but I tested something very close that worked with matrix. The good news is that the convergence rate matches the convergence rate when we are not using an initial guess. So I would expect that the difference in the number of CG iterations disappear. However, in the test the meshes are very small so a very large number of agglomerates are on the boundary. Thus, there are very few agglomerates that actually use the initial guess. I can create a version that works also on matrix-based problems. Basically the difference is that we don't have access to the constraints to know if the agglomerate is on the boundary. In that case, we need to go through the initial guess vector and check if an entry has been set to zero.

@aprokop
Copy link
Collaborator

aprokop commented Oct 4, 2019

We are not interested in matrix-based version, I think.

If the agglomerate is inside the domain but the initial guess is from a boundary eigenvectors, we add the non-zero entries.

This is different from what I expected. I thought we have no cross-pollination between boundary and internal agglomerates at all. Could you remind how you insert the nonzero entries?

@masterleinad
Copy link
Collaborator

The difference decreases but doesn't vanish...

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

Successfully merging this pull request may close these issues.

3 participants