You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think I've found the bug that makes the number of CG iterations go up when increasing the number of refinement levels:
When refining a mesh, P4est seems to not keep all fine cells born from a coarse cell in the same processor... We can then have, for a certain coarse cell, half it's children in one processor and the other half in another one (even before redistribution). The coarse meshes then tend to overlap.
This is a problem for our current implementation when using CompositeMeasures, where each processor containing children for a certain coarse cell ends up in possession of some (but not all) the fine contributions corresponding to that coarse cell. We then end up with incomplete contributions in both processors, and therefore the integration is wrong...
I've pushed some changes showcasing the issue into a new branch and will try to solve this over the next few days.
The text was updated successfully, but these errors were encountered:
Update:
The problem comes from the fact that DistributedTriangulations use views over the full model triangulation to get rid of ghost cells. Views were not yet supported from Gridap, causing some issues.
Some changes have been introduced in d6a53e3 to resolve this.
I think I've found the bug that makes the number of CG iterations go up when increasing the number of refinement levels:
When refining a mesh, P4est seems to not keep all fine cells born from a coarse cell in the same processor... We can then have, for a certain coarse cell, half it's children in one processor and the other half in another one (even before redistribution). The coarse meshes then tend to overlap.
This is a problem for our current implementation when using
CompositeMeasures
, where each processor containing children for a certain coarse cell ends up in possession of some (but not all) the fine contributions corresponding to that coarse cell. We then end up with incomplete contributions in both processors, and therefore the integration is wrong...I've pushed some changes showcasing the issue into a new branch and will try to solve this over the next few days.
The text was updated successfully, but these errors were encountered: