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
When a CpGrid gets distributed, the overlap layer size is set to 1. In particular, cells that share only corners or edges (and do not share faces) with interior cells are not seen by the process, i.e., are not part of the overlap layer.
A few PRs (#802 and #803) intend to support adding LGRs on a distributed grid. This includes the definition/assignment of new ids for refined cells and points. We expect ids to be unique across all processes and to have only one id per Entity (cell or point). Unfortunately, uniqueness for point ids is not achievable and the reason behind that is the size of the overlap layer (equal to 1, considering only cells that share a face with an interior cell, but not only points/edges).
In #802, in addLgrsOnDistributedGrid_test.cpp there are many examples to illustrate this situation.
Do we want to modify the size of the overlap layer? In general? Only if LGRs are involved? Or should we move forward without unique point ids "in some cases"?
Calling loadBalance with addCornerCells = true solves the issue in SOME cases. See #806
The text was updated successfully, but these errors were encountered:
aritorto
changed the title
Overlap layer size 1 affect uniqueness of point global ids for CpGrid with LGRs
Overlap layer size 1 affects uniqueness of point global ids for CpGrid with LGRs
Nov 26, 2024
Do we want to modify the size of the overlap layer? In general? Only if LGRs are involved? >Or should we move forward without unique point ids "in some cases"?
Increasing the (default) size of the overlap layer would be a quite big change, and bring performance penalties. But the code should be able to cope with a larger overlap without any other consequences, so it may be good to investigate this.
@hnil I think you looked at this recently, what is your opinion?
Thanks @atgeirr for your comment! I agree on not changing the default. Maybe extending the functionality to also include cells that share only corners (not edges/faces) too, for cases when this is extremely important. Keeping the default and the performance on place when it's not.
I think that we should have option for overlap + add corner nodes. (This is included in one pull request regarding work on geomechancis). I think all node information should be correct also with global ids.
It seems more consistent that cells which is neighbor to nodes(end edge) which is part of an internal cell should be included in the partition. There exist other methods, but then node based discretization can assemble the full row of a matrix without communication.
When a CpGrid gets distributed, the overlap layer size is set to 1. In particular, cells that share only corners or edges (and do not share faces) with interior cells are not seen by the process, i.e., are not part of the overlap layer.
A few PRs (#802 and #803) intend to support adding LGRs on a distributed grid. This includes the definition/assignment of new ids for refined cells and points. We expect ids to be unique across all processes and to have only one id per Entity (cell or point). Unfortunately, uniqueness for point ids is not achievable and the reason behind that is the size of the overlap layer (equal to 1, considering only cells that share a face with an interior cell, but not only points/edges).
In #802, in addLgrsOnDistributedGrid_test.cpp there are many examples to illustrate this situation.
Do we want to modify the size of the overlap layer? In general? Only if LGRs are involved? Or should we move forward without unique point ids "in some cases"?
Calling loadBalance with addCornerCells = true solves the issue in SOME cases. See #806
The text was updated successfully, but these errors were encountered: