Commit 3eef044
Import Gmsh meshes at any order; finish tensor_dofmap 3D face gluing
Three related changes:
1. tensor_dofmap (src/TensorFEM.jl): implement the previously-unsupported case
of shared 3D face-interior grids (d=3, k>=3). A face-interior node lies on a
quad face shared between two hexes, which the two elements present in one of
the face's 8 symmetries. New helper _tf_face_pos canonicalizes it: anchor at
the minimum-id corner (unique for a valid face), measure the node from it
along each axis, and order the two axes by the neighbour ids so axis 1 points
toward the smaller-id neighbour. The key is then identical from both elements'
framings, so the (k-1)^2 interior grid glues node-for-node. Subsumes the old
k=2 special case; only interior grids on shared entities of dimension >= 3
(possible only at d >= 4) remain unimplemented. tensor_dofmap now supports any
k for d <= 3.
2. Gmsh import (ext/MultiGridBarrierGmshExt): resample element geometry at
MultiGridBarrier's Chebyshev reference nodes via getJacobians, so quads and
hexes import at ANY order (Gmsh's equispaced high-order nodes otherwise only
match the Chebyshev reference through k=2). Physical-group membership uses a
corner-subset test, exact at any order. With tensor_dofmap finished, the
earlier 3D-hex k<=2 cap is removed.
3. CI (.github/workflows/CI.yml): after deploydocs, POST to the Pages builds API
to force a rebuild -- GitHub's legacy Pages builder intermittently hangs and
leaves the published docs stale.
Tests: transposed-2-hex tensor_dofmap oracle (shared face axes swapped) matches
coordinate-dedup exactly at k=2,3,4; Gmsh quads k=1..4, curved disk, hexes
k=1..3; full Pkg.test green, docs build clean.1 parent 2ea27b8 commit 3eef044
7 files changed
Lines changed: 379 additions & 228 deletions
File tree
- .github/workflows
- docs/src
- ext/MultiGridBarrierGmshExt
- src
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
18 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
87 | 87 | | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
92 | 93 | | |
93 | 94 | | |
94 | | - | |
95 | | - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
96 | 101 | | |
97 | 102 | | |
98 | 103 | | |
| |||
104 | 109 | | |
105 | 110 | | |
106 | 111 | | |
107 | | - | |
| 112 | + | |
108 | 113 | | |
109 | 114 | | |
110 | | - | |
| 115 | + | |
111 | 116 | | |
112 | 117 | | |
113 | 118 | | |
| |||
0 commit comments