Skip to content

Commit 1015ac1

Browse files
authored
Merge pull request #300 from chcheng3/main
Loop: Check for symmetry boundaries in outermost interior loops
2 parents 43ffab3 + e698eae commit 1015ac1

10 files changed

+167
-163
lines changed

CarpetX/interface.ccl

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ USES INCLUDE HEADER: vect.hxx
1414
USES INCLUDE HEADER: loop.hxx
1515
USES INCLUDE HEADER: loop_device.hxx
1616

17+
INCLUDES HEADER: driver.hxx IN driver.hxx
1718
INCLUDES HEADER: reduction.hxx IN reduction.hxx
1819

1920

Loop/src/loop.hxx

+10-4
Original file line numberDiff line numberDiff line change
@@ -541,10 +541,13 @@ public:
541541
// AMReX), these do not belong in the outer boundary, but rather the interior.
542542
// This excludes ghost faces, but includes ghost edges/corners on non-ghost
543543
// faces. Loop over faces first, then edges, then corners. Modified from
544-
// loop_bnd.
544+
// loop_bnd. The additional argument is_sym_bnd is used to indicate whether
545+
// each boundary is a symmetry boundary. This symmetry information can be
546+
// provided by the PatchData object in the CarpetX driver.
545547
template <int CI, int CJ, int CK, int VS = 1, int N = 1, typename F>
546548
inline CCTK_KERNEL void
547549
loop_outermost_int(const vect<int, dim> &group_nghostzones,
550+
const vect<vect<bool, dim>, 2> &is_sym_bnd,
548551
const F &f) const {
549552
// boundary_box sets bnd_min and bnd_max
550553
vect<int, dim> bnd_min, bnd_max;
@@ -599,9 +602,12 @@ public:
599602
// True when point is on left/right boundary,
600603
// and vector is not parallel to a {face,corner,edge}
601604
// In either of the 3 directions
602-
if ((ni != 0 && bbox[ni < 0 ? 0 : 1][0]) ||
603-
(nj != 0 && bbox[nj < 0 ? 0 : 1][1]) ||
604-
(nk != 0 && bbox[nk < 0 ? 0 : 1][2])) {
605+
if ((ni != 0 && bbox[ni < 0 ? 0 : 1][0] &&
606+
!is_sym_bnd[ni < 0 ? 0 : 1][0]) ||
607+
(nj != 0 && bbox[nj < 0 ? 0 : 1][1] &&
608+
!is_sym_bnd[nj < 0 ? 0 : 1][1]) ||
609+
(nk != 0 && bbox[nk < 0 ? 0 : 1][2] &&
610+
!is_sym_bnd[nk < 0 ? 0 : 1][2])) {
605611

606612
const vect<int, dim> inormal{ni, nj, nk}; // normal vector
607613

Loop/src/loop_device.hxx

+10-4
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,14 @@ public:
270270
// AMReX), these do not belong in the outer boundary, but rather the interior.
271271
// This excludes ghost faces, but includes ghost edges/corners on non-ghost
272272
// faces. Loop over faces first, then edges, then corners. Modified from
273-
// loop_bnd_device.
273+
// loop_bnd_device. The additional argument is_sym_bnd is used to indicate
274+
// whether each boundary is a symmetry boundary. This symmetry information can
275+
// be provided by the PatchData object in the CarpetX driver.
274276
template <int CI, int CJ, int CK, int VS = 1, int N = 1,
275277
int NT = AMREX_GPU_MAX_THREADS, typename F>
276278
inline CCTK_KERNEL void
277279
loop_outermost_int_device(const vect<int, dim> &group_nghostzones,
280+
const vect<vect<bool, dim>, 2> &is_sym_bnd,
278281
const F &f) const {
279282
// boundary_box sets bnd_min and bnd_max
280283
vect<int, dim> bnd_min, bnd_max;
@@ -329,9 +332,12 @@ public:
329332
// True when point is on left/right boundary,
330333
// and vector is not parallel to a {face,corner,edge}
331334
// In either of the 3 directions
332-
if ((ni != 0 && bbox[ni < 0 ? 0 : 1][0]) ||
333-
(nj != 0 && bbox[nj < 0 ? 0 : 1][1]) ||
334-
(nk != 0 && bbox[nk < 0 ? 0 : 1][2])) {
335+
if ((ni != 0 && bbox[ni < 0 ? 0 : 1][0] &&
336+
!is_sym_bnd[ni < 0 ? 0 : 1][0]) ||
337+
(nj != 0 && bbox[nj < 0 ? 0 : 1][1] &&
338+
!is_sym_bnd[nj < 0 ? 0 : 1][1]) ||
339+
(nk != 0 && bbox[nk < 0 ? 0 : 1][2] &&
340+
!is_sym_bnd[nk < 0 ? 0 : 1][2])) {
335341

336342
const vect<int, dim> inormal{ni, nj, nk}; // normal vector
337343

TestLoopX/configuration.ccl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Configuration definitions for thorn TestLoopX
22

3-
REQUIRES Loop
3+
REQUIRES CarpetX Loop

TestLoopX/interface.ccl

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Interface definition for thorn TestLoopX
22
IMPLEMENTS: TestLoopX
33

4+
USES INCLUDE HEADER: driver.hxx
45
USES INCLUDE HEADER: loop.hxx
56
USES INCLUDE HEADER: loop_device.hxx
67

TestLoopX/src/testloop.cxx

+16-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <cctk_Parameters.h>
44
#include <loop.hxx>
55
#include <loop_device.hxx>
6+
#include <driver.hxx>
67

78
namespace TestLoopX {
89
using namespace Loop;
@@ -27,15 +28,28 @@ extern "C" void TestLoopX_OutermostInterior(CCTK_ARGUMENTS) {
2728
DECLARE_CCTK_ARGUMENTSX_TestLoopX_OutermostInterior;
2829
DECLARE_CCTK_PARAMETERS;
2930

31+
const auto symmetries = CarpetX::ghext->patchdata.at(cctk_patch).symmetries;
32+
const vect<vect<bool, Loop::dim>, 2> is_sym_bnd {
33+
{
34+
symmetries[0][0] != CarpetX::symmetry_t::none,
35+
symmetries[0][1] != CarpetX::symmetry_t::none,
36+
symmetries[0][2] != CarpetX::symmetry_t::none
37+
},
38+
{
39+
symmetries[1][0] != CarpetX::symmetry_t::none,
40+
symmetries[1][1] != CarpetX::symmetry_t::none,
41+
symmetries[1][2] != CarpetX::symmetry_t::none
42+
}
43+
};
3044
grid.loop_outermost_int<0, 0, 0>(
31-
grid.nghostzones,
45+
grid.nghostzones, is_sym_bnd,
3246
[=] CCTK_DEVICE CCTK_HOST(const PointDesc &p)
3347
CCTK_ATTRIBUTE_ALWAYS_INLINE {
3448
testloop_gf(p.I) += 10.0;
3549
});
3650

3751
grid.loop_outermost_int_device<0, 0, 0>(
38-
grid.nghostzones,
52+
grid.nghostzones, is_sym_bnd,
3953
[=] CCTK_DEVICE CCTK_HOST(const PointDesc &p)
4054
CCTK_ATTRIBUTE_ALWAYS_INLINE {
4155
testloop_gf(p.I) += 1.0;

TestLoopX/test/testloopx_outermost_interior.par

+27-11
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,37 @@ Cactus::cctk_itlast = 0
1212
CarpetX::verbose = "no"
1313
CarpetX::poison_undefined_values = "yes"
1414

15-
CarpetX::xmin = -10
16-
CarpetX::ymin = -10
17-
CarpetX::zmin = -10
18-
CarpetX::xmax = +10
19-
CarpetX::ymax = +10
20-
CarpetX::zmax = +10
15+
CarpetX::xmin = -8
16+
CarpetX::ymin = -8
17+
CarpetX::zmin = 0
18+
CarpetX::xmax = +8
19+
CarpetX::ymax = +8
20+
CarpetX::zmax = +8
21+
22+
CarpetX::boundary_x = "none"
23+
CarpetX::boundary_y = "dirichlet"
24+
CarpetX::boundary_z = "none"
25+
26+
CarpetX::boundary_upper_x = "none"
27+
CarpetX::boundary_upper_y = "dirichlet"
28+
CarpetX::boundary_upper_z = "dirichlet"
29+
30+
CarpetX::reflection_x = "no"
31+
CarpetX::reflection_y = "no"
32+
CarpetX::reflection_z = "yes"
33+
34+
CarpetX::reflection_upper_x = "no"
35+
CarpetX::reflection_upper_y = "no"
36+
CarpetX::reflection_upper_z = "no"
2137

2238
Driver::periodic = "yes"
2339
Driver::periodic_x = "yes"
24-
Driver::periodic_y = "yes"
25-
Driver::periodic_z = "yes"
40+
Driver::periodic_y = "no"
41+
Driver::periodic_z = "no"
2642

27-
CarpetX::ncells_x = 40
28-
CarpetX::ncells_y = 40
29-
CarpetX::ncells_z = 40
43+
CarpetX::ncells_x = 32
44+
CarpetX::ncells_y = 32
45+
CarpetX::ncells_z = 16
3046

3147
CarpetX::max_num_levels = 1
3248
CarpetX::regrid_every = 1
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,40 @@
11
# 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:testloop_gf
2-
0 0.0000000000000000e+00 0 0 -3 20 20 -1.1500000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
3-
0 0.0000000000000000e+00 0 0 -2 20 20 -1.1000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
4-
0 0.0000000000000000e+00 0 0 -1 20 20 -1.0500000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
5-
0 0.0000000000000000e+00 0 0 0 20 20 -1.0000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
6-
0 0.0000000000000000e+00 0 0 1 20 20 -9.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
7-
0 0.0000000000000000e+00 0 0 2 20 20 -9.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
8-
0 0.0000000000000000e+00 0 0 3 20 20 -8.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
9-
0 0.0000000000000000e+00 0 0 4 20 20 -8.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
10-
0 0.0000000000000000e+00 0 0 5 20 20 -7.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
11-
0 0.0000000000000000e+00 0 0 6 20 20 -7.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
12-
0 0.0000000000000000e+00 0 0 7 20 20 -6.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
13-
0 0.0000000000000000e+00 0 0 8 20 20 -6.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
14-
0 0.0000000000000000e+00 0 0 9 20 20 -5.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
15-
0 0.0000000000000000e+00 0 0 10 20 20 -5.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
16-
0 0.0000000000000000e+00 0 0 11 20 20 -4.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
17-
0 0.0000000000000000e+00 0 0 12 20 20 -4.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
18-
0 0.0000000000000000e+00 0 0 13 20 20 -3.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
19-
0 0.0000000000000000e+00 0 0 14 20 20 -3.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
20-
0 0.0000000000000000e+00 0 0 15 20 20 -2.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
21-
0 0.0000000000000000e+00 0 0 16 20 20 -2.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
22-
0 0.0000000000000000e+00 0 0 17 20 20 -1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
23-
0 0.0000000000000000e+00 0 0 18 20 20 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
24-
0 0.0000000000000000e+00 0 0 19 20 20 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
25-
0 0.0000000000000000e+00 0 0 20 20 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
26-
0 0.0000000000000000e+00 0 0 21 20 20 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
27-
0 0.0000000000000000e+00 0 0 22 20 20 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
28-
0 0.0000000000000000e+00 0 0 23 20 20 1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
29-
0 0.0000000000000000e+00 0 0 24 20 20 2.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
30-
0 0.0000000000000000e+00 0 0 25 20 20 2.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
31-
0 0.0000000000000000e+00 0 0 26 20 20 3.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
32-
0 0.0000000000000000e+00 0 0 27 20 20 3.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
33-
0 0.0000000000000000e+00 0 0 28 20 20 4.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
34-
0 0.0000000000000000e+00 0 0 29 20 20 4.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
35-
0 0.0000000000000000e+00 0 0 30 20 20 5.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
36-
0 0.0000000000000000e+00 0 0 31 20 20 5.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
37-
0 0.0000000000000000e+00 0 0 32 20 20 6.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
38-
0 0.0000000000000000e+00 0 0 33 20 20 6.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
39-
0 0.0000000000000000e+00 0 0 34 20 20 7.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
40-
0 0.0000000000000000e+00 0 0 35 20 20 7.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
41-
0 0.0000000000000000e+00 0 0 36 20 20 8.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
42-
0 0.0000000000000000e+00 0 0 37 20 20 8.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
43-
0 0.0000000000000000e+00 0 0 38 20 20 9.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
44-
0 0.0000000000000000e+00 0 0 39 20 20 9.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
45-
0 0.0000000000000000e+00 0 0 40 20 20 1.0000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
46-
0 0.0000000000000000e+00 0 0 41 20 20 1.0500000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
47-
0 0.0000000000000000e+00 0 0 42 20 20 1.1000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1000000000000000e+01
48-
0 0.0000000000000000e+00 0 0 43 20 20 1.1500000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
2+
0 0.0000000000000000e+00 0 0 -3 16 0 -9.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
3+
0 0.0000000000000000e+00 0 0 -2 16 0 -9.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
4+
0 0.0000000000000000e+00 0 0 -1 16 0 -8.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
5+
0 0.0000000000000000e+00 0 0 0 16 0 -8.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
6+
0 0.0000000000000000e+00 0 0 1 16 0 -7.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
7+
0 0.0000000000000000e+00 0 0 2 16 0 -7.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
8+
0 0.0000000000000000e+00 0 0 3 16 0 -6.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
9+
0 0.0000000000000000e+00 0 0 4 16 0 -6.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
10+
0 0.0000000000000000e+00 0 0 5 16 0 -5.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
11+
0 0.0000000000000000e+00 0 0 6 16 0 -5.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
12+
0 0.0000000000000000e+00 0 0 7 16 0 -4.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
13+
0 0.0000000000000000e+00 0 0 8 16 0 -4.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
14+
0 0.0000000000000000e+00 0 0 9 16 0 -3.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
15+
0 0.0000000000000000e+00 0 0 10 16 0 -3.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
16+
0 0.0000000000000000e+00 0 0 11 16 0 -2.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
17+
0 0.0000000000000000e+00 0 0 12 16 0 -2.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
18+
0 0.0000000000000000e+00 0 0 13 16 0 -1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
19+
0 0.0000000000000000e+00 0 0 14 16 0 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
20+
0 0.0000000000000000e+00 0 0 15 16 0 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
21+
0 0.0000000000000000e+00 0 0 16 16 0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
22+
0 0.0000000000000000e+00 0 0 17 16 0 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
23+
0 0.0000000000000000e+00 0 0 18 16 0 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
24+
0 0.0000000000000000e+00 0 0 19 16 0 1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
25+
0 0.0000000000000000e+00 0 0 20 16 0 2.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
26+
0 0.0000000000000000e+00 0 0 21 16 0 2.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
27+
0 0.0000000000000000e+00 0 0 22 16 0 3.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
28+
0 0.0000000000000000e+00 0 0 23 16 0 3.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
29+
0 0.0000000000000000e+00 0 0 24 16 0 4.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
30+
0 0.0000000000000000e+00 0 0 25 16 0 4.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
31+
0 0.0000000000000000e+00 0 0 26 16 0 5.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
32+
0 0.0000000000000000e+00 0 0 27 16 0 5.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
33+
0 0.0000000000000000e+00 0 0 28 16 0 6.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
34+
0 0.0000000000000000e+00 0 0 29 16 0 6.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
35+
0 0.0000000000000000e+00 0 0 30 16 0 7.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
36+
0 0.0000000000000000e+00 0 0 31 16 0 7.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
37+
0 0.0000000000000000e+00 0 0 32 16 0 8.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
38+
0 0.0000000000000000e+00 0 0 33 16 0 8.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
39+
0 0.0000000000000000e+00 0 0 34 16 0 9.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
40+
0 0.0000000000000000e+00 0 0 35 16 0 9.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00

0 commit comments

Comments
 (0)