From 6e464ee12e243b73cfdb1d47e693ce84c8dfd553 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Wed, 9 Nov 2011 16:53:20 -0500 Subject: CarpetMask: Keep track of the volume that is masked out Keep track of the volume that is masked out by CarpetMask, and take this volume into account when checking in CarpetReduce that the integral over the simulation domain equals the domain volume. --- Carpet/CarpetReduce/interface.ccl | 4 ++ Carpet/CarpetReduce/schedule.ccl | 11 +++- Carpet/CarpetReduce/src/mask_allocate.c | 3 + Carpet/CarpetReduce/src/mask_test.c | 25 ++++++-- Carpet/CarpetReduce/test/nonstaggered_excl.par | 69 +++++++++++++++++++++ .../test/nonstaggered_excl/weight..asc | 8 +++ .../test/nonstaggered_excl/weight.d.asc | 41 +++++++++++++ .../test/nonstaggered_excl/weight.x.asc | 41 +++++++++++++ .../test/nonstaggered_excl/weight.y.asc | 71 ++++++++++++++++++++++ .../test/nonstaggered_excl/weight.z.asc | 59 ++++++++++++++++++ 10 files changed, 325 insertions(+), 7 deletions(-) create mode 100644 Carpet/CarpetReduce/test/nonstaggered_excl.par create mode 100644 Carpet/CarpetReduce/test/nonstaggered_excl/weight..asc create mode 100644 Carpet/CarpetReduce/test/nonstaggered_excl/weight.d.asc create mode 100644 Carpet/CarpetReduce/test/nonstaggered_excl/weight.x.asc create mode 100644 Carpet/CarpetReduce/test/nonstaggered_excl/weight.y.asc create mode 100644 Carpet/CarpetReduce/test/nonstaggered_excl/weight.z.asc (limited to 'Carpet/CarpetReduce') diff --git a/Carpet/CarpetReduce/interface.ccl b/Carpet/CarpetReduce/interface.ccl index fdbf627b3..f75460de5 100644 --- a/Carpet/CarpetReduce/interface.ccl +++ b/Carpet/CarpetReduce/interface.ccl @@ -17,6 +17,8 @@ uses include header: typeprops.hh uses include header: loopcontrol.h +includes header: bits.h IN CarpetReduce_bits.h + CCTK_INT FUNCTION \ @@ -90,3 +92,5 @@ INT iweight TYPE=gf TAGS='prolongation="none" InterpNumTimelevels=1 checkpoint=" REAL weight TYPE=gf TAGS='prolongation="none" InterpNumTimelevels=1 checkpoint="no"' "Weight function" REAL one TYPE=gf TAGS='prolongation="none" InterpNumTimelevels=1 checkpoint="no"' "Constant one" + +CCTK_REAL excised_cells TYPE=scalar TAGS='checkpoint="no"' "Excised (ignored) volume in the simulation domain, in terms of coarse grid cells" diff --git a/Carpet/CarpetReduce/schedule.ccl b/Carpet/CarpetReduce/schedule.ccl index cecc8500a..910f7872d 100644 --- a/Carpet/CarpetReduce/schedule.ccl +++ b/Carpet/CarpetReduce/schedule.ccl @@ -9,6 +9,7 @@ schedule CarpetReduceStartup at STARTUP # Should this move to a new thorn MaskBase? STORAGE: weight +STORAGE: excised_cells @@ -50,7 +51,11 @@ SCHEDULE MaskBase_InitMask IN MaskBase_SetupMaskAll AFTER MaskBase_AllocateMask OPTIONS: global loop-local } "Initialise the weight function" -SCHEDULE GROUP SetupIMask IN MaskBase_SetupMaskAll AFTER MaskBase_InitMask +SCHEDULE GROUP SetupIMaskInternal IN MaskBase_SetupMaskAll AFTER MaskBase_InitMask +{ +} "Set up the integer weight function (schedule other routines in here)" + +SCHEDULE GROUP SetupIMask IN MaskBase_SetupMaskAll AFTER SetupIMaskInternal { } "Set up the integer weight function (schedule other routines in here)" @@ -73,14 +78,14 @@ SCHEDULE MaskBase_TestMask IN MaskBase_SetupMaskAll AFTER SetupMask # Should this move to CoordBase? -SCHEDULE CoordBase_SetupMask IN SetupIMask +SCHEDULE CoordBase_SetupMask IN SetupIMaskInternal { LANG: C OPTIONS: global loop-local } "Set up the outer boundaries of the weight function" # Should this move to CarpetMask? -SCHEDULE CarpetMaskSetup IN SetupIMask +SCHEDULE CarpetMaskSetup IN SetupIMaskInternal { LANG: C OPTIONS: global loop-singlemap diff --git a/Carpet/CarpetReduce/src/mask_allocate.c b/Carpet/CarpetReduce/src/mask_allocate.c index 1219b7b95..c1c28afeb 100644 --- a/Carpet/CarpetReduce/src/mask_allocate.c +++ b/Carpet/CarpetReduce/src/mask_allocate.c @@ -17,4 +17,7 @@ MaskBase_AllocateMask (CCTK_ARGUMENTS) CCTK_EnableGroupStorage (cctkGH, "CarpetReduce::iweight"); CCTK_EnableGroupStorage (cctkGH, "CarpetReduce::one"); + + /* Initialise excised cell count */ + * excised_cells = 0.0; } diff --git a/Carpet/CarpetReduce/src/mask_test.c b/Carpet/CarpetReduce/src/mask_test.c index 82fa4f306..8725291a8 100644 --- a/Carpet/CarpetReduce/src/mask_test.c +++ b/Carpet/CarpetReduce/src/mask_test.c @@ -31,7 +31,7 @@ MaskBase_TestMask (CCTK_ARGUMENTS) assert (weight_var >= 0); assert (one_var >= 0); - CCTK_REAL sum_weight; + CCTK_REAL sum_weight, all_excised_cells; { int const ierr = CCTK_Reduce (cctkGH, @@ -41,6 +41,16 @@ MaskBase_TestMask (CCTK_ARGUMENTS) 1, one_var); assert (ierr >= 0); } + { + int const ierr = CCTK_ReduceLocalScalar (cctkGH, + proc, + sum, + excised_cells, + &all_excised_cells, + CCTK_VARIABLE_REAL); + assert (ierr >= 0); + *excised_cells = all_excised_cells; + } @@ -102,9 +112,14 @@ MaskBase_TestMask (CCTK_ARGUMENTS) } /* for m */ + /* Don't count excised regions towards the domain volume */ + domain_volume -= * excised_cells; + if (verbose) { CCTK_VInfo (CCTK_THORNSTRING, - "Simulation domain volume: %.17g", (double)domain_volume); + "Simulation domain volume: %.17g", (double)domain_volume); + CCTK_VInfo (CCTK_THORNSTRING, + "Additional excised volume: %.17g", (double)*excised_cells); } int const there_is_a_problem = @@ -113,9 +128,11 @@ MaskBase_TestMask (CCTK_ARGUMENTS) if (there_is_a_problem) { if (!verbose) { CCTK_VInfo (CCTK_THORNSTRING, - "Simulation domain volume: %.15g", (double)domain_volume); + "Simulation domain volume: %.17g", (double)domain_volume); + CCTK_VInfo (CCTK_THORNSTRING, + "Additional excised volume: %.17g", (double)*excised_cells); CCTK_VInfo (CCTK_THORNSTRING, - "Reduction weight sum: %.15g", (double)sum_weight); + "Reduction weight sum: %.17g", (double)sum_weight); } CCTK_VWarn (CCTK_WARN_ALERT, __LINE__, __FILE__, CCTK_THORNSTRING, "Simulation domain volume and reduction weight sum differ"); diff --git a/Carpet/CarpetReduce/test/nonstaggered_excl.par b/Carpet/CarpetReduce/test/nonstaggered_excl.par new file mode 100644 index 000000000..3e96a09a0 --- /dev/null +++ b/Carpet/CarpetReduce/test/nonstaggered_excl.par @@ -0,0 +1,69 @@ +ActiveThorns = "IOUtil Boundary CartGrid3D CoordBase SymBase MoL InitBase" +ActiveThorns = "Carpet CarpetLib CarpetInterp GSL LoopControl CarpetReduce CarpetSlab" + +#---Geometry--- + +CoordBase::domainsize = minmax +CoordBase::spacing = numcells +CartGrid3D::type = coordbase +driver::ghost_size = 3 +Carpet::domain_from_coordbase = yes +Carpet::convergence_level = 0 + +CoordBase::ncells_x = 11 +CoordBase::xmin = -1 +CoordBase::xmax = 1 +CoordBase::boundary_size_x_lower = 0 +CoordBase::boundary_size_x_upper = 0 +CoordBase::boundary_staggered_x_lower = True +CoordBase::boundary_staggered_x_upper = True +CoordBase::boundary_shiftout_x_lower = 0 +CoordBase::boundary_shiftout_x_upper = 0 + +CoordBase::ncells_y = 14 +CoordBase::ymin = -1 +CoordBase::ymax = 1 +CoordBase::boundary_size_y_lower = 3 +CoordBase::boundary_size_y_upper = 3 +CoordBase::boundary_staggered_y_lower = False +CoordBase::boundary_staggered_y_upper = False +CoordBase::boundary_shiftout_y_lower = 1 +CoordBase::boundary_shiftout_y_upper = 1 + +CoordBase::ncells_z = 14 +CoordBase::zmin = 0 +CoordBase::zmax = 1 +CoordBase::boundary_size_z_lower = 2 +CoordBase::boundary_size_z_upper = 2 +CoordBase::boundary_staggered_z_lower = False +CoordBase::boundary_staggered_z_upper = False +CoordBase::boundary_shiftout_z_lower = 0 +CoordBase::boundary_shiftout_z_upper = 0 + +#---Evolution--- + +Cactus::terminate = iteration +Cactus::cctk_itlast = 2 + +#---exlude sphere--- +ActiveThorns = "SphericalSurface CarpetMask" +SphericalSurface::nsurfaces = 1 +SphericalSurface::set_spherical[0] = yes +SphericalSurface::radius[0] = 0.5 +CarpetMask::excluded_surface[0] = 0 # -1 to ignore + + +#---Output--- + +ActiveThorns = "CarpetIOASCII CarpetIOBasic" +IO::out_dir = $parfile +IO::parfile_write = "no" +IO::out_fileinfo = "none" +IOBasic::outInfo_every = 1 +Cactus::cctk_full_warnings = yes +Carpet::print_timestats_every = 0 +CarpetReduce::verbose = yes +IOASCII::out1D_every = 1 +IOASCII::out0D_every = 1 +IOASCII::out1D_vars = "CarpetReduce::weight" +IOASCII::out0D_vars = "CarpetReduce::weight" diff --git a/Carpet/CarpetReduce/test/nonstaggered_excl/weight..asc b/Carpet/CarpetReduce/test/nonstaggered_excl/weight..asc new file mode 100644 index 000000000..3901e710d --- /dev/null +++ b/Carpet/CarpetReduce/test/nonstaggered_excl/weight..asc @@ -0,0 +1,8 @@ +# 0D ASCII output created by CarpetIOASCII +# +0 0 0 0 0 5 10 1 0 0 0 0 0 + +1 0 0 0 0 5 10 1 1 0 0 0 0 + +2 0 0 0 0 5 10 1 2 0 0 0 0 + diff --git a/Carpet/CarpetReduce/test/nonstaggered_excl/weight.d.asc b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.d.asc new file mode 100644 index 000000000..ed836c621 --- /dev/null +++ b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.d.asc @@ -0,0 +1,41 @@ +# 1D ASCII output created by CarpetIOASCII +# +0 0 0 0 0 0 0 0 0 -0.909090909090909 -1.42857142857143 -0.0714285714285714 0 +0 0 0 0 0 1 1 1 0 -0.727272727272727 -1.28571428571429 0 0 +0 0 0 0 0 2 2 2 0 -0.545454545454545 -1.14285714285714 0.0714285714285714 0 +0 0 0 0 0 3 3 3 0 -0.363636363636364 -1 0.142857142857143 0.5 +0 0 0 0 0 4 4 4 0 -0.181818181818182 -0.857142857142857 0.214285714285714 1 +0 0 0 0 0 5 5 5 0 0 -0.714285714285714 0.285714285714286 1 +0 0 0 0 0 6 6 6 0 0.181818181818182 -0.571428571428571 0.357142857142857 1 +0 0 0 0 0 7 7 7 0 0.363636363636364 -0.428571428571429 0.428571428571429 1 +0 0 0 0 0 8 8 8 0 0.545454545454545 -0.285714285714286 0.5 1 +0 0 0 0 0 9 9 9 0 0.727272727272727 -0.142857142857143 0.571428571428571 1 +0 0 0 0 0 10 10 10 0 0.909090909090909 0 0.642857142857143 1 + + +1 0 0 0 0 0 0 0 1 -0.909090909090909 -1.42857142857143 -0.0714285714285714 0 +1 0 0 0 0 1 1 1 1 -0.727272727272727 -1.28571428571429 0 0 +1 0 0 0 0 2 2 2 1 -0.545454545454545 -1.14285714285714 0.0714285714285714 0 +1 0 0 0 0 3 3 3 1 -0.363636363636364 -1 0.142857142857143 0.5 +1 0 0 0 0 4 4 4 1 -0.181818181818182 -0.857142857142857 0.214285714285714 1 +1 0 0 0 0 5 5 5 1 0 -0.714285714285714 0.285714285714286 1 +1 0 0 0 0 6 6 6 1 0.181818181818182 -0.571428571428571 0.357142857142857 1 +1 0 0 0 0 7 7 7 1 0.363636363636364 -0.428571428571429 0.428571428571429 1 +1 0 0 0 0 8 8 8 1 0.545454545454545 -0.285714285714286 0.5 1 +1 0 0 0 0 9 9 9 1 0.727272727272727 -0.142857142857143 0.571428571428571 1 +1 0 0 0 0 10 10 10 1 0.909090909090909 0 0.642857142857143 1 + + +2 0 0 0 0 0 0 0 2 -0.909090909090909 -1.42857142857143 -0.0714285714285714 0 +2 0 0 0 0 1 1 1 2 -0.727272727272727 -1.28571428571429 0 0 +2 0 0 0 0 2 2 2 2 -0.545454545454545 -1.14285714285714 0.0714285714285714 0 +2 0 0 0 0 3 3 3 2 -0.363636363636364 -1 0.142857142857143 0.5 +2 0 0 0 0 4 4 4 2 -0.181818181818182 -0.857142857142857 0.214285714285714 1 +2 0 0 0 0 5 5 5 2 0 -0.714285714285714 0.285714285714286 1 +2 0 0 0 0 6 6 6 2 0.181818181818182 -0.571428571428571 0.357142857142857 1 +2 0 0 0 0 7 7 7 2 0.363636363636364 -0.428571428571429 0.428571428571429 1 +2 0 0 0 0 8 8 8 2 0.545454545454545 -0.285714285714286 0.5 1 +2 0 0 0 0 9 9 9 2 0.727272727272727 -0.142857142857143 0.571428571428571 1 +2 0 0 0 0 10 10 10 2 0.909090909090909 0 0.642857142857143 1 + + diff --git a/Carpet/CarpetReduce/test/nonstaggered_excl/weight.x.asc b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.x.asc new file mode 100644 index 000000000..821556042 --- /dev/null +++ b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.x.asc @@ -0,0 +1,41 @@ +# 1D ASCII output created by CarpetIOASCII +# +0 0 0 0 0 0 10 1 0 -0.909090909090909 0 0 0.5 +0 0 0 0 0 1 10 1 0 -0.727272727272727 0 0 0.5 +0 0 0 0 0 2 10 1 0 -0.545454545454545 0 0 0.5 +0 0 0 0 0 3 10 1 0 -0.363636363636364 0 0 0 +0 0 0 0 0 4 10 1 0 -0.181818181818182 0 0 0 +0 0 0 0 0 5 10 1 0 0 0 0 0 +0 0 0 0 0 6 10 1 0 0.181818181818182 0 0 0 +0 0 0 0 0 7 10 1 0 0.363636363636364 0 0 0 +0 0 0 0 0 8 10 1 0 0.545454545454545 0 0 0.5 +0 0 0 0 0 9 10 1 0 0.727272727272727 0 0 0.5 +0 0 0 0 0 10 10 1 0 0.909090909090909 0 0 0.5 + + +1 0 0 0 0 0 10 1 1 -0.909090909090909 0 0 0.5 +1 0 0 0 0 1 10 1 1 -0.727272727272727 0 0 0.5 +1 0 0 0 0 2 10 1 1 -0.545454545454545 0 0 0.5 +1 0 0 0 0 3 10 1 1 -0.363636363636364 0 0 0 +1 0 0 0 0 4 10 1 1 -0.181818181818182 0 0 0 +1 0 0 0 0 5 10 1 1 0 0 0 0 +1 0 0 0 0 6 10 1 1 0.181818181818182 0 0 0 +1 0 0 0 0 7 10 1 1 0.363636363636364 0 0 0 +1 0 0 0 0 8 10 1 1 0.545454545454545 0 0 0.5 +1 0 0 0 0 9 10 1 1 0.727272727272727 0 0 0.5 +1 0 0 0 0 10 10 1 1 0.909090909090909 0 0 0.5 + + +2 0 0 0 0 0 10 1 2 -0.909090909090909 0 0 0.5 +2 0 0 0 0 1 10 1 2 -0.727272727272727 0 0 0.5 +2 0 0 0 0 2 10 1 2 -0.545454545454545 0 0 0.5 +2 0 0 0 0 3 10 1 2 -0.363636363636364 0 0 0 +2 0 0 0 0 4 10 1 2 -0.181818181818182 0 0 0 +2 0 0 0 0 5 10 1 2 0 0 0 0 +2 0 0 0 0 6 10 1 2 0.181818181818182 0 0 0 +2 0 0 0 0 7 10 1 2 0.363636363636364 0 0 0 +2 0 0 0 0 8 10 1 2 0.545454545454545 0 0 0.5 +2 0 0 0 0 9 10 1 2 0.727272727272727 0 0 0.5 +2 0 0 0 0 10 10 1 2 0.909090909090909 0 0 0.5 + + diff --git a/Carpet/CarpetReduce/test/nonstaggered_excl/weight.y.asc b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.y.asc new file mode 100644 index 000000000..6260ee906 --- /dev/null +++ b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.y.asc @@ -0,0 +1,71 @@ +# 1D ASCII output created by CarpetIOASCII +# +0 0 0 0 0 5 0 1 0 0 -1.42857142857143 0 0 +0 0 0 0 0 5 1 1 0 0 -1.28571428571429 0 0 +0 0 0 0 0 5 2 1 0 0 -1.14285714285714 0 0 +0 0 0 0 0 5 3 1 0 0 -1 0 0.25 +0 0 0 0 0 5 4 1 0 0 -0.857142857142857 0 0.5 +0 0 0 0 0 5 5 1 0 0 -0.714285714285714 0 0.5 +0 0 0 0 0 5 6 1 0 0 -0.571428571428571 0 0.5 +0 0 0 0 0 5 7 1 0 0 -0.428571428571429 0 0 +0 0 0 0 0 5 8 1 0 0 -0.285714285714286 0 0 +0 0 0 0 0 5 9 1 0 0 -0.142857142857143 0 0 +0 0 0 0 0 5 10 1 0 0 0 0 0 +0 0 0 0 0 5 11 1 0 0 0.142857142857143 0 0 +0 0 0 0 0 5 12 1 0 0 0.285714285714286 0 0 +0 0 0 0 0 5 13 1 0 0 0.428571428571429 0 0 +0 0 0 0 0 5 14 1 0 0 0.571428571428571 0 0.5 +0 0 0 0 0 5 15 1 0 0 0.714285714285714 0 0.5 +0 0 0 0 0 5 16 1 0 0 0.857142857142857 0 0.5 +0 0 0 0 0 5 17 1 0 0 1 0 0.25 +0 0 0 0 0 5 18 1 0 0 1.14285714285714 0 0 +0 0 0 0 0 5 19 1 0 0 1.28571428571429 0 0 +0 0 0 0 0 5 20 1 0 0 1.42857142857143 0 0 + + +1 0 0 0 0 5 0 1 1 0 -1.42857142857143 0 0 +1 0 0 0 0 5 1 1 1 0 -1.28571428571429 0 0 +1 0 0 0 0 5 2 1 1 0 -1.14285714285714 0 0 +1 0 0 0 0 5 3 1 1 0 -1 0 0.25 +1 0 0 0 0 5 4 1 1 0 -0.857142857142857 0 0.5 +1 0 0 0 0 5 5 1 1 0 -0.714285714285714 0 0.5 +1 0 0 0 0 5 6 1 1 0 -0.571428571428571 0 0.5 +1 0 0 0 0 5 7 1 1 0 -0.428571428571429 0 0 +1 0 0 0 0 5 8 1 1 0 -0.285714285714286 0 0 +1 0 0 0 0 5 9 1 1 0 -0.142857142857143 0 0 +1 0 0 0 0 5 10 1 1 0 0 0 0 +1 0 0 0 0 5 11 1 1 0 0.142857142857143 0 0 +1 0 0 0 0 5 12 1 1 0 0.285714285714286 0 0 +1 0 0 0 0 5 13 1 1 0 0.428571428571429 0 0 +1 0 0 0 0 5 14 1 1 0 0.571428571428571 0 0.5 +1 0 0 0 0 5 15 1 1 0 0.714285714285714 0 0.5 +1 0 0 0 0 5 16 1 1 0 0.857142857142857 0 0.5 +1 0 0 0 0 5 17 1 1 0 1 0 0.25 +1 0 0 0 0 5 18 1 1 0 1.14285714285714 0 0 +1 0 0 0 0 5 19 1 1 0 1.28571428571429 0 0 +1 0 0 0 0 5 20 1 1 0 1.42857142857143 0 0 + + +2 0 0 0 0 5 0 1 2 0 -1.42857142857143 0 0 +2 0 0 0 0 5 1 1 2 0 -1.28571428571429 0 0 +2 0 0 0 0 5 2 1 2 0 -1.14285714285714 0 0 +2 0 0 0 0 5 3 1 2 0 -1 0 0.25 +2 0 0 0 0 5 4 1 2 0 -0.857142857142857 0 0.5 +2 0 0 0 0 5 5 1 2 0 -0.714285714285714 0 0.5 +2 0 0 0 0 5 6 1 2 0 -0.571428571428571 0 0.5 +2 0 0 0 0 5 7 1 2 0 -0.428571428571429 0 0 +2 0 0 0 0 5 8 1 2 0 -0.285714285714286 0 0 +2 0 0 0 0 5 9 1 2 0 -0.142857142857143 0 0 +2 0 0 0 0 5 10 1 2 0 0 0 0 +2 0 0 0 0 5 11 1 2 0 0.142857142857143 0 0 +2 0 0 0 0 5 12 1 2 0 0.285714285714286 0 0 +2 0 0 0 0 5 13 1 2 0 0.428571428571429 0 0 +2 0 0 0 0 5 14 1 2 0 0.571428571428571 0 0.5 +2 0 0 0 0 5 15 1 2 0 0.714285714285714 0 0.5 +2 0 0 0 0 5 16 1 2 0 0.857142857142857 0 0.5 +2 0 0 0 0 5 17 1 2 0 1 0 0.25 +2 0 0 0 0 5 18 1 2 0 1.14285714285714 0 0 +2 0 0 0 0 5 19 1 2 0 1.28571428571429 0 0 +2 0 0 0 0 5 20 1 2 0 1.42857142857143 0 0 + + diff --git a/Carpet/CarpetReduce/test/nonstaggered_excl/weight.z.asc b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.z.asc new file mode 100644 index 000000000..af1ff88b8 --- /dev/null +++ b/Carpet/CarpetReduce/test/nonstaggered_excl/weight.z.asc @@ -0,0 +1,59 @@ +# 1D ASCII output created by CarpetIOASCII +# +0 0 0 0 0 5 10 0 0 0 0 -0.0714285714285714 0 +0 0 0 0 0 5 10 1 0 0 0 0 0 +0 0 0 0 0 5 10 2 0 0 0 0.0714285714285714 0 +0 0 0 0 0 5 10 3 0 0 0 0.142857142857143 0 +0 0 0 0 0 5 10 4 0 0 0 0.214285714285714 0 +0 0 0 0 0 5 10 5 0 0 0 0.285714285714286 0 +0 0 0 0 0 5 10 6 0 0 0 0.357142857142857 0 +0 0 0 0 0 5 10 7 0 0 0 0.428571428571429 0 +0 0 0 0 0 5 10 8 0 0 0 0.5 0 +0 0 0 0 0 5 10 9 0 0 0 0.571428571428571 1 +0 0 0 0 0 5 10 10 0 0 0 0.642857142857143 1 +0 0 0 0 0 5 10 11 0 0 0 0.714285714285714 1 +0 0 0 0 0 5 10 12 0 0 0 0.785714285714286 1 +0 0 0 0 0 5 10 13 0 0 0 0.857142857142857 1 +0 0 0 0 0 5 10 14 0 0 0 0.928571428571429 1 +0 0 0 0 0 5 10 15 0 0 0 1 0.5 +0 0 0 0 0 5 10 16 0 0 0 1.07142857142857 0 + + +1 0 0 0 0 5 10 0 1 0 0 -0.0714285714285714 0 +1 0 0 0 0 5 10 1 1 0 0 0 0 +1 0 0 0 0 5 10 2 1 0 0 0.0714285714285714 0 +1 0 0 0 0 5 10 3 1 0 0 0.142857142857143 0 +1 0 0 0 0 5 10 4 1 0 0 0.214285714285714 0 +1 0 0 0 0 5 10 5 1 0 0 0.285714285714286 0 +1 0 0 0 0 5 10 6 1 0 0 0.357142857142857 0 +1 0 0 0 0 5 10 7 1 0 0 0.428571428571429 0 +1 0 0 0 0 5 10 8 1 0 0 0.5 0 +1 0 0 0 0 5 10 9 1 0 0 0.571428571428571 1 +1 0 0 0 0 5 10 10 1 0 0 0.642857142857143 1 +1 0 0 0 0 5 10 11 1 0 0 0.714285714285714 1 +1 0 0 0 0 5 10 12 1 0 0 0.785714285714286 1 +1 0 0 0 0 5 10 13 1 0 0 0.857142857142857 1 +1 0 0 0 0 5 10 14 1 0 0 0.928571428571429 1 +1 0 0 0 0 5 10 15 1 0 0 1 0.5 +1 0 0 0 0 5 10 16 1 0 0 1.07142857142857 0 + + +2 0 0 0 0 5 10 0 2 0 0 -0.0714285714285714 0 +2 0 0 0 0 5 10 1 2 0 0 0 0 +2 0 0 0 0 5 10 2 2 0 0 0.0714285714285714 0 +2 0 0 0 0 5 10 3 2 0 0 0.142857142857143 0 +2 0 0 0 0 5 10 4 2 0 0 0.214285714285714 0 +2 0 0 0 0 5 10 5 2 0 0 0.285714285714286 0 +2 0 0 0 0 5 10 6 2 0 0 0.357142857142857 0 +2 0 0 0 0 5 10 7 2 0 0 0.428571428571429 0 +2 0 0 0 0 5 10 8 2 0 0 0.5 0 +2 0 0 0 0 5 10 9 2 0 0 0.571428571428571 1 +2 0 0 0 0 5 10 10 2 0 0 0.642857142857143 1 +2 0 0 0 0 5 10 11 2 0 0 0.714285714285714 1 +2 0 0 0 0 5 10 12 2 0 0 0.785714285714286 1 +2 0 0 0 0 5 10 13 2 0 0 0.857142857142857 1 +2 0 0 0 0 5 10 14 2 0 0 0.928571428571429 1 +2 0 0 0 0 5 10 15 2 0 0 1 0.5 +2 0 0 0 0 5 10 16 2 0 0 1.07142857142857 0 + + -- cgit v1.2.3