Skip to content

Commit

Permalink
Add support for curvilinear elements when exporting cylindrical and s…
Browse files Browse the repository at this point in the history
…pherical meshes to VTK (#2533)

Co-authored-by: Paul Romano <[email protected]>
  • Loading branch information
pshriwise and paulromano authored Jun 16, 2023
1 parent 96d150a commit 0fcb174
Show file tree
Hide file tree
Showing 12 changed files with 4,022 additions and 237 deletions.
486 changes: 308 additions & 178 deletions openmc/mesh.py

Large diffs are not rendered by default.

41 changes: 41 additions & 0 deletions tests/unit_tests/mesh_to_vtk/cyl-data-actual.vtk
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# vtk DataFile Version 5.1
vtk output
ASCII
DATASET STRUCTURED_GRID
DIMENSIONS 5 4 4
POINTS 80 double
10 10 -10 11.25 10 -10 12.5 10 -10
13.75 10 -10 15 10 -10 10 10 -10
9.375 11.082531755 -10 8.75 12.165063509 -10 8.125 13.247595264 -10
7.5 14.330127019 -10 10 10 -10 9.375 8.9174682453 -10
8.75 7.8349364905 -10 8.125 6.7524047358 -10 7.5 5.6698729811 -10
10 10 -10 11.25 10 -10 12.5 10 -10
13.75 10 -10 15 10 -10 10 10 -9.3333333333
11.25 10 -9.3333333333 12.5 10 -9.3333333333 13.75 10 -9.3333333333
15 10 -9.3333333333 10 10 -9.3333333333 9.375 11.082531755 -9.3333333333
8.75 12.165063509 -9.3333333333 8.125 13.247595264 -9.3333333333 7.5 14.330127019 -9.3333333333
10 10 -9.3333333333 9.375 8.9174682453 -9.3333333333 8.75 7.8349364905 -9.3333333333
8.125 6.7524047358 -9.3333333333 7.5 5.6698729811 -9.3333333333 10 10 -9.3333333333
11.25 10 -9.3333333333 12.5 10 -9.3333333333 13.75 10 -9.3333333333
15 10 -9.3333333333 10 10 -8.6666666667 11.25 10 -8.6666666667
12.5 10 -8.6666666667 13.75 10 -8.6666666667 15 10 -8.6666666667
10 10 -8.6666666667 9.375 11.082531755 -8.6666666667 8.75 12.165063509 -8.6666666667
8.125 13.247595264 -8.6666666667 7.5 14.330127019 -8.6666666667 10 10 -8.6666666667
9.375 8.9174682453 -8.6666666667 8.75 7.8349364905 -8.6666666667 8.125 6.7524047358 -8.6666666667
7.5 5.6698729811 -8.6666666667 10 10 -8.6666666667 11.25 10 -8.6666666667
12.5 10 -8.6666666667 13.75 10 -8.6666666667 15 10 -8.6666666667
10 10 -8 11.25 10 -8 12.5 10 -8
13.75 10 -8 15 10 -8 10 10 -8
9.375 11.082531755 -8 8.75 12.165063509 -8 8.125 13.247595264 -8
7.5 14.330127019 -8 10 10 -8 9.375 8.9174682453 -8
8.75 7.8349364905 -8 8.125 6.7524047358 -8 7.5 5.6698729811 -8
10 10 -8 11.25 10 -8 12.5 10 -8
13.75 10 -8 15 10 -8
CELL_DATA 36
FIELD FieldData 1
ascending_data 1 36 double
0 100 200 300 400 500 600 700 800
900 1000 1100 1200 1300 1400 1500 1600 1700
1800 1900 2000 2100 2200 2300 2400 2500 2600
2700 2800 2900 3000 3100 3200 3300 3400 3500

329 changes: 329 additions & 0 deletions tests/unit_tests/mesh_to_vtk/cyl-data-curvilinear.vtk

Large diffs are not rendered by default.

41 changes: 41 additions & 0 deletions tests/unit_tests/mesh_to_vtk/cyl-data.vtk
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# vtk DataFile Version 5.1
vtk output
ASCII
DATASET STRUCTURED_GRID
DIMENSIONS 5 4 4
POINTS 80 double
10 10 -10 11.25 10 -10 12.5 10 -10
13.75 10 -10 15 10 -10 10 10 -10
9.375 11.082531755 -10 8.75 12.165063509 -10 8.125 13.247595264 -10
7.5 14.330127019 -10 10 10 -10 9.375 8.9174682453 -10
8.75 7.8349364905 -10 8.125 6.7524047358 -10 7.5 5.6698729811 -10
10 10 -10 11.25 10 -10 12.5 10 -10
13.75 10 -10 15 10 -10 10 10 -9.3333333333
11.25 10 -9.3333333333 12.5 10 -9.3333333333 13.75 10 -9.3333333333
15 10 -9.3333333333 10 10 -9.3333333333 9.375 11.082531755 -9.3333333333
8.75 12.165063509 -9.3333333333 8.125 13.247595264 -9.3333333333 7.5 14.330127019 -9.3333333333
10 10 -9.3333333333 9.375 8.9174682453 -9.3333333333 8.75 7.8349364905 -9.3333333333
8.125 6.7524047358 -9.3333333333 7.5 5.6698729811 -9.3333333333 10 10 -9.3333333333
11.25 10 -9.3333333333 12.5 10 -9.3333333333 13.75 10 -9.3333333333
15 10 -9.3333333333 10 10 -8.6666666667 11.25 10 -8.6666666667
12.5 10 -8.6666666667 13.75 10 -8.6666666667 15 10 -8.6666666667
10 10 -8.6666666667 9.375 11.082531755 -8.6666666667 8.75 12.165063509 -8.6666666667
8.125 13.247595264 -8.6666666667 7.5 14.330127019 -8.6666666667 10 10 -8.6666666667
9.375 8.9174682453 -8.6666666667 8.75 7.8349364905 -8.6666666667 8.125 6.7524047358 -8.6666666667
7.5 5.6698729811 -8.6666666667 10 10 -8.6666666667 11.25 10 -8.6666666667
12.5 10 -8.6666666667 13.75 10 -8.6666666667 15 10 -8.6666666667
10 10 -8 11.25 10 -8 12.5 10 -8
13.75 10 -8 15 10 -8 10 10 -8
9.375 11.082531755 -8 8.75 12.165063509 -8 8.125 13.247595264 -8
7.5 14.330127019 -8 10 10 -8 9.375 8.9174682453 -8
8.75 7.8349364905 -8 8.125 6.7524047358 -8 7.5 5.6698729811 -8
10 10 -8 11.25 10 -8 12.5 10 -8
13.75 10 -8 15 10 -8
CELL_DATA 36
FIELD FieldData 1
ascending_data 1 36 double
0 100 200 300 400 500 600 700 800
900 1000 1100 1200 1300 1400 1500 1600 1700
1800 1900 2000 2100 2200 2300 2400 2500 2600
2700 2800 2900 3000 3100 3200 3300 3400 3500

198 changes: 198 additions & 0 deletions tests/unit_tests/mesh_to_vtk/cylindrical-curvilinear.vtk
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
# vtk DataFile Version 5.1
vtk output
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 195 double
7.5 5.6698729811 -10 7.5 5.6698729811 -9.3333333333 7.5 5.6698729811 -8.6666666667
7.5 5.6698729811 -8 7.5 14.330127019 -10 7.5 14.330127019 -9.3333333333
7.5 14.330127019 -8.6666666667 7.5 14.330127019 -8 8.125 6.7524047358 -10
8.125 6.7524047358 -9.3333333333 8.125 6.7524047358 -8.6666666667 8.125 6.7524047358 -8
8.125 13.247595264 -10 8.125 13.247595264 -9.3333333333 8.125 13.247595264 -8.6666666667
8.125 13.247595264 -8 8.75 7.8349364905 -10 8.75 7.8349364905 -9.3333333333
8.75 7.8349364905 -8.6666666667 8.75 7.8349364905 -8 8.75 12.165063509 -10
8.75 12.165063509 -9.3333333333 8.75 12.165063509 -8.6666666667 8.75 12.165063509 -8
9.375 8.9174682453 -10 9.375 8.9174682453 -9.3333333333 9.375 8.9174682453 -8.6666666667
9.375 8.9174682453 -8 9.375 11.082531755 -10 9.375 11.082531755 -9.3333333333
9.375 11.082531755 -8.6666666667 9.375 11.082531755 -8 10 10 -10
10 10 -9.3333333333 10 10 -8.6666666667 10 10 -8
11.25 10 -10 11.25 10 -9.3333333333 11.25 10 -8.6666666667
11.25 10 -8 12.5 10 -10 12.5 10 -9.3333333333
12.5 10 -8.6666666667 12.5 10 -8 13.75 10 -10
13.75 10 -9.3333333333 13.75 10 -8.6666666667 13.75 10 -8
13.75 10 -10 13.75 10 -9.3333333333 13.75 10 -8.6666666667
13.75 10 -8 15 10 -10 15 10 -9.3333333333
15 10 -8.6666666667 15 10 -8 15 10 -10
15 10 -9.3333333333 15 10 -8.6666666667 15 10 -8
10.625 10 -10 11.875 10 -10 13.125 10 -10
14.375 10 -10 9.6875 10.541265877 -10 9.0625 11.623797632 -10
8.4375 12.706329387 -10 7.8125 13.788861142 -10 9.6875 9.4587341226 -10
9.0625 8.3762023679 -10 8.4375 7.2936706132 -10 7.8125 6.2111388584 -10
10.625 10 -9.3333333333 11.875 10 -9.3333333333 13.125 10 -9.3333333333
14.375 10 -9.3333333333 9.6875 10.541265877 -9.3333333333 9.0625 11.623797632 -9.3333333333
8.4375 12.706329387 -9.3333333333 7.8125 13.788861142 -9.3333333333 9.6875 9.4587341226 -9.3333333333
9.0625 8.3762023679 -9.3333333333 8.4375 7.2936706132 -9.3333333333 7.8125 6.2111388584 -9.3333333333
10.625 10 -8.6666666667 11.875 10 -8.6666666667 13.125 10 -8.6666666667
14.375 10 -8.6666666667 9.6875 10.541265877 -8.6666666667 9.0625 11.623797632 -8.6666666667
8.4375 12.706329387 -8.6666666667 7.8125 13.788861142 -8.6666666667 9.6875 9.4587341226 -8.6666666667
9.0625 8.3762023679 -8.6666666667 8.4375 7.2936706132 -8.6666666667 7.8125 6.2111388584 -8.6666666667
10.625 10 -8 11.875 10 -8 13.125 10 -8
14.375 10 -8 9.6875 10.541265877 -8 9.0625 11.623797632 -8
8.4375 12.706329387 -8 7.8125 13.788861142 -8 9.6875 9.4587341226 -8
9.0625 8.3762023679 -8 8.4375 7.2936706132 -8 7.8125 6.2111388584 -8
10.625 11.082531755 -10 11.25 12.165063509 -10 11.875 13.247595264 -10
12.5 14.330127019 -10 8.75 10 -10 7.5 10 -10
6.25 10 -10 5 10 -10 10.625 8.9174682453 -10
11.25 7.8349364905 -10 11.875 6.7524047358 -10 12.5 5.6698729811 -10
10.625 11.082531755 -9.3333333333 11.25 12.165063509 -9.3333333333 11.875 13.247595264 -9.3333333333
12.5 14.330127019 -9.3333333333 8.75 10 -9.3333333333 7.5 10 -9.3333333333
6.25 10 -9.3333333333 5 10 -9.3333333333 10.625 8.9174682453 -9.3333333333
11.25 7.8349364905 -9.3333333333 11.875 6.7524047358 -9.3333333333 12.5 5.6698729811 -9.3333333333
10.625 11.082531755 -8.6666666667 11.25 12.165063509 -8.6666666667 11.875 13.247595264 -8.6666666667
12.5 14.330127019 -8.6666666667 8.75 10 -8.6666666667 7.5 10 -8.6666666667
6.25 10 -8.6666666667 5 10 -8.6666666667 10.625 8.9174682453 -8.6666666667
11.25 7.8349364905 -8.6666666667 11.875 6.7524047358 -8.6666666667 12.5 5.6698729811 -8.6666666667
10.625 11.082531755 -8 11.25 12.165063509 -8 11.875 13.247595264 -8
12.5 14.330127019 -8 8.75 10 -8 7.5 10 -8
6.25 10 -8 5 10 -8 10.625 8.9174682453 -8
11.25 7.8349364905 -8 11.875 6.7524047358 -8 12.5 5.6698729811 -8
10 10 -9.6666666667 11.25 10 -9.6666666667 12.5 10 -9.6666666667
13.75 10 -9.6666666667 15 10 -9.6666666667 9.375 11.082531755 -9.6666666667
8.75 12.165063509 -9.6666666667 8.125 13.247595264 -9.6666666667 7.5 14.330127019 -9.6666666667
9.375 8.9174682453 -9.6666666667 8.75 7.8349364905 -9.6666666667 8.125 6.7524047358 -9.6666666667
7.5 5.6698729811 -9.6666666667 10 10 -9 11.25 10 -9
12.5 10 -9 13.75 10 -9 15 10 -9
9.375 11.082531755 -9 8.75 12.165063509 -9 8.125 13.247595264 -9
7.5 14.330127019 -9 9.375 8.9174682453 -9 8.75 7.8349364905 -9
8.125 6.7524047358 -9 7.5 5.6698729811 -9 10 10 -8.3333333333
11.25 10 -8.3333333333 12.5 10 -8.3333333333 13.75 10 -8.3333333333
15 10 -8.3333333333 9.375 11.082531755 -8.3333333333 8.75 12.165063509 -8.3333333333
8.125 13.247595264 -8.3333333333 7.5 14.330127019 -8.3333333333 9.375 8.9174682453 -8.3333333333
8.75 7.8349364905 -8.3333333333 8.125 6.7524047358 -8.3333333333 7.5 5.6698729811 -8.3333333333

CELLS 37 720
OFFSETS vtktypeint64
0 20 40 60 80 100 120 140 160
180 200 220 240 260 280 300 320 340
360 380 400 420 440 460 480 500 520
540 560 580 600 620 640 660 680 700
720
CONNECTIVITY vtktypeint64
32 36 28 32 33 37 29 33 60
108 64 32 72 120 76 33 156 157
161 156 36 40 20 28 37 41 21
29 61 109 65 108 73 121 77 120
157 158 162 161 40 44 12 20 41
45 13 21 62 110 66 109 74 122
78 121 158 159 163 162 44 52 4
12 45 53 5 13 63 111 67 110
75 123 79 122 159 160 164 163 32
28 24 32 33 29 25 33 64 112
68 32 76 124 80 33 156 161 165
156 28 20 16 24 29 21 17 25
65 113 69 112 77 125 81 124 161
162 166 165 20 12 8 16 21 13
9 17 66 114 70 113 78 126 82
125 162 163 167 166 12 4 0 8
13 5 1 9 67 115 71 114 79
127 83 126 163 164 168 167 32 24
36 32 33 25 37 33 68 116 60
32 80 128 72 33 156 165 157 156
24 16 40 36 25 17 41 37 69
117 61 116 81 129 73 128 165 166
158 157 16 8 44 40 17 9 45
41 70 118 62 117 82 130 74 129
166 167 159 158 8 0 52 44 9
1 53 45 71 119 63 118 83 131
75 130 167 168 160 159 33 37 29
33 34 38 30 34 72 120 76 33
84 132 88 34 169 170 174 169 37
41 21 29 38 42 22 30 73 121
77 120 85 133 89 132 170 171 175
174 41 45 13 21 42 46 14 22
74 122 78 121 86 134 90 133 171
172 176 175 45 53 5 13 46 54
6 14 75 123 79 122 87 135 91
134 172 173 177 176 33 29 25 33
34 30 26 34 76 124 80 33 88
136 92 34 169 174 178 169 29 21
17 25 30 22 18 26 77 125 81
124 89 137 93 136 174 175 179 178
21 13 9 17 22 14 10 18 78
126 82 125 90 138 94 137 175 176
180 179 13 5 1 9 14 6 2
10 79 127 83 126 91 139 95 138
176 177 181 180 33 25 37 33 34
26 38 34 80 128 72 33 92 140
84 34 169 178 170 169 25 17 41
37 26 18 42 38 81 129 73 128
93 141 85 140 178 179 171 170 17
9 45 41 18 10 46 42 82 130
74 129 94 142 86 141 179 180 172
171 9 1 53 45 10 2 54 46
83 131 75 130 95 143 87 142 180
181 173 172 34 38 30 34 35 39
31 35 84 132 88 34 96 144 100
35 182 183 187 182 38 42 22 30
39 43 23 31 85 133 89 132 97
145 101 144 183 184 188 187 42 46
14 22 43 47 15 23 86 134 90
133 98 146 102 145 184 185 189 188
46 54 6 14 47 55 7 15 87
135 91 134 99 147 103 146 185 186
190 189 34 30 26 34 35 31 27
35 88 136 92 34 100 148 104 35
182 187 191 182 30 22 18 26 31
23 19 27 89 137 93 136 101 149
105 148 187 188 192 191 22 14 10
18 23 15 11 19 90 138 94 137
102 150 106 149 188 189 193 192 14
6 2 10 15 7 3 11 91 139
95 138 103 151 107 150 189 190 194
193 34 26 38 34 35 27 39 35
92 140 84 34 104 152 96 35 182
191 183 182 26 18 42 38 27 19
43 39 93 141 85 140 105 153 97
152 191 192 184 183 18 10 46 42
19 11 47 43 94 142 86 141 106
154 98 153 192 193 185 184 10 2
54 46 11 3 55 47 95 143 87
142 107 155 99 154 193 194 186 185

CELL_TYPES 36
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25

33 changes: 33 additions & 0 deletions tests/unit_tests/mesh_to_vtk/cylindrical-linear.vtk
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# vtk DataFile Version 5.1
vtk output
ASCII
DATASET STRUCTURED_GRID
DIMENSIONS 5 4 4
POINTS 80 double
10 10 -10 11.25 10 -10 12.5 10 -10
13.75 10 -10 15 10 -10 10 10 -10
9.375 11.082531755 -10 8.75 12.165063509 -10 8.125 13.247595264 -10
7.5 14.330127019 -10 10 10 -10 9.375 8.9174682453 -10
8.75 7.8349364905 -10 8.125 6.7524047358 -10 7.5 5.6698729811 -10
10 10 -10 11.25 10 -10 12.5 10 -10
13.75 10 -10 15 10 -10 10 10 -9.3333333333
11.25 10 -9.3333333333 12.5 10 -9.3333333333 13.75 10 -9.3333333333
15 10 -9.3333333333 10 10 -9.3333333333 9.375 11.082531755 -9.3333333333
8.75 12.165063509 -9.3333333333 8.125 13.247595264 -9.3333333333 7.5 14.330127019 -9.3333333333
10 10 -9.3333333333 9.375 8.9174682453 -9.3333333333 8.75 7.8349364905 -9.3333333333
8.125 6.7524047358 -9.3333333333 7.5 5.6698729811 -9.3333333333 10 10 -9.3333333333
11.25 10 -9.3333333333 12.5 10 -9.3333333333 13.75 10 -9.3333333333
15 10 -9.3333333333 10 10 -8.6666666667 11.25 10 -8.6666666667
12.5 10 -8.6666666667 13.75 10 -8.6666666667 15 10 -8.6666666667
10 10 -8.6666666667 9.375 11.082531755 -8.6666666667 8.75 12.165063509 -8.6666666667
8.125 13.247595264 -8.6666666667 7.5 14.330127019 -8.6666666667 10 10 -8.6666666667
9.375 8.9174682453 -8.6666666667 8.75 7.8349364905 -8.6666666667 8.125 6.7524047358 -8.6666666667
7.5 5.6698729811 -8.6666666667 10 10 -8.6666666667 11.25 10 -8.6666666667
12.5 10 -8.6666666667 13.75 10 -8.6666666667 15 10 -8.6666666667
10 10 -8 11.25 10 -8 12.5 10 -8
13.75 10 -8 15 10 -8 10 10 -8
9.375 11.082531755 -8 8.75 12.165063509 -8 8.125 13.247595264 -8
7.5 14.330127019 -8 10 10 -8 9.375 8.9174682453 -8
8.75 7.8349364905 -8 8.125 6.7524047358 -8 7.5 5.6698729811 -8
10 10 -8 11.25 10 -8 12.5 10 -8
13.75 10 -8 15 10 -8
Loading

0 comments on commit 0fcb174

Please sign in to comment.