Commit 99aa1cc
CpGrid: build point communication interfaces from all points of a cell
The codim-3 (point) communication interface and the point-via-cell data
handle were built from cell_to_point_, i.e. only the eight canonical corners
of each cell. On corner-point grids with hanging nodes a face can reference
nodes that are not canonical corners of the neighbouring cell; such nodes
never entered point_interfaces_, so they were invisible to codim-3
communication and their ownership failed to be a partition of unity across
ranks (observed as 'Owner is not a partition of unity' in vertex-based
mechanics assembly).
Introduce cell_to_allpoint_ (SparseTable: every node of every face of each
cell, sorted and deduplicated) and use it for the point interface and for
PointViaCellHandleWrapper. AttributeDataHandle::fixedSize() now returns
false since rows vary in length, and row iteration uses the SparseTable
iterators.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent c8d9f45 commit 99aa1cc
3 files changed
Lines changed: 49 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
209 | 215 | | |
210 | 216 | | |
211 | 217 | | |
| |||
934 | 940 | | |
935 | 941 | | |
936 | 942 | | |
937 | | - | |
| 943 | + | |
| 944 | + | |
938 | 945 | | |
939 | 946 | | |
940 | 947 | | |
| |||
943 | 950 | | |
944 | 951 | | |
945 | 952 | | |
946 | | - | |
947 | | - | |
| 953 | + | |
948 | 954 | | |
949 | 955 | | |
950 | 956 | | |
| |||
955 | 961 | | |
956 | 962 | | |
957 | 963 | | |
958 | | - | |
959 | | - | |
| 964 | + | |
960 | 965 | | |
961 | 966 | | |
962 | 967 | | |
| |||
1697 | 1702 | | |
1698 | 1703 | | |
1699 | 1704 | | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
1700 | 1735 | | |
1701 | | - | |
| 1736 | + | |
1702 | 1737 | | |
1703 | | - | |
| 1738 | + | |
1704 | 1739 | | |
1705 | 1740 | | |
1706 | 1741 | | |
| |||
1928 | 1963 | | |
1929 | 1964 | | |
1930 | 1965 | | |
1931 | | - | |
| 1966 | + | |
1932 | 1967 | | |
1933 | 1968 | | |
1934 | 1969 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
775 | 775 | | |
776 | 776 | | |
777 | 777 | | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
778 | 783 | | |
779 | 784 | | |
780 | 785 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| |||
0 commit comments