]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
merge from upstream (up to just before the indent)
authorheister <heister@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 3 Dec 2012 18:52:06 +0000 (18:52 +0000)
committerheister <heister@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 3 Dec 2012 18:52:06 +0000 (18:52 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_bigger_global_dof_indices_3@27731 0785d39b-7218-0410-832d-ea1e28bc413d

84 files changed:
deal.II/Makefile
deal.II/aclocal.m4
deal.II/common/astyle.rc
deal.II/configure
deal.II/examples/step-42/step-42.cc
deal.II/include/deal.II/base/config.h.in
deal.II/include/deal.II/base/quadrature.h
deal.II/include/deal.II/base/utilities.h
deal.II/include/deal.II/dofs/dof_handler.h
deal.II/include/deal.II/dofs/dof_renumbering.h
deal.II/include/deal.II/fe/fe_tools.h
deal.II/include/deal.II/lac/trilinos_parallel_block_vector.h
deal.II/include/deal.II/lac/trilinos_vector_base.h
deal.II/include/deal.II/lac/vector.h
deal.II/include/deal.II/lac/vector.templates.h
deal.II/include/deal.II/matrix_free/dof_info.templates.h
deal.II/include/deal.II/matrix_free/helper_functions.h
deal.II/include/deal.II/matrix_free/mapping_info.templates.h
deal.II/include/deal.II/matrix_free/matrix_free.h
deal.II/include/deal.II/matrix_free/matrix_free.templates.h
deal.II/include/deal.II/meshworker/functional.h
deal.II/include/deal.II/meshworker/integration_info.h
deal.II/include/deal.II/meshworker/loop.h
deal.II/include/deal.II/meshworker/output.h
deal.II/include/deal.II/meshworker/vector_info.h
deal.II/include/deal.II/meshworker/vector_selector.h
deal.II/include/deal.II/meshworker/vector_selector.templates.h
deal.II/source/base/function_parser.cc
deal.II/source/base/mpi.cc
deal.II/source/base/quadrature.cc
deal.II/source/dofs/dof_renumbering.cc
deal.II/source/grid/grid_reordering.cc
deal.II/source/grid/tria.cc
deal.II/source/hp/dof_handler.cc
deal.II/source/lac/petsc_matrix_base.cc
deal.II/source/lac/petsc_vector_base.cc
deal.II/source/lac/vector.inst.in
deal.II/source/numerics/solution_transfer.cc
tests/bits/data_out_curved_cells/cmp/generic
tests/bits/error_estimator_01/cmp/generic
tests/bits/error_estimator_02/cmp/generic
tests/codim_one/bem/cmp/generic
tests/codim_one/error_estimator_01/cmp/generic
tests/codim_one/gradients/cmp/generic
tests/deal.II/memory_consumption_01/cmp/generic
tests/fe/abf_01.cc
tests/fe/abf_01/cmp/generic
tests/hp/step-3c/cmp/generic
tests/lac/vector_accumulation.cc [new file with mode: 0644]
tests/lac/vector_accumulation/cmp/generic [new file with mode: 0644]
tests/lac/vector_large_numbers.cc [new file with mode: 0644]
tests/lac/vector_large_numbers/cmp/generic [new file with mode: 0644]
tests/lac/vector_norms.cc [new file with mode: 0644]
tests/lac/vector_norms/cmp/generic [new file with mode: 0644]
tests/matrix_free/compress_constraints.cc [new file with mode: 0644]
tests/matrix_free/compress_constraints/cmp/generic [new file with mode: 0644]
tests/matrix_free/compress_mapping.cc [new file with mode: 0644]
tests/matrix_free/compress_mapping/cmp/generic [new file with mode: 0644]
tests/matrix_free/matrix_vector_07.cc
tests/mpi/step-40.cc [new file with mode: 0644]
tests/mpi/step-40/ncpu_10/cmp/generic [new file with mode: 0644]
tests/mpi/step-40/ncpu_3/cmp/generic [new file with mode: 0644]
tests/mpi/step-40/ncpu_4/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_boomeramg.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_boomeramg/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_boomeramg_symmetric.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_boomeramg_symmetric/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_eisenstat.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_eisenstat/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_icc.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_icc/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_ilu.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_ilu/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_lu.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_lu/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_parasails.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_parasails/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_sor.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_sor/cmp/generic [new file with mode: 0644]
tests/petsc/solver_03_precondition_ssor.cc [new file with mode: 0644]
tests/petsc/solver_03_precondition_ssor/cmp/generic [new file with mode: 0644]
tests/petsc/sparse_direct_mumps.cc [new file with mode: 0644]
tests/petsc/sparse_direct_mumps/cmp/generic [new file with mode: 0644]
tests/umfpack/umfpack_04/cmp/generic

index 077c1f8c8ed11d7f1b669861fd8274092e07ee93..9084d9e73994b262f03ac767c861bf43462f1db3 100644 (file)
@@ -155,10 +155,10 @@ build-test-do:
 
 style-h-files:= $(wildcard include/deal.II/*/*.h)
 style-cc-files:= $(wildcard source/*/*.cc)
-
+style-examples:= $(wildcard examples/*/*.cc)
 indent:
        @echo "============ Indenting all files"
-       astyle --options=common/astyle.rc $(style-h-files) $(style-cc-files)
+       astyle --options=common/astyle.rc $(style-h-files) $(style-cc-files) $(style-examples)
 
 .PHONY: indent 
 
index 9fb7765dffad9fb53d4314e12a43986373f53d28..85da1c5535dfaab1924bbc9eea746ba63623f03c 100644 (file)
@@ -2210,7 +2210,7 @@ AC_DEFUN(DEAL_II_DETECT_VECTORIZATION_LEVEL, dnl
 [
   AC_LANG(C++)
   CXXFLAGS="$CXXFLAGSG"
-  dnl SSE2 check in debug mode
+  dnl SSE2 check
   AC_MSG_CHECKING(whether CPU supports SSE2)
   AC_TRY_RUN(
     [
@@ -2243,7 +2243,7 @@ AC_DEFUN(DEAL_II_DETECT_VECTORIZATION_LEVEL, dnl
     ],
     [
       AC_MSG_RESULT(yes)
-      dnl AVX check in debug mode
+      dnl AVX check
       AC_MSG_CHECKING(whether CPU supports AVX)
       AC_TRY_RUN(
       [
@@ -2271,6 +2271,7 @@ AC_DEFUN(DEAL_II_DETECT_VECTORIZATION_LEVEL, dnl
           if (ptr[i] != 5.0625)
             return_value = 1;
         _mm_free (data);
+        return return_value;
         }
       ],
       [
index ef69b857156918038e3885162b2ab94b4bae905e..cbe9527ac141f29e1f18bd33aab7e01e616ac7f2 100644 (file)
@@ -1,6 +1,4 @@
 # astyle 2.02 indentation style for deal.II
-# Run astyle in a command like
-#    astyle --options=lib/astyle.rc *cc *h
 
 --style=gnu
 
@@ -8,24 +6,13 @@
 --indent-preprocessor
 --indent=spaces=2
 --indent-namespaces
---indent-labels
-#--no-indent-col1-comments
 --min-conditional-indent=0
-#--no-break-blocks
 --pad-header
 
-# indent the 'public/protected/private' specifiers, and further indent the
-# rest of the declarations
---indent-classes
-
-# indent case labels in a switch statement
---indent-switches
-
-# write things as 'char *p', not 'char* p'
+# write things as 'char *p'
 --align-pointer=name
 --align-reference=name
 
---max-instatement-indent=80
+--max-instatement-indent=60
 --suffix=none
 --quiet
-#--verbose
index 391072862f08563ecae302eeae4ce43990fefc54..5d843cb4e1414e40b63b2f2545d04fce97ac3c75 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 27122 .
+# From configure.in Revision: 27277 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.69 for deal.II 7.3.pre.
 #
@@ -814,7 +814,6 @@ enable_mpi
 enable_threads
 enable_shared
 enable_parser
-enable_mgcompatibility
 enable_compat_blocker
 with_boost
 with_petsc
@@ -1475,10 +1474,6 @@ Optional Features:
   --enable-parser         While switched on by default, this option allows to
                           switch off support for the function parser in the
                           contrib directory.
-  --enable-mgcompatibility
-                          Use preconditioner interface in MGSmootherRelaxation
-                          instead of the new interface using the function
-                          step. Defaults to disabled.
   --enable-compat-blocker=mapping
                           Block functions that implicitely assume a Q1 mapping
 
@@ -9859,17 +9854,6 @@ fi
 
 
 
-# Check whether --enable-mgcompatibility was given.
-if test "${enable_mgcompatibility+set}" = set; then :
-  enableval=$enable_mgcompatibility;  if test "x$enableval" = "xyes" ; then
-           { $as_echo "$as_me:${as_lineno-$LINENO}: result: enable multigrid compatibility mode" >&5
-$as_echo "enable multigrid compatibility mode" >&6; }
-
-$as_echo "#define DEAL_II_MULTIGRID_COMPATIBILITY 1" >>confdefs.h
-
-         fi
-fi
-
 
 
   # Check whether --enable-compat-blocker was given.
@@ -13583,6 +13567,7 @@ else
           if (ptr[i] != 5.0625)
             return_value = 1;
         _mm_free (data);
+        return return_value;
         }
 
 _ACEOF
index 78ff2f93f48d90544521cbd193c906de747a60fb..aca98b16e21b0516e81f8505f5f3ba29e14c989d 100644 (file)
@@ -400,21 +400,21 @@ namespace Step42
         return_value = p(1);
       if (component == 2)
         {
-          // double hz = 0.98;
-          // double position_x = 0.5;
-          // double alpha = 12.0;
-          // double s_x = 0.5039649116;
-          // double s_y = hz + 0.00026316298;
-          // if (p(0) > position_x - R && p(0) < s_x)
-          //   {
-          //     return_value = -sqrt(R*R - (p(0)-position_x)*(p(0)-position_x)) + hz + R;
-          //   }
-          // else if (p(0) >= s_x)
-          //   {
-          //     return_value = 12.0/90.0*p(0) + (s_y - alpha/90.0*s_x);
-          //   }
-          // else
-          //   return_value = 1e+10;
+      //     double hz = 0.98;
+      //     double position_x = 0.5;
+      //     double alpha = 12.0;
+      //     double s_x = 0.5039649116;
+      //     double s_y = hz + 0.00026316298;
+      //     if (p(0) > position_x - R && p(0) < s_x)
+      //       {
+      //         return_value = -sqrt(R*R - (p(0)-position_x)*(p(0)-position_x)) + hz + R;
+      //       }
+      //     else if (p(0) >= s_x)
+      //       {
+      //         return_value = 12.0/90.0*p(0) + (s_y - alpha/90.0*s_x);
+      //       }
+      //     else
+      //       return_value = 1e+10;
 
           // Hindernis Dortmund
           double x1 = p(0);
@@ -430,9 +430,9 @@ namespace Step42
           // return_value = 0.032 + data->dicke - input_copy->mikro_height (p(0) + shift_walze_x, p(1) + shift_walze_y, p(2));
 
           // Ball with radius R
-          // double R = 0.5;
+          // double R = 1.0;
           // if (std::pow ((p(0)-1.0/2.0), 2) + std::pow ((p(1)-1.0/2.0), 2) < R*R)
-          //   return_value = 1.0 + R - 0.001 - sqrt (R*R  - std::pow ((p(0)-1.0/2.0), 2)
+          //   return_value = 1.0 + R - 0.01 - sqrt (R*R  - std::pow ((p(0)-1.0/2.0), 2)
           //                                    - std::pow ((p(1)-1.0/2.0), 2));
           // else
           //   return_value = 1e+5;
@@ -752,7 +752,7 @@ namespace Step42
           cell->get_dof_indices (local_dof_indices);
           constraints.distribute_local_to_global (cell_matrix, cell_rhs,
                                                   local_dof_indices,
-                                                  system_matrix_newton, system_rhs_newton, false);
+                                                  system_matrix_newton, system_rhs_newton, true);
         };
 
     system_matrix_newton.compress ();
@@ -962,7 +962,7 @@ namespace Step42
                   continue;
 
                 // the local row where
-                Point<dim> point (cell->face (face)->vertex (v)[0],/* + solution (index_x),*/
+                Point<dim> point (cell->face (face)->vertex (v)[0],
                                   cell->face (face)->vertex (v)[1],
                                   cell->face (face)->vertex (v)[2]);
 
@@ -974,10 +974,11 @@ namespace Step42
                     c *
                     diag_mass_matrix_vector_relevant (index_z) *
                     (solution_index_z - gap)
-                    > 0)
+                    > 0 &&
+                   !(constraints_hanging_nodes.is_constrained(index_z)))
                   {
-                    constraints.add_line (index_z);
-                    constraints.set_inhomogeneity (index_z, gap);
+                   constraints.add_line (index_z);
+                   constraints.set_inhomogeneity (index_z, gap);
 
                     distributed_solution (index_z) = gap;
 
@@ -986,15 +987,6 @@ namespace Step42
 
                     if (locally_owned_dofs.is_element (index_z))
                       active_set_locally_owned.add_index (index_z);
-
-                    // std::cout<< index_z << ", "
-                    //            << "Error: " << lambda (index_z) +
-                    //   diag_mass_matrix_vector_relevant (index_z)*c*(solution_index_z - gap)
-                    //            << ", " << lambda (index_z)
-                    //            << ", " << diag_mass_matrix_vector_relevant (index_z)
-                    //            << ", " << obstacle_value
-                    //            << ", " << solution_index_z
-                    //            <<std::endl;
                   }
               }
     distributed_solution.compress(Insert);
@@ -1007,13 +999,15 @@ namespace Step42
 
     constraints.close ();
 
-    const ConstraintMatrix::MergeConflictBehavior
-      merge_conflict_behavior = ConstraintMatrix::left_object_wins;
-    constraints.merge (constraints_dirichlet_hanging_nodes, merge_conflict_behavior);
+    constraints.merge (constraints_dirichlet_hanging_nodes);
   }
 
+                                   // @sect4{PlasticityContactProblem::dirichlet_constraints}
 
-
+                                   // This function defines the new ConstraintMatrix
+                                   // constraints_dirichlet_hanging_nodes. It contains
+                                   // the dirichlet boundary values as well as the
+                                   // hanging nodes constraints.
   template <int dim>
   void PlasticityContactProblem<dim>::dirichlet_constraints ()
   {
@@ -1052,8 +1046,32 @@ namespace Step42
     constraints_dirichlet_hanging_nodes.close ();
   }
 
-
-
+                                   // @sect4{PlasticityContactProblem::solve}
+
+                                   // In addition to step-41 we have
+                                   // to deal with the hanging node
+                                   // constraints. Again we also consider
+                                   // the locally_owned_dofs only by
+                                   // creating the vector distributed_solution.
+                                   //
+                                   // For the hanging nodes we have to apply
+                                   // the set_zero function to system_rhs_newton.
+                                   // This is necessary if a hanging node value x_0
+                                   // has one neighbor which is in contact with
+                                   // value x_0 and one neighbor which is not with
+                                   // value x_1. This leads to an inhomogeneity
+                                   // constraint with value x_1/2 = gap/2 in the
+                                   // ConstraintMatrix.
+                                   // So the corresponding entries in the 
+                                   // ride-hang-side are non-zero with a
+                                   // meaningless value. These values have to
+                                   // to set to zero.
+
+                                   // The rest of the funtion is smiliar to
+                                  // step-41 except that we use a FGMRES-solver
+                                   // instead of CG. For a very small hardening
+                                   // value gamma the linear system becomes
+                                   // almost semi definite but still symmetric.
   template <int dim>
   void PlasticityContactProblem<dim>::solve ()
   {
@@ -1063,10 +1081,8 @@ namespace Step42
     TrilinosWrappers::MPI::Vector    distributed_solution (system_rhs_newton);
     distributed_solution = solution;
 
-    // constraints_hanging_nodes.set_zero (distributed_solution);
-    constraints.set_zero (distributed_solution);
-
-    // Solving iterative
+    constraints_hanging_nodes.set_zero (distributed_solution);
+    constraints_hanging_nodes.set_zero (system_rhs_newton);
 
     MPI_Barrier (mpi_communicator);
     t.restart();
@@ -1081,15 +1097,11 @@ namespace Step42
     MPI_Barrier (mpi_communicator);
     t.restart();
 
-    // ReductionControl                 solver_control (10000, 1e-15, 1e-4);
-    // SolverCG<TrilinosWrappers::MPI::Vector>
-    //   solver (solver_control, mpi_communicator);
-    // solver.solve (system_matrix_newton, distributed_solution, system_rhs_newton, preconditioner_u);
-
     PrimitiveVectorMemory<TrilinosWrappers::MPI::Vector> mem;
     TrilinosWrappers::MPI::Vector    tmp (system_rhs_newton);
     const double solver_tolerance = 1e-4 *
           system_matrix_newton.residual (tmp, distributed_solution, system_rhs_newton);
+
     SolverControl solver_control (system_matrix_newton.m(), solver_tolerance);
     SolverFGMRES<TrilinosWrappers::MPI::Vector>
        solver(solver_control, mem,
@@ -1099,7 +1111,7 @@ namespace Step42
 
     pcout << "Initial error: " << solver_control.initial_value() <<std::endl;
     pcout << "   " << solver_control.last_step()
-              << " CG iterations needed to obtain convergence with an error: "
+              << " FGMRES iterations needed to obtain convergence with an error: "
               <<  solver_control.last_value()
               << std::endl;
 
@@ -1351,7 +1363,7 @@ namespace Step42
         for (unsigned int i=0;
              i<Utilities::MPI::n_mpi_processes(mpi_communicator);
              ++i)
-          filenames.push_back ("solution-" +
+          filenames.push_back (title + "-" +
                                Utilities::int_to_string (i, 4) +
                                ".vtu");
 
@@ -1401,7 +1413,7 @@ namespace Step42
         MPI_Barrier (mpi_communicator);
         t.restart();
         std::ostringstream filename_solution;
-        filename_solution << "solution_";
+        filename_solution << "solution-";
         filename_solution << cycle;
         output_results (filename_solution.str ());
         MPI_Barrier (mpi_communicator);
index 7f36a2ab7b7b632f641cbe9c4a8eac5bb1ad1075..30aef6210a6efac3d2adb12654eabb6440ba1ffe 100644 (file)
    i.e. its minimal capacity. */
 #undef DEAL_II_MIN_VECTOR_CAPACITY
 
-/* enable multigrid compatibility mode */
-#undef DEAL_II_MULTIGRID_COMPATIBILITY
-
 /* Path to the deal.II directory */
 #undef DEAL_II_PATH
 
index 43384cdd1cef63c3a8a114dad41a5f02de04428f..6d891868fe443ca1b920a4961bd82d17b2cfd555 100644 (file)
@@ -52,7 +52,7 @@ DEAL_II_NAMESPACE_OPEN
  * degree of polynomials integrated exactly. This number is given in
  * the documentation of each formula. The order of the integration
  * error is <tt>m+1</tt>, that is, the error is the size of the cell
- * two the <tt>m+1</tt> by the Bramble-Hilbert Lemma. The number
+ * to the <tt>m+1</tt> by the Bramble-Hilbert Lemma. The number
  * <tt>m</tt> is to be found in the documentation of each concrete
  * formula. For the optimal formulæ QGauss we have $m = 2N-1$, where
  * N is the constructor parameter to QGauss. The tensor product
index ce983cf688a42b8a876a86da9a5f22eed7c59321..994630cb338331a948a7b9ed3960028cd996b1ba 100644 (file)
@@ -193,12 +193,14 @@ namespace Utilities
                                     * number by a template expression where
                                     * both the number <code>a</code> and the
                                     * power <code>N</code> are compile-time
-                                    * constants. This gives compile-time
-                                    * knowledge of the result of the power
-                                    * operation.
+                                    * constants. This computes the result of
+                                    * the power operation at compile time,
+                                    * enables its use e.g. in other
+                                    * templates.
                                     *
-                                    * Use this function as in
-                                    * <code>fixed_int_power@<a,N@>::value</code>.
+                                    * Use this function with the arguments
+                                    * <code>fixed_int_power@<5,2@>::value</code>
+                                    * to compute 5<sup>2</sup>.
                                     */
   template <int a, int N>
   struct fixed_int_power
index 52d346b7fc076e00198f2aca8be0e22aac5afac0..5f998fd11c3e4124ff57dcd35ee33d282caae48a 100644 (file)
@@ -664,7 +664,7 @@ class DoFHandler  :  public Subscriptor
                                       * you are only interested in
                                       * the number of elements
                                       * each processor owns then
-                                      * n_dofs_per_processor() is
+                                      * n_locally_owned_dofs_per_processor() is
                                       * a better choice.
                                       *
                                       * If this is a sequential job,
index 16328740bbd44d9708b4d14d103358fd4f94c602..a259a417a1f7d5be007e4edd1ce1ed85de6439c3 100644 (file)
@@ -938,8 +938,7 @@ namespace DoFRenumbering
   hierarchical (DoFHandler<dim> &dof_handler);
 
                                    /**
-                                    * Cell-wise renumbering for DG
-                                    * elements.  This function takes
+                                    * Cell-wise renumbering. This function takes
                                     * the ordered set of cells in
                                     * <tt>cell_order</tt>, and makes
                                     * sure that all degrees of
@@ -949,12 +948,6 @@ namespace DoFRenumbering
                                     * lower index. The order inside
                                     * a cell block will be the same
                                     * as before this renumbering.
-                                    *
-                                    * This function only works with
-                                    * Discontinuous Galerkin Finite
-                                    * Elements, i.e. all degrees of
-                                    * freedom have to be associated
-                                    * with the interior of the cell.
                                     */
   template <class DH>
   void
@@ -1264,7 +1257,7 @@ namespace DoFRenumbering
                 const unsigned int level,
                 const Point<dim> &center,
                 const bool counter = false);
-
+  
                                    /**
                                     * Computes the renumbering
                                     * vector needed by the
index b0906ff001613ad3d01397b88a09c17d887585d6..37dd6cb95914bcf617156d90992660ce1610855f 100644 (file)
@@ -1429,7 +1429,8 @@ namespace FETools
                   << "You are using continuous elements on a grid with "
                   << "hanging nodes but without providing hanging node "
                   << "constraints. Use the respective function with "
-                  << "additional ConstraintMatrix argument(s), instead.");
+                  << "additional ConstraintMatrix argument(s), instead."
+                  << (arg1?"":""));
                                    /**
                                     * You need at least two grid levels.
                                     *
index c95fb17efdcdc9bd1e8323e40faab88402cca112..6090f6d4d36a47ae4d4d128e32d3e4b313ca9956 100644 (file)
@@ -462,7 +462,8 @@ namespace TrilinosWrappers
     void
     BlockVector::compress (const Epetra_CombineMode last_action)
     {
-      ::dealii::VectorOperation::values last_action_;
+      ::dealii::VectorOperation::values last_action_ =
+        ::dealii::VectorOperation::unknown;
       if (last_action == Add)
        last_action_ = ::dealii::VectorOperation::add;
       else if (last_action == Insert)
index f3a7bee54a113f25139187fa6333e727ca445e4c..9fe33b88067b3185bd775359b53ec7aaaff15466 100644 (file)
@@ -1224,7 +1224,8 @@ namespace TrilinosWrappers
   void
   VectorBase::compress (const Epetra_CombineMode last_action)
   {
-    ::dealii::VectorOperation::values last_action_;
+    ::dealii::VectorOperation::values last_action_ =
+      ::dealii::VectorOperation::unknown;
     if (last_action == Add)
       last_action_ = ::dealii::VectorOperation::add;
     else if (last_action == Insert)
index 5e232a756a33cd07809e8afaa9365849b5737d70..7135bd0cd0c30b0b1918633ac3ce833d2a604ba5 100644 (file)
@@ -16,9 +16,7 @@
 #include <deal.II/base/config.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/parallel.h>
 #include <deal.II/base/subscriptor.h>
-#include <boost/lambda/lambda.hpp>
 #include <boost/serialization/array.hpp>
 #include <boost/serialization/split_member.hpp>
 
@@ -83,10 +81,12 @@ struct VectorOperation
 
 /**
  * Numerical vector of data.  For this class there are different types
- * of functions available. The first type of function mesures the norm
- * of the vector in order to mesure its length in a suitable norm. The
- * second type support the abgebraic operation for vectors. The third
- * und last type helps us to manipulate the components of the vector.
+ * of functions available. The first type of function initializes the
+ * vector, changes its size, or computes the norm
+ * of the vector in order to measure its length in a suitable norm. The
+ * second type helps us to manipulate the components of the vector. The
+ * third type defines the algebraic operations for vectors, while the
+ * last type defines a few input and output functions.
  * As opposed to the array of the C++ standard library called
  * @p vector (with a lowercase "v"), this class implements an element
  * of a vector space suitable for numerical computations.
@@ -411,7 +411,7 @@ class Vector : public Subscriptor
                                       * Copy the given vector. Resize the
                                       * present vector if necessary.
                                       */
-    Vector<Number> & operator= (const Vector<Number> &c);
+    Vector<Number> & operator= (const Vector<Number> &v);
 
                                      /**
                                       * Copy the given vector. Resize the
@@ -903,7 +903,7 @@ class Vector : public Subscriptor
 
 
                                      /**
-                                      * @name 5: Mixed stuff
+                                      * @name 4: Mixed stuff
                                       */
                                      //@{
                                      /**
@@ -1036,17 +1036,19 @@ class Vector : public Subscriptor
                                       */
     Number *val;
 
-                                     /*
+                                     /**
                                       * Make all other vector types
                                       * friends.
                                       */
     template <typename Number2> friend class Vector;
-                                     /*
+
+                                     /**
                                       * LAPACK matrices need access to
                                       * the data.
                                       */
     friend class LAPACKFullMatrix<Number>;
-                                     /*
+
+                                     /**
                                       * VectorView will access the
                                       * pointer.
                                       */
@@ -1140,110 +1142,25 @@ void Vector<Number>::reinit (const unsigned int n, const bool fast)
 
 
 
+// declare function that is implemented in vector.templates.h
 namespace internal
 {
   namespace Vector
   {
-    template<typename T>
-    void set_subrange (const T            s,
-                       const unsigned int begin,
-                       const unsigned int end,
-                       dealii::Vector<T> &dst)
-    {
-      if (s == T())
-        std::memset ((dst.begin()+begin),0,(end-begin)*sizeof(T));
-      else
-        std::fill (&*(dst.begin()+begin), &*(dst.begin()+end), s);
-    }
-
-    template<typename T>
-    void copy_subrange (const dealii::Vector<T>&src,
-                        const unsigned int      begin,
-                        const unsigned int      end,
-                        dealii::Vector<T>      &dst)
-    {
-      memcpy(&*(dst.begin()+begin), &*(src.begin()+begin),
-             (end-begin)*sizeof(T));
-    }
-
-    template<typename T, typename U>
-    void copy_subrange_ext (const dealii::Vector<T>&src,
-                            const unsigned int      begin,
-                            const unsigned int      end,
-                            dealii::Vector<U>      &dst)
-    {
-      const T* q = src.begin()+begin;
-      const T* const end_q = src.begin()+end;
-      U* p = dst.begin()+begin;
-      for (; q!=end_q; ++q, ++p)
-        *p = *q;
-    }
+    template <typename T, typename U>
+    void copy_vector (const dealii::Vector<T> &src,
+                      dealii::Vector<U>       &dst);
   }
 }
 
 
 
-template <typename Number>
-inline
-Vector<Number> & Vector<Number>::operator = (const Number s)
-{
-  Assert (numbers::is_finite(s), ExcNumberNotFinite());
-  if (s != Number())
-    Assert (vec_size!=0, ExcEmptyObject());
-  if (vec_size>dealii::internal::Vector::minimum_parallel_grain_size)
-    parallel::apply_to_subranges (0U, vec_size,
-                                  std_cxx1x::bind(&dealii::internal::Vector::template
-                                                  set_subrange<Number>,
-                                                  s, std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::ref(*this)),
-                                  dealii::internal::Vector::minimum_parallel_grain_size);
-  else if (vec_size > 0)
-    dealii::internal::Vector::set_subrange<Number>(s, 0U, vec_size, *this);
-
-  return *this;
-}
-
-
-
-#ifdef DEAL_II_BOOST_BIND_COMPILER_BUG
-template <>
-inline
-Vector<std::complex<float> > &
-Vector<std::complex<float> >::operator = (const std::complex<float> s)
-{
-  Assert (numbers::is_finite(s), ExcNumberNotFinite());
-  if (s != std::complex<float>())
-    Assert (vec_size!=0, ExcEmptyObject());
-  if (vec_size!=0)
-    std::fill (begin(), end(), s);
-
-  return *this;
-}
-#endif
-
-
-
 template <typename Number>
 inline
 Vector<Number> &
 Vector<Number>::operator = (const Vector<Number>& v)
 {
-                                // if v is the same vector as *this, there is
-                                // nothing to
-  if (PointerComparison::equal(this, &v) == true)
-    return *this;
-
-  if (v.vec_size != vec_size)
-    reinit (v.vec_size, true);
-  if (vec_size>dealii::internal::Vector::minimum_parallel_grain_size)
-    parallel::apply_to_subranges (0U, vec_size,
-                                  std_cxx1x::bind(&dealii::internal::Vector::template
-                                                  copy_subrange<Number>,
-                                                  std_cxx1x::cref(v), std_cxx1x::_1, std_cxx1x::_2,
-                                                  std_cxx1x::ref(*this)),
-                                  dealii::internal::Vector::minimum_parallel_grain_size);
-  else if (vec_size > 0)
-    dealii::internal::Vector::copy_subrange<Number>(v, 0U, vec_size, *this);
-
+  internal::Vector::copy_vector (v, *this);
   return *this;
 }
 
@@ -1255,18 +1172,7 @@ inline
 Vector<Number> &
 Vector<Number>::operator = (const Vector<Number2>& v)
 {
-  if (v.vec_size != vec_size)
-    reinit (v.vec_size, true);
-  if (vec_size>dealii::internal::Vector::minimum_parallel_grain_size)
-    parallel::apply_to_subranges (0U, vec_size,
-                                  std_cxx1x::bind(&dealii::internal::Vector::template
-                                                  copy_subrange_ext<Number2,Number>,
-                                                  std_cxx1x::cref(v), std_cxx1x::_1, std_cxx1x::_2,
-                                                  std_cxx1x::ref(*this)),
-                                  dealii::internal::Vector::minimum_parallel_grain_size);
-  else if (vec_size > 0)
-    dealii::internal::Vector::copy_subrange_ext<Number2,Number>(v, 0U, vec_size, *this);
-
+  internal::Vector::copy_vector (v, *this);
   return *this;
 }
 
@@ -1386,24 +1292,6 @@ Vector<Number>::operator /= (const Number factor)
 
 
 
-template <typename Number>
-inline
-void
-Vector<Number>::scale (const Number factor)
-{
-  Assert (numbers::is_finite(factor),ExcNumberNotFinite());
-
-  Assert (vec_size!=0, ExcEmptyObject());
-
-  parallel::transform (val,
-                       val+vec_size,
-                       val,
-                       (factor*boost::lambda::_1),
-                       dealii::internal::Vector::minimum_parallel_grain_size);
-}
-
-
-
 template <typename Number>
 template <typename OtherNumber>
 inline
@@ -1452,51 +1340,6 @@ Vector<Number>::add (const unsigned int  n_indices,
 
 
 
-template <typename Number>
-inline
-void
-Vector<Number>::add (const Number a,
-                     const Vector<Number>& v)
-{
-  Assert (numbers::is_finite(a),ExcNumberNotFinite());
-
-  Assert (vec_size!=0, ExcEmptyObject());
-  Assert (vec_size == v.vec_size, ExcDimensionMismatch(vec_size, v.vec_size));
-
-  parallel::transform (val,
-                       val+vec_size,
-                       v.val,
-                       val,
-                       (boost::lambda::_1 + a*boost::lambda::_2),
-                       dealii::internal::Vector::minimum_parallel_grain_size);
-}
-
-
-
-template <typename Number>
-inline
-void
-Vector<Number>::sadd (const Number x,
-                      const Number a,
-                      const Vector<Number>& v)
-{
-  Assert (numbers::is_finite(x),ExcNumberNotFinite());
-  Assert (numbers::is_finite(a),ExcNumberNotFinite());
-
-  Assert (vec_size!=0, ExcEmptyObject());
-  Assert (vec_size == v.vec_size, ExcDimensionMismatch(vec_size, v.vec_size));
-
-  parallel::transform (val,
-                       val+vec_size,
-                       v.val,
-                       val,
-                       (x*boost::lambda::_1 + a*boost::lambda::_2),
-                       dealii::internal::Vector::minimum_parallel_grain_size);
-}
-
-
-
-
 template <typename Number>
 template <typename Number2>
 inline
index fcd4991b62f8fb592426f10e1ecc98ed55e84b99..a40967a6647d54c5dfd64a237ea0a448caf7cf1f 100644 (file)
@@ -15,6 +15,8 @@
 
 #include <deal.II/base/template_constraints.h>
 #include <deal.II/base/numbers.h>
+#include <deal.II/base/parallel.h>
+#include <deal.II/base/thread_management.h>
 #include <deal.II/lac/vector.h>
 #include <deal.II/lac/block_vector.h>
 
@@ -27,6 +29,7 @@
 #  include <deal.II/lac/trilinos_vector.h>
 #endif
 
+#include <boost/lambda/lambda.hpp>
 #include <cmath>
 #include <cstring>
 #include <algorithm>
@@ -35,7 +38,6 @@
 
 DEAL_II_NAMESPACE_OPEN
 
-#define BLOCK_LEVEL 6
 
 namespace internal
 {
@@ -124,7 +126,7 @@ Vector<Number>::Vector (const Vector<Number>& v)
     {
       val = new Number[max_vec_size];
       Assert (val != 0, ExcOutOfMemory());
-      std::copy (v.begin(), v.end(), begin());
+      *this = v;
     }
 }
 
@@ -316,144 +318,412 @@ Vector<Number>::is_non_negative () const
 
 
 
-template <typename Number>
-template <typename Number2>
-Number Vector<Number>::operator * (const Vector<Number2>& v) const
+namespace internal
 {
-  Assert (vec_size!=0, ExcEmptyObject());
-
-  if (PointerComparison::equal (this, &v))
-    return norm_sqr();
-
-  Assert (vec_size == v.size(),
-          ExcDimensionMismatch(vec_size, v.size()));
+  namespace Vector
+  {
+    template<typename T>
+    void set_subrange (const T            s,
+                       const unsigned int begin,
+                       const unsigned int end,
+                       dealii::Vector<T> &dst)
+    {
+      if (s == T())
+        std::memset ((dst.begin()+begin),0,(end-begin)*sizeof(T));
+      else
+        std::fill (&*(dst.begin()+begin), &*(dst.begin()+end), s);
+    }
 
-  const unsigned int blocking = 1<<BLOCK_LEVEL;
-  Number sum1, sum2, sum3, sum = Number();
-  const Number * X = val, *X_end = X + vec_size,
-    *X_end3 = X + ((vec_size>>(BLOCK_LEVEL))<<(BLOCK_LEVEL)),
-    *X_end2 = X + ((vec_size>>(2*BLOCK_LEVEL))<<(2*BLOCK_LEVEL)),
-    *X_end1 = X + ((vec_size>>(3*BLOCK_LEVEL))<<(3*BLOCK_LEVEL));
-  const Number2  * Y = v.val;
+    template<typename T>
+    void copy_subrange (const unsigned int      begin,
+                        const unsigned int      end,
+                        const dealii::Vector<T>&src,
+                        dealii::Vector<T>      &dst)
+    {
+      memcpy(&*(dst.begin()+begin), &*(src.begin()+begin),
+             (end-begin)*sizeof(T));
+    }
 
-                                   // multiply the two vectors. we have to
-                                   // convert the elements of u to the type of
-                                   // the result vector. this is necessary
-                                   // because
-                                   // operator*(complex<float>,complex<double>)
-                                   // is not defined by default. do the
-                                   // operations block-wise with post-update.
-                                   // use three nested loops, which should make
-                                   // the roundoff error very small up to
-                                   // about 20m entries. in the
-                                   // end do extra loops with the remainders.
-                                   // this blocked algorithm has been proposed
-                                   // by Castaldo, Whaley and Chronopoulos
-                                   // (SIAM J. Sci. Comput. 31, 1156-1174,
-                                   // 2008)
-  while (X != X_end1)
+    template<typename T, typename U>
+    void copy_subrange (const unsigned int      begin,
+                        const unsigned int      end,
+                        const dealii::Vector<T>&src,
+                        dealii::Vector<U>      &dst)
     {
-      sum1 = Number();
-      for (unsigned int j=0; j<blocking; ++j)
-        {
-          sum2 = Number();
-          for (unsigned int k=0; k<blocking; ++k)
-            {
-              sum3 = Number();
-              for (unsigned int i=0; i<blocking; ++i)
-                sum3 += *X++ * Number(numbers::NumberTraits<Number2>::conjugate(*Y++));
-              sum2 += sum3;
-            }
-          sum1 += sum2;
-        }
-      sum += sum1;
+      const T *q = src.begin()+begin;
+      const T *const end_q = src.begin()+end;
+      U *p = dst.begin()+begin;
+      for (; q!=end_q; ++q, ++p)
+        *p = *q;
     }
-  while (X != X_end2)
+
+    template<typename T, typename U>
+    void copy_subrange_wrap (const unsigned int      begin,
+                             const unsigned int      end,
+                             const dealii::Vector<T>&src,
+                             dealii::Vector<U>      &dst)
     {
-      sum2 = Number();
-      for (unsigned int j=0; j<blocking; ++j)
-        {
-          sum3 = Number();
-          for (unsigned int i=0; i<blocking; ++i)
-            sum3 += *X++ * Number(numbers::NumberTraits<Number2>::conjugate(*Y++));
-          sum2 += sum3;
-        }
-      sum += sum2;
+      copy_subrange (begin, end, src, dst);
     }
-  while (X != X_end3)
+
+    template <typename T, typename U>
+    void copy_vector (const dealii::Vector<T>&src,
+                      dealii::Vector<U>      &dst)
     {
-      sum3 = Number();
-      for (unsigned int i=0; i<blocking; ++i)
-        sum3 += *X++ * Number(numbers::NumberTraits<Number2>::conjugate(*Y++));
-      sum += sum3;
+      const unsigned int vec_size = src.size();
+      const unsigned int dst_size = dst.size();
+      if (dst_size != vec_size)
+        dst.reinit (vec_size, true);
+      if (vec_size>internal::Vector::minimum_parallel_grain_size)
+        parallel::apply_to_subranges (0U, vec_size,
+                                      std_cxx1x::bind(&internal::Vector::template
+                                                      copy_subrange_wrap <T,U>,
+                                                      std_cxx1x::_1,
+                                                      std_cxx1x::_2,
+                                                      std_cxx1x::cref(src),
+                                                      std_cxx1x::ref(dst)),
+                                      internal::Vector::minimum_parallel_grain_size);
+      else if (vec_size > 0)
+        copy_subrange (0U, vec_size, src, dst);
     }
+  }
+}
 
-  sum3 = Number();
-  while (X != X_end)
-    sum3 += *X++ * Number(numbers::NumberTraits<Number2>::conjugate(*Y++));
-  sum += sum3;
 
-  Assert(numbers::is_finite(sum), ExcNumberNotFinite());
 
-  return sum;
+template <typename Number>
+Vector<Number> &
+Vector<Number>::operator = (const Number s)
+{
+  Assert (numbers::is_finite(s), ExcNumberNotFinite());
+  if (s != Number())
+    Assert (vec_size!=0, ExcEmptyObject());
+  if (vec_size>internal::Vector::minimum_parallel_grain_size)
+    parallel::apply_to_subranges (0U, vec_size,
+                                  std_cxx1x::bind(&internal::Vector::template
+                                                  set_subrange<Number>,
+                                                  s, std_cxx1x::_1, std_cxx1x::_2, std_cxx1x::ref(*this)),
+                                  internal::Vector::minimum_parallel_grain_size);
+  else if (vec_size > 0)
+    internal::Vector::set_subrange<Number>(s, 0U, vec_size, *this);
+
+  return *this;
+}
+
+
+
+#ifdef DEAL_II_BOOST_BIND_COMPILER_BUG
+template <>
+Vector<std::complex<float> > &
+Vector<std::complex<float> >::operator = (const std::complex<float> s)
+{
+  Assert (numbers::is_finite(s), ExcNumberNotFinite());
+  if (s != std::complex<float>())
+    Assert (vec_size!=0, ExcEmptyObject());
+  if (vec_size!=0)
+    std::fill (begin(), end(), s);
+
+  return *this;
 }
+#endif
+
 
 
 template <typename Number>
-typename Vector<Number>::real_type
-Vector<Number>::norm_sqr () const
+void
+Vector<Number>::scale (const Number factor)
+{
+  Assert (numbers::is_finite(factor),ExcNumberNotFinite());
+
+  Assert (vec_size!=0, ExcEmptyObject());
+
+  parallel::transform (val,
+                       val+vec_size,
+                       val,
+                       (factor*boost::lambda::_1),
+                       internal::Vector::minimum_parallel_grain_size);
+}
+
+
+
+template <typename Number>
+void
+Vector<Number>::add (const Number a,
+                     const Vector<Number>& v)
+{
+  Assert (numbers::is_finite(a),ExcNumberNotFinite());
+
+  Assert (vec_size!=0, ExcEmptyObject());
+  Assert (vec_size == v.vec_size, ExcDimensionMismatch(vec_size, v.vec_size));
+
+  parallel::transform (val,
+                       val+vec_size,
+                       v.val,
+                       val,
+                       (boost::lambda::_1 + a*boost::lambda::_2),
+                       internal::Vector::minimum_parallel_grain_size);
+}
+
+
+
+template <typename Number>
+void
+Vector<Number>::sadd (const Number x,
+                      const Number a,
+                      const Vector<Number>& v)
 {
+  Assert (numbers::is_finite(x),ExcNumberNotFinite());
+  Assert (numbers::is_finite(a),ExcNumberNotFinite());
+
   Assert (vec_size!=0, ExcEmptyObject());
+  Assert (vec_size == v.vec_size, ExcDimensionMismatch(vec_size, v.vec_size));
+
+  parallel::transform (val,
+                       val+vec_size,
+                       v.val,
+                       val,
+                       (x*boost::lambda::_1 + a*boost::lambda::_2),
+                       internal::Vector::minimum_parallel_grain_size);
+}
+
 
-  const unsigned int blocking = 1<<BLOCK_LEVEL;
-  real_type sum1, sum2, sum3, sum = 0.;
-  const Number * X = val, *X_end = X + vec_size,
-    *X_end3 = X + ((vec_size>>(BLOCK_LEVEL))<<(BLOCK_LEVEL)),
-    *X_end2 = X + ((vec_size>>(2*BLOCK_LEVEL))<<(2*BLOCK_LEVEL)),
-    *X_end1 = X + ((vec_size>>(3*BLOCK_LEVEL))<<(3*BLOCK_LEVEL));
 
-  while (X != X_end1)
+namespace internal
+{
+  namespace Vector
+  {
+    // All sums over all the vector entries (l2-norm, inner product, etc.) are
+    // performed with the same code, using a templated operation defined here
+    template <typename Number, typename Number2>
+    struct InnerProd
+    {
+      Number
+      operator() (const Number*&X, const Number2*&Y, const Number &) const
+      {
+        return *X++ * Number(numbers::NumberTraits<Number2>::conjugate(*Y++));
+      }
+    };
+
+    template <typename Number, typename RealType>
+    struct Norm2
+    {
+      RealType
+      operator() (const Number*&X, const Number* &, const RealType &) const
+      {
+        return numbers::NumberTraits<Number>::abs_square(*X++);
+      }
+    };
+
+    template <typename Number, typename RealType>
+    struct Norm1
+    {
+      RealType
+      operator() (const Number*&X, const Number* &, const RealType &) const
+      {
+        return numbers::NumberTraits<Number>::abs(*X++);
+      }
+    };
+
+    template <typename Number, typename RealType>
+    struct NormP
     {
-      sum1 = 0.;
-      for (unsigned int j=0; j<blocking; ++j)
+      RealType
+      operator() (const Number*&X, const Number* &, const RealType &p) const
+      {
+        return std::pow(numbers::NumberTraits<Number>::abs(*X++), p);
+      }
+    };
+
+    template <typename Number>
+    struct MeanValue
+    {
+      Number
+      operator() (const Number*&X, const Number* &, const Number &) const
+      {
+        return *X++;
+      }
+    };
+
+    // this is the main working loop for all vector sums using the templated
+    // operation above. it accumulates the sums using a block-wise summation
+    // algorithm with post-update. this blocked algorithm has been proposed in
+    // a similar form by Castaldo, Whaley and Chronopoulos (SIAM
+    // J. Sci. Comput. 31, 1156-1174, 2008) and we use the smallest possible
+    // block size, 2. Sometimes it is referred to as pairwise summation. The
+    // worst case error made by this algorithm is on the order O(eps *
+    // log2(vec_size)), whereas a naive summation is O(eps * vec_size). Even
+    // though the Kahan summation is even more accurate with an error O(eps)
+    // by carrying along remainders not captured by the sum, that involves
+    // additional costs which are not worthwhile. See the Wikipedia article on
+    // the Kahan summation algorithm.
+
+    // The algorithm implemented here has the additional benefit that it is
+    // easily parallelized without changing the order of how the elements are
+    // added (floating point addition is not associative). For the same vector
+    // size and minimum_parallel_grainsize, the blocks are always the
+    // same. Only at the innermost level, eight values are summed up
+    // consecutively in order to better balance multiplications and additions.
+
+    // The code returns the result as the last argument in order to make
+    // spawning tasks simpler and use automatic template deduction.
+    template <typename Operation, typename Number, typename Number2,
+             typename ResultType>
+    void accumulate (const Operation   &op,
+                     const Number      *X,
+                     const Number2     *Y,
+                     const ResultType   power,
+                     const unsigned int vec_size,
+                     ResultType        &result)
+    {
+      if (vec_size <= 4096)
         {
-          sum2 = 0.;
-          for (unsigned int k=0; k<blocking; ++k)
+          // the vector is short enough so we perform the summation. first
+          // work on the regular part. The innermost 32 values are expanded in
+          // order to obtain known loop bounds for most of the work.
+          const Number *X_original = X;
+          ResultType outer_results [128];
+          unsigned int n_chunks = vec_size / 32;
+          const unsigned int remainder = vec_size % 32;
+          Assert (remainder == 0 || n_chunks < 128, ExcInternalError());
+
+          for (unsigned int i=0; i<n_chunks; ++i)
             {
-              sum3 = 0.;
-              for (unsigned int i=0; i<blocking; ++i)
-                sum3 += numbers::NumberTraits<Number>::abs_square(*X++);
-              sum2 += sum3;
+              ResultType r0 = op(X, Y, power);
+              for (unsigned int j=1; j<8; ++j)
+                r0 += op(X, Y, power);
+              ResultType r1 = op(X, Y, power);
+              for (unsigned int j=1; j<8; ++j)
+                r1 += op(X, Y, power);
+              r0 += r1;
+              r1 = op(X, Y, power);
+              for (unsigned int j=1; j<8; ++j)
+                r1 += op(X, Y, power);
+              ResultType r2 = op(X, Y, power);
+              for (unsigned int j=1; j<8; ++j)
+                r2 += op(X, Y, power);
+              r1 += r2;
+              r0 += r1;
+              outer_results[i] = r0;
             }
-          sum1 += sum2;
+
+          // now work on the remainder, i.e., the last
+          // up to 32 values. Use switch statement with
+          // fall-through to work on these values.
+          if (remainder > 0)
+            {
+              const unsigned int inner_chunks = remainder / 8;
+              Assert (inner_chunks <= 3, ExcInternalError());
+              const unsigned int remainder_inner = remainder % 8;
+              ResultType r0 = ResultType(), r1 = ResultType(),
+                         r2 = ResultType();
+              switch (inner_chunks)
+                {
+                  case 3:
+                    r2 = op(X, Y, power);
+                    for (unsigned int j=1; j<8; ++j)
+                      r2 += op(X, Y, power);
+                    // no break
+                  case 2:
+                    r1 = op(X, Y, power);
+                    for (unsigned int j=1; j<8; ++j)
+                      r1 += op(X, Y, power);
+                    r1 += r2;
+                    // no break
+                  case 1:
+                    r2 = op(X, Y, power);
+                    for (unsigned int j=1; j<8; ++j)
+                      r2 += op(X, Y, power);
+                    // no break
+                  default:
+                    for (unsigned int j=0; j<remainder_inner; ++j)
+                      r0 += op(X, Y, power);
+                    r0 += r2;
+                    r0 += r1;
+                    outer_results[n_chunks] = r0;
+                    break;
+                }
+              n_chunks++;
+            }
+          AssertDimension(X - X_original, vec_size);
+
+          // now sum the results from the chunks
+          // recursively
+          while (n_chunks > 1)
+            {
+              if (n_chunks % 2 == 1)
+                outer_results[n_chunks++] = ResultType();
+              for (unsigned int i=0; i<n_chunks; i+=2)
+                outer_results[i/2] = outer_results[i] + outer_results[i+1];
+              n_chunks /= 2;
+            }
+          result = outer_results[0];
         }
-      sum += sum1;
-    }
-  while (X != X_end2)
-    {
-      sum2 = 0.;
-      for (unsigned int j=0; j<blocking; ++j)
+#if DEAL_II_USE_MT == 1
+      else if (vec_size > 4 * internal::Vector::minimum_parallel_grain_size)
         {
-          sum3 = 0.;
-          for (unsigned int i=0; i<blocking; ++i)
-            sum3 += numbers::NumberTraits<Number>::abs_square(*X++);
-          sum2 += sum3;
+          // split the vector into smaller pieces to be
+          // worked on recursively and create tasks for
+          // them. Make pieces divisible by 1024.
+          const unsigned int new_size = (vec_size / 4096) * 1024;
+          ResultType r0, r1, r2, r3;
+          Threads::TaskGroup<> task_group;
+          task_group += Threads::new_task(&accumulate<Operation,Number,Number2,
+                                          ResultType>,
+                                          op, X, Y, power, new_size, r0);
+          task_group += Threads::new_task(&accumulate<Operation,Number,Number2,
+                                          ResultType>,
+                                          op, X+new_size, Y+new_size, power,
+                                          new_size, r1);
+          task_group += Threads::new_task(&accumulate<Operation,Number,Number2,
+                                          ResultType>,
+                                          op, X+2*new_size, Y+2*new_size, power,
+                                          new_size, r2);
+          task_group += Threads::new_task(&accumulate<Operation,Number,Number2,
+                                          ResultType>,
+                                          op, X+3*new_size, Y+3*new_size, power,
+                                          vec_size-3*new_size, r3);
+          task_group.join_all();
+          r0 += r1;
+          r2 += r3;
+          result = r0 + r2;
+        }
+#endif
+      else
+        {
+          // split vector into four pieces and work on
+          // the pieces recursively. Make pieces (except last)
+          // divisible by 1024.
+          const unsigned int new_size = (vec_size / 4096) * 1024;
+          ResultType r0, r1, r2, r3;
+          accumulate (op, X, Y, power, new_size, r0);
+          accumulate (op, X+new_size, Y+new_size, power, new_size, r1);
+          accumulate (op, X+2*new_size, Y+2*new_size, power, new_size, r2);
+          accumulate (op, X+3*new_size, Y+3*new_size, power, vec_size-3*new_size, r3);
+          r0 += r1;
+          r2 += r3;
+          result = r0 + r2;
         }
-      sum += sum2;
-    }
-  while (X != X_end3)
-    {
-      sum3 = 0.;
-      for (unsigned int i=0; i<blocking; ++i)
-        sum3 += numbers::NumberTraits<Number>::abs_square(*X++);
-      sum += sum3;
     }
+  }
+}
 
-  sum3 = 0.;
-  while (X != X_end)
-    sum3 += numbers::NumberTraits<Number>::abs_square(*X++);
-  sum += sum3;
 
+
+template <typename Number>
+template <typename Number2>
+Number Vector<Number>::operator * (const Vector<Number2>& v) const
+{
+  Assert (vec_size!=0, ExcEmptyObject());
+
+  if (PointerComparison::equal (this, &v))
+    return norm_sqr();
+
+  Assert (vec_size == v.size(),
+          ExcDimensionMismatch(vec_size, v.size()));
+
+  Number sum;
+  internal::Vector::accumulate (internal::Vector::InnerProd<Number,Number2>(),
+                                val, v.val, Number(), vec_size, sum);
   Assert(numbers::is_finite(sum), ExcNumberNotFinite());
 
   return sum;
@@ -461,58 +731,29 @@ Vector<Number>::norm_sqr () const
 
 
 template <typename Number>
-Number Vector<Number>::mean_value () const
+typename Vector<Number>::real_type
+Vector<Number>::norm_sqr () const
 {
   Assert (vec_size!=0, ExcEmptyObject());
 
-  const unsigned int blocking = 1<<BLOCK_LEVEL;
-  Number sum1, sum2, sum3, sum = Number();
-  const Number * X = val, *X_end = X + vec_size,
-    *X_end3 = X + ((vec_size>>(BLOCK_LEVEL))<<(BLOCK_LEVEL)),
-    *X_end2 = X + ((vec_size>>(2*BLOCK_LEVEL))<<(2*BLOCK_LEVEL)),
-    *X_end1 = X + ((vec_size>>(3*BLOCK_LEVEL))<<(3*BLOCK_LEVEL));
+  real_type sum;
+  internal::Vector::accumulate (internal::Vector::Norm2<Number,real_type>(),
+                                val, val, real_type(), vec_size, sum);
 
-  while (X != X_end1)
-    {
-      sum1 = Number();
-      for (unsigned int j=0; j<blocking; ++j)
-        {
-          sum2 = Number();
-          for (unsigned int k=0; k<blocking; ++k)
-            {
-              sum3 = Number();
-              for (unsigned int i=0; i<blocking; ++i)
-                sum3 += *X++;
-              sum2 += sum3;
-            }
-          sum1 += sum2;
-        }
-      sum += sum1;
-    }
-  while (X != X_end2)
-    {
-      sum2 = Number();
-      for (unsigned int j=0; j<blocking; ++j)
-        {
-          sum3 = Number();
-          for (unsigned int i=0; i<blocking; ++i)
-            sum3 += *X++;
-          sum2 += sum3;
-        }
-      sum += sum2;
-    }
-  while (X != X_end3)
-    {
-      sum3 = Number();
-      for (unsigned int i=0; i<blocking; ++i)
-        sum3 += *X++;
-      sum += sum3;
-    }
+  Assert(numbers::is_finite(sum), ExcNumberNotFinite());
+
+  return sum;
+}
 
-  sum3 = Number();
-  while (X != X_end)
-    sum3 += *X++;
-  sum += sum3;
+
+template <typename Number>
+Number Vector<Number>::mean_value () const
+{
+  Assert (vec_size!=0, ExcEmptyObject());
+
+  Number sum;
+  internal::Vector::accumulate (internal::Vector::MeanValue<Number>(),
+                                val, val, Number(), vec_size, sum);
 
   return sum / real_type(size());
 }
@@ -525,54 +766,9 @@ Vector<Number>::l1_norm () const
 {
   Assert (vec_size!=0, ExcEmptyObject());
 
-  const unsigned int blocking = 1<<BLOCK_LEVEL;
-  real_type sum1, sum2, sum3, sum = 0.;
-  const Number * X = val, *X_end = X + vec_size,
-    *X_end3 = X + ((vec_size>>(BLOCK_LEVEL))<<(BLOCK_LEVEL)),
-    *X_end2 = X + ((vec_size>>(2*BLOCK_LEVEL))<<(2*BLOCK_LEVEL)),
-    *X_end1 = X + ((vec_size>>(3*BLOCK_LEVEL))<<(3*BLOCK_LEVEL));
-
-  while (X != X_end1)
-    {
-      sum1 = 0.;
-      for (unsigned int j=0; j<blocking; ++j)
-        {
-          sum2 = 0.;
-          for (unsigned int k=0; k<blocking; ++k)
-            {
-              sum3 = 0.;
-              for (unsigned int i=0; i<blocking; ++i)
-                sum3 += numbers::NumberTraits<Number>::abs(*X++);
-              sum2 += sum3;
-            }
-          sum1 += sum2;
-        }
-      sum += sum1;
-    }
-  while (X != X_end2)
-    {
-      sum2 = 0.;
-      for (unsigned int j=0; j<blocking; ++j)
-        {
-          sum3 = 0.;
-          for (unsigned int i=0; i<blocking; ++i)
-            sum3 += numbers::NumberTraits<Number>::abs(*X++);
-          sum2 += sum3;
-        }
-      sum += sum2;
-    }
-  while (X != X_end3)
-    {
-      sum3 = 0.;
-      for (unsigned int i=0; i<blocking; ++i)
-        sum3 += numbers::NumberTraits<Number>::abs(*X++);
-      sum += sum3;
-    }
-
-  sum3 = 0.;
-  while (X != X_end)
-    sum3 += numbers::NumberTraits<Number>::abs(*X++);
-  sum += sum3;
+  real_type sum;
+  internal::Vector::accumulate (internal::Vector::Norm1<Number,real_type>(),
+                                val, val, real_type(), vec_size, sum);
 
   return sum;
 }
@@ -583,7 +779,41 @@ template <typename Number>
 typename Vector<Number>::real_type
 Vector<Number>::l2_norm () const
 {
-  return std::sqrt(norm_sqr());
+  // if l2_norm()^2 is finite and non-zero, the answer is computed as
+  // std::sqrt(norm_sqr()). If norm_sqr() is infinite or zero, the l2 norm
+  // might still be finite. In that case, recompute it (this is a rare case,
+  // so working on the vector twice is uncritical and paid off by the extended
+  // precision) using the BLAS approach with a weight, see e.g. dnrm2.f.
+  Assert (vec_size!=0, ExcEmptyObject());
+
+  real_type norm_square;
+  internal::Vector::accumulate (internal::Vector::Norm2<Number,real_type>(),
+                                val, val, real_type(), vec_size, norm_square);
+  if (numbers::is_finite(norm_square) &&
+      norm_square > std::numeric_limits<real_type>::min())
+    return std::sqrt(norm_square);
+  else
+    {
+      real_type scale = 0.;
+      real_type sum = 1.;
+      for (unsigned int i=0; i<vec_size; ++i)
+        {
+          if (val[i] != Number())
+            {
+              const real_type abs_x =
+                numbers::NumberTraits<Number>::abs(val[i]);
+              if (scale < abs_x)
+                {
+                  sum = 1. + sum * (scale/abs_x) * (scale/abs_x);
+                  scale = abs_x;
+                }
+              else
+                sum += (abs_x/scale) * (abs_x/scale);
+            }
+        }
+      Assert(numbers::is_finite(scale)*std::sqrt(sum), ExcNumberNotFinite());
+      return scale * std::sqrt(sum);
+    }
 }
 
 
@@ -597,58 +827,35 @@ Vector<Number>::lp_norm (const real_type p) const
   if (p == 1.)
     return l1_norm();
   else if (p == 2.)
-    return std::sqrt(norm_sqr());
+    return l2_norm();
 
-  const unsigned int blocking = 1<<BLOCK_LEVEL;
-  real_type sum1, sum2, sum3, sum = 0.;
-  const Number * X = val, *X_end = X + vec_size,
-    *X_end3 = X + ((vec_size>>(BLOCK_LEVEL))<<(BLOCK_LEVEL)),
-    *X_end2 = X + ((vec_size>>(2*BLOCK_LEVEL))<<(2*BLOCK_LEVEL)),
-    *X_end1 = X + ((vec_size>>(3*BLOCK_LEVEL))<<(3*BLOCK_LEVEL));
+  real_type sum;
+  internal::Vector::accumulate (internal::Vector::NormP<Number,real_type>(),
+                                val, val, p, vec_size, sum);
 
-  while (X != X_end1)
+  if (numbers::is_finite(sum) && sum > std::numeric_limits<real_type>::min())
+    return std::pow(sum, static_cast<real_type>(1./p));
+  else
     {
-      sum1 = 0.;
-      for (unsigned int j=0; j<blocking; ++j)
+      real_type scale = 0.;
+      real_type sum = 1.;
+      for (unsigned int i=0; i<vec_size; ++i)
         {
-          sum2 = 0.;
-          for (unsigned int k=0; k<blocking; ++k)
+          if (val[i] != Number())
             {
-              sum3 = 0.;
-              for (unsigned int i=0; i<blocking; ++i)
-                sum3 += std::pow(numbers::NumberTraits<Number>::abs(*X++),p);
-              sum2 += sum3;
+              const real_type abs_x =
+                numbers::NumberTraits<Number>::abs(val[i]);
+              if (scale < abs_x)
+                {
+                  sum = 1. + sum * std::pow(scale/abs_x, p);
+                  scale = abs_x;
+                }
+              else
+                sum += std::pow(abs_x/scale, p);
             }
-          sum1 += sum2;
-        }
-      sum += sum1;
-    }
-  while (X != X_end2)
-    {
-      sum2 = 0.;
-      for (unsigned int j=0; j<blocking; ++j)
-        {
-          sum3 = 0.;
-          for (unsigned int i=0; i<blocking; ++i)
-            sum3 += std::pow(numbers::NumberTraits<Number>::abs(*X++),p);
-          sum2 += sum3;
         }
-      sum += sum2;
+      return scale * std::pow(sum, static_cast<real_type>(1./p));
     }
-  while (X != X_end3)
-    {
-      sum3 = 0.;
-      for (unsigned int i=0; i<blocking; ++i)
-        sum3 += std::pow(numbers::NumberTraits<Number>::abs(*X++),p);
-      sum += sum3;
-    }
-
-  sum3 = 0.;
-  while (X != X_end)
-    sum3 += std::pow(numbers::NumberTraits<Number>::abs(*X++),p);
-  sum += sum3;
-
-  return std::pow(sum, static_cast<real_type>(1./p));
 }
 
 
@@ -797,13 +1004,13 @@ void Vector<Number>::sadd (const Number x, const Number a,
   Assert (vec_size == w.vec_size, ExcDimensionMismatch(vec_size, w.vec_size));
 
   if (vec_size>internal::Vector::minimum_parallel_grain_size)
-  parallel::transform (val,
-                       val+vec_size,
-                       v.val,
-                       w.val,
-                       val,
-                       (x*boost::lambda::_1 + a*boost::lambda::_2 + b*boost::lambda::_3),
-                       internal::Vector::minimum_parallel_grain_size);
+    parallel::transform (val,
+                         val+vec_size,
+                         v.val,
+                         w.val,
+                         val,
+                         (x*boost::lambda::_1 + a*boost::lambda::_2 + b*boost::lambda::_3),
+                         internal::Vector::minimum_parallel_grain_size);
   else if (vec_size > 0)
     for (unsigned int i=0; i<vec_size; ++i)
       val[i] = x*val[i] + a * v.val[i] + b * w.val[i];
@@ -1008,9 +1215,9 @@ Vector<Number>::operator = (const PETScWrappers::Vector &v)
 
       internal::copy (start_ptr, start_ptr+vec_size, begin());
 
-                                       // restore the representation of the
-                                       // vector
-      ierr = VecRestoreArray (static_cast<const Vec&>(v), &start_ptr);
+      // restore the representation of the
+      // vector
+      ierr = VecRestoreArray (static_cast<const Vec &>(v), &start_ptr);
       AssertThrow (ierr == 0, ExcPETScError(ierr));
     }
 
@@ -1145,7 +1352,7 @@ void Vector<Number>::print (std::ostream      &out,
 
 template <typename Number>
 void
-Vector<Number>::print (LogStreamout, const unsigned int width, const bool across) const
+Vector<Number>::print (LogStream &out, const unsigned int width, const bool across) const
 {
   Assert (vec_size!=0, ExcEmptyObject());
 
@@ -1177,11 +1384,11 @@ void Vector<Number>::block_write (std::ostream &out) const
   std::strcat(buf, "\n[");
 
   out.write(buf, std::strlen(buf));
-  out.write (reinterpret_cast<const char*>(begin()),
-             reinterpret_cast<const char*>(end())
-             - reinterpret_cast<const char*>(begin()));
+  out.write (reinterpret_cast<const char *>(begin()),
+             reinterpret_cast<const char *>(end())
+             - reinterpret_cast<const char *>(begin()));
 
-                                   // out << ']';
+  // out << ']';
   const char outro = ']';
   out.write (&outro, 1);
 
@@ -1208,15 +1415,15 @@ void Vector<Number>::block_read (std::istream &in)
   reinit (sz, true);
 
   char c;
-                                   //  in >> c;
+  //  in >> c;
   in.read (&c, 1);
   AssertThrow (c=='[', ExcIO());
 
-  in.read (reinterpret_cast<char*>(begin()),
-           reinterpret_cast<const char*>(end())
-           - reinterpret_cast<const char*>(begin()));
+  in.read (reinterpret_cast<char *>(begin()),
+           reinterpret_cast<const char *>(end())
+           - reinterpret_cast<const char *>(begin()));
 
-                                   //  in >> c;
+  //  in >> c;
   in.read (&c, 1);
   AssertThrow (c==']', ExcIO());
 }
index 8c680c96464649e855ad7cb311a990f57f745e97..6f2ee7ba7e729fbc444a672c6bdba1fd3ac8b2d8 100644 (file)
@@ -21,8 +21,17 @@ DEAL_II_NAMESPACE_OPEN
 
 namespace internal
 {
-namespace MatrixFreeFunctions
-{
+  namespace MatrixFreeFunctions
+  {
+
+    struct ConstraintComparator
+    {
+      bool operator()(const std::pair<unsigned int,double> &p1,
+                      const std::pair<unsigned int,double> &p2) const
+      {
+        return p1.second < p2.second;
+      }
+    };
 
                                      /**
                                       * A struct that takes entries describing
@@ -52,135 +61,62 @@ namespace MatrixFreeFunctions
       unsigned short
       insert_entries (const std::vector<std::pair<unsigned int,double> > &entries);
 
-      std::vector<Number> constraint_pool_data;
-      std::vector<unsigned int> constraint_pool_row_index;
-      std::vector<std::pair<unsigned int, unsigned int> >  pool_locations;
-      std::vector<std::pair<Number,unsigned int> > constraint_entries;
+      std::vector<std::pair<unsigned int, double> > constraint_entries;
       std::vector<unsigned int> constraint_indices;
-      std::vector<double>      one_constraint;
-      HashValue                hashes;
+      std::pair<std::vector<Number>,unsigned int> next_constraint;
+      std::map<std::vector<Number>,unsigned int,FPArrayComparator<double> > constraints;
     };
 
 
     template <typename Number>
     ConstraintValues<Number>::ConstraintValues ()
       :
-      hashes (1.)
-    {
-      constraint_pool_row_index.push_back (0);
-    }
+      constraints(FPArrayComparator<Number>(1.))
+    {}
 
     template <typename Number>
     unsigned short
     ConstraintValues<Number>::
     insert_entries (const std::vector<std::pair<unsigned int,double> > &entries)
     {
-      unsigned int insert_position = deal_II_numbers::invalid_unsigned_int;
-
-      typedef std::vector<std::pair<unsigned int, unsigned int> >::iterator iter;
-      constraint_entries.resize(entries.size());
-      one_constraint.resize(entries.size());
-      constraint_indices.resize(entries.size());
-      for (unsigned int j=0;j<entries.size(); j++)
-        {
-          constraint_entries[j].first = entries[j].second;
-          constraint_entries[j].second = entries[j].first;
-        }
-
-      std::sort(constraint_entries.begin(),constraint_entries.end());
-      for (unsigned int j=0;j<entries.size(); j++)
+      next_constraint.first.resize(entries.size());
+      if (entries.size() > 0)
         {
+          constraint_indices.resize(entries.size());
+          constraint_entries = entries;
+          std::sort(constraint_entries.begin(), constraint_entries.end(),
+                    ConstraintComparator());
+          for (unsigned int j=0;j<constraint_entries.size(); j++)
+            {
                           // copy the indices of the constraint entries after
                           // sorting.
-          constraint_indices[j] = constraint_entries[j].second;
+              constraint_indices[j] = constraint_entries[j].first;
 
                           // one_constraint takes the weights of the
                           // constraint
-          one_constraint[j] = constraint_entries[j].first;
+              next_constraint.first[j] = constraint_entries[j].second;
+            }
         }
+      next_constraint.second = constraints.size();
 
                                 // check whether or not constraint is already
-                                // in pool
-      unsigned int hash_val = hashes(one_constraint);
-      std::pair<unsigned int,unsigned int> test (hash_val, 0);
-
-                                // Try to find a constraint in the pool with
-                                // the same hash value.
-      iter pos = std::lower_bound (pool_locations.begin(),
-                                   pool_locations.end(),
-                                   test);
-
-                                // If constraint has to be added, which will
-                                // be its no.
-      test.second = constraint_pool_row_index.size()-1;
-
-                                // Hash value larger than all the ones
-                                // before. We need to add it.
-      if (pos == pool_locations.end())
-        goto insert;
-
-                                // A constraint in the pool with the same hash
-                                // value identified.
-      else if (pos->first == test.first)
-        {
-          bool is_same = true;
-          while(is_same == true)
-            {
-              if(one_constraint.size()!=
-                 (constraint_pool_row_index[pos->second+1]-
-                  constraint_pool_row_index[pos->second]))
-                                // The constraints have different length, and
-                                // hence different.
-                is_same = false;
-              else
-                for (unsigned int q=0; q<one_constraint.size(); ++q)
-                                // check whether or not all weights are the
-                                // same.
-                  if (std::fabs(constraint_pool_data[constraint_pool_row_index
-                                                     [pos->second]+q]-
-                                one_constraint[q])>hashes.scaling)
-                    {
-                      is_same = false;
-                      break;
-                    }
-              if (is_same == false)
-                {
-                                // Try if there is another constraint with the
-                                // same hash value.
-                  ++pos;
-                  if (pos != pool_locations.end() && pos->first == test.first)
-                    is_same = true;
-                  else
-                    goto insert;
-                }
-              else
-                {
-                                // The constraint is the same as the
-                                // (pos->second)th in the pool. Add the
-                                // location of constraint in pool
-                  insert_position = pos->second;
-                  break;
-                }
-            }
-        }
+                                // in pool. the initial implementation
+                                // computed a hash value based on the truncated
+                                // array (to given accuracy around 1e-13) in
+                                // order to easily detect different arrays and
+                                // then made a fine-grained check when the
+                                // hash values were equal. this was quite
+                                // lenghty and now we use a std::map with a
+                                // user-defined comparator to compare floating
+                                // point arrays to a tolerance 1e-13.
+      std::pair<typename std::map<std::vector<Number>, unsigned int,
+                                  FPArrayComparator<Number> >::iterator,
+                bool> it = constraints.insert(next_constraint);
+      unsigned int insert_position = deal_II_numbers::invalid_unsigned_int;
+      if (it.second == false)
+        insert_position = it.first->second;
       else
-        {
-                                // A new constraint has been identified. It
-                                // needs to be added (at the position
-                                // test->second in pool_locations).
-        insert:
-          pool_locations.insert (pos, test);
-
-                                // Remember hash value and location of
-                                // constraint.
-          constraint_pool_data.insert (constraint_pool_data.end(),
-                                       one_constraint.begin(),
-                                       one_constraint.end());
-          constraint_pool_row_index.push_back (constraint_pool_data.size());
-
-                                // Add the location of constraint in pool.
-          insert_position = test.second;
-        }
+        insert_position = next_constraint.second;
 
                                 // we want to store the result as a short
                                 // variable, so we have to make sure that the
@@ -214,6 +150,9 @@ namespace MatrixFreeFunctions
     dofs_per_cell (dof_info_in.dofs_per_cell),
     dofs_per_face (dof_info_in.dofs_per_face),
     store_plain_indices (dof_info_in.store_plain_indices),
+    cell_active_fe_index (dof_info_in.cell_active_fe_index),
+    max_fe_index (dof_info_in.max_fe_index),
+    fe_index_conversion (dof_info_in.fe_index_conversion),
     ghost_dofs (dof_info_in.ghost_dofs)
   {}
 
@@ -229,9 +168,13 @@ namespace MatrixFreeFunctions
     ghost_dofs.clear();
     dofs_per_cell.clear();
     dofs_per_face.clear();
+    n_components = 0;
     row_starts_plain_indices.clear();
     plain_dof_indices.clear();
     store_plain_indices = false;
+    cell_active_fe_index.clear();
+    max_fe_index = 0;
+    fe_index_conversion.clear();
   }
 
 
@@ -251,7 +194,7 @@ namespace MatrixFreeFunctions
     const unsigned int n_owned     = last_owned - first_owned;
     std::pair<unsigned short,unsigned short> constraint_iterator (0,0);
 
-    unsigned int dofs_this_cell = (cell_active_fe_index.size() == 0) ?
+    unsigned int dofs_this_cell = (cell_active_fe_index.empty()) ?
       dofs_per_cell[0] : dofs_per_cell[cell_active_fe_index[cell_number]];
     for (unsigned int i=0; i<dofs_this_cell; i++)
       {
@@ -390,21 +333,6 @@ namespace MatrixFreeFunctions
               }
           }
       }
-
-#ifdef DEBUG
-    {
-      unsigned int n_dofs = 0;
-      const std::pair<unsigned short,unsigned short> * blb = begin_indicators(cell_number);
-      for (unsigned int j=0; j<row_length_indicators(cell_number); ++j)
-        {
-          n_dofs += blb[j].first;
-          n_dofs += constraint_values.constraint_pool_row_index[blb[j].second+1]
-            - constraint_values.constraint_pool_row_index[blb[j].second];
-        }
-      n_dofs += constraint_iterator.first;
-      AssertDimension(n_dofs, row_length_indices(cell_number));
-    }
-#endif
   }
 
 
@@ -535,7 +463,7 @@ namespace MatrixFreeFunctions
                                                  numbers::invalid_unsigned_int);
     const unsigned int n_boundary_cells = boundary_cells.size();
     for (unsigned int j=0; j<n_boundary_cells; ++j)
-      reverse_numbering[boundary_cells[j]] = 
+      reverse_numbering[boundary_cells[j]] =
         j + size_info.vectorization_length*size_info.boundary_cells_start;
     unsigned int counter = 0;
     unsigned int j = 0;
@@ -660,7 +588,7 @@ namespace MatrixFreeFunctions
     size_info.boundary_cells_end   = (size_info.boundary_cells_end -
                                       size_info.boundary_cells_start);
     size_info.boundary_cells_start = 0;
-    
+
     AssertDimension (counter, size_info.n_active_cells);
     renumbering = Utilities::invert_permutation (reverse_numbering);
   }
@@ -822,7 +750,7 @@ namespace MatrixFreeFunctions
     new_row_starts[size_info.n_macro_cells] =
       std_cxx1x::tuple<unsigned int,unsigned int,unsigned int>
       (new_dof_indices.size(), new_constraint_indicator.size(), 0);
-      
+
     AssertDimension(dof_indices.size(), new_dof_indices.size());
     AssertDimension(constraint_indicator.size(),
                     new_constraint_indicator.size());
@@ -984,7 +912,8 @@ namespace MatrixFreeFunctions
       for(counter=start_nonboundary*vectorization_length;
           counter<size_info.n_active_cells; counter++)
         {
-          renumbering_fe_index[cell_active_fe_index[renumbering[counter]]].
+          renumbering_fe_index[cell_active_fe_index.empty() ? 0 :
+                               cell_active_fe_index[renumbering[counter]]].
             push_back(renumbering[counter]);
         }
       counter = start_nonboundary * vectorization_length;
@@ -1010,14 +939,14 @@ namespace MatrixFreeFunctions
       if (task_info.block_size_last == 0)
         task_info.block_size_last = task_info.block_size;
     }
-    
+
                                     // assume that all FEs have the same
                                 // connectivity graph, so take the zeroth FE
     task_info.n_blocks = (size_info.n_macro_cells+task_info.block_size-1)/
       task_info.block_size;
     task_info.block_size_last = size_info.n_macro_cells-
       (task_info.block_size*(task_info.n_blocks-1));
-                                
+
                                     // create the connectivity graph with internal
                                 // blocking
     CompressedSimpleSparsityPattern connectivity;
@@ -1098,7 +1027,7 @@ namespace MatrixFreeFunctions
                         neighbor_neighbor_list.push_back(*neighbor);
                         partition_list[counter++] = *neighbor;
                       }
-                  }                  
+                  }
               }
             neighbor_list = neighbor_neighbor_list;
             neighbor_neighbor_list.resize(0);
@@ -1573,7 +1502,8 @@ namespace MatrixFreeFunctions
                         for(cell=counter-partition_counter; cell<counter; ++cell)
                           {
                             renumbering_fe_index
-                              [cell_active_fe_index[partition_partition_list
+                              [cell_active_fe_index.empty() ? 0 :
+                               cell_active_fe_index[partition_partition_list
                                                     [cell]]].
                               push_back(partition_partition_list[cell]);
                           }
@@ -1640,7 +1570,8 @@ namespace MatrixFreeFunctions
                               {
                                 unsigned int this_index = 0;
                                 if(hp_bool == true)
-                                  this_index = cell_active_fe_index[*neighbor];
+                                  this_index = cell_active_fe_index.empty() ? 0 :
+                                    cell_active_fe_index[*neighbor];
 
                                 // Only add this cell if we need more macro
                                 // cells in the current block or if there is a
@@ -2107,13 +2038,13 @@ namespace MatrixFreeFunctions
       (out, (row_starts.capacity()*sizeof(std_cxx1x::tuple<unsigned int,
                                           unsigned int, unsigned int>)));
     out << "       Memory dof indices:           ";
-    size_info.print_memory_statistics 
+    size_info.print_memory_statistics
       (out, MemoryConsumption::memory_consumption (dof_indices));
     out << "       Memory constraint indicators: ";
     size_info.print_memory_statistics
       (out, MemoryConsumption::memory_consumption (constraint_indicator));
     out << "       Memory plain indices:         ";
-    size_info.print_memory_statistics 
+    size_info.print_memory_statistics
       (out, MemoryConsumption::memory_consumption (row_starts_plain_indices)+
        MemoryConsumption::memory_consumption (plain_dof_indices));
     out << "       Memory vector partitioner:    ";
@@ -2169,7 +2100,7 @@ namespace MatrixFreeFunctions
   }
 
 
-} // end of namespace MatrixFreeFunctions
+  } // end of namespace MatrixFreeFunctions
 } // end of namespace internal
 
 DEAL_II_NAMESPACE_CLOSE
index 5fccb9d8b61f36a5875c6b32da30968042efa665..b9558fa3c0b038962f23c1db5a37353c2565f7d2 100644 (file)
@@ -22,8 +22,6 @@
 #include <deal.II/base/tensor.h>
 #include <deal.II/base/vectorization.h>
 
-#include <boost/functional/hash.hpp>
-
 DEAL_II_NAMESPACE_OPEN
 
 
@@ -100,7 +98,7 @@ namespace MatrixFreeFunctions
                                  * to zero.
                                  */
     void clear();
-    
+
                                 /**
                                  * Prints minimum, average, and
                                  * maximal memory consumption over the
@@ -144,54 +142,38 @@ namespace MatrixFreeFunctions
 
                                 /**
                                  * Data type to identify cell type.
-                                 */ 
+                                 */
   enum CellType {cartesian=0, affine=1, general=2, undefined=3};
 
-  // ----------------- hash structure --------------------------------
 
-                                /**
-                                 * A class that is
-                                 * used to quickly find out whether two
-                                 * vectors of floating point numbers are the
-                                 * same without going through all the
-                                 * elements: store a hash value for each
-                                 * vector. Generate the
-                                 * hash value by a sum of all values
-                                 * multiplied by random numbers (cast to
-                                 * int). Of course, this is not a sure
-                                 * criterion and one must manually check for
-                                 * equality before this hash is telling
-                                 * something useful. However, inequalities are
-                                 * easily detected (unless roundoff spoils the
-                                 * hash function)
-                                 */
-  struct HashValue
+  /**
+   * A class that is used to compare floating point arrays (e.g. std::vectors,
+   * Tensor<1,dim>, etc.). The idea of this class is to consider two arrays as
+   * equal if they are the same within a given tolerance. We use this
+   * comparator class within an std::map<> of the given arrays. Note that this
+   * comparison operator does not satisfy all the mathematical properties one
+   * usually wants to have (consider e.g. the numbers a=0, b=0.1, c=0.2 with
+   * tolerance 0.15; the operator gives a<c, but neither of a<b? or b<c? is
+   * satisfied). This is not a problem in the use cases for this class, but be
+   * careful when using it in other contexts.
+   */
+  template<typename Number>
+  struct FPArrayComparator
   {
-                                // Constructor: sets the size of Number values
-                                // with the typical magnitude that is to be
-                                // expected.
-    HashValue (const double element_size = 1.);
-    
-                                // get hash value for a vector of floating
-                                // point numbers (which are assumed to be of
-                                // order of magnitude one). Do this by first
-                                // truncating everything that is smaller than
-                                // the scaling (in order to eliminate noise
-                                // from roundoff errors) and then calling the
-                                // boost hash function
-    unsigned int operator ()(const std::vector<double> &vec);
-
-                                // get hash value for a tensor of rank
-                                // two where the magnitude of the
-                                // entries is given by the parameter
-                                // weight
-    template <int dim, typename number>
-    unsigned int operator ()(const Tensor<2,dim,VectorizedArray<number> > 
-                             &input,
-                             const bool     is_diagonal);
-    
-    const double scaling;
+    FPArrayComparator (const Number scaling);
+
+    bool operator() (const std::vector<Number> &v1,
+                     const std::vector<Number> &v2) const;
+
+    template <int dim>
+    bool operator ()(const Tensor<1,dim,VectorizedArray<Number> > *t1,
+                     const Tensor<1,dim,VectorizedArray<Number> > *t2) const;
+
+    template <int dim>
+    bool operator ()(const Tensor<2,dim,VectorizedArray<Number> > *t1,
+                     const Tensor<2,dim,VectorizedArray<Number> > *t2) const;
+
+    Number tolerance;
   };
 
   // Note: Implementation in matrix_free.templates.h
index 9d1626f45a9e08af1301172e24433ece5a51d064..f36c058080eb54eddc6c6849e035a7975104ce18 100644 (file)
@@ -202,7 +202,7 @@ namespace MatrixFreeFunctions
               Utilities::fixed_power<dim>(n_q_points_1d[q]);
             current_data.n_q_points.push_back (n_q_points);
 
-            current_data.n_q_points_face.push_back 
+            current_data.n_q_points_face.push_back
               (Utilities::fixed_power<dim-1>(n_q_points_1d[q]));
             current_data.quadrature.push_back
               (Quadrature<dim>(quad[my_q][q]));
@@ -245,7 +245,7 @@ namespace MatrixFreeFunctions
                                 // considered together, this variable holds
                                 // the individual info of the last chunk of
                                 // cells
-        CellType cell_t [vectorization_length], 
+        CellType cell_t [vectorization_length],
           cell_t_prev [vectorization_length];
         for (unsigned int j=0; j<vectorization_length; ++j)
           cell_t_prev[j] = undefined;
@@ -287,11 +287,11 @@ namespace MatrixFreeFunctions
               current_data.jacobians_grad_upper.reserve (reserve_size);
           }
 
-                                // a hash structure that is used to detect
-                                // similarities between mapping data from one
-                                // cell to the next.
-        std::vector<std::pair<unsigned int, int> > hash_collection;
-        HashValue hash_value (jacobian_size);
+        FPArrayComparator<Number> comparator(jacobian_size);
+        std::map<const Tensor<1,dim,VectorizedArray<Number> >*, unsigned int,
+                 FPArrayComparator<Number> > cartesians(comparator);
+        std::map<const Tensor<2,dim,VectorizedArray<Number> >*, unsigned int,
+                 FPArrayComparator<Number> > affines(comparator);
 
                                 // loop over all cells
         for (unsigned int cell=0; cell<n_macro_cells; ++cell)
@@ -305,7 +305,7 @@ namespace MatrixFreeFunctions
               active_fe_index[cell] : 0;
             const unsigned int n_q_points = current_data.n_q_points[fe_index];
             if (fe_values[fe_index].get() == 0)
-              fe_values[fe_index].reset 
+              fe_values[fe_index].reset
                 (new FEValues<dim> (mapping, dummy_fe,
                                     current_data.quadrature[fe_index],
                                     update_flags_feval));
@@ -341,105 +341,73 @@ namespace MatrixFreeFunctions
                   if (cell_t[j] > most_general_type)
                     most_general_type = cell_t[j];
                 AssertIndexRange (most_general_type, 3);
+                unsigned int insert_position = numbers::invalid_unsigned_int;
 
                                 // Cartesian cell with diagonal Jacobian: only
                                 // insert the diagonal of the inverse and the
-                                // Jacobian determinant
-                unsigned int insert_position = numbers::invalid_unsigned_int;
-                typedef std::vector<std::pair<unsigned int,int> >::iterator iter;
+                                // Jacobian determinant. We do this by using
+                                // an std::map that collects pointers to all
+                                // Cartesian Jacobians. We need a pointer in
+                                // the std::map because it cannot store data
+                                // based on VectorizedArray (alignment
+                                // issue). We circumvent the problem by
+                                // temporarily filling the next value into the
+                                // cartesian_data field and, in case we did an
+                                // insertion, the data is already in the
+                                // correct place.
                 if (most_general_type == cartesian)
                   {
-                    std::pair<Tensor<1,dim,VectorizedArray<Number> >,
-                              VectorizedArray<Number> > new_entry;
+                    std::pair<const Tensor<1,dim,VectorizedArray<Number> >*,
+                              unsigned int> new_entry;
+                    new_entry.second = cartesian_data.size();
+                    Tensor<1,dim,VectorizedArray<Number> > cart;
                     for (unsigned int d=0; d<dim; ++d)
-                      new_entry.first[d] = data.const_jac[d][d];
-                    insert_position = cartesian_data.size();
-
-                                // check whether everything is the same as on
-                                // another cell before. find an insertion point
-                                // in the list of keys that we have
-                                // collected. put negative position so that
-                                // the insertion position from lower_bound is
-                                // that with the same key
-                    const unsigned int hash = hash_value.template operator()<dim,Number> (data.const_jac, true);
-                    std::pair<unsigned int,int> insertion (hash, -insert_position);
-                    iter pos = std::lower_bound (hash_collection.begin(),
-                                                 hash_collection.end(),
-                                                 insertion);
-
-                                // ok, found a data field with the same
-                                // key. check whether we really hit a
-                                // duplicate, i.e., whether the hash really
-                                // was effective
-                    bool duplicate = true;
-                    if (pos != hash_collection.end() &&
-                        pos->first == hash)
-                      {
-                        for (unsigned int d=0; d<dim; ++d)
-                          for (unsigned int j=0; j<vectorization_length; ++j)
-                            if (std::fabs(data.const_jac[d][d][j]-
-                                          cartesian_data[-pos->second].first[d][j])>
-                                hash_value.scaling)
-                              duplicate = false;
-                      }
-                    else
-                      duplicate = false;
-
-                                // if no duplicate, insert the data
-                    if (duplicate == false)
+                      cart[d] = data.const_jac[d][d];
+                    cartesian_data.push_back
+                      (std::pair<Tensor<1,dim,VectorizedArray<Number> >,
+                                 VectorizedArray<Number> >
+                       (cart, VectorizedArray<Number>()));
+                    new_entry.first = &cartesian_data[new_entry.second].first;
+
+                    std::pair<typename std::
+                              map<const Tensor<1,dim,VectorizedArray<Number> >*,
+                                  unsigned int,
+                                  FPArrayComparator<Number> >::iterator,
+                              bool> it = cartesians.insert(new_entry);
+                    if (it.second == false)
                       {
-                        hash_collection.insert (pos, insertion);
-                        cartesian_data.push_back (new_entry);
+                        insert_position = it.first->second;
+                        cartesian_data.resize(new_entry.second);
                       }
-                                // else, remember the position
                     else
-                      insert_position = -pos->second;
+                      insert_position = new_entry.second;
                   }
 
                                 // Constant Jacobian case. same strategy as
                                 // before, but with other data fields
                 else if (most_general_type == affine)
                   {
-                    insert_position = affine_data.size();
-
-                                // check whether everything is the same as on
-                                // the previous cell
-                    const unsigned int hash = hash_value.template operator()<dim,Number> (data.const_jac, false);
-                    std::pair<unsigned int,int> insertion (hash, -insert_position);
-                    iter pos = std::lower_bound (hash_collection.begin(),
-                                                 hash_collection.end(),
-                                                 insertion);
-
-                                // ok, found a data field with the same
-                                // key. check whether we really hit a
-                                // duplicate
-                    bool duplicate = true;
-                    if (pos != hash_collection.end() &&
-                        pos->first == hash)
+                    std::pair<const Tensor<2,dim,VectorizedArray<Number> >*,
+                              unsigned int> new_entry;
+                    new_entry.second = affine_data.size();
+                    affine_data.push_back
+                      (std::pair<Tensor<2,dim,VectorizedArray<Number> >,
+                                 VectorizedArray<Number> >
+                       (data.const_jac, VectorizedArray<Number>()));
+                    new_entry.first = &affine_data[new_entry.second].first;
+
+                    std::pair<typename std::
+                              map<const Tensor<2,dim,VectorizedArray<Number> >*,
+                                  unsigned int,
+                                  FPArrayComparator<Number> >::iterator,
+                              bool> it = affines.insert(new_entry);
+                    if (it.second == false)
                       {
-                        for (unsigned int d=0; d<dim; ++d)
-                          for (unsigned int e=0; e<dim; ++e)
-                            for (unsigned int j=0; j<vectorization_length; ++j)
-                              if (std::fabs(data.const_jac[d][e][j]-
-                                            affine_data[-pos->second].first[d]
-                                            [e][j])>
-                                  hash_value.scaling)
-                                duplicate = false;
+                        insert_position = it.first->second;
+                        affine_data.resize(new_entry.second);
                       }
                     else
-                      duplicate = false;
-
-                    if (duplicate == false)
-                      {
-                        hash_collection.insert (pos, insertion);
-                        affine_data.push_back 
-                          (std::pair<Tensor<2,dim,VectorizedArray<Number> >,
-                           VectorizedArray<Number> >(data.const_jac,
-                                                     make_vectorized_array 
-                                                     (Number(0.))));
-                      }
-                    else
-                      insert_position = -pos->second;
+                      insert_position = new_entry.second;
                   }
 
                                 // general cell case: first resize the data
@@ -598,7 +566,7 @@ namespace MatrixFreeFunctions
 
             if (update_flags & update_quadrature_points)
               {
-                                 // eventually we turn to the quadrature points
+                                // eventually we turn to the quadrature points
                                 // that we can compress in case we have
                                 // Cartesian cells. we also need to reorder
                                 // them into arrays of vectorized data types.
@@ -636,7 +604,7 @@ namespace MatrixFreeFunctions
                   }
               }
           } // end for ( cell < n_macro_cells )
-        current_data.rowstart_jacobians.push_back 
+        current_data.rowstart_jacobians.push_back
           (current_data.jacobians.size());
         current_data.rowstart_q_points[n_macro_cells] =
           current_data.quadrature_points.size();
@@ -711,7 +679,7 @@ namespace MatrixFreeFunctions
                                 // and we already have determined that this
                                 // cell is either Cartesian or with constant
                                 // Jacobian, we have nothing more to do.
-        if (my_q > 0 && (get_cell_type(cell) == cartesian 
+        if (my_q > 0 && (get_cell_type(cell) == cartesian
                          || get_cell_type(cell) == affine) )
           continue;
 
@@ -957,7 +925,7 @@ namespace MatrixFreeFunctions
     if (general_size_glob > 0)
       {
         out << "      Memory Jacobian data:          ";
-        size_info.print_memory_statistics 
+        size_info.print_memory_statistics
           (out, MemoryConsumption::memory_consumption (jacobians) +
            MemoryConsumption::memory_consumption (JxW_values));
         out << "      Memory second derivative data: ";
@@ -976,7 +944,7 @@ namespace MatrixFreeFunctions
     if (quad_size_glob > 0)
       {
         out << "      Memory quadrature points:      ";
-        size_info.print_memory_statistics 
+        size_info.print_memory_statistics
           (out, MemoryConsumption::memory_consumption (rowstart_q_points) +
            MemoryConsumption::memory_consumption (quadrature_points));
       }
@@ -990,10 +958,10 @@ namespace MatrixFreeFunctions
                                                          const SizeInfo &size_info) const
   {
     out << "    Cell types:                      ";
-    size_info.print_memory_statistics 
+    size_info.print_memory_statistics
       (out, MemoryConsumption::memory_consumption (cell_type));
     out << "    Memory transformations compr:    ";
-    size_info.print_memory_statistics 
+    size_info.print_memory_statistics
       (out, MemoryConsumption::memory_consumption (affine_data) +
        MemoryConsumption::memory_consumption (cartesian_data));
     for (unsigned int j=0; j<mapping_data_gen.size(); ++j)
index 266a77f58e4ce26518a1afc041849409e0f36883..bf75c4a7b8a6ed53160c08a671c5e69d79287737 100644 (file)
@@ -1011,6 +1011,12 @@ public:
   const internal::MatrixFreeFunctions::DoFInfo &
   get_dof_info (const unsigned int fe_component = 0) const;
 
+                                /**
+                                 * Returns the number of weights in the
+                                 * constraint pool.
+                                 */
+  unsigned int n_constraint_pool_entries() const;
+
                                 /**
                                  * Returns a pointer to the first
                                  * number in the constraint pool data
@@ -1330,6 +1336,16 @@ MatrixFree<dim,Number>::get_dof_info (unsigned int dof_index) const
 
 
 
+template <int dim, typename Number>
+inline
+unsigned int
+MatrixFree<dim,Number>::n_constraint_pool_entries() const
+{
+  return constraint_pool_row_index.size()-1;
+}
+
+
+
 template <int dim, typename Number>
 inline
 const Number*
index c26e375a722ebe01389a1895103669f8234a0c61..8faeee770d91f5311641eec99e91b67a312a03fc 100644 (file)
@@ -771,19 +771,38 @@ void MatrixFree<dim,Number>::initialize_indices
     AssertDimension (cell_level_index.size(),size_info.n_macro_cells*vectorization_length);
   }
 
-                                // set constraint pool and reorder the indices
-  constraint_pool_row_index =
-    constraint_values.constraint_pool_row_index;
-  constraint_pool_data.resize (constraint_values.constraint_pool_data.size());
-  std::copy (constraint_values.constraint_pool_data.begin(),
-             constraint_values.constraint_pool_data.end(),
-             constraint_pool_data.begin());
-  for (unsigned int no=0; no<n_fe; ++no)
+                                // set constraint pool from the std::map and
+                                // reorder the indices
+  typename std::map<std::vector<double>, unsigned int,
+           internal::MatrixFreeFunctions::FPArrayComparator<Number> >::iterator
+    it = constraint_values.constraints.begin(),
+    end = constraint_values.constraints.end();
+  std::vector<const std::vector<double>*>
+    constraints (constraint_values.constraints.size());
+  unsigned int length = 0;
+  for ( ; it != end; ++it)
+    {
+      AssertIndexRange(it->second, constraints.size());
+      constraints[it->second] = &it->first;
+      length += it->first.size();
+    }
+  constraint_pool_data.clear();
+  constraint_pool_data.reserve (length);
+  constraint_pool_row_index.reserve(constraint_values.constraints.size()+1);
+  constraint_pool_row_index.resize(1, 0);
+  for (unsigned int i=0; i<constraints.size(); ++i)
     {
-      dof_info[no].reorder_cells(size_info, renumbering,
-                                 constraint_pool_row_index,
-                                 irregular_cells, vectorization_length);
+      Assert(constraints[i] != 0, ExcInternalError());
+      constraint_pool_data.insert(constraint_pool_data.end(),
+                                  constraints[i]->begin(),
+                                  constraints[i]->end());
+      constraint_pool_row_index.push_back(constraint_pool_data.size());
     }
+  AssertDimension(constraint_pool_data.size(), length);
+  for (unsigned int no=0; no<n_fe; ++no)
+    dof_info[no].reorder_cells(size_info, renumbering,
+                               constraint_pool_row_index,
+                               irregular_cells, vectorization_length);
 
   indices_are_initialized = true;
 }
@@ -1070,56 +1089,69 @@ namespace internal
 
 
 
-  HashValue::HashValue (const double element_size)
-    :
-    scaling (element_size * std::numeric_limits<double>::epsilon() *
-             1024.)
-  {}
+    template <typename Number>
+    FPArrayComparator<Number>::FPArrayComparator (const Number scaling)
+      : 
+      tolerance (scaling * std::numeric_limits<double>::epsilon() * 1024.)
+    {}
 
 
 
-  unsigned int HashValue::operator ()(const std::vector<double> &vec)
-  {
-    std::vector<double> mod_vec(vec);
-    for (unsigned int i=0; i<mod_vec.size(); ++i)
-      mod_vec[i] -= fmod (mod_vec[i], scaling);
-    return static_cast<unsigned int>(boost::hash_range (mod_vec.begin(), mod_vec.end()));
-  }
+    template <typename Number>
+    bool
+    FPArrayComparator<Number>::operator() (const std::vector<Number> &v1,
+                                           const std::vector<Number> &v2) const
+    {
+      const unsigned int s1 = v1.size(), s2 = v2.size();
+      if (s1 < s2)
+        return true;
+      else if (s1 > s2)
+        return false;
+      else
+        for (unsigned int i=0; i<s1; ++i)
+          if (v1[i] < v2[i] - tolerance)
+            return true;
+          else if (v1[i] > v2[i] + tolerance)
+            return false;
+      return false;
+    }
 
 
-  template <int dim, typename number>
-  unsigned int HashValue::operator ()
-    (const Tensor<2,dim,VectorizedArray<number> > &input,
-     const bool     is_diagonal)
-  {
-    const unsigned int vectorization_length =
-      VectorizedArray<number>::n_array_elements;
 
-    if (is_diagonal)
-      {
-        number mod_tensor [dim][vectorization_length];
-        for (unsigned int i=0; i<dim; ++i)
-          for (unsigned int j=0; j<vectorization_length; ++j)
-            mod_tensor[i][j] = input[i][i][j] - fmod (input[i][i][j],
-                                                      number(scaling));
-        return static_cast<unsigned int>
-          (boost::hash_range(&mod_tensor[0][0],
-                             &mod_tensor[dim-1][vectorization_length-1]+1));
-      }
-    else
-      {
-        number mod_tensor [dim][dim][vectorization_length];
-        for (unsigned int i=0; i<dim; ++i)
-          for (unsigned int d=0; d<dim; ++d)
-            for (unsigned int j=0; j<vectorization_length; ++j)
-              mod_tensor[i][d][j] = input[i][d][j] - fmod (input[i][d][j],
-                                                           number(scaling));
-        return static_cast<unsigned int>(boost::hash_range
-                                         (&mod_tensor[0][0][0],
-                                          &mod_tensor[dim-1][dim-1][vectorization_length-1]+1));
-      }
-  }
+    template <typename Number>
+    template <int dim>
+    bool
+    FPArrayComparator<Number>::
+    operator ()(const Tensor<1,dim,VectorizedArray<Number> > *t1,
+                const Tensor<1,dim,VectorizedArray<Number> > *t2) const
+    {
+      for (unsigned int d=0; d<dim; ++d)
+        for (unsigned int k=0;k<VectorizedArray<Number>::n_array_elements;++k)
+          if ((*t1)[d][k] < (*t2)[d][k] - tolerance)
+            return true;
+          else if ((*t1)[d][k] > (*t2)[d][k] + tolerance)
+            return false;
+      return false;
+    }
+
+
 
+    template <typename Number>
+    template <int dim>
+    bool
+    FPArrayComparator<Number>::
+    operator ()(const Tensor<2,dim,VectorizedArray<Number> > *t1,
+                const Tensor<2,dim,VectorizedArray<Number> > *t2) const
+    {
+      for (unsigned int d=0; d<dim; ++d)
+        for (unsigned int e=0; e<dim; ++e)
+          for (unsigned int k=0;k<VectorizedArray<Number>::n_array_elements;++k)
+            if ((*t1)[d][e][k] < (*t2)[d][e][k] - tolerance)
+              return true;
+            else if ((*t1)[d][e][k] > (*t2)[d][e][k] + tolerance)
+              return false;
+      return false;
+    }
   }
 }
 
index 8678e28f95de582cb6a7808d251d1b72aecab8b0..a7fce04ec75dcc740f2ded2a4ebd8adc9a769930 100644 (file)
@@ -47,7 +47,7 @@ namespace MeshWorker
                                           * number of functionals to
                                           * be computed.
                                           */
-        void initialize(unsigned int n);
+        void initialize(const unsigned int n);
                                          /**
                                           * Initialize the local data
                                           * in the DoFInfo object used
@@ -81,7 +81,7 @@ namespace MeshWorker
                                           * The value of the ith entry
                                           * in #results.
                                           */
-        number operator() (unsigned int i) const;
+        number operator() (const unsigned int i) const;
       private:
                                          /**
                                           * The values into which the
@@ -181,7 +181,7 @@ namespace MeshWorker
                                           * The value of the ith entry
                                           * in @p results.
                                           */
-        number operator() (unsigned int i) const;
+        number operator() (const unsigned int i) const;
       private:
         DataVectors results;
         bool separate_faces;
@@ -190,7 +190,7 @@ namespace MeshWorker
 
     template <typename number>
     inline void
-    Functional<number>::initialize(unsigned int n)
+    Functional<number>::initialize(const unsigned int n)
     {
       results.resize(n);
       std::fill(results.begin(), results.end(), 0.);
@@ -232,7 +232,7 @@ namespace MeshWorker
 
     template <typename number>
     inline number
-    Functional<number>::operator() (unsigned int i) const
+    Functional<number>::operator() (const unsigned int i) const
     {
       AssertIndexRange(i, results.size());
       return results[i];
index 6e715e36ec292a7842ded6d8480123d7692c38bb..c321c2b648461842d8e9c36b0b04296ef0174017 100644 (file)
@@ -30,18 +30,11 @@ namespace MeshWorker
  * Class for objects handed to local integration functions.
  *
  * Objects of this class contain one or more objects of type FEValues,
- * FEFaceValues or FESubfacevalues to be used in local
+ * FEFaceValues or FESubfaceValues to be used in local
  * integration. They are stored in an array of pointers to the base
- * classes FEValuesBase for cells and FEFaceValuesBase for faces and
- * subfaces, respectively. The template parameter VECTOR allows the
+ * classes FEValuesBase. The template parameter VECTOR allows the
  * use of different data types for the global system.
  *
- * The @p FEVALUESBASE template parameter should be either
- * FEValuesBase or FEFaceValuesBase, depending on whether the object
- * is used to integrate over cells or faces. The actual type of @p
- * FEVALUES object is fixed in the constructor and only used to
- * initialize the pointers in #fevalv.
- *
  * Additionally, this function contains space to store the values of
  * finite element functions stored in #global_data in the
  * quadrature points. These vectors are initialized automatically on
index c3d2d3224cf4f70d6555e4317aa41f98b4806c79..be1055e50f420970f62bdde0c3ce978144512bee 100644 (file)
@@ -162,9 +162,9 @@ namespace MeshWorker
             Assert(!cell->has_children(), ExcInternalError());
             Assert(!neighbor->has_children(), ExcInternalError());
 
-            std::pair<unsigned int, unsigned int> neighbor_face_no
+            const std::pair<unsigned int, unsigned int> neighbor_face_no
               = cell->neighbor_of_coarser_neighbor(face_no);
-            typename ITERATOR::AccessorType::Container::face_iterator nface
+            const typename ITERATOR::AccessorType::Container::face_iterator nface
               = neighbor->face(neighbor_face_no.first);
 
             dof_info.interior_face_available[face_no] = true;
@@ -196,7 +196,7 @@ namespace MeshWorker
             if (internal::is_active_iterator(cell) && neighbor->has_children())
               continue;
 
-            unsigned int neighbor_face_no = cell->neighbor_face_no(face_no);
+            const unsigned int neighbor_face_no = cell->neighbor_face_no(face_no);
             Assert (neighbor->face(neighbor_face_no) == face, ExcInternalError());
             // Regular interior face
             dof_info.interior_face_available[face_no] = true;
index f706e3db74f7611db061f51fb774cdcb16888b60..f88c00edec7566d5876557d205e17fce31ba193d 100644 (file)
@@ -225,7 +225,7 @@ namespace MeshWorker
                                      ? dim : (dim-1);
       const unsigned int row_length = n_points;
                                        // If patches are 1D, end the
-                                       // patch after a row, else and
+                                       // patch after a row, else end
                                        // it after a square
       const unsigned int row_length2 = (patch_dim==1) ? row_length : (row_length*row_length);
 
index e768b7a929510bc7de29a88c6ba815a009188205..4b3257ad4ed2d02f7eb663fd1fb377a7d41baa34 100644 (file)
@@ -1,7 +1,7 @@
 //---------------------------------------------------------------------------
 //    $Id: mesh_worker_info.h 23936 2011-07-09 17:02:27Z kanschat $
 //
-//    Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 by the deal.II authors
+//    Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 #include <deal.II/lac/block_indices.h>
 #include <deal.II/numerics/mesh_worker_info.h>
 
-using namespace dealii;
+DEAL_II_NAMESPACE_OPEN
 
-class VectorInfo
+namespace MeshWorker
 {
-  public:
-                                    /**
-                                     * Initialize the data
-                                     * vector and cache the
-                                     * selector.
-                                     */
-    void initialize_data(const NamedData<BlockVector<double>*>&data);
-    
-    template<int dim, int spacedim>
-    void reinit(const MeshWorker::DoFInfo<dim, spacedim>& i);
-
-    BlockVector<double>& operator() (unsigned int i);
-    
-  private:
-    std::vector<BlockVector<double> > local_data;
+/**
+ * This class is a simple object that can be used in
+ * MeshWorker::loop(). For all vectors provided in the argument to
+ * initialize_data(), this class generates the local data vector on a
+ * cell specified by reinit().
+ *
+ * This objects of class as part of VectorInfoBox conform to the
+ * interface for INFOBOX laid out in the documentation of MeshWorker.
+ *
+ * See IntegrationInfo for an alternative.
+ *
+ * @author Guido Kanschat
+ * @date 2012
+ */
+  class VectorInfo
+  {
+    public:
+                                      /**
+                                       * Initialize the data
+                                       * vector and cache the
+                                       * selector.
+                                       */
+      void initialize_data(const NamedData<BlockVector<double>*>&data);
+
+                                      /**
+                                       * Reinitialize the local data
+                                       * vectors to represent the
+                                       * information on the given cell.
+                                       */
+      template<int dim, int spacedim>
+      void reinit(const MeshWorker::DoFInfo<dim, spacedim>& cell);
+
+                                      /**
+                                       * Return local data vector
+                                       * <i>i</i>, which selects the
+                                       * local data from vector
+                                       * <i>i</i> of the
+                                       * <code>data</code> object
+                                       * used in initialize_data().
+                                       */
+      BlockVector<double>& operator() (unsigned int i);
+      
+    private:
+      std::vector<BlockVector<double> > local_data;
                                       /**
                                        * The global data vector
                                        * used to compute function
                                        * values in quadrature
                                        * points.
                                        */
-    SmartPointer<const NamedData<BlockVector<double>*> > global_data;    
-};
-
-
-class VectorInfoBox
- {
-   public:
-     typedef VectorInfo CellInfo;
-     
-     void initialize_data(const NamedData<BlockVector<double>*>&data);
-     
-     template <int dim, class DOFINFO>
-     void post_cell(const MeshWorker::DoFInfoBox<dim, DOFINFO>&)
-       {}
-
-     template <int dim, class DOFINFO>
-     void post_faces(const MeshWorker::DoFInfoBox<dim, DOFINFO>&)
-       {}
-     
-     VectorInfo cell;
-     VectorInfo boundary;
-     VectorInfo face;
-     VectorInfo subface;
-     VectorInfo neighbor;
- };
-
-
-inline
-void
-VectorInfo::initialize_data(const NamedData<BlockVector<double>*>&data)
-{
-  global_data = &data;
-  local_data.resize(global_data->size());
-}
-
-
-template<int dim, int spacedim>
-inline
-void
-VectorInfo::reinit(const MeshWorker::DoFInfo<dim, spacedim>& i)
-{
-  const NamedData<BlockVector<double>*>& gd = *global_data;
-  
-  for (unsigned int k=0;k<local_data.size();++k)
-    {
-      const BlockVector<double>& v = *gd(k);
+      SmartPointer<const NamedData<BlockVector<double>*> > global_data;    
+  };
+
+
+/**
+ * A class conforming to the INFOBOX interface in the documentation of
+ * MeshWorker. This class provides local operators in
+ * MeshWorker::loop() with the local values of the degrees of freedom
+ * of global vectors, for instance for calculations based on cell
+ * matrices.
+ *
+ * For an alternative providing the values in quadrature points see
+ * IntegrationInfoBox.
+ *
+ * @author Guido Kanschat
+ * @date 2012
+ */
+  class VectorInfoBox
+  {
+    public:
+      typedef VectorInfo CellInfo;
       
-      local_data[k].reinit(i.block_info->local());
-      for (unsigned int j=0;j<local_data[k].size();++j)
-       local_data[k](j) = v(i.indices[j]);
-    }
-}
-
-
-inline
-BlockVector<double>&
-VectorInfo::operator() (unsigned int i)
-{
-  AssertIndexRange(i, local_data.size());
-  return local_data[i];
-}
-
+      void initialize_data(const NamedData<BlockVector<double>*>&data);
+      
+      template <int dim, class DOFINFO>
+      void post_cell(const MeshWorker::DoFInfoBox<dim, DOFINFO>&)
+       {}
+      
+      template <int dim, class DOFINFO>
+      void post_faces(const MeshWorker::DoFInfoBox<dim, DOFINFO>&)
+       {}
+      
+      VectorInfo cell;
+      VectorInfo boundary;
+      VectorInfo face;
+      VectorInfo subface;
+      VectorInfo neighbor;
+  };
+  
+  
+  inline
+  void
+  VectorInfo::initialize_data(const NamedData<BlockVector<double>*>&data)
+  {
+    global_data = &data;
+    local_data.resize(global_data->size());
+  }
+
+
+  template<int dim, int spacedim>
+  inline
+  void
+  VectorInfo::reinit(const MeshWorker::DoFInfo<dim, spacedim>& i)
+  {
+    const NamedData<BlockVector<double>*>& gd = *global_data;
+
+    for (unsigned int k=0;k<local_data.size();++k)
+      {
+       const BlockVector<double>& v = *gd(k);
+
+       local_data[k].reinit(i.block_info->local());
+       for (unsigned int j=0;j<local_data[k].size();++j)
+         local_data[k](j) = v(i.indices[j]);
+      }
+  }
+
+
+  inline
+  BlockVector<double>&
+  VectorInfo::operator() (unsigned int i)
+  {
+    AssertIndexRange(i, local_data.size());
+    return local_data[i];
+  }
+
+
+  inline
+  void
+  VectorInfoBox::initialize_data(const NamedData<BlockVector<double>*>&data)
+  {
+    cell.initialize_data(data);
+    boundary.initialize_data(data);
+    face.initialize_data(data);
+    subface.initialize_data(data);
+    neighbor.initialize_data(data);
+  }
 
-inline
-void
-VectorInfoBox::initialize_data(const NamedData<BlockVector<double>*>&data)
-{
-  cell.initialize_data(data);
-  boundary.initialize_data(data);
-  face.initialize_data(data);
-  subface.initialize_data(data);
-  neighbor.initialize_data(data);
 }
 
-
+DEAL_II_NAMESPACE_CLOSE
 
 #endif
index 808f84e716c6a2e58dd56af6fd7b346d8308ff83..e3ca877fe11bf74e43dcebc3f8c1fa8a6e20512f 100644 (file)
@@ -63,9 +63,9 @@ namespace MeshWorker
                                         * cell or face.
                                         */
       void add(const std::string& name,
-               bool values = true,
-               bool gradients = false,
-               bool hessians = false);
+               const bool values = true,
+               const bool gradients = false,
+               const bool hessians = false);
 
                                        /**
                                         * Does the same as the function
@@ -140,17 +140,17 @@ namespace MeshWorker
                                        /**
                                         * The vector index for the ith value
                                         */
-      unsigned int value_index (unsigned int i) const;
+      unsigned int value_index (const unsigned int i) const;
 
                                        /**
                                         * The vector index for the ith gradient
                                         */
-      unsigned int gradient_index (unsigned int i) const;
+      unsigned int gradient_index (const unsigned int i) const;
 
                                        /**
                                         * The vector index for the ith Hessian
                                         */
-      unsigned int hessian_index (unsigned int i) const;
+      unsigned int hessian_index (const unsigned int i) const;
 
                                        /**
                                         * Print the contents of the
@@ -291,10 +291,10 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >& hessians,
         const FEValuesBase<dim,spacedim>& fe,
         const std::vector<unsigned int>& index,
-        unsigned int component,
-        unsigned int n_comp,
-        unsigned int start,
-        unsigned int size) const;
+        const unsigned int component,
+        const unsigned int n_comp,
+        const unsigned int start,
+        const unsigned int size) const;
 
                                        /**
                                         * Fill the local data vector
@@ -312,12 +312,12 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<1,dim> > > >& gradients,
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >& hessians,
         const FEValuesBase<dim,spacedim>& fe,
-        unsigned int level,
+        const unsigned int level,
         const std::vector<unsigned int>& index,
-        unsigned int component,
-        unsigned int n_comp,
-        unsigned int start,
-        unsigned int size) const;
+        const unsigned int component,
+        const unsigned int n_comp,
+        const unsigned int start,
+        const unsigned int size) const;
 
                                        /**
                                         * The memory used by this object.
@@ -383,10 +383,10 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >& hessians,
         const FEValuesBase<dim,spacedim>& fe,
         const std::vector<unsigned int>& index,
-        unsigned int component,
-        unsigned int n_comp,
-        unsigned int start,
-        unsigned int size) const;
+        const unsigned int component,
+        const unsigned int n_comp,
+        const unsigned int start,
+        const unsigned int size) const;
 
                                        /**
                                         * The memory used by this object.
@@ -454,12 +454,12 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<1,dim> > > >& gradients,
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >& hessians,
         const FEValuesBase<dim,spacedim>& fe,
-        unsigned int level,
+        const unsigned int level,
         const std::vector<unsigned int>& index,
-        unsigned int component,
-        unsigned int n_comp,
-        unsigned int start,
-        unsigned int size) const;
+        const unsigned int component,
+        const unsigned int n_comp,
+        const unsigned int start,
+        const unsigned int size) const;
 
                                        /**
                                         * The memory used by this object.
@@ -474,11 +474,17 @@ namespace MeshWorker
 //----------------------------------------------------------------------//
 
   inline void
-  VectorSelector::add(const std::string& name, bool values, bool gradients, bool hessians)
+  VectorSelector::add(const std::string& name,
+                     const bool values,
+                     const bool gradients,
+                     const bool hessians)
   {
-    if (values) value_selection.add(name);
-    if (gradients) gradient_selection.add(name);
-    if (hessians) hessian_selection.add(name);
+    if (values)
+      value_selection.add(name);
+    if (gradients)
+      gradient_selection.add(name);
+    if (hessians)
+      hessian_selection.add(name);
   }
 
 
@@ -554,21 +560,21 @@ namespace MeshWorker
 
 
   inline unsigned int
-  VectorSelector::value_index(unsigned int i) const
+  VectorSelector::value_index(const unsigned int i) const
   {
     return value_selection(i);
   }
 
 
   inline unsigned int
-  VectorSelector::gradient_index(unsigned int i) const
+  VectorSelector::gradient_index(const unsigned int i) const
   {
     return gradient_selection(i);
   }
 
 
   inline unsigned int
-  VectorSelector::hessian_index(unsigned int i) const
+  VectorSelector::hessian_index(const unsigned int i) const
   {
     return hessian_selection(i);
   }
index 90d79325c15c46dbc9d3f5291055a9f648e2df11..717714754153d8381ab09b59624ab80e055b0c3a 100644 (file)
@@ -43,10 +43,10 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >&,
         const FEValuesBase<dim,spacedim>&,
         const std::vector<unsigned int>&,
-        unsigned int,
-        unsigned int,
-        unsigned int,
-        unsigned int) const
+        const unsigned int,
+        const unsigned int,
+        const unsigned int,
+        const unsigned int) const
   {
     Assert(false, ExcNotImplemented());
   }
@@ -59,12 +59,12 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<1,dim> > > >&,
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >&,
         const FEValuesBase<dim,spacedim>&,
-        unsigned int,
+        const unsigned int,
         const std::vector<unsigned int>&,
-        unsigned int,
-        unsigned int,
-        unsigned int,
-        unsigned int) const
+        const unsigned int,
+        const unsigned int,
+        const unsigned int,
+        const unsigned int) const
   {
     Assert(false, ExcNotImplemented());
   }
@@ -111,10 +111,10 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >& hessians,
         const FEValuesBase<dim,spacedim>& fe,
         const std::vector<unsigned int>& index,
-        unsigned int component,
-        unsigned int n_comp,
-        unsigned int start,
-        unsigned int size) const
+        const unsigned int component,
+        const unsigned int n_comp,
+        const unsigned int start,
+        const unsigned int size) const
   {
     AssertDimension(values.size(), this->n_values());
     AssertDimension(gradients.size(), this->n_gradients());
@@ -193,12 +193,12 @@ namespace MeshWorker
         std::vector<std::vector<std::vector<Tensor<1,dim> > > >& gradients,
         std::vector<std::vector<std::vector<Tensor<2,dim> > > >& hessians,
         const FEValuesBase<dim,spacedim>& fe,
-        unsigned int level,
+        const unsigned int level,
         const std::vector<unsigned int>& index,
-        unsigned int component,
-        unsigned int n_comp,
-        unsigned int start,
-        unsigned int size) const
+        const unsigned int component,
+        const unsigned int n_comp,
+        const unsigned int start,
+        const unsigned int size) const
   {
     AssertDimension(values.size(), this->n_values());
     AssertDimension(gradients.size(), this->n_gradients());
index 694936ad40970ad02a22cba86319c3dbad4801ed..171ea15fbdb04167b177f4280389ca3ae253c8ce 100644 (file)
@@ -264,12 +264,24 @@ void FunctionParser<dim>::vector_value (const Point<dim> &p,
 
 #else
 
+template <int dim>
+void
+FunctionParser<dim>::initialize(const std::string &,
+                                const std::vector<std::string> &,
+                                const std::map<std::string, double> &,
+                                const bool,
+                                const bool)
+{
+  Assert(false, ExcDisabled("parser"));
+}
+
 
 template <int dim>
 void
 FunctionParser<dim>::initialize(const std::string &,
                                 const std::vector<std::string> &,
                                 const std::map<std::string, double> &,
+                                const std::map<std::string, double> &,
                                 const bool,
                                 const bool)
 {
@@ -289,6 +301,19 @@ FunctionParser<dim>::initialize(const std::string &,
 }
 
 
+template <int dim>
+void
+FunctionParser<dim>::initialize(const std::string &,
+                                const std::string &,
+                                const std::map<std::string, double> &,
+                                const std::map<std::string, double> &,
+                                const bool,
+                                const bool)
+{
+  Assert(false, ExcDisabled("parser"));
+}
+
+
 template <int dim>
 double FunctionParser<dim>::value (
   const Point<dim> &, unsigned int) const
index e2bbfd0f1d3fc1ffd137b79b5d557c8d650f99c0..616b9235e34e810f86735598d52b770e7534471e 100644 (file)
@@ -331,6 +331,7 @@ namespace Utilities
                                        // about these variables
       (void)argc;
       (void)argv;
+      (void)owns_mpi;
 #endif
 
       constructor_has_already_run = true;
index 29f23cb9394cc53237950d6609f4b86fd8caf5ae..928d6b3b68cf9f6cbf02758742decea30c4a31a6 100644 (file)
@@ -16,6 +16,7 @@
 #include <deal.II/base/quadrature.h>
 #include <deal.II/base/qprojector.h>
 #include <deal.II/base/memory_consumption.h>
+#include <deal.II/base/utilities.h>
 
 #include <cmath>
 #include <cstdlib>
 DEAL_II_NAMESPACE_OPEN
 
 
-namespace
-{
-/**
- * Integer to the power of dim
- */
-  template <int dim>
-  inline unsigned int dimpow (unsigned int n)
-  {
-    unsigned int result = n;
-    for (unsigned int i=1;i<dim;++i)
-      result *= n;
-    return result;
-  }
-}
-
-
 template <>
 Quadrature<0>::Quadrature (const unsigned int n_q)
                 :
@@ -222,8 +207,8 @@ template <int dim>
 Quadrature<dim>::Quadrature (const Quadrature<dim != 1 ? 1 : 0> &q)
                 :
                 Subscriptor(),
-                quadrature_points (dimpow<dim>(q.size())),
-                weights (dimpow<dim>(q.size()))
+                quadrature_points (Utilities::fixed_power<dim>(q.size())),
+                weights (Utilities::fixed_power<dim>(q.size()))
 {
   Assert (dim <= 3, ExcNotImplemented());
 
index f3edb6c3abd7918bf33110c8592b23f09f116ee3..ba91605050280de2c910f32e51a23827c4b43192 100644 (file)
@@ -2036,8 +2036,8 @@ namespace DoFRenumbering
                                           * Comparison operator for dim>=2
                                           */
         template <class DHCellIterator, int xdim>
-        bool compare (const DHCellIteratorc1,
-                     const DHCellIteratorc2,
+        bool compare (const DHCellIterator &c1,
+                     const DHCellIterator &c2,
                      dealii::internal::int2type<xdim>) const
          {
             const Point<dim> v1 = c1->center() - center;
@@ -2053,15 +2053,14 @@ namespace DoFRenumbering
                                           * where this function makes no sense
                                           */
         template <class DHCellIterator>
-        bool compare (const DHCellIterator& c1,
-                     const DHCellIterator& c2,
+        bool compare (const DHCellIterator &,
+                     const DHCellIterator &,
                      dealii::internal::int2type<1>) const
          {
            Assert (dim >= 2,
                    ExcMessage ("This operation only makes sense for dim>=2."));
            return false;
           }
-
     };
   }
 
index 429490e4f69fa61087e1b25731c3c41b23319017..3355f06ded97d00d12852d128c8e095372e7f917 100644 (file)
@@ -15,6 +15,7 @@
 #include <deal.II/grid/grid_reordering_internal.h>
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/base/utilities.h>
+#include <deal.II/base/std_cxx1x/bind.h>
 
 #include <algorithm>
 #include <set>
index e848f6bba03481143b4196b80f5c1b77e19df4bf..eb5dc1836f69c6bb1358cc89cbdae5670874d62c 100644 (file)
@@ -13,6 +13,8 @@
 
 #include <deal.II/base/memory_consumption.h>
 #include <deal.II/base/table.h>
+#include <deal.II/base/geometry_info.h>
+#include <deal.II/base/std_cxx1x/bind.h>
 
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/tria_levels.h>
@@ -20,7 +22,6 @@
 #include <deal.II/grid/tria_boundary.h>
 #include <deal.II/grid/tria_accessor.h>
 #include <deal.II/grid/tria_iterator.h>
-#include <deal.II/base/geometry_info.h>
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/grid/magic_numbers.h>
 #include <deal.II/fe/mapping_q1.h>
@@ -714,7 +715,7 @@ namespace
                                     */
   template <int spacedim>
   void
-  update_neighbors (Triangulation<1,spacedim> &triangulation)
+  update_neighbors (Triangulation<1,spacedim> &)
   {
   }
 
@@ -14172,4 +14173,3 @@ Triangulation<dim, spacedim>::remove_refinement_listener (RefinementListener &li
 #include "tria.inst"
 
 DEAL_II_NAMESPACE_CLOSE
-
index 8847f900c129dbd3ef72708fc2375a51c88058f7..a9213c3df39ef04ca85fde9683faad9da3a5924b 100644 (file)
@@ -13,6 +13,7 @@
 
 
 #include <deal.II/base/memory_consumption.h>
+#include <deal.II/base/std_cxx1x/bind.h>
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/hp/dof_objects.h>
 #include <deal.II/hp/dof_levels.h>
index 1a04913d703af3b4c1363e418fb8fbe2fb22c84d..c26559f2691782ae0767243b27cfd9ba8e1198c7 100644 (file)
@@ -248,7 +248,7 @@ namespace PETScWrappers
 
 
   void
-  MatrixBase::compress (::dealii::VectorOperation::values operation)
+  MatrixBase::compress (::dealii::VectorOperation::values)
   {
                                      // flush buffers
     int ierr;
@@ -428,7 +428,7 @@ namespace PETScWrappers
     return tmp*v;
   }
 
-  
+
   PetscScalar
   MatrixBase::matrix_scalar_product (const VectorBase &u,
                                     const VectorBase &v) const
index 2c8dd3aa2aff134eb1a80a8b0519690718419024..54cac6fe355ff4779933ab01782f47c68f6db2af 100644 (file)
@@ -125,7 +125,7 @@ namespace PETScWrappers
 #else
           int begin, end;
 #endif
-            
+
           ierr = VecGetOwnershipRange (vector.vector, &begin, &end);
           AssertThrow (ierr == 0, ExcPETScError(ierr));
 
@@ -148,7 +148,7 @@ namespace PETScWrappers
                                          // what? what other kind of vector
                                          // exists there?
         Assert (false, ExcInternalError());
-      
+
       return -1e20;
     }
   }
@@ -379,7 +379,7 @@ namespace PETScWrappers
 
 
   void
-  VectorBase::compress (::dealii::VectorOperation::values operation)
+  VectorBase::compress (::dealii::VectorOperation::values)
   {
                                      // note that one may think that
                                      // we only need to do something
index 2ac1a71afb636254146fd067b1e9f95c594b45c3..73bdab2d7793bd9f3c8b795414b0cc135feccc64 100644 (file)
@@ -19,6 +19,14 @@ for (SCALAR : REAL_SCALARS)
 
 for (S1, S2 : REAL_SCALARS)
   {
+    namespace internal
+    \{
+      namespace Vector
+      \{
+      template void copy_vector<S1,S2> (const dealii::Vector<S1>&,
+                                        dealii::Vector<S2>&);
+      \}
+    \}
     template
       bool
       Vector<S1>::operator==<S2>(const Vector<S2>&) const;
@@ -38,6 +46,14 @@ for (SCALAR : COMPLEX_SCALARS)
 
 for (S1, S2 : COMPLEX_SCALARS)
   {
+    namespace internal
+    \{
+      namespace Vector
+      \{
+      template void copy_vector<S1,S2> (const dealii::Vector<S1>&,
+                                        dealii::Vector<S2>&);
+      \}
+    \}
     template
       bool
       Vector<S1>::operator==<S2>(const Vector<S2>&) const;
index 341dc3092f798dd887dcf58368d8866aa26f161c..07fabbd7abfb99d6dd4a711fb859ec1b35b6b0a0 100644 (file)
@@ -241,7 +241,7 @@ SolutionTransfer<dim, VECTOR, DH>::
 prepare_for_coarsening_and_refinement(const std::vector<VECTOR> &all_in)
 {
   Assert(prepared_for!=pure_refinement, ExcAlreadyPrepForRef());
-  Assert(!prepared_for!=coarsening_and_refinement,
+  Assert(prepared_for!=coarsening_and_refinement,
          ExcAlreadyPrepForCoarseAndRef());
 
   const unsigned int in_size=all_in.size();
index 564a6f11b1eb91c16d733e82c1b654f4530793df..222ecf481d4456fcfd73a992a003055575253dac 100644 (file)
 0.4000 0.1000 0.06627 0.06627 
 0.5000 0.000 0.000 0.000 
 
-3.069e-17 0.5012 -3.874e-16 5.931e-06 
+3.069e-17 0.5012 4.814e-16 5.931e-06 
 0.1002 0.4009 0.06596 0.06596 
 0.2005 0.3007 0.09894 0.09894 
 0.3007 0.2005 0.09894 0.09894 
 0.4009 0.1002 0.06596 0.06596 
-0.5012 0.000 5.931e-06 1.593e-16 
+0.5012 0.000 5.931e-06 2.473e-16 
 
-3.076e-17 0.5024 -5.811e-16 8.897e-06 
+3.076e-17 0.5024 7.221e-16 8.897e-06 
 0.1005 0.4019 0.06565 0.06565 
 0.2009 0.3014 0.09847 0.09848 
 0.3014 0.2009 0.09848 0.09847 
 0.4019 0.1005 0.06565 0.06565 
-0.5024 0.000 8.897e-06 2.390e-16 
+0.5024 0.000 8.897e-06 3.710e-16 
 
-3.083e-17 0.5035 -5.811e-16 8.897e-06 
+3.083e-17 0.5035 7.221e-16 8.897e-06 
 0.1007 0.4028 0.06534 0.06535 
 0.2014 0.3021 0.09801 0.09801 
 0.3021 0.2014 0.09801 0.09801 
 0.4028 0.1007 0.06535 0.06534 
-0.5035 0.000 8.897e-06 2.390e-16 
+0.5035 0.000 8.897e-06 3.710e-16 
 
-3.090e-17 0.5047 -3.874e-16 5.931e-06 
+3.090e-17 0.5047 4.814e-16 5.931e-06 
 0.1009 0.4038 0.06503 0.06504 
 0.2019 0.3028 0.09755 0.09755 
 0.3028 0.2019 0.09755 0.09755 
 0.4038 0.1009 0.06504 0.06503 
-0.5047 0.000 5.931e-06 1.593e-16 
+0.5047 0.000 5.931e-06 2.473e-16 
 
 3.098e-17 0.5059 0.000 0.000 
 0.1012 0.4047 0.06473 0.06473 
 -0.1000 0.4000 -0.06627 0.06627 
 3.062e-17 0.5000 0.000 0.000 
 
--0.5012 6.138e-17 -5.931e-06 -3.442e-16 
+-0.5012 6.138e-17 -5.931e-06 -4.552e-16 
 -0.4009 0.1002 -0.06596 0.06596 
 -0.3007 0.2005 -0.09894 0.09894 
 -0.2005 0.3007 -0.09894 0.09894 
 -0.1002 0.4009 -0.06596 0.06596 
-3.069e-17 0.5012 -3.874e-16 5.931e-06 
+3.069e-17 0.5012 4.814e-16 5.931e-06 
 
--0.5024 6.152e-17 -8.897e-06 -5.163e-16 
+-0.5024 6.152e-17 -8.897e-06 -6.828e-16 
 -0.4019 0.1005 -0.06565 0.06565 
 -0.3014 0.2009 -0.09848 0.09847 
 -0.2009 0.3014 -0.09847 0.09848 
 -0.1005 0.4019 -0.06565 0.06565 
-3.076e-17 0.5024 -5.811e-16 8.897e-06 
+3.076e-17 0.5024 7.221e-16 8.897e-06 
 
--0.5035 6.166e-17 -8.897e-06 -5.163e-16 
+-0.5035 6.166e-17 -8.897e-06 -6.828e-16 
 -0.4028 0.1007 -0.06535 0.06534 
 -0.3021 0.2014 -0.09801 0.09801 
 -0.2014 0.3021 -0.09801 0.09801 
 -0.1007 0.4028 -0.06534 0.06535 
-3.083e-17 0.5035 -5.811e-16 8.897e-06 
+3.083e-17 0.5035 7.221e-16 8.897e-06 
 
--0.5047 6.181e-17 -5.931e-06 -3.442e-16 
+-0.5047 6.181e-17 -5.931e-06 -4.552e-16 
 -0.4038 0.1009 -0.06504 0.06503 
 -0.3028 0.2019 -0.09755 0.09755 
 -0.2019 0.3028 -0.09755 0.09755 
 -0.1009 0.4038 -0.06503 0.06504 
-3.090e-17 0.5047 -3.874e-16 5.931e-06 
+3.090e-17 0.5047 4.814e-16 5.931e-06 
 
 -0.5059 6.195e-17 0.000 0.000 
 -0.4047 0.1012 -0.06473 0.06473 
 -0.4000 -0.1000 -0.06627 -0.06627 
 -0.5000 6.123e-17 0.000 0.000 
 
--9.206e-17 -0.5012 -3.354e-16 -5.931e-06 
+-9.206e-17 -0.5012 8.564e-17 -5.931e-06 
 -0.1002 -0.4009 -0.06596 -0.06596 
 -0.2005 -0.3007 -0.09894 -0.09894 
 -0.3007 -0.2005 -0.09894 -0.09894 
 -0.4009 -0.1002 -0.06596 -0.06596 
--0.5012 6.138e-17 -5.931e-06 -3.442e-16 
+-0.5012 6.138e-17 -5.931e-06 -4.552e-16 
 
--9.228e-17 -0.5024 -5.031e-16 -8.897e-06 
+-9.228e-17 -0.5024 1.285e-16 -8.897e-06 
 -0.1005 -0.4019 -0.06565 -0.06565 
 -0.2009 -0.3014 -0.09847 -0.09848 
 -0.3014 -0.2009 -0.09848 -0.09847 
 -0.4019 -0.1005 -0.06565 -0.06565 
--0.5024 6.152e-17 -8.897e-06 -5.163e-16 
+-0.5024 6.152e-17 -8.897e-06 -6.828e-16 
 
--9.250e-17 -0.5035 -5.031e-16 -8.897e-06 
+-9.250e-17 -0.5035 1.285e-16 -8.897e-06 
 -0.1007 -0.4028 -0.06534 -0.06535 
 -0.2014 -0.3021 -0.09801 -0.09801 
 -0.3021 -0.2014 -0.09801 -0.09801 
 -0.4028 -0.1007 -0.06535 -0.06534 
--0.5035 6.166e-17 -8.897e-06 -5.163e-16 
+-0.5035 6.166e-17 -8.897e-06 -6.828e-16 
 
--9.271e-17 -0.5047 -3.354e-16 -5.931e-06 
+-9.271e-17 -0.5047 8.564e-17 -5.931e-06 
 -0.1009 -0.4038 -0.06503 -0.06504 
 -0.2019 -0.3028 -0.09755 -0.09755 
 -0.3028 -0.2019 -0.09755 -0.09755 
 -0.4038 -0.1009 -0.06504 -0.06503 
--0.5047 6.181e-17 -5.931e-06 -3.442e-16 
+-0.5047 6.181e-17 -5.931e-06 -4.552e-16 
 
 -9.293e-17 -0.5059 0.000 0.000 
 -0.1012 -0.4047 -0.06473 -0.06473 
 0.1000 -0.4000 0.06627 -0.06627 
 -9.185e-17 -0.5000 0.000 0.000 
 
-0.5012 0.000 5.931e-06 1.593e-16 
+0.5012 0.000 5.931e-06 2.473e-16 
 0.4009 -0.1002 0.06596 -0.06596 
 0.3007 -0.2005 0.09894 -0.09894 
 0.2005 -0.3007 0.09894 -0.09894 
 0.1002 -0.4009 0.06596 -0.06596 
--9.206e-17 -0.5012 -3.354e-16 -5.931e-06 
+-9.206e-17 -0.5012 8.564e-17 -5.931e-06 
 
-0.5024 0.000 8.897e-06 2.390e-16 
+0.5024 0.000 8.897e-06 3.710e-16 
 0.4019 -0.1005 0.06565 -0.06565 
 0.3014 -0.2009 0.09848 -0.09847 
 0.2009 -0.3014 0.09847 -0.09848 
 0.1005 -0.4019 0.06565 -0.06565 
--9.228e-17 -0.5024 -5.031e-16 -8.897e-06 
+-9.228e-17 -0.5024 1.285e-16 -8.897e-06 
 
-0.5035 0.000 8.897e-06 2.390e-16 
+0.5035 0.000 8.897e-06 3.710e-16 
 0.4028 -0.1007 0.06535 -0.06534 
 0.3021 -0.2014 0.09801 -0.09801 
 0.2014 -0.3021 0.09801 -0.09801 
 0.1007 -0.4028 0.06534 -0.06535 
--9.250e-17 -0.5035 -5.031e-16 -8.897e-06 
+-9.250e-17 -0.5035 1.285e-16 -8.897e-06 
 
-0.5047 0.000 5.931e-06 1.593e-16 
+0.5047 0.000 5.931e-06 2.473e-16 
 0.4038 -0.1009 0.06504 -0.06503 
 0.3028 -0.2019 0.09755 -0.09755 
 0.2019 -0.3028 0.09755 -0.09755 
 0.1009 -0.4038 0.06503 -0.06504 
--9.271e-17 -0.5047 -3.354e-16 -5.931e-06 
+-9.271e-17 -0.5047 8.564e-17 -5.931e-06 
 
 0.5059 0.000 0.000 0.000 
 0.4047 -0.1012 0.06473 -0.06473 
 0.4047 0.1012 0.06473 0.06473 
 0.5059 0.000 0.000 0.000 
 
-3.112e-17 0.5082 -8.638e-16 2.211e-05 
+3.112e-17 0.5082 1.453e-15 2.211e-05 
 0.1016 0.4066 0.06412 0.06414 
 0.2033 0.3049 0.09619 0.09619 
 0.3049 0.2033 0.09619 0.09619 
 0.4066 0.1016 0.06414 0.06412 
-0.5082 0.000 2.211e-05 7.003e-16 
+0.5082 0.000 2.211e-05 8.079e-16 
 
-3.126e-17 0.5106 -1.296e-15 3.316e-05 
+3.126e-17 0.5106 2.180e-15 3.316e-05 
 0.1021 0.4085 0.06353 0.06355 
 0.2042 0.3064 0.09530 0.09530 
 0.3064 0.2042 0.09530 0.09530 
 0.4085 0.1021 0.06355 0.06353 
-0.5106 0.000 3.316e-05 1.050e-15 
+0.5106 0.000 3.316e-05 1.212e-15 
 
-3.141e-17 0.5129 -1.296e-15 3.316e-05 
+3.141e-17 0.5129 2.180e-15 3.316e-05 
 0.1026 0.4104 0.06294 0.06296 
 0.2052 0.3078 0.09442 0.09442 
 0.3078 0.2052 0.09442 0.09442 
 0.4104 0.1026 0.06296 0.06294 
-0.5129 0.000 3.316e-05 1.050e-15 
+0.5129 0.000 3.316e-05 1.212e-15 
 
-3.155e-17 0.5153 -8.638e-16 2.211e-05 
+3.155e-17 0.5153 1.453e-15 2.211e-05 
 0.1031 0.4122 0.06237 0.06238 
 0.2061 0.3092 0.09355 0.09356 
 0.3092 0.2061 0.09356 0.09355 
 0.4122 0.1031 0.06238 0.06237 
-0.5153 0.000 2.211e-05 7.003e-16 
+0.5153 0.000 2.211e-05 8.079e-16 
 
 3.170e-17 0.5176 0.000 0.000 
 0.1035 0.4141 0.06180 0.06180 
 -0.1012 0.4047 -0.06473 0.06473 
 3.098e-17 0.5059 0.000 0.000 
 
--0.5082 6.224e-17 -2.211e-05 -1.169e-15 
+-0.5082 6.224e-17 -2.211e-05 -1.246e-15 
 -0.4066 0.1016 -0.06414 0.06412 
 -0.3049 0.2033 -0.09619 0.09619 
 -0.2033 0.3049 -0.09619 0.09619 
 -0.1016 0.4066 -0.06412 0.06414 
-3.112e-17 0.5082 -8.638e-16 2.211e-05 
+3.112e-17 0.5082 1.453e-15 2.211e-05 
 
--0.5106 6.253e-17 -3.316e-05 -1.754e-15 
+-0.5106 6.253e-17 -3.316e-05 -1.869e-15 
 -0.4085 0.1021 -0.06355 0.06353 
 -0.3064 0.2042 -0.09530 0.09530 
 -0.2042 0.3064 -0.09530 0.09530 
 -0.1021 0.4085 -0.06353 0.06355 
-3.126e-17 0.5106 -1.296e-15 3.316e-05 
+3.126e-17 0.5106 2.180e-15 3.316e-05 
 
--0.5129 6.282e-17 -3.316e-05 -1.754e-15 
+-0.5129 6.282e-17 -3.316e-05 -1.869e-15 
 -0.4104 0.1026 -0.06296 0.06294 
 -0.3078 0.2052 -0.09442 0.09442 
 -0.2052 0.3078 -0.09442 0.09442 
 -0.1026 0.4104 -0.06294 0.06296 
-3.141e-17 0.5129 -1.296e-15 3.316e-05 
+3.141e-17 0.5129 2.180e-15 3.316e-05 
 
--0.5153 6.311e-17 -2.211e-05 -1.169e-15 
+-0.5153 6.311e-17 -2.211e-05 -1.246e-15 
 -0.4122 0.1031 -0.06238 0.06237 
 -0.3092 0.2061 -0.09356 0.09355 
 -0.2061 0.3092 -0.09355 0.09356 
 -0.1031 0.4122 -0.06237 0.06238 
-3.155e-17 0.5153 -8.638e-16 2.211e-05 
+3.155e-17 0.5153 1.453e-15 2.211e-05 
 
 -0.5176 6.339e-17 0.000 0.000 
 -0.4141 0.1035 -0.06180 0.06180 
 -0.4047 -0.1012 -0.06473 -0.06473 
 -0.5059 6.195e-17 0.000 0.000 
 
--9.336e-17 -0.5082 -8.484e-16 -2.211e-05 
+-9.336e-17 -0.5082 -1.816e-16 -2.211e-05 
 -0.1016 -0.4066 -0.06412 -0.06414 
 -0.2033 -0.3049 -0.09619 -0.09619 
 -0.3049 -0.2033 -0.09619 -0.09619 
 -0.4066 -0.1016 -0.06414 -0.06412 
--0.5082 6.224e-17 -2.211e-05 -1.169e-15 
+-0.5082 6.224e-17 -2.211e-05 -1.246e-15 
 
--9.379e-17 -0.5106 -1.273e-15 -3.316e-05 
+-9.379e-17 -0.5106 -2.724e-16 -3.316e-05 
 -0.1021 -0.4085 -0.06353 -0.06355 
 -0.2042 -0.3064 -0.09530 -0.09530 
 -0.3064 -0.2042 -0.09530 -0.09530 
 -0.4085 -0.1021 -0.06355 -0.06353 
--0.5106 6.253e-17 -3.316e-05 -1.754e-15 
+-0.5106 6.253e-17 -3.316e-05 -1.869e-15 
 
--9.423e-17 -0.5129 -1.273e-15 -3.316e-05 
+-9.423e-17 -0.5129 -2.724e-16 -3.316e-05 
 -0.1026 -0.4104 -0.06294 -0.06296 
 -0.2052 -0.3078 -0.09442 -0.09442 
 -0.3078 -0.2052 -0.09442 -0.09442 
 -0.4104 -0.1026 -0.06296 -0.06294 
--0.5129 6.282e-17 -3.316e-05 -1.754e-15 
+-0.5129 6.282e-17 -3.316e-05 -1.869e-15 
 
--9.466e-17 -0.5153 -8.484e-16 -2.211e-05 
+-9.466e-17 -0.5153 -1.816e-16 -2.211e-05 
 -0.1031 -0.4122 -0.06237 -0.06238 
 -0.2061 -0.3092 -0.09355 -0.09356 
 -0.3092 -0.2061 -0.09356 -0.09355 
 -0.4122 -0.1031 -0.06238 -0.06237 
--0.5153 6.311e-17 -2.211e-05 -1.169e-15 
+-0.5153 6.311e-17 -2.211e-05 -1.246e-15 
 
 -9.509e-17 -0.5176 0.000 0.000 
 -0.1035 -0.4141 -0.06180 -0.06180 
 0.1012 -0.4047 0.06473 -0.06473 
 -9.293e-17 -0.5059 0.000 0.000 
 
-0.5082 0.000 2.211e-05 7.003e-16 
+0.5082 0.000 2.211e-05 8.079e-16 
 0.4066 -0.1016 0.06414 -0.06412 
 0.3049 -0.2033 0.09619 -0.09619 
 0.2033 -0.3049 0.09619 -0.09619 
 0.1016 -0.4066 0.06412 -0.06414 
--9.336e-17 -0.5082 -8.484e-16 -2.211e-05 
+-9.336e-17 -0.5082 -1.816e-16 -2.211e-05 
 
-0.5106 0.000 3.316e-05 1.050e-15 
+0.5106 0.000 3.316e-05 1.212e-15 
 0.4085 -0.1021 0.06355 -0.06353 
 0.3064 -0.2042 0.09530 -0.09530 
 0.2042 -0.3064 0.09530 -0.09530 
 0.1021 -0.4085 0.06353 -0.06355 
--9.379e-17 -0.5106 -1.273e-15 -3.316e-05 
+-9.379e-17 -0.5106 -2.724e-16 -3.316e-05 
 
-0.5129 0.000 3.316e-05 1.050e-15 
+0.5129 0.000 3.316e-05 1.212e-15 
 0.4104 -0.1026 0.06296 -0.06294 
 0.3078 -0.2052 0.09442 -0.09442 
 0.2052 -0.3078 0.09442 -0.09442 
 0.1026 -0.4104 0.06294 -0.06296 
--9.423e-17 -0.5129 -1.273e-15 -3.316e-05 
+-9.423e-17 -0.5129 -2.724e-16 -3.316e-05 
 
-0.5153 0.000 2.211e-05 7.003e-16 
+0.5153 0.000 2.211e-05 8.079e-16 
 0.4122 -0.1031 0.06238 -0.06237 
 0.3092 -0.2061 0.09356 -0.09355 
 0.2061 -0.3092 0.09355 -0.09356 
 0.1031 -0.4122 0.06237 -0.06238 
--9.466e-17 -0.5153 -8.484e-16 -2.211e-05 
+-9.466e-17 -0.5153 -1.816e-16 -2.211e-05 
 
 0.5176 0.000 0.000 0.000 
 0.4141 -0.1035 0.06180 -0.06180 
 0.4141 0.1035 0.06180 0.06180 
 0.5176 0.000 0.000 0.000 
 
-3.198e-17 0.5224 -7.557e-16 7.701e-05 
+3.198e-17 0.5224 1.889e-15 7.701e-05 
 0.1045 0.4179 0.06067 0.06072 
 0.2089 0.3134 0.09101 0.09103 
 0.3134 0.2089 0.09103 0.09101 
 0.4179 0.1045 0.06072 0.06067 
-0.5224 0.000 7.701e-05 1.566e-15 
+0.5224 0.000 7.701e-05 1.390e-15 
 
-3.227e-17 0.5271 -1.133e-15 0.0001155 
+3.227e-17 0.5271 2.834e-15 0.0001155 
 0.1054 0.4216 0.05957 0.05964 
 0.2108 0.3162 0.08937 0.08940 
 0.3162 0.2108 0.08940 0.08937 
 0.4216 0.1054 0.05964 0.05957 
-0.5271 0.000 0.0001155 2.349e-15 
+0.5271 0.000 0.0001155 2.084e-15 
 
-3.256e-17 0.5318 -1.133e-15 0.0001155 
+3.256e-17 0.5318 2.834e-15 0.0001155 
 0.1064 0.4254 0.05852 0.05858 
 0.2127 0.3191 0.08778 0.08781 
 0.3191 0.2127 0.08781 0.08778 
 0.4254 0.1064 0.05858 0.05852 
-0.5318 0.000 0.0001155 2.349e-15 
+0.5318 0.000 0.0001155 2.084e-15 
 
-3.285e-17 0.5365 -7.557e-16 7.701e-05 
+3.285e-17 0.5365 1.889e-15 7.701e-05 
 0.1073 0.4292 0.05749 0.05754 
 0.2146 0.3219 0.08624 0.08626 
 0.3219 0.2146 0.08626 0.08624 
 0.4292 0.1073 0.05754 0.05749 
-0.5365 0.000 7.701e-05 1.566e-15 
+0.5365 0.000 7.701e-05 1.390e-15 
 
 3.314e-17 0.5412 0.000 0.000 
 0.1082 0.4329 0.05650 0.05650 
 -0.1035 0.4141 -0.06180 0.06180 
 3.170e-17 0.5176 0.000 0.000 
 
--0.5224 6.397e-17 -7.701e-05 -2.610e-15 
+-0.5224 6.397e-17 -7.701e-05 -1.976e-15 
 -0.4179 0.1045 -0.06072 0.06067 
 -0.3134 0.2089 -0.09103 0.09101 
 -0.2089 0.3134 -0.09101 0.09103 
 -0.1045 0.4179 -0.06067 0.06072 
-3.198e-17 0.5224 -7.557e-16 7.701e-05 
+3.198e-17 0.5224 1.889e-15 7.701e-05 
 
--0.5271 6.455e-17 -0.0001155 -3.915e-15 
+-0.5271 6.455e-17 -0.0001155 -2.964e-15 
 -0.4216 0.1054 -0.05964 0.05957 
 -0.3162 0.2108 -0.08940 0.08937 
 -0.2108 0.3162 -0.08937 0.08940 
 -0.1054 0.4216 -0.05957 0.05964 
-3.227e-17 0.5271 -1.133e-15 0.0001155 
+3.227e-17 0.5271 2.834e-15 0.0001155 
 
--0.5318 6.512e-17 -0.0001155 -3.915e-15 
+-0.5318 6.512e-17 -0.0001155 -2.964e-15 
 -0.4254 0.1064 -0.05858 0.05852 
 -0.3191 0.2127 -0.08781 0.08778 
 -0.2127 0.3191 -0.08778 0.08781 
 -0.1064 0.4254 -0.05852 0.05858 
-3.256e-17 0.5318 -1.133e-15 0.0001155 
+3.256e-17 0.5318 2.834e-15 0.0001155 
 
--0.5365 6.570e-17 -7.701e-05 -2.610e-15 
+-0.5365 6.570e-17 -7.701e-05 -1.976e-15 
 -0.4292 0.1073 -0.05754 0.05749 
 -0.3219 0.2146 -0.08626 0.08624 
 -0.2146 0.3219 -0.08624 0.08626 
 -0.1073 0.4292 -0.05749 0.05754 
-3.285e-17 0.5365 -7.557e-16 7.701e-05 
+3.285e-17 0.5365 1.889e-15 7.701e-05 
 
 -0.5412 6.628e-17 0.000 0.000 
 -0.4329 0.1082 -0.05650 0.05650 
 -0.4141 -0.1035 -0.06180 -0.06180 
 -0.5176 6.339e-17 0.000 0.000 
 
--9.595e-17 -0.5224 -9.099e-16 -7.701e-05 
+-9.595e-17 -0.5224 -1.393e-15 -7.701e-05 
 -0.1045 -0.4179 -0.06067 -0.06072 
 -0.2089 -0.3134 -0.09101 -0.09103 
 -0.3134 -0.2089 -0.09103 -0.09101 
 -0.4179 -0.1045 -0.06072 -0.06067 
--0.5224 6.397e-17 -7.701e-05 -2.610e-15 
+-0.5224 6.397e-17 -7.701e-05 -1.976e-15 
 
--9.682e-17 -0.5271 -1.365e-15 -0.0001155 
+-9.682e-17 -0.5271 -2.090e-15 -0.0001155 
 -0.1054 -0.4216 -0.05957 -0.05964 
 -0.2108 -0.3162 -0.08937 -0.08940 
 -0.3162 -0.2108 -0.08940 -0.08937 
 -0.4216 -0.1054 -0.05964 -0.05957 
--0.5271 6.455e-17 -0.0001155 -3.915e-15 
+-0.5271 6.455e-17 -0.0001155 -2.964e-15 
 
--9.768e-17 -0.5318 -1.365e-15 -0.0001155 
+-9.768e-17 -0.5318 -2.090e-15 -0.0001155 
 -0.1064 -0.4254 -0.05852 -0.05858 
 -0.2127 -0.3191 -0.08778 -0.08781 
 -0.3191 -0.2127 -0.08781 -0.08778 
 -0.4254 -0.1064 -0.05858 -0.05852 
--0.5318 6.512e-17 -0.0001155 -3.915e-15 
+-0.5318 6.512e-17 -0.0001155 -2.964e-15 
 
--9.855e-17 -0.5365 -9.099e-16 -7.701e-05 
+-9.855e-17 -0.5365 -1.393e-15 -7.701e-05 
 -0.1073 -0.4292 -0.05749 -0.05754 
 -0.2146 -0.3219 -0.08624 -0.08626 
 -0.3219 -0.2146 -0.08626 -0.08624 
 -0.4292 -0.1073 -0.05754 -0.05749 
--0.5365 6.570e-17 -7.701e-05 -2.610e-15 
+-0.5365 6.570e-17 -7.701e-05 -1.976e-15 
 
 -9.941e-17 -0.5412 0.000 0.000 
 -0.1082 -0.4329 -0.05650 -0.05650 
 0.1035 -0.4141 0.06180 -0.06180 
 -9.509e-17 -0.5176 0.000 0.000 
 
-0.5224 0.000 7.701e-05 1.566e-15 
+0.5224 0.000 7.701e-05 1.390e-15 
 0.4179 -0.1045 0.06072 -0.06067 
 0.3134 -0.2089 0.09103 -0.09101 
 0.2089 -0.3134 0.09101 -0.09103 
 0.1045 -0.4179 0.06067 -0.06072 
--9.595e-17 -0.5224 -9.099e-16 -7.701e-05 
+-9.595e-17 -0.5224 -1.393e-15 -7.701e-05 
 
-0.5271 0.000 0.0001155 2.349e-15 
+0.5271 0.000 0.0001155 2.084e-15 
 0.4216 -0.1054 0.05964 -0.05957 
 0.3162 -0.2108 0.08940 -0.08937 
 0.2108 -0.3162 0.08937 -0.08940 
 0.1054 -0.4216 0.05957 -0.05964 
--9.682e-17 -0.5271 -1.365e-15 -0.0001155 
+-9.682e-17 -0.5271 -2.090e-15 -0.0001155 
 
-0.5318 0.000 0.0001155 2.349e-15 
+0.5318 0.000 0.0001155 2.084e-15 
 0.4254 -0.1064 0.05858 -0.05852 
 0.3191 -0.2127 0.08781 -0.08778 
 0.2127 -0.3191 0.08778 -0.08781 
 0.1064 -0.4254 0.05852 -0.05858 
--9.768e-17 -0.5318 -1.365e-15 -0.0001155 
+-9.768e-17 -0.5318 -2.090e-15 -0.0001155 
 
-0.5365 0.000 7.701e-05 1.566e-15 
+0.5365 0.000 7.701e-05 1.390e-15 
 0.4292 -0.1073 0.05754 -0.05749 
 0.3219 -0.2146 0.08626 -0.08624 
 0.2146 -0.3219 0.08624 -0.08626 
 0.1073 -0.4292 0.05749 -0.05754 
--9.855e-17 -0.5365 -9.099e-16 -7.701e-05 
+-9.855e-17 -0.5365 -1.393e-15 -7.701e-05 
 
 0.5412 0.000 0.000 0.000 
 0.4329 -0.1082 0.05650 -0.05650 
 0.4329 0.1082 0.05650 0.05650 
 0.5412 0.000 0.000 0.000 
 
-3.371e-17 0.5506 -9.106e-16 0.0002362 
+3.371e-17 0.5506 9.134e-16 0.0002362 
 0.1101 0.4405 0.05453 0.05467 
 0.2202 0.3304 0.08182 0.08187 
 0.3304 0.2202 0.08187 0.08182 
 0.4405 0.1101 0.05467 0.05453 
-0.5506 0.000 0.0002362 2.559e-15 
+0.5506 0.000 0.0002362 1.963e-15 
 
-3.429e-17 0.5600 -1.366e-15 0.0003544 
+3.429e-17 0.5600 1.370e-15 0.0003544 
 0.1120 0.4480 0.05267 0.05288 
 0.2240 0.3360 0.07904 0.07911 
 0.3360 0.2240 0.07911 0.07904 
 0.4480 0.1120 0.05288 0.05267 
-0.5600 0.000 0.0003544 3.839e-15 
+0.5600 0.000 0.0003544 2.945e-15 
 
-3.487e-17 0.5694 -1.366e-15 0.0003544 
+3.487e-17 0.5694 1.370e-15 0.0003544 
 0.1139 0.4555 0.05092 0.05113 
 0.2278 0.3416 0.07641 0.07648 
 0.3416 0.2278 0.07648 0.07641 
 0.4555 0.1139 0.05113 0.05092 
-0.5694 0.000 0.0003544 3.839e-15 
+0.5694 0.000 0.0003544 2.945e-15 
 
-3.544e-17 0.5788 -9.106e-16 0.0002362 
+3.544e-17 0.5788 9.134e-16 0.0002362 
 0.1158 0.4631 0.04927 0.04942 
 0.2315 0.3473 0.07393 0.07398 
 0.3473 0.2315 0.07398 0.07393 
 0.4631 0.1158 0.04942 0.04927 
-0.5788 0.000 0.0002362 2.559e-15 
+0.5788 0.000 0.0002362 1.963e-15 
 
 3.602e-17 0.5882 0.000 0.000 
 0.1176 0.4706 0.04774 0.04774 
 -0.1082 0.4329 -0.05650 0.05650 
 3.314e-17 0.5412 0.000 0.000 
 
--0.5506 6.743e-17 -0.0002362 -4.733e-15 
+-0.5506 6.743e-17 -0.0002362 -2.659e-15 
 -0.4405 0.1101 -0.05467 0.05453 
 -0.3304 0.2202 -0.08187 0.08182 
 -0.2202 0.3304 -0.08182 0.08187 
 -0.1101 0.4405 -0.05453 0.05467 
-3.371e-17 0.5506 -9.106e-16 0.0002362 
+3.371e-17 0.5506 9.134e-16 0.0002362 
 
--0.5600 6.858e-17 -0.0003544 -7.100e-15 
+-0.5600 6.858e-17 -0.0003544 -3.988e-15 
 -0.4480 0.1120 -0.05288 0.05267 
 -0.3360 0.2240 -0.07911 0.07904 
 -0.2240 0.3360 -0.07904 0.07911 
 -0.1120 0.4480 -0.05267 0.05288 
-3.429e-17 0.5600 -1.366e-15 0.0003544 
+3.429e-17 0.5600 1.370e-15 0.0003544 
 
--0.5694 6.973e-17 -0.0003544 -7.100e-15 
+-0.5694 6.973e-17 -0.0003544 -3.988e-15 
 -0.4555 0.1139 -0.05113 0.05092 
 -0.3416 0.2278 -0.07648 0.07641 
 -0.2278 0.3416 -0.07641 0.07648 
 -0.1139 0.4555 -0.05092 0.05113 
-3.487e-17 0.5694 -1.366e-15 0.0003544 
+3.487e-17 0.5694 1.370e-15 0.0003544 
 
--0.5788 7.089e-17 -0.0002362 -4.733e-15 
+-0.5788 7.089e-17 -0.0002362 -2.659e-15 
 -0.4631 0.1158 -0.04942 0.04927 
 -0.3473 0.2315 -0.07398 0.07393 
 -0.2315 0.3473 -0.07393 0.07398 
 -0.1158 0.4631 -0.04927 0.04942 
-3.544e-17 0.5788 -9.106e-16 0.0002362 
+3.544e-17 0.5788 9.134e-16 0.0002362 
 
 -0.5882 7.204e-17 0.000 0.000 
 -0.4706 0.1176 -0.04774 0.04774 
 -0.4329 -0.1082 -0.05650 -0.05650 
 -0.5412 6.628e-17 0.000 0.000 
 
--1.011e-16 -0.5506 -8.095e-16 -0.0002362 
+-1.011e-16 -0.5506 -3.217e-15 -0.0002362 
 -0.1101 -0.4405 -0.05453 -0.05467 
 -0.2202 -0.3304 -0.08182 -0.08187 
 -0.3304 -0.2202 -0.08187 -0.08182 
 -0.4405 -0.1101 -0.05467 -0.05453 
--0.5506 6.743e-17 -0.0002362 -4.733e-15 
+-0.5506 6.743e-17 -0.0002362 -2.659e-15 
 
--1.029e-16 -0.5600 -1.214e-15 -0.0003544 
+-1.029e-16 -0.5600 -4.826e-15 -0.0003544 
 -0.1120 -0.4480 -0.05267 -0.05288 
 -0.2240 -0.3360 -0.07904 -0.07911 
 -0.3360 -0.2240 -0.07911 -0.07904 
 -0.4480 -0.1120 -0.05288 -0.05267 
--0.5600 6.858e-17 -0.0003544 -7.100e-15 
+-0.5600 6.858e-17 -0.0003544 -3.988e-15 
 
--1.046e-16 -0.5694 -1.214e-15 -0.0003544 
+-1.046e-16 -0.5694 -4.826e-15 -0.0003544 
 -0.1139 -0.4555 -0.05092 -0.05113 
 -0.2278 -0.3416 -0.07641 -0.07648 
 -0.3416 -0.2278 -0.07648 -0.07641 
 -0.4555 -0.1139 -0.05113 -0.05092 
--0.5694 6.973e-17 -0.0003544 -7.100e-15 
+-0.5694 6.973e-17 -0.0003544 -3.988e-15 
 
--1.063e-16 -0.5788 -8.095e-16 -0.0002362 
+-1.063e-16 -0.5788 -3.217e-15 -0.0002362 
 -0.1158 -0.4631 -0.04927 -0.04942 
 -0.2315 -0.3473 -0.07393 -0.07398 
 -0.3473 -0.2315 -0.07398 -0.07393 
 -0.4631 -0.1158 -0.04942 -0.04927 
--0.5788 7.089e-17 -0.0002362 -4.733e-15 
+-0.5788 7.089e-17 -0.0002362 -2.659e-15 
 
 -1.081e-16 -0.5882 0.000 0.000 
 -0.1176 -0.4706 -0.04774 -0.04774 
 0.1082 -0.4329 0.05650 -0.05650 
 -9.941e-17 -0.5412 0.000 0.000 
 
-0.5506 0.000 0.0002362 2.559e-15 
+0.5506 0.000 0.0002362 1.963e-15 
 0.4405 -0.1101 0.05467 -0.05453 
 0.3304 -0.2202 0.08187 -0.08182 
 0.2202 -0.3304 0.08182 -0.08187 
 0.1101 -0.4405 0.05453 -0.05467 
--1.011e-16 -0.5506 -8.095e-16 -0.0002362 
+-1.011e-16 -0.5506 -3.217e-15 -0.0002362 
 
-0.5600 0.000 0.0003544 3.839e-15 
+0.5600 0.000 0.0003544 2.945e-15 
 0.4480 -0.1120 0.05288 -0.05267 
 0.3360 -0.2240 0.07911 -0.07904 
 0.2240 -0.3360 0.07904 -0.07911 
 0.1120 -0.4480 0.05267 -0.05288 
--1.029e-16 -0.5600 -1.214e-15 -0.0003544 
+-1.029e-16 -0.5600 -4.826e-15 -0.0003544 
 
-0.5694 0.000 0.0003544 3.839e-15 
+0.5694 0.000 0.0003544 2.945e-15 
 0.4555 -0.1139 0.05113 -0.05092 
 0.3416 -0.2278 0.07648 -0.07641 
 0.2278 -0.3416 0.07641 -0.07648 
 0.1139 -0.4555 0.05092 -0.05113 
--1.046e-16 -0.5694 -1.214e-15 -0.0003544 
+-1.046e-16 -0.5694 -4.826e-15 -0.0003544 
 
-0.5788 0.000 0.0002362 2.559e-15 
+0.5788 0.000 0.0002362 1.963e-15 
 0.4631 -0.1158 0.04942 -0.04927 
 0.3473 -0.2315 0.07398 -0.07393 
 0.2315 -0.3473 0.07393 -0.07398 
 0.1158 -0.4631 0.04927 -0.04942 
--1.063e-16 -0.5788 -8.095e-16 -0.0002362 
+-1.063e-16 -0.5788 -3.217e-15 -0.0002362 
 
 0.5882 0.000 0.000 0.000 
 0.4706 -0.1176 0.04774 -0.04774 
 0.4706 0.1176 0.04774 0.04774 
 0.5882 0.000 0.000 0.000 
 
-3.717e-17 0.6071 -1.735e-15 0.0005780 
+3.717e-17 0.6071 -1.514e-15 0.0005780 
 0.1214 0.4856 0.04471 0.04505 
 0.2428 0.3642 0.06712 0.06724 
 0.3642 0.2428 0.06724 0.06712 
 0.4856 0.1214 0.04505 0.04471 
-0.6071 0.000 0.0005780 3.214e-15 
+0.6071 0.000 0.0005780 2.251e-15 
 
-3.832e-17 0.6259 -2.602e-15 0.0008670 
+3.832e-17 0.6259 -2.271e-15 0.0008670 
 0.1252 0.5007 0.04195 0.04247 
 0.2504 0.3755 0.06301 0.06318 
 0.3755 0.2504 0.06318 0.06301 
 0.5007 0.1252 0.04247 0.04195 
-0.6259 0.000 0.0008670 4.821e-15 
+0.6259 0.000 0.0008670 3.376e-15 
 
-3.948e-17 0.6447 -2.602e-15 0.0008670 
+3.948e-17 0.6447 -2.271e-15 0.0008670 
 0.1289 0.5158 0.03946 0.03998 
 0.2579 0.3868 0.05928 0.05945 
 0.3868 0.2579 0.05945 0.05928 
 0.5158 0.1289 0.03998 0.03946 
-0.6447 0.000 0.0008670 4.821e-15 
+0.6447 0.000 0.0008670 3.376e-15 
 
-4.063e-17 0.6635 -1.735e-15 0.0005780 
+4.063e-17 0.6635 -1.514e-15 0.0005780 
 0.1327 0.5308 0.03725 0.03760 
 0.2654 0.3981 0.05594 0.05605 
 0.3981 0.2654 0.05605 0.05594 
 0.5308 0.1327 0.03760 0.03725 
-0.6635 0.000 0.0005780 3.214e-15 
+0.6635 0.000 0.0005780 2.251e-15 
 
 4.178e-17 0.6824 0.000 0.000 
 0.1365 0.5459 0.03532 0.03532 
 -0.1176 0.4706 -0.04774 0.04774 
 3.602e-17 0.5882 0.000 0.000 
 
--0.6071 7.434e-17 -0.0005780 -5.867e-15 
+-0.6071 7.434e-17 -0.0005780 -2.476e-15 
 -0.4856 0.1214 -0.04505 0.04471 
 -0.3642 0.2428 -0.06724 0.06712 
 -0.2428 0.3642 -0.06712 0.06724 
 -0.1214 0.4856 -0.04471 0.04505 
-3.717e-17 0.6071 -1.735e-15 0.0005780 
+3.717e-17 0.6071 -1.514e-15 0.0005780 
 
--0.6259 7.665e-17 -0.0008670 -8.800e-15 
+-0.6259 7.665e-17 -0.0008670 -3.714e-15 
 -0.5007 0.1252 -0.04247 0.04195 
 -0.3755 0.2504 -0.06318 0.06301 
 -0.2504 0.3755 -0.06301 0.06318 
 -0.1252 0.5007 -0.04195 0.04247 
-3.832e-17 0.6259 -2.602e-15 0.0008670 
+3.832e-17 0.6259 -2.271e-15 0.0008670 
 
--0.6447 7.895e-17 -0.0008670 -8.800e-15 
+-0.6447 7.895e-17 -0.0008670 -3.714e-15 
 -0.5158 0.1289 -0.03998 0.03946 
 -0.3868 0.2579 -0.05945 0.05928 
 -0.2579 0.3868 -0.05928 0.05945 
 -0.1289 0.5158 -0.03946 0.03998 
-3.948e-17 0.6447 -2.602e-15 0.0008670 
+3.948e-17 0.6447 -2.271e-15 0.0008670 
 
--0.6635 8.126e-17 -0.0005780 -5.867e-15 
+-0.6635 8.126e-17 -0.0005780 -2.476e-15 
 -0.5308 0.1327 -0.03760 0.03725 
 -0.3981 0.2654 -0.05605 0.05594 
 -0.2654 0.3981 -0.05594 0.05605 
 -0.1327 0.5308 -0.03725 0.03760 
-4.063e-17 0.6635 -1.735e-15 0.0005780 
+4.063e-17 0.6635 -1.514e-15 0.0005780 
 
 -0.6824 8.356e-17 0.000 0.000 
 -0.5459 0.1365 -0.03532 0.03532 
 -0.4706 -0.1176 -0.04774 -0.04774 
 -0.5882 7.204e-17 0.000 0.000 
 
--1.115e-16 -0.6071 -1.151e-15 -0.0005780 
+-1.115e-16 -0.6071 -4.605e-15 -0.0005780 
 -0.1214 -0.4856 -0.04471 -0.04505 
 -0.2428 -0.3642 -0.06712 -0.06724 
 -0.3642 -0.2428 -0.06724 -0.06712 
 -0.4856 -0.1214 -0.04505 -0.04471 
--0.6071 7.434e-17 -0.0005780 -5.867e-15 
+-0.6071 7.434e-17 -0.0005780 -2.476e-15 
 
--1.150e-16 -0.6259 -1.726e-15 -0.0008670 
+-1.150e-16 -0.6259 -6.908e-15 -0.0008670 
 -0.1252 -0.5007 -0.04195 -0.04247 
 -0.2504 -0.3755 -0.06301 -0.06318 
 -0.3755 -0.2504 -0.06318 -0.06301 
 -0.5007 -0.1252 -0.04247 -0.04195 
--0.6259 7.665e-17 -0.0008670 -8.800e-15 
+-0.6259 7.665e-17 -0.0008670 -3.714e-15 
 
--1.184e-16 -0.6447 -1.726e-15 -0.0008670 
+-1.184e-16 -0.6447 -6.908e-15 -0.0008670 
 -0.1289 -0.5158 -0.03946 -0.03998 
 -0.2579 -0.3868 -0.05928 -0.05945 
 -0.3868 -0.2579 -0.05945 -0.05928 
 -0.5158 -0.1289 -0.03998 -0.03946 
--0.6447 7.895e-17 -0.0008670 -8.800e-15 
+-0.6447 7.895e-17 -0.0008670 -3.714e-15 
 
--1.219e-16 -0.6635 -1.151e-15 -0.0005780 
+-1.219e-16 -0.6635 -4.605e-15 -0.0005780 
 -0.1327 -0.5308 -0.03725 -0.03760 
 -0.2654 -0.3981 -0.05594 -0.05605 
 -0.3981 -0.2654 -0.05605 -0.05594 
 -0.5308 -0.1327 -0.03760 -0.03725 
--0.6635 8.126e-17 -0.0005780 -5.867e-15 
+-0.6635 8.126e-17 -0.0005780 -2.476e-15 
 
 -1.253e-16 -0.6824 0.000 0.000 
 -0.1365 -0.5459 -0.03532 -0.03532 
 0.1176 -0.4706 0.04774 -0.04774 
 -1.081e-16 -0.5882 0.000 0.000 
 
-0.6071 0.000 0.0005780 3.214e-15 
+0.6071 0.000 0.0005780 2.251e-15 
 0.4856 -0.1214 0.04505 -0.04471 
 0.3642 -0.2428 0.06724 -0.06712 
 0.2428 -0.3642 0.06712 -0.06724 
 0.1214 -0.4856 0.04471 -0.04505 
--1.115e-16 -0.6071 -1.151e-15 -0.0005780 
+-1.115e-16 -0.6071 -4.605e-15 -0.0005780 
 
-0.6259 0.000 0.0008670 4.821e-15 
+0.6259 0.000 0.0008670 3.376e-15 
 0.5007 -0.1252 0.04247 -0.04195 
 0.3755 -0.2504 0.06318 -0.06301 
 0.2504 -0.3755 0.06301 -0.06318 
 0.1252 -0.5007 0.04195 -0.04247 
--1.150e-16 -0.6259 -1.726e-15 -0.0008670 
+-1.150e-16 -0.6259 -6.908e-15 -0.0008670 
 
-0.6447 0.000 0.0008670 4.821e-15 
+0.6447 0.000 0.0008670 3.376e-15 
 0.5158 -0.1289 0.03998 -0.03946 
 0.3868 -0.2579 0.05945 -0.05928 
 0.2579 -0.3868 0.05928 -0.05945 
 0.1289 -0.5158 0.03946 -0.03998 
--1.184e-16 -0.6447 -1.726e-15 -0.0008670 
+-1.184e-16 -0.6447 -6.908e-15 -0.0008670 
 
-0.6635 0.000 0.0005780 3.214e-15 
+0.6635 0.000 0.0005780 2.251e-15 
 0.5308 -0.1327 0.03760 -0.03725 
 0.3981 -0.2654 0.05605 -0.05594 
 0.2654 -0.3981 0.05594 -0.05605 
 0.1327 -0.5308 0.03725 -0.03760 
--1.219e-16 -0.6635 -1.151e-15 -0.0005780 
+-1.219e-16 -0.6635 -4.605e-15 -0.0005780 
 
 0.6824 0.000 0.000 0.000 
 0.5459 -0.1365 0.03532 -0.03532 
 0.5459 0.1365 0.03532 0.03532 
 0.6824 0.000 0.000 0.000 
 
-4.409e-17 0.7200 -9.503e-16 0.0009760 
+4.409e-17 0.7200 -3.474e-15 0.0009760 
 0.1440 0.5760 0.03154 0.03212 
 0.2880 0.4320 0.04741 0.04760 
 0.4320 0.2880 0.04760 0.04741 
 0.5760 0.1440 0.03212 0.03154 
-0.7200 0.000 0.0009760 3.241e-15 
+0.7200 0.000 0.0009760 1.953e-15 
 
-4.639e-17 0.7576 -1.425e-15 0.001464 
+4.639e-17 0.7576 -5.211e-15 0.001464 
 0.1515 0.6061 0.02825 0.02913 
 0.3031 0.4546 0.04252 0.04281 
 0.4546 0.3031 0.04281 0.04252 
 0.6061 0.1515 0.02913 0.02825 
-0.7576 0.000 0.001464 4.861e-15 
+0.7576 0.000 0.001464 2.929e-15 
 
-4.870e-17 0.7953 -1.425e-15 0.001464 
+4.870e-17 0.7953 -5.211e-15 0.001464 
 0.1591 0.6362 0.02545 0.02632 
 0.3181 0.4772 0.03832 0.03861 
 0.4772 0.3181 0.03861 0.03832 
 0.6362 0.1591 0.02632 0.02545 
-0.7953 0.000 0.001464 4.861e-15 
+0.7953 0.000 0.001464 2.929e-15 
 
-5.100e-17 0.8329 -9.503e-16 0.0009760 
+5.100e-17 0.8329 -3.474e-15 0.0009760 
 0.1666 0.6664 0.02313 0.02372 
 0.3332 0.4998 0.03480 0.03499 
 0.4998 0.3332 0.03499 0.03480 
 0.6664 0.1666 0.02372 0.02313 
-0.8329 0.000 0.0009760 3.241e-15 
+0.8329 0.000 0.0009760 1.953e-15 
 
 5.331e-17 0.8706 0.000 0.000 
 0.1741 0.6965 0.02131 0.02131 
 -0.1365 0.5459 -0.03532 0.03532 
 4.178e-17 0.6824 0.000 0.000 
 
--0.7200 8.817e-17 -0.0009760 -4.140e-15 
+-0.7200 8.817e-17 -0.0009760 -7.309e-16 
 -0.5760 0.1440 -0.03212 0.03154 
 -0.4320 0.2880 -0.04760 0.04741 
 -0.2880 0.4320 -0.04741 0.04760 
 -0.1440 0.5760 -0.03154 0.03212 
-4.409e-17 0.7200 -9.503e-16 0.0009760 
+4.409e-17 0.7200 -3.474e-15 0.0009760 
 
--0.7576 9.279e-17 -0.001464 -6.210e-15 
+-0.7576 9.279e-17 -0.001464 -1.096e-15 
 -0.6061 0.1515 -0.02913 0.02825 
 -0.4546 0.3031 -0.04281 0.04252 
 -0.3031 0.4546 -0.04252 0.04281 
 -0.1515 0.6061 -0.02825 0.02913 
-4.639e-17 0.7576 -1.425e-15 0.001464 
+4.639e-17 0.7576 -5.211e-15 0.001464 
 
--0.7953 9.740e-17 -0.001464 -6.210e-15 
+-0.7953 9.740e-17 -0.001464 -1.096e-15 
 -0.6362 0.1591 -0.02632 0.02545 
 -0.4772 0.3181 -0.03861 0.03832 
 -0.3181 0.4772 -0.03832 0.03861 
 -0.1591 0.6362 -0.02545 0.02632 
-4.870e-17 0.7953 -1.425e-15 0.001464 
+4.870e-17 0.7953 -5.211e-15 0.001464 
 
--0.8329 1.020e-16 -0.0009760 -4.140e-15 
+-0.8329 1.020e-16 -0.0009760 -7.309e-16 
 -0.6664 0.1666 -0.02372 0.02313 
 -0.4998 0.3332 -0.03499 0.03480 
 -0.3332 0.4998 -0.03480 0.03499 
 -0.1666 0.6664 -0.02313 0.02372 
-5.100e-17 0.8329 -9.503e-16 0.0009760 
+5.100e-17 0.8329 -3.474e-15 0.0009760 
 
 -0.8706 1.066e-16 0.000 0.000 
 -0.6965 0.1741 -0.02131 0.02131 
 -0.5459 -0.1365 -0.03532 -0.03532 
 -0.6824 8.356e-17 0.000 0.000 
 
--1.323e-16 -0.7200 -9.802e-16 -0.0009760 
+-1.323e-16 -0.7200 -4.028e-15 -0.0009760 
 -0.1440 -0.5760 -0.03154 -0.03212 
 -0.2880 -0.4320 -0.04741 -0.04760 
 -0.4320 -0.2880 -0.04760 -0.04741 
 -0.5760 -0.1440 -0.03212 -0.03154 
--0.7200 8.817e-17 -0.0009760 -4.140e-15 
+-0.7200 8.817e-17 -0.0009760 -7.309e-16 
 
--1.392e-16 -0.7576 -1.470e-15 -0.001464 
+-1.392e-16 -0.7576 -6.042e-15 -0.001464 
 -0.1515 -0.6061 -0.02825 -0.02913 
 -0.3031 -0.4546 -0.04252 -0.04281 
 -0.4546 -0.3031 -0.04281 -0.04252 
 -0.6061 -0.1515 -0.02913 -0.02825 
--0.7576 9.279e-17 -0.001464 -6.210e-15 
+-0.7576 9.279e-17 -0.001464 -1.096e-15 
 
--1.461e-16 -0.7953 -1.470e-15 -0.001464 
+-1.461e-16 -0.7953 -6.042e-15 -0.001464 
 -0.1591 -0.6362 -0.02545 -0.02632 
 -0.3181 -0.4772 -0.03832 -0.03861 
 -0.4772 -0.3181 -0.03861 -0.03832 
 -0.6362 -0.1591 -0.02632 -0.02545 
--0.7953 9.740e-17 -0.001464 -6.210e-15 
+-0.7953 9.740e-17 -0.001464 -1.096e-15 
 
--1.530e-16 -0.8329 -9.802e-16 -0.0009760 
+-1.530e-16 -0.8329 -4.028e-15 -0.0009760 
 -0.1666 -0.6664 -0.02313 -0.02372 
 -0.3332 -0.4998 -0.03480 -0.03499 
 -0.4998 -0.3332 -0.03499 -0.03480 
 -0.6664 -0.1666 -0.02372 -0.02313 
--0.8329 1.020e-16 -0.0009760 -4.140e-15 
+-0.8329 1.020e-16 -0.0009760 -7.309e-16 
 
 -1.599e-16 -0.8706 0.000 0.000 
 -0.1741 -0.6965 -0.02131 -0.02131 
 0.1365 -0.5459 0.03532 -0.03532 
 -1.253e-16 -0.6824 0.000 0.000 
 
-0.7200 0.000 0.0009760 3.241e-15 
+0.7200 0.000 0.0009760 1.953e-15 
 0.5760 -0.1440 0.03212 -0.03154 
 0.4320 -0.2880 0.04760 -0.04741 
 0.2880 -0.4320 0.04741 -0.04760 
 0.1440 -0.5760 0.03154 -0.03212 
--1.323e-16 -0.7200 -9.802e-16 -0.0009760 
+-1.323e-16 -0.7200 -4.028e-15 -0.0009760 
 
-0.7576 0.000 0.001464 4.861e-15 
+0.7576 0.000 0.001464 2.929e-15 
 0.6061 -0.1515 0.02913 -0.02825 
 0.4546 -0.3031 0.04281 -0.04252 
 0.3031 -0.4546 0.04252 -0.04281 
 0.1515 -0.6061 0.02825 -0.02913 
--1.392e-16 -0.7576 -1.470e-15 -0.001464 
+-1.392e-16 -0.7576 -6.042e-15 -0.001464 
 
-0.7953 0.000 0.001464 4.861e-15 
+0.7953 0.000 0.001464 2.929e-15 
 0.6362 -0.1591 0.02632 -0.02545 
 0.4772 -0.3181 0.03861 -0.03832 
 0.3181 -0.4772 0.03832 -0.03861 
 0.1591 -0.6362 0.02545 -0.02632 
--1.461e-16 -0.7953 -1.470e-15 -0.001464 
+-1.461e-16 -0.7953 -6.042e-15 -0.001464 
 
-0.8329 0.000 0.0009760 3.241e-15 
+0.8329 0.000 0.0009760 1.953e-15 
 0.6664 -0.1666 0.02372 -0.02313 
 0.4998 -0.3332 0.03499 -0.03480 
 0.3332 -0.4998 0.03480 -0.03499 
 0.1666 -0.6664 0.02313 -0.02372 
--1.530e-16 -0.8329 -9.802e-16 -0.0009760 
+-1.530e-16 -0.8329 -4.028e-15 -0.0009760 
 
 0.8706 0.000 0.000 0.000 
 0.6965 -0.1741 0.02131 -0.02131 
 0.6965 0.1741 0.02131 0.02131 
 0.8706 0.000 0.000 0.000 
 
-5.792e-17 0.9459 1.076e-15 0.0008989 
+5.792e-17 0.9459 -2.754e-15 0.0008989 
 0.1892 0.7567 0.01780 0.01834 
 0.3784 0.5675 0.02680 0.02698 
 0.5675 0.3784 0.02698 0.02680 
 0.7567 0.1892 0.01834 0.01780 
-0.9459 0.000 0.0008989 2.358e-15 
+0.9459 0.000 0.0008989 1.331e-15 
 
-6.253e-17 1.021 1.614e-15 0.001348 
+6.253e-17 1.021 -4.132e-15 0.001348 
 0.2042 0.8169 0.01485 0.01566 
 0.4085 0.6127 0.02241 0.02268 
 0.6127 0.4085 0.02268 0.02241 
 0.8169 0.2042 0.01566 0.01485 
-1.021 0.000 0.001348 3.538e-15 
+1.021 0.000 0.001348 1.997e-15 
 
-6.714e-17 1.096 1.614e-15 0.001348 
+6.714e-17 1.096 -4.132e-15 0.001348 
 0.2193 0.8772 0.01243 0.01324 
 0.4386 0.6579 0.01879 0.01906 
 0.6579 0.4386 0.01906 0.01879 
 0.8772 0.2193 0.01324 0.01243 
-1.096 0.000 0.001348 3.538e-15 
+1.096 0.000 0.001348 1.997e-15 
 
-7.175e-17 1.172 1.076e-15 0.0008989 
+7.175e-17 1.172 -2.754e-15 0.0008989 
 0.2344 0.9374 0.01057 0.01111 
 0.4687 0.7031 0.01594 0.01612 
 0.7031 0.4687 0.01612 0.01594 
 0.9374 0.2344 0.01111 0.01057 
-1.172 0.000 0.0008989 2.358e-15 
+1.172 0.000 0.0008989 1.331e-15 
 
 7.636e-17 1.247 0.000 0.000 
 0.2494 0.9976 0.009242 0.009242 
 -0.1741 0.6965 -0.02131 0.02131 
 5.331e-17 0.8706 0.000 0.000 
 
--0.9459 1.158e-16 -0.0008989 -1.279e-15 
+-0.9459 1.158e-16 -0.0008989 1.257e-15 
 -0.7567 0.1892 -0.01834 0.01780 
 -0.5675 0.3784 -0.02698 0.02680 
 -0.3784 0.5675 -0.02680 0.02698 
 -0.1892 0.7567 -0.01780 0.01834 
-5.792e-17 0.9459 1.076e-15 0.0008989 
+5.792e-17 0.9459 -2.754e-15 0.0008989 
 
--1.021 1.251e-16 -0.001348 -1.918e-15 
+-1.021 1.251e-16 -0.001348 1.885e-15 
 -0.8169 0.2042 -0.01566 0.01485 
 -0.6127 0.4085 -0.02268 0.02241 
 -0.4085 0.6127 -0.02241 0.02268 
 -0.2042 0.8169 -0.01485 0.01566 
-6.253e-17 1.021 1.614e-15 0.001348 
+6.253e-17 1.021 -4.132e-15 0.001348 
 
--1.096 1.343e-16 -0.001348 -1.918e-15 
+-1.096 1.343e-16 -0.001348 1.885e-15 
 -0.8772 0.2193 -0.01324 0.01243 
 -0.6579 0.4386 -0.01906 0.01879 
 -0.4386 0.6579 -0.01879 0.01906 
 -0.2193 0.8772 -0.01243 0.01324 
-6.714e-17 1.096 1.614e-15 0.001348 
+6.714e-17 1.096 -4.132e-15 0.001348 
 
--1.172 1.435e-16 -0.0008989 -1.279e-15 
+-1.172 1.435e-16 -0.0008989 1.257e-15 
 -0.9374 0.2344 -0.01111 0.01057 
 -0.7031 0.4687 -0.01612 0.01594 
 -0.4687 0.7031 -0.01594 0.01612 
 -0.2344 0.9374 -0.01057 0.01111 
-7.175e-17 1.172 1.076e-15 0.0008989 
+7.175e-17 1.172 -2.754e-15 0.0008989 
 
 -1.247 1.527e-16 0.000 0.000 
 -0.9976 0.2494 -0.009242 0.009242 
 -0.6965 -0.1741 -0.02131 -0.02131 
 -0.8706 1.066e-16 0.000 0.000 
 
--1.738e-16 -0.9459 5.444e-16 -0.0008989 
+-1.738e-16 -0.9459 -1.246e-15 -0.0008989 
 -0.1892 -0.7567 -0.01780 -0.01834 
 -0.3784 -0.5675 -0.02680 -0.02698 
 -0.5675 -0.3784 -0.02698 -0.02680 
 -0.7567 -0.1892 -0.01834 -0.01780 
--0.9459 1.158e-16 -0.0008989 -1.279e-15 
+-0.9459 1.158e-16 -0.0008989 1.257e-15 
 
--1.876e-16 -1.021 8.165e-16 -0.001348 
+-1.876e-16 -1.021 -1.870e-15 -0.001348 
 -0.2042 -0.8169 -0.01485 -0.01566 
 -0.4085 -0.6127 -0.02241 -0.02268 
 -0.6127 -0.4085 -0.02268 -0.02241 
 -0.8169 -0.2042 -0.01566 -0.01485 
--1.021 1.251e-16 -0.001348 -1.918e-15 
+-1.021 1.251e-16 -0.001348 1.885e-15 
 
--2.014e-16 -1.096 8.165e-16 -0.001348 
+-2.014e-16 -1.096 -1.870e-15 -0.001348 
 -0.2193 -0.8772 -0.01243 -0.01324 
 -0.4386 -0.6579 -0.01879 -0.01906 
 -0.6579 -0.4386 -0.01906 -0.01879 
 -0.8772 -0.2193 -0.01324 -0.01243 
--1.096 1.343e-16 -0.001348 -1.918e-15 
+-1.096 1.343e-16 -0.001348 1.885e-15 
 
--2.152e-16 -1.172 5.444e-16 -0.0008989 
+-2.152e-16 -1.172 -1.246e-15 -0.0008989 
 -0.2344 -0.9374 -0.01057 -0.01111 
 -0.4687 -0.7031 -0.01594 -0.01612 
 -0.7031 -0.4687 -0.01612 -0.01594 
 -0.9374 -0.2344 -0.01111 -0.01057 
--1.172 1.435e-16 -0.0008989 -1.279e-15 
+-1.172 1.435e-16 -0.0008989 1.257e-15 
 
 -2.291e-16 -1.247 0.000 0.000 
 -0.2494 -0.9976 -0.009242 -0.009242 
 0.1741 -0.6965 0.02131 -0.02131 
 -1.599e-16 -0.8706 0.000 0.000 
 
-0.9459 0.000 0.0008989 2.358e-15 
+0.9459 0.000 0.0008989 1.331e-15 
 0.7567 -0.1892 0.01834 -0.01780 
 0.5675 -0.3784 0.02698 -0.02680 
 0.3784 -0.5675 0.02680 -0.02698 
 0.1892 -0.7567 0.01780 -0.01834 
--1.738e-16 -0.9459 5.444e-16 -0.0008989 
+-1.738e-16 -0.9459 -1.246e-15 -0.0008989 
 
-1.021 0.000 0.001348 3.538e-15 
+1.021 0.000 0.001348 1.997e-15 
 0.8169 -0.2042 0.01566 -0.01485 
 0.6127 -0.4085 0.02268 -0.02241 
 0.4085 -0.6127 0.02241 -0.02268 
 0.2042 -0.8169 0.01485 -0.01566 
--1.876e-16 -1.021 8.165e-16 -0.001348 
+-1.876e-16 -1.021 -1.870e-15 -0.001348 
 
-1.096 0.000 0.001348 3.538e-15 
+1.096 0.000 0.001348 1.997e-15 
 0.8772 -0.2193 0.01324 -0.01243 
 0.6579 -0.4386 0.01906 -0.01879 
 0.4386 -0.6579 0.01879 -0.01906 
 0.2193 -0.8772 0.01243 -0.01324 
--2.014e-16 -1.096 8.165e-16 -0.001348 
+-2.014e-16 -1.096 -1.870e-15 -0.001348 
 
-1.172 0.000 0.0008989 2.358e-15 
+1.172 0.000 0.0008989 1.331e-15 
 0.9374 -0.2344 0.01111 -0.01057 
 0.7031 -0.4687 0.01612 -0.01594 
 0.4687 -0.7031 0.01594 -0.01612 
 0.2344 -0.9374 0.01057 -0.01111 
--2.152e-16 -1.172 5.444e-16 -0.0008989 
+-2.152e-16 -1.172 -1.246e-15 -0.0008989 
 
 1.247 0.000 0.000 0.000 
 0.9976 -0.2494 0.009242 -0.009242 
 0.9976 0.2494 0.009242 0.009242 
 1.247 0.000 0.000 0.000 
 
-8.558e-17 1.398 4.293e-16 -0.0002116 
+8.558e-17 1.398 -5.511e-16 -0.0002116 
 0.2795 1.118 0.006804 0.006677 
 0.5591 0.8386 0.01018 0.01014 
 0.8386 0.5591 0.01014 0.01018 
 1.118 0.2795 0.006677 0.006804 
-1.398 0.000 -0.0002116 5.029e-16 
+1.398 0.000 -0.0002116 2.906e-16 
 
-9.480e-17 1.548 6.439e-16 -0.0003173 
+9.480e-17 1.548 -8.267e-16 -0.0003173 
 0.3096 1.239 0.004661 0.004470 
 0.6193 0.9289 0.006959 0.006896 
 0.9289 0.6193 0.006896 0.006959 
 1.239 0.3096 0.004470 0.004661 
-1.548 0.000 -0.0003173 7.544e-16 
+1.548 0.000 -0.0003173 4.359e-16 
 
-1.040e-16 1.699 6.439e-16 -0.0003173 
+1.040e-16 1.699 -8.267e-16 -0.0003173 
 0.3398 1.359 0.002812 0.002622 
 0.6795 1.019 0.004186 0.004123 
 1.019 0.6795 0.004123 0.004186 
 1.359 0.3398 0.002622 0.002812 
-1.699 0.000 -0.0003173 7.544e-16 
+1.699 0.000 -0.0003173 4.359e-16 
 
-1.132e-16 1.849 4.293e-16 -0.0002116 
+1.132e-16 1.849 -5.511e-16 -0.0002116 
 0.3699 1.480 0.001259 0.001132 
 0.7398 1.110 0.001867 0.001824 
 1.110 0.7398 0.001824 0.001867 
 1.480 0.3699 0.001132 0.001259 
-1.849 0.000 -0.0002116 5.029e-16 
+1.849 0.000 -0.0002116 2.906e-16 
 
 1.225e-16 2.000 0.000 0.000 
 0.4000 1.600 0.000 0.000 
 -0.2494 0.9976 -0.009242 0.009242 
 7.636e-17 1.247 0.000 0.000 
 
--1.398 1.712e-16 0.0002116 -1.082e-16 
+-1.398 1.712e-16 0.0002116 4.521e-16 
 -1.118 0.2795 -0.006677 0.006804 
 -0.8386 0.5591 -0.01014 0.01018 
 -0.5591 0.8386 -0.01018 0.01014 
 -0.2795 1.118 -0.006804 0.006677 
-8.558e-17 1.398 4.293e-16 -0.0002116 
+8.558e-17 1.398 -5.511e-16 -0.0002116 
 
--1.548 1.896e-16 0.0003173 -1.624e-16 
+-1.548 1.896e-16 0.0003173 6.781e-16 
 -1.239 0.3096 -0.004470 0.004661 
 -0.9289 0.6193 -0.006896 0.006959 
 -0.6193 0.9289 -0.006959 0.006896 
 -0.3096 1.239 -0.004661 0.004470 
-9.480e-17 1.548 6.439e-16 -0.0003173 
+9.480e-17 1.548 -8.267e-16 -0.0003173 
 
--1.699 2.080e-16 0.0003173 -1.624e-16 
+-1.699 2.080e-16 0.0003173 6.781e-16 
 -1.359 0.3398 -0.002622 0.002812 
 -1.019 0.6795 -0.004123 0.004186 
 -0.6795 1.019 -0.004186 0.004123 
 -0.3398 1.359 -0.002812 0.002622 
-1.040e-16 1.699 6.439e-16 -0.0003173 
+1.040e-16 1.699 -8.267e-16 -0.0003173 
 
--1.849 2.265e-16 0.0002116 -1.082e-16 
+-1.849 2.265e-16 0.0002116 4.521e-16 
 -1.480 0.3699 -0.001132 0.001259 
 -1.110 0.7398 -0.001824 0.001867 
 -0.7398 1.110 -0.001867 0.001824 
 -0.3699 1.480 -0.001259 0.001132 
-1.132e-16 1.849 4.293e-16 -0.0002116 
+1.132e-16 1.849 -5.511e-16 -0.0002116 
 
 -2.000 2.449e-16 0.000 0.000 
 -1.600 0.4000 0.000 0.000 
 -0.9976 -0.2494 -0.009242 -0.009242 
 -1.247 1.527e-16 0.000 0.000 
 
--2.567e-16 -1.398 2.927e-16 0.0002116 
+-2.567e-16 -1.398 -4.687e-17 0.0002116 
 -0.2795 -1.118 -0.006804 -0.006677 
 -0.5591 -0.8386 -0.01018 -0.01014 
 -0.8386 -0.5591 -0.01014 -0.01018 
 -1.118 -0.2795 -0.006677 -0.006804 
--1.398 1.712e-16 0.0002116 -1.082e-16 
+-1.398 1.712e-16 0.0002116 4.521e-16 
 
--2.844e-16 -1.548 4.390e-16 0.0003173 
+-2.844e-16 -1.548 -7.030e-17 0.0003173 
 -0.3096 -1.239 -0.004661 -0.004470 
 -0.6193 -0.9289 -0.006959 -0.006896 
 -0.9289 -0.6193 -0.006896 -0.006959 
 -1.239 -0.3096 -0.004470 -0.004661 
--1.548 1.896e-16 0.0003173 -1.624e-16 
+-1.548 1.896e-16 0.0003173 6.781e-16 
 
--3.121e-16 -1.699 4.390e-16 0.0003173 
+-3.121e-16 -1.699 -7.030e-17 0.0003173 
 -0.3398 -1.359 -0.002812 -0.002622 
 -0.6795 -1.019 -0.004186 -0.004123 
 -1.019 -0.6795 -0.004123 -0.004186 
 -1.359 -0.3398 -0.002622 -0.002812 
--1.699 2.080e-16 0.0003173 -1.624e-16 
+-1.699 2.080e-16 0.0003173 6.781e-16 
 
--3.397e-16 -1.849 2.927e-16 0.0002116 
+-3.397e-16 -1.849 -4.687e-17 0.0002116 
 -0.3699 -1.480 -0.001259 -0.001132 
 -0.7398 -1.110 -0.001867 -0.001824 
 -1.110 -0.7398 -0.001824 -0.001867 
 -1.480 -0.3699 -0.001132 -0.001259 
--1.849 2.265e-16 0.0002116 -1.082e-16 
+-1.849 2.265e-16 0.0002116 4.521e-16 
 
 -3.674e-16 -2.000 0.000 0.000 
 -0.4000 -1.600 0.000 0.000 
 0.2494 -0.9976 0.009242 -0.009242 
 -2.291e-16 -1.247 0.000 0.000 
 
-1.398 0.000 -0.0002116 5.029e-16 
+1.398 0.000 -0.0002116 2.906e-16 
 1.118 -0.2795 0.006677 -0.006804 
 0.8386 -0.5591 0.01014 -0.01018 
 0.5591 -0.8386 0.01018 -0.01014 
 0.2795 -1.118 0.006804 -0.006677 
--2.567e-16 -1.398 2.927e-16 0.0002116 
+-2.567e-16 -1.398 -4.687e-17 0.0002116 
 
-1.548 0.000 -0.0003173 7.544e-16 
+1.548 0.000 -0.0003173 4.359e-16 
 1.239 -0.3096 0.004470 -0.004661 
 0.9289 -0.6193 0.006896 -0.006959 
 0.6193 -0.9289 0.006959 -0.006896 
 0.3096 -1.239 0.004661 -0.004470 
--2.844e-16 -1.548 4.390e-16 0.0003173 
+-2.844e-16 -1.548 -7.030e-17 0.0003173 
 
-1.699 0.000 -0.0003173 7.544e-16 
+1.699 0.000 -0.0003173 4.359e-16 
 1.359 -0.3398 0.002622 -0.002812 
 1.019 -0.6795 0.004123 -0.004186 
 0.6795 -1.019 0.004186 -0.004123 
 0.3398 -1.359 0.002812 -0.002622 
--3.121e-16 -1.699 4.390e-16 0.0003173 
+-3.121e-16 -1.699 -7.030e-17 0.0003173 
 
-1.849 0.000 -0.0002116 5.029e-16 
+1.849 0.000 -0.0002116 2.906e-16 
 1.480 -0.3699 0.001132 -0.001259 
 1.110 -0.7398 0.001824 -0.001867 
 0.7398 -1.110 0.001867 -0.001824 
 0.3699 -1.480 0.001259 -0.001132 
--3.397e-16 -1.849 2.927e-16 0.0002116 
+-3.397e-16 -1.849 -4.687e-17 0.0002116 
 
 2.000 0.000 0.000 0.000 
 1.600 -0.4000 0.000 0.000 
 0.4000 0.1000 0.06627 0.06627 
 0.5000 0.000 0.000 0.000 
 
-3.069e-17 0.5012 -3.874e-16 5.931e-06 
+3.069e-17 0.5012 4.814e-16 5.931e-06 
 0.1002 0.4009 0.06596 0.06596 
 0.2005 0.3007 0.09894 0.09894 
 0.3007 0.2005 0.09894 0.09894 
 0.4009 0.1002 0.06596 0.06596 
-0.5012 0.000 5.931e-06 1.593e-16 
+0.5012 0.000 5.931e-06 2.473e-16 
 
-3.076e-17 0.5024 -5.811e-16 8.897e-06 
+3.076e-17 0.5024 7.221e-16 8.897e-06 
 0.1005 0.4019 0.06565 0.06565 
 0.2009 0.3014 0.09847 0.09848 
 0.3014 0.2009 0.09848 0.09847 
 0.4019 0.1005 0.06565 0.06565 
-0.5024 0.000 8.897e-06 2.390e-16 
+0.5024 0.000 8.897e-06 3.710e-16 
 
-3.083e-17 0.5035 -5.811e-16 8.897e-06 
+3.083e-17 0.5035 7.221e-16 8.897e-06 
 0.1007 0.4028 0.06534 0.06535 
 0.2014 0.3021 0.09801 0.09801 
 0.3021 0.2014 0.09801 0.09801 
 0.4028 0.1007 0.06535 0.06534 
-0.5035 0.000 8.897e-06 2.390e-16 
+0.5035 0.000 8.897e-06 3.710e-16 
 
-3.090e-17 0.5047 -3.874e-16 5.931e-06 
+3.090e-17 0.5047 4.814e-16 5.931e-06 
 0.1009 0.4038 0.06503 0.06504 
 0.2019 0.3028 0.09755 0.09755 
 0.3028 0.2019 0.09755 0.09755 
 0.4038 0.1009 0.06504 0.06503 
-0.5047 0.000 5.931e-06 1.593e-16 
+0.5047 0.000 5.931e-06 2.473e-16 
 
 3.098e-17 0.5059 0.000 0.000 
 0.1012 0.4047 0.06473 0.06473 
 -0.1000 0.4000 -0.06627 0.06627 
 3.062e-17 0.5000 0.000 0.000 
 
--0.5012 6.138e-17 -5.931e-06 -3.442e-16 
+-0.5012 6.138e-17 -5.931e-06 -4.552e-16 
 -0.4009 0.1002 -0.06596 0.06596 
 -0.3007 0.2005 -0.09894 0.09894 
 -0.2005 0.3007 -0.09894 0.09894 
 -0.1002 0.4009 -0.06596 0.06596 
-3.069e-17 0.5012 -3.874e-16 5.931e-06 
+3.069e-17 0.5012 4.814e-16 5.931e-06 
 
--0.5024 6.152e-17 -8.897e-06 -5.163e-16 
+-0.5024 6.152e-17 -8.897e-06 -6.828e-16 
 -0.4019 0.1005 -0.06565 0.06565 
 -0.3014 0.2009 -0.09848 0.09847 
 -0.2009 0.3014 -0.09847 0.09848 
 -0.1005 0.4019 -0.06565 0.06565 
-3.076e-17 0.5024 -5.811e-16 8.897e-06 
+3.076e-17 0.5024 7.221e-16 8.897e-06 
 
--0.5035 6.166e-17 -8.897e-06 -5.163e-16 
+-0.5035 6.166e-17 -8.897e-06 -6.828e-16 
 -0.4028 0.1007 -0.06535 0.06534 
 -0.3021 0.2014 -0.09801 0.09801 
 -0.2014 0.3021 -0.09801 0.09801 
 -0.1007 0.4028 -0.06534 0.06535 
-3.083e-17 0.5035 -5.811e-16 8.897e-06 
+3.083e-17 0.5035 7.221e-16 8.897e-06 
 
--0.5047 6.181e-17 -5.931e-06 -3.442e-16 
+-0.5047 6.181e-17 -5.931e-06 -4.552e-16 
 -0.4038 0.1009 -0.06504 0.06503 
 -0.3028 0.2019 -0.09755 0.09755 
 -0.2019 0.3028 -0.09755 0.09755 
 -0.1009 0.4038 -0.06503 0.06504 
-3.090e-17 0.5047 -3.874e-16 5.931e-06 
+3.090e-17 0.5047 4.814e-16 5.931e-06 
 
 -0.5059 6.195e-17 0.000 0.000 
 -0.4047 0.1012 -0.06473 0.06473 
 -0.4000 -0.1000 -0.06627 -0.06627 
 -0.5000 6.123e-17 0.000 0.000 
 
--9.206e-17 -0.5012 -3.354e-16 -5.931e-06 
+-9.206e-17 -0.5012 8.564e-17 -5.931e-06 
 -0.1002 -0.4009 -0.06596 -0.06596 
 -0.2005 -0.3007 -0.09894 -0.09894 
 -0.3007 -0.2005 -0.09894 -0.09894 
 -0.4009 -0.1002 -0.06596 -0.06596 
--0.5012 6.138e-17 -5.931e-06 -3.442e-16 
+-0.5012 6.138e-17 -5.931e-06 -4.552e-16 
 
--9.228e-17 -0.5024 -5.031e-16 -8.897e-06 
+-9.228e-17 -0.5024 1.285e-16 -8.897e-06 
 -0.1005 -0.4019 -0.06565 -0.06565 
 -0.2009 -0.3014 -0.09847 -0.09848 
 -0.3014 -0.2009 -0.09848 -0.09847 
 -0.4019 -0.1005 -0.06565 -0.06565 
--0.5024 6.152e-17 -8.897e-06 -5.163e-16 
+-0.5024 6.152e-17 -8.897e-06 -6.828e-16 
 
--9.250e-17 -0.5035 -5.031e-16 -8.897e-06 
+-9.250e-17 -0.5035 1.285e-16 -8.897e-06 
 -0.1007 -0.4028 -0.06534 -0.06535 
 -0.2014 -0.3021 -0.09801 -0.09801 
 -0.3021 -0.2014 -0.09801 -0.09801 
 -0.4028 -0.1007 -0.06535 -0.06534 
--0.5035 6.166e-17 -8.897e-06 -5.163e-16 
+-0.5035 6.166e-17 -8.897e-06 -6.828e-16 
 
--9.271e-17 -0.5047 -3.354e-16 -5.931e-06 
+-9.271e-17 -0.5047 8.564e-17 -5.931e-06 
 -0.1009 -0.4038 -0.06503 -0.06504 
 -0.2019 -0.3028 -0.09755 -0.09755 
 -0.3028 -0.2019 -0.09755 -0.09755 
 -0.4038 -0.1009 -0.06504 -0.06503 
--0.5047 6.181e-17 -5.931e-06 -3.442e-16 
+-0.5047 6.181e-17 -5.931e-06 -4.552e-16 
 
 -9.293e-17 -0.5059 0.000 0.000 
 -0.1012 -0.4047 -0.06473 -0.06473 
 0.1000 -0.4000 0.06627 -0.06627 
 -9.185e-17 -0.5000 0.000 0.000 
 
-0.5012 0.000 5.931e-06 1.593e-16 
+0.5012 0.000 5.931e-06 2.473e-16 
 0.4009 -0.1002 0.06596 -0.06596 
 0.3007 -0.2005 0.09894 -0.09894 
 0.2005 -0.3007 0.09894 -0.09894 
 0.1002 -0.4009 0.06596 -0.06596 
--9.206e-17 -0.5012 -3.354e-16 -5.931e-06 
+-9.206e-17 -0.5012 8.564e-17 -5.931e-06 
 
-0.5024 0.000 8.897e-06 2.390e-16 
+0.5024 0.000 8.897e-06 3.710e-16 
 0.4019 -0.1005 0.06565 -0.06565 
 0.3014 -0.2009 0.09848 -0.09847 
 0.2009 -0.3014 0.09847 -0.09848 
 0.1005 -0.4019 0.06565 -0.06565 
--9.228e-17 -0.5024 -5.031e-16 -8.897e-06 
+-9.228e-17 -0.5024 1.285e-16 -8.897e-06 
 
-0.5035 0.000 8.897e-06 2.390e-16 
+0.5035 0.000 8.897e-06 3.710e-16 
 0.4028 -0.1007 0.06535 -0.06534 
 0.3021 -0.2014 0.09801 -0.09801 
 0.2014 -0.3021 0.09801 -0.09801 
 0.1007 -0.4028 0.06534 -0.06535 
--9.250e-17 -0.5035 -5.031e-16 -8.897e-06 
+-9.250e-17 -0.5035 1.285e-16 -8.897e-06 
 
-0.5047 0.000 5.931e-06 1.593e-16 
+0.5047 0.000 5.931e-06 2.473e-16 
 0.4038 -0.1009 0.06504 -0.06503 
 0.3028 -0.2019 0.09755 -0.09755 
 0.2019 -0.3028 0.09755 -0.09755 
 0.1009 -0.4038 0.06503 -0.06504 
--9.271e-17 -0.5047 -3.354e-16 -5.931e-06 
+-9.271e-17 -0.5047 8.564e-17 -5.931e-06 
 
 0.5059 0.000 0.000 0.000 
 0.4047 -0.1012 0.06473 -0.06473 
 0.4047 0.1012 0.06473 0.06473 
 0.5059 0.000 0.000 0.000 
 
-3.112e-17 0.5082 -8.638e-16 2.211e-05 
+3.112e-17 0.5082 1.453e-15 2.211e-05 
 0.1016 0.4066 0.06412 0.06414 
 0.2033 0.3049 0.09619 0.09619 
 0.3049 0.2033 0.09619 0.09619 
 0.4066 0.1016 0.06414 0.06412 
-0.5082 0.000 2.211e-05 7.003e-16 
+0.5082 0.000 2.211e-05 8.079e-16 
 
-3.126e-17 0.5106 -1.296e-15 3.316e-05 
+3.126e-17 0.5106 2.180e-15 3.316e-05 
 0.1021 0.4085 0.06353 0.06355 
 0.2042 0.3064 0.09530 0.09530 
 0.3064 0.2042 0.09530 0.09530 
 0.4085 0.1021 0.06355 0.06353 
-0.5106 0.000 3.316e-05 1.050e-15 
+0.5106 0.000 3.316e-05 1.212e-15 
 
-3.141e-17 0.5129 -1.296e-15 3.316e-05 
+3.141e-17 0.5129 2.180e-15 3.316e-05 
 0.1026 0.4104 0.06294 0.06296 
 0.2052 0.3078 0.09442 0.09442 
 0.3078 0.2052 0.09442 0.09442 
 0.4104 0.1026 0.06296 0.06294 
-0.5129 0.000 3.316e-05 1.050e-15 
+0.5129 0.000 3.316e-05 1.212e-15 
 
-3.155e-17 0.5153 -8.638e-16 2.211e-05 
+3.155e-17 0.5153 1.453e-15 2.211e-05 
 0.1031 0.4122 0.06237 0.06238 
 0.2061 0.3092 0.09355 0.09356 
 0.3092 0.2061 0.09356 0.09355 
 0.4122 0.1031 0.06238 0.06237 
-0.5153 0.000 2.211e-05 7.003e-16 
+0.5153 0.000 2.211e-05 8.079e-16 
 
 3.170e-17 0.5176 0.000 0.000 
 0.1035 0.4141 0.06180 0.06180 
 -0.1012 0.4047 -0.06473 0.06473 
 3.098e-17 0.5059 0.000 0.000 
 
--0.5082 6.224e-17 -2.211e-05 -1.169e-15 
+-0.5082 6.224e-17 -2.211e-05 -1.246e-15 
 -0.4066 0.1016 -0.06414 0.06412 
 -0.3049 0.2033 -0.09619 0.09619 
 -0.2033 0.3049 -0.09619 0.09619 
 -0.1016 0.4066 -0.06412 0.06414 
-3.112e-17 0.5082 -8.638e-16 2.211e-05 
+3.112e-17 0.5082 1.453e-15 2.211e-05 
 
--0.5106 6.253e-17 -3.316e-05 -1.754e-15 
+-0.5106 6.253e-17 -3.316e-05 -1.869e-15 
 -0.4085 0.1021 -0.06355 0.06353 
 -0.3064 0.2042 -0.09530 0.09530 
 -0.2042 0.3064 -0.09530 0.09530 
 -0.1021 0.4085 -0.06353 0.06355 
-3.126e-17 0.5106 -1.296e-15 3.316e-05 
+3.126e-17 0.5106 2.180e-15 3.316e-05 
 
--0.5129 6.282e-17 -3.316e-05 -1.754e-15 
+-0.5129 6.282e-17 -3.316e-05 -1.869e-15 
 -0.4104 0.1026 -0.06296 0.06294 
 -0.3078 0.2052 -0.09442 0.09442 
 -0.2052 0.3078 -0.09442 0.09442 
 -0.1026 0.4104 -0.06294 0.06296 
-3.141e-17 0.5129 -1.296e-15 3.316e-05 
+3.141e-17 0.5129 2.180e-15 3.316e-05 
 
--0.5153 6.311e-17 -2.211e-05 -1.169e-15 
+-0.5153 6.311e-17 -2.211e-05 -1.246e-15 
 -0.4122 0.1031 -0.06238 0.06237 
 -0.3092 0.2061 -0.09356 0.09355 
 -0.2061 0.3092 -0.09355 0.09356 
 -0.1031 0.4122 -0.06237 0.06238 
-3.155e-17 0.5153 -8.638e-16 2.211e-05 
+3.155e-17 0.5153 1.453e-15 2.211e-05 
 
 -0.5176 6.339e-17 0.000 0.000 
 -0.4141 0.1035 -0.06180 0.06180 
 -0.4047 -0.1012 -0.06473 -0.06473 
 -0.5059 6.195e-17 0.000 0.000 
 
--9.336e-17 -0.5082 -8.484e-16 -2.211e-05 
+-9.336e-17 -0.5082 -1.816e-16 -2.211e-05 
 -0.1016 -0.4066 -0.06412 -0.06414 
 -0.2033 -0.3049 -0.09619 -0.09619 
 -0.3049 -0.2033 -0.09619 -0.09619 
 -0.4066 -0.1016 -0.06414 -0.06412 
--0.5082 6.224e-17 -2.211e-05 -1.169e-15 
+-0.5082 6.224e-17 -2.211e-05 -1.246e-15 
 
--9.379e-17 -0.5106 -1.273e-15 -3.316e-05 
+-9.379e-17 -0.5106 -2.724e-16 -3.316e-05 
 -0.1021 -0.4085 -0.06353 -0.06355 
 -0.2042 -0.3064 -0.09530 -0.09530 
 -0.3064 -0.2042 -0.09530 -0.09530 
 -0.4085 -0.1021 -0.06355 -0.06353 
--0.5106 6.253e-17 -3.316e-05 -1.754e-15 
+-0.5106 6.253e-17 -3.316e-05 -1.869e-15 
 
--9.423e-17 -0.5129 -1.273e-15 -3.316e-05 
+-9.423e-17 -0.5129 -2.724e-16 -3.316e-05 
 -0.1026 -0.4104 -0.06294 -0.06296 
 -0.2052 -0.3078 -0.09442 -0.09442 
 -0.3078 -0.2052 -0.09442 -0.09442 
 -0.4104 -0.1026 -0.06296 -0.06294 
--0.5129 6.282e-17 -3.316e-05 -1.754e-15 
+-0.5129 6.282e-17 -3.316e-05 -1.869e-15 
 
--9.466e-17 -0.5153 -8.484e-16 -2.211e-05 
+-9.466e-17 -0.5153 -1.816e-16 -2.211e-05 
 -0.1031 -0.4122 -0.06237 -0.06238 
 -0.2061 -0.3092 -0.09355 -0.09356 
 -0.3092 -0.2061 -0.09356 -0.09355 
 -0.4122 -0.1031 -0.06238 -0.06237 
--0.5153 6.311e-17 -2.211e-05 -1.169e-15 
+-0.5153 6.311e-17 -2.211e-05 -1.246e-15 
 
 -9.509e-17 -0.5176 0.000 0.000 
 -0.1035 -0.4141 -0.06180 -0.06180 
 0.1012 -0.4047 0.06473 -0.06473 
 -9.293e-17 -0.5059 0.000 0.000 
 
-0.5082 0.000 2.211e-05 7.003e-16 
+0.5082 0.000 2.211e-05 8.079e-16 
 0.4066 -0.1016 0.06414 -0.06412 
 0.3049 -0.2033 0.09619 -0.09619 
 0.2033 -0.3049 0.09619 -0.09619 
 0.1016 -0.4066 0.06412 -0.06414 
--9.336e-17 -0.5082 -8.484e-16 -2.211e-05 
+-9.336e-17 -0.5082 -1.816e-16 -2.211e-05 
 
-0.5106 0.000 3.316e-05 1.050e-15 
+0.5106 0.000 3.316e-05 1.212e-15 
 0.4085 -0.1021 0.06355 -0.06353 
 0.3064 -0.2042 0.09530 -0.09530 
 0.2042 -0.3064 0.09530 -0.09530 
 0.1021 -0.4085 0.06353 -0.06355 
--9.379e-17 -0.5106 -1.273e-15 -3.316e-05 
+-9.379e-17 -0.5106 -2.724e-16 -3.316e-05 
 
-0.5129 0.000 3.316e-05 1.050e-15 
+0.5129 0.000 3.316e-05 1.212e-15 
 0.4104 -0.1026 0.06296 -0.06294 
 0.3078 -0.2052 0.09442 -0.09442 
 0.2052 -0.3078 0.09442 -0.09442 
 0.1026 -0.4104 0.06294 -0.06296 
--9.423e-17 -0.5129 -1.273e-15 -3.316e-05 
+-9.423e-17 -0.5129 -2.724e-16 -3.316e-05 
 
-0.5153 0.000 2.211e-05 7.003e-16 
+0.5153 0.000 2.211e-05 8.079e-16 
 0.4122 -0.1031 0.06238 -0.06237 
 0.3092 -0.2061 0.09356 -0.09355 
 0.2061 -0.3092 0.09355 -0.09356 
 0.1031 -0.4122 0.06237 -0.06238 
--9.466e-17 -0.5153 -8.484e-16 -2.211e-05 
+-9.466e-17 -0.5153 -1.816e-16 -2.211e-05 
 
 0.5176 0.000 0.000 0.000 
 0.4141 -0.1035 0.06180 -0.06180 
 0.4141 0.1035 0.06180 0.06180 
 0.5176 0.000 0.000 0.000 
 
-3.198e-17 0.5224 -7.557e-16 7.701e-05 
+3.198e-17 0.5224 1.889e-15 7.701e-05 
 0.1045 0.4179 0.06067 0.06072 
 0.2089 0.3134 0.09101 0.09103 
 0.3134 0.2089 0.09103 0.09101 
 0.4179 0.1045 0.06072 0.06067 
-0.5224 0.000 7.701e-05 1.566e-15 
+0.5224 0.000 7.701e-05 1.390e-15 
 
-3.227e-17 0.5271 -1.133e-15 0.0001155 
+3.227e-17 0.5271 2.834e-15 0.0001155 
 0.1054 0.4216 0.05957 0.05964 
 0.2108 0.3162 0.08937 0.08940 
 0.3162 0.2108 0.08940 0.08937 
 0.4216 0.1054 0.05964 0.05957 
-0.5271 0.000 0.0001155 2.349e-15 
+0.5271 0.000 0.0001155 2.084e-15 
 
-3.256e-17 0.5318 -1.133e-15 0.0001155 
+3.256e-17 0.5318 2.834e-15 0.0001155 
 0.1064 0.4254 0.05852 0.05858 
 0.2127 0.3191 0.08778 0.08781 
 0.3191 0.2127 0.08781 0.08778 
 0.4254 0.1064 0.05858 0.05852 
-0.5318 0.000 0.0001155 2.349e-15 
+0.5318 0.000 0.0001155 2.084e-15 
 
-3.285e-17 0.5365 -7.557e-16 7.701e-05 
+3.285e-17 0.5365 1.889e-15 7.701e-05 
 0.1073 0.4292 0.05749 0.05754 
 0.2146 0.3219 0.08624 0.08626 
 0.3219 0.2146 0.08626 0.08624 
 0.4292 0.1073 0.05754 0.05749 
-0.5365 0.000 7.701e-05 1.566e-15 
+0.5365 0.000 7.701e-05 1.390e-15 
 
 3.314e-17 0.5412 0.000 0.000 
 0.1082 0.4329 0.05650 0.05650 
 -0.1035 0.4141 -0.06180 0.06180 
 3.170e-17 0.5176 0.000 0.000 
 
--0.5224 6.397e-17 -7.701e-05 -2.610e-15 
+-0.5224 6.397e-17 -7.701e-05 -1.976e-15 
 -0.4179 0.1045 -0.06072 0.06067 
 -0.3134 0.2089 -0.09103 0.09101 
 -0.2089 0.3134 -0.09101 0.09103 
 -0.1045 0.4179 -0.06067 0.06072 
-3.198e-17 0.5224 -7.557e-16 7.701e-05 
+3.198e-17 0.5224 1.889e-15 7.701e-05 
 
--0.5271 6.455e-17 -0.0001155 -3.915e-15 
+-0.5271 6.455e-17 -0.0001155 -2.964e-15 
 -0.4216 0.1054 -0.05964 0.05957 
 -0.3162 0.2108 -0.08940 0.08937 
 -0.2108 0.3162 -0.08937 0.08940 
 -0.1054 0.4216 -0.05957 0.05964 
-3.227e-17 0.5271 -1.133e-15 0.0001155 
+3.227e-17 0.5271 2.834e-15 0.0001155 
 
--0.5318 6.512e-17 -0.0001155 -3.915e-15 
+-0.5318 6.512e-17 -0.0001155 -2.964e-15 
 -0.4254 0.1064 -0.05858 0.05852 
 -0.3191 0.2127 -0.08781 0.08778 
 -0.2127 0.3191 -0.08778 0.08781 
 -0.1064 0.4254 -0.05852 0.05858 
-3.256e-17 0.5318 -1.133e-15 0.0001155 
+3.256e-17 0.5318 2.834e-15 0.0001155 
 
--0.5365 6.570e-17 -7.701e-05 -2.610e-15 
+-0.5365 6.570e-17 -7.701e-05 -1.976e-15 
 -0.4292 0.1073 -0.05754 0.05749 
 -0.3219 0.2146 -0.08626 0.08624 
 -0.2146 0.3219 -0.08624 0.08626 
 -0.1073 0.4292 -0.05749 0.05754 
-3.285e-17 0.5365 -7.557e-16 7.701e-05 
+3.285e-17 0.5365 1.889e-15 7.701e-05 
 
 -0.5412 6.628e-17 0.000 0.000 
 -0.4329 0.1082 -0.05650 0.05650 
 -0.4141 -0.1035 -0.06180 -0.06180 
 -0.5176 6.339e-17 0.000 0.000 
 
--9.595e-17 -0.5224 -9.099e-16 -7.701e-05 
+-9.595e-17 -0.5224 -1.393e-15 -7.701e-05 
 -0.1045 -0.4179 -0.06067 -0.06072 
 -0.2089 -0.3134 -0.09101 -0.09103 
 -0.3134 -0.2089 -0.09103 -0.09101 
 -0.4179 -0.1045 -0.06072 -0.06067 
--0.5224 6.397e-17 -7.701e-05 -2.610e-15 
+-0.5224 6.397e-17 -7.701e-05 -1.976e-15 
 
--9.682e-17 -0.5271 -1.365e-15 -0.0001155 
+-9.682e-17 -0.5271 -2.090e-15 -0.0001155 
 -0.1054 -0.4216 -0.05957 -0.05964 
 -0.2108 -0.3162 -0.08937 -0.08940 
 -0.3162 -0.2108 -0.08940 -0.08937 
 -0.4216 -0.1054 -0.05964 -0.05957 
--0.5271 6.455e-17 -0.0001155 -3.915e-15 
+-0.5271 6.455e-17 -0.0001155 -2.964e-15 
 
--9.768e-17 -0.5318 -1.365e-15 -0.0001155 
+-9.768e-17 -0.5318 -2.090e-15 -0.0001155 
 -0.1064 -0.4254 -0.05852 -0.05858 
 -0.2127 -0.3191 -0.08778 -0.08781 
 -0.3191 -0.2127 -0.08781 -0.08778 
 -0.4254 -0.1064 -0.05858 -0.05852 
--0.5318 6.512e-17 -0.0001155 -3.915e-15 
+-0.5318 6.512e-17 -0.0001155 -2.964e-15 
 
--9.855e-17 -0.5365 -9.099e-16 -7.701e-05 
+-9.855e-17 -0.5365 -1.393e-15 -7.701e-05 
 -0.1073 -0.4292 -0.05749 -0.05754 
 -0.2146 -0.3219 -0.08624 -0.08626 
 -0.3219 -0.2146 -0.08626 -0.08624 
 -0.4292 -0.1073 -0.05754 -0.05749 
--0.5365 6.570e-17 -7.701e-05 -2.610e-15 
+-0.5365 6.570e-17 -7.701e-05 -1.976e-15 
 
 -9.941e-17 -0.5412 0.000 0.000 
 -0.1082 -0.4329 -0.05650 -0.05650 
 0.1035 -0.4141 0.06180 -0.06180 
 -9.509e-17 -0.5176 0.000 0.000 
 
-0.5224 0.000 7.701e-05 1.566e-15 
+0.5224 0.000 7.701e-05 1.390e-15 
 0.4179 -0.1045 0.06072 -0.06067 
 0.3134 -0.2089 0.09103 -0.09101 
 0.2089 -0.3134 0.09101 -0.09103 
 0.1045 -0.4179 0.06067 -0.06072 
--9.595e-17 -0.5224 -9.099e-16 -7.701e-05 
+-9.595e-17 -0.5224 -1.393e-15 -7.701e-05 
 
-0.5271 0.000 0.0001155 2.349e-15 
+0.5271 0.000 0.0001155 2.084e-15 
 0.4216 -0.1054 0.05964 -0.05957 
 0.3162 -0.2108 0.08940 -0.08937 
 0.2108 -0.3162 0.08937 -0.08940 
 0.1054 -0.4216 0.05957 -0.05964 
--9.682e-17 -0.5271 -1.365e-15 -0.0001155 
+-9.682e-17 -0.5271 -2.090e-15 -0.0001155 
 
-0.5318 0.000 0.0001155 2.349e-15 
+0.5318 0.000 0.0001155 2.084e-15 
 0.4254 -0.1064 0.05858 -0.05852 
 0.3191 -0.2127 0.08781 -0.08778 
 0.2127 -0.3191 0.08778 -0.08781 
 0.1064 -0.4254 0.05852 -0.05858 
--9.768e-17 -0.5318 -1.365e-15 -0.0001155 
+-9.768e-17 -0.5318 -2.090e-15 -0.0001155 
 
-0.5365 0.000 7.701e-05 1.566e-15 
+0.5365 0.000 7.701e-05 1.390e-15 
 0.4292 -0.1073 0.05754 -0.05749 
 0.3219 -0.2146 0.08626 -0.08624 
 0.2146 -0.3219 0.08624 -0.08626 
 0.1073 -0.4292 0.05749 -0.05754 
--9.855e-17 -0.5365 -9.099e-16 -7.701e-05 
+-9.855e-17 -0.5365 -1.393e-15 -7.701e-05 
 
 0.5412 0.000 0.000 0.000 
 0.4329 -0.1082 0.05650 -0.05650 
 0.4329 0.1082 0.05650 0.05650 
 0.5412 0.000 0.000 0.000 
 
-3.371e-17 0.5506 -9.106e-16 0.0002362 
+3.371e-17 0.5506 9.134e-16 0.0002362 
 0.1101 0.4405 0.05453 0.05467 
 0.2202 0.3304 0.08182 0.08187 
 0.3304 0.2202 0.08187 0.08182 
 0.4405 0.1101 0.05467 0.05453 
-0.5506 0.000 0.0002362 2.559e-15 
+0.5506 0.000 0.0002362 1.963e-15 
 
-3.429e-17 0.5600 -1.366e-15 0.0003544 
+3.429e-17 0.5600 1.370e-15 0.0003544 
 0.1120 0.4480 0.05267 0.05288 
 0.2240 0.3360 0.07904 0.07911 
 0.3360 0.2240 0.07911 0.07904 
 0.4480 0.1120 0.05288 0.05267 
-0.5600 0.000 0.0003544 3.839e-15 
+0.5600 0.000 0.0003544 2.945e-15 
 
-3.487e-17 0.5694 -1.366e-15 0.0003544 
+3.487e-17 0.5694 1.370e-15 0.0003544 
 0.1139 0.4555 0.05092 0.05113 
 0.2278 0.3416 0.07641 0.07648 
 0.3416 0.2278 0.07648 0.07641 
 0.4555 0.1139 0.05113 0.05092 
-0.5694 0.000 0.0003544 3.839e-15 
+0.5694 0.000 0.0003544 2.945e-15 
 
-3.544e-17 0.5788 -9.106e-16 0.0002362 
+3.544e-17 0.5788 9.134e-16 0.0002362 
 0.1158 0.4631 0.04927 0.04942 
 0.2315 0.3473 0.07393 0.07398 
 0.3473 0.2315 0.07398 0.07393 
 0.4631 0.1158 0.04942 0.04927 
-0.5788 0.000 0.0002362 2.559e-15 
+0.5788 0.000 0.0002362 1.963e-15 
 
 3.602e-17 0.5882 0.000 0.000 
 0.1176 0.4706 0.04774 0.04774 
 -0.1082 0.4329 -0.05650 0.05650 
 3.314e-17 0.5412 0.000 0.000 
 
--0.5506 6.743e-17 -0.0002362 -4.733e-15 
+-0.5506 6.743e-17 -0.0002362 -2.659e-15 
 -0.4405 0.1101 -0.05467 0.05453 
 -0.3304 0.2202 -0.08187 0.08182 
 -0.2202 0.3304 -0.08182 0.08187 
 -0.1101 0.4405 -0.05453 0.05467 
-3.371e-17 0.5506 -9.106e-16 0.0002362 
+3.371e-17 0.5506 9.134e-16 0.0002362 
 
--0.5600 6.858e-17 -0.0003544 -7.100e-15 
+-0.5600 6.858e-17 -0.0003544 -3.988e-15 
 -0.4480 0.1120 -0.05288 0.05267 
 -0.3360 0.2240 -0.07911 0.07904 
 -0.2240 0.3360 -0.07904 0.07911 
 -0.1120 0.4480 -0.05267 0.05288 
-3.429e-17 0.5600 -1.366e-15 0.0003544 
+3.429e-17 0.5600 1.370e-15 0.0003544 
 
--0.5694 6.973e-17 -0.0003544 -7.100e-15 
+-0.5694 6.973e-17 -0.0003544 -3.988e-15 
 -0.4555 0.1139 -0.05113 0.05092 
 -0.3416 0.2278 -0.07648 0.07641 
 -0.2278 0.3416 -0.07641 0.07648 
 -0.1139 0.4555 -0.05092 0.05113 
-3.487e-17 0.5694 -1.366e-15 0.0003544 
+3.487e-17 0.5694 1.370e-15 0.0003544 
 
--0.5788 7.089e-17 -0.0002362 -4.733e-15 
+-0.5788 7.089e-17 -0.0002362 -2.659e-15 
 -0.4631 0.1158 -0.04942 0.04927 
 -0.3473 0.2315 -0.07398 0.07393 
 -0.2315 0.3473 -0.07393 0.07398 
 -0.1158 0.4631 -0.04927 0.04942 
-3.544e-17 0.5788 -9.106e-16 0.0002362 
+3.544e-17 0.5788 9.134e-16 0.0002362 
 
 -0.5882 7.204e-17 0.000 0.000 
 -0.4706 0.1176 -0.04774 0.04774 
 -0.4329 -0.1082 -0.05650 -0.05650 
 -0.5412 6.628e-17 0.000 0.000 
 
--1.011e-16 -0.5506 -8.095e-16 -0.0002362 
+-1.011e-16 -0.5506 -3.217e-15 -0.0002362 
 -0.1101 -0.4405 -0.05453 -0.05467 
 -0.2202 -0.3304 -0.08182 -0.08187 
 -0.3304 -0.2202 -0.08187 -0.08182 
 -0.4405 -0.1101 -0.05467 -0.05453 
--0.5506 6.743e-17 -0.0002362 -4.733e-15 
+-0.5506 6.743e-17 -0.0002362 -2.659e-15 
 
--1.029e-16 -0.5600 -1.214e-15 -0.0003544 
+-1.029e-16 -0.5600 -4.826e-15 -0.0003544 
 -0.1120 -0.4480 -0.05267 -0.05288 
 -0.2240 -0.3360 -0.07904 -0.07911 
 -0.3360 -0.2240 -0.07911 -0.07904 
 -0.4480 -0.1120 -0.05288 -0.05267 
--0.5600 6.858e-17 -0.0003544 -7.100e-15 
+-0.5600 6.858e-17 -0.0003544 -3.988e-15 
 
--1.046e-16 -0.5694 -1.214e-15 -0.0003544 
+-1.046e-16 -0.5694 -4.826e-15 -0.0003544 
 -0.1139 -0.4555 -0.05092 -0.05113 
 -0.2278 -0.3416 -0.07641 -0.07648 
 -0.3416 -0.2278 -0.07648 -0.07641 
 -0.4555 -0.1139 -0.05113 -0.05092 
--0.5694 6.973e-17 -0.0003544 -7.100e-15 
+-0.5694 6.973e-17 -0.0003544 -3.988e-15 
 
--1.063e-16 -0.5788 -8.095e-16 -0.0002362 
+-1.063e-16 -0.5788 -3.217e-15 -0.0002362 
 -0.1158 -0.4631 -0.04927 -0.04942 
 -0.2315 -0.3473 -0.07393 -0.07398 
 -0.3473 -0.2315 -0.07398 -0.07393 
 -0.4631 -0.1158 -0.04942 -0.04927 
--0.5788 7.089e-17 -0.0002362 -4.733e-15 
+-0.5788 7.089e-17 -0.0002362 -2.659e-15 
 
 -1.081e-16 -0.5882 0.000 0.000 
 -0.1176 -0.4706 -0.04774 -0.04774 
 0.1082 -0.4329 0.05650 -0.05650 
 -9.941e-17 -0.5412 0.000 0.000 
 
-0.5506 0.000 0.0002362 2.559e-15 
+0.5506 0.000 0.0002362 1.963e-15 
 0.4405 -0.1101 0.05467 -0.05453 
 0.3304 -0.2202 0.08187 -0.08182 
 0.2202 -0.3304 0.08182 -0.08187 
 0.1101 -0.4405 0.05453 -0.05467 
--1.011e-16 -0.5506 -8.095e-16 -0.0002362 
+-1.011e-16 -0.5506 -3.217e-15 -0.0002362 
 
-0.5600 0.000 0.0003544 3.839e-15 
+0.5600 0.000 0.0003544 2.945e-15 
 0.4480 -0.1120 0.05288 -0.05267 
 0.3360 -0.2240 0.07911 -0.07904 
 0.2240 -0.3360 0.07904 -0.07911 
 0.1120 -0.4480 0.05267 -0.05288 
--1.029e-16 -0.5600 -1.214e-15 -0.0003544 
+-1.029e-16 -0.5600 -4.826e-15 -0.0003544 
 
-0.5694 0.000 0.0003544 3.839e-15 
+0.5694 0.000 0.0003544 2.945e-15 
 0.4555 -0.1139 0.05113 -0.05092 
 0.3416 -0.2278 0.07648 -0.07641 
 0.2278 -0.3416 0.07641 -0.07648 
 0.1139 -0.4555 0.05092 -0.05113 
--1.046e-16 -0.5694 -1.214e-15 -0.0003544 
+-1.046e-16 -0.5694 -4.826e-15 -0.0003544 
 
-0.5788 0.000 0.0002362 2.559e-15 
+0.5788 0.000 0.0002362 1.963e-15 
 0.4631 -0.1158 0.04942 -0.04927 
 0.3473 -0.2315 0.07398 -0.07393 
 0.2315 -0.3473 0.07393 -0.07398 
 0.1158 -0.4631 0.04927 -0.04942 
--1.063e-16 -0.5788 -8.095e-16 -0.0002362 
+-1.063e-16 -0.5788 -3.217e-15 -0.0002362 
 
 0.5882 0.000 0.000 0.000 
 0.4706 -0.1176 0.04774 -0.04774 
 0.4706 0.1176 0.04774 0.04774 
 0.5882 0.000 0.000 0.000 
 
-3.717e-17 0.6071 -1.735e-15 0.0005780 
+3.717e-17 0.6071 -1.514e-15 0.0005780 
 0.1214 0.4856 0.04471 0.04505 
 0.2428 0.3642 0.06712 0.06724 
 0.3642 0.2428 0.06724 0.06712 
 0.4856 0.1214 0.04505 0.04471 
-0.6071 0.000 0.0005780 3.214e-15 
+0.6071 0.000 0.0005780 2.251e-15 
 
-3.832e-17 0.6259 -2.602e-15 0.0008670 
+3.832e-17 0.6259 -2.271e-15 0.0008670 
 0.1252 0.5007 0.04195 0.04247 
 0.2504 0.3755 0.06301 0.06318 
 0.3755 0.2504 0.06318 0.06301 
 0.5007 0.1252 0.04247 0.04195 
-0.6259 0.000 0.0008670 4.821e-15 
+0.6259 0.000 0.0008670 3.376e-15 
 
-3.948e-17 0.6447 -2.602e-15 0.0008670 
+3.948e-17 0.6447 -2.271e-15 0.0008670 
 0.1289 0.5158 0.03946 0.03998 
 0.2579 0.3868 0.05928 0.05945 
 0.3868 0.2579 0.05945 0.05928 
 0.5158 0.1289 0.03998 0.03946 
-0.6447 0.000 0.0008670 4.821e-15 
+0.6447 0.000 0.0008670 3.376e-15 
 
-4.063e-17 0.6635 -1.735e-15 0.0005780 
+4.063e-17 0.6635 -1.514e-15 0.0005780 
 0.1327 0.5308 0.03725 0.03760 
 0.2654 0.3981 0.05594 0.05605 
 0.3981 0.2654 0.05605 0.05594 
 0.5308 0.1327 0.03760 0.03725 
-0.6635 0.000 0.0005780 3.214e-15 
+0.6635 0.000 0.0005780 2.251e-15 
 
 4.178e-17 0.6824 0.000 0.000 
 0.1365 0.5459 0.03532 0.03532 
 -0.1176 0.4706 -0.04774 0.04774 
 3.602e-17 0.5882 0.000 0.000 
 
--0.6071 7.434e-17 -0.0005780 -5.867e-15 
+-0.6071 7.434e-17 -0.0005780 -2.476e-15 
 -0.4856 0.1214 -0.04505 0.04471 
 -0.3642 0.2428 -0.06724 0.06712 
 -0.2428 0.3642 -0.06712 0.06724 
 -0.1214 0.4856 -0.04471 0.04505 
-3.717e-17 0.6071 -1.735e-15 0.0005780 
+3.717e-17 0.6071 -1.514e-15 0.0005780 
 
--0.6259 7.665e-17 -0.0008670 -8.800e-15 
+-0.6259 7.665e-17 -0.0008670 -3.714e-15 
 -0.5007 0.1252 -0.04247 0.04195 
 -0.3755 0.2504 -0.06318 0.06301 
 -0.2504 0.3755 -0.06301 0.06318 
 -0.1252 0.5007 -0.04195 0.04247 
-3.832e-17 0.6259 -2.602e-15 0.0008670 
+3.832e-17 0.6259 -2.271e-15 0.0008670 
 
--0.6447 7.895e-17 -0.0008670 -8.800e-15 
+-0.6447 7.895e-17 -0.0008670 -3.714e-15 
 -0.5158 0.1289 -0.03998 0.03946 
 -0.3868 0.2579 -0.05945 0.05928 
 -0.2579 0.3868 -0.05928 0.05945 
 -0.1289 0.5158 -0.03946 0.03998 
-3.948e-17 0.6447 -2.602e-15 0.0008670 
+3.948e-17 0.6447 -2.271e-15 0.0008670 
 
--0.6635 8.126e-17 -0.0005780 -5.867e-15 
+-0.6635 8.126e-17 -0.0005780 -2.476e-15 
 -0.5308 0.1327 -0.03760 0.03725 
 -0.3981 0.2654 -0.05605 0.05594 
 -0.2654 0.3981 -0.05594 0.05605 
 -0.1327 0.5308 -0.03725 0.03760 
-4.063e-17 0.6635 -1.735e-15 0.0005780 
+4.063e-17 0.6635 -1.514e-15 0.0005780 
 
 -0.6824 8.356e-17 0.000 0.000 
 -0.5459 0.1365 -0.03532 0.03532 
 -0.4706 -0.1176 -0.04774 -0.04774 
 -0.5882 7.204e-17 0.000 0.000 
 
--1.115e-16 -0.6071 -1.151e-15 -0.0005780 
+-1.115e-16 -0.6071 -4.605e-15 -0.0005780 
 -0.1214 -0.4856 -0.04471 -0.04505 
 -0.2428 -0.3642 -0.06712 -0.06724 
 -0.3642 -0.2428 -0.06724 -0.06712 
 -0.4856 -0.1214 -0.04505 -0.04471 
--0.6071 7.434e-17 -0.0005780 -5.867e-15 
+-0.6071 7.434e-17 -0.0005780 -2.476e-15 
 
--1.150e-16 -0.6259 -1.726e-15 -0.0008670 
+-1.150e-16 -0.6259 -6.908e-15 -0.0008670 
 -0.1252 -0.5007 -0.04195 -0.04247 
 -0.2504 -0.3755 -0.06301 -0.06318 
 -0.3755 -0.2504 -0.06318 -0.06301 
 -0.5007 -0.1252 -0.04247 -0.04195 
--0.6259 7.665e-17 -0.0008670 -8.800e-15 
+-0.6259 7.665e-17 -0.0008670 -3.714e-15 
 
--1.184e-16 -0.6447 -1.726e-15 -0.0008670 
+-1.184e-16 -0.6447 -6.908e-15 -0.0008670 
 -0.1289 -0.5158 -0.03946 -0.03998 
 -0.2579 -0.3868 -0.05928 -0.05945 
 -0.3868 -0.2579 -0.05945 -0.05928 
 -0.5158 -0.1289 -0.03998 -0.03946 
--0.6447 7.895e-17 -0.0008670 -8.800e-15 
+-0.6447 7.895e-17 -0.0008670 -3.714e-15 
 
--1.219e-16 -0.6635 -1.151e-15 -0.0005780 
+-1.219e-16 -0.6635 -4.605e-15 -0.0005780 
 -0.1327 -0.5308 -0.03725 -0.03760 
 -0.2654 -0.3981 -0.05594 -0.05605 
 -0.3981 -0.2654 -0.05605 -0.05594 
 -0.5308 -0.1327 -0.03760 -0.03725 
--0.6635 8.126e-17 -0.0005780 -5.867e-15 
+-0.6635 8.126e-17 -0.0005780 -2.476e-15 
 
 -1.253e-16 -0.6824 0.000 0.000 
 -0.1365 -0.5459 -0.03532 -0.03532 
 0.1176 -0.4706 0.04774 -0.04774 
 -1.081e-16 -0.5882 0.000 0.000 
 
-0.6071 0.000 0.0005780 3.214e-15 
+0.6071 0.000 0.0005780 2.251e-15 
 0.4856 -0.1214 0.04505 -0.04471 
 0.3642 -0.2428 0.06724 -0.06712 
 0.2428 -0.3642 0.06712 -0.06724 
 0.1214 -0.4856 0.04471 -0.04505 
--1.115e-16 -0.6071 -1.151e-15 -0.0005780 
+-1.115e-16 -0.6071 -4.605e-15 -0.0005780 
 
-0.6259 0.000 0.0008670 4.821e-15 
+0.6259 0.000 0.0008670 3.376e-15 
 0.5007 -0.1252 0.04247 -0.04195 
 0.3755 -0.2504 0.06318 -0.06301 
 0.2504 -0.3755 0.06301 -0.06318 
 0.1252 -0.5007 0.04195 -0.04247 
--1.150e-16 -0.6259 -1.726e-15 -0.0008670 
+-1.150e-16 -0.6259 -6.908e-15 -0.0008670 
 
-0.6447 0.000 0.0008670 4.821e-15 
+0.6447 0.000 0.0008670 3.376e-15 
 0.5158 -0.1289 0.03998 -0.03946 
 0.3868 -0.2579 0.05945 -0.05928 
 0.2579 -0.3868 0.05928 -0.05945 
 0.1289 -0.5158 0.03946 -0.03998 
--1.184e-16 -0.6447 -1.726e-15 -0.0008670 
+-1.184e-16 -0.6447 -6.908e-15 -0.0008670 
 
-0.6635 0.000 0.0005780 3.214e-15 
+0.6635 0.000 0.0005780 2.251e-15 
 0.5308 -0.1327 0.03760 -0.03725 
 0.3981 -0.2654 0.05605 -0.05594 
 0.2654 -0.3981 0.05594 -0.05605 
 0.1327 -0.5308 0.03725 -0.03760 
--1.219e-16 -0.6635 -1.151e-15 -0.0005780 
+-1.219e-16 -0.6635 -4.605e-15 -0.0005780 
 
 0.6824 0.000 0.000 0.000 
 0.5459 -0.1365 0.03532 -0.03532 
 0.5459 0.1365 0.03532 0.03532 
 0.6824 0.000 0.000 0.000 
 
-4.409e-17 0.7200 -9.503e-16 0.0009760 
+4.409e-17 0.7200 -3.474e-15 0.0009760 
 0.1440 0.5760 0.03154 0.03212 
 0.2880 0.4320 0.04741 0.04760 
 0.4320 0.2880 0.04760 0.04741 
 0.5760 0.1440 0.03212 0.03154 
-0.7200 0.000 0.0009760 3.241e-15 
+0.7200 0.000 0.0009760 1.953e-15 
 
-4.639e-17 0.7576 -1.425e-15 0.001464 
+4.639e-17 0.7576 -5.211e-15 0.001464 
 0.1515 0.6061 0.02825 0.02913 
 0.3031 0.4546 0.04252 0.04281 
 0.4546 0.3031 0.04281 0.04252 
 0.6061 0.1515 0.02913 0.02825 
-0.7576 0.000 0.001464 4.861e-15 
+0.7576 0.000 0.001464 2.929e-15 
 
-4.870e-17 0.7953 -1.425e-15 0.001464 
+4.870e-17 0.7953 -5.211e-15 0.001464 
 0.1591 0.6362 0.02545 0.02632 
 0.3181 0.4772 0.03832 0.03861 
 0.4772 0.3181 0.03861 0.03832 
 0.6362 0.1591 0.02632 0.02545 
-0.7953 0.000 0.001464 4.861e-15 
+0.7953 0.000 0.001464 2.929e-15 
 
-5.100e-17 0.8329 -9.503e-16 0.0009760 
+5.100e-17 0.8329 -3.474e-15 0.0009760 
 0.1666 0.6664 0.02313 0.02372 
 0.3332 0.4998 0.03480 0.03499 
 0.4998 0.3332 0.03499 0.03480 
 0.6664 0.1666 0.02372 0.02313 
-0.8329 0.000 0.0009760 3.241e-15 
+0.8329 0.000 0.0009760 1.953e-15 
 
 5.331e-17 0.8706 0.000 0.000 
 0.1741 0.6965 0.02131 0.02131 
 -0.1365 0.5459 -0.03532 0.03532 
 4.178e-17 0.6824 0.000 0.000 
 
--0.7200 8.817e-17 -0.0009760 -4.140e-15 
+-0.7200 8.817e-17 -0.0009760 -7.309e-16 
 -0.5760 0.1440 -0.03212 0.03154 
 -0.4320 0.2880 -0.04760 0.04741 
 -0.2880 0.4320 -0.04741 0.04760 
 -0.1440 0.5760 -0.03154 0.03212 
-4.409e-17 0.7200 -9.503e-16 0.0009760 
+4.409e-17 0.7200 -3.474e-15 0.0009760 
 
--0.7576 9.279e-17 -0.001464 -6.210e-15 
+-0.7576 9.279e-17 -0.001464 -1.096e-15 
 -0.6061 0.1515 -0.02913 0.02825 
 -0.4546 0.3031 -0.04281 0.04252 
 -0.3031 0.4546 -0.04252 0.04281 
 -0.1515 0.6061 -0.02825 0.02913 
-4.639e-17 0.7576 -1.425e-15 0.001464 
+4.639e-17 0.7576 -5.211e-15 0.001464 
 
--0.7953 9.740e-17 -0.001464 -6.210e-15 
+-0.7953 9.740e-17 -0.001464 -1.096e-15 
 -0.6362 0.1591 -0.02632 0.02545 
 -0.4772 0.3181 -0.03861 0.03832 
 -0.3181 0.4772 -0.03832 0.03861 
 -0.1591 0.6362 -0.02545 0.02632 
-4.870e-17 0.7953 -1.425e-15 0.001464 
+4.870e-17 0.7953 -5.211e-15 0.001464 
 
--0.8329 1.020e-16 -0.0009760 -4.140e-15 
+-0.8329 1.020e-16 -0.0009760 -7.309e-16 
 -0.6664 0.1666 -0.02372 0.02313 
 -0.4998 0.3332 -0.03499 0.03480 
 -0.3332 0.4998 -0.03480 0.03499 
 -0.1666 0.6664 -0.02313 0.02372 
-5.100e-17 0.8329 -9.503e-16 0.0009760 
+5.100e-17 0.8329 -3.474e-15 0.0009760 
 
 -0.8706 1.066e-16 0.000 0.000 
 -0.6965 0.1741 -0.02131 0.02131 
 -0.5459 -0.1365 -0.03532 -0.03532 
 -0.6824 8.356e-17 0.000 0.000 
 
--1.323e-16 -0.7200 -9.802e-16 -0.0009760 
+-1.323e-16 -0.7200 -4.028e-15 -0.0009760 
 -0.1440 -0.5760 -0.03154 -0.03212 
 -0.2880 -0.4320 -0.04741 -0.04760 
 -0.4320 -0.2880 -0.04760 -0.04741 
 -0.5760 -0.1440 -0.03212 -0.03154 
--0.7200 8.817e-17 -0.0009760 -4.140e-15 
+-0.7200 8.817e-17 -0.0009760 -7.309e-16 
 
--1.392e-16 -0.7576 -1.470e-15 -0.001464 
+-1.392e-16 -0.7576 -6.042e-15 -0.001464 
 -0.1515 -0.6061 -0.02825 -0.02913 
 -0.3031 -0.4546 -0.04252 -0.04281 
 -0.4546 -0.3031 -0.04281 -0.04252 
 -0.6061 -0.1515 -0.02913 -0.02825 
--0.7576 9.279e-17 -0.001464 -6.210e-15 
+-0.7576 9.279e-17 -0.001464 -1.096e-15 
 
--1.461e-16 -0.7953 -1.470e-15 -0.001464 
+-1.461e-16 -0.7953 -6.042e-15 -0.001464 
 -0.1591 -0.6362 -0.02545 -0.02632 
 -0.3181 -0.4772 -0.03832 -0.03861 
 -0.4772 -0.3181 -0.03861 -0.03832 
 -0.6362 -0.1591 -0.02632 -0.02545 
--0.7953 9.740e-17 -0.001464 -6.210e-15 
+-0.7953 9.740e-17 -0.001464 -1.096e-15 
 
--1.530e-16 -0.8329 -9.802e-16 -0.0009760 
+-1.530e-16 -0.8329 -4.028e-15 -0.0009760 
 -0.1666 -0.6664 -0.02313 -0.02372 
 -0.3332 -0.4998 -0.03480 -0.03499 
 -0.4998 -0.3332 -0.03499 -0.03480 
 -0.6664 -0.1666 -0.02372 -0.02313 
--0.8329 1.020e-16 -0.0009760 -4.140e-15 
+-0.8329 1.020e-16 -0.0009760 -7.309e-16 
 
 -1.599e-16 -0.8706 0.000 0.000 
 -0.1741 -0.6965 -0.02131 -0.02131 
 0.1365 -0.5459 0.03532 -0.03532 
 -1.253e-16 -0.6824 0.000 0.000 
 
-0.7200 0.000 0.0009760 3.241e-15 
+0.7200 0.000 0.0009760 1.953e-15 
 0.5760 -0.1440 0.03212 -0.03154 
 0.4320 -0.2880 0.04760 -0.04741 
 0.2880 -0.4320 0.04741 -0.04760 
 0.1440 -0.5760 0.03154 -0.03212 
--1.323e-16 -0.7200 -9.802e-16 -0.0009760 
+-1.323e-16 -0.7200 -4.028e-15 -0.0009760 
 
-0.7576 0.000 0.001464 4.861e-15 
+0.7576 0.000 0.001464 2.929e-15 
 0.6061 -0.1515 0.02913 -0.02825 
 0.4546 -0.3031 0.04281 -0.04252 
 0.3031 -0.4546 0.04252 -0.04281 
 0.1515 -0.6061 0.02825 -0.02913 
--1.392e-16 -0.7576 -1.470e-15 -0.001464 
+-1.392e-16 -0.7576 -6.042e-15 -0.001464 
 
-0.7953 0.000 0.001464 4.861e-15 
+0.7953 0.000 0.001464 2.929e-15 
 0.6362 -0.1591 0.02632 -0.02545 
 0.4772 -0.3181 0.03861 -0.03832 
 0.3181 -0.4772 0.03832 -0.03861 
 0.1591 -0.6362 0.02545 -0.02632 
--1.461e-16 -0.7953 -1.470e-15 -0.001464 
+-1.461e-16 -0.7953 -6.042e-15 -0.001464 
 
-0.8329 0.000 0.0009760 3.241e-15 
+0.8329 0.000 0.0009760 1.953e-15 
 0.6664 -0.1666 0.02372 -0.02313 
 0.4998 -0.3332 0.03499 -0.03480 
 0.3332 -0.4998 0.03480 -0.03499 
 0.1666 -0.6664 0.02313 -0.02372 
--1.530e-16 -0.8329 -9.802e-16 -0.0009760 
+-1.530e-16 -0.8329 -4.028e-15 -0.0009760 
 
 0.8706 0.000 0.000 0.000 
 0.6965 -0.1741 0.02131 -0.02131 
 0.6965 0.1741 0.02131 0.02131 
 0.8706 0.000 0.000 0.000 
 
-5.792e-17 0.9459 1.076e-15 0.0008989 
+5.792e-17 0.9459 -2.754e-15 0.0008989 
 0.1892 0.7567 0.01780 0.01834 
 0.3784 0.5675 0.02680 0.02698 
 0.5675 0.3784 0.02698 0.02680 
 0.7567 0.1892 0.01834 0.01780 
-0.9459 0.000 0.0008989 2.358e-15 
+0.9459 0.000 0.0008989 1.331e-15 
 
-6.253e-17 1.021 1.614e-15 0.001348 
+6.253e-17 1.021 -4.132e-15 0.001348 
 0.2042 0.8169 0.01485 0.01566 
 0.4085 0.6127 0.02241 0.02268 
 0.6127 0.4085 0.02268 0.02241 
 0.8169 0.2042 0.01566 0.01485 
-1.021 0.000 0.001348 3.538e-15 
+1.021 0.000 0.001348 1.997e-15 
 
-6.714e-17 1.096 1.614e-15 0.001348 
+6.714e-17 1.096 -4.132e-15 0.001348 
 0.2193 0.8772 0.01243 0.01324 
 0.4386 0.6579 0.01879 0.01906 
 0.6579 0.4386 0.01906 0.01879 
 0.8772 0.2193 0.01324 0.01243 
-1.096 0.000 0.001348 3.538e-15 
+1.096 0.000 0.001348 1.997e-15 
 
-7.175e-17 1.172 1.076e-15 0.0008989 
+7.175e-17 1.172 -2.754e-15 0.0008989 
 0.2344 0.9374 0.01057 0.01111 
 0.4687 0.7031 0.01594 0.01612 
 0.7031 0.4687 0.01612 0.01594 
 0.9374 0.2344 0.01111 0.01057 
-1.172 0.000 0.0008989 2.358e-15 
+1.172 0.000 0.0008989 1.331e-15 
 
 7.636e-17 1.247 0.000 0.000 
 0.2494 0.9976 0.009242 0.009242 
 -0.1741 0.6965 -0.02131 0.02131 
 5.331e-17 0.8706 0.000 0.000 
 
--0.9459 1.158e-16 -0.0008989 -1.279e-15 
+-0.9459 1.158e-16 -0.0008989 1.257e-15 
 -0.7567 0.1892 -0.01834 0.01780 
 -0.5675 0.3784 -0.02698 0.02680 
 -0.3784 0.5675 -0.02680 0.02698 
 -0.1892 0.7567 -0.01780 0.01834 
-5.792e-17 0.9459 1.076e-15 0.0008989 
+5.792e-17 0.9459 -2.754e-15 0.0008989 
 
--1.021 1.251e-16 -0.001348 -1.918e-15 
+-1.021 1.251e-16 -0.001348 1.885e-15 
 -0.8169 0.2042 -0.01566 0.01485 
 -0.6127 0.4085 -0.02268 0.02241 
 -0.4085 0.6127 -0.02241 0.02268 
 -0.2042 0.8169 -0.01485 0.01566 
-6.253e-17 1.021 1.614e-15 0.001348 
+6.253e-17 1.021 -4.132e-15 0.001348 
 
--1.096 1.343e-16 -0.001348 -1.918e-15 
+-1.096 1.343e-16 -0.001348 1.885e-15 
 -0.8772 0.2193 -0.01324 0.01243 
 -0.6579 0.4386 -0.01906 0.01879 
 -0.4386 0.6579 -0.01879 0.01906 
 -0.2193 0.8772 -0.01243 0.01324 
-6.714e-17 1.096 1.614e-15 0.001348 
+6.714e-17 1.096 -4.132e-15 0.001348 
 
--1.172 1.435e-16 -0.0008989 -1.279e-15 
+-1.172 1.435e-16 -0.0008989 1.257e-15 
 -0.9374 0.2344 -0.01111 0.01057 
 -0.7031 0.4687 -0.01612 0.01594 
 -0.4687 0.7031 -0.01594 0.01612 
 -0.2344 0.9374 -0.01057 0.01111 
-7.175e-17 1.172 1.076e-15 0.0008989 
+7.175e-17 1.172 -2.754e-15 0.0008989 
 
 -1.247 1.527e-16 0.000 0.000 
 -0.9976 0.2494 -0.009242 0.009242 
 -0.6965 -0.1741 -0.02131 -0.02131 
 -0.8706 1.066e-16 0.000 0.000 
 
--1.738e-16 -0.9459 5.444e-16 -0.0008989 
+-1.738e-16 -0.9459 -1.246e-15 -0.0008989 
 -0.1892 -0.7567 -0.01780 -0.01834 
 -0.3784 -0.5675 -0.02680 -0.02698 
 -0.5675 -0.3784 -0.02698 -0.02680 
 -0.7567 -0.1892 -0.01834 -0.01780 
--0.9459 1.158e-16 -0.0008989 -1.279e-15 
+-0.9459 1.158e-16 -0.0008989 1.257e-15 
 
--1.876e-16 -1.021 8.165e-16 -0.001348 
+-1.876e-16 -1.021 -1.870e-15 -0.001348 
 -0.2042 -0.8169 -0.01485 -0.01566 
 -0.4085 -0.6127 -0.02241 -0.02268 
 -0.6127 -0.4085 -0.02268 -0.02241 
 -0.8169 -0.2042 -0.01566 -0.01485 
--1.021 1.251e-16 -0.001348 -1.918e-15 
+-1.021 1.251e-16 -0.001348 1.885e-15 
 
--2.014e-16 -1.096 8.165e-16 -0.001348 
+-2.014e-16 -1.096 -1.870e-15 -0.001348 
 -0.2193 -0.8772 -0.01243 -0.01324 
 -0.4386 -0.6579 -0.01879 -0.01906 
 -0.6579 -0.4386 -0.01906 -0.01879 
 -0.8772 -0.2193 -0.01324 -0.01243 
--1.096 1.343e-16 -0.001348 -1.918e-15 
+-1.096 1.343e-16 -0.001348 1.885e-15 
 
--2.152e-16 -1.172 5.444e-16 -0.0008989 
+-2.152e-16 -1.172 -1.246e-15 -0.0008989 
 -0.2344 -0.9374 -0.01057 -0.01111 
 -0.4687 -0.7031 -0.01594 -0.01612 
 -0.7031 -0.4687 -0.01612 -0.01594 
 -0.9374 -0.2344 -0.01111 -0.01057 
--1.172 1.435e-16 -0.0008989 -1.279e-15 
+-1.172 1.435e-16 -0.0008989 1.257e-15 
 
 -2.291e-16 -1.247 0.000 0.000 
 -0.2494 -0.9976 -0.009242 -0.009242 
 0.1741 -0.6965 0.02131 -0.02131 
 -1.599e-16 -0.8706 0.000 0.000 
 
-0.9459 0.000 0.0008989 2.358e-15 
+0.9459 0.000 0.0008989 1.331e-15 
 0.7567 -0.1892 0.01834 -0.01780 
 0.5675 -0.3784 0.02698 -0.02680 
 0.3784 -0.5675 0.02680 -0.02698 
 0.1892 -0.7567 0.01780 -0.01834 
--1.738e-16 -0.9459 5.444e-16 -0.0008989 
+-1.738e-16 -0.9459 -1.246e-15 -0.0008989 
 
-1.021 0.000 0.001348 3.538e-15 
+1.021 0.000 0.001348 1.997e-15 
 0.8169 -0.2042 0.01566 -0.01485 
 0.6127 -0.4085 0.02268 -0.02241 
 0.4085 -0.6127 0.02241 -0.02268 
 0.2042 -0.8169 0.01485 -0.01566 
--1.876e-16 -1.021 8.165e-16 -0.001348 
+-1.876e-16 -1.021 -1.870e-15 -0.001348 
 
-1.096 0.000 0.001348 3.538e-15 
+1.096 0.000 0.001348 1.997e-15 
 0.8772 -0.2193 0.01324 -0.01243 
 0.6579 -0.4386 0.01906 -0.01879 
 0.4386 -0.6579 0.01879 -0.01906 
 0.2193 -0.8772 0.01243 -0.01324 
--2.014e-16 -1.096 8.165e-16 -0.001348 
+-2.014e-16 -1.096 -1.870e-15 -0.001348 
 
-1.172 0.000 0.0008989 2.358e-15 
+1.172 0.000 0.0008989 1.331e-15 
 0.9374 -0.2344 0.01111 -0.01057 
 0.7031 -0.4687 0.01612 -0.01594 
 0.4687 -0.7031 0.01594 -0.01612 
 0.2344 -0.9374 0.01057 -0.01111 
--2.152e-16 -1.172 5.444e-16 -0.0008989 
+-2.152e-16 -1.172 -1.246e-15 -0.0008989 
 
 1.247 0.000 0.000 0.000 
 0.9976 -0.2494 0.009242 -0.009242 
 0.9976 0.2494 0.009242 0.009242 
 1.247 0.000 0.000 0.000 
 
-8.558e-17 1.398 4.293e-16 -0.0002116 
+8.558e-17 1.398 -5.511e-16 -0.0002116 
 0.2795 1.118 0.006804 0.006677 
 0.5591 0.8386 0.01018 0.01014 
 0.8386 0.5591 0.01014 0.01018 
 1.118 0.2795 0.006677 0.006804 
-1.398 0.000 -0.0002116 5.029e-16 
+1.398 0.000 -0.0002116 2.906e-16 
 
-9.480e-17 1.548 6.439e-16 -0.0003173 
+9.480e-17 1.548 -8.267e-16 -0.0003173 
 0.3096 1.239 0.004661 0.004470 
 0.6193 0.9289 0.006959 0.006896 
 0.9289 0.6193 0.006896 0.006959 
 1.239 0.3096 0.004470 0.004661 
-1.548 0.000 -0.0003173 7.544e-16 
+1.548 0.000 -0.0003173 4.359e-16 
 
-1.040e-16 1.699 6.439e-16 -0.0003173 
+1.040e-16 1.699 -8.267e-16 -0.0003173 
 0.3398 1.359 0.002812 0.002622 
 0.6795 1.019 0.004186 0.004123 
 1.019 0.6795 0.004123 0.004186 
 1.359 0.3398 0.002622 0.002812 
-1.699 0.000 -0.0003173 7.544e-16 
+1.699 0.000 -0.0003173 4.359e-16 
 
-1.132e-16 1.849 4.293e-16 -0.0002116 
+1.132e-16 1.849 -5.511e-16 -0.0002116 
 0.3699 1.480 0.001259 0.001132 
 0.7398 1.110 0.001867 0.001824 
 1.110 0.7398 0.001824 0.001867 
 1.480 0.3699 0.001132 0.001259 
-1.849 0.000 -0.0002116 5.029e-16 
+1.849 0.000 -0.0002116 2.906e-16 
 
 1.225e-16 2.000 0.000 0.000 
 0.4000 1.600 0.000 0.000 
 -0.2494 0.9976 -0.009242 0.009242 
 7.636e-17 1.247 0.000 0.000 
 
--1.398 1.712e-16 0.0002116 -1.082e-16 
+-1.398 1.712e-16 0.0002116 4.521e-16 
 -1.118 0.2795 -0.006677 0.006804 
 -0.8386 0.5591 -0.01014 0.01018 
 -0.5591 0.8386 -0.01018 0.01014 
 -0.2795 1.118 -0.006804 0.006677 
-8.558e-17 1.398 4.293e-16 -0.0002116 
+8.558e-17 1.398 -5.511e-16 -0.0002116 
 
--1.548 1.896e-16 0.0003173 -1.624e-16 
+-1.548 1.896e-16 0.0003173 6.781e-16 
 -1.239 0.3096 -0.004470 0.004661 
 -0.9289 0.6193 -0.006896 0.006959 
 -0.6193 0.9289 -0.006959 0.006896 
 -0.3096 1.239 -0.004661 0.004470 
-9.480e-17 1.548 6.439e-16 -0.0003173 
+9.480e-17 1.548 -8.267e-16 -0.0003173 
 
--1.699 2.080e-16 0.0003173 -1.624e-16 
+-1.699 2.080e-16 0.0003173 6.781e-16 
 -1.359 0.3398 -0.002622 0.002812 
 -1.019 0.6795 -0.004123 0.004186 
 -0.6795 1.019 -0.004186 0.004123 
 -0.3398 1.359 -0.002812 0.002622 
-1.040e-16 1.699 6.439e-16 -0.0003173 
+1.040e-16 1.699 -8.267e-16 -0.0003173 
 
--1.849 2.265e-16 0.0002116 -1.082e-16 
+-1.849 2.265e-16 0.0002116 4.521e-16 
 -1.480 0.3699 -0.001132 0.001259 
 -1.110 0.7398 -0.001824 0.001867 
 -0.7398 1.110 -0.001867 0.001824 
 -0.3699 1.480 -0.001259 0.001132 
-1.132e-16 1.849 4.293e-16 -0.0002116 
+1.132e-16 1.849 -5.511e-16 -0.0002116 
 
 -2.000 2.449e-16 0.000 0.000 
 -1.600 0.4000 0.000 0.000 
 -0.9976 -0.2494 -0.009242 -0.009242 
 -1.247 1.527e-16 0.000 0.000 
 
--2.567e-16 -1.398 2.927e-16 0.0002116 
+-2.567e-16 -1.398 -4.687e-17 0.0002116 
 -0.2795 -1.118 -0.006804 -0.006677 
 -0.5591 -0.8386 -0.01018 -0.01014 
 -0.8386 -0.5591 -0.01014 -0.01018 
 -1.118 -0.2795 -0.006677 -0.006804 
--1.398 1.712e-16 0.0002116 -1.082e-16 
+-1.398 1.712e-16 0.0002116 4.521e-16 
 
--2.844e-16 -1.548 4.390e-16 0.0003173 
+-2.844e-16 -1.548 -7.030e-17 0.0003173 
 -0.3096 -1.239 -0.004661 -0.004470 
 -0.6193 -0.9289 -0.006959 -0.006896 
 -0.9289 -0.6193 -0.006896 -0.006959 
 -1.239 -0.3096 -0.004470 -0.004661 
--1.548 1.896e-16 0.0003173 -1.624e-16 
+-1.548 1.896e-16 0.0003173 6.781e-16 
 
--3.121e-16 -1.699 4.390e-16 0.0003173 
+-3.121e-16 -1.699 -7.030e-17 0.0003173 
 -0.3398 -1.359 -0.002812 -0.002622 
 -0.6795 -1.019 -0.004186 -0.004123 
 -1.019 -0.6795 -0.004123 -0.004186 
 -1.359 -0.3398 -0.002622 -0.002812 
--1.699 2.080e-16 0.0003173 -1.624e-16 
+-1.699 2.080e-16 0.0003173 6.781e-16 
 
--3.397e-16 -1.849 2.927e-16 0.0002116 
+-3.397e-16 -1.849 -4.687e-17 0.0002116 
 -0.3699 -1.480 -0.001259 -0.001132 
 -0.7398 -1.110 -0.001867 -0.001824 
 -1.110 -0.7398 -0.001824 -0.001867 
 -1.480 -0.3699 -0.001132 -0.001259 
--1.849 2.265e-16 0.0002116 -1.082e-16 
+-1.849 2.265e-16 0.0002116 4.521e-16 
 
 -3.674e-16 -2.000 0.000 0.000 
 -0.4000 -1.600 0.000 0.000 
 0.2494 -0.9976 0.009242 -0.009242 
 -2.291e-16 -1.247 0.000 0.000 
 
-1.398 0.000 -0.0002116 5.029e-16 
+1.398 0.000 -0.0002116 2.906e-16 
 1.118 -0.2795 0.006677 -0.006804 
 0.8386 -0.5591 0.01014 -0.01018 
 0.5591 -0.8386 0.01018 -0.01014 
 0.2795 -1.118 0.006804 -0.006677 
--2.567e-16 -1.398 2.927e-16 0.0002116 
+-2.567e-16 -1.398 -4.687e-17 0.0002116 
 
-1.548 0.000 -0.0003173 7.544e-16 
+1.548 0.000 -0.0003173 4.359e-16 
 1.239 -0.3096 0.004470 -0.004661 
 0.9289 -0.6193 0.006896 -0.006959 
 0.6193 -0.9289 0.006959 -0.006896 
 0.3096 -1.239 0.004661 -0.004470 
--2.844e-16 -1.548 4.390e-16 0.0003173 
+-2.844e-16 -1.548 -7.030e-17 0.0003173 
 
-1.699 0.000 -0.0003173 7.544e-16 
+1.699 0.000 -0.0003173 4.359e-16 
 1.359 -0.3398 0.002622 -0.002812 
 1.019 -0.6795 0.004123 -0.004186 
 0.6795 -1.019 0.004186 -0.004123 
 0.3398 -1.359 0.002812 -0.002622 
--3.121e-16 -1.699 4.390e-16 0.0003173 
+-3.121e-16 -1.699 -7.030e-17 0.0003173 
 
-1.849 0.000 -0.0002116 5.029e-16 
+1.849 0.000 -0.0002116 2.906e-16 
 1.480 -0.3699 0.001132 -0.001259 
 1.110 -0.7398 0.001824 -0.001867 
 0.7398 -1.110 0.001867 -0.001824 
 0.3699 -1.480 0.001259 -0.001132 
--3.397e-16 -1.849 2.927e-16 0.0002116 
+-3.397e-16 -1.849 -4.687e-17 0.0002116 
 
 2.000 0.000 0.000 0.000 
 1.600 -0.4000 0.000 0.000 
 0.4663 0.1663 0.06627 0.06627 
 0.5000 0.000 0.000 0.000 
 
--3.567e-16 0.5012 -3.874e-16 5.931e-06 
+5.121e-16 0.5012 4.814e-16 5.931e-06 
 0.1662 0.4669 0.06596 0.06596 
 0.2994 0.3996 0.09894 0.09894 
 0.3996 0.2994 0.09894 0.09894 
 0.4669 0.1662 0.06596 0.06596 
-0.5012 1.593e-16 5.931e-06 1.593e-16 
+0.5012 2.473e-16 5.931e-06 2.473e-16 
 
--5.503e-16 0.5024 -5.811e-16 8.897e-06 
+7.528e-16 0.5024 7.221e-16 8.897e-06 
 0.1661 0.4675 0.06565 0.06565 
 0.2994 0.3999 0.09847 0.09848 
 0.3999 0.2994 0.09848 0.09847 
 0.4675 0.1661 0.06565 0.06565 
-0.5024 2.390e-16 8.897e-06 2.390e-16 
+0.5024 3.710e-16 8.897e-06 3.710e-16 
 
--5.503e-16 0.5035 -5.811e-16 8.897e-06 
+7.529e-16 0.5035 7.221e-16 8.897e-06 
 0.1660 0.4682 0.06534 0.06535 
 0.2994 0.4001 0.09801 0.09801 
 0.4001 0.2994 0.09801 0.09801 
 0.4682 0.1660 0.06535 0.06534 
-0.5035 2.390e-16 8.897e-06 2.390e-16 
+0.5035 3.710e-16 8.897e-06 3.710e-16 
 
--3.565e-16 0.5047 -3.874e-16 5.931e-06 
+5.123e-16 0.5047 4.814e-16 5.931e-06 
 0.1660 0.4688 0.06503 0.06504 
 0.2994 0.4004 0.09755 0.09755 
 0.4004 0.2994 0.09755 0.09755 
 0.4688 0.1660 0.06504 0.06503 
-0.5047 1.593e-16 5.931e-06 1.593e-16 
+0.5047 2.473e-16 5.931e-06 2.473e-16 
 
 3.098e-17 0.5059 0.000 0.000 
 0.1659 0.4694 0.06473 0.06473 
 -0.1663 0.4663 -0.06627 0.06627 
 3.062e-17 0.5000 0.000 0.000 
 
--0.5012 -2.829e-16 -5.931e-06 -3.442e-16 
+-0.5012 -3.938e-16 -5.931e-06 -4.552e-16 
 -0.4669 0.1662 -0.06596 0.06596 
 -0.3996 0.2994 -0.09894 0.09894 
 -0.2994 0.3996 -0.09894 0.09894 
 -0.1662 0.4669 -0.06596 0.06596 
--3.567e-16 0.5012 -3.874e-16 5.931e-06 
+5.121e-16 0.5012 4.814e-16 5.931e-06 
 
--0.5024 -4.548e-16 -8.897e-06 -5.163e-16 
+-0.5024 -6.213e-16 -8.897e-06 -6.828e-16 
 -0.4675 0.1661 -0.06565 0.06565 
 -0.3999 0.2994 -0.09848 0.09847 
 -0.2994 0.3999 -0.09847 0.09848 
 -0.1661 0.4675 -0.06565 0.06565 
--5.503e-16 0.5024 -5.811e-16 8.897e-06 
+7.528e-16 0.5024 7.221e-16 8.897e-06 
 
--0.5035 -4.547e-16 -8.897e-06 -5.163e-16 
+-0.5035 -6.211e-16 -8.897e-06 -6.828e-16 
 -0.4682 0.1660 -0.06535 0.06534 
 -0.4001 0.2994 -0.09801 0.09801 
 -0.2994 0.4001 -0.09801 0.09801 
 -0.1660 0.4682 -0.06534 0.06535 
--5.503e-16 0.5035 -5.811e-16 8.897e-06 
+7.529e-16 0.5035 7.221e-16 8.897e-06 
 
--0.5047 -2.824e-16 -5.931e-06 -3.442e-16 
+-0.5047 -3.934e-16 -5.931e-06 -4.552e-16 
 -0.4688 0.1660 -0.06504 0.06503 
 -0.4004 0.2994 -0.09755 0.09755 
 -0.2994 0.4004 -0.09755 0.09755 
 -0.1660 0.4688 -0.06503 0.06504 
--3.565e-16 0.5047 -3.874e-16 5.931e-06 
+5.123e-16 0.5047 4.814e-16 5.931e-06 
 
 -0.5059 6.195e-17 0.000 0.000 
 -0.4694 0.1659 -0.06473 0.06473 
 -0.4663 -0.1663 -0.06627 -0.06627 
 -0.5000 6.123e-17 0.000 0.000 
 
--4.274e-16 -0.5012 -3.354e-16 -5.931e-06 
+-6.427e-18 -0.5012 8.564e-17 -5.931e-06 
 -0.1662 -0.4669 -0.06596 -0.06596 
 -0.2994 -0.3996 -0.09894 -0.09894 
 -0.3996 -0.2994 -0.09894 -0.09894 
 -0.4669 -0.1662 -0.06596 -0.06596 
--0.5012 -2.829e-16 -5.931e-06 -3.442e-16 
+-0.5012 -3.938e-16 -5.931e-06 -4.552e-16 
 
--5.954e-16 -0.5024 -5.031e-16 -8.897e-06 
+3.618e-17 -0.5024 1.285e-16 -8.897e-06 
 -0.1661 -0.4675 -0.06565 -0.06565 
 -0.2994 -0.3999 -0.09847 -0.09848 
 -0.3999 -0.2994 -0.09848 -0.09847 
 -0.4675 -0.1661 -0.06565 -0.06565 
--0.5024 -4.548e-16 -8.897e-06 -5.163e-16 
+-0.5024 -6.213e-16 -8.897e-06 -6.828e-16 
 
--5.956e-16 -0.5035 -5.031e-16 -8.897e-06 
+3.596e-17 -0.5035 1.285e-16 -8.897e-06 
 -0.1660 -0.4682 -0.06534 -0.06535 
 -0.2994 -0.4001 -0.09801 -0.09801 
 -0.4001 -0.2994 -0.09801 -0.09801 
 -0.4682 -0.1660 -0.06535 -0.06534 
--0.5035 -4.547e-16 -8.897e-06 -5.163e-16 
+-0.5035 -6.211e-16 -8.897e-06 -6.828e-16 
 
--4.281e-16 -0.5047 -3.354e-16 -5.931e-06 
+-7.076e-18 -0.5047 8.564e-17 -5.931e-06 
 -0.1660 -0.4688 -0.06503 -0.06504 
 -0.2994 -0.4004 -0.09755 -0.09755 
 -0.4004 -0.2994 -0.09755 -0.09755 
 -0.4688 -0.1660 -0.06504 -0.06503 
--0.5047 -2.824e-16 -5.931e-06 -3.442e-16 
+-0.5047 -3.934e-16 -5.931e-06 -4.552e-16 
 
 -9.293e-17 -0.5059 0.000 0.000 
 -0.1659 -0.4694 -0.06473 -0.06473 
 0.1663 -0.4663 0.06627 -0.06627 
 -9.185e-17 -0.5000 0.000 0.000 
 
-0.5012 1.593e-16 5.931e-06 1.593e-16 
+0.5012 2.473e-16 5.931e-06 2.473e-16 
 0.4669 -0.1662 0.06596 -0.06596 
 0.3996 -0.2994 0.09894 -0.09894 
 0.2994 -0.3996 0.09894 -0.09894 
 0.1662 -0.4669 0.06596 -0.06596 
--4.274e-16 -0.5012 -3.354e-16 -5.931e-06 
+-6.427e-18 -0.5012 8.564e-17 -5.931e-06 
 
-0.5024 2.390e-16 8.897e-06 2.390e-16 
+0.5024 3.710e-16 8.897e-06 3.710e-16 
 0.4675 -0.1661 0.06565 -0.06565 
 0.3999 -0.2994 0.09848 -0.09847 
 0.2994 -0.3999 0.09847 -0.09848 
 0.1661 -0.4675 0.06565 -0.06565 
--5.954e-16 -0.5024 -5.031e-16 -8.897e-06 
+3.618e-17 -0.5024 1.285e-16 -8.897e-06 
 
-0.5035 2.390e-16 8.897e-06 2.390e-16 
+0.5035 3.710e-16 8.897e-06 3.710e-16 
 0.4682 -0.1660 0.06535 -0.06534 
 0.4001 -0.2994 0.09801 -0.09801 
 0.2994 -0.4001 0.09801 -0.09801 
 0.1660 -0.4682 0.06534 -0.06535 
--5.956e-16 -0.5035 -5.031e-16 -8.897e-06 
+3.596e-17 -0.5035 1.285e-16 -8.897e-06 
 
-0.5047 1.593e-16 5.931e-06 1.593e-16 
+0.5047 2.473e-16 5.931e-06 2.473e-16 
 0.4688 -0.1660 0.06504 -0.06503 
 0.4004 -0.2994 0.09755 -0.09755 
 0.2994 -0.4004 0.09755 -0.09755 
 0.1660 -0.4688 0.06503 -0.06504 
--4.281e-16 -0.5047 -3.354e-16 -5.931e-06 
+-7.076e-18 -0.5047 8.564e-17 -5.931e-06 
 
 0.5059 0.000 0.000 0.000 
 0.4694 -0.1659 0.06473 -0.06473 
 0.4047 0.1012 0.06473 0.06473 
 0.5059 0.000 0.000 0.000 
 
-3.112e-17 0.5082 -8.638e-16 2.211e-05 
+3.112e-17 0.5082 1.453e-15 2.211e-05 
 0.1016 0.4066 0.06412 0.06414 
 0.2033 0.3049 0.09619 0.09619 
 0.3049 0.2033 0.09619 0.09619 
 0.4066 0.1016 0.06414 0.06412 
-0.5082 0.000 2.211e-05 7.003e-16 
+0.5082 0.000 2.211e-05 8.079e-16 
 
-3.126e-17 0.5106 -1.296e-15 3.316e-05 
+3.126e-17 0.5106 2.180e-15 3.316e-05 
 0.1021 0.4085 0.06353 0.06355 
 0.2042 0.3064 0.09530 0.09530 
 0.3064 0.2042 0.09530 0.09530 
 0.4085 0.1021 0.06355 0.06353 
-0.5106 0.000 3.316e-05 1.050e-15 
+0.5106 0.000 3.316e-05 1.212e-15 
 
-3.141e-17 0.5129 -1.296e-15 3.316e-05 
+3.141e-17 0.5129 2.180e-15 3.316e-05 
 0.1026 0.4104 0.06294 0.06296 
 0.2052 0.3078 0.09442 0.09442 
 0.3078 0.2052 0.09442 0.09442 
 0.4104 0.1026 0.06296 0.06294 
-0.5129 0.000 3.316e-05 1.050e-15 
+0.5129 0.000 3.316e-05 1.212e-15 
 
-3.155e-17 0.5153 -8.638e-16 2.211e-05 
+3.155e-17 0.5153 1.453e-15 2.211e-05 
 0.1031 0.4122 0.06237 0.06238 
 0.2061 0.3092 0.09355 0.09356 
 0.3092 0.2061 0.09356 0.09355 
 0.4122 0.1031 0.06238 0.06237 
-0.5153 0.000 2.211e-05 7.003e-16 
+0.5153 0.000 2.211e-05 8.079e-16 
 
 3.170e-17 0.5176 0.000 0.000 
 0.1035 0.4141 0.06180 0.06180 
 -0.1012 0.4047 -0.06473 0.06473 
 3.098e-17 0.5059 0.000 0.000 
 
--0.5082 6.224e-17 -2.211e-05 -1.169e-15 
+-0.5082 6.224e-17 -2.211e-05 -1.246e-15 
 -0.4066 0.1016 -0.06414 0.06412 
 -0.3049 0.2033 -0.09619 0.09619 
 -0.2033 0.3049 -0.09619 0.09619 
 -0.1016 0.4066 -0.06412 0.06414 
-3.112e-17 0.5082 -8.638e-16 2.211e-05 
+3.112e-17 0.5082 1.453e-15 2.211e-05 
 
--0.5106 6.253e-17 -3.316e-05 -1.754e-15 
+-0.5106 6.253e-17 -3.316e-05 -1.869e-15 
 -0.4085 0.1021 -0.06355 0.06353 
 -0.3064 0.2042 -0.09530 0.09530 
 -0.2042 0.3064 -0.09530 0.09530 
 -0.1021 0.4085 -0.06353 0.06355 
-3.126e-17 0.5106 -1.296e-15 3.316e-05 
+3.126e-17 0.5106 2.180e-15 3.316e-05 
 
--0.5129 6.282e-17 -3.316e-05 -1.754e-15 
+-0.5129 6.282e-17 -3.316e-05 -1.869e-15 
 -0.4104 0.1026 -0.06296 0.06294 
 -0.3078 0.2052 -0.09442 0.09442 
 -0.2052 0.3078 -0.09442 0.09442 
 -0.1026 0.4104 -0.06294 0.06296 
-3.141e-17 0.5129 -1.296e-15 3.316e-05 
+3.141e-17 0.5129 2.180e-15 3.316e-05 
 
--0.5153 6.311e-17 -2.211e-05 -1.169e-15 
+-0.5153 6.311e-17 -2.211e-05 -1.246e-15 
 -0.4122 0.1031 -0.06238 0.06237 
 -0.3092 0.2061 -0.09356 0.09355 
 -0.2061 0.3092 -0.09355 0.09356 
 -0.1031 0.4122 -0.06237 0.06238 
-3.155e-17 0.5153 -8.638e-16 2.211e-05 
+3.155e-17 0.5153 1.453e-15 2.211e-05 
 
 -0.5176 6.339e-17 0.000 0.000 
 -0.4141 0.1035 -0.06180 0.06180 
 -0.4047 -0.1012 -0.06473 -0.06473 
 -0.5059 6.195e-17 0.000 0.000 
 
--9.336e-17 -0.5082 -8.484e-16 -2.211e-05 
+-9.336e-17 -0.5082 -1.816e-16 -2.211e-05 
 -0.1016 -0.4066 -0.06412 -0.06414 
 -0.2033 -0.3049 -0.09619 -0.09619 
 -0.3049 -0.2033 -0.09619 -0.09619 
 -0.4066 -0.1016 -0.06414 -0.06412 
--0.5082 6.224e-17 -2.211e-05 -1.169e-15 
+-0.5082 6.224e-17 -2.211e-05 -1.246e-15 
 
--9.379e-17 -0.5106 -1.273e-15 -3.316e-05 
+-9.379e-17 -0.5106 -2.724e-16 -3.316e-05 
 -0.1021 -0.4085 -0.06353 -0.06355 
 -0.2042 -0.3064 -0.09530 -0.09530 
 -0.3064 -0.2042 -0.09530 -0.09530 
 -0.4085 -0.1021 -0.06355 -0.06353 
--0.5106 6.253e-17 -3.316e-05 -1.754e-15 
+-0.5106 6.253e-17 -3.316e-05 -1.869e-15 
 
--9.423e-17 -0.5129 -1.273e-15 -3.316e-05 
+-9.423e-17 -0.5129 -2.724e-16 -3.316e-05 
 -0.1026 -0.4104 -0.06294 -0.06296 
 -0.2052 -0.3078 -0.09442 -0.09442 
 -0.3078 -0.2052 -0.09442 -0.09442 
 -0.4104 -0.1026 -0.06296 -0.06294 
--0.5129 6.282e-17 -3.316e-05 -1.754e-15 
+-0.5129 6.282e-17 -3.316e-05 -1.869e-15 
 
--9.466e-17 -0.5153 -8.484e-16 -2.211e-05 
+-9.466e-17 -0.5153 -1.816e-16 -2.211e-05 
 -0.1031 -0.4122 -0.06237 -0.06238 
 -0.2061 -0.3092 -0.09355 -0.09356 
 -0.3092 -0.2061 -0.09356 -0.09355 
 -0.4122 -0.1031 -0.06238 -0.06237 
--0.5153 6.311e-17 -2.211e-05 -1.169e-15 
+-0.5153 6.311e-17 -2.211e-05 -1.246e-15 
 
 -9.509e-17 -0.5176 0.000 0.000 
 -0.1035 -0.4141 -0.06180 -0.06180 
 0.1012 -0.4047 0.06473 -0.06473 
 -9.293e-17 -0.5059 0.000 0.000 
 
-0.5082 0.000 2.211e-05 7.003e-16 
+0.5082 0.000 2.211e-05 8.079e-16 
 0.4066 -0.1016 0.06414 -0.06412 
 0.3049 -0.2033 0.09619 -0.09619 
 0.2033 -0.3049 0.09619 -0.09619 
 0.1016 -0.4066 0.06412 -0.06414 
--9.336e-17 -0.5082 -8.484e-16 -2.211e-05 
+-9.336e-17 -0.5082 -1.816e-16 -2.211e-05 
 
-0.5106 0.000 3.316e-05 1.050e-15 
+0.5106 0.000 3.316e-05 1.212e-15 
 0.4085 -0.1021 0.06355 -0.06353 
 0.3064 -0.2042 0.09530 -0.09530 
 0.2042 -0.3064 0.09530 -0.09530 
 0.1021 -0.4085 0.06353 -0.06355 
--9.379e-17 -0.5106 -1.273e-15 -3.316e-05 
+-9.379e-17 -0.5106 -2.724e-16 -3.316e-05 
 
-0.5129 0.000 3.316e-05 1.050e-15 
+0.5129 0.000 3.316e-05 1.212e-15 
 0.4104 -0.1026 0.06296 -0.06294 
 0.3078 -0.2052 0.09442 -0.09442 
 0.2052 -0.3078 0.09442 -0.09442 
 0.1026 -0.4104 0.06294 -0.06296 
--9.423e-17 -0.5129 -1.273e-15 -3.316e-05 
+-9.423e-17 -0.5129 -2.724e-16 -3.316e-05 
 
-0.5153 0.000 2.211e-05 7.003e-16 
+0.5153 0.000 2.211e-05 8.079e-16 
 0.4122 -0.1031 0.06238 -0.06237 
 0.3092 -0.2061 0.09356 -0.09355 
 0.2061 -0.3092 0.09355 -0.09356 
 0.1031 -0.4122 0.06237 -0.06238 
--9.466e-17 -0.5153 -8.484e-16 -2.211e-05 
+-9.466e-17 -0.5153 -1.816e-16 -2.211e-05 
 
 0.5176 0.000 0.000 0.000 
 0.4141 -0.1035 0.06180 -0.06180 
 0.4141 0.1035 0.06180 0.06180 
 0.5176 0.000 0.000 0.000 
 
-3.198e-17 0.5224 -7.557e-16 7.701e-05 
+3.198e-17 0.5224 1.889e-15 7.701e-05 
 0.1045 0.4179 0.06067 0.06072 
 0.2089 0.3134 0.09101 0.09103 
 0.3134 0.2089 0.09103 0.09101 
 0.4179 0.1045 0.06072 0.06067 
-0.5224 0.000 7.701e-05 1.566e-15 
+0.5224 0.000 7.701e-05 1.390e-15 
 
-3.227e-17 0.5271 -1.133e-15 0.0001155 
+3.227e-17 0.5271 2.834e-15 0.0001155 
 0.1054 0.4216 0.05957 0.05964 
 0.2108 0.3162 0.08937 0.08940 
 0.3162 0.2108 0.08940 0.08937 
 0.4216 0.1054 0.05964 0.05957 
-0.5271 0.000 0.0001155 2.349e-15 
+0.5271 0.000 0.0001155 2.084e-15 
 
-3.256e-17 0.5318 -1.133e-15 0.0001155 
+3.256e-17 0.5318 2.834e-15 0.0001155 
 0.1064 0.4254 0.05852 0.05858 
 0.2127 0.3191 0.08778 0.08781 
 0.3191 0.2127 0.08781 0.08778 
 0.4254 0.1064 0.05858 0.05852 
-0.5318 0.000 0.0001155 2.349e-15 
+0.5318 0.000 0.0001155 2.084e-15 
 
-3.285e-17 0.5365 -7.557e-16 7.701e-05 
+3.285e-17 0.5365 1.889e-15 7.701e-05 
 0.1073 0.4292 0.05749 0.05754 
 0.2146 0.3219 0.08624 0.08626 
 0.3219 0.2146 0.08626 0.08624 
 0.4292 0.1073 0.05754 0.05749 
-0.5365 0.000 7.701e-05 1.566e-15 
+0.5365 0.000 7.701e-05 1.390e-15 
 
 3.314e-17 0.5412 0.000 0.000 
 0.1082 0.4329 0.05650 0.05650 
 -0.1035 0.4141 -0.06180 0.06180 
 3.170e-17 0.5176 0.000 0.000 
 
--0.5224 6.397e-17 -7.701e-05 -2.610e-15 
+-0.5224 6.397e-17 -7.701e-05 -1.976e-15 
 -0.4179 0.1045 -0.06072 0.06067 
 -0.3134 0.2089 -0.09103 0.09101 
 -0.2089 0.3134 -0.09101 0.09103 
 -0.1045 0.4179 -0.06067 0.06072 
-3.198e-17 0.5224 -7.557e-16 7.701e-05 
+3.198e-17 0.5224 1.889e-15 7.701e-05 
 
--0.5271 6.455e-17 -0.0001155 -3.915e-15 
+-0.5271 6.455e-17 -0.0001155 -2.964e-15 
 -0.4216 0.1054 -0.05964 0.05957 
 -0.3162 0.2108 -0.08940 0.08937 
 -0.2108 0.3162 -0.08937 0.08940 
 -0.1054 0.4216 -0.05957 0.05964 
-3.227e-17 0.5271 -1.133e-15 0.0001155 
+3.227e-17 0.5271 2.834e-15 0.0001155 
 
--0.5318 6.512e-17 -0.0001155 -3.915e-15 
+-0.5318 6.512e-17 -0.0001155 -2.964e-15 
 -0.4254 0.1064 -0.05858 0.05852 
 -0.3191 0.2127 -0.08781 0.08778 
 -0.2127 0.3191 -0.08778 0.08781 
 -0.1064 0.4254 -0.05852 0.05858 
-3.256e-17 0.5318 -1.133e-15 0.0001155 
+3.256e-17 0.5318 2.834e-15 0.0001155 
 
--0.5365 6.570e-17 -7.701e-05 -2.610e-15 
+-0.5365 6.570e-17 -7.701e-05 -1.976e-15 
 -0.4292 0.1073 -0.05754 0.05749 
 -0.3219 0.2146 -0.08626 0.08624 
 -0.2146 0.3219 -0.08624 0.08626 
 -0.1073 0.4292 -0.05749 0.05754 
-3.285e-17 0.5365 -7.557e-16 7.701e-05 
+3.285e-17 0.5365 1.889e-15 7.701e-05 
 
 -0.5412 6.628e-17 0.000 0.000 
 -0.4329 0.1082 -0.05650 0.05650 
 -0.4141 -0.1035 -0.06180 -0.06180 
 -0.5176 6.339e-17 0.000 0.000 
 
--9.595e-17 -0.5224 -9.099e-16 -7.701e-05 
+-9.595e-17 -0.5224 -1.393e-15 -7.701e-05 
 -0.1045 -0.4179 -0.06067 -0.06072 
 -0.2089 -0.3134 -0.09101 -0.09103 
 -0.3134 -0.2089 -0.09103 -0.09101 
 -0.4179 -0.1045 -0.06072 -0.06067 
--0.5224 6.397e-17 -7.701e-05 -2.610e-15 
+-0.5224 6.397e-17 -7.701e-05 -1.976e-15 
 
--9.682e-17 -0.5271 -1.365e-15 -0.0001155 
+-9.682e-17 -0.5271 -2.090e-15 -0.0001155 
 -0.1054 -0.4216 -0.05957 -0.05964 
 -0.2108 -0.3162 -0.08937 -0.08940 
 -0.3162 -0.2108 -0.08940 -0.08937 
 -0.4216 -0.1054 -0.05964 -0.05957 
--0.5271 6.455e-17 -0.0001155 -3.915e-15 
+-0.5271 6.455e-17 -0.0001155 -2.964e-15 
 
--9.768e-17 -0.5318 -1.365e-15 -0.0001155 
+-9.768e-17 -0.5318 -2.090e-15 -0.0001155 
 -0.1064 -0.4254 -0.05852 -0.05858 
 -0.2127 -0.3191 -0.08778 -0.08781 
 -0.3191 -0.2127 -0.08781 -0.08778 
 -0.4254 -0.1064 -0.05858 -0.05852 
--0.5318 6.512e-17 -0.0001155 -3.915e-15 
+-0.5318 6.512e-17 -0.0001155 -2.964e-15 
 
--9.855e-17 -0.5365 -9.099e-16 -7.701e-05 
+-9.855e-17 -0.5365 -1.393e-15 -7.701e-05 
 -0.1073 -0.4292 -0.05749 -0.05754 
 -0.2146 -0.3219 -0.08624 -0.08626 
 -0.3219 -0.2146 -0.08626 -0.08624 
 -0.4292 -0.1073 -0.05754 -0.05749 
--0.5365 6.570e-17 -7.701e-05 -2.610e-15 
+-0.5365 6.570e-17 -7.701e-05 -1.976e-15 
 
 -9.941e-17 -0.5412 0.000 0.000 
 -0.1082 -0.4329 -0.05650 -0.05650 
 0.1035 -0.4141 0.06180 -0.06180 
 -9.509e-17 -0.5176 0.000 0.000 
 
-0.5224 0.000 7.701e-05 1.566e-15 
+0.5224 0.000 7.701e-05 1.390e-15 
 0.4179 -0.1045 0.06072 -0.06067 
 0.3134 -0.2089 0.09103 -0.09101 
 0.2089 -0.3134 0.09101 -0.09103 
 0.1045 -0.4179 0.06067 -0.06072 
--9.595e-17 -0.5224 -9.099e-16 -7.701e-05 
+-9.595e-17 -0.5224 -1.393e-15 -7.701e-05 
 
-0.5271 0.000 0.0001155 2.349e-15 
+0.5271 0.000 0.0001155 2.084e-15 
 0.4216 -0.1054 0.05964 -0.05957 
 0.3162 -0.2108 0.08940 -0.08937 
 0.2108 -0.3162 0.08937 -0.08940 
 0.1054 -0.4216 0.05957 -0.05964 
--9.682e-17 -0.5271 -1.365e-15 -0.0001155 
+-9.682e-17 -0.5271 -2.090e-15 -0.0001155 
 
-0.5318 0.000 0.0001155 2.349e-15 
+0.5318 0.000 0.0001155 2.084e-15 
 0.4254 -0.1064 0.05858 -0.05852 
 0.3191 -0.2127 0.08781 -0.08778 
 0.2127 -0.3191 0.08778 -0.08781 
 0.1064 -0.4254 0.05852 -0.05858 
--9.768e-17 -0.5318 -1.365e-15 -0.0001155 
+-9.768e-17 -0.5318 -2.090e-15 -0.0001155 
 
-0.5365 0.000 7.701e-05 1.566e-15 
+0.5365 0.000 7.701e-05 1.390e-15 
 0.4292 -0.1073 0.05754 -0.05749 
 0.3219 -0.2146 0.08626 -0.08624 
 0.2146 -0.3219 0.08624 -0.08626 
 0.1073 -0.4292 0.05749 -0.05754 
--9.855e-17 -0.5365 -9.099e-16 -7.701e-05 
+-9.855e-17 -0.5365 -1.393e-15 -7.701e-05 
 
 0.5412 0.000 0.000 0.000 
 0.4329 -0.1082 0.05650 -0.05650 
 0.4329 0.1082 0.05650 0.05650 
 0.5412 0.000 0.000 0.000 
 
-3.371e-17 0.5506 -9.106e-16 0.0002362 
+3.371e-17 0.5506 9.134e-16 0.0002362 
 0.1101 0.4405 0.05453 0.05467 
 0.2202 0.3304 0.08182 0.08187 
 0.3304 0.2202 0.08187 0.08182 
 0.4405 0.1101 0.05467 0.05453 
-0.5506 0.000 0.0002362 2.559e-15 
+0.5506 0.000 0.0002362 1.963e-15 
 
-3.429e-17 0.5600 -1.366e-15 0.0003544 
+3.429e-17 0.5600 1.370e-15 0.0003544 
 0.1120 0.4480 0.05267 0.05288 
 0.2240 0.3360 0.07904 0.07911 
 0.3360 0.2240 0.07911 0.07904 
 0.4480 0.1120 0.05288 0.05267 
-0.5600 0.000 0.0003544 3.839e-15 
+0.5600 0.000 0.0003544 2.945e-15 
 
-3.487e-17 0.5694 -1.366e-15 0.0003544 
+3.487e-17 0.5694 1.370e-15 0.0003544 
 0.1139 0.4555 0.05092 0.05113 
 0.2278 0.3416 0.07641 0.07648 
 0.3416 0.2278 0.07648 0.07641 
 0.4555 0.1139 0.05113 0.05092 
-0.5694 0.000 0.0003544 3.839e-15 
+0.5694 0.000 0.0003544 2.945e-15 
 
-3.544e-17 0.5788 -9.106e-16 0.0002362 
+3.544e-17 0.5788 9.134e-16 0.0002362 
 0.1158 0.4631 0.04927 0.04942 
 0.2315 0.3473 0.07393 0.07398 
 0.3473 0.2315 0.07398 0.07393 
 0.4631 0.1158 0.04942 0.04927 
-0.5788 0.000 0.0002362 2.559e-15 
+0.5788 0.000 0.0002362 1.963e-15 
 
 3.602e-17 0.5882 0.000 0.000 
 0.1176 0.4706 0.04774 0.04774 
 -0.1082 0.4329 -0.05650 0.05650 
 3.314e-17 0.5412 0.000 0.000 
 
--0.5506 6.743e-17 -0.0002362 -4.733e-15 
+-0.5506 6.743e-17 -0.0002362 -2.659e-15 
 -0.4405 0.1101 -0.05467 0.05453 
 -0.3304 0.2202 -0.08187 0.08182 
 -0.2202 0.3304 -0.08182 0.08187 
 -0.1101 0.4405 -0.05453 0.05467 
-3.371e-17 0.5506 -9.106e-16 0.0002362 
+3.371e-17 0.5506 9.134e-16 0.0002362 
 
--0.5600 6.858e-17 -0.0003544 -7.100e-15 
+-0.5600 6.858e-17 -0.0003544 -3.988e-15 
 -0.4480 0.1120 -0.05288 0.05267 
 -0.3360 0.2240 -0.07911 0.07904 
 -0.2240 0.3360 -0.07904 0.07911 
 -0.1120 0.4480 -0.05267 0.05288 
-3.429e-17 0.5600 -1.366e-15 0.0003544 
+3.429e-17 0.5600 1.370e-15 0.0003544 
 
--0.5694 6.973e-17 -0.0003544 -7.100e-15 
+-0.5694 6.973e-17 -0.0003544 -3.988e-15 
 -0.4555 0.1139 -0.05113 0.05092 
 -0.3416 0.2278 -0.07648 0.07641 
 -0.2278 0.3416 -0.07641 0.07648 
 -0.1139 0.4555 -0.05092 0.05113 
-3.487e-17 0.5694 -1.366e-15 0.0003544 
+3.487e-17 0.5694 1.370e-15 0.0003544 
 
--0.5788 7.089e-17 -0.0002362 -4.733e-15 
+-0.5788 7.089e-17 -0.0002362 -2.659e-15 
 -0.4631 0.1158 -0.04942 0.04927 
 -0.3473 0.2315 -0.07398 0.07393 
 -0.2315 0.3473 -0.07393 0.07398 
 -0.1158 0.4631 -0.04927 0.04942 
-3.544e-17 0.5788 -9.106e-16 0.0002362 
+3.544e-17 0.5788 9.134e-16 0.0002362 
 
 -0.5882 7.204e-17 0.000 0.000 
 -0.4706 0.1176 -0.04774 0.04774 
 -0.4329 -0.1082 -0.05650 -0.05650 
 -0.5412 6.628e-17 0.000 0.000 
 
--1.011e-16 -0.5506 -8.095e-16 -0.0002362 
+-1.011e-16 -0.5506 -3.217e-15 -0.0002362 
 -0.1101 -0.4405 -0.05453 -0.05467 
 -0.2202 -0.3304 -0.08182 -0.08187 
 -0.3304 -0.2202 -0.08187 -0.08182 
 -0.4405 -0.1101 -0.05467 -0.05453 
--0.5506 6.743e-17 -0.0002362 -4.733e-15 
+-0.5506 6.743e-17 -0.0002362 -2.659e-15 
 
--1.029e-16 -0.5600 -1.214e-15 -0.0003544 
+-1.029e-16 -0.5600 -4.826e-15 -0.0003544 
 -0.1120 -0.4480 -0.05267 -0.05288 
 -0.2240 -0.3360 -0.07904 -0.07911 
 -0.3360 -0.2240 -0.07911 -0.07904 
 -0.4480 -0.1120 -0.05288 -0.05267 
--0.5600 6.858e-17 -0.0003544 -7.100e-15 
+-0.5600 6.858e-17 -0.0003544 -3.988e-15 
 
--1.046e-16 -0.5694 -1.214e-15 -0.0003544 
+-1.046e-16 -0.5694 -4.826e-15 -0.0003544 
 -0.1139 -0.4555 -0.05092 -0.05113 
 -0.2278 -0.3416 -0.07641 -0.07648 
 -0.3416 -0.2278 -0.07648 -0.07641 
 -0.4555 -0.1139 -0.05113 -0.05092 
--0.5694 6.973e-17 -0.0003544 -7.100e-15 
+-0.5694 6.973e-17 -0.0003544 -3.988e-15 
 
--1.063e-16 -0.5788 -8.095e-16 -0.0002362 
+-1.063e-16 -0.5788 -3.217e-15 -0.0002362 
 -0.1158 -0.4631 -0.04927 -0.04942 
 -0.2315 -0.3473 -0.07393 -0.07398 
 -0.3473 -0.2315 -0.07398 -0.07393 
 -0.4631 -0.1158 -0.04942 -0.04927 
--0.5788 7.089e-17 -0.0002362 -4.733e-15 
+-0.5788 7.089e-17 -0.0002362 -2.659e-15 
 
 -1.081e-16 -0.5882 0.000 0.000 
 -0.1176 -0.4706 -0.04774 -0.04774 
 0.1082 -0.4329 0.05650 -0.05650 
 -9.941e-17 -0.5412 0.000 0.000 
 
-0.5506 0.000 0.0002362 2.559e-15 
+0.5506 0.000 0.0002362 1.963e-15 
 0.4405 -0.1101 0.05467 -0.05453 
 0.3304 -0.2202 0.08187 -0.08182 
 0.2202 -0.3304 0.08182 -0.08187 
 0.1101 -0.4405 0.05453 -0.05467 
--1.011e-16 -0.5506 -8.095e-16 -0.0002362 
+-1.011e-16 -0.5506 -3.217e-15 -0.0002362 
 
-0.5600 0.000 0.0003544 3.839e-15 
+0.5600 0.000 0.0003544 2.945e-15 
 0.4480 -0.1120 0.05288 -0.05267 
 0.3360 -0.2240 0.07911 -0.07904 
 0.2240 -0.3360 0.07904 -0.07911 
 0.1120 -0.4480 0.05267 -0.05288 
--1.029e-16 -0.5600 -1.214e-15 -0.0003544 
+-1.029e-16 -0.5600 -4.826e-15 -0.0003544 
 
-0.5694 0.000 0.0003544 3.839e-15 
+0.5694 0.000 0.0003544 2.945e-15 
 0.4555 -0.1139 0.05113 -0.05092 
 0.3416 -0.2278 0.07648 -0.07641 
 0.2278 -0.3416 0.07641 -0.07648 
 0.1139 -0.4555 0.05092 -0.05113 
--1.046e-16 -0.5694 -1.214e-15 -0.0003544 
+-1.046e-16 -0.5694 -4.826e-15 -0.0003544 
 
-0.5788 0.000 0.0002362 2.559e-15 
+0.5788 0.000 0.0002362 1.963e-15 
 0.4631 -0.1158 0.04942 -0.04927 
 0.3473 -0.2315 0.07398 -0.07393 
 0.2315 -0.3473 0.07393 -0.07398 
 0.1158 -0.4631 0.04927 -0.04942 
--1.063e-16 -0.5788 -8.095e-16 -0.0002362 
+-1.063e-16 -0.5788 -3.217e-15 -0.0002362 
 
 0.5882 0.000 0.000 0.000 
 0.4706 -0.1176 0.04774 -0.04774 
 0.4706 0.1176 0.04774 0.04774 
 0.5882 0.000 0.000 0.000 
 
-3.717e-17 0.6071 -1.735e-15 0.0005780 
+3.717e-17 0.6071 -1.514e-15 0.0005780 
 0.1214 0.4856 0.04471 0.04505 
 0.2428 0.3642 0.06712 0.06724 
 0.3642 0.2428 0.06724 0.06712 
 0.4856 0.1214 0.04505 0.04471 
-0.6071 0.000 0.0005780 3.214e-15 
+0.6071 0.000 0.0005780 2.251e-15 
 
-3.832e-17 0.6259 -2.602e-15 0.0008670 
+3.832e-17 0.6259 -2.271e-15 0.0008670 
 0.1252 0.5007 0.04195 0.04247 
 0.2504 0.3755 0.06301 0.06318 
 0.3755 0.2504 0.06318 0.06301 
 0.5007 0.1252 0.04247 0.04195 
-0.6259 0.000 0.0008670 4.821e-15 
+0.6259 0.000 0.0008670 3.376e-15 
 
-3.948e-17 0.6447 -2.602e-15 0.0008670 
+3.948e-17 0.6447 -2.271e-15 0.0008670 
 0.1289 0.5158 0.03946 0.03998 
 0.2579 0.3868 0.05928 0.05945 
 0.3868 0.2579 0.05945 0.05928 
 0.5158 0.1289 0.03998 0.03946 
-0.6447 0.000 0.0008670 4.821e-15 
+0.6447 0.000 0.0008670 3.376e-15 
 
-4.063e-17 0.6635 -1.735e-15 0.0005780 
+4.063e-17 0.6635 -1.514e-15 0.0005780 
 0.1327 0.5308 0.03725 0.03760 
 0.2654 0.3981 0.05594 0.05605 
 0.3981 0.2654 0.05605 0.05594 
 0.5308 0.1327 0.03760 0.03725 
-0.6635 0.000 0.0005780 3.214e-15 
+0.6635 0.000 0.0005780 2.251e-15 
 
 4.178e-17 0.6824 0.000 0.000 
 0.1365 0.5459 0.03532 0.03532 
 -0.1176 0.4706 -0.04774 0.04774 
 3.602e-17 0.5882 0.000 0.000 
 
--0.6071 7.434e-17 -0.0005780 -5.867e-15 
+-0.6071 7.434e-17 -0.0005780 -2.476e-15 
 -0.4856 0.1214 -0.04505 0.04471 
 -0.3642 0.2428 -0.06724 0.06712 
 -0.2428 0.3642 -0.06712 0.06724 
 -0.1214 0.4856 -0.04471 0.04505 
-3.717e-17 0.6071 -1.735e-15 0.0005780 
+3.717e-17 0.6071 -1.514e-15 0.0005780 
 
--0.6259 7.665e-17 -0.0008670 -8.800e-15 
+-0.6259 7.665e-17 -0.0008670 -3.714e-15 
 -0.5007 0.1252 -0.04247 0.04195 
 -0.3755 0.2504 -0.06318 0.06301 
 -0.2504 0.3755 -0.06301 0.06318 
 -0.1252 0.5007 -0.04195 0.04247 
-3.832e-17 0.6259 -2.602e-15 0.0008670 
+3.832e-17 0.6259 -2.271e-15 0.0008670 
 
--0.6447 7.895e-17 -0.0008670 -8.800e-15 
+-0.6447 7.895e-17 -0.0008670 -3.714e-15 
 -0.5158 0.1289 -0.03998 0.03946 
 -0.3868 0.2579 -0.05945 0.05928 
 -0.2579 0.3868 -0.05928 0.05945 
 -0.1289 0.5158 -0.03946 0.03998 
-3.948e-17 0.6447 -2.602e-15 0.0008670 
+3.948e-17 0.6447 -2.271e-15 0.0008670 
 
--0.6635 8.126e-17 -0.0005780 -5.867e-15 
+-0.6635 8.126e-17 -0.0005780 -2.476e-15 
 -0.5308 0.1327 -0.03760 0.03725 
 -0.3981 0.2654 -0.05605 0.05594 
 -0.2654 0.3981 -0.05594 0.05605 
 -0.1327 0.5308 -0.03725 0.03760 
-4.063e-17 0.6635 -1.735e-15 0.0005780 
+4.063e-17 0.6635 -1.514e-15 0.0005780 
 
 -0.6824 8.356e-17 0.000 0.000 
 -0.5459 0.1365 -0.03532 0.03532 
 -0.4706 -0.1176 -0.04774 -0.04774 
 -0.5882 7.204e-17 0.000 0.000 
 
--1.115e-16 -0.6071 -1.151e-15 -0.0005780 
+-1.115e-16 -0.6071 -4.605e-15 -0.0005780 
 -0.1214 -0.4856 -0.04471 -0.04505 
 -0.2428 -0.3642 -0.06712 -0.06724 
 -0.3642 -0.2428 -0.06724 -0.06712 
 -0.4856 -0.1214 -0.04505 -0.04471 
--0.6071 7.434e-17 -0.0005780 -5.867e-15 
+-0.6071 7.434e-17 -0.0005780 -2.476e-15 
 
--1.150e-16 -0.6259 -1.726e-15 -0.0008670 
+-1.150e-16 -0.6259 -6.908e-15 -0.0008670 
 -0.1252 -0.5007 -0.04195 -0.04247 
 -0.2504 -0.3755 -0.06301 -0.06318 
 -0.3755 -0.2504 -0.06318 -0.06301 
 -0.5007 -0.1252 -0.04247 -0.04195 
--0.6259 7.665e-17 -0.0008670 -8.800e-15 
+-0.6259 7.665e-17 -0.0008670 -3.714e-15 
 
--1.184e-16 -0.6447 -1.726e-15 -0.0008670 
+-1.184e-16 -0.6447 -6.908e-15 -0.0008670 
 -0.1289 -0.5158 -0.03946 -0.03998 
 -0.2579 -0.3868 -0.05928 -0.05945 
 -0.3868 -0.2579 -0.05945 -0.05928 
 -0.5158 -0.1289 -0.03998 -0.03946 
--0.6447 7.895e-17 -0.0008670 -8.800e-15 
+-0.6447 7.895e-17 -0.0008670 -3.714e-15 
 
--1.219e-16 -0.6635 -1.151e-15 -0.0005780 
+-1.219e-16 -0.6635 -4.605e-15 -0.0005780 
 -0.1327 -0.5308 -0.03725 -0.03760 
 -0.2654 -0.3981 -0.05594 -0.05605 
 -0.3981 -0.2654 -0.05605 -0.05594 
 -0.5308 -0.1327 -0.03760 -0.03725 
--0.6635 8.126e-17 -0.0005780 -5.867e-15 
+-0.6635 8.126e-17 -0.0005780 -2.476e-15 
 
 -1.253e-16 -0.6824 0.000 0.000 
 -0.1365 -0.5459 -0.03532 -0.03532 
 0.1176 -0.4706 0.04774 -0.04774 
 -1.081e-16 -0.5882 0.000 0.000 
 
-0.6071 0.000 0.0005780 3.214e-15 
+0.6071 0.000 0.0005780 2.251e-15 
 0.4856 -0.1214 0.04505 -0.04471 
 0.3642 -0.2428 0.06724 -0.06712 
 0.2428 -0.3642 0.06712 -0.06724 
 0.1214 -0.4856 0.04471 -0.04505 
--1.115e-16 -0.6071 -1.151e-15 -0.0005780 
+-1.115e-16 -0.6071 -4.605e-15 -0.0005780 
 
-0.6259 0.000 0.0008670 4.821e-15 
+0.6259 0.000 0.0008670 3.376e-15 
 0.5007 -0.1252 0.04247 -0.04195 
 0.3755 -0.2504 0.06318 -0.06301 
 0.2504 -0.3755 0.06301 -0.06318 
 0.1252 -0.5007 0.04195 -0.04247 
--1.150e-16 -0.6259 -1.726e-15 -0.0008670 
+-1.150e-16 -0.6259 -6.908e-15 -0.0008670 
 
-0.6447 0.000 0.0008670 4.821e-15 
+0.6447 0.000 0.0008670 3.376e-15 
 0.5158 -0.1289 0.03998 -0.03946 
 0.3868 -0.2579 0.05945 -0.05928 
 0.2579 -0.3868 0.05928 -0.05945 
 0.1289 -0.5158 0.03946 -0.03998 
--1.184e-16 -0.6447 -1.726e-15 -0.0008670 
+-1.184e-16 -0.6447 -6.908e-15 -0.0008670 
 
-0.6635 0.000 0.0005780 3.214e-15 
+0.6635 0.000 0.0005780 2.251e-15 
 0.5308 -0.1327 0.03760 -0.03725 
 0.3981 -0.2654 0.05605 -0.05594 
 0.2654 -0.3981 0.05594 -0.05605 
 0.1327 -0.5308 0.03725 -0.03760 
--1.219e-16 -0.6635 -1.151e-15 -0.0005780 
+-1.219e-16 -0.6635 -4.605e-15 -0.0005780 
 
 0.6824 0.000 0.000 0.000 
 0.5459 -0.1365 0.03532 -0.03532 
 0.5459 0.1365 0.03532 0.03532 
 0.6824 0.000 0.000 0.000 
 
-4.409e-17 0.7200 -9.503e-16 0.0009760 
+4.409e-17 0.7200 -3.474e-15 0.0009760 
 0.1440 0.5760 0.03154 0.03212 
 0.2880 0.4320 0.04741 0.04760 
 0.4320 0.2880 0.04760 0.04741 
 0.5760 0.1440 0.03212 0.03154 
-0.7200 0.000 0.0009760 3.241e-15 
+0.7200 0.000 0.0009760 1.953e-15 
 
-4.639e-17 0.7576 -1.425e-15 0.001464 
+4.639e-17 0.7576 -5.211e-15 0.001464 
 0.1515 0.6061 0.02825 0.02913 
 0.3031 0.4546 0.04252 0.04281 
 0.4546 0.3031 0.04281 0.04252 
 0.6061 0.1515 0.02913 0.02825 
-0.7576 0.000 0.001464 4.861e-15 
+0.7576 0.000 0.001464 2.929e-15 
 
-4.870e-17 0.7953 -1.425e-15 0.001464 
+4.870e-17 0.7953 -5.211e-15 0.001464 
 0.1591 0.6362 0.02545 0.02632 
 0.3181 0.4772 0.03832 0.03861 
 0.4772 0.3181 0.03861 0.03832 
 0.6362 0.1591 0.02632 0.02545 
-0.7953 0.000 0.001464 4.861e-15 
+0.7953 0.000 0.001464 2.929e-15 
 
-5.100e-17 0.8329 -9.503e-16 0.0009760 
+5.100e-17 0.8329 -3.474e-15 0.0009760 
 0.1666 0.6664 0.02313 0.02372 
 0.3332 0.4998 0.03480 0.03499 
 0.4998 0.3332 0.03499 0.03480 
 0.6664 0.1666 0.02372 0.02313 
-0.8329 0.000 0.0009760 3.241e-15 
+0.8329 0.000 0.0009760 1.953e-15 
 
 5.331e-17 0.8706 0.000 0.000 
 0.1741 0.6965 0.02131 0.02131 
 -0.1365 0.5459 -0.03532 0.03532 
 4.178e-17 0.6824 0.000 0.000 
 
--0.7200 8.817e-17 -0.0009760 -4.140e-15 
+-0.7200 8.817e-17 -0.0009760 -7.309e-16 
 -0.5760 0.1440 -0.03212 0.03154 
 -0.4320 0.2880 -0.04760 0.04741 
 -0.2880 0.4320 -0.04741 0.04760 
 -0.1440 0.5760 -0.03154 0.03212 
-4.409e-17 0.7200 -9.503e-16 0.0009760 
+4.409e-17 0.7200 -3.474e-15 0.0009760 
 
--0.7576 9.279e-17 -0.001464 -6.210e-15 
+-0.7576 9.279e-17 -0.001464 -1.096e-15 
 -0.6061 0.1515 -0.02913 0.02825 
 -0.4546 0.3031 -0.04281 0.04252 
 -0.3031 0.4546 -0.04252 0.04281 
 -0.1515 0.6061 -0.02825 0.02913 
-4.639e-17 0.7576 -1.425e-15 0.001464 
+4.639e-17 0.7576 -5.211e-15 0.001464 
 
--0.7953 9.740e-17 -0.001464 -6.210e-15 
+-0.7953 9.740e-17 -0.001464 -1.096e-15 
 -0.6362 0.1591 -0.02632 0.02545 
 -0.4772 0.3181 -0.03861 0.03832 
 -0.3181 0.4772 -0.03832 0.03861 
 -0.1591 0.6362 -0.02545 0.02632 
-4.870e-17 0.7953 -1.425e-15 0.001464 
+4.870e-17 0.7953 -5.211e-15 0.001464 
 
--0.8329 1.020e-16 -0.0009760 -4.140e-15 
+-0.8329 1.020e-16 -0.0009760 -7.309e-16 
 -0.6664 0.1666 -0.02372 0.02313 
 -0.4998 0.3332 -0.03499 0.03480 
 -0.3332 0.4998 -0.03480 0.03499 
 -0.1666 0.6664 -0.02313 0.02372 
-5.100e-17 0.8329 -9.503e-16 0.0009760 
+5.100e-17 0.8329 -3.474e-15 0.0009760 
 
 -0.8706 1.066e-16 0.000 0.000 
 -0.6965 0.1741 -0.02131 0.02131 
 -0.5459 -0.1365 -0.03532 -0.03532 
 -0.6824 8.356e-17 0.000 0.000 
 
--1.323e-16 -0.7200 -9.802e-16 -0.0009760 
+-1.323e-16 -0.7200 -4.028e-15 -0.0009760 
 -0.1440 -0.5760 -0.03154 -0.03212 
 -0.2880 -0.4320 -0.04741 -0.04760 
 -0.4320 -0.2880 -0.04760 -0.04741 
 -0.5760 -0.1440 -0.03212 -0.03154 
--0.7200 8.817e-17 -0.0009760 -4.140e-15 
+-0.7200 8.817e-17 -0.0009760 -7.309e-16 
 
--1.392e-16 -0.7576 -1.470e-15 -0.001464 
+-1.392e-16 -0.7576 -6.042e-15 -0.001464 
 -0.1515 -0.6061 -0.02825 -0.02913 
 -0.3031 -0.4546 -0.04252 -0.04281 
 -0.4546 -0.3031 -0.04281 -0.04252 
 -0.6061 -0.1515 -0.02913 -0.02825 
--0.7576 9.279e-17 -0.001464 -6.210e-15 
+-0.7576 9.279e-17 -0.001464 -1.096e-15 
 
--1.461e-16 -0.7953 -1.470e-15 -0.001464 
+-1.461e-16 -0.7953 -6.042e-15 -0.001464 
 -0.1591 -0.6362 -0.02545 -0.02632 
 -0.3181 -0.4772 -0.03832 -0.03861 
 -0.4772 -0.3181 -0.03861 -0.03832 
 -0.6362 -0.1591 -0.02632 -0.02545 
--0.7953 9.740e-17 -0.001464 -6.210e-15 
+-0.7953 9.740e-17 -0.001464 -1.096e-15 
 
--1.530e-16 -0.8329 -9.802e-16 -0.0009760 
+-1.530e-16 -0.8329 -4.028e-15 -0.0009760 
 -0.1666 -0.6664 -0.02313 -0.02372 
 -0.3332 -0.4998 -0.03480 -0.03499 
 -0.4998 -0.3332 -0.03499 -0.03480 
 -0.6664 -0.1666 -0.02372 -0.02313 
--0.8329 1.020e-16 -0.0009760 -4.140e-15 
+-0.8329 1.020e-16 -0.0009760 -7.309e-16 
 
 -1.599e-16 -0.8706 0.000 0.000 
 -0.1741 -0.6965 -0.02131 -0.02131 
 0.1365 -0.5459 0.03532 -0.03532 
 -1.253e-16 -0.6824 0.000 0.000 
 
-0.7200 0.000 0.0009760 3.241e-15 
+0.7200 0.000 0.0009760 1.953e-15 
 0.5760 -0.1440 0.03212 -0.03154 
 0.4320 -0.2880 0.04760 -0.04741 
 0.2880 -0.4320 0.04741 -0.04760 
 0.1440 -0.5760 0.03154 -0.03212 
--1.323e-16 -0.7200 -9.802e-16 -0.0009760 
+-1.323e-16 -0.7200 -4.028e-15 -0.0009760 
 
-0.7576 0.000 0.001464 4.861e-15 
+0.7576 0.000 0.001464 2.929e-15 
 0.6061 -0.1515 0.02913 -0.02825 
 0.4546 -0.3031 0.04281 -0.04252 
 0.3031 -0.4546 0.04252 -0.04281 
 0.1515 -0.6061 0.02825 -0.02913 
--1.392e-16 -0.7576 -1.470e-15 -0.001464 
+-1.392e-16 -0.7576 -6.042e-15 -0.001464 
 
-0.7953 0.000 0.001464 4.861e-15 
+0.7953 0.000 0.001464 2.929e-15 
 0.6362 -0.1591 0.02632 -0.02545 
 0.4772 -0.3181 0.03861 -0.03832 
 0.3181 -0.4772 0.03832 -0.03861 
 0.1591 -0.6362 0.02545 -0.02632 
--1.461e-16 -0.7953 -1.470e-15 -0.001464 
+-1.461e-16 -0.7953 -6.042e-15 -0.001464 
 
-0.8329 0.000 0.0009760 3.241e-15 
+0.8329 0.000 0.0009760 1.953e-15 
 0.6664 -0.1666 0.02372 -0.02313 
 0.4998 -0.3332 0.03499 -0.03480 
 0.3332 -0.4998 0.03480 -0.03499 
 0.1666 -0.6664 0.02313 -0.02372 
--1.530e-16 -0.8329 -9.802e-16 -0.0009760 
+-1.530e-16 -0.8329 -4.028e-15 -0.0009760 
 
 0.8706 0.000 0.000 0.000 
 0.6965 -0.1741 0.02131 -0.02131 
 0.6965 0.1741 0.02131 0.02131 
 0.8706 0.000 0.000 0.000 
 
-5.792e-17 0.9459 1.076e-15 0.0008989 
+5.792e-17 0.9459 -2.754e-15 0.0008989 
 0.1892 0.7567 0.01780 0.01834 
 0.3784 0.5675 0.02680 0.02698 
 0.5675 0.3784 0.02698 0.02680 
 0.7567 0.1892 0.01834 0.01780 
-0.9459 0.000 0.0008989 2.358e-15 
+0.9459 0.000 0.0008989 1.331e-15 
 
-6.253e-17 1.021 1.614e-15 0.001348 
+6.253e-17 1.021 -4.132e-15 0.001348 
 0.2042 0.8169 0.01485 0.01566 
 0.4085 0.6127 0.02241 0.02268 
 0.6127 0.4085 0.02268 0.02241 
 0.8169 0.2042 0.01566 0.01485 
-1.021 0.000 0.001348 3.538e-15 
+1.021 0.000 0.001348 1.997e-15 
 
-6.714e-17 1.096 1.614e-15 0.001348 
+6.714e-17 1.096 -4.132e-15 0.001348 
 0.2193 0.8772 0.01243 0.01324 
 0.4386 0.6579 0.01879 0.01906 
 0.6579 0.4386 0.01906 0.01879 
 0.8772 0.2193 0.01324 0.01243 
-1.096 0.000 0.001348 3.538e-15 
+1.096 0.000 0.001348 1.997e-15 
 
-7.175e-17 1.172 1.076e-15 0.0008989 
+7.175e-17 1.172 -2.754e-15 0.0008989 
 0.2344 0.9374 0.01057 0.01111 
 0.4687 0.7031 0.01594 0.01612 
 0.7031 0.4687 0.01612 0.01594 
 0.9374 0.2344 0.01111 0.01057 
-1.172 0.000 0.0008989 2.358e-15 
+1.172 0.000 0.0008989 1.331e-15 
 
 7.636e-17 1.247 0.000 0.000 
 0.2494 0.9976 0.009242 0.009242 
 -0.1741 0.6965 -0.02131 0.02131 
 5.331e-17 0.8706 0.000 0.000 
 
--0.9459 1.158e-16 -0.0008989 -1.279e-15 
+-0.9459 1.158e-16 -0.0008989 1.257e-15 
 -0.7567 0.1892 -0.01834 0.01780 
 -0.5675 0.3784 -0.02698 0.02680 
 -0.3784 0.5675 -0.02680 0.02698 
 -0.1892 0.7567 -0.01780 0.01834 
-5.792e-17 0.9459 1.076e-15 0.0008989 
+5.792e-17 0.9459 -2.754e-15 0.0008989 
 
--1.021 1.251e-16 -0.001348 -1.918e-15 
+-1.021 1.251e-16 -0.001348 1.885e-15 
 -0.8169 0.2042 -0.01566 0.01485 
 -0.6127 0.4085 -0.02268 0.02241 
 -0.4085 0.6127 -0.02241 0.02268 
 -0.2042 0.8169 -0.01485 0.01566 
-6.253e-17 1.021 1.614e-15 0.001348 
+6.253e-17 1.021 -4.132e-15 0.001348 
 
--1.096 1.343e-16 -0.001348 -1.918e-15 
+-1.096 1.343e-16 -0.001348 1.885e-15 
 -0.8772 0.2193 -0.01324 0.01243 
 -0.6579 0.4386 -0.01906 0.01879 
 -0.4386 0.6579 -0.01879 0.01906 
 -0.2193 0.8772 -0.01243 0.01324 
-6.714e-17 1.096 1.614e-15 0.001348 
+6.714e-17 1.096 -4.132e-15 0.001348 
 
--1.172 1.435e-16 -0.0008989 -1.279e-15 
+-1.172 1.435e-16 -0.0008989 1.257e-15 
 -0.9374 0.2344 -0.01111 0.01057 
 -0.7031 0.4687 -0.01612 0.01594 
 -0.4687 0.7031 -0.01594 0.01612 
 -0.2344 0.9374 -0.01057 0.01111 
-7.175e-17 1.172 1.076e-15 0.0008989 
+7.175e-17 1.172 -2.754e-15 0.0008989 
 
 -1.247 1.527e-16 0.000 0.000 
 -0.9976 0.2494 -0.009242 0.009242 
 -0.6965 -0.1741 -0.02131 -0.02131 
 -0.8706 1.066e-16 0.000 0.000 
 
--1.738e-16 -0.9459 5.444e-16 -0.0008989 
+-1.738e-16 -0.9459 -1.246e-15 -0.0008989 
 -0.1892 -0.7567 -0.01780 -0.01834 
 -0.3784 -0.5675 -0.02680 -0.02698 
 -0.5675 -0.3784 -0.02698 -0.02680 
 -0.7567 -0.1892 -0.01834 -0.01780 
--0.9459 1.158e-16 -0.0008989 -1.279e-15 
+-0.9459 1.158e-16 -0.0008989 1.257e-15 
 
--1.876e-16 -1.021 8.165e-16 -0.001348 
+-1.876e-16 -1.021 -1.870e-15 -0.001348 
 -0.2042 -0.8169 -0.01485 -0.01566 
 -0.4085 -0.6127 -0.02241 -0.02268 
 -0.6127 -0.4085 -0.02268 -0.02241 
 -0.8169 -0.2042 -0.01566 -0.01485 
--1.021 1.251e-16 -0.001348 -1.918e-15 
+-1.021 1.251e-16 -0.001348 1.885e-15 
 
--2.014e-16 -1.096 8.165e-16 -0.001348 
+-2.014e-16 -1.096 -1.870e-15 -0.001348 
 -0.2193 -0.8772 -0.01243 -0.01324 
 -0.4386 -0.6579 -0.01879 -0.01906 
 -0.6579 -0.4386 -0.01906 -0.01879 
 -0.8772 -0.2193 -0.01324 -0.01243 
--1.096 1.343e-16 -0.001348 -1.918e-15 
+-1.096 1.343e-16 -0.001348 1.885e-15 
 
--2.152e-16 -1.172 5.444e-16 -0.0008989 
+-2.152e-16 -1.172 -1.246e-15 -0.0008989 
 -0.2344 -0.9374 -0.01057 -0.01111 
 -0.4687 -0.7031 -0.01594 -0.01612 
 -0.7031 -0.4687 -0.01612 -0.01594 
 -0.9374 -0.2344 -0.01111 -0.01057 
--1.172 1.435e-16 -0.0008989 -1.279e-15 
+-1.172 1.435e-16 -0.0008989 1.257e-15 
 
 -2.291e-16 -1.247 0.000 0.000 
 -0.2494 -0.9976 -0.009242 -0.009242 
 0.1741 -0.6965 0.02131 -0.02131 
 -1.599e-16 -0.8706 0.000 0.000 
 
-0.9459 0.000 0.0008989 2.358e-15 
+0.9459 0.000 0.0008989 1.331e-15 
 0.7567 -0.1892 0.01834 -0.01780 
 0.5675 -0.3784 0.02698 -0.02680 
 0.3784 -0.5675 0.02680 -0.02698 
 0.1892 -0.7567 0.01780 -0.01834 
--1.738e-16 -0.9459 5.444e-16 -0.0008989 
+-1.738e-16 -0.9459 -1.246e-15 -0.0008989 
 
-1.021 0.000 0.001348 3.538e-15 
+1.021 0.000 0.001348 1.997e-15 
 0.8169 -0.2042 0.01566 -0.01485 
 0.6127 -0.4085 0.02268 -0.02241 
 0.4085 -0.6127 0.02241 -0.02268 
 0.2042 -0.8169 0.01485 -0.01566 
--1.876e-16 -1.021 8.165e-16 -0.001348 
+-1.876e-16 -1.021 -1.870e-15 -0.001348 
 
-1.096 0.000 0.001348 3.538e-15 
+1.096 0.000 0.001348 1.997e-15 
 0.8772 -0.2193 0.01324 -0.01243 
 0.6579 -0.4386 0.01906 -0.01879 
 0.4386 -0.6579 0.01879 -0.01906 
 0.2193 -0.8772 0.01243 -0.01324 
--2.014e-16 -1.096 8.165e-16 -0.001348 
+-2.014e-16 -1.096 -1.870e-15 -0.001348 
 
-1.172 0.000 0.0008989 2.358e-15 
+1.172 0.000 0.0008989 1.331e-15 
 0.9374 -0.2344 0.01111 -0.01057 
 0.7031 -0.4687 0.01612 -0.01594 
 0.4687 -0.7031 0.01594 -0.01612 
 0.2344 -0.9374 0.01057 -0.01111 
--2.152e-16 -1.172 5.444e-16 -0.0008989 
+-2.152e-16 -1.172 -1.246e-15 -0.0008989 
 
 1.247 0.000 0.000 0.000 
 0.9976 -0.2494 0.009242 -0.009242 
 1.007 0.2587 0.009242 0.009242 
 1.247 0.000 0.000 0.000 
 
-5.149e-16 1.397 4.293e-16 -0.0002116 
+-4.655e-16 1.397 -5.511e-16 -0.0002116 
 0.2863 1.125 0.006804 0.006677 
 0.5692 0.8487 0.01018 0.01014 
 0.8487 0.5692 0.01014 0.01018 
 1.125 0.2863 0.006677 0.006804 
-1.397 5.029e-16 -0.0002116 5.029e-16 
+1.397 2.906e-16 -0.0002116 2.906e-16 
 
-7.387e-16 1.548 6.439e-16 -0.0003173 
+-7.319e-16 1.548 -8.267e-16 -0.0003173 
 0.3143 1.243 0.004661 0.004470 
 0.6263 0.9358 0.006959 0.006896 
 0.9358 0.6263 0.006896 0.006959 
 1.243 0.3143 0.004470 0.004661 
-1.548 7.544e-16 -0.0003173 7.544e-16 
+1.548 4.359e-16 -0.0003173 4.359e-16 
 
-7.480e-16 1.699 6.439e-16 -0.0003173 
+-7.227e-16 1.699 -8.267e-16 -0.0003173 
 0.3426 1.362 0.002812 0.002622 
 0.6837 1.023 0.004186 0.004123 
 1.023 0.6837 0.004123 0.004186 
 1.362 0.3426 0.002622 0.002812 
-1.699 7.544e-16 -0.0003173 7.544e-16 
+1.699 4.359e-16 -0.0003173 4.359e-16 
 
-5.425e-16 1.849 4.293e-16 -0.0002116 
+-4.379e-16 1.849 -5.511e-16 -0.0002116 
 0.3711 1.481 0.001259 0.001132 
 0.7416 1.111 0.001867 0.001824 
 1.111 0.7416 0.001824 0.001867 
 1.481 0.3711 0.001132 0.001259 
-1.849 5.029e-16 -0.0002116 5.029e-16 
+1.849 2.906e-16 -0.0002116 2.906e-16 
 
 1.225e-16 2.000 0.000 0.000 
 0.4000 1.600 0.000 0.000 
 -0.2587 1.007 -0.009242 0.009242 
 7.636e-17 1.247 0.000 0.000 
 
--1.397 6.292e-17 0.0002116 -1.082e-16 
+-1.397 6.233e-16 0.0002116 4.521e-16 
 -1.125 0.2863 -0.006677 0.006804 
 -0.8487 0.5692 -0.01014 0.01018 
 -0.5692 0.8487 -0.01018 0.01014 
 -0.2863 1.125 -0.006804 0.006677 
-5.149e-16 1.397 4.293e-16 -0.0002116 
+-4.655e-16 1.397 -5.511e-16 -0.0002116 
 
--1.548 2.724e-17 0.0003173 -1.624e-16 
+-1.548 8.677e-16 0.0003173 6.781e-16 
 -1.243 0.3143 -0.004470 0.004661 
 -0.9358 0.6263 -0.006896 0.006959 
 -0.6263 0.9358 -0.006959 0.006896 
 -0.3143 1.243 -0.004661 0.004470 
-7.387e-16 1.548 6.439e-16 -0.0003173 
+-7.319e-16 1.548 -8.267e-16 -0.0003173 
 
--1.699 4.568e-17 0.0003173 -1.624e-16 
+-1.699 8.862e-16 0.0003173 6.781e-16 
 -1.362 0.3426 -0.002622 0.002812 
 -1.023 0.6837 -0.004123 0.004186 
 -0.6837 1.023 -0.004186 0.004123 
 -0.3426 1.362 -0.002812 0.002622 
-7.480e-16 1.699 6.439e-16 -0.0003173 
+-7.227e-16 1.699 -8.267e-16 -0.0003173 
 
--1.849 1.182e-16 0.0002116 -1.082e-16 
+-1.849 6.786e-16 0.0002116 4.521e-16 
 -1.481 0.3711 -0.001132 0.001259 
 -1.111 0.7416 -0.001824 0.001867 
 -0.7416 1.111 -0.001867 0.001824 
 -0.3711 1.481 -0.001259 0.001132 
-5.425e-16 1.849 4.293e-16 -0.0002116 
+-4.379e-16 1.849 -5.511e-16 -0.0002116 
 
 -2.000 2.449e-16 0.000 0.000 
 -1.600 0.4000 0.000 0.000 
 -1.007 -0.2587 -0.009242 -0.009242 
 -1.247 1.527e-16 0.000 0.000 
 
-3.592e-17 -1.397 2.927e-16 0.0002116 
+-3.036e-16 -1.397 -4.687e-17 0.0002116 
 -0.2863 -1.125 -0.006804 -0.006677 
 -0.5692 -0.8487 -0.01018 -0.01014 
 -0.8487 -0.5692 -0.01014 -0.01018 
 -1.125 -0.2863 -0.006677 -0.006804 
--1.397 6.292e-17 0.0002116 -1.082e-16 
+-1.397 6.233e-16 0.0002116 4.521e-16 
 
-1.546e-16 -1.548 4.390e-16 0.0003173 
+-3.547e-16 -1.548 -7.030e-17 0.0003173 
 -0.3143 -1.243 -0.004661 -0.004470 
 -0.6263 -0.9358 -0.006959 -0.006896 
 -0.9358 -0.6263 -0.006896 -0.006959 
 -1.243 -0.3143 -0.004470 -0.004661 
--1.548 2.724e-17 0.0003173 -1.624e-16 
+-1.548 8.677e-16 0.0003173 6.781e-16 
 
-1.269e-16 -1.699 4.390e-16 0.0003173 
+-3.824e-16 -1.699 -7.030e-17 0.0003173 
 -0.3426 -1.362 -0.002812 -0.002622 
 -0.6837 -1.023 -0.004186 -0.004123 
 -1.023 -0.6837 -0.004123 -0.004186 
 -1.362 -0.3426 -0.002622 -0.002812 
--1.699 4.568e-17 0.0003173 -1.624e-16 
+-1.699 8.862e-16 0.0003173 6.781e-16 
 
--4.707e-17 -1.849 2.927e-16 0.0002116 
+-3.866e-16 -1.849 -4.687e-17 0.0002116 
 -0.3711 -1.481 -0.001259 -0.001132 
 -0.7416 -1.111 -0.001867 -0.001824 
 -1.111 -0.7416 -0.001824 -0.001867 
 -1.481 -0.3711 -0.001132 -0.001259 
--1.849 1.182e-16 0.0002116 -1.082e-16 
+-1.849 6.786e-16 0.0002116 4.521e-16 
 
 -3.674e-16 -2.000 0.000 0.000 
 -0.4000 -1.600 0.000 0.000 
 0.2587 -1.007 0.009242 -0.009242 
 -2.291e-16 -1.247 0.000 0.000 
 
-1.397 5.029e-16 -0.0002116 5.029e-16 
+1.397 2.906e-16 -0.0002116 2.906e-16 
 1.125 -0.2863 0.006677 -0.006804 
 0.8487 -0.5692 0.01014 -0.01018 
 0.5692 -0.8487 0.01018 -0.01014 
 0.2863 -1.125 0.006804 -0.006677 
-3.592e-17 -1.397 2.927e-16 0.0002116 
+-3.036e-16 -1.397 -4.687e-17 0.0002116 
 
-1.548 7.544e-16 -0.0003173 7.544e-16 
+1.548 4.359e-16 -0.0003173 4.359e-16 
 1.243 -0.3143 0.004470 -0.004661 
 0.9358 -0.6263 0.006896 -0.006959 
 0.6263 -0.9358 0.006959 -0.006896 
 0.3143 -1.243 0.004661 -0.004470 
-1.546e-16 -1.548 4.390e-16 0.0003173 
+-3.547e-16 -1.548 -7.030e-17 0.0003173 
 
-1.699 7.544e-16 -0.0003173 7.544e-16 
+1.699 4.359e-16 -0.0003173 4.359e-16 
 1.362 -0.3426 0.002622 -0.002812 
 1.023 -0.6837 0.004123 -0.004186 
 0.6837 -1.023 0.004186 -0.004123 
 0.3426 -1.362 0.002812 -0.002622 
-1.269e-16 -1.699 4.390e-16 0.0003173 
+-3.824e-16 -1.699 -7.030e-17 0.0003173 
 
-1.849 5.029e-16 -0.0002116 5.029e-16 
+1.849 2.906e-16 -0.0002116 2.906e-16 
 1.481 -0.3711 0.001132 -0.001259 
 1.111 -0.7416 0.001824 -0.001867 
 0.7416 -1.111 0.001867 -0.001824 
 0.3711 -1.481 0.001259 -0.001132 
--4.707e-17 -1.849 2.927e-16 0.0002116 
+-3.866e-16 -1.849 -4.687e-17 0.0002116 
 
 2.000 0.000 0.000 0.000 
 1.600 -0.4000 0.000 0.000 
 0.4663 0.1663 0.06627 0.06627 
 0.5000 0.000 0.000 0.000 
 
--3.567e-16 0.5012 -3.874e-16 5.931e-06 
+5.121e-16 0.5012 4.814e-16 5.931e-06 
 0.1662 0.4669 0.06596 0.06596 
 0.2994 0.3996 0.09894 0.09894 
 0.3996 0.2994 0.09894 0.09894 
 0.4669 0.1662 0.06596 0.06596 
-0.5012 1.593e-16 5.931e-06 1.593e-16 
+0.5012 2.473e-16 5.931e-06 2.473e-16 
 
--5.503e-16 0.5024 -5.811e-16 8.897e-06 
+7.528e-16 0.5024 7.221e-16 8.897e-06 
 0.1661 0.4675 0.06565 0.06565 
 0.2994 0.3999 0.09847 0.09848 
 0.3999 0.2994 0.09848 0.09847 
 0.4675 0.1661 0.06565 0.06565 
-0.5024 2.390e-16 8.897e-06 2.390e-16 
+0.5024 3.710e-16 8.897e-06 3.710e-16 
 
--5.503e-16 0.5035 -5.811e-16 8.897e-06 
+7.529e-16 0.5035 7.221e-16 8.897e-06 
 0.1660 0.4682 0.06534 0.06535 
 0.2994 0.4001 0.09801 0.09801 
 0.4001 0.2994 0.09801 0.09801 
 0.4682 0.1660 0.06535 0.06534 
-0.5035 2.390e-16 8.897e-06 2.390e-16 
+0.5035 3.710e-16 8.897e-06 3.710e-16 
 
--3.565e-16 0.5047 -3.874e-16 5.931e-06 
+5.123e-16 0.5047 4.814e-16 5.931e-06 
 0.1660 0.4688 0.06503 0.06504 
 0.2994 0.4004 0.09755 0.09755 
 0.4004 0.2994 0.09755 0.09755 
 0.4688 0.1660 0.06504 0.06503 
-0.5047 1.593e-16 5.931e-06 1.593e-16 
+0.5047 2.473e-16 5.931e-06 2.473e-16 
 
 3.098e-17 0.5059 0.000 0.000 
 0.1659 0.4694 0.06473 0.06473 
 -0.1663 0.4663 -0.06627 0.06627 
 3.062e-17 0.5000 0.000 0.000 
 
--0.5012 -2.829e-16 -5.931e-06 -3.442e-16 
+-0.5012 -3.938e-16 -5.931e-06 -4.552e-16 
 -0.4669 0.1662 -0.06596 0.06596 
 -0.3996 0.2994 -0.09894 0.09894 
 -0.2994 0.3996 -0.09894 0.09894 
 -0.1662 0.4669 -0.06596 0.06596 
--3.567e-16 0.5012 -3.874e-16 5.931e-06 
+5.121e-16 0.5012 4.814e-16 5.931e-06 
 
--0.5024 -4.548e-16 -8.897e-06 -5.163e-16 
+-0.5024 -6.213e-16 -8.897e-06 -6.828e-16 
 -0.4675 0.1661 -0.06565 0.06565 
 -0.3999 0.2994 -0.09848 0.09847 
 -0.2994 0.3999 -0.09847 0.09848 
 -0.1661 0.4675 -0.06565 0.06565 
--5.503e-16 0.5024 -5.811e-16 8.897e-06 
+7.528e-16 0.5024 7.221e-16 8.897e-06 
 
--0.5035 -4.547e-16 -8.897e-06 -5.163e-16 
+-0.5035 -6.211e-16 -8.897e-06 -6.828e-16 
 -0.4682 0.1660 -0.06535 0.06534 
 -0.4001 0.2994 -0.09801 0.09801 
 -0.2994 0.4001 -0.09801 0.09801 
 -0.1660 0.4682 -0.06534 0.06535 
--5.503e-16 0.5035 -5.811e-16 8.897e-06 
+7.529e-16 0.5035 7.221e-16 8.897e-06 
 
--0.5047 -2.824e-16 -5.931e-06 -3.442e-16 
+-0.5047 -3.934e-16 -5.931e-06 -4.552e-16 
 -0.4688 0.1660 -0.06504 0.06503 
 -0.4004 0.2994 -0.09755 0.09755 
 -0.2994 0.4004 -0.09755 0.09755 
 -0.1660 0.4688 -0.06503 0.06504 
--3.565e-16 0.5047 -3.874e-16 5.931e-06 
+5.123e-16 0.5047 4.814e-16 5.931e-06 
 
 -0.5059 6.195e-17 0.000 0.000 
 -0.4694 0.1659 -0.06473 0.06473 
 -0.4663 -0.1663 -0.06627 -0.06627 
 -0.5000 6.123e-17 0.000 0.000 
 
--4.274e-16 -0.5012 -3.354e-16 -5.931e-06 
+-6.427e-18 -0.5012 8.564e-17 -5.931e-06 
 -0.1662 -0.4669 -0.06596 -0.06596 
 -0.2994 -0.3996 -0.09894 -0.09894 
 -0.3996 -0.2994 -0.09894 -0.09894 
 -0.4669 -0.1662 -0.06596 -0.06596 
--0.5012 -2.829e-16 -5.931e-06 -3.442e-16 
+-0.5012 -3.938e-16 -5.931e-06 -4.552e-16 
 
--5.954e-16 -0.5024 -5.031e-16 -8.897e-06 
+3.618e-17 -0.5024 1.285e-16 -8.897e-06 
 -0.1661 -0.4675 -0.06565 -0.06565 
 -0.2994 -0.3999 -0.09847 -0.09848 
 -0.3999 -0.2994 -0.09848 -0.09847 
 -0.4675 -0.1661 -0.06565 -0.06565 
--0.5024 -4.548e-16 -8.897e-06 -5.163e-16 
+-0.5024 -6.213e-16 -8.897e-06 -6.828e-16 
 
--5.956e-16 -0.5035 -5.031e-16 -8.897e-06 
+3.596e-17 -0.5035 1.285e-16 -8.897e-06 
 -0.1660 -0.4682 -0.06534 -0.06535 
 -0.2994 -0.4001 -0.09801 -0.09801 
 -0.4001 -0.2994 -0.09801 -0.09801 
 -0.4682 -0.1660 -0.06535 -0.06534 
--0.5035 -4.547e-16 -8.897e-06 -5.163e-16 
+-0.5035 -6.211e-16 -8.897e-06 -6.828e-16 
 
--4.281e-16 -0.5047 -3.354e-16 -5.931e-06 
+-7.076e-18 -0.5047 8.564e-17 -5.931e-06 
 -0.1660 -0.4688 -0.06503 -0.06504 
 -0.2994 -0.4004 -0.09755 -0.09755 
 -0.4004 -0.2994 -0.09755 -0.09755 
 -0.4688 -0.1660 -0.06504 -0.06503 
--0.5047 -2.824e-16 -5.931e-06 -3.442e-16 
+-0.5047 -3.934e-16 -5.931e-06 -4.552e-16 
 
 -9.293e-17 -0.5059 0.000 0.000 
 -0.1659 -0.4694 -0.06473 -0.06473 
 0.1663 -0.4663 0.06627 -0.06627 
 -9.185e-17 -0.5000 0.000 0.000 
 
-0.5012 1.593e-16 5.931e-06 1.593e-16 
+0.5012 2.473e-16 5.931e-06 2.473e-16 
 0.4669 -0.1662 0.06596 -0.06596 
 0.3996 -0.2994 0.09894 -0.09894 
 0.2994 -0.3996 0.09894 -0.09894 
 0.1662 -0.4669 0.06596 -0.06596 
--4.274e-16 -0.5012 -3.354e-16 -5.931e-06 
+-6.427e-18 -0.5012 8.564e-17 -5.931e-06 
 
-0.5024 2.390e-16 8.897e-06 2.390e-16 
+0.5024 3.710e-16 8.897e-06 3.710e-16 
 0.4675 -0.1661 0.06565 -0.06565 
 0.3999 -0.2994 0.09848 -0.09847 
 0.2994 -0.3999 0.09847 -0.09848 
 0.1661 -0.4675 0.06565 -0.06565 
--5.954e-16 -0.5024 -5.031e-16 -8.897e-06 
+3.618e-17 -0.5024 1.285e-16 -8.897e-06 
 
-0.5035 2.390e-16 8.897e-06 2.390e-16 
+0.5035 3.710e-16 8.897e-06 3.710e-16 
 0.4682 -0.1660 0.06535 -0.06534 
 0.4001 -0.2994 0.09801 -0.09801 
 0.2994 -0.4001 0.09801 -0.09801 
 0.1660 -0.4682 0.06534 -0.06535 
--5.956e-16 -0.5035 -5.031e-16 -8.897e-06 
+3.596e-17 -0.5035 1.285e-16 -8.897e-06 
 
-0.5047 1.593e-16 5.931e-06 1.593e-16 
+0.5047 2.473e-16 5.931e-06 2.473e-16 
 0.4688 -0.1660 0.06504 -0.06503 
 0.4004 -0.2994 0.09755 -0.09755 
 0.2994 -0.4004 0.09755 -0.09755 
 0.1660 -0.4688 0.06503 -0.06504 
--4.281e-16 -0.5047 -3.354e-16 -5.931e-06 
+-7.076e-18 -0.5047 8.564e-17 -5.931e-06 
 
 0.5059 0.000 0.000 0.000 
 0.4694 -0.1659 0.06473 -0.06473 
 0.4694 0.1659 0.06473 0.06473 
 0.5059 0.000 0.000 0.000 
 
--8.327e-16 0.5083 -8.638e-16 2.211e-05 
+1.485e-15 0.5083 1.453e-15 2.211e-05 
 0.1658 0.4707 0.06412 0.06414 
 0.2995 0.4011 0.09619 0.09619 
 0.4011 0.2995 0.09619 0.09619 
 0.4707 0.1658 0.06414 0.06412 
-0.5083 7.003e-16 2.211e-05 7.003e-16 
+0.5083 8.079e-16 2.211e-05 8.079e-16 
 
--1.264e-15 0.5106 -1.296e-15 3.316e-05 
+2.211e-15 0.5106 2.180e-15 3.316e-05 
 0.1656 0.4720 0.06353 0.06355 
 0.2995 0.4017 0.09530 0.09530 
 0.4017 0.2995 0.09530 0.09530 
 0.4720 0.1656 0.06355 0.06353 
-0.5106 1.050e-15 3.316e-05 1.050e-15 
+0.5106 1.212e-15 3.316e-05 1.212e-15 
 
--1.264e-15 0.5130 -1.296e-15 3.316e-05 
+2.212e-15 0.5130 2.180e-15 3.316e-05 
 0.1655 0.4733 0.06294 0.06296 
 0.2996 0.4022 0.09442 0.09442 
 0.4022 0.2996 0.09442 0.09442 
 0.4733 0.1655 0.06296 0.06294 
-0.5130 1.050e-15 3.316e-05 1.050e-15 
+0.5130 1.212e-15 3.316e-05 1.212e-15 
 
--8.323e-16 0.5153 -8.638e-16 2.211e-05 
+1.485e-15 0.5153 1.453e-15 2.211e-05 
 0.1654 0.4746 0.06237 0.06238 
 0.2997 0.4027 0.09355 0.09356 
 0.4027 0.2997 0.09356 0.09355 
 0.4746 0.1654 0.06238 0.06237 
-0.5153 7.003e-16 2.211e-05 7.003e-16 
+0.5153 8.079e-16 2.211e-05 8.079e-16 
 
 3.170e-17 0.5176 0.000 0.000 
 0.1653 0.4759 0.06180 0.06180 
 -0.1659 0.4694 -0.06473 0.06473 
 3.098e-17 0.5059 0.000 0.000 
 
--0.5083 -1.107e-15 -2.211e-05 -1.169e-15 
+-0.5083 -1.184e-15 -2.211e-05 -1.246e-15 
 -0.4707 0.1658 -0.06414 0.06412 
 -0.4011 0.2995 -0.09619 0.09619 
 -0.2995 0.4011 -0.09619 0.09619 
 -0.1658 0.4707 -0.06412 0.06414 
--8.327e-16 0.5083 -8.638e-16 2.211e-05 
+1.485e-15 0.5083 1.453e-15 2.211e-05 
 
--0.5106 -1.692e-15 -3.316e-05 -1.754e-15 
+-0.5106 -1.807e-15 -3.316e-05 -1.869e-15 
 -0.4720 0.1656 -0.06355 0.06353 
 -0.4017 0.2995 -0.09530 0.09530 
 -0.2995 0.4017 -0.09530 0.09530 
 -0.1656 0.4720 -0.06353 0.06355 
--1.264e-15 0.5106 -1.296e-15 3.316e-05 
+2.211e-15 0.5106 2.180e-15 3.316e-05 
 
--0.5130 -1.691e-15 -3.316e-05 -1.754e-15 
+-0.5130 -1.806e-15 -3.316e-05 -1.869e-15 
 -0.4733 0.1655 -0.06296 0.06294 
 -0.4022 0.2996 -0.09442 0.09442 
 -0.2996 0.4022 -0.09442 0.09442 
 -0.1655 0.4733 -0.06294 0.06296 
--1.264e-15 0.5130 -1.296e-15 3.316e-05 
+2.212e-15 0.5130 2.180e-15 3.316e-05 
 
--0.5153 -1.106e-15 -2.211e-05 -1.169e-15 
+-0.5153 -1.183e-15 -2.211e-05 -1.246e-15 
 -0.4746 0.1654 -0.06238 0.06237 
 -0.4027 0.2997 -0.09356 0.09355 
 -0.2997 0.4027 -0.09355 0.09356 
 -0.1654 0.4746 -0.06237 0.06238 
--8.323e-16 0.5153 -8.638e-16 2.211e-05 
+1.485e-15 0.5153 1.453e-15 2.211e-05 
 
 -0.5176 6.339e-17 0.000 0.000 
 -0.4759 0.1653 -0.06180 0.06180 
 -0.4694 -0.1659 -0.06473 -0.06473 
 -0.5059 6.195e-17 0.000 0.000 
 
--9.418e-16 -0.5083 -8.484e-16 -2.211e-05 
+-2.750e-16 -0.5083 -1.816e-16 -2.211e-05 
 -0.1658 -0.4707 -0.06412 -0.06414 
 -0.2995 -0.4011 -0.09619 -0.09619 
 -0.4011 -0.2995 -0.09619 -0.09619 
 -0.4707 -0.1658 -0.06414 -0.06412 
--0.5083 -1.107e-15 -2.211e-05 -1.169e-15 
+-0.5083 -1.184e-15 -2.211e-05 -1.246e-15 
 
--1.366e-15 -0.5106 -1.273e-15 -3.316e-05 
+-3.662e-16 -0.5106 -2.724e-16 -3.316e-05 
 -0.1656 -0.4720 -0.06353 -0.06355 
 -0.2995 -0.4017 -0.09530 -0.09530 
 -0.4017 -0.2995 -0.09530 -0.09530 
 -0.4720 -0.1656 -0.06355 -0.06353 
--0.5106 -1.692e-15 -3.316e-05 -1.754e-15 
+-0.5106 -1.807e-15 -3.316e-05 -1.869e-15 
 
--1.367e-15 -0.5130 -1.273e-15 -3.316e-05 
+-3.666e-16 -0.5130 -2.724e-16 -3.316e-05 
 -0.1655 -0.4733 -0.06294 -0.06296 
 -0.2996 -0.4022 -0.09442 -0.09442 
 -0.4022 -0.2996 -0.09442 -0.09442 
 -0.4733 -0.1655 -0.06296 -0.06294 
--0.5130 -1.691e-15 -3.316e-05 -1.754e-15 
+-0.5130 -1.806e-15 -3.316e-05 -1.869e-15 
 
--9.431e-16 -0.5153 -8.484e-16 -2.211e-05 
+-2.763e-16 -0.5153 -1.816e-16 -2.211e-05 
 -0.1654 -0.4746 -0.06237 -0.06238 
 -0.2997 -0.4027 -0.09355 -0.09356 
 -0.4027 -0.2997 -0.09356 -0.09355 
 -0.4746 -0.1654 -0.06238 -0.06237 
--0.5153 -1.106e-15 -2.211e-05 -1.169e-15 
+-0.5153 -1.183e-15 -2.211e-05 -1.246e-15 
 
 -9.509e-17 -0.5176 0.000 0.000 
 -0.1653 -0.4759 -0.06180 -0.06180 
 0.1659 -0.4694 0.06473 -0.06473 
 -9.293e-17 -0.5059 0.000 0.000 
 
-0.5083 7.003e-16 2.211e-05 7.003e-16 
+0.5083 8.079e-16 2.211e-05 8.079e-16 
 0.4707 -0.1658 0.06414 -0.06412 
 0.4011 -0.2995 0.09619 -0.09619 
 0.2995 -0.4011 0.09619 -0.09619 
 0.1658 -0.4707 0.06412 -0.06414 
--9.418e-16 -0.5083 -8.484e-16 -2.211e-05 
+-2.750e-16 -0.5083 -1.816e-16 -2.211e-05 
 
-0.5106 1.050e-15 3.316e-05 1.050e-15 
+0.5106 1.212e-15 3.316e-05 1.212e-15 
 0.4720 -0.1656 0.06355 -0.06353 
 0.4017 -0.2995 0.09530 -0.09530 
 0.2995 -0.4017 0.09530 -0.09530 
 0.1656 -0.4720 0.06353 -0.06355 
--1.366e-15 -0.5106 -1.273e-15 -3.316e-05 
+-3.662e-16 -0.5106 -2.724e-16 -3.316e-05 
 
-0.5130 1.050e-15 3.316e-05 1.050e-15 
+0.5130 1.212e-15 3.316e-05 1.212e-15 
 0.4733 -0.1655 0.06296 -0.06294 
 0.4022 -0.2996 0.09442 -0.09442 
 0.2996 -0.4022 0.09442 -0.09442 
 0.1655 -0.4733 0.06294 -0.06296 
--1.367e-15 -0.5130 -1.273e-15 -3.316e-05 
+-3.666e-16 -0.5130 -2.724e-16 -3.316e-05 
 
-0.5153 7.003e-16 2.211e-05 7.003e-16 
+0.5153 8.079e-16 2.211e-05 8.079e-16 
 0.4746 -0.1654 0.06238 -0.06237 
 0.4027 -0.2997 0.09356 -0.09355 
 0.2997 -0.4027 0.09355 -0.09356 
 0.1654 -0.4746 0.06237 -0.06238 
--9.431e-16 -0.5153 -8.484e-16 -2.211e-05 
+-2.763e-16 -0.5153 -1.816e-16 -2.211e-05 
 
 0.5176 0.000 0.000 0.000 
 0.4759 -0.1653 0.06180 -0.06180 
 0.4759 0.1653 0.06180 0.06180 
 0.5176 0.000 0.000 0.000 
 
--7.237e-16 0.5224 -7.557e-16 7.701e-05 
+1.921e-15 0.5224 1.889e-15 7.701e-05 
 0.1651 0.4786 0.06067 0.06072 
 0.3000 0.4044 0.09101 0.09103 
 0.4044 0.3000 0.09103 0.09101 
 0.4786 0.1651 0.06072 0.06067 
-0.5224 1.566e-15 7.701e-05 1.566e-15 
+0.5224 1.390e-15 7.701e-05 1.390e-15 
 
--1.101e-15 0.5272 -1.133e-15 0.0001155 
+2.866e-15 0.5272 2.834e-15 0.0001155 
 0.1650 0.4813 0.05957 0.05964 
 0.3002 0.4056 0.08937 0.08940 
 0.4056 0.3002 0.08940 0.08937 
 0.4813 0.1650 0.05964 0.05957 
-0.5272 2.349e-15 0.0001155 2.349e-15 
+0.5272 2.084e-15 0.0001155 2.084e-15 
 
--1.101e-15 0.5319 -1.133e-15 0.0001155 
+2.867e-15 0.5319 2.834e-15 0.0001155 
 0.1649 0.4840 0.05852 0.05858 
 0.3005 0.4069 0.08778 0.08781 
 0.4069 0.3005 0.08781 0.08778 
 0.4840 0.1649 0.05858 0.05852 
-0.5319 2.349e-15 0.0001155 2.349e-15 
+0.5319 2.084e-15 0.0001155 2.084e-15 
 
--7.228e-16 0.5365 -7.557e-16 7.701e-05 
+1.922e-15 0.5365 1.889e-15 7.701e-05 
 0.1648 0.4867 0.05749 0.05754 
 0.3008 0.4081 0.08624 0.08626 
 0.4081 0.3008 0.08626 0.08624 
 0.4867 0.1648 0.05754 0.05749 
-0.5365 1.566e-15 7.701e-05 1.566e-15 
+0.5365 1.390e-15 7.701e-05 1.390e-15 
 
 3.314e-17 0.5412 0.000 0.000 
 0.1647 0.4894 0.05650 0.05650 
 -0.1653 0.4759 -0.06180 0.06180 
 3.170e-17 0.5176 0.000 0.000 
 
--0.5224 -2.546e-15 -7.701e-05 -2.610e-15 
+-0.5224 -1.912e-15 -7.701e-05 -1.976e-15 
 -0.4786 0.1651 -0.06072 0.06067 
 -0.4044 0.3000 -0.09103 0.09101 
 -0.3000 0.4044 -0.09101 0.09103 
 -0.1651 0.4786 -0.06067 0.06072 
--7.237e-16 0.5224 -7.557e-16 7.701e-05 
+1.921e-15 0.5224 1.889e-15 7.701e-05 
 
--0.5272 -3.851e-15 -0.0001155 -3.915e-15 
+-0.5272 -2.899e-15 -0.0001155 -2.964e-15 
 -0.4813 0.1650 -0.05964 0.05957 
 -0.4056 0.3002 -0.08940 0.08937 
 -0.3002 0.4056 -0.08937 0.08940 
 -0.1650 0.4813 -0.05957 0.05964 
--1.101e-15 0.5272 -1.133e-15 0.0001155 
+2.866e-15 0.5272 2.834e-15 0.0001155 
 
--0.5319 -3.850e-15 -0.0001155 -3.915e-15 
+-0.5319 -2.899e-15 -0.0001155 -2.964e-15 
 -0.4840 0.1649 -0.05858 0.05852 
 -0.4069 0.3005 -0.08781 0.08778 
 -0.3005 0.4069 -0.08778 0.08781 
 -0.1649 0.4840 -0.05852 0.05858 
--1.101e-15 0.5319 -1.133e-15 0.0001155 
+2.867e-15 0.5319 2.834e-15 0.0001155 
 
--0.5365 -2.544e-15 -7.701e-05 -2.610e-15 
+-0.5365 -1.910e-15 -7.701e-05 -1.976e-15 
 -0.4867 0.1648 -0.05754 0.05749 
 -0.4081 0.3008 -0.08626 0.08624 
 -0.3008 0.4081 -0.08624 0.08626 
 -0.1648 0.4867 -0.05749 0.05754 
--7.228e-16 0.5365 -7.557e-16 7.701e-05 
+1.922e-15 0.5365 1.889e-15 7.701e-05 
 
 -0.5412 6.628e-17 0.000 0.000 
 -0.4894 0.1647 -0.05650 0.05650 
 -0.4759 -0.1653 -0.06180 -0.06180 
 -0.5176 6.339e-17 0.000 0.000 
 
--1.006e-15 -0.5224 -9.099e-16 -7.701e-05 
+-1.489e-15 -0.5224 -1.393e-15 -7.701e-05 
 -0.1651 -0.4786 -0.06067 -0.06072 
 -0.3000 -0.4044 -0.09101 -0.09103 
 -0.4044 -0.3000 -0.09103 -0.09101 
 -0.4786 -0.1651 -0.06072 -0.06067 
--0.5224 -2.546e-15 -7.701e-05 -2.610e-15 
+-0.5224 -1.912e-15 -7.701e-05 -1.976e-15 
 
--1.462e-15 -0.5272 -1.365e-15 -0.0001155 
+-2.187e-15 -0.5272 -2.090e-15 -0.0001155 
 -0.1650 -0.4813 -0.05957 -0.05964 
 -0.3002 -0.4056 -0.08937 -0.08940 
 -0.4056 -0.3002 -0.08940 -0.08937 
 -0.4813 -0.1650 -0.05964 -0.05957 
--0.5272 -3.851e-15 -0.0001155 -3.915e-15 
+-0.5272 -2.899e-15 -0.0001155 -2.964e-15 
 
--1.463e-15 -0.5319 -1.365e-15 -0.0001155 
+-2.188e-15 -0.5319 -2.090e-15 -0.0001155 
 -0.1649 -0.4840 -0.05852 -0.05858 
 -0.3005 -0.4069 -0.08778 -0.08781 
 -0.4069 -0.3005 -0.08781 -0.08778 
 -0.4840 -0.1649 -0.05858 -0.05852 
--0.5319 -3.850e-15 -0.0001155 -3.915e-15 
+-0.5319 -2.899e-15 -0.0001155 -2.964e-15 
 
--1.008e-15 -0.5365 -9.099e-16 -7.701e-05 
+-1.492e-15 -0.5365 -1.393e-15 -7.701e-05 
 -0.1648 -0.4867 -0.05749 -0.05754 
 -0.3008 -0.4081 -0.08624 -0.08626 
 -0.4081 -0.3008 -0.08626 -0.08624 
 -0.4867 -0.1648 -0.05754 -0.05749 
--0.5365 -2.544e-15 -7.701e-05 -2.610e-15 
+-0.5365 -1.910e-15 -7.701e-05 -1.976e-15 
 
 -9.941e-17 -0.5412 0.000 0.000 
 -0.1647 -0.4894 -0.05650 -0.05650 
 0.1653 -0.4759 0.06180 -0.06180 
 -9.509e-17 -0.5176 0.000 0.000 
 
-0.5224 1.566e-15 7.701e-05 1.566e-15 
+0.5224 1.390e-15 7.701e-05 1.390e-15 
 0.4786 -0.1651 0.06072 -0.06067 
 0.4044 -0.3000 0.09103 -0.09101 
 0.3000 -0.4044 0.09101 -0.09103 
 0.1651 -0.4786 0.06067 -0.06072 
--1.006e-15 -0.5224 -9.099e-16 -7.701e-05 
+-1.489e-15 -0.5224 -1.393e-15 -7.701e-05 
 
-0.5272 2.349e-15 0.0001155 2.349e-15 
+0.5272 2.084e-15 0.0001155 2.084e-15 
 0.4813 -0.1650 0.05964 -0.05957 
 0.4056 -0.3002 0.08940 -0.08937 
 0.3002 -0.4056 0.08937 -0.08940 
 0.1650 -0.4813 0.05957 -0.05964 
--1.462e-15 -0.5272 -1.365e-15 -0.0001155 
+-2.187e-15 -0.5272 -2.090e-15 -0.0001155 
 
-0.5319 2.349e-15 0.0001155 2.349e-15 
+0.5319 2.084e-15 0.0001155 2.084e-15 
 0.4840 -0.1649 0.05858 -0.05852 
 0.4069 -0.3005 0.08781 -0.08778 
 0.3005 -0.4069 0.08778 -0.08781 
 0.1649 -0.4840 0.05852 -0.05858 
--1.463e-15 -0.5319 -1.365e-15 -0.0001155 
+-2.188e-15 -0.5319 -2.090e-15 -0.0001155 
 
-0.5365 1.566e-15 7.701e-05 1.566e-15 
+0.5365 1.390e-15 7.701e-05 1.390e-15 
 0.4867 -0.1648 0.05754 -0.05749 
 0.4081 -0.3008 0.08626 -0.08624 
 0.3008 -0.4081 0.08624 -0.08626 
 0.1648 -0.4867 0.05749 -0.05754 
--1.008e-15 -0.5365 -9.099e-16 -7.701e-05 
+-1.492e-15 -0.5365 -1.393e-15 -7.701e-05 
 
 0.5412 0.000 0.000 0.000 
 0.4894 -0.1647 0.05650 -0.05650 
 0.4894 0.1647 0.05650 0.05650 
 0.5412 0.000 0.000 0.000 
 
--8.769e-16 0.5508 -9.106e-16 0.0002362 
+9.471e-16 0.5508 9.134e-16 0.0002362 
 0.1646 0.4951 0.05453 0.05467 
 0.3021 0.4122 0.08182 0.08187 
 0.4122 0.3021 0.08187 0.08182 
 0.4951 0.1646 0.05467 0.05453 
-0.5508 2.559e-15 0.0002362 2.559e-15 
+0.5508 1.963e-15 0.0002362 1.963e-15 
 
--1.332e-15 0.5604 -1.366e-15 0.0003544 
+1.404e-15 0.5604 1.370e-15 0.0003544 
 0.1647 0.5009 0.05267 0.05288 
 0.3030 0.4151 0.07904 0.07911 
 0.4151 0.3030 0.07911 0.07904 
 0.5009 0.1647 0.05288 0.05267 
-0.5604 3.839e-15 0.0003544 3.839e-15 
+0.5604 2.945e-15 0.0003544 2.945e-15 
 
--1.331e-15 0.5698 -1.366e-15 0.0003544 
+1.405e-15 0.5698 1.370e-15 0.0003544 
 0.1648 0.5067 0.05092 0.05113 
 0.3042 0.4181 0.07641 0.07648 
 0.4181 0.3042 0.07648 0.07641 
 0.5067 0.1648 0.05113 0.05092 
-0.5698 3.839e-15 0.0003544 3.839e-15 
+0.5698 2.945e-15 0.0003544 2.945e-15 
 
--8.752e-16 0.5791 -9.106e-16 0.0002362 
+9.488e-16 0.5791 9.134e-16 0.0002362 
 0.1650 0.5125 0.04927 0.04942 
 0.3055 0.4213 0.07393 0.07398 
 0.4213 0.3055 0.07398 0.07393 
 0.5125 0.1650 0.04942 0.04927 
-0.5791 2.559e-15 0.0002362 2.559e-15 
+0.5791 1.963e-15 0.0002362 1.963e-15 
 
 3.602e-17 0.5882 0.000 0.000 
 0.1654 0.5183 0.04774 0.04774 
 -0.1647 0.4894 -0.05650 0.05650 
 3.314e-17 0.5412 0.000 0.000 
 
--0.5508 -4.666e-15 -0.0002362 -4.733e-15 
+-0.5508 -2.591e-15 -0.0002362 -2.659e-15 
 -0.4951 0.1646 -0.05467 0.05453 
 -0.4122 0.3021 -0.08187 0.08182 
 -0.3021 0.4122 -0.08182 0.08187 
 -0.1646 0.4951 -0.05453 0.05467 
--8.769e-16 0.5508 -9.106e-16 0.0002362 
+9.471e-16 0.5508 9.134e-16 0.0002362 
 
--0.5604 -7.031e-15 -0.0003544 -7.100e-15 
+-0.5604 -3.919e-15 -0.0003544 -3.988e-15 
 -0.5009 0.1647 -0.05288 0.05267 
 -0.4151 0.3030 -0.07911 0.07904 
 -0.3030 0.4151 -0.07904 0.07911 
 -0.1647 0.5009 -0.05267 0.05288 
--1.332e-15 0.5604 -1.366e-15 0.0003544 
+1.404e-15 0.5604 1.370e-15 0.0003544 
 
--0.5698 -7.030e-15 -0.0003544 -7.100e-15 
+-0.5698 -3.918e-15 -0.0003544 -3.988e-15 
 -0.5067 0.1648 -0.05113 0.05092 
 -0.4181 0.3042 -0.07648 0.07641 
 -0.3042 0.4181 -0.07641 0.07648 
 -0.1648 0.5067 -0.05092 0.05113 
--1.331e-15 0.5698 -1.366e-15 0.0003544 
+1.405e-15 0.5698 1.370e-15 0.0003544 
 
--0.5791 -4.662e-15 -0.0002362 -4.733e-15 
+-0.5791 -2.588e-15 -0.0002362 -2.659e-15 
 -0.5125 0.1650 -0.04942 0.04927 
 -0.4213 0.3055 -0.07398 0.07393 
 -0.3055 0.4213 -0.07393 0.07398 
 -0.1650 0.5125 -0.04927 0.04942 
--8.752e-16 0.5791 -9.106e-16 0.0002362 
+9.488e-16 0.5791 9.134e-16 0.0002362 
 
 -0.5882 7.204e-17 0.000 0.000 
 -0.5183 0.1654 -0.04774 0.04774 
 -0.4894 -0.1647 -0.05650 -0.05650 
 -0.5412 6.628e-17 0.000 0.000 
 
--9.106e-16 -0.5508 -8.095e-16 -0.0002362 
+-3.318e-15 -0.5508 -3.217e-15 -0.0002362 
 -0.1646 -0.4951 -0.05453 -0.05467 
 -0.3021 -0.4122 -0.08182 -0.08187 
 -0.4122 -0.3021 -0.08187 -0.08182 
 -0.4951 -0.1646 -0.05467 -0.05453 
--0.5508 -4.666e-15 -0.0002362 -4.733e-15 
+-0.5508 -2.591e-15 -0.0002362 -2.659e-15 
 
--1.317e-15 -0.5604 -1.214e-15 -0.0003544 
+-4.929e-15 -0.5604 -4.826e-15 -0.0003544 
 -0.1647 -0.5009 -0.05267 -0.05288 
 -0.3030 -0.4151 -0.07904 -0.07911 
 -0.4151 -0.3030 -0.07911 -0.07904 
 -0.5009 -0.1647 -0.05288 -0.05267 
--0.5604 -7.031e-15 -0.0003544 -7.100e-15 
+-0.5604 -3.919e-15 -0.0003544 -3.988e-15 
 
--1.319e-15 -0.5698 -1.214e-15 -0.0003544 
+-4.930e-15 -0.5698 -4.826e-15 -0.0003544 
 -0.1648 -0.5067 -0.05092 -0.05113 
 -0.3042 -0.4181 -0.07641 -0.07648 
 -0.4181 -0.3042 -0.07648 -0.07641 
 -0.5067 -0.1648 -0.05113 -0.05092 
--0.5698 -7.030e-15 -0.0003544 -7.100e-15 
+-0.5698 -3.918e-15 -0.0003544 -3.988e-15 
 
--9.158e-16 -0.5791 -8.095e-16 -0.0002362 
+-3.324e-15 -0.5791 -3.217e-15 -0.0002362 
 -0.1650 -0.5125 -0.04927 -0.04942 
 -0.3055 -0.4213 -0.07393 -0.07398 
 -0.4213 -0.3055 -0.07398 -0.07393 
 -0.5125 -0.1650 -0.04942 -0.04927 
--0.5791 -4.662e-15 -0.0002362 -4.733e-15 
+-0.5791 -2.588e-15 -0.0002362 -2.659e-15 
 
 -1.081e-16 -0.5882 0.000 0.000 
 -0.1654 -0.5183 -0.04774 -0.04774 
 0.1647 -0.4894 0.05650 -0.05650 
 -9.941e-17 -0.5412 0.000 0.000 
 
-0.5508 2.559e-15 0.0002362 2.559e-15 
+0.5508 1.963e-15 0.0002362 1.963e-15 
 0.4951 -0.1646 0.05467 -0.05453 
 0.4122 -0.3021 0.08187 -0.08182 
 0.3021 -0.4122 0.08182 -0.08187 
 0.1646 -0.4951 0.05453 -0.05467 
--9.106e-16 -0.5508 -8.095e-16 -0.0002362 
+-3.318e-15 -0.5508 -3.217e-15 -0.0002362 
 
-0.5604 3.839e-15 0.0003544 3.839e-15 
+0.5604 2.945e-15 0.0003544 2.945e-15 
 0.5009 -0.1647 0.05288 -0.05267 
 0.4151 -0.3030 0.07911 -0.07904 
 0.3030 -0.4151 0.07904 -0.07911 
 0.1647 -0.5009 0.05267 -0.05288 
--1.317e-15 -0.5604 -1.214e-15 -0.0003544 
+-4.929e-15 -0.5604 -4.826e-15 -0.0003544 
 
-0.5698 3.839e-15 0.0003544 3.839e-15 
+0.5698 2.945e-15 0.0003544 2.945e-15 
 0.5067 -0.1648 0.05113 -0.05092 
 0.4181 -0.3042 0.07648 -0.07641 
 0.3042 -0.4181 0.07641 -0.07648 
 0.1648 -0.5067 0.05092 -0.05113 
--1.319e-15 -0.5698 -1.214e-15 -0.0003544 
+-4.930e-15 -0.5698 -4.826e-15 -0.0003544 
 
-0.5791 2.559e-15 0.0002362 2.559e-15 
+0.5791 1.963e-15 0.0002362 1.963e-15 
 0.5125 -0.1650 0.04942 -0.04927 
 0.4213 -0.3055 0.07398 -0.07393 
 0.3055 -0.4213 0.07393 -0.07398 
 0.1650 -0.5125 0.04927 -0.04942 
--9.158e-16 -0.5791 -8.095e-16 -0.0002362 
+-3.324e-15 -0.5791 -3.217e-15 -0.0002362 
 
 0.5882 0.000 0.000 0.000 
 0.5183 -0.1654 0.04774 -0.04774 
 0.5183 0.1654 0.04774 0.04774 
 0.5882 0.000 0.000 0.000 
 
--1.698e-15 0.6076 -1.735e-15 0.0005780 
+-1.477e-15 0.6076 -1.514e-15 0.0005780 
 0.1661 0.5307 0.04471 0.04505 
 0.3099 0.4315 0.06712 0.06724 
 0.4315 0.3099 0.06724 0.06712 
 0.5307 0.1661 0.04505 0.04471 
-0.6076 3.214e-15 0.0005780 3.214e-15 
+0.6076 2.251e-15 0.0005780 2.251e-15 
 
--2.564e-15 0.6267 -2.602e-15 0.0008670 
+-2.232e-15 0.6267 -2.271e-15 0.0008670 
 0.1671 0.5432 0.04195 0.04247 
 0.3134 0.4387 0.06301 0.06318 
 0.4387 0.3134 0.06318 0.06301 
 0.5432 0.1671 0.04247 0.04195 
-0.6267 4.821e-15 0.0008670 4.821e-15 
+0.6267 3.376e-15 0.0008670 3.376e-15 
 
--2.563e-15 0.6456 -2.602e-15 0.0008670 
+-2.231e-15 0.6456 -2.271e-15 0.0008670 
 0.1684 0.5557 0.03946 0.03998 
 0.3172 0.4463 0.05928 0.05945 
 0.4463 0.3172 0.05945 0.05928 
 0.5557 0.1684 0.03998 0.03946 
-0.6456 4.821e-15 0.0008670 4.821e-15 
+0.6456 3.376e-15 0.0008670 3.376e-15 
 
--1.694e-15 0.6641 -1.735e-15 0.0005780 
+-1.473e-15 0.6641 -1.514e-15 0.0005780 
 0.1700 0.5684 0.03725 0.03760 
 0.3213 0.4542 0.05594 0.05605 
 0.4542 0.3213 0.05605 0.05594 
 0.5684 0.1700 0.03760 0.03725 
-0.6641 3.214e-15 0.0005780 3.214e-15 
+0.6641 2.251e-15 0.0005780 2.251e-15 
 
 4.178e-17 0.6824 0.000 0.000 
 0.1718 0.5812 0.03532 0.03532 
 -0.1654 0.5183 -0.04774 0.04774 
 3.602e-17 0.5882 0.000 0.000 
 
--0.6076 -5.792e-15 -0.0005780 -5.867e-15 
+-0.6076 -2.402e-15 -0.0005780 -2.476e-15 
 -0.5307 0.1661 -0.04505 0.04471 
 -0.4315 0.3099 -0.06724 0.06712 
 -0.3099 0.4315 -0.06712 0.06724 
 -0.1661 0.5307 -0.04471 0.04505 
--1.698e-15 0.6076 -1.735e-15 0.0005780 
+-1.477e-15 0.6076 -1.514e-15 0.0005780 
 
--0.6267 -8.723e-15 -0.0008670 -8.800e-15 
+-0.6267 -3.637e-15 -0.0008670 -3.714e-15 
 -0.5432 0.1671 -0.04247 0.04195 
 -0.4387 0.3134 -0.06318 0.06301 
 -0.3134 0.4387 -0.06301 0.06318 
 -0.1671 0.5432 -0.04195 0.04247 
--2.564e-15 0.6267 -2.602e-15 0.0008670 
+-2.232e-15 0.6267 -2.271e-15 0.0008670 
 
--0.6456 -8.721e-15 -0.0008670 -8.800e-15 
+-0.6456 -3.635e-15 -0.0008670 -3.714e-15 
 -0.5557 0.1684 -0.03998 0.03946 
 -0.4463 0.3172 -0.05945 0.05928 
 -0.3172 0.4463 -0.05928 0.05945 
 -0.1684 0.5557 -0.03946 0.03998 
--2.563e-15 0.6456 -2.602e-15 0.0008670 
+-2.231e-15 0.6456 -2.271e-15 0.0008670 
 
--0.6641 -5.785e-15 -0.0005780 -5.867e-15 
+-0.6641 -2.395e-15 -0.0005780 -2.476e-15 
 -0.5684 0.1700 -0.03760 0.03725 
 -0.4542 0.3213 -0.05605 0.05594 
 -0.3213 0.4542 -0.05594 0.05605 
 -0.1700 0.5684 -0.03725 0.03760 
--1.694e-15 0.6641 -1.735e-15 0.0005780 
+-1.473e-15 0.6641 -1.514e-15 0.0005780 
 
 -0.6824 8.356e-17 0.000 0.000 
 -0.5812 0.1718 -0.03532 0.03532 
 -0.5183 -0.1654 -0.04774 -0.04774 
 -0.5882 7.204e-17 0.000 0.000 
 
--1.262e-15 -0.6076 -1.151e-15 -0.0005780 
+-4.717e-15 -0.6076 -4.605e-15 -0.0005780 
 -0.1661 -0.5307 -0.04471 -0.04505 
 -0.3099 -0.4315 -0.06712 -0.06724 
 -0.4315 -0.3099 -0.06724 -0.06712 
 -0.5307 -0.1661 -0.04505 -0.04471 
--0.6076 -5.792e-15 -0.0005780 -5.867e-15 
+-0.6076 -2.402e-15 -0.0005780 -2.476e-15 
 
--1.841e-15 -0.6267 -1.726e-15 -0.0008670 
+-7.023e-15 -0.6267 -6.908e-15 -0.0008670 
 -0.1671 -0.5432 -0.04195 -0.04247 
 -0.3134 -0.4387 -0.06301 -0.06318 
 -0.4387 -0.3134 -0.06318 -0.06301 
 -0.5432 -0.1671 -0.04247 -0.04195 
--0.6267 -8.723e-15 -0.0008670 -8.800e-15 
+-0.6267 -3.637e-15 -0.0008670 -3.714e-15 
 
--1.844e-15 -0.6456 -1.726e-15 -0.0008670 
+-7.027e-15 -0.6456 -6.908e-15 -0.0008670 
 -0.1684 -0.5557 -0.03946 -0.03998 
 -0.3172 -0.4463 -0.05928 -0.05945 
 -0.4463 -0.3172 -0.05945 -0.05928 
 -0.5557 -0.1684 -0.03998 -0.03946 
--0.6456 -8.721e-15 -0.0008670 -8.800e-15 
+-0.6456 -3.635e-15 -0.0008670 -3.714e-15 
 
--1.272e-15 -0.6641 -1.151e-15 -0.0005780 
+-4.727e-15 -0.6641 -4.605e-15 -0.0005780 
 -0.1700 -0.5684 -0.03725 -0.03760 
 -0.3213 -0.4542 -0.05594 -0.05605 
 -0.4542 -0.3213 -0.05605 -0.05594 
 -0.5684 -0.1700 -0.03760 -0.03725 
--0.6641 -5.785e-15 -0.0005780 -5.867e-15 
+-0.6641 -2.395e-15 -0.0005780 -2.476e-15 
 
 -1.253e-16 -0.6824 0.000 0.000 
 -0.1718 -0.5812 -0.03532 -0.03532 
 0.1654 -0.5183 0.04774 -0.04774 
 -1.081e-16 -0.5882 0.000 0.000 
 
-0.6076 3.214e-15 0.0005780 3.214e-15 
+0.6076 2.251e-15 0.0005780 2.251e-15 
 0.5307 -0.1661 0.04505 -0.04471 
 0.4315 -0.3099 0.06724 -0.06712 
 0.3099 -0.4315 0.06712 -0.06724 
 0.1661 -0.5307 0.04471 -0.04505 
--1.262e-15 -0.6076 -1.151e-15 -0.0005780 
+-4.717e-15 -0.6076 -4.605e-15 -0.0005780 
 
-0.6267 4.821e-15 0.0008670 4.821e-15 
+0.6267 3.376e-15 0.0008670 3.376e-15 
 0.5432 -0.1671 0.04247 -0.04195 
 0.4387 -0.3134 0.06318 -0.06301 
 0.3134 -0.4387 0.06301 -0.06318 
 0.1671 -0.5432 0.04195 -0.04247 
--1.841e-15 -0.6267 -1.726e-15 -0.0008670 
+-7.023e-15 -0.6267 -6.908e-15 -0.0008670 
 
-0.6456 4.821e-15 0.0008670 4.821e-15 
+0.6456 3.376e-15 0.0008670 3.376e-15 
 0.5557 -0.1684 0.03998 -0.03946 
 0.4463 -0.3172 0.05945 -0.05928 
 0.3172 -0.4463 0.05928 -0.05945 
 0.1684 -0.5557 0.03946 -0.03998 
--1.844e-15 -0.6456 -1.726e-15 -0.0008670 
+-7.027e-15 -0.6456 -6.908e-15 -0.0008670 
 
-0.6641 3.214e-15 0.0005780 3.214e-15 
+0.6641 2.251e-15 0.0005780 2.251e-15 
 0.5684 -0.1700 0.03760 -0.03725 
 0.4542 -0.3213 0.05605 -0.05594 
 0.3213 -0.4542 0.05594 -0.05605 
 0.1700 -0.5684 0.03725 -0.03760 
--1.272e-15 -0.6641 -1.151e-15 -0.0005780 
+-4.727e-15 -0.6641 -4.605e-15 -0.0005780 
 
 0.6824 0.000 0.000 0.000 
 0.5812 -0.1718 0.03532 -0.03532 
 0.5812 0.1718 0.03532 0.03532 
 0.6824 0.000 0.000 0.000 
 
--9.062e-16 0.7210 -9.503e-16 0.0009760 
+-3.430e-15 0.7210 -3.474e-15 0.0009760 
 0.1755 0.6081 0.03154 0.03212 
 0.3354 0.4796 0.04741 0.04760 
 0.4796 0.3354 0.04760 0.04741 
 0.6081 0.1755 0.03212 0.03154 
-0.7210 3.241e-15 0.0009760 3.241e-15 
+0.7210 1.953e-15 0.0009760 1.953e-15 
 
--1.379e-15 0.7591 -1.425e-15 0.001464 
+-5.165e-15 0.7591 -5.211e-15 0.001464 
 0.1798 0.6352 0.02825 0.02913 
 0.3456 0.4974 0.04252 0.04281 
 0.4974 0.3456 0.04281 0.04252 
 0.6352 0.1798 0.02913 0.02825 
-0.7591 4.861e-15 0.001464 4.861e-15 
+0.7591 2.929e-15 0.001464 2.929e-15 
 
--1.377e-15 0.7968 -1.425e-15 0.001464 
+-5.162e-15 0.7968 -5.211e-15 0.001464 
 0.1845 0.6626 0.02545 0.02632 
 0.3564 0.5158 0.03832 0.03861 
 0.5158 0.3564 0.03861 0.03832 
 0.6626 0.1845 0.02632 0.02545 
-0.7968 4.861e-15 0.001464 4.861e-15 
+0.7968 2.929e-15 0.001464 2.929e-15 
 
--8.993e-16 0.8339 -9.503e-16 0.0009760 
+-3.423e-15 0.8339 -3.474e-15 0.0009760 
 0.1897 0.6901 0.02313 0.02372 
 0.3680 0.5348 0.03480 0.03499 
 0.5348 0.3680 0.03499 0.03480 
 0.6901 0.1897 0.02372 0.02313 
-0.8339 3.241e-15 0.0009760 3.241e-15 
+0.8339 1.953e-15 0.0009760 1.953e-15 
 
 5.331e-17 0.8706 0.000 0.000 
 0.1954 0.7178 0.02131 0.02131 
 -0.1718 0.5812 -0.03532 0.03532 
 4.178e-17 0.6824 0.000 0.000 
 
--0.7210 -4.052e-15 -0.0009760 -4.140e-15 
+-0.7210 -6.427e-16 -0.0009760 -7.309e-16 
 -0.6081 0.1755 -0.03212 0.03154 
 -0.4796 0.3354 -0.04760 0.04741 
 -0.3354 0.4796 -0.04741 0.04760 
 -0.1755 0.6081 -0.03154 0.03212 
--9.062e-16 0.7210 -9.503e-16 0.0009760 
+-3.430e-15 0.7210 -3.474e-15 0.0009760 
 
--0.7591 -6.117e-15 -0.001464 -6.210e-15 
+-0.7591 -1.004e-15 -0.001464 -1.096e-15 
 -0.6352 0.1798 -0.02913 0.02825 
 -0.4974 0.3456 -0.04281 0.04252 
 -0.3456 0.4974 -0.04252 0.04281 
 -0.1798 0.6352 -0.02825 0.02913 
--1.379e-15 0.7591 -1.425e-15 0.001464 
+-5.165e-15 0.7591 -5.211e-15 0.001464 
 
--0.7968 -6.112e-15 -0.001464 -6.210e-15 
+-0.7968 -9.989e-16 -0.001464 -1.096e-15 
 -0.6626 0.1845 -0.02632 0.02545 
 -0.5158 0.3564 -0.03861 0.03832 
 -0.3564 0.5158 -0.03832 0.03861 
 -0.1845 0.6626 -0.02545 0.02632 
--1.377e-15 0.7968 -1.425e-15 0.001464 
+-5.162e-15 0.7968 -5.211e-15 0.001464 
 
--0.8339 -4.038e-15 -0.0009760 -4.140e-15 
+-0.8339 -6.289e-16 -0.0009760 -7.309e-16 
 -0.6901 0.1897 -0.02372 0.02313 
 -0.5348 0.3680 -0.03499 0.03480 
 -0.3680 0.5348 -0.03480 0.03499 
 -0.1897 0.6901 -0.02313 0.02372 
--8.993e-16 0.8339 -9.503e-16 0.0009760 
+-3.423e-15 0.8339 -3.474e-15 0.0009760 
 
 -0.8706 1.066e-16 0.000 0.000 
 -0.7178 0.1954 -0.02131 0.02131 
 -0.5812 -0.1718 -0.03532 -0.03532 
 -0.6824 8.356e-17 0.000 0.000 
 
--1.112e-15 -0.7210 -9.802e-16 -0.0009760 
+-4.160e-15 -0.7210 -4.028e-15 -0.0009760 
 -0.1755 -0.6081 -0.03154 -0.03212 
 -0.3354 -0.4796 -0.04741 -0.04760 
 -0.4796 -0.3354 -0.04760 -0.04741 
 -0.6081 -0.1755 -0.03212 -0.03154 
--0.7210 -4.052e-15 -0.0009760 -4.140e-15 
+-0.7210 -6.427e-16 -0.0009760 -7.309e-16 
 
--1.610e-15 -0.7591 -1.470e-15 -0.001464 
+-6.181e-15 -0.7591 -6.042e-15 -0.001464 
 -0.1798 -0.6352 -0.02825 -0.02913 
 -0.3456 -0.4974 -0.04252 -0.04281 
 -0.4974 -0.3456 -0.04281 -0.04252 
 -0.6352 -0.1798 -0.02913 -0.02825 
--0.7591 -6.117e-15 -0.001464 -6.210e-15 
+-0.7591 -1.004e-15 -0.001464 -1.096e-15 
 
--1.616e-15 -0.7968 -1.470e-15 -0.001464 
+-6.188e-15 -0.7968 -6.042e-15 -0.001464 
 -0.1845 -0.6626 -0.02545 -0.02632 
 -0.3564 -0.5158 -0.03832 -0.03861 
 -0.5158 -0.3564 -0.03861 -0.03832 
 -0.6626 -0.1845 -0.02632 -0.02545 
--0.7968 -6.112e-15 -0.001464 -6.210e-15 
+-0.7968 -9.989e-16 -0.001464 -1.096e-15 
 
--1.133e-15 -0.8339 -9.802e-16 -0.0009760 
+-4.181e-15 -0.8339 -4.028e-15 -0.0009760 
 -0.1897 -0.6901 -0.02313 -0.02372 
 -0.3680 -0.5348 -0.03480 -0.03499 
 -0.5348 -0.3680 -0.03499 -0.03480 
 -0.6901 -0.1897 -0.02372 -0.02313 
--0.8339 -4.038e-15 -0.0009760 -4.140e-15 
+-0.8339 -6.289e-16 -0.0009760 -7.309e-16 
 
 -1.599e-16 -0.8706 0.000 0.000 
 -0.1954 -0.7178 -0.02131 -0.02131 
 0.1718 -0.5812 0.03532 -0.03532 
 -1.253e-16 -0.6824 0.000 0.000 
 
-0.7210 3.241e-15 0.0009760 3.241e-15 
+0.7210 1.953e-15 0.0009760 1.953e-15 
 0.6081 -0.1755 0.03212 -0.03154 
 0.4796 -0.3354 0.04760 -0.04741 
 0.3354 -0.4796 0.04741 -0.04760 
 0.1755 -0.6081 0.03154 -0.03212 
--1.112e-15 -0.7210 -9.802e-16 -0.0009760 
+-4.160e-15 -0.7210 -4.028e-15 -0.0009760 
 
-0.7591 4.861e-15 0.001464 4.861e-15 
+0.7591 2.929e-15 0.001464 2.929e-15 
 0.6352 -0.1798 0.02913 -0.02825 
 0.4974 -0.3456 0.04281 -0.04252 
 0.3456 -0.4974 0.04252 -0.04281 
 0.1798 -0.6352 0.02825 -0.02913 
--1.610e-15 -0.7591 -1.470e-15 -0.001464 
+-6.181e-15 -0.7591 -6.042e-15 -0.001464 
 
-0.7968 4.861e-15 0.001464 4.861e-15 
+0.7968 2.929e-15 0.001464 2.929e-15 
 0.6626 -0.1845 0.02632 -0.02545 
 0.5158 -0.3564 0.03861 -0.03832 
 0.3564 -0.5158 0.03832 -0.03861 
 0.1845 -0.6626 0.02545 -0.02632 
--1.616e-15 -0.7968 -1.470e-15 -0.001464 
+-6.188e-15 -0.7968 -6.042e-15 -0.001464 
 
-0.8339 3.241e-15 0.0009760 3.241e-15 
+0.8339 1.953e-15 0.0009760 1.953e-15 
 0.6901 -0.1897 0.02372 -0.02313 
 0.5348 -0.3680 0.03499 -0.03480 
 0.3680 -0.5348 0.03480 -0.03499 
 0.1897 -0.6901 0.02313 -0.02372 
--1.133e-15 -0.8339 -9.802e-16 -0.0009760 
+-4.181e-15 -0.8339 -4.028e-15 -0.0009760 
 
 0.8706 0.000 0.000 0.000 
 0.7178 -0.1954 0.02131 -0.02131 
 0.7178 0.1954 0.02131 0.02131 
 0.8706 0.000 0.000 0.000 
 
-1.134e-15 0.9468 1.076e-15 0.0008989 
+-2.697e-15 0.9468 -2.754e-15 0.0008989 
 0.2070 0.7751 0.01780 0.01834 
 0.4052 0.5945 0.02680 0.02698 
 0.5945 0.4052 0.02698 0.02680 
 0.7751 0.2070 0.01834 0.01780 
-0.9468 2.358e-15 0.0008989 2.358e-15 
+0.9468 1.331e-15 0.0008989 1.331e-15 
 
-1.677e-15 1.023 1.614e-15 0.001348 
+-4.069e-15 1.023 -4.132e-15 0.001348 
 0.2191 0.8326 0.01485 0.01566 
 0.4309 0.6354 0.02241 0.02268 
 0.6354 0.4309 0.02268 0.02241 
 0.8326 0.2191 0.01566 0.01485 
-1.023 3.538e-15 0.001348 3.538e-15 
+1.023 1.997e-15 0.001348 1.997e-15 
 
-1.681e-15 1.098 1.614e-15 0.001348 
+-4.065e-15 1.098 -4.132e-15 0.001348 
 0.2317 0.8904 0.01243 0.01324 
 0.4574 0.6769 0.01879 0.01906 
 0.6769 0.4574 0.01906 0.01879 
 0.8904 0.2317 0.01324 0.01243 
-1.098 3.538e-15 0.001348 3.538e-15 
+1.098 1.997e-15 0.001348 1.997e-15 
 
-1.148e-15 1.173 1.076e-15 0.0008989 
+-2.683e-15 1.173 -2.754e-15 0.0008989 
 0.2449 0.9485 0.01057 0.01111 
 0.4846 0.7192 0.01594 0.01612 
 0.7192 0.4846 0.01612 0.01594 
 0.9485 0.2449 0.01111 0.01057 
-1.173 2.358e-15 0.0008989 2.358e-15 
+1.173 1.331e-15 0.0008989 1.331e-15 
 
 7.636e-17 1.247 0.000 0.000 
 0.2587 1.007 0.009242 0.009242 
 -0.1954 0.7178 -0.02131 0.02131 
 5.331e-17 0.8706 0.000 0.000 
 
--0.9468 -1.163e-15 -0.0008989 -1.279e-15 
+-0.9468 1.373e-15 -0.0008989 1.257e-15 
 -0.7751 0.2070 -0.01834 0.01780 
 -0.5945 0.4052 -0.02698 0.02680 
 -0.4052 0.5945 -0.02680 0.02698 
 -0.2070 0.7751 -0.01780 0.01834 
-1.134e-15 0.9468 1.076e-15 0.0008989 
+-2.697e-15 0.9468 -2.754e-15 0.0008989 
 
--1.023 -1.793e-15 -0.001348 -1.918e-15 
+-1.023 2.010e-15 -0.001348 1.885e-15 
 -0.8326 0.2191 -0.01566 0.01485 
 -0.6354 0.4309 -0.02268 0.02241 
 -0.4309 0.6354 -0.02241 0.02268 
 -0.2191 0.8326 -0.01485 0.01566 
-1.677e-15 1.023 1.614e-15 0.001348 
+-4.069e-15 1.023 -4.132e-15 0.001348 
 
--1.098 -1.784e-15 -0.001348 -1.918e-15 
+-1.098 2.020e-15 -0.001348 1.885e-15 
 -0.8904 0.2317 -0.01324 0.01243 
 -0.6769 0.4574 -0.01906 0.01879 
 -0.4574 0.6769 -0.01879 0.01906 
 -0.2317 0.8904 -0.01243 0.01324 
-1.681e-15 1.098 1.614e-15 0.001348 
+-4.065e-15 1.098 -4.132e-15 0.001348 
 
--1.173 -1.135e-15 -0.0008989 -1.279e-15 
+-1.173 1.400e-15 -0.0008989 1.257e-15 
 -0.9485 0.2449 -0.01111 0.01057 
 -0.7192 0.4846 -0.01612 0.01594 
 -0.4846 0.7192 -0.01594 0.01612 
 -0.2449 0.9485 -0.01057 0.01111 
-1.148e-15 1.173 1.076e-15 0.0008989 
+-2.683e-15 1.173 -2.754e-15 0.0008989 
 
 -1.247 1.527e-16 0.000 0.000 
 -1.007 0.2587 -0.009242 0.009242 
 -0.7178 -0.1954 -0.02131 -0.02131 
 -0.8706 1.066e-16 0.000 0.000 
 
-3.706e-16 -0.9468 5.444e-16 -0.0008989 
+-1.420e-15 -0.9468 -1.246e-15 -0.0008989 
 -0.2070 -0.7751 -0.01780 -0.01834 
 -0.4052 -0.5945 -0.02680 -0.02698 
 -0.5945 -0.4052 -0.02698 -0.02680 
 -0.7751 -0.2070 -0.01834 -0.01780 
--0.9468 -1.163e-15 -0.0008989 -1.279e-15 
+-0.9468 1.373e-15 -0.0008989 1.257e-15 
 
-6.290e-16 -1.023 8.165e-16 -0.001348 
+-2.057e-15 -1.023 -1.870e-15 -0.001348 
 -0.2191 -0.8326 -0.01485 -0.01566 
 -0.4309 -0.6354 -0.02241 -0.02268 
 -0.6354 -0.4309 -0.02268 -0.02241 
 -0.8326 -0.2191 -0.01566 -0.01485 
--1.023 -1.793e-15 -0.001348 -1.918e-15 
+-1.023 2.010e-15 -0.001348 1.885e-15 
 
-6.151e-16 -1.098 8.165e-16 -0.001348 
+-2.071e-15 -1.098 -1.870e-15 -0.001348 
 -0.2317 -0.8904 -0.01243 -0.01324 
 -0.4574 -0.6769 -0.01879 -0.01906 
 -0.6769 -0.4574 -0.01906 -0.01879 
 -0.8904 -0.2317 -0.01324 -0.01243 
--1.098 -1.784e-15 -0.001348 -1.918e-15 
+-1.098 2.020e-15 -0.001348 1.885e-15 
 
-3.291e-16 -1.173 5.444e-16 -0.0008989 
+-1.462e-15 -1.173 -1.246e-15 -0.0008989 
 -0.2449 -0.9485 -0.01057 -0.01111 
 -0.4846 -0.7192 -0.01594 -0.01612 
 -0.7192 -0.4846 -0.01612 -0.01594 
 -0.9485 -0.2449 -0.01111 -0.01057 
--1.173 -1.135e-15 -0.0008989 -1.279e-15 
+-1.173 1.400e-15 -0.0008989 1.257e-15 
 
 -2.291e-16 -1.247 0.000 0.000 
 -0.2587 -1.007 -0.009242 -0.009242 
 0.1954 -0.7178 0.02131 -0.02131 
 -1.599e-16 -0.8706 0.000 0.000 
 
-0.9468 2.358e-15 0.0008989 2.358e-15 
+0.9468 1.331e-15 0.0008989 1.331e-15 
 0.7751 -0.2070 0.01834 -0.01780 
 0.5945 -0.4052 0.02698 -0.02680 
 0.4052 -0.5945 0.02680 -0.02698 
 0.2070 -0.7751 0.01780 -0.01834 
-3.706e-16 -0.9468 5.444e-16 -0.0008989 
+-1.420e-15 -0.9468 -1.246e-15 -0.0008989 
 
-1.023 3.538e-15 0.001348 3.538e-15 
+1.023 1.997e-15 0.001348 1.997e-15 
 0.8326 -0.2191 0.01566 -0.01485 
 0.6354 -0.4309 0.02268 -0.02241 
 0.4309 -0.6354 0.02241 -0.02268 
 0.2191 -0.8326 0.01485 -0.01566 
-6.290e-16 -1.023 8.165e-16 -0.001348 
+-2.057e-15 -1.023 -1.870e-15 -0.001348 
 
-1.098 3.538e-15 0.001348 3.538e-15 
+1.098 1.997e-15 0.001348 1.997e-15 
 0.8904 -0.2317 0.01324 -0.01243 
 0.6769 -0.4574 0.01906 -0.01879 
 0.4574 -0.6769 0.01879 -0.01906 
 0.2317 -0.8904 0.01243 -0.01324 
-6.151e-16 -1.098 8.165e-16 -0.001348 
+-2.071e-15 -1.098 -1.870e-15 -0.001348 
 
-1.173 2.358e-15 0.0008989 2.358e-15 
+1.173 1.331e-15 0.0008989 1.331e-15 
 0.9485 -0.2449 0.01111 -0.01057 
 0.7192 -0.4846 0.01612 -0.01594 
 0.4846 -0.7192 0.01594 -0.01612 
 0.2449 -0.9485 0.01057 -0.01111 
-3.291e-16 -1.173 5.444e-16 -0.0008989 
+-1.462e-15 -1.173 -1.246e-15 -0.0008989 
 
 1.247 0.000 0.000 0.000 
 1.007 -0.2587 0.009242 -0.009242 
 1.007 0.2587 0.009242 0.009242 
 1.247 0.000 0.000 0.000 
 
-5.149e-16 1.397 4.293e-16 -0.0002116 
+-4.655e-16 1.397 -5.511e-16 -0.0002116 
 0.2863 1.125 0.006804 0.006677 
 0.5692 0.8487 0.01018 0.01014 
 0.8487 0.5692 0.01014 0.01018 
 1.125 0.2863 0.006677 0.006804 
-1.397 5.029e-16 -0.0002116 5.029e-16 
+1.397 2.906e-16 -0.0002116 2.906e-16 
 
-7.387e-16 1.548 6.439e-16 -0.0003173 
+-7.319e-16 1.548 -8.267e-16 -0.0003173 
 0.3143 1.243 0.004661 0.004470 
 0.6263 0.9358 0.006959 0.006896 
 0.9358 0.6263 0.006896 0.006959 
 1.243 0.3143 0.004470 0.004661 
-1.548 7.544e-16 -0.0003173 7.544e-16 
+1.548 4.359e-16 -0.0003173 4.359e-16 
 
-7.480e-16 1.699 6.439e-16 -0.0003173 
+-7.227e-16 1.699 -8.267e-16 -0.0003173 
 0.3426 1.362 0.002812 0.002622 
 0.6837 1.023 0.004186 0.004123 
 1.023 0.6837 0.004123 0.004186 
 1.362 0.3426 0.002622 0.002812 
-1.699 7.544e-16 -0.0003173 7.544e-16 
+1.699 4.359e-16 -0.0003173 4.359e-16 
 
-5.425e-16 1.849 4.293e-16 -0.0002116 
+-4.379e-16 1.849 -5.511e-16 -0.0002116 
 0.3711 1.481 0.001259 0.001132 
 0.7416 1.111 0.001867 0.001824 
 1.111 0.7416 0.001824 0.001867 
 1.481 0.3711 0.001132 0.001259 
-1.849 5.029e-16 -0.0002116 5.029e-16 
+1.849 2.906e-16 -0.0002116 2.906e-16 
 
 1.225e-16 2.000 0.000 0.000 
 0.4000 1.600 0.000 0.000 
 -0.2587 1.007 -0.009242 0.009242 
 7.636e-17 1.247 0.000 0.000 
 
--1.397 6.292e-17 0.0002116 -1.082e-16 
+-1.397 6.233e-16 0.0002116 4.521e-16 
 -1.125 0.2863 -0.006677 0.006804 
 -0.8487 0.5692 -0.01014 0.01018 
 -0.5692 0.8487 -0.01018 0.01014 
 -0.2863 1.125 -0.006804 0.006677 
-5.149e-16 1.397 4.293e-16 -0.0002116 
+-4.655e-16 1.397 -5.511e-16 -0.0002116 
 
--1.548 2.724e-17 0.0003173 -1.624e-16 
+-1.548 8.677e-16 0.0003173 6.781e-16 
 -1.243 0.3143 -0.004470 0.004661 
 -0.9358 0.6263 -0.006896 0.006959 
 -0.6263 0.9358 -0.006959 0.006896 
 -0.3143 1.243 -0.004661 0.004470 
-7.387e-16 1.548 6.439e-16 -0.0003173 
+-7.319e-16 1.548 -8.267e-16 -0.0003173 
 
--1.699 4.568e-17 0.0003173 -1.624e-16 
+-1.699 8.862e-16 0.0003173 6.781e-16 
 -1.362 0.3426 -0.002622 0.002812 
 -1.023 0.6837 -0.004123 0.004186 
 -0.6837 1.023 -0.004186 0.004123 
 -0.3426 1.362 -0.002812 0.002622 
-7.480e-16 1.699 6.439e-16 -0.0003173 
+-7.227e-16 1.699 -8.267e-16 -0.0003173 
 
--1.849 1.182e-16 0.0002116 -1.082e-16 
+-1.849 6.786e-16 0.0002116 4.521e-16 
 -1.481 0.3711 -0.001132 0.001259 
 -1.111 0.7416 -0.001824 0.001867 
 -0.7416 1.111 -0.001867 0.001824 
 -0.3711 1.481 -0.001259 0.001132 
-5.425e-16 1.849 4.293e-16 -0.0002116 
+-4.379e-16 1.849 -5.511e-16 -0.0002116 
 
 -2.000 2.449e-16 0.000 0.000 
 -1.600 0.4000 0.000 0.000 
 -1.007 -0.2587 -0.009242 -0.009242 
 -1.247 1.527e-16 0.000 0.000 
 
-3.592e-17 -1.397 2.927e-16 0.0002116 
+-3.036e-16 -1.397 -4.687e-17 0.0002116 
 -0.2863 -1.125 -0.006804 -0.006677 
 -0.5692 -0.8487 -0.01018 -0.01014 
 -0.8487 -0.5692 -0.01014 -0.01018 
 -1.125 -0.2863 -0.006677 -0.006804 
--1.397 6.292e-17 0.0002116 -1.082e-16 
+-1.397 6.233e-16 0.0002116 4.521e-16 
 
-1.546e-16 -1.548 4.390e-16 0.0003173 
+-3.547e-16 -1.548 -7.030e-17 0.0003173 
 -0.3143 -1.243 -0.004661 -0.004470 
 -0.6263 -0.9358 -0.006959 -0.006896 
 -0.9358 -0.6263 -0.006896 -0.006959 
 -1.243 -0.3143 -0.004470 -0.004661 
--1.548 2.724e-17 0.0003173 -1.624e-16 
+-1.548 8.677e-16 0.0003173 6.781e-16 
 
-1.269e-16 -1.699 4.390e-16 0.0003173 
+-3.824e-16 -1.699 -7.030e-17 0.0003173 
 -0.3426 -1.362 -0.002812 -0.002622 
 -0.6837 -1.023 -0.004186 -0.004123 
 -1.023 -0.6837 -0.004123 -0.004186 
 -1.362 -0.3426 -0.002622 -0.002812 
--1.699 4.568e-17 0.0003173 -1.624e-16 
+-1.699 8.862e-16 0.0003173 6.781e-16 
 
--4.707e-17 -1.849 2.927e-16 0.0002116 
+-3.866e-16 -1.849 -4.687e-17 0.0002116 
 -0.3711 -1.481 -0.001259 -0.001132 
 -0.7416 -1.111 -0.001867 -0.001824 
 -1.111 -0.7416 -0.001824 -0.001867 
 -1.481 -0.3711 -0.001132 -0.001259 
--1.849 1.182e-16 0.0002116 -1.082e-16 
+-1.849 6.786e-16 0.0002116 4.521e-16 
 
 -3.674e-16 -2.000 0.000 0.000 
 -0.4000 -1.600 0.000 0.000 
 0.2587 -1.007 0.009242 -0.009242 
 -2.291e-16 -1.247 0.000 0.000 
 
-1.397 5.029e-16 -0.0002116 5.029e-16 
+1.397 2.906e-16 -0.0002116 2.906e-16 
 1.125 -0.2863 0.006677 -0.006804 
 0.8487 -0.5692 0.01014 -0.01018 
 0.5692 -0.8487 0.01018 -0.01014 
 0.2863 -1.125 0.006804 -0.006677 
-3.592e-17 -1.397 2.927e-16 0.0002116 
+-3.036e-16 -1.397 -4.687e-17 0.0002116 
 
-1.548 7.544e-16 -0.0003173 7.544e-16 
+1.548 4.359e-16 -0.0003173 4.359e-16 
 1.243 -0.3143 0.004470 -0.004661 
 0.9358 -0.6263 0.006896 -0.006959 
 0.6263 -0.9358 0.006959 -0.006896 
 0.3143 -1.243 0.004661 -0.004470 
-1.546e-16 -1.548 4.390e-16 0.0003173 
+-3.547e-16 -1.548 -7.030e-17 0.0003173 
 
-1.699 7.544e-16 -0.0003173 7.544e-16 
+1.699 4.359e-16 -0.0003173 4.359e-16 
 1.362 -0.3426 0.002622 -0.002812 
 1.023 -0.6837 0.004123 -0.004186 
 0.6837 -1.023 0.004186 -0.004123 
 0.3426 -1.362 0.002812 -0.002622 
-1.269e-16 -1.699 4.390e-16 0.0003173 
+-3.824e-16 -1.699 -7.030e-17 0.0003173 
 
-1.849 5.029e-16 -0.0002116 5.029e-16 
+1.849 2.906e-16 -0.0002116 2.906e-16 
 1.481 -0.3711 0.001132 -0.001259 
 1.111 -0.7416 0.001824 -0.001867 
 0.7416 -1.111 0.001867 -0.001824 
 0.3711 -1.481 0.001259 -0.001132 
--4.707e-17 -1.849 2.927e-16 0.0002116 
+-3.866e-16 -1.849 -4.687e-17 0.0002116 
 
 2.000 0.000 0.000 0.000 
 1.600 -0.4000 0.000 0.000 
index fdbe8e043b81e7f1f63f992f98d7cac77e4da184..5c9ee6ea0c72a0859b6a3fb68deccdb84ca5ccb8 100644 (file)
@@ -11,7 +11,7 @@ DEAL:1d::36.89
 DEAL:1d::9.28
 DEAL:1d::29.81
 DEAL:1d::1.81
-DEAL:1d::472601.03
+DEAL:1d::472600.97
 DEAL:1d::4.28
 DEAL:1d::4.61
 DEAL:1d::2.81
@@ -54,7 +54,7 @@ DEAL:1d::0.00
 DEAL:1d::0.01
 DEAL:1d::0.01
 DEAL:1d::0.01
-DEAL:1d::167089.64
+DEAL:1d::167089.62
 DEAL:1d::0.00
 DEAL:1d::0.23
 DEAL:1d::0.01
@@ -119,7 +119,7 @@ DEAL:1d::50 0.00
 DEAL:1d::51 0.01
 DEAL:1d::52 0.01
 DEAL:1d::53 0.01
-DEAL:1d::54 167089.64
+DEAL:1d::54 167089.62
 DEAL:1d::55 0.00
 DEAL:1d::56 0.23
 DEAL:1d::57 0.01
@@ -141,7 +141,7 @@ DEAL:1d::7 36.89
 DEAL:1d::8 0.00
 DEAL:1d::9 0.00
 DEAL:1d::10 1.81
-DEAL:1d::11 472601.03
+DEAL:1d::11 472600.97
 DEAL:1d::12 0.00
 DEAL:1d::13 0.00
 DEAL:1d::14 2.81
@@ -206,7 +206,7 @@ DEAL:2d::40889.89
 DEAL:2d::48106.73
 DEAL:2d::55.17
 DEAL:2d::48106.73
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::59.65
 DEAL:2d::42.47
 DEAL:2d::40889.89
@@ -218,14 +218,14 @@ DEAL:2d::49.53
 DEAL:2d::49.78
 DEAL:2d::48106.73
 DEAL:2d::42.47
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::35.10
-DEAL:2d::48106.72
-DEAL:2d::40889.89
+DEAL:2d::48106.73
+DEAL:2d::40889.90
 DEAL:2d::33.86
 DEAL:2d::27634.60
 DEAL:2d::15581.87
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::50.83
 DEAL:2d::48106.73
 DEAL:2d::59.65
@@ -247,8 +247,8 @@ DEAL:2d::15581.87
 DEAL:2d::27634.60
 DEAL:2d::50.83
 DEAL:2d::54.04
-DEAL:2d::40889.89
-DEAL:2d::48106.72
+DEAL:2d::40889.90
+DEAL:2d::48106.73
 DEAL:2d::14.62
 DEAL:2d::8.11
 DEAL:2d::13.97
@@ -280,7 +280,7 @@ DEAL:2d::6.67
 DEAL:2d::5.74
 DEAL:2d::10.07
 DEAL:2d::8.19
-DEAL:2d::21735.64
+DEAL:2d::21735.65
 DEAL:2d::8.26
 DEAL:2d::19063.32
 DEAL:2d::6.72
@@ -326,7 +326,7 @@ DEAL:2d::25 0.00
 DEAL:2d::26 0.00
 DEAL:2d::27 0.00
 DEAL:2d::28 0.00
-DEAL:2d::29 40889.89
+DEAL:2d::29 40889.90
 DEAL:2d::30 50.83
 DEAL:2d::31 48106.73
 DEAL:2d::32 59.65
@@ -408,7 +408,7 @@ DEAL:2d::6 0.00
 DEAL:2d::7 0.00
 DEAL:2d::8 0.00
 DEAL:2d::9 48106.73
-DEAL:2d::10 40889.89
+DEAL:2d::10 40889.90
 DEAL:2d::11 59.65
 DEAL:2d::12 42.47
 DEAL:2d::13 40889.89
@@ -550,8 +550,8 @@ DEAL:2d::47 15581.87
 DEAL:2d::48 27634.60
 DEAL:2d::49 50.83
 DEAL:2d::50 54.04
-DEAL:2d::51 40889.89
-DEAL:2d::52 48106.72
+DEAL:2d::51 40889.90
+DEAL:2d::52 48106.73
 DEAL:2d::53 0.00
 DEAL:2d::54 0.00
 DEAL:2d::55 0.00
@@ -583,7 +583,7 @@ DEAL:2d::80 0.00
 DEAL:2d::81 0.00
 DEAL:2d::82 0.00
 DEAL:2d::83 0.00
-DEAL:2d::84 21735.64
+DEAL:2d::84 21735.65
 DEAL:2d::85 8.26
 DEAL:2d::86 19063.32
 DEAL:2d::87 6.72
@@ -622,10 +622,10 @@ DEAL:2d::18 0.00
 DEAL:2d::19 49.78
 DEAL:2d::20 48106.73
 DEAL:2d::21 42.47
-DEAL:2d::22 40889.89
+DEAL:2d::22 40889.90
 DEAL:2d::23 35.10
-DEAL:2d::24 48106.72
-DEAL:2d::25 40889.89
+DEAL:2d::24 48106.73
+DEAL:2d::25 40889.90
 DEAL:2d::26 33.86
 DEAL:2d::27 27634.60
 DEAL:2d::28 15581.87
@@ -702,14 +702,14 @@ DEAL:2d::98 1.08
 DEAL:2d::99 0.96
 DEAL:2d::OK
 DEAL:3d::Estimated error indicators:
-DEAL:3d::7953.36
+DEAL:3d::7953.37
 DEAL:3d::13781.71
 DEAL:3d::20682.11
 DEAL:3d::13781.71
 DEAL:3d::20682.11
 DEAL:3d::331.15
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::20681.84
 DEAL:3d::13781.82
 DEAL:3d::20681.73
@@ -717,7 +717,7 @@ DEAL:3d::13781.82
 DEAL:3d::20681.84
 DEAL:3d::13781.78
 DEAL:3d::20682.15
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::13781.71
 DEAL:3d::20682.15
 DEAL:3d::361.20
@@ -725,7 +725,7 @@ DEAL:3d::13781.71
 DEAL:3d::20682.15
 DEAL:3d::13781.82
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::341.75
 DEAL:3d::20682.15
 DEAL:3d::20682.04
@@ -734,7 +734,7 @@ DEAL:3d::13781.82
 DEAL:3d::20682.04
 DEAL:3d::20682.15
 DEAL:3d::370.94
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::13781.82
 DEAL:3d::13781.82
 DEAL:3d::20682.15
@@ -743,7 +743,7 @@ DEAL:3d::13781.82
 DEAL:3d::341.75
 DEAL:3d::20682.15
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::20682.15
 DEAL:3d::13781.82
 DEAL:3d::20682.15
@@ -752,7 +752,7 @@ DEAL:3d::13781.82
 DEAL:3d::20682.04
 DEAL:3d::13781.82
 DEAL:3d::20682.15
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::13781.82
 DEAL:3d::370.94
 DEAL:3d::20682.15
@@ -761,7 +761,7 @@ DEAL:3d::13781.82
 DEAL:3d::20682.15
 DEAL:3d::13781.82
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::2334.15
 DEAL:3d::4139.65
 DEAL:3d::2746.12
@@ -770,7 +770,7 @@ DEAL:3d::4139.65
 DEAL:3d::26.72
 DEAL:3d::4870.27
 DEAL:3d::33.21
-DEAL:3d::6125.27
+DEAL:3d::6125.28
 DEAL:3d::7206.35
 DEAL:3d::30.93
 DEAL:3d::39.67
@@ -788,14 +788,14 @@ DEAL:3d::71.87
 DEAL:3d::54.55
 DEAL:3d::30.93
 DEAL:3d::39.67
-DEAL:3d::6125.27
+DEAL:3d::6125.28
 DEAL:3d::7206.35
 DEAL:3d::39.67
 DEAL:3d::50.24
 DEAL:3d::7206.35
 DEAL:3d::8478.24
 DEAL:3d::Subdomain id=0
-DEAL:3d::0 7953.36
+DEAL:3d::0 7953.37
 DEAL:3d::1 13781.71
 DEAL:3d::2 20682.11
 DEAL:3d::3 13781.71
@@ -863,7 +863,7 @@ DEAL:3d::64 4139.65
 DEAL:3d::65 26.72
 DEAL:3d::66 4870.27
 DEAL:3d::67 33.21
-DEAL:3d::68 6125.27
+DEAL:3d::68 6125.28
 DEAL:3d::69 7206.35
 DEAL:3d::70 30.93
 DEAL:3d::71 39.67
@@ -895,7 +895,7 @@ DEAL:3d::3 0.00
 DEAL:3d::4 0.00
 DEAL:3d::5 0.00
 DEAL:3d::6 13781.82
-DEAL:3d::7 7953.40
+DEAL:3d::7 7953.41
 DEAL:3d::8 20681.84
 DEAL:3d::9 13781.82
 DEAL:3d::10 20681.73
@@ -996,7 +996,7 @@ DEAL:3d::11 0.00
 DEAL:3d::12 0.00
 DEAL:3d::13 13781.78
 DEAL:3d::14 20682.15
-DEAL:3d::15 7953.40
+DEAL:3d::15 7953.41
 DEAL:3d::16 13781.71
 DEAL:3d::17 20682.15
 DEAL:3d::18 361.20
@@ -1067,7 +1067,7 @@ DEAL:3d::82 0.00
 DEAL:3d::83 0.00
 DEAL:3d::84 30.93
 DEAL:3d::85 39.67
-DEAL:3d::86 6125.27
+DEAL:3d::86 6125.28
 DEAL:3d::87 7206.35
 DEAL:3d::88 39.67
 DEAL:3d::89 50.24
@@ -1097,7 +1097,7 @@ DEAL:3d::19 0.00
 DEAL:3d::20 20682.15
 DEAL:3d::21 13781.82
 DEAL:3d::22 13781.82
-DEAL:3d::23 7953.40
+DEAL:3d::23 7953.41
 DEAL:3d::24 341.75
 DEAL:3d::25 20682.15
 DEAL:3d::26 20682.04
@@ -1199,7 +1199,7 @@ DEAL:3d::28 13781.82
 DEAL:3d::29 20682.04
 DEAL:3d::30 20682.15
 DEAL:3d::31 370.94
-DEAL:3d::32 7953.40
+DEAL:3d::32 7953.41
 DEAL:3d::33 13781.82
 DEAL:3d::34 13781.82
 DEAL:3d::35 20682.15
@@ -1301,7 +1301,7 @@ DEAL:3d::37 13781.82
 DEAL:3d::38 341.75
 DEAL:3d::39 20682.15
 DEAL:3d::40 13781.82
-DEAL:3d::41 7953.40
+DEAL:3d::41 7953.41
 DEAL:3d::42 20682.15
 DEAL:3d::43 13781.82
 DEAL:3d::44 0.00
@@ -1403,7 +1403,7 @@ DEAL:3d::46 13781.82
 DEAL:3d::47 20682.04
 DEAL:3d::48 13781.82
 DEAL:3d::49 20682.15
-DEAL:3d::50 7953.40
+DEAL:3d::50 7953.41
 DEAL:3d::51 13781.82
 DEAL:3d::52 0.00
 DEAL:3d::53 0.00
@@ -1505,7 +1505,7 @@ DEAL:3d::55 13781.82
 DEAL:3d::56 20682.15
 DEAL:3d::57 13781.82
 DEAL:3d::58 13781.82
-DEAL:3d::59 7953.40
+DEAL:3d::59 7953.41
 DEAL:3d::60 0.00
 DEAL:3d::61 0.00
 DEAL:3d::62 0.00
index 1e4ff6610ae75423581ca6d8762c4f11209671e1..dc924e3829b9076eeea7e760fc120f1ce4f883a5 100644 (file)
@@ -11,7 +11,7 @@ DEAL:1d::36.89
 DEAL:1d::9.28
 DEAL:1d::29.81
 DEAL:1d::1.81
-DEAL:1d::472601.03
+DEAL:1d::472600.97
 DEAL:1d::4.28
 DEAL:1d::4.61
 DEAL:1d::2.81
@@ -54,7 +54,7 @@ DEAL:1d::0.00
 DEAL:1d::0.01
 DEAL:1d::0.01
 DEAL:1d::0.01
-DEAL:1d::167089.64
+DEAL:1d::167089.62
 DEAL:1d::0.00
 DEAL:1d::0.23
 DEAL:1d::0.01
@@ -119,7 +119,7 @@ DEAL:1d::50 0.00
 DEAL:1d::51 0.01
 DEAL:1d::52 0.01
 DEAL:1d::53 0.01
-DEAL:1d::54 167089.64
+DEAL:1d::54 167089.62
 DEAL:1d::55 0.00
 DEAL:1d::56 0.23
 DEAL:1d::57 0.01
@@ -141,7 +141,7 @@ DEAL:1d::7 36.89
 DEAL:1d::8 0.00
 DEAL:1d::9 0.00
 DEAL:1d::10 1.81
-DEAL:1d::11 472601.03
+DEAL:1d::11 472600.97
 DEAL:1d::12 0.00
 DEAL:1d::13 0.00
 DEAL:1d::14 2.81
@@ -206,7 +206,7 @@ DEAL:2d::40889.89
 DEAL:2d::48106.73
 DEAL:2d::55.17
 DEAL:2d::48106.73
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::59.65
 DEAL:2d::42.47
 DEAL:2d::40889.89
@@ -218,14 +218,14 @@ DEAL:2d::49.53
 DEAL:2d::49.78
 DEAL:2d::48106.73
 DEAL:2d::42.47
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::35.10
-DEAL:2d::48106.72
-DEAL:2d::40889.89
+DEAL:2d::48106.73
+DEAL:2d::40889.90
 DEAL:2d::33.86
 DEAL:2d::27634.60
 DEAL:2d::15581.87
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::50.83
 DEAL:2d::48106.73
 DEAL:2d::59.65
@@ -247,8 +247,8 @@ DEAL:2d::15581.87
 DEAL:2d::27634.60
 DEAL:2d::50.83
 DEAL:2d::54.04
-DEAL:2d::40889.89
-DEAL:2d::48106.72
+DEAL:2d::40889.90
+DEAL:2d::48106.73
 DEAL:2d::14.62
 DEAL:2d::8.11
 DEAL:2d::13.97
@@ -280,7 +280,7 @@ DEAL:2d::6.67
 DEAL:2d::5.74
 DEAL:2d::10.07
 DEAL:2d::8.19
-DEAL:2d::21735.64
+DEAL:2d::21735.65
 DEAL:2d::8.26
 DEAL:2d::19063.32
 DEAL:2d::6.72
@@ -326,7 +326,7 @@ DEAL:2d::25 0.00
 DEAL:2d::26 0.00
 DEAL:2d::27 0.00
 DEAL:2d::28 0.00
-DEAL:2d::29 40889.89
+DEAL:2d::29 40889.90
 DEAL:2d::30 50.83
 DEAL:2d::31 48106.73
 DEAL:2d::32 59.65
@@ -408,7 +408,7 @@ DEAL:2d::6 0.00
 DEAL:2d::7 0.00
 DEAL:2d::8 0.00
 DEAL:2d::9 48106.73
-DEAL:2d::10 40889.89
+DEAL:2d::10 40889.90
 DEAL:2d::11 59.65
 DEAL:2d::12 42.47
 DEAL:2d::13 40889.89
@@ -550,8 +550,8 @@ DEAL:2d::47 15581.87
 DEAL:2d::48 27634.60
 DEAL:2d::49 50.83
 DEAL:2d::50 54.04
-DEAL:2d::51 40889.89
-DEAL:2d::52 48106.72
+DEAL:2d::51 40889.90
+DEAL:2d::52 48106.73
 DEAL:2d::53 0.00
 DEAL:2d::54 0.00
 DEAL:2d::55 0.00
@@ -583,7 +583,7 @@ DEAL:2d::80 0.00
 DEAL:2d::81 0.00
 DEAL:2d::82 0.00
 DEAL:2d::83 0.00
-DEAL:2d::84 21735.64
+DEAL:2d::84 21735.65
 DEAL:2d::85 8.26
 DEAL:2d::86 19063.32
 DEAL:2d::87 6.72
@@ -622,10 +622,10 @@ DEAL:2d::18 0.00
 DEAL:2d::19 49.78
 DEAL:2d::20 48106.73
 DEAL:2d::21 42.47
-DEAL:2d::22 40889.89
+DEAL:2d::22 40889.90
 DEAL:2d::23 35.10
-DEAL:2d::24 48106.72
-DEAL:2d::25 40889.89
+DEAL:2d::24 48106.73
+DEAL:2d::25 40889.90
 DEAL:2d::26 33.86
 DEAL:2d::27 27634.60
 DEAL:2d::28 15581.87
@@ -702,14 +702,14 @@ DEAL:2d::98 1.08
 DEAL:2d::99 0.96
 DEAL:2d::OK
 DEAL:3d::Estimated error indicators:
-DEAL:3d::7953.36
+DEAL:3d::7953.37
 DEAL:3d::13781.71
 DEAL:3d::20682.11
 DEAL:3d::13781.71
 DEAL:3d::20682.11
 DEAL:3d::331.15
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::20681.84
 DEAL:3d::13781.82
 DEAL:3d::20681.73
@@ -717,7 +717,7 @@ DEAL:3d::13781.82
 DEAL:3d::20681.84
 DEAL:3d::13781.78
 DEAL:3d::20682.15
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::13781.71
 DEAL:3d::20682.15
 DEAL:3d::361.20
@@ -725,7 +725,7 @@ DEAL:3d::13781.71
 DEAL:3d::20682.15
 DEAL:3d::13781.82
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::341.75
 DEAL:3d::20682.15
 DEAL:3d::20682.04
@@ -734,7 +734,7 @@ DEAL:3d::13781.82
 DEAL:3d::20682.04
 DEAL:3d::20682.15
 DEAL:3d::370.94
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::13781.82
 DEAL:3d::13781.82
 DEAL:3d::20682.15
@@ -743,7 +743,7 @@ DEAL:3d::13781.82
 DEAL:3d::341.75
 DEAL:3d::20682.15
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::20682.15
 DEAL:3d::13781.82
 DEAL:3d::20682.15
@@ -752,7 +752,7 @@ DEAL:3d::13781.82
 DEAL:3d::20682.04
 DEAL:3d::13781.82
 DEAL:3d::20682.15
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::13781.82
 DEAL:3d::370.94
 DEAL:3d::20682.15
@@ -761,7 +761,7 @@ DEAL:3d::13781.82
 DEAL:3d::20682.15
 DEAL:3d::13781.82
 DEAL:3d::13781.82
-DEAL:3d::7953.40
+DEAL:3d::7953.41
 DEAL:3d::2334.15
 DEAL:3d::4139.65
 DEAL:3d::2746.12
@@ -770,7 +770,7 @@ DEAL:3d::4139.65
 DEAL:3d::26.72
 DEAL:3d::4870.27
 DEAL:3d::33.21
-DEAL:3d::6125.27
+DEAL:3d::6125.28
 DEAL:3d::7206.35
 DEAL:3d::30.93
 DEAL:3d::39.67
@@ -788,14 +788,14 @@ DEAL:3d::71.87
 DEAL:3d::54.55
 DEAL:3d::30.93
 DEAL:3d::39.67
-DEAL:3d::6125.27
+DEAL:3d::6125.28
 DEAL:3d::7206.35
 DEAL:3d::39.67
 DEAL:3d::50.24
 DEAL:3d::7206.35
 DEAL:3d::8478.24
 DEAL:3d::Material id=0
-DEAL:3d::0 7953.36
+DEAL:3d::0 7953.37
 DEAL:3d::1 13781.71
 DEAL:3d::2 20682.11
 DEAL:3d::3 13781.71
@@ -863,7 +863,7 @@ DEAL:3d::64 4139.65
 DEAL:3d::65 26.72
 DEAL:3d::66 4870.27
 DEAL:3d::67 33.21
-DEAL:3d::68 6125.27
+DEAL:3d::68 6125.28
 DEAL:3d::69 7206.35
 DEAL:3d::70 30.93
 DEAL:3d::71 39.67
@@ -895,7 +895,7 @@ DEAL:3d::3 0.00
 DEAL:3d::4 0.00
 DEAL:3d::5 0.00
 DEAL:3d::6 13781.82
-DEAL:3d::7 7953.40
+DEAL:3d::7 7953.41
 DEAL:3d::8 20681.84
 DEAL:3d::9 13781.82
 DEAL:3d::10 20681.73
@@ -996,7 +996,7 @@ DEAL:3d::11 0.00
 DEAL:3d::12 0.00
 DEAL:3d::13 13781.78
 DEAL:3d::14 20682.15
-DEAL:3d::15 7953.40
+DEAL:3d::15 7953.41
 DEAL:3d::16 13781.71
 DEAL:3d::17 20682.15
 DEAL:3d::18 361.20
@@ -1067,7 +1067,7 @@ DEAL:3d::82 0.00
 DEAL:3d::83 0.00
 DEAL:3d::84 30.93
 DEAL:3d::85 39.67
-DEAL:3d::86 6125.27
+DEAL:3d::86 6125.28
 DEAL:3d::87 7206.35
 DEAL:3d::88 39.67
 DEAL:3d::89 50.24
@@ -1097,7 +1097,7 @@ DEAL:3d::19 0.00
 DEAL:3d::20 20682.15
 DEAL:3d::21 13781.82
 DEAL:3d::22 13781.82
-DEAL:3d::23 7953.40
+DEAL:3d::23 7953.41
 DEAL:3d::24 341.75
 DEAL:3d::25 20682.15
 DEAL:3d::26 20682.04
@@ -1199,7 +1199,7 @@ DEAL:3d::28 13781.82
 DEAL:3d::29 20682.04
 DEAL:3d::30 20682.15
 DEAL:3d::31 370.94
-DEAL:3d::32 7953.40
+DEAL:3d::32 7953.41
 DEAL:3d::33 13781.82
 DEAL:3d::34 13781.82
 DEAL:3d::35 20682.15
@@ -1301,7 +1301,7 @@ DEAL:3d::37 13781.82
 DEAL:3d::38 341.75
 DEAL:3d::39 20682.15
 DEAL:3d::40 13781.82
-DEAL:3d::41 7953.40
+DEAL:3d::41 7953.41
 DEAL:3d::42 20682.15
 DEAL:3d::43 13781.82
 DEAL:3d::44 0.00
@@ -1403,7 +1403,7 @@ DEAL:3d::46 13781.82
 DEAL:3d::47 20682.04
 DEAL:3d::48 13781.82
 DEAL:3d::49 20682.15
-DEAL:3d::50 7953.40
+DEAL:3d::50 7953.41
 DEAL:3d::51 13781.82
 DEAL:3d::52 0.00
 DEAL:3d::53 0.00
@@ -1505,7 +1505,7 @@ DEAL:3d::55 13781.82
 DEAL:3d::56 20682.15
 DEAL:3d::57 13781.82
 DEAL:3d::58 13781.82
-DEAL:3d::59 7953.40
+DEAL:3d::59 7953.41
 DEAL:3d::60 0.00
 DEAL:3d::61 0.00
 DEAL:3d::62 0.00
index e668b8c24fa9db058742443b96d2147c670f6c48..df1b830cea8972a9889e559928471c6d2c7f535c 100644 (file)
@@ -1,6 +1,6 @@
 
 DEAL:cg::Starting value 161.547
-DEAL:cg::Convergence step 3 value 3.41038e-14
+DEAL:cg::Convergence step 3 value 3.24136e-14
 # vtk DataFile Version 3.0
 #This file was generated 
 ASCII
@@ -75,7 +75,7 @@ CELL_TYPES 20
 POINT_DATA 40
 SCALARS linear_potential double 1
 LOOKUP_TABLE default
-3.55271e-15 3.55271e-15 5.09391 5.09391 9.68919 9.68919 13.3360 13.3360 15.6774 15.6774 16.4842 16.4842 15.6774 15.6774 13.3360 13.3360 9.68919 9.68919 5.09391 5.09391 1.77636e-15 1.77636e-15 -5.09391 -5.09391 -9.68919 -9.68919 -13.3360 -13.3360 -15.6774 -15.6774 -16.4842 -16.4842 -15.6774 -15.6774 -13.3360 -13.3360 -9.68919 -9.68919 -5.09391 -5.09391 
+3.77476e-15 3.77476e-15 5.09391 5.09391 9.68919 9.68919 13.3360 13.3360 15.6774 15.6774 16.4842 16.4842 15.6774 15.6774 13.3360 13.3360 9.68919 9.68919 5.09391 5.09391 1.77636e-15 1.77636e-15 -5.09391 -5.09391 -9.68919 -9.68919 -13.3360 -13.3360 -15.6774 -15.6774 -16.4842 -16.4842 -15.6774 -15.6774 -13.3360 -13.3360 -9.68919 -9.68919 -5.09391 -5.09391 
 SCALARS tangential_velocity double 1
 LOOKUP_TABLE default
 2.61582 2.61582 2.35976 2.35976 1.87272 1.87272 1.20236 1.20236 0.414305 0.414305 -0.414305 -0.414305 -1.20236 -1.20236 -1.87272 -1.87272 -2.35976 -2.35976 -2.61582 -2.61582 -2.61582 -2.61582 -2.35976 -2.35976 -1.87272 -1.87272 -1.20236 -1.20236 -0.414305 -0.414305 0.414305 0.414305 1.20236 1.20236 1.87272 1.87272 2.35976 2.35976 2.61582 2.61582 
@@ -83,7 +83,7 @@ SCALARS error double 1
 LOOKUP_TABLE default
 0.640440 0.640440 0.577749 0.577749 0.458505 0.458505 0.294378 0.294378 0.101436 0.101436 -0.101436 -0.101436 -0.294378 -0.294378 -0.458505 -0.458505 -0.577749 -0.577749 -0.640440 -0.640440 -0.640440 -0.640440 -0.577749 -0.577749 -0.458505 -0.458505 -0.294378 -0.294378 -0.101436 -0.101436 0.101436 0.101436 0.294378 0.294378 0.458505 0.458505 0.577749 0.577749 0.640440 0.640440 
 DEAL:cg::Starting value 92.6578
-DEAL:cg::Convergence step 2 value 6.80338e-13
+DEAL:cg::Convergence step 2 value 6.80340e-13
 # vtk DataFile Version 3.0
 #This file was generated 
 ASCII
@@ -218,7 +218,7 @@ CELL_TYPES 40
 POINT_DATA 80
 SCALARS linear_potential double 1
 LOOKUP_TABLE default
-0.00000 0.00000 2.07761 2.07761 4.10406 4.10406 6.02946 6.02946 7.80639 7.80639 9.39110 9.39110 10.7446 10.7446 11.8335 11.8335 12.6310 12.6310 13.1175 13.1175 13.2810 13.2810 13.1175 13.1175 12.6310 12.6310 11.8335 11.8335 10.7446 10.7446 9.39110 9.39110 7.80639 7.80639 6.02946 6.02946 4.10406 4.10406 2.07761 2.07761 7.77156e-16 7.77156e-16 -2.07761 -2.07761 -4.10406 -4.10406 -6.02946 -6.02946 -7.80639 -7.80639 -9.39110 -9.39110 -10.7446 -10.7446 -11.8335 -11.8335 -12.6310 -12.6310 -13.1175 -13.1175 -13.2810 -13.2810 -13.1175 -13.1175 -12.6310 -12.6310 -11.8335 -11.8335 -10.7446 -10.7446 -9.39110 -9.39110 -7.80639 -7.80639 -6.02946 -6.02946 -4.10406 -4.10406 -2.07761 -2.07761 
+-2.22045e-16 -2.22045e-16 2.07761 2.07761 4.10406 4.10406 6.02946 6.02946 7.80639 7.80639 9.39110 9.39110 10.7446 10.7446 11.8335 11.8335 12.6310 12.6310 13.1175 13.1175 13.2810 13.2810 13.1175 13.1175 12.6310 12.6310 11.8335 11.8335 10.7446 10.7446 9.39110 9.39110 7.80639 7.80639 6.02946 6.02946 4.10406 4.10406 2.07761 2.07761 8.88178e-16 8.88178e-16 -2.07761 -2.07761 -4.10406 -4.10406 -6.02946 -6.02946 -7.80639 -7.80639 -9.39110 -9.39110 -10.7446 -10.7446 -11.8335 -11.8335 -12.6310 -12.6310 -13.1175 -13.1175 -13.2810 -13.2810 -13.1175 -13.1175 -12.6310 -12.6310 -11.8335 -11.8335 -10.7446 -10.7446 -9.39110 -9.39110 -7.80639 -7.80639 -6.02946 -6.02946 -4.10406 -4.10406 -2.07761 -2.07761 
 SCALARS tangential_velocity double 1
 LOOKUP_TABLE default
 2.32093 2.32093 2.26378 2.26378 2.15089 2.15089 1.98503 1.98503 1.77030 1.77030 1.51198 1.51198 1.21643 1.21643 0.890926 0.890926 0.543485 0.543485 0.182661 0.182661 -0.182661 -0.182661 -0.543485 -0.543485 -0.890926 -0.890926 -1.21643 -1.21643 -1.51198 -1.51198 -1.77030 -1.77030 -1.98503 -1.98503 -2.15089 -2.15089 -2.26378 -2.26378 -2.32093 -2.32093 -2.32093 -2.32093 -2.26378 -2.26378 -2.15089 -2.15089 -1.98503 -1.98503 -1.77030 -1.77030 -1.51198 -1.51198 -1.21643 -1.21643 -0.890926 -0.890926 -0.543485 -0.543485 -0.182661 -0.182661 0.182661 0.182661 0.543485 0.543485 0.890926 0.890926 1.21643 1.21643 1.51198 1.51198 1.77030 1.77030 1.98503 1.98503 2.15089 2.15089 2.26378 2.26378 2.32093 2.32093 
@@ -226,7 +226,7 @@ SCALARS error double 1
 LOOKUP_TABLE default
 0.327091 0.327091 0.319037 0.319037 0.303127 0.303127 0.279753 0.279753 0.249491 0.249491 0.213085 0.213085 0.171433 0.171433 0.125559 0.125559 0.0765940 0.0765940 0.0257426 0.0257426 -0.0257426 -0.0257426 -0.0765940 -0.0765940 -0.125559 -0.125559 -0.171433 -0.171433 -0.213085 -0.213085 -0.249491 -0.249491 -0.279753 -0.279753 -0.303127 -0.303127 -0.319037 -0.319037 -0.327091 -0.327091 -0.327091 -0.327091 -0.319037 -0.319037 -0.303127 -0.303127 -0.279753 -0.279753 -0.249491 -0.249491 -0.213085 -0.213085 -0.171433 -0.171433 -0.125559 -0.125559 -0.0765940 -0.0765940 -0.0257426 -0.0257426 0.0257426 0.0257426 0.0765940 0.0765940 0.125559 0.125559 0.171433 0.171433 0.213085 0.213085 0.249491 0.249491 0.279753 0.279753 0.303127 0.303127 0.319037 0.319037 0.327091 0.327091 
 DEAL:cg::Starting value 57.6585
-DEAL:cg::Convergence step 2 value 2.81869e-13
+DEAL:cg::Convergence step 2 value 2.81863e-13
 # vtk DataFile Version 3.0
 #This file was generated 
 ASCII
@@ -481,7 +481,7 @@ CELL_TYPES 80
 POINT_DATA 160
 SCALARS linear_potential double 1
 LOOKUP_TABLE default
--8.32667e-16 -8.32667e-16 0.913864 0.913864 1.82209 1.82209 2.71909 2.71909 3.59932 3.59932 4.45736 4.45736 5.28792 5.28792 6.08588 6.08588 6.84632 6.84632 7.56454 7.56454 8.23613 8.23613 8.85694 8.85694 9.42315 9.42315 9.93125 9.93125 10.3781 10.3781 10.7610 10.7610 11.0776 11.0776 11.3258 11.3258 11.5042 11.5042 11.6117 11.6117 11.6476 11.6476 11.6117 11.6117 11.5042 11.5042 11.3258 11.3258 11.0776 11.0776 10.7610 10.7610 10.3781 10.3781 9.93125 9.93125 9.42315 9.42315 8.85694 8.85694 8.23613 8.23613 7.56454 7.56454 6.84632 6.84632 6.08588 6.08588 5.28792 5.28792 4.45736 4.45736 3.59932 3.59932 2.71909 2.71909 1.82209 1.82209 0.913864 0.913864 1.72085e-15 1.72085e-15 -0.913864 -0.913864 -1.82209 -1.82209 -2.71909 -2.71909 -3.59932 -3.59932 -4.45736 -4.45736 -5.28792 -5.28792 -6.08588 -6.08588 -6.84632 -6.84632 -7.56454 -7.56454 -8.23613 -8.23613 -8.85694 -8.85694 -9.42315 -9.42315 -9.93125 -9.93125 -10.3781 -10.3781 -10.7610 -10.7610 -11.0776 -11.0776 -11.3258 -11.3258 -11.5042 -11.5042 -11.6117 -11.6117 -11.6476 -11.6476 -11.6117 -11.6117 -11.5042 -11.5042 -11.3258 -11.3258 -11.0776 -11.0776 -10.7610 -10.7610 -10.3781 -10.3781 -9.93125 -9.93125 -9.42315 -9.42315 -8.85694 -8.85694 -8.23613 -8.23613 -7.56454 -7.56454 -6.84632 -6.84632 -6.08588 -6.08588 -5.28792 -5.28792 -4.45736 -4.45736 -3.59932 -3.59932 -2.71909 -2.71909 -1.82209 -1.82209 -0.913864 -0.913864 
+-8.04912e-16 -8.04912e-16 0.913864 0.913864 1.82209 1.82209 2.71909 2.71909 3.59932 3.59932 4.45736 4.45736 5.28792 5.28792 6.08588 6.08588 6.84632 6.84632 7.56454 7.56454 8.23613 8.23613 8.85694 8.85694 9.42315 9.42315 9.93125 9.93125 10.3781 10.3781 10.7610 10.7610 11.0776 11.0776 11.3258 11.3258 11.5042 11.5042 11.6117 11.6117 11.6476 11.6476 11.6117 11.6117 11.5042 11.5042 11.3258 11.3258 11.0776 11.0776 10.7610 10.7610 10.3781 10.3781 9.93125 9.93125 9.42315 9.42315 8.85694 8.85694 8.23613 8.23613 7.56454 7.56454 6.84632 6.84632 6.08588 6.08588 5.28792 5.28792 4.45736 4.45736 3.59932 3.59932 2.71909 2.71909 1.82209 1.82209 0.913864 0.913864 1.69309e-15 1.69309e-15 -0.913864 -0.913864 -1.82209 -1.82209 -2.71909 -2.71909 -3.59932 -3.59932 -4.45736 -4.45736 -5.28792 -5.28792 -6.08588 -6.08588 -6.84632 -6.84632 -7.56454 -7.56454 -8.23613 -8.23613 -8.85694 -8.85694 -9.42315 -9.42315 -9.93125 -9.93125 -10.3781 -10.3781 -10.7610 -10.7610 -11.0776 -11.0776 -11.3258 -11.3258 -11.5042 -11.5042 -11.6117 -11.6117 -11.6476 -11.6476 -11.6117 -11.6117 -11.5042 -11.5042 -11.3258 -11.3258 -11.0776 -11.0776 -10.7610 -10.7610 -10.3781 -10.3781 -9.93125 -9.93125 -9.42315 -9.42315 -8.85694 -8.85694 -8.23613 -8.23613 -7.56454 -7.56454 -6.84632 -6.84632 -6.08588 -6.08588 -5.28792 -5.28792 -4.45736 -4.45736 -3.59932 -3.59932 -2.71909 -2.71909 -1.82209 -1.82209 -0.913864 -0.913864 
 SCALARS tangential_velocity double 1
 LOOKUP_TABLE default
 2.16310 2.16310 2.14976 2.14976 2.12317 2.12317 2.08349 2.08349 2.03096 2.03096 1.96592 1.96592 1.88875 1.88875 1.79994 1.79994 1.70003 1.70003 1.58964 1.58964 1.46944 1.46944 1.34019 1.34019 1.20268 1.20268 1.05775 1.05775 0.906300 0.906300 0.749262 0.749262 0.587605 0.587605 0.422325 0.422325 0.254441 0.254441 0.0849883 0.0849883 -0.0849883 -0.0849883 -0.254441 -0.254441 -0.422325 -0.422325 -0.587605 -0.587605 -0.749262 -0.749262 -0.906300 -0.906300 -1.05775 -1.05775 -1.20268 -1.20268 -1.34019 -1.34019 -1.46944 -1.46944 -1.58964 -1.58964 -1.70003 -1.70003 -1.79994 -1.79994 -1.88875 -1.88875 -1.96592 -1.96592 -2.03096 -2.03096 -2.08349 -2.08349 -2.12317 -2.12317 -2.14976 -2.14976 -2.16310 -2.16310 -2.16310 -2.16310 -2.14976 -2.14976 -2.12317 -2.12317 -2.08349 -2.08349 -2.03096 -2.03096 -1.96592 -1.96592 -1.88875 -1.88875 -1.79994 -1.79994 -1.70003 -1.70003 -1.58964 -1.58964 -1.46944 -1.46944 -1.34019 -1.34019 -1.20268 -1.20268 -1.05775 -1.05775 -0.906300 -0.906300 -0.749262 -0.749262 -0.587605 -0.587605 -0.422325 -0.422325 -0.254441 -0.254441 -0.0849883 -0.0849883 0.0849883 0.0849883 0.254441 0.254441 0.422325 0.422325 0.587605 0.587605 0.749262 0.749262 0.906300 0.906300 1.05775 1.05775 1.20268 1.20268 1.34019 1.34019 1.46944 1.46944 1.58964 1.58964 1.70003 1.70003 1.79994 1.79994 1.88875 1.88875 1.96592 1.96592 2.03096 2.03096 2.08349 2.08349 2.12317 2.12317 2.14976 2.14976 2.16310 2.16310 
@@ -489,7 +489,7 @@ SCALARS error double 1
 LOOKUP_TABLE default
 0.164638 0.164638 0.163623 0.163623 0.161599 0.161599 0.158579 0.158579 0.154581 0.154581 0.149630 0.149630 0.143757 0.143757 0.136997 0.136997 0.129393 0.129393 0.120991 0.120991 0.111842 0.111842 0.102005 0.102005 0.0915384 0.0915384 0.0805076 0.0805076 0.0689804 0.0689804 0.0570279 0.0570279 0.0447238 0.0447238 0.0321440 0.0321440 0.0193660 0.0193660 0.00646864 0.00646864 -0.00646864 -0.00646864 -0.0193660 -0.0193660 -0.0321440 -0.0321440 -0.0447238 -0.0447238 -0.0570279 -0.0570279 -0.0689804 -0.0689804 -0.0805076 -0.0805076 -0.0915384 -0.0915384 -0.102005 -0.102005 -0.111842 -0.111842 -0.120991 -0.120991 -0.129393 -0.129393 -0.136997 -0.136997 -0.143757 -0.143757 -0.149630 -0.149630 -0.154581 -0.154581 -0.158579 -0.158579 -0.161599 -0.161599 -0.163623 -0.163623 -0.164638 -0.164638 -0.164638 -0.164638 -0.163623 -0.163623 -0.161599 -0.161599 -0.158579 -0.158579 -0.154581 -0.154581 -0.149630 -0.149630 -0.143757 -0.143757 -0.136997 -0.136997 -0.129393 -0.129393 -0.120991 -0.120991 -0.111842 -0.111842 -0.102005 -0.102005 -0.0915384 -0.0915384 -0.0805076 -0.0805076 -0.0689804 -0.0689804 -0.0570279 -0.0570279 -0.0447238 -0.0447238 -0.0321440 -0.0321440 -0.0193660 -0.0193660 -0.00646864 -0.00646864 0.00646864 0.00646864 0.0193660 0.0193660 0.0321440 0.0321440 0.0447238 0.0447238 0.0570279 0.0570279 0.0689804 0.0689804 0.0805076 0.0805076 0.0915384 0.0915384 0.102005 0.102005 0.111842 0.111842 0.120991 0.120991 0.129393 0.129393 0.136997 0.136997 0.143757 0.143757 0.149630 0.149630 0.154581 0.154581 0.158579 0.158579 0.161599 0.161599 0.163623 0.163623 0.164638 0.164638 
 DEAL:cg::Starting value 37.9574
-DEAL:cg::Convergence step 2 value 1.17261e-13
+DEAL:cg::Convergence step 2 value 1.17257e-13
 # vtk DataFile Version 3.0
 #This file was generated 
 ASCII
@@ -984,7 +984,7 @@ CELL_TYPES 160
 POINT_DATA 320
 SCALARS linear_potential double 1
 LOOKUP_TABLE default
-3.03924e-15 3.03924e-15 0.424999 0.424999 0.849342 0.849342 1.27238 1.27238 1.69345 1.69345 2.11191 2.11191 2.52711 2.52711 2.93842 2.93842 3.34520 3.34520 3.74682 3.74682 4.14266 4.14266 4.53211 4.53211 4.91458 4.91458 5.28947 5.28947 5.65620 5.65620 6.01421 6.01421 6.36295 6.36295 6.70187 6.70187 7.03046 7.03046 7.34821 7.34821 7.65463 7.65463 7.94925 7.94925 8.23161 8.23161 8.50128 8.50128 8.75784 8.75784 9.00090 9.00090 9.23008 9.23008 9.44502 9.44502 9.64540 9.64540 9.83091 9.83091 10.0013 10.0013 10.1562 10.1562 10.2955 10.2955 10.4189 10.4189 10.5262 10.5262 10.6173 10.6173 10.6920 10.6920 10.7503 10.7503 10.7919 10.7919 10.8169 10.8169 10.8253 10.8253 10.8169 10.8169 10.7919 10.7919 10.7503 10.7503 10.6920 10.6920 10.6173 10.6173 10.5262 10.5262 10.4189 10.4189 10.2955 10.2955 10.1562 10.1562 10.0013 10.0013 9.83091 9.83091 9.64540 9.64540 9.44502 9.44502 9.23008 9.23008 9.00090 9.00090 8.75784 8.75784 8.50128 8.50128 8.23161 8.23161 7.94925 7.94925 7.65463 7.65463 7.34821 7.34821 7.03046 7.03046 6.70187 6.70187 6.36295 6.36295 6.01421 6.01421 5.65620 5.65620 5.28947 5.28947 4.91458 4.91458 4.53211 4.53211 4.14266 4.14266 3.74682 3.74682 3.34520 3.34520 2.93842 2.93842 2.52711 2.52711 2.11191 2.11191 1.69345 1.69345 1.27238 1.27238 0.849342 0.849342 0.424999 0.424999 6.52256e-16 6.52256e-16 -0.424999 -0.424999 -0.849342 -0.849342 -1.27238 -1.27238 -1.69345 -1.69345 -2.11191 -2.11191 -2.52711 -2.52711 -2.93842 -2.93842 -3.34520 -3.34520 -3.74682 -3.74682 -4.14266 -4.14266 -4.53211 -4.53211 -4.91458 -4.91458 -5.28947 -5.28947 -5.65620 -5.65620 -6.01421 -6.01421 -6.36295 -6.36295 -6.70187 -6.70187 -7.03046 -7.03046 -7.34821 -7.34821 -7.65463 -7.65463 -7.94925 -7.94925 -8.23161 -8.23161 -8.50128 -8.50128 -8.75784 -8.75784 -9.00090 -9.00090 -9.23008 -9.23008 -9.44502 -9.44502 -9.64540 -9.64540 -9.83091 -9.83091 -10.0013 -10.0013 -10.1562 -10.1562 -10.2955 -10.2955 -10.4189 -10.4189 -10.5262 -10.5262 -10.6173 -10.6173 -10.6920 -10.6920 -10.7503 -10.7503 -10.7919 -10.7919 -10.8169 -10.8169 -10.8253 -10.8253 -10.8169 -10.8169 -10.7919 -10.7919 -10.7503 -10.7503 -10.6920 -10.6920 -10.6173 -10.6173 -10.5262 -10.5262 -10.4189 -10.4189 -10.2955 -10.2955 -10.1562 -10.1562 -10.0013 -10.0013 -9.83091 -9.83091 -9.64540 -9.64540 -9.44502 -9.44502 -9.23008 -9.23008 -9.00090 -9.00090 -8.75784 -8.75784 -8.50128 -8.50128 -8.23161 -8.23161 -7.94925 -7.94925 -7.65463 -7.65463 -7.34821 -7.34821 -7.03046 -7.03046 -6.70187 -6.70187 -6.36295 -6.36295 -6.01421 -6.01421 -5.65620 -5.65620 -5.28947 -5.28947 -4.91458 -4.91458 -4.53211 -4.53211 -4.14266 -4.14266 -3.74682 -3.74682 -3.34520 -3.34520 -2.93842 -2.93842 -2.52711 -2.52711 -2.11191 -2.11191 -1.69345 -1.69345 -1.27238 -1.27238 -0.849342 -0.849342 -0.424999 -0.424999 
+3.05311e-15 3.05311e-15 0.424999 0.424999 0.849342 0.849342 1.27238 1.27238 1.69345 1.69345 2.11191 2.11191 2.52711 2.52711 2.93842 2.93842 3.34520 3.34520 3.74682 3.74682 4.14266 4.14266 4.53211 4.53211 4.91458 4.91458 5.28947 5.28947 5.65620 5.65620 6.01421 6.01421 6.36295 6.36295 6.70187 6.70187 7.03046 7.03046 7.34821 7.34821 7.65463 7.65463 7.94925 7.94925 8.23161 8.23161 8.50128 8.50128 8.75784 8.75784 9.00090 9.00090 9.23008 9.23008 9.44502 9.44502 9.64540 9.64540 9.83091 9.83091 10.0013 10.0013 10.1562 10.1562 10.2955 10.2955 10.4189 10.4189 10.5262 10.5262 10.6173 10.6173 10.6920 10.6920 10.7503 10.7503 10.7919 10.7919 10.8169 10.8169 10.8253 10.8253 10.8169 10.8169 10.7919 10.7919 10.7503 10.7503 10.6920 10.6920 10.6173 10.6173 10.5262 10.5262 10.4189 10.4189 10.2955 10.2955 10.1562 10.1562 10.0013 10.0013 9.83091 9.83091 9.64540 9.64540 9.44502 9.44502 9.23008 9.23008 9.00090 9.00090 8.75784 8.75784 8.50128 8.50128 8.23161 8.23161 7.94925 7.94925 7.65463 7.65463 7.34821 7.34821 7.03046 7.03046 6.70187 6.70187 6.36295 6.36295 6.01421 6.01421 5.65620 5.65620 5.28947 5.28947 4.91458 4.91458 4.53211 4.53211 4.14266 4.14266 3.74682 3.74682 3.34520 3.34520 2.93842 2.93842 2.52711 2.52711 2.11191 2.11191 1.69345 1.69345 1.27238 1.27238 0.849342 0.849342 0.424999 0.424999 6.38378e-16 6.38378e-16 -0.424999 -0.424999 -0.849342 -0.849342 -1.27238 -1.27238 -1.69345 -1.69345 -2.11191 -2.11191 -2.52711 -2.52711 -2.93842 -2.93842 -3.34520 -3.34520 -3.74682 -3.74682 -4.14266 -4.14266 -4.53211 -4.53211 -4.91458 -4.91458 -5.28947 -5.28947 -5.65620 -5.65620 -6.01421 -6.01421 -6.36295 -6.36295 -6.70187 -6.70187 -7.03046 -7.03046 -7.34821 -7.34821 -7.65463 -7.65463 -7.94925 -7.94925 -8.23161 -8.23161 -8.50128 -8.50128 -8.75784 -8.75784 -9.00090 -9.00090 -9.23008 -9.23008 -9.44502 -9.44502 -9.64540 -9.64540 -9.83091 -9.83091 -10.0013 -10.0013 -10.1562 -10.1562 -10.2955 -10.2955 -10.4189 -10.4189 -10.5262 -10.5262 -10.6173 -10.6173 -10.6920 -10.6920 -10.7503 -10.7503 -10.7919 -10.7919 -10.8169 -10.8169 -10.8253 -10.8253 -10.8169 -10.8169 -10.7919 -10.7919 -10.7503 -10.7503 -10.6920 -10.6920 -10.6173 -10.6173 -10.5262 -10.5262 -10.4189 -10.4189 -10.2955 -10.2955 -10.1562 -10.1562 -10.0013 -10.0013 -9.83091 -9.83091 -9.64540 -9.64540 -9.44502 -9.44502 -9.23008 -9.23008 -9.00090 -9.00090 -8.75784 -8.75784 -8.50128 -8.50128 -8.23161 -8.23161 -7.94925 -7.94925 -7.65463 -7.65463 -7.34821 -7.34821 -7.03046 -7.03046 -6.70187 -6.70187 -6.36295 -6.36295 -6.01421 -6.01421 -5.65620 -5.65620 -5.28947 -5.28947 -4.91458 -4.91458 -4.53211 -4.53211 -4.14266 -4.14266 -3.74682 -3.74682 -3.34520 -3.34520 -2.93842 -2.93842 -2.52711 -2.52711 -2.11191 -2.11191 -1.69345 -1.69345 -1.27238 -1.27238 -0.849342 -0.849342 -0.424999 -0.424999 
 SCALARS tangential_velocity double 1
 LOOKUP_TABLE default
 2.08213 2.08213 2.07892 2.07892 2.07250 2.07250 2.06289 2.06289 2.05010 2.05010 2.03414 2.03414 2.01505 2.01505 1.99286 1.99286 1.96759 1.96759 1.93928 1.93928 1.90799 1.90799 1.87375 1.87375 1.83663 1.83663 1.79667 1.79667 1.75394 1.75394 1.70851 1.70851 1.66044 1.66044 1.60982 1.60982 1.55671 1.55671 1.50120 1.50120 1.44337 1.44337 1.38332 1.38332 1.32114 1.32114 1.25692 1.25692 1.19076 1.19076 1.12277 1.12277 1.05305 1.05305 0.981697 0.981697 0.908835 0.908835 0.834571 0.834571 0.759020 0.759020 0.682299 0.682299 0.604526 0.604526 0.525821 0.525821 0.446305 0.446305 0.366101 0.366101 0.285332 0.285332 0.204124 0.204124 0.122600 0.122600 0.0408877 0.0408877 -0.0408877 -0.0408877 -0.122600 -0.122600 -0.204124 -0.204124 -0.285332 -0.285332 -0.366101 -0.366101 -0.446305 -0.446305 -0.525821 -0.525821 -0.604526 -0.604526 -0.682299 -0.682299 -0.759020 -0.759020 -0.834571 -0.834571 -0.908835 -0.908835 -0.981697 -0.981697 -1.05305 -1.05305 -1.12277 -1.12277 -1.19076 -1.19076 -1.25692 -1.25692 -1.32114 -1.32114 -1.38332 -1.38332 -1.44337 -1.44337 -1.50120 -1.50120 -1.55671 -1.55671 -1.60982 -1.60982 -1.66044 -1.66044 -1.70851 -1.70851 -1.75394 -1.75394 -1.79667 -1.79667 -1.83663 -1.83663 -1.87375 -1.87375 -1.90799 -1.90799 -1.93928 -1.93928 -1.96759 -1.96759 -1.99286 -1.99286 -2.01505 -2.01505 -2.03414 -2.03414 -2.05010 -2.05010 -2.06289 -2.06289 -2.07250 -2.07250 -2.07892 -2.07892 -2.08213 -2.08213 -2.08213 -2.08213 -2.07892 -2.07892 -2.07250 -2.07250 -2.06289 -2.06289 -2.05010 -2.05010 -2.03414 -2.03414 -2.01505 -2.01505 -1.99286 -1.99286 -1.96759 -1.96759 -1.93928 -1.93928 -1.90799 -1.90799 -1.87375 -1.87375 -1.83663 -1.83663 -1.79667 -1.79667 -1.75394 -1.75394 -1.70851 -1.70851 -1.66044 -1.66044 -1.60982 -1.60982 -1.55671 -1.55671 -1.50120 -1.50120 -1.44337 -1.44337 -1.38332 -1.38332 -1.32114 -1.32114 -1.25692 -1.25692 -1.19076 -1.19076 -1.12277 -1.12277 -1.05305 -1.05305 -0.981697 -0.981697 -0.908835 -0.908835 -0.834571 -0.834571 -0.759020 -0.759020 -0.682299 -0.682299 -0.604526 -0.604526 -0.525821 -0.525821 -0.446305 -0.446305 -0.366101 -0.366101 -0.285332 -0.285332 -0.204124 -0.204124 -0.122600 -0.122600 -0.0408877 -0.0408877 0.0408877 0.0408877 0.122600 0.122600 0.204124 0.204124 0.285332 0.285332 0.366101 0.366101 0.446305 0.446305 0.525821 0.525821 0.604526 0.604526 0.682299 0.682299 0.759020 0.759020 0.834571 0.834571 0.908835 0.908835 0.981697 0.981697 1.05305 1.05305 1.12277 1.12277 1.19076 1.19076 1.25692 1.25692 1.32114 1.32114 1.38332 1.38332 1.44337 1.44337 1.50120 1.50120 1.55671 1.55671 1.60982 1.60982 1.66044 1.66044 1.70851 1.70851 1.75394 1.75394 1.79667 1.79667 1.83663 1.83663 1.87375 1.87375 1.90799 1.90799 1.93928 1.93928 1.96759 1.96759 1.99286 1.99286 2.01505 2.01505 2.03414 2.03414 2.05010 2.05010 2.06289 2.06289 2.07250 2.07250 2.07892 2.07892 2.08213 2.08213 
index 5753f101d0d1abbf8cfd0726ab8a5ce7516a70a7..6a9bf3b202ddb08f46ea30abe4c7a8d3e091aa77 100644 (file)
@@ -11,7 +11,7 @@ DEAL:1d::36.89
 DEAL:1d::9.28
 DEAL:1d::29.81
 DEAL:1d::1.81
-DEAL:1d::472601.03
+DEAL:1d::472600.97
 DEAL:1d::4.28
 DEAL:1d::4.61
 DEAL:1d::2.81
@@ -54,7 +54,7 @@ DEAL:1d::0.00
 DEAL:1d::0.01
 DEAL:1d::0.01
 DEAL:1d::0.01
-DEAL:1d::167089.64
+DEAL:1d::167089.62
 DEAL:1d::0.00
 DEAL:1d::0.23
 DEAL:1d::0.01
@@ -119,7 +119,7 @@ DEAL:1d::50 0.00
 DEAL:1d::51 0.01
 DEAL:1d::52 0.01
 DEAL:1d::53 0.01
-DEAL:1d::54 167089.64
+DEAL:1d::54 167089.62
 DEAL:1d::55 0.00
 DEAL:1d::56 0.23
 DEAL:1d::57 0.01
@@ -141,7 +141,7 @@ DEAL:1d::7 36.89
 DEAL:1d::8 0.00
 DEAL:1d::9 0.00
 DEAL:1d::10 1.81
-DEAL:1d::11 472601.03
+DEAL:1d::11 472600.97
 DEAL:1d::12 0.00
 DEAL:1d::13 0.00
 DEAL:1d::14 2.81
@@ -336,7 +336,7 @@ DEAL:2d::40889.89
 DEAL:2d::48106.73
 DEAL:2d::55.17
 DEAL:2d::48106.73
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::59.65
 DEAL:2d::42.47
 DEAL:2d::40889.89
@@ -348,14 +348,14 @@ DEAL:2d::49.53
 DEAL:2d::49.78
 DEAL:2d::48106.73
 DEAL:2d::42.47
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::35.10
-DEAL:2d::48106.72
-DEAL:2d::40889.89
+DEAL:2d::48106.73
+DEAL:2d::40889.90
 DEAL:2d::33.86
 DEAL:2d::27634.60
 DEAL:2d::15581.87
-DEAL:2d::40889.89
+DEAL:2d::40889.90
 DEAL:2d::50.83
 DEAL:2d::48106.73
 DEAL:2d::59.65
@@ -377,8 +377,8 @@ DEAL:2d::15581.87
 DEAL:2d::27634.60
 DEAL:2d::50.83
 DEAL:2d::54.04
-DEAL:2d::40889.89
-DEAL:2d::48106.72
+DEAL:2d::40889.90
+DEAL:2d::48106.73
 DEAL:2d::14.62
 DEAL:2d::8.11
 DEAL:2d::13.97
@@ -410,7 +410,7 @@ DEAL:2d::6.67
 DEAL:2d::5.74
 DEAL:2d::10.07
 DEAL:2d::8.19
-DEAL:2d::21735.64
+DEAL:2d::21735.65
 DEAL:2d::8.26
 DEAL:2d::19063.32
 DEAL:2d::6.72
@@ -456,7 +456,7 @@ DEAL:2d::25 0.00
 DEAL:2d::26 0.00
 DEAL:2d::27 0.00
 DEAL:2d::28 0.00
-DEAL:2d::29 40889.89
+DEAL:2d::29 40889.90
 DEAL:2d::30 50.83
 DEAL:2d::31 48106.73
 DEAL:2d::32 59.65
@@ -538,7 +538,7 @@ DEAL:2d::6 0.00
 DEAL:2d::7 0.00
 DEAL:2d::8 0.00
 DEAL:2d::9 48106.73
-DEAL:2d::10 40889.89
+DEAL:2d::10 40889.90
 DEAL:2d::11 59.65
 DEAL:2d::12 42.47
 DEAL:2d::13 40889.89
@@ -680,8 +680,8 @@ DEAL:2d::47 15581.87
 DEAL:2d::48 27634.60
 DEAL:2d::49 50.83
 DEAL:2d::50 54.04
-DEAL:2d::51 40889.89
-DEAL:2d::52 48106.72
+DEAL:2d::51 40889.90
+DEAL:2d::52 48106.73
 DEAL:2d::53 0.00
 DEAL:2d::54 0.00
 DEAL:2d::55 0.00
@@ -713,7 +713,7 @@ DEAL:2d::80 0.00
 DEAL:2d::81 0.00
 DEAL:2d::82 0.00
 DEAL:2d::83 0.00
-DEAL:2d::84 21735.64
+DEAL:2d::84 21735.65
 DEAL:2d::85 8.26
 DEAL:2d::86 19063.32
 DEAL:2d::87 6.72
@@ -752,10 +752,10 @@ DEAL:2d::18 0.00
 DEAL:2d::19 49.78
 DEAL:2d::20 48106.73
 DEAL:2d::21 42.47
-DEAL:2d::22 40889.89
+DEAL:2d::22 40889.90
 DEAL:2d::23 35.10
-DEAL:2d::24 48106.72
-DEAL:2d::25 40889.89
+DEAL:2d::24 48106.73
+DEAL:2d::25 40889.90
 DEAL:2d::26 33.86
 DEAL:2d::27 27634.60
 DEAL:2d::28 15581.87
index a7fe2eba7e02fe0bcf093a2875f465ec9f3d0a75..334168572462d33ae66d779bb872e329b897f332 100644 (file)
@@ -649,7 +649,7 @@ CELL_TYPES 126
 POINT_DATA 252
 SCALARS derivative double 1
 LOOKUP_TABLE default
-0.9997 0.9997 0.9972 0.9972 0.9922 0.9922 0.9848 0.9848 0.9749 0.9749 0.9626 0.9626 0.9479 0.9479 0.9309 0.9309 0.9115 0.9115 0.8899 0.8899 0.8660 0.8660 0.8400 0.8400 0.8119 0.8119 0.7818 0.7818 0.7498 0.7498 0.7159 0.7159 0.6802 0.6802 0.6428 0.6428 0.6038 0.6038 0.5633 0.5633 0.5214 0.5214 0.4783 0.4783 0.4339 0.4339 0.3884 0.3884 0.3420 0.3420 0.2948 0.2948 0.2468 0.2468 0.1981 0.1981 0.1490 0.1490 0.09957 0.09957 0.04985 0.04985 3.553e-15 3.553e-15 -0.04985 -0.04985 -0.09957 -0.09957 -0.1490 -0.1490 -0.1981 -0.1981 -0.2468 -0.2468 -0.2948 -0.2948 -0.3420 -0.3420 -0.3884 -0.3884 -0.4339 -0.4339 -0.4783 -0.4783 -0.5214 -0.5214 -0.5633 -0.5633 -0.6038 -0.6038 -0.6428 -0.6428 -0.6802 -0.6802 -0.7159 -0.7159 -0.7498 -0.7498 -0.7818 -0.7818 -0.8119 -0.8119 -0.8400 -0.8400 -0.8660 -0.8660 -0.8899 -0.8899 -0.9115 -0.9115 -0.9309 -0.9309 -0.9479 -0.9479 -0.9626 -0.9626 -0.9749 -0.9749 -0.9848 -0.9848 -0.9922 -0.9922 -0.9972 -0.9972 -0.9997 -0.9997 -0.9997 -0.9997 -0.9972 -0.9972 -0.9922 -0.9922 -0.9848 -0.9848 -0.9749 -0.9749 -0.9626 -0.9626 -0.9479 -0.9479 -0.9309 -0.9309 -0.9115 -0.9115 -0.8899 -0.8899 -0.8660 -0.8660 -0.8400 -0.8400 -0.8119 -0.8119 -0.7818 -0.7818 -0.7498 -0.7498 -0.7159 -0.7159 -0.6802 -0.6802 -0.6428 -0.6428 -0.6038 -0.6038 -0.5633 -0.5633 -0.5214 -0.5214 -0.4783 -0.4783 -0.4339 -0.4339 -0.3884 -0.3884 -0.3420 -0.3420 -0.2948 -0.2948 -0.2468 -0.2468 -0.1981 -0.1981 -0.1490 -0.1490 -0.09957 -0.09957 -0.04985 -0.04985 -7.105e-15 -7.105e-15 0.04985 0.04985 0.09957 0.09957 0.1490 0.1490 0.1981 0.1981 0.2468 0.2468 0.2948 0.2948 0.3420 0.3420 0.3884 0.3884 0.4339 0.4339 0.4783 0.4783 0.5214 0.5214 0.5633 0.5633 0.6038 0.6038 0.6428 0.6428 0.6802 0.6802 0.7159 0.7159 0.7498 0.7498 0.7818 0.7818 0.8119 0.8119 0.8400 0.8400 0.8660 0.8660 0.8899 0.8899 0.9115 0.9115 0.9309 0.9309 0.9479 0.9479 0.9626 0.9626 0.9749 0.9749 0.9848 0.9848 0.9922 0.9922 0.9972 0.9972 0.9997 0.9997 
+0.9997 0.9997 0.9972 0.9972 0.9922 0.9922 0.9848 0.9848 0.9749 0.9749 0.9626 0.9626 0.9479 0.9479 0.9309 0.9309 0.9115 0.9115 0.8899 0.8899 0.8660 0.8660 0.8400 0.8400 0.8119 0.8119 0.7818 0.7818 0.7498 0.7498 0.7159 0.7159 0.6802 0.6802 0.6428 0.6428 0.6038 0.6038 0.5633 0.5633 0.5214 0.5214 0.4783 0.4783 0.4339 0.4339 0.3884 0.3884 0.3420 0.3420 0.2948 0.2948 0.2468 0.2468 0.1981 0.1981 0.1490 0.1490 0.09957 0.09957 0.04985 0.04985 3.553e-15 3.553e-15 -0.04985 -0.04985 -0.09957 -0.09957 -0.1490 -0.1490 -0.1981 -0.1981 -0.2468 -0.2468 -0.2948 -0.2948 -0.3420 -0.3420 -0.3884 -0.3884 -0.4339 -0.4339 -0.4783 -0.4783 -0.5214 -0.5214 -0.5633 -0.5633 -0.6038 -0.6038 -0.6428 -0.6428 -0.6802 -0.6802 -0.7159 -0.7159 -0.7498 -0.7498 -0.7818 -0.7818 -0.8119 -0.8119 -0.8400 -0.8400 -0.8660 -0.8660 -0.8899 -0.8899 -0.9115 -0.9115 -0.9309 -0.9309 -0.9479 -0.9479 -0.9626 -0.9626 -0.9749 -0.9749 -0.9848 -0.9848 -0.9922 -0.9922 -0.9972 -0.9972 -0.9997 -0.9997 -0.9997 -0.9997 -0.9972 -0.9972 -0.9922 -0.9922 -0.9848 -0.9848 -0.9749 -0.9749 -0.9626 -0.9626 -0.9479 -0.9479 -0.9309 -0.9309 -0.9115 -0.9115 -0.8899 -0.8899 -0.8660 -0.8660 -0.8400 -0.8400 -0.8119 -0.8119 -0.7818 -0.7818 -0.7498 -0.7498 -0.7159 -0.7159 -0.6802 -0.6802 -0.6428 -0.6428 -0.6038 -0.6038 -0.5633 -0.5633 -0.5214 -0.5214 -0.4783 -0.4783 -0.4339 -0.4339 -0.3884 -0.3884 -0.3420 -0.3420 -0.2948 -0.2948 -0.2468 -0.2468 -0.1981 -0.1981 -0.1490 -0.1490 -0.09957 -0.09957 -0.04985 -0.04985 -3.553e-15 -3.553e-15 0.04985 0.04985 0.09957 0.09957 0.1490 0.1490 0.1981 0.1981 0.2468 0.2468 0.2948 0.2948 0.3420 0.3420 0.3884 0.3884 0.4339 0.4339 0.4783 0.4783 0.5214 0.5214 0.5633 0.5633 0.6038 0.6038 0.6428 0.6428 0.6802 0.6802 0.7159 0.7159 0.7498 0.7498 0.7818 0.7818 0.8119 0.8119 0.8400 0.8400 0.8660 0.8660 0.8899 0.8899 0.9115 0.9115 0.9309 0.9309 0.9479 0.9479 0.9626 0.9626 0.9749 0.9749 0.9848 0.9848 0.9922 0.9922 0.9972 0.9972 0.9997 0.9997 
 DEAL::
 DEAL::Test <2,3>
 DEAL::no. of cells 106
index 34aedb7c2ec14a6afce0bde361a19544c7bb0c4d..01bde43fc564ae537a0b2d94bfacdaab4dfc0c6b 100644 (file)
@@ -42,7 +42,7 @@ DEAL::Memory consumption -- Rhs:           336
 DEAL::Cycle 3:
 DEAL::   Number of active cells:       20
 DEAL::   Number of degrees of freedom: 41
-DEAL:cg::Starting value 0.211804
+DEAL:cg::Starting value 0.204506
 DEAL:cg::Convergence step 27 value 0
 DEAL::Memory consumption -- Triangulation: 5442
 DEAL::Memory consumption -- DoFHandler:    1560
index 8f0fac7f1ceb6d70a8c5921bcdb83801a1b522f8..51ace17b4f43ac10af2bda911b9ee71c375c701e 100644 (file)
@@ -633,7 +633,7 @@ int main (int /*argc*/, char **/*argv*/)
           solution);
 
   EvaluateDerivative (dof_handler, solution);
-  solution.print (deallog.get_file_stream());
+  solution.print (deallog);
 
   DataOut<2> *data_out = new DataOut<2>;
   data_out->attach_dof_handler (*dof_handler);
index 03c4a69ee89f97af700c77ba6d3de2b764e24d0b..93b45ee5ba9de079e2c85311c3567067b0a158ca 100644 (file)
@@ -19,7 +19,7 @@ DEAL::Dofs total 15
 DEAL:cg::Starting value 2.82
 DEAL:cg::Convergence step 17 value 0
 DEAL::L2-Err=0, Hdiv-Err=0
--1.000e-01 5.000e-01 1.000e+00 4.000e-01 6.849e-15 5.643e-15 6.000e-01 5.000e-01 5.000e-01 -1.007e-15 -2.071e-15 1.000e+00 5.000e-01 1.979e-15 3.430e-15 
+DEAL::-0.10  0.50   1.00   0.40   0      0      0.60   0.50   0.50   0      0      1.00   0.50   0      0      
 # This file was generated by the deal.II library.
 
 
index be834d3ba79a59fee8cdad0be374d4c88e525d3d..5e55f36d226aad4eafe00614960c45f8c8655fab 100644 (file)
@@ -5339,7 +5339,7 @@ DEAL::Number of degrees of freedom: 5152
     5111 5080:  -0.330879
     5111 5081:  1.15808
 DEAL:cg::Starting value 0.100309
-DEAL:cg::Convergence step 629 value 9.83996e-07
+DEAL:cg::Convergence step 630 value 9.87498e-07
 0.000e+00 0.000e+00 0.000e+00 2.504e-02 0.000e+00 1.390e-02 0.000e+00 1.390e-02 7.998e-03 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 9.466e-03 1.835e-02 2.668e-02 3.451e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.759e-03 7.524e-03 8.222e-03 8.867e-03 1.299e-02 1.449e-02 1.587e-02 1.715e-02 1.873e-02 2.094e-02 2.300e-02 2.491e-02 2.402e-02 2.693e-02 2.965e-02 3.217e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.175e-02 2.259e-02 3.262e-02 8.614e-03 1.640e-02 2.345e-02 9.764e-03 1.866e-02 2.678e-02 1.080e-02 2.072e-02 2.984e-02 4.185e-02 4.190e-02 7.269e-02 3.422e-02 5.841e-02 3.421e-02 5.845e-02 4.731e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.320e-03 8.688e-03 9.036e-03 9.360e-03 9.654e-03 1.623e-02 1.696e-02 1.766e-02 1.831e-02 1.892e-02 2.374e-02 2.485e-02 2.589e-02 2.688e-02 2.781e-02 3.089e-02 3.235e-02 3.374e-02 3.507e-02 3.634e-02 3.768e-02 3.949e-02 4.122e-02 4.287e-02 4.449e-02 0.000e+00 2.868e-02 0.000e+00 0.000e+00 0.000e+00 3.097e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 4.457e-02 4.712e-02 4.952e-02 5.179e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.199e-02 5.500e-02 5.780e-02 6.040e-02 5.900e-02 6.247e-02 6.568e-02 6.859e-02 6.564e-02 6.956e-02 7.321e-02 7.656e-02 7.192e-02 7.630e-02 8.042e-02 8.431e-02 5.430e-02 6.354e-02 9.626e-02 1.133e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.261e-02 2.431e-02 3.518e-02 1.340e-02 2.589e-02 3.754e-02 1.412e-02 2.734e-02 3.972e-02 5.400e-02 9.571e-02 4.840e-02 8.503e-02 7.610e-02 6.799e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.950e-02 3.742e-02 0.000e+00 0.000e+00 2.051e-02 3.951e-02 2.124e-02 4.132e-02 5.852e-02 1.048e-01 0.000e+00 8.311e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.110e-02 8.872e-02 1.073e-01 1.179e-01 9.070e-02 9.946e-02 9.940e-02 1.091e-01 1.276e-01 1.516e-01 1.128e-01 1.334e-01 0.000e+00 1.405e-01 1.239e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.050e-01 1.110e-01 1.166e-01 1.220e-01 1.272e-01 1.083e-01 1.145e-01 1.203e-01 1.259e-01 1.313e-01 1.115e-01 1.178e-01 1.239e-01 1.297e-01 1.352e-01 1.145e-01 1.210e-01 1.272e-01 1.332e-01 1.389e-01 1.174e-01 1.241e-01 1.305e-01 1.366e-01 1.425e-01 1.330e-01 1.381e-01 1.428e-01 1.474e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.582e-01 1.644e-01 1.703e-01 1.759e-01 1.386e-01 1.439e-01 1.490e-01 1.537e-01 1.440e-01 1.495e-01 1.548e-01 1.598e-01 1.490e-01 1.548e-01 1.603e-01 1.655e-01 1.537e-01 1.598e-01 1.655e-01 1.708e-01 0.000e+00 0.000e+00 6.939e-02 0.000e+00 7.407e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.148e-02 9.310e-02 1.042e-01 1.148e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 7.551e-02 7.719e-02 7.873e-02 8.016e-02 8.595e-02 8.803e-02 8.988e-02 9.156e-02 9.615e-02 9.848e-02 1.006e-01 1.025e-01 1.061e-01 1.085e-01 1.108e-01 1.129e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.270e-02 8.382e-02 8.488e-02 8.587e-02 9.452e-02 9.582e-02 9.703e-02 9.811e-02 1.058e-01 1.073e-01 1.087e-01 1.099e-01 1.166e-01 1.183e-01 1.198e-01 1.212e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.286e-02 1.316e-02 1.336e-02 1.349e-02 1.359e-02 2.548e-02 2.599e-02 2.633e-02 2.658e-02 2.677e-02 3.793e-02 3.854e-02 3.897e-02 3.930e-02 3.955e-02 5.022e-02 5.082e-02 5.128e-02 5.165e-02 5.195e-02 6.230e-02 6.279e-02 6.325e-02 6.364e-02 6.397e-02 0.000e+00 0.000e+00 7.595e-02 7.686e-02 2.691e-02 5.220e-02 2.727e-02 5.286e-02 0.000e+00 0.000e+00 7.644e-02 7.675e-02 2.711e-02 2.723e-02 5.257e-02 5.279e-02 8.980e-02 1.051e-01 1.196e-01 9.273e-02 1.087e-01 1.238e-01 7.413e-02 7.484e-02 7.544e-02 0.000e+00 0.000e+00 9.067e-02 9.144e-02 9.214e-02 1.062e-01 1.072e-01 1.080e-01 1.209e-01 1.220e-01 1.230e-01 9.385e-02 1.100e-01 1.253e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 9.320e-02 9.354e-02 9.376e-02 1.092e-01 1.096e-01 1.099e-01 1.244e-01 1.248e-01 1.252e-01 1.250e-01 0.000e+00 0.000e+00 1.409e-01 1.555e-01 1.173e-01 1.214e-01 1.581e-01 1.639e-01 1.321e-01 1.367e-01 1.456e-01 1.509e-01 0.000e+00 0.000e+00 1.282e-01 1.309e-01 0.000e+00 0.000e+00 1.445e-01 1.477e-01 1.596e-01 1.632e-01 1.811e-01 1.624e-01 1.722e-01 0.000e+00 0.000e+00 1.892e-01 1.965e-01 1.694e-01 1.758e-01 1.798e-01 1.866e-01 1.691e-01 1.809e-01 1.871e-01 2.005e-01 1.756e-01 0.000e+00 1.946e-01 1.333e-01 1.381e-01 1.585e-01 1.644e-01 1.361e-01 1.848e-01 1.620e-01 0.000e+00 1.392e-01 0.000e+00 1.658e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.892e-01 1.906e-01 1.918e-01 1.930e-01 1.939e-01 1.958e-01 1.973e-01 1.986e-01 1.997e-01 2.005e-01 2.022e-01 2.037e-01 2.050e-01 2.061e-01 2.070e-01 2.083e-01 2.099e-01 2.112e-01 2.124e-01 2.134e-01 2.142e-01 2.157e-01 2.172e-01 2.185e-01 2.196e-01 1.882e-01 1.908e-01 2.270e-01 2.299e-01 0.000e+00 6.366e-02 0.000e+00 7.009e-02 1.133e-01 1.256e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.223e-02 2.422e-02 3.604e-02 4.769e-02 5.910e-02 1.257e-02 2.481e-02 3.676e-02 4.843e-02 5.976e-02 1.281e-02 2.523e-02 3.731e-02 4.905e-02 6.043e-02 1.298e-02 2.556e-02 3.777e-02 4.960e-02 6.106e-02 1.312e-02 2.584e-02 3.815e-02 5.008e-02 6.163e-02 7.343e-02 7.029e-02 7.143e-02 7.247e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.958e-02 1.049e-01 1.195e-01 8.568e-02 1.002e-01 1.142e-01 8.711e-02 1.020e-01 1.161e-01 8.842e-02 1.036e-01 1.179e-01 1.516e-01 1.691e-01 0.000e+00 1.611e-01 1.335e-01 1.485e-01 1.416e-01 2.029e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.861e-01 1.907e-01 1.951e-01 1.991e-01 1.766e-01 1.837e-01 1.905e-01 1.969e-01 1.624e-01 1.688e-01 1.749e-01 1.807e-01 1.663e-01 1.729e-01 1.792e-01 1.851e-01 1.700e-01 1.768e-01 1.832e-01 1.893e-01 1.734e-01 1.804e-01 1.870e-01 1.932e-01 1.333e-01 1.809e-01 1.295e-01 1.756e-01 1.585e-01 1.540e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.064e-01 2.097e-01 2.126e-01 2.153e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.795e-01 1.868e-01 1.937e-01 2.003e-01 1.822e-01 1.897e-01 1.967e-01 2.034e-01 1.847e-01 1.923e-01 1.995e-01 2.062e-01 1.870e-01 1.947e-01 2.020e-01 2.088e-01 0.000e+00 0.000e+00 7.600e-02 0.000e+00 0.000e+00 0.000e+00 7.423e-02 7.494e-02 7.553e-02 1.971e-02 3.850e-02 5.638e-02 2.040e-02 3.984e-02 5.837e-02 1.994e-02 3.893e-02 5.702e-02 2.012e-02 3.930e-02 5.756e-02 2.027e-02 3.960e-02 5.801e-02 0.000e+00 0.000e+00 0.000e+00 9.276e-02 1.087e-01 1.238e-01 9.059e-02 1.061e-01 1.208e-01 9.145e-02 1.071e-01 1.220e-01 9.218e-02 1.080e-01 1.230e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 7.637e-02 7.663e-02 7.679e-02 2.061e-02 4.028e-02 5.902e-02 2.049e-02 4.003e-02 5.865e-02 2.056e-02 4.017e-02 5.885e-02 2.060e-02 4.025e-02 5.897e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.757e-02 9.850e-02 1.091e-01 1.193e-01 1.291e-01 8.781e-02 9.877e-02 1.094e-01 1.196e-01 1.295e-01 8.800e-02 9.899e-02 1.096e-01 1.199e-01 1.297e-01 8.813e-02 9.914e-02 1.098e-01 1.200e-01 1.299e-01 8.822e-02 9.923e-02 1.099e-01 1.202e-01 1.301e-01 1.381e-01 1.352e-01 1.368e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.560e-01 1.725e-01 1.527e-01 1.688e-01 1.545e-01 1.709e-01 2.178e-01 1.878e-01 2.265e-01 1.849e-01 2.229e-01 2.006e-01 2.084e-01 2.052e-01 1.900e-01 1.390e-01 1.395e-01 1.890e-01 1.898e-01 1.577e-01 1.745e-01 1.570e-01 1.736e-01 1.576e-01 1.743e-01 2.293e-01 2.281e-01 2.290e-01 0.000e+00 0.000e+00 2.043e-01 2.174e-01 2.032e-01 2.162e-01 2.040e-01 2.171e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.077e-01 2.122e-01 2.165e-01 2.206e-01 2.245e-01 1.895e-01 1.936e-01 1.974e-01 2.010e-01 2.044e-01 1.936e-01 1.977e-01 2.016e-01 2.053e-01 2.087e-01 1.974e-01 2.016e-01 2.056e-01 2.094e-01 2.128e-01 2.010e-01 2.053e-01 2.094e-01 2.133e-01 2.169e-01 2.044e-01 2.089e-01 2.131e-01 2.170e-01 2.208e-01 2.034e-01 2.183e-01 2.285e-01 2.458e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.107e-01 2.153e-01 2.197e-01 2.238e-01 2.278e-01 2.135e-01 2.182e-01 2.227e-01 2.269e-01 2.309e-01 2.162e-01 2.209e-01 2.255e-01 2.297e-01 2.338e-01 2.186e-01 2.235e-01 2.280e-01 2.324e-01 2.365e-01 2.209e-01 2.258e-01 2.304e-01 2.348e-01 2.390e-01 2.321e-01 2.358e-01 2.392e-01 2.424e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.362e-01 2.399e-01 2.434e-01 2.468e-01 2.400e-01 2.439e-01 2.475e-01 2.508e-01 2.435e-01 2.475e-01 2.512e-01 2.545e-01 2.468e-01 2.508e-01 2.545e-01 2.579e-01 2.554e-01 0.000e+00 2.421e-01 2.228e-01 2.511e-01 2.381e-01 0.000e+00 0.000e+00 2.402e-01 2.500e-01 0.000e+00 0.000e+00 2.572e-01 2.583e-01 2.389e-01 2.399e-01 2.485e-01 2.496e-01 2.642e-01 2.753e-01 2.525e-01 2.588e-01 2.629e-01 2.695e-01 0.000e+00 0.000e+00 2.687e-01 2.724e-01 2.568e-01 2.602e-01 2.632e-01 2.668e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.769e-01 2.780e-01 2.787e-01 2.626e-01 2.636e-01 2.642e-01 2.679e-01 2.689e-01 2.694e-01 2.726e-01 2.737e-01 2.743e-01 2.452e-01 0.000e+00 0.000e+00 2.494e-01 2.527e-01 2.279e-01 2.371e-01 2.371e-01 2.467e-01 2.317e-01 2.410e-01 2.348e-01 2.442e-01 2.687e-01 2.724e-01 2.525e-01 2.588e-01 0.000e+00 0.000e+00 2.567e-01 2.632e-01 2.602e-01 2.668e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.341e-01 2.402e-01 2.460e-01 2.514e-01 2.349e-01 2.411e-01 2.469e-01 2.523e-01 2.355e-01 2.417e-01 2.475e-01 2.530e-01 2.358e-01 2.421e-01 2.479e-01 2.534e-01 2.553e-01 2.753e-01 2.586e-01 2.789e-01 2.578e-01 2.780e-01 2.663e-01 2.698e-01 2.690e-01 0.000e+00 0.000e+00 0.000e+00 2.789e-01 2.821e-01 2.848e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.712e-01 2.743e-01 2.768e-01 2.743e-01 2.774e-01 2.800e-01 2.768e-01 2.800e-01 2.826e-01 2.908e-01 2.827e-01 2.859e-01 2.886e-01 2.886e-01 2.899e-01 2.906e-01 2.806e-01 2.817e-01 2.825e-01 2.838e-01 2.850e-01 2.857e-01 2.865e-01 2.877e-01 2.884e-01 2.870e-01 2.908e-01 0.000e+00 0.000e+00 2.891e-01 2.904e-01 2.800e-01 2.839e-01 2.838e-01 2.877e-01 2.821e-01 2.861e-01 2.834e-01 2.873e-01 2.947e-01 0.000e+00 0.000e+00 0.000e+00 2.925e-01 2.938e-01 2.945e-01 2.925e-01 2.938e-01 2.945e-01 2.903e-01 2.916e-01 2.923e-01 2.916e-01 2.928e-01 2.935e-01 2.923e-01 2.935e-01 2.942e-01 0.000e+00 7.602e-02 2.699e-02 5.230e-02 0.000e+00 0.000e+00 7.677e-02 7.649e-02 2.724e-02 2.715e-02 5.281e-02 5.262e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.366e-02 1.360e-02 1.354e-02 1.346e-02 1.337e-02 2.689e-02 2.678e-02 2.665e-02 2.651e-02 2.634e-02 3.970e-02 3.953e-02 3.935e-02 3.914e-02 3.892e-02 5.210e-02 5.187e-02 5.162e-02 5.136e-02 5.109e-02 6.409e-02 6.380e-02 6.348e-02 6.314e-02 6.284e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 9.048e-02 9.036e-02 9.016e-02 8.986e-02 1.036e-01 1.035e-01 1.032e-01 1.029e-01 1.162e-01 1.160e-01 1.157e-01 1.154e-01 1.283e-01 1.280e-01 1.278e-01 1.274e-01 9.276e-02 1.087e-01 1.238e-01 0.000e+00 0.000e+00 0.000e+00 7.551e-02 7.493e-02 7.424e-02 1.371e-01 1.360e-01 1.347e-01 9.212e-02 9.132e-02 9.033e-02 1.079e-01 1.069e-01 1.057e-01 1.229e-01 1.218e-01 1.205e-01 0.000e+00 0.000e+00 3.865e-02 3.646e-02 0.000e+00 0.000e+00 3.774e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.240e-02 1.224e-02 1.206e-02 1.187e-02 1.165e-02 2.439e-02 2.406e-02 2.370e-02 2.332e-02 2.291e-02 3.599e-02 3.547e-02 3.494e-02 3.438e-02 3.379e-02 4.719e-02 4.648e-02 4.576e-02 4.502e-02 4.427e-02 5.797e-02 5.705e-02 5.616e-02 5.525e-02 5.436e-02 7.400e-02 6.962e-02 1.338e-01 1.254e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.769e-02 6.615e-02 6.447e-02 0.000e+00 0.000e+00 0.000e+00 8.218e-02 8.035e-02 7.823e-02 9.601e-02 9.390e-02 9.134e-02 1.094e-01 1.069e-01 1.040e-01 1.402e-01 1.386e-01 1.883e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.865e-01 1.849e-01 1.830e-01 1.503e-01 1.492e-01 1.479e-01 1.629e-01 1.618e-01 1.603e-01 1.750e-01 1.736e-01 1.720e-01 0.000e+00 0.000e+00 2.019e-01 2.148e-01 0.000e+00 0.000e+00 2.290e-01 2.281e-01 2.040e-01 2.033e-01 2.170e-01 2.163e-01 0.000e+00 0.000e+00 0.000e+00 1.911e-01 2.006e-01 2.096e-01 0.000e+00 0.000e+00 0.000e+00 1.971e-01 1.954e-01 1.934e-01 2.070e-01 2.052e-01 2.031e-01 2.163e-01 2.143e-01 2.121e-01 1.809e-01 1.690e-01 1.504e-01 1.663e-01 1.409e-01 1.556e-01 0.000e+00 0.000e+00 1.775e-01 1.736e-01 1.478e-01 1.446e-01 1.632e-01 1.597e-01 1.269e-01 1.398e-01 1.212e-01 1.171e-01 1.639e-01 1.581e-01 1.367e-01 1.321e-01 1.509e-01 1.457e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.147e-01 2.111e-01 2.072e-01 1.884e-01 1.854e-01 1.821e-01 1.978e-01 1.946e-01 1.911e-01 2.066e-01 2.032e-01 1.994e-01 2.029e-01 1.814e-01 1.926e-01 0.000e+00 0.000e+00 1.965e-01 1.892e-01 1.757e-01 1.693e-01 1.866e-01 1.797e-01 0.000e+00 3.314e-02 0.000e+00 0.000e+00 0.000e+00 3.098e-02 0.000e+00 0.000e+00 5.470e-02 4.234e-02 6.314e-02 1.132e-01 9.624e-02 0.000e+00 0.000e+00 5.329e-02 6.351e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.430e-02 5.914e-02 7.702e-02 7.064e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 3.674e-02 3.121e-02 1.324e-02 1.141e-02 2.549e-02 2.183e-02 0.000e+00 0.000e+00 2.589e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.982e-02 3.414e-02 3.813e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 4.598e-02 4.100e-02 3.571e-02 5.316e-02 4.735e-02 4.103e-02 5.981e-02 5.318e-02 4.603e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.422e-02 1.969e-02 1.499e-02 1.017e-02 5.197e-03 2.671e-02 2.184e-02 1.672e-02 1.140e-02 5.853e-03 2.909e-02 2.377e-02 1.821e-02 1.242e-02 6.372e-03 3.133e-02 2.552e-02 1.949e-02 1.324e-02 6.775e-03 3.344e-02 2.706e-02 2.052e-02 1.385e-02 7.041e-03 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.210e-01 1.145e-01 1.332e-01 1.259e-01 7.287e-02 1.127e-01 8.510e-02 8.502e-02 0.000e+00 9.988e-02 1.521e-01 1.282e-01 1.817e-01 1.522e-01 9.621e-02 1.132e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.357e-02 5.334e-02 0.000e+00 0.000e+00 7.077e-02 5.928e-02 7.732e-02 6.460e-02 4.249e-02 0.000e+00 5.466e-02 0.000e+00 6.298e-02 0.000e+00 5.869e-02 7.639e-02 8.931e-02 8.337e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.140e-02 3.939e-02 2.683e-02 1.371e-02 4.562e-02 3.462e-02 2.336e-02 1.186e-02 4.721e-02 3.606e-02 2.448e-02 1.249e-02 4.869e-02 3.729e-02 2.538e-02 1.296e-02 5.009e-02 3.838e-02 2.614e-02 1.336e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.360e-01 2.355e-01 2.348e-01 2.340e-01 2.421e-01 2.417e-01 2.410e-01 2.400e-01 2.479e-01 2.475e-01 2.468e-01 2.458e-01 2.534e-01 2.529e-01 2.523e-01 2.514e-01 2.270e-01 2.183e-01 2.561e-01 2.457e-01 2.591e-01 2.795e-01 2.758e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.581e-01 2.565e-01 2.549e-01 2.531e-01 2.512e-01 2.615e-01 2.601e-01 2.585e-01 2.567e-01 2.547e-01 2.649e-01 2.635e-01 2.619e-01 2.600e-01 2.580e-01 2.681e-01 2.667e-01 2.650e-01 2.632e-01 2.611e-01 2.712e-01 2.697e-01 2.680e-01 2.661e-01 2.639e-01 0.000e+00 0.000e+00 0.000e+00 2.099e-01 2.164e-01 2.224e-01 0.000e+00 0.000e+00 0.000e+00 2.221e-01 2.185e-01 2.144e-01 2.290e-01 2.253e-01 2.211e-01 2.356e-01 2.317e-01 2.273e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.236e-01 2.189e-01 2.139e-01 2.086e-01 2.047e-01 2.005e-01 1.960e-01 1.913e-01 2.099e-01 2.056e-01 2.010e-01 1.960e-01 2.148e-01 2.103e-01 2.056e-01 2.005e-01 2.193e-01 2.148e-01 2.099e-01 2.046e-01 2.279e-01 2.642e-01 2.525e-01 2.588e-01 2.345e-01 2.403e-01 2.403e-01 2.345e-01 2.588e-01 2.525e-01 2.474e-01 2.414e-01 2.535e-01 2.474e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.275e-01 2.227e-01 2.176e-01 2.122e-01 2.312e-01 2.263e-01 2.210e-01 2.155e-01 2.345e-01 2.295e-01 2.242e-01 2.185e-01 2.376e-01 2.323e-01 2.269e-01 2.213e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.907e-01 2.904e-01 2.899e-01 2.891e-01 2.881e-01 2.814e-01 2.810e-01 2.804e-01 2.797e-01 2.789e-01 2.837e-01 2.833e-01 2.828e-01 2.821e-01 2.812e-01 2.858e-01 2.855e-01 2.849e-01 2.842e-01 2.833e-01 2.877e-01 2.873e-01 2.868e-01 2.861e-01 2.851e-01 2.893e-01 2.890e-01 2.884e-01 2.877e-01 2.867e-01 2.790e-01 2.821e-01 2.848e-01 2.677e-01 2.707e-01 2.732e-01 2.732e-01 2.707e-01 2.677e-01 0.000e+00 0.000e+00 0.000e+00 2.769e-01 2.743e-01 2.712e-01 2.800e-01 2.774e-01 2.743e-01 2.826e-01 2.800e-01 2.769e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.919e-01 2.916e-01 2.910e-01 2.903e-01 2.893e-01 2.929e-01 2.926e-01 2.920e-01 2.913e-01 2.903e-01 2.936e-01 2.933e-01 2.928e-01 2.920e-01 2.910e-01 2.942e-01 2.939e-01 2.933e-01 2.926e-01 2.916e-01 2.945e-01 2.942e-01 2.936e-01 2.929e-01 2.919e-01 2.870e-01 2.753e-01 2.891e-01 2.904e-01 2.773e-01 2.785e-01 2.840e-01 2.801e-01 0.000e+00 0.000e+00 2.861e-01 2.821e-01 2.873e-01 2.834e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.711e-01 2.664e-01 2.612e-01 2.636e-01 2.591e-01 2.540e-01 2.666e-01 2.619e-01 2.567e-01 2.691e-01 2.644e-01 2.592e-01 2.458e-01 2.183e-01 2.559e-01 2.270e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.733e-01 2.696e-01 2.656e-01 2.613e-01 2.743e-01 2.706e-01 2.666e-01 2.622e-01 2.750e-01 2.713e-01 2.672e-01 2.628e-01 2.754e-01 2.717e-01 2.676e-01 2.632e-01 2.586e-01 2.293e-01 2.571e-01 2.582e-01 2.280e-01 2.290e-01 0.000e+00 0.000e+00 2.499e-01 2.401e-01 2.484e-01 2.387e-01 2.495e-01 2.397e-01 2.029e-01 1.690e-01 1.929e-01 1.609e-01 0.000e+00 1.871e-01 1.781e-01 0.000e+00 0.000e+00 1.173e-01 1.213e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.455e-01 1.319e-01 1.508e-01 1.366e-01 2.085e-01 2.135e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.066e-01 1.943e-01 1.979e-01 1.863e-01 2.026e-01 1.906e-01 1.250e-01 1.809e-01 1.333e-01 1.756e-01 1.296e-01 1.483e-01 1.585e-01 1.540e-01 6.927e-02 0.000e+00 0.000e+00 0.000e+00 6.470e-02 6.637e-02 6.789e-02 0.000e+00 0.000e+00 1.122e-01 9.870e-02 8.439e-02 1.045e-01 9.200e-02 7.874e-02 1.073e-01 9.443e-02 8.080e-02 1.099e-01 9.666e-02 8.268e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.872e-02 4.779e-02 3.645e-02 2.472e-02 1.257e-02 5.440e-02 4.430e-02 3.382e-02 2.295e-02 1.169e-02 5.537e-02 4.509e-02 3.442e-02 2.336e-02 1.189e-02 5.629e-02 4.583e-02 3.498e-02 2.373e-02 1.208e-02 5.715e-02 4.652e-02 3.550e-02 2.408e-02 1.225e-02 5.796e-02 4.717e-02 3.600e-02 2.441e-02 1.242e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 7.028e-02 7.122e-02 7.207e-02 7.285e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.166e-01 1.058e-01 9.447e-02 8.264e-02 1.182e-01 1.073e-01 9.576e-02 8.376e-02 1.197e-01 1.086e-01 9.695e-02 8.478e-02 1.211e-01 1.098e-01 9.803e-02 8.571e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.230e-02 5.066e-02 3.862e-02 2.616e-02 1.329e-02 5.943e-02 4.836e-02 3.688e-02 2.501e-02 1.272e-02 6.010e-02 4.889e-02 3.729e-02 2.528e-02 1.285e-02 6.071e-02 4.938e-02 3.766e-02 2.552e-02 1.297e-02 6.129e-02 4.984e-02 3.800e-02 2.576e-02 1.309e-02 6.182e-02 5.027e-02 3.832e-02 2.597e-02 1.320e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.134e-01 2.063e-01 1.988e-01 1.909e-01 2.152e-01 2.081e-01 2.005e-01 1.926e-01 2.168e-01 2.097e-01 2.021e-01 1.940e-01 2.184e-01 2.111e-01 2.034e-01 1.953e-01 1.831e-01 1.849e-01 1.865e-01 1.348e-01 1.361e-01 1.372e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.721e-01 1.604e-01 1.479e-01 1.738e-01 1.620e-01 1.494e-01 1.753e-01 1.633e-01 1.506e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.178e-01 2.085e-01 1.984e-01 2.204e-01 2.110e-01 2.008e-01 2.190e-01 2.096e-01 1.995e-01 2.198e-01 2.103e-01 2.002e-01 2.203e-01 2.108e-01 2.007e-01 1.878e-01 1.381e-01 1.900e-01 1.397e-01 1.895e-01 1.393e-01 1.644e-01 1.663e-01 1.658e-01 7.355e-02 7.602e-02 7.433e-02 7.500e-02 7.556e-02 1.196e-01 1.050e-01 8.972e-02 1.238e-01 1.087e-01 9.278e-02 1.209e-01 1.062e-01 9.069e-02 1.220e-01 1.072e-01 9.152e-02 1.230e-01 1.080e-01 9.222e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.436e-02 5.231e-02 3.985e-02 2.699e-02 1.371e-02 6.275e-02 5.102e-02 3.888e-02 2.634e-02 1.338e-02 6.315e-02 5.134e-02 3.913e-02 2.650e-02 1.347e-02 6.351e-02 5.163e-02 3.934e-02 2.665e-02 1.354e-02 6.384e-02 5.189e-02 3.954e-02 2.678e-02 1.360e-02 6.412e-02 5.211e-02 3.971e-02 2.689e-02 1.366e-02 7.678e-02 0.000e+00 0.000e+00 7.636e-02 7.660e-02 7.674e-02 1.252e-01 1.099e-01 9.375e-02 1.244e-01 1.092e-01 9.322e-02 1.248e-01 1.096e-01 9.352e-02 1.251e-01 1.098e-01 9.370e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.456e-02 5.247e-02 3.997e-02 2.707e-02 1.375e-02 6.472e-02 5.260e-02 4.007e-02 2.713e-02 1.378e-02 6.484e-02 5.269e-02 4.014e-02 2.718e-02 1.380e-02 6.492e-02 5.275e-02 4.018e-02 2.720e-02 1.381e-02 6.496e-02 5.277e-02 4.019e-02 2.721e-02 1.381e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.042e-02 3.989e-02 5.844e-02 2.060e-02 4.026e-02 5.899e-02 2.057e-02 4.019e-02 5.888e-02 2.051e-02 4.007e-02 5.870e-02 7.687e-02 1.397e-01 7.612e-02 7.667e-02 1.392e-01 1.099e-01 1.088e-01 1.097e-01 0.000e+00 7.362e-02 0.000e+00 0.000e+00 0.000e+00 7.564e-02 7.508e-02 7.441e-02 1.980e-02 3.865e-02 5.658e-02 2.031e-02 3.967e-02 5.810e-02 2.017e-02 3.938e-02 5.768e-02 2.000e-02 3.904e-02 5.717e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.662e-02 9.911e-02 1.111e-01 1.225e-01 8.916e-02 1.020e-01 1.144e-01 1.263e-01 8.866e-02 1.015e-01 1.138e-01 1.255e-01 8.807e-02 1.008e-01 1.130e-01 1.246e-01 8.740e-02 1.000e-01 1.121e-01 1.237e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.488e-01 1.577e-01 1.662e-01 1.744e-01 1.824e-01 1.486e-01 1.575e-01 1.660e-01 1.742e-01 1.822e-01 1.484e-01 1.572e-01 1.657e-01 1.739e-01 1.818e-01 1.480e-01 1.567e-01 1.652e-01 1.734e-01 1.814e-01 1.476e-01 1.561e-01 1.645e-01 1.728e-01 1.808e-01 1.899e-01 1.895e-01 1.888e-01 2.292e-01 2.287e-01 2.278e-01 0.000e+00 0.000e+00 0.000e+00 1.986e-01 2.086e-01 2.179e-01 2.007e-01 2.109e-01 2.203e-01 2.003e-01 2.104e-01 2.199e-01 1.996e-01 2.097e-01 2.191e-01 1.386e-01 1.884e-01 1.338e-01 1.815e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.943e-01 2.011e-01 2.076e-01 2.139e-01 2.199e-01 1.933e-01 2.001e-01 2.065e-01 2.127e-01 2.186e-01 1.921e-01 1.989e-01 2.053e-01 2.114e-01 2.173e-01 1.908e-01 1.975e-01 2.039e-01 2.100e-01 2.158e-01 1.895e-01 1.961e-01 2.024e-01 2.085e-01 2.143e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 7.290e-02 7.212e-02 7.125e-02 7.031e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.504e-02 2.948e-02 4.332e-02 5.659e-02 1.577e-02 3.093e-02 4.550e-02 5.948e-02 1.561e-02 3.062e-02 4.502e-02 5.885e-02 1.544e-02 3.027e-02 4.450e-02 5.816e-02 1.525e-02 2.989e-02 4.394e-02 5.741e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.381e-02 9.422e-02 1.043e-01 1.140e-01 1.233e-01 8.306e-02 9.337e-02 1.033e-01 1.129e-01 1.221e-01 8.226e-02 9.244e-02 1.023e-01 1.117e-01 1.208e-01 8.139e-02 9.146e-02 1.012e-01 1.105e-01 1.195e-01 8.046e-02 9.040e-02 9.997e-02 1.092e-01 1.181e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.151e-02 2.259e-02 3.327e-02 4.354e-02 5.343e-02 1.243e-02 2.443e-02 3.602e-02 4.720e-02 5.799e-02 1.226e-02 2.410e-02 3.553e-02 4.655e-02 5.718e-02 1.209e-02 2.376e-02 3.501e-02 4.586e-02 5.632e-02 1.191e-02 2.339e-02 3.446e-02 4.513e-02 5.541e-02 1.171e-02 2.300e-02 3.388e-02 4.436e-02 5.445e-02 6.930e-02 1.250e-01 6.294e-02 6.742e-02 6.531e-02 1.214e-01 1.173e-01 8.927e-02 1.078e-01 8.088e-02 9.744e-02 8.680e-02 1.047e-01 8.401e-02 1.013e-01 1.319e-01 1.304e-01 1.287e-01 1.269e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.420e-01 1.517e-01 1.611e-01 1.702e-01 1.404e-01 1.501e-01 1.593e-01 1.682e-01 1.387e-01 1.482e-01 1.573e-01 1.660e-01 1.367e-01 1.461e-01 1.551e-01 1.636e-01 1.784e-01 1.756e-01 1.724e-01 0.000e+00 0.000e+00 0.000e+00 1.912e-01 2.007e-01 2.096e-01 1.784e-01 1.872e-01 1.954e-01 1.885e-01 1.978e-01 2.066e-01 1.854e-01 1.946e-01 2.031e-01 1.821e-01 1.911e-01 1.994e-01 1.690e-01 1.638e-01 1.580e-01 1.408e-01 1.555e-01 0.000e+00 0.000e+00 1.367e-01 1.508e-01 1.320e-01 1.456e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.727e-01 1.786e-01 1.843e-01 1.897e-01 1.950e-01 1.699e-01 1.757e-01 1.813e-01 1.866e-01 1.917e-01 1.670e-01 1.727e-01 1.781e-01 1.833e-01 1.882e-01 1.638e-01 1.694e-01 1.747e-01 1.798e-01 1.846e-01 1.605e-01 1.660e-01 1.711e-01 1.761e-01 1.808e-01 2.584e-01 2.578e-01 2.568e-01 2.375e-01 2.451e-01 2.522e-01 0.000e+00 0.000e+00 0.000e+00 2.373e-01 2.449e-01 2.520e-01 2.368e-01 2.443e-01 2.513e-01 2.358e-01 2.432e-01 2.503e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.625e-01 2.662e-01 2.697e-01 2.730e-01 2.760e-01 2.622e-01 2.659e-01 2.694e-01 2.727e-01 2.757e-01 2.617e-01 2.655e-01 2.689e-01 2.722e-01 2.752e-01 2.611e-01 2.648e-01 2.682e-01 2.715e-01 2.745e-01 2.603e-01 2.638e-01 2.672e-01 2.705e-01 2.736e-01 2.271e-01 2.560e-01 2.184e-01 2.459e-01 2.759e-01 2.647e-01 2.788e-01 2.783e-01 2.776e-01 2.767e-01 2.907e-01 2.902e-01 2.894e-01 2.884e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.783e-01 2.810e-01 2.833e-01 2.853e-01 2.818e-01 2.845e-01 2.869e-01 2.889e-01 2.814e-01 2.841e-01 2.864e-01 2.885e-01 2.807e-01 2.833e-01 2.857e-01 2.877e-01 2.797e-01 2.823e-01 2.846e-01 2.866e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.919e-01 2.929e-01 2.936e-01 2.942e-01 2.945e-01 2.916e-01 2.926e-01 2.933e-01 2.939e-01 2.942e-01 2.910e-01 2.920e-01 2.928e-01 2.933e-01 2.936e-01 2.903e-01 2.913e-01 2.920e-01 2.926e-01 2.929e-01 2.893e-01 2.903e-01 2.910e-01 2.916e-01 2.919e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.766e-01 2.792e-01 2.816e-01 2.836e-01 2.745e-01 2.772e-01 2.796e-01 2.816e-01 2.723e-01 2.750e-01 2.773e-01 2.792e-01 2.699e-01 2.724e-01 2.747e-01 2.766e-01 2.870e-01 2.848e-01 2.821e-01 2.789e-01 0.000e+00 0.000e+00 0.000e+00 2.887e-01 2.899e-01 2.906e-01 2.769e-01 2.780e-01 2.787e-01 2.865e-01 2.876e-01 2.884e-01 2.838e-01 2.849e-01 2.857e-01 2.806e-01 2.817e-01 2.824e-01 2.034e-01 2.284e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.465e-01 2.498e-01 2.530e-01 2.561e-01 2.590e-01 2.438e-01 2.472e-01 2.504e-01 2.534e-01 2.562e-01 2.409e-01 2.444e-01 2.475e-01 2.505e-01 2.532e-01 2.380e-01 2.413e-01 2.444e-01 2.473e-01 2.500e-01 2.349e-01 2.381e-01 2.411e-01 2.439e-01 2.465e-01 1.811e-01 1.964e-01 1.892e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.892e-01 1.964e-01 2.053e-01 2.133e-01 1.977e-01 2.053e-01 2.453e-01 2.029e-01 2.178e-01 2.164e-01 2.326e-01 2.375e-01 2.111e-01 2.255e-01 2.753e-01 2.588e-01 2.525e-01 2.696e-01 2.629e-01 2.687e-01 2.724e-01 0.000e+00 0.000e+00 2.632e-01 2.668e-01 2.568e-01 2.602e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.568e-01 2.578e-01 2.585e-01 2.727e-01 2.738e-01 2.744e-01 2.679e-01 2.690e-01 2.697e-01 2.626e-01 2.637e-01 2.643e-01 2.553e-01 2.265e-01 2.421e-01 2.512e-01 2.229e-01 2.382e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.274e-01 2.281e-01 2.286e-01 2.290e-01 2.293e-01 2.522e-01 2.530e-01 2.536e-01 2.541e-01 2.543e-01 2.477e-01 2.485e-01 2.491e-01 2.496e-01 2.499e-01 2.430e-01 2.438e-01 2.444e-01 2.448e-01 2.451e-01 2.381e-01 2.388e-01 2.394e-01 2.398e-01 2.401e-01 2.329e-01 2.336e-01 2.342e-01 2.346e-01 2.348e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.129e-02 2.216e-02 3.262e-02 4.268e-02 5.235e-02 1.106e-02 2.170e-02 3.193e-02 4.177e-02 5.122e-02 1.082e-02 2.122e-02 3.121e-02 4.080e-02 5.002e-02 1.056e-02 2.071e-02 3.044e-02 3.979e-02 4.876e-02 1.029e-02 2.017e-02 2.964e-02 3.872e-02 4.742e-02 6.139e-02 5.973e-02 5.797e-02 5.609e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 7.202e-02 8.215e-02 9.180e-02 1.010e-01 7.005e-02 7.987e-02 8.921e-02 9.810e-02 6.794e-02 7.743e-02 8.645e-02 9.501e-02 6.570e-02 7.483e-02 8.351e-02 9.174e-02 0.000e+00 5.409e-02 0.000e+00 4.193e-02 0.000e+00 0.000e+00 5.046e-02 4.643e-02 1.960e-02 3.759e-02 1.546e-02 2.940e-02 1.837e-02 3.515e-02 1.700e-02 3.243e-02 0.000e+00 0.000e+00 6.921e-02 8.305e-02 5.330e-02 6.353e-02 6.444e-02 7.719e-02 5.915e-02 7.071e-02 1.127e-01 1.515e-01 9.573e-02 1.276e-01 1.049e-01 1.404e-01 1.334e-01 1.127e-01 1.238e-01 1.515e-01 0.000e+00 0.000e+00 1.722e-01 1.623e-01 1.623e-01 1.722e-01 1.363e-01 1.443e-01 1.545e-01 1.638e-01 1.459e-01 1.545e-01 7.281e-02 9.572e-02 8.511e-02 1.127e-01 8.510e-02 9.990e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.270e-01 1.318e-01 1.363e-01 1.406e-01 1.207e-01 1.252e-01 1.294e-01 1.334e-01 1.140e-01 1.182e-01 1.222e-01 1.260e-01 1.070e-01 1.109e-01 1.146e-01 1.181e-01 0.000e+00 0.000e+00 3.698e-02 3.141e-02 0.000e+00 0.000e+00 1.370e-02 2.597e-02 1.160e-02 2.208e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.735e-02 6.156e-02 5.541e-02 4.888e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.914e-02 3.262e-02 3.591e-02 3.901e-02 4.545e-02 5.144e-02 5.707e-02 6.237e-02 4.174e-02 4.719e-02 5.229e-02 5.707e-02 3.781e-02 4.267e-02 4.719e-02 5.143e-02 3.369e-02 3.783e-02 4.175e-02 4.543e-02 0.000e+00 2.610e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.403e-02 2.692e-02 2.965e-02 3.219e-02 1.842e-02 2.081e-02 2.294e-02 2.490e-02 1.257e-02 1.430e-02 1.579e-02 1.713e-02 6.463e-03 7.388e-03 8.163e-03 8.845e-03 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 7.227e-02 7.607e-02 7.968e-02 8.313e-02 8.640e-02 6.720e-02 7.069e-02 7.401e-02 7.717e-02 8.017e-02 6.187e-02 6.505e-02 6.806e-02 7.093e-02 7.366e-02 5.628e-02 5.913e-02 6.183e-02 6.440e-02 6.684e-02 5.040e-02 5.292e-02 5.530e-02 5.756e-02 5.970e-02 1.128e-01 5.397e-02 8.303e-02 6.916e-02 9.752e-02 8.098e-02 1.020e-01 1.077e-01 5.722e-02 6.009e-02 8.834e-02 9.316e-02 7.345e-02 7.740e-02 4.193e-02 0.000e+00 0.000e+00 3.264e-02 2.259e-02 1.173e-02 4.174e-02 2.868e-02 1.479e-02 4.533e-02 4.845e-02 5.134e-02 0.000e+00 0.000e+00 0.000e+00 3.521e-02 3.758e-02 3.975e-02 2.433e-02 2.591e-02 2.736e-02 1.261e-02 1.341e-02 1.414e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 4.354e-02 4.515e-02 4.656e-02 2.985e-02 3.084e-02 3.155e-02 1.536e-02 1.582e-02 1.607e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.808e-01 1.846e-01 1.882e-01 1.916e-01 1.949e-01 1.761e-01 1.798e-01 1.833e-01 1.866e-01 1.897e-01 1.711e-01 1.747e-01 1.781e-01 1.813e-01 1.843e-01 1.660e-01 1.694e-01 1.727e-01 1.757e-01 1.786e-01 1.605e-01 1.638e-01 1.670e-01 1.699e-01 1.727e-01 1.690e-01 1.809e-01 1.871e-01 2.006e-01 1.756e-01 1.946e-01 1.250e-01 1.428e-01 1.334e-01 1.234e-01 1.590e-01 1.484e-01 1.371e-01 1.565e-01 1.610e-01 1.652e-01 1.163e-01 1.195e-01 1.224e-01 1.474e-01 1.516e-01 1.555e-01 1.376e-01 1.415e-01 1.451e-01 1.273e-01 1.308e-01 1.341e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.723e-01 1.632e-01 1.537e-01 1.437e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.270e-01 1.288e-01 1.304e-01 1.319e-01 1.637e-01 1.661e-01 1.684e-01 1.704e-01 1.552e-01 1.575e-01 1.596e-01 1.615e-01 1.462e-01 1.484e-01 1.503e-01 1.521e-01 1.368e-01 1.388e-01 1.406e-01 1.422e-01 1.878e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.196e-01 2.123e-01 2.045e-01 1.964e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.827e-01 1.842e-01 1.856e-01 1.868e-01 2.134e-01 2.152e-01 2.169e-01 2.184e-01 2.063e-01 2.081e-01 2.097e-01 2.111e-01 1.988e-01 2.006e-01 2.021e-01 2.034e-01 1.909e-01 1.926e-01 1.941e-01 1.953e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.216e-01 2.223e-01 2.228e-01 2.232e-01 2.234e-01 2.156e-01 2.162e-01 2.168e-01 2.171e-01 2.173e-01 2.092e-01 2.099e-01 2.104e-01 2.107e-01 2.110e-01 2.026e-01 2.032e-01 2.037e-01 2.041e-01 2.043e-01 1.957e-01 1.963e-01 1.968e-01 1.971e-01 1.973e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.751e-01 1.764e-01 1.776e-01 1.786e-01 1.795e-01 1.676e-01 1.688e-01 1.699e-01 1.709e-01 1.718e-01 1.598e-01 1.609e-01 1.620e-01 1.629e-01 1.637e-01 1.516e-01 1.527e-01 1.537e-01 1.545e-01 1.553e-01 1.431e-01 1.441e-01 1.450e-01 1.458e-01 1.466e-01 1.901e-01 1.788e-01 1.693e-01 1.594e-01 1.489e-01 1.810e-01 1.714e-01 1.614e-01 1.510e-01 1.886e-01 1.893e-01 1.897e-01 1.900e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.796e-01 1.802e-01 1.806e-01 1.809e-01 1.700e-01 1.706e-01 1.711e-01 1.713e-01 1.600e-01 1.606e-01 1.610e-01 1.613e-01 1.496e-01 1.500e-01 1.505e-01 1.508e-01 0.000e+00 0.000e+00 0.000e+00 1.166e-01 1.079e-01 9.881e-02 8.941e-02 7.968e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.075e-01 1.095e-01 1.115e-01 1.133e-01 1.150e-01 9.952e-02 1.014e-01 1.032e-01 1.049e-01 1.064e-01 9.124e-02 9.296e-02 9.457e-02 9.608e-02 9.750e-02 8.265e-02 8.418e-02 8.562e-02 8.697e-02 8.824e-02 7.375e-02 7.506e-02 7.631e-02 7.751e-02 7.865e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.181e-01 1.195e-01 1.208e-01 1.220e-01 1.232e-01 1.092e-01 1.105e-01 1.117e-01 1.128e-01 1.138e-01 1.000e-01 1.012e-01 1.022e-01 1.032e-01 1.041e-01 9.047e-02 9.144e-02 9.236e-02 9.323e-02 9.406e-02 8.056e-02 8.134e-02 8.211e-02 8.287e-02 8.362e-02 6.345e-02 6.977e-02 0.000e+00 0.000e+00 7.351e-02 0.000e+00 0.000e+00 3.846e-02 7.143e-02 0.000e+00 3.732e-02 1.333e-01 1.148e-01 9.484e-02 0.000e+00 0.000e+00 1.352e-01 1.368e-01 7.449e-02 7.532e-02 1.164e-01 1.178e-01 9.619e-02 9.727e-02 1.381e-01 7.600e-02 1.086e-01 0.000e+00 1.392e-01 7.649e-02 1.094e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.266e-02 6.307e-02 6.345e-02 6.378e-02 6.408e-02 5.092e-02 5.126e-02 5.157e-02 5.184e-02 5.207e-02 3.878e-02 3.905e-02 3.929e-02 3.949e-02 3.967e-02 2.625e-02 2.644e-02 2.661e-02 2.674e-02 2.686e-02 1.333e-02 1.343e-02 1.351e-02 1.358e-02 1.364e-02 0.000e+00 0.000e+00 3.982e-02 4.035e-02 0.000e+00 4.018e-02 2.945e-01 2.938e-01 2.925e-01 0.000e+00 0.000e+00 2.945e-01 2.938e-01 2.925e-01 0.000e+00 0.000e+00 0.000e+00 2.942e-01 2.935e-01 2.923e-01 2.935e-01 2.928e-01 2.916e-01 2.923e-01 2.916e-01 2.904e-01 2.908e-01 2.790e-01 2.870e-01 2.898e-01 2.780e-01 2.859e-01 2.821e-01 2.850e-01 2.908e-01 2.789e-01 2.753e-01 2.878e-01 2.838e-01 2.839e-01 2.801e-01 2.904e-01 2.891e-01 2.785e-01 2.773e-01 2.873e-01 2.861e-01 2.834e-01 2.821e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.724e-01 2.687e-01 2.810e-01 2.771e-01 2.771e-01 2.733e-01 0.000e+00 0.000e+00 2.584e-01 2.578e-01 2.568e-01 2.746e-01 2.698e-01 2.645e-01 0.000e+00 0.000e+00 0.000e+00 2.744e-01 2.696e-01 2.643e-01 2.737e-01 2.689e-01 2.636e-01 2.726e-01 2.677e-01 2.625e-01 2.291e-01 2.286e-01 2.278e-01 0.000e+00 0.000e+00 0.000e+00 2.491e-01 2.422e-01 2.347e-01 2.520e-01 2.450e-01 2.374e-01 2.514e-01 2.444e-01 2.368e-01 2.505e-01 2.435e-01 2.360e-01 2.758e-01 2.559e-01 2.648e-01 2.458e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.472e-01 2.404e-01 2.330e-01 2.449e-01 2.382e-01 2.308e-01 2.423e-01 2.356e-01 2.284e-01 2.731e-01 2.664e-01 2.696e-01 2.630e-01 0.000e+00 0.000e+00 2.727e-01 2.716e-01 2.660e-01 2.649e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.611e-01 2.576e-01 2.538e-01 2.497e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.704e-01 2.685e-01 2.664e-01 2.639e-01 2.668e-01 2.649e-01 2.628e-01 2.604e-01 2.628e-01 2.610e-01 2.589e-01 2.565e-01 2.585e-01 2.568e-01 2.547e-01 2.524e-01 2.587e-01 2.554e-01 2.294e-01 2.452e-01 2.421e-01 2.578e-01 2.286e-01 2.445e-01 2.453e-01 2.327e-01 2.512e-01 0.000e+00 2.382e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.590e-01 2.561e-01 2.530e-01 2.499e-01 2.466e-01 2.562e-01 2.534e-01 2.504e-01 2.473e-01 2.439e-01 2.532e-01 2.505e-01 2.476e-01 2.445e-01 2.411e-01 2.500e-01 2.474e-01 2.445e-01 2.414e-01 2.381e-01 2.466e-01 2.440e-01 2.411e-01 2.381e-01 2.349e-01 2.280e-01 2.404e-01 2.346e-01 2.135e-01 2.086e-01 2.372e-01 2.280e-01 2.206e-01 2.122e-01 2.325e-01 2.235e-01 2.269e-01 2.183e-01 2.029e-01 0.000e+00 0.000e+00 2.206e-01 2.122e-01 2.403e-01 2.346e-01 2.135e-01 2.086e-01 2.324e-01 2.269e-01 2.235e-01 2.182e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.991e-01 1.951e-01 1.907e-01 1.861e-01 2.194e-01 2.148e-01 2.099e-01 2.047e-01 2.148e-01 2.103e-01 2.055e-01 2.004e-01 2.099e-01 2.056e-01 2.009e-01 1.959e-01 2.047e-01 2.005e-01 1.960e-01 1.912e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.899e-01 1.896e-01 1.892e-01 1.886e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.222e-01 2.147e-01 2.069e-01 1.986e-01 2.218e-01 2.144e-01 2.065e-01 1.983e-01 2.213e-01 2.138e-01 2.060e-01 1.978e-01 2.205e-01 2.129e-01 2.052e-01 1.972e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.808e-01 1.712e-01 1.611e-01 1.506e-01 1.805e-01 1.709e-01 1.608e-01 1.504e-01 1.800e-01 1.704e-01 1.604e-01 1.500e-01 1.794e-01 1.697e-01 1.597e-01 1.495e-01 2.271e-01 1.886e-01 2.183e-01 1.816e-01 1.387e-01 1.339e-01 1.396e-01 1.393e-01 1.388e-01 7.669e-02 7.652e-02 7.626e-02 1.240e-01 1.089e-01 9.302e-02 1.251e-01 1.098e-01 9.369e-02 1.249e-01 1.096e-01 9.353e-02 1.245e-01 1.093e-01 9.332e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.890e-02 4.017e-02 2.055e-02 0.000e+00 0.000e+00 0.000e+00 5.880e-02 4.006e-02 2.048e-02 5.857e-02 3.982e-02 2.031e-02 5.819e-02 3.932e-02 1.996e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.284e-01 1.186e-01 1.085e-01 9.809e-02 8.731e-02 1.278e-01 1.181e-01 1.081e-01 9.766e-02 8.691e-02 1.271e-01 1.175e-01 1.075e-01 9.715e-02 8.646e-02 1.263e-01 1.167e-01 1.068e-01 9.657e-02 8.595e-02 1.255e-01 1.159e-01 1.061e-01 9.590e-02 8.540e-02 7.663e-02 0.000e+00 7.412e-02 0.000e+00 1.773e-01 1.734e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.024e-01 1.904e-01 1.978e-01 1.861e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.590e-01 1.483e-01 1.369e-01 1.675e-01 1.561e-01 1.441e-01 1.650e-01 1.538e-01 1.420e-01 1.621e-01 1.512e-01 1.396e-01 2.035e-01 1.694e-01 1.816e-01 1.522e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.600e-01 1.532e-01 1.461e-01 1.388e-01 1.311e-01 1.574e-01 1.507e-01 1.438e-01 1.366e-01 1.291e-01 1.546e-01 1.481e-01 1.413e-01 1.343e-01 1.270e-01 1.518e-01 1.454e-01 1.387e-01 1.318e-01 1.247e-01 1.489e-01 1.424e-01 1.359e-01 1.291e-01 1.223e-01 1.249e-01 6.917e-02 1.309e-01 1.281e-01 7.217e-02 7.080e-02 1.150e-01 9.512e-02 1.078e-01 8.921e-02 1.129e-01 9.337e-02 1.105e-01 9.139e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.863e-02 4.769e-02 3.636e-02 2.465e-02 1.253e-02 6.143e-02 4.951e-02 3.739e-02 2.512e-02 1.268e-02 6.097e-02 4.935e-02 3.743e-02 2.525e-02 1.279e-02 6.046e-02 4.906e-02 3.730e-02 2.522e-02 1.280e-02 5.992e-02 4.867e-02 3.706e-02 2.509e-02 1.274e-02 5.931e-02 4.821e-02 3.674e-02 2.489e-02 1.265e-02 1.228e-01 1.205e-01 1.181e-01 1.155e-01 6.812e-02 6.696e-02 6.571e-02 6.436e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.038e-01 9.427e-02 8.429e-02 7.385e-02 1.129e-01 1.024e-01 9.152e-02 8.008e-02 1.108e-01 1.006e-01 8.990e-02 7.869e-02 1.086e-01 9.863e-02 8.816e-02 7.719e-02 1.063e-01 9.652e-02 8.630e-02 7.558e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.790e-02 4.711e-02 3.594e-02 2.437e-02 1.239e-02 5.711e-02 4.648e-02 3.547e-02 2.406e-02 1.224e-02 5.627e-02 4.581e-02 3.497e-02 2.373e-02 1.207e-02 5.537e-02 4.509e-02 3.443e-02 2.337e-02 1.189e-02 5.442e-02 4.433e-02 3.385e-02 2.298e-02 1.170e-02 2.223e-01 2.149e-01 2.070e-01 1.988e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.900e-01 1.898e-01 1.893e-01 1.887e-01 2.222e-01 2.218e-01 2.213e-01 2.205e-01 2.148e-01 2.144e-01 2.138e-01 2.129e-01 2.069e-01 2.066e-01 2.060e-01 2.051e-01 1.987e-01 1.984e-01 1.979e-01 1.971e-01 2.270e-01 2.184e-01 1.884e-01 1.814e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.806e-01 1.727e-01 1.646e-01 1.562e-01 1.475e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.825e-01 1.823e-01 1.821e-01 1.817e-01 1.812e-01 1.746e-01 1.745e-01 1.742e-01 1.738e-01 1.733e-01 1.665e-01 1.663e-01 1.660e-01 1.657e-01 1.652e-01 1.580e-01 1.578e-01 1.576e-01 1.572e-01 1.568e-01 1.491e-01 1.490e-01 1.487e-01 1.484e-01 1.480e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.797e-01 1.787e-01 1.777e-01 1.765e-01 1.753e-01 1.720e-01 1.710e-01 1.700e-01 1.689e-01 1.677e-01 1.639e-01 1.630e-01 1.621e-01 1.610e-01 1.599e-01 1.555e-01 1.547e-01 1.537e-01 1.528e-01 1.517e-01 1.468e-01 1.459e-01 1.451e-01 1.442e-01 1.432e-01 1.690e-01 0.000e+00 0.000e+00 1.926e-01 1.813e-01 1.774e-01 1.735e-01 2.025e-01 1.979e-01 1.904e-01 1.862e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.932e-01 1.893e-01 1.851e-01 1.807e-01 1.869e-01 1.832e-01 1.792e-01 1.749e-01 1.803e-01 1.767e-01 1.729e-01 1.688e-01 1.733e-01 1.699e-01 1.662e-01 1.623e-01 1.702e-01 1.586e-01 1.463e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.315e-01 1.296e-01 1.274e-01 1.678e-01 1.651e-01 1.622e-01 1.564e-01 1.540e-01 1.513e-01 1.443e-01 1.422e-01 1.397e-01 1.515e-01 1.250e-01 1.127e-01 1.555e-01 1.409e-01 1.397e-01 1.268e-01 1.638e-01 1.580e-01 1.214e-01 1.173e-01 1.508e-01 1.456e-01 1.367e-01 1.320e-01 1.403e-01 1.387e-01 7.729e-02 7.651e-02 1.333e-01 7.349e-02 0.000e+00 0.000e+00 1.148e-01 9.485e-02 1.368e-01 1.352e-01 7.529e-02 7.450e-02 1.175e-01 1.163e-01 9.704e-02 9.612e-02 0.000e+00 3.993e-02 0.000e+00 0.000e+00 4.031e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.812e-02 5.761e-02 5.709e-02 3.967e-02 3.935e-02 3.900e-02 2.030e-02 2.015e-02 1.998e-02 0.000e+00 0.000e+00 0.000e+00 1.122e-01 9.869e-02 8.439e-02 0.000e+00 0.000e+00 0.000e+00 1.180e-01 1.163e-01 1.144e-01 1.037e-01 1.022e-01 1.005e-01 8.857e-02 8.733e-02 8.594e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.037e-01 9.423e-02 8.429e-02 7.387e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 6.818e-02 6.700e-02 6.574e-02 6.439e-02 1.129e-01 1.108e-01 1.086e-01 1.062e-01 1.025e-01 1.006e-01 9.864e-02 9.651e-02 9.156e-02 8.993e-02 8.818e-02 8.630e-02 8.013e-02 7.873e-02 7.722e-02 7.560e-02 6.927e-02 0.000e+00 0.000e+00 5.064e-02 2.616e-02 4.779e-02 2.472e-02 7.231e-02 7.090e-02 0.000e+00 0.000e+00 4.983e-02 4.888e-02 2.575e-02 2.527e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.797e-02 5.716e-02 5.631e-02 5.540e-02 5.444e-02 4.718e-02 4.654e-02 4.585e-02 4.512e-02 4.435e-02 3.600e-02 3.552e-02 3.500e-02 3.446e-02 3.388e-02 2.442e-02 2.410e-02 2.375e-02 2.339e-02 2.300e-02 1.242e-02 1.226e-02 1.209e-02 1.190e-02 1.171e-02 1.722e-01 1.623e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.443e-01 1.363e-01 1.637e-01 1.544e-01 1.545e-01 1.458e-01 1.132e-01 1.280e-01 9.617e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.102e-01 1.076e-01 1.049e-01 1.020e-01 9.891e-02 1.424e-01 1.388e-01 1.351e-01 1.312e-01 1.272e-01 1.365e-01 1.331e-01 1.296e-01 1.259e-01 1.220e-01 1.303e-01 1.272e-01 1.238e-01 1.203e-01 1.166e-01 1.239e-01 1.209e-01 1.178e-01 1.145e-01 1.110e-01 1.172e-01 1.144e-01 1.115e-01 1.083e-01 1.051e-01 9.571e-02 1.204e-01 1.127e-01 1.045e-01 9.058e-02 8.509e-02 7.916e-02 0.000e+00 0.000e+00 0.000e+00 9.058e-02 8.508e-02 7.917e-02 1.136e-01 1.063e-01 9.869e-02 1.065e-01 9.978e-02 9.267e-02 9.880e-02 9.270e-02 8.617e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.832e-02 8.041e-02 7.206e-02 6.328e-02 1.010e-01 9.181e-02 8.215e-02 7.201e-02 9.805e-02 8.920e-02 7.985e-02 7.003e-02 9.497e-02 8.643e-02 7.741e-02 6.792e-02 9.177e-02 8.351e-02 7.482e-02 6.568e-02 6.291e-02 0.000e+00 5.403e-02 0.000e+00 6.027e-02 5.732e-02 0.000e+00 0.000e+00 4.352e-02 2.258e-02 3.751e-02 1.954e-02 4.174e-02 2.168e-02 3.975e-02 2.068e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 5.188e-02 4.961e-02 4.722e-02 4.471e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.460e-02 7.707e-02 6.913e-02 6.075e-02 8.063e-02 7.354e-02 6.602e-02 5.805e-02 7.646e-02 6.979e-02 6.272e-02 5.521e-02 7.204e-02 6.581e-02 5.923e-02 5.227e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 4.254e-02 3.270e-02 2.234e-02 1.146e-02 4.067e-02 3.124e-02 2.134e-02 1.094e-02 3.865e-02 2.963e-02 2.019e-02 1.034e-02 3.650e-02 2.779e-02 1.882e-02 9.590e-03 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.029e-01 1.005e-01 9.798e-02 9.530e-02 9.248e-02 9.534e-02 9.313e-02 9.080e-02 8.834e-02 8.576e-02 8.742e-02 8.542e-02 8.331e-02 8.108e-02 7.874e-02 7.917e-02 7.738e-02 7.549e-02 7.350e-02 7.141e-02 7.059e-02 6.901e-02 6.735e-02 6.560e-02 6.375e-02 8.824e-02 8.037e-02 7.207e-02 6.331e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 8.454e-02 8.062e-02 7.646e-02 7.205e-02 7.705e-02 7.352e-02 6.978e-02 6.580e-02 6.913e-02 6.601e-02 6.270e-02 5.917e-02 6.078e-02 5.808e-02 5.521e-02 5.216e-02 6.293e-02 0.000e+00 4.853e-02 3.326e-02 1.710e-02 0.000e+00 0.000e+00 6.098e-02 5.886e-02 5.657e-02 0.000e+00 0.000e+00 0.000e+00 4.705e-02 4.546e-02 4.373e-02 3.228e-02 3.121e-02 3.005e-02 1.661e-02 1.607e-02 1.548e-02 5.408e-02 4.202e-02 0.000e+00 0.000e+00 2.879e-02 2.264e-02 4.851e-02 0.000e+00 2.597e-02 7.285e-02 5.853e-02 0.000e+00 5.855e-02 3.429e-02 4.746e-02 4.265e-02 0.000e+00 2.566e-02 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 2.092e-02 1.632e-02 1.136e-02 5.943e-03 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 3.226e-02 2.973e-02 2.704e-02 2.416e-02 2.498e-02 2.307e-02 2.101e-02 1.878e-02 1.719e-02 1.591e-02 1.453e-02 1.302e-02 8.879e-03 8.241e-03 7.546e-03 6.786e-03 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 1.848e-02 1.504e-02 1.147e-02 7.805e-03 4.014e-03 1.536e-02 1.264e-02 9.767e-03 6.740e-03 3.517e-03 1.200e-02 9.958e-03 7.775e-03 5.430e-03 2.870e-03 8.347e-03 6.981e-03 5.506e-03 3.895e-03 2.093e-03 4.362e-03 3.678e-03 2.933e-03 2.108e-03 1.165e-03 
 # This file was generated by the deal.II library.
 
@@ -6514,13 +6514,13 @@ DEAL:cg::Convergence step 629 value 9.83996e-07
 -0.625000 0.625000 0.127556 
 
 -0.750000 0.750000 0.0728113 
--0.625000 0.750000 0.0957231 
+-0.625000 0.750000 0.0957230 
 
 
 -0.625000 0.625000 0.127556 
 -0.500000 0.625000 0.151536 
 
--0.625000 0.750000 0.0957231 
+-0.625000 0.750000 0.0957230 
 -0.500000 0.750000 0.112752 
 
 
@@ -6553,13 +6553,13 @@ DEAL:cg::Convergence step 629 value 9.83996e-07
 
 
 -0.750000 0.750000 0.0728113 
--0.625000 0.750000 0.0957231 
+-0.625000 0.750000 0.0957230 
 
 -0.750000 0.875000 0.0419317 
 -0.625000 0.875000 0.0539714 
 
 
--0.625000 0.750000 0.0957231 
+-0.625000 0.750000 0.0957230 
 -0.500000 0.750000 0.112752 
 
 -0.625000 0.875000 0.0539714 
diff --git a/tests/lac/vector_accumulation.cc b/tests/lac/vector_accumulation.cc
new file mode 100644 (file)
index 0000000..d4f6bf8
--- /dev/null
@@ -0,0 +1,64 @@
+//-----------------------  vector_accumulation.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//-----------------------  vector_accumulation.cc  ---------------------------
+
+// check that the l2 norm is exactly the same for many runs on random vector
+// size with random vector entries. this is to ensure that the result is
+// reproducible also when parallel evaluation is done
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/vector.h>
+#include <cmath>
+#include <fstream>
+#include <iomanip>
+
+
+
+
+template <typename number>
+void check_norms ()
+{
+  for (unsigned int test=0; test<20; ++test)
+    {
+      const unsigned int size = rand() % 100000;
+      Vector<number> vec (size);
+      for (unsigned int i=0; i<size; ++i)
+        vec(i) = static_cast<number>(rand())/static_cast<number>(RAND_MAX);
+      const typename Vector<number>::real_type norm = vec.l2_norm();
+      for (unsigned int i=0; i<30; ++i)
+        Assert (vec.l2_norm() == norm, ExcInternalError());
+
+      Vector<number> vec2 (vec);
+      for (unsigned int i=0; i<10; ++i)
+        Assert (vec2.l2_norm() == norm, ExcInternalError());
+    }
+}
+
+
+int main()
+{
+  std::ofstream logfile("vector_accumulation/output");
+  deallog << std::fixed;
+  deallog << std::setprecision(2);
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  check_norms<float>();
+  check_norms<double>();
+  check_norms<long double>();
+  check_norms<std::complex<double> >();
+  deallog << "OK" << std::endl;
+}
+
+
diff --git a/tests/lac/vector_accumulation/cmp/generic b/tests/lac/vector_accumulation/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/lac/vector_large_numbers.cc b/tests/lac/vector_large_numbers.cc
new file mode 100644 (file)
index 0000000..edb5b8f
--- /dev/null
@@ -0,0 +1,77 @@
+//------------------------  vector_large_numbers.cc  -------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//------------------------  vector_large_numbers.cc  -------------------------
+
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/vector.h>
+#include <cmath>
+#include <fstream>
+#include <iomanip>
+
+
+
+void check_large_numbers()
+{
+  Vector<float> v(10);
+  v(0) = 1e13;
+  v(1) = 1e19;
+  v(2) = 1e21;
+  v(4) = 1.;
+  v(7) = 1e20;
+
+  const double correct = std::sqrt(1e26 + 1e38 + 1e42 + 1e40 + 1.);
+  Assert (std::abs(v.l2_norm() - correct) < 1e-6*correct, ExcInternalError());
+
+  v = 0.;
+  v(5) = 1e-30;
+  v(9) = 1e-32;
+  const double correct2 = std::sqrt(1e-60 + 1e-64);
+  Assert (std::abs(v.l2_norm() - correct2) < 1e-6*correct2, ExcInternalError());
+
+  Vector<double> w(7);
+  w(0) = 1e232;
+  w(6) = 1e231;
+  w(3) = 1e200;
+  const double correct3 = std::sqrt(100. + 1.) * 1e231;
+  Assert (std::abs(w.l2_norm() - correct3) < 1e-13*correct3, ExcInternalError());
+
+  w = 0;
+  w(1) = 1e-302;
+  w(2) = 1e-303;
+  w(3) = 2e-303;
+  w(4) = 3e-303;
+  w(5) = -1e-303;
+  const double correct4 = std::sqrt(100. + 1. + 4. + 9 + 1.) * 1e-303;
+  Assert (std::abs(w.l2_norm() - correct4) < 1e-13*correct4, ExcInternalError());
+
+  const double correct5 = std::pow(1000. + 1. + 8. + 27 + 1., 1./3.) * 1e-303;
+  Assert (std::abs(w.lp_norm(3.) - correct5) < 1e-13*correct5, ExcInternalError());
+  deallog << "OK" << std::endl;
+}
+
+
+
+int main()
+{
+  std::ofstream logfile("vector_large_numbers/output");
+  deallog << std::fixed;
+  deallog << std::setprecision(2);
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  check_large_numbers();
+}
+
+
diff --git a/tests/lac/vector_large_numbers/cmp/generic b/tests/lac/vector_large_numbers/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/lac/vector_norms.cc b/tests/lac/vector_norms.cc
new file mode 100644 (file)
index 0000000..9ada6fa
--- /dev/null
@@ -0,0 +1,126 @@
+//----------------------------  vector_norms.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  vector_norms.cc  ---------------------------
+
+// checks that the l1, l2, lp norm is computed correctly for deal.II vectors
+// (check the summation algorithm), including an accuracy test (should not
+// lose more than 1 decimal also for 200000 vector entries)
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/vector.h>
+#include <cmath>
+#include <fstream>
+#include <iomanip>
+
+
+
+
+template <typename number>
+void check_norms ()
+{
+  const number acc = 1e1*std::numeric_limits<number>::epsilon();
+  unsigned int skip = 73;
+  for (unsigned int size=1; size<200000; size+=skip)
+    {
+                                // test correctness
+      if (size > 10000)
+        skip += 17;
+      Vector<number> vec(size);
+      for (unsigned int i=0; i<size; ++i)
+        vec(i) = i+1;
+
+      const number l1_norm = vec.l1_norm();
+      Assert (std::abs(l1_norm-0.5*size*(size+1)) < acc*0.5*size*(size+1),
+              ExcInternalError());
+
+                                // test accuracy of summation
+      const long double value = 3.14159265358979323846;
+      vec = (number)value;
+      const number l1_norma = vec.l1_norm();
+      Assert (std::abs(l1_norma-value*size) < acc*size*value,
+              ExcInternalError());
+      const number l2_norma = vec.l2_norm();
+      Assert (std::abs(l2_norma-value*std::sqrt((number)size)) < acc*std::sqrt(size)*value,
+              ExcInternalError());
+      const number lp_norma = vec.lp_norm(3.);
+      Assert (std::abs(lp_norma-value*std::pow(static_cast<number>(size),
+                                               static_cast<number>(1./3.))) <
+              std::max(acc,number(1e-15))*std::pow(static_cast<number>(size),
+                                                   static_cast<number>(1./3.))*value,
+              ExcInternalError());
+    }
+}
+
+
+template <typename number>
+void check_complex_norms ()
+{
+  const number acc = 1e2*std::numeric_limits<number>::epsilon();
+  unsigned int skip = 73;
+  for (unsigned int size=1; size<100000; size+=skip)
+    {
+                                // test correctness
+      if (size > 10000)
+        skip += 17;
+      Vector<std::complex<number> > vec(size);
+      long double sum = 0.;
+      for (unsigned int i=0; i<size; ++i)
+        {
+          vec(i) = std::complex<number>(i+1,i+2);
+          sum += std::sqrt((long double)(i+1)*(i+1) + (long double)(i+2)*(i+2));
+        }
+
+      const number l1_norm = vec.l1_norm();
+      Assert (std::abs(l1_norm-sum) < acc*sum,
+              ExcInternalError());
+
+                                // test accuracy of summation
+      const std::complex<long double> value (3.14159265358979323846, 0.1);
+      vec = std::complex<number>(value);
+      const number l1_norma = vec.l1_norm();
+      Assert (std::abs(l1_norma-std::abs(value)*size) <
+              acc*size*std::abs(value),
+              ExcInternalError());
+      const number l2_norma = vec.l2_norm();
+      Assert (std::abs(l2_norma-std::abs(value)*std::sqrt((number)size)) <
+              acc*std::sqrt((number)size)*std::abs(value),
+              ExcInternalError());
+      const number lp_norma = vec.lp_norm(3.);
+      Assert (std::abs(lp_norma-std::abs(value)*
+                       std::pow(static_cast<number>(size),
+                                static_cast<number>(1./3.))) <
+              acc*std::pow(static_cast<number>(size),
+                           static_cast<number>(1./3.))*std::abs(value),
+              ExcInternalError());
+    }
+}
+
+
+int main()
+{
+  std::ofstream logfile("vector_norms/output");
+  deallog << std::fixed;
+  deallog << std::setprecision(2);
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  check_norms<float>();
+  check_norms<double>();
+  check_norms<long double>();
+  check_complex_norms<double>();
+  check_complex_norms<float>();
+  deallog << "OK" << std::endl;
+}
+
+
diff --git a/tests/lac/vector_norms/cmp/generic b/tests/lac/vector_norms/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/matrix_free/compress_constraints.cc b/tests/matrix_free/compress_constraints.cc
new file mode 100644 (file)
index 0000000..4d12c1a
--- /dev/null
@@ -0,0 +1,95 @@
+//------------------------  compress_constraints.cc  ------------------------
+//    $Id$
+//    Version: $Name$
+//
+//------------------------  compress_constraints.cc  ------------------------
+
+// this function tests whether the compression of constraint weights
+// (constraint pool) works properly
+
+#include "../tests.h"
+#include <deal.II/base/function.h>
+#include <deal.II/matrix_free/matrix_free.h>
+
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/utilities.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/dofs/dof_tools.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/lac/constraint_matrix.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/numerics/vector_tools.h>
+
+#include "create_mesh.h"
+
+std::ofstream logfile("compress_constraints/output");
+
+
+
+template <int dim>
+void test ()
+{
+  Triangulation<dim> tria;
+  create_mesh (tria);
+  tria.begin_active ()->set_refine_flag();
+  tria.execute_coarsening_and_refinement();
+  typename Triangulation<dim>::active_cell_iterator cell, endc;
+  cell = tria.begin_active ();
+  endc = tria.end();
+  for (; cell!=endc; ++cell)
+    if (cell->center().norm()<0.5)
+      cell->set_refine_flag();
+  tria.execute_coarsening_and_refinement();
+  tria.begin(tria.n_levels()-1)->set_refine_flag();
+  tria.last()->set_refine_flag();
+  tria.execute_coarsening_and_refinement();
+  tria.refine_global(1);
+  for (unsigned int i=0; i<10-3*dim; ++i)
+    {
+      cell = tria.begin_active ();
+      endc = tria.end();
+      unsigned int counter = 0;
+      for (; cell!=endc; ++cell, ++counter)
+        if (counter % (7-i) == 0)
+          cell->set_refine_flag();
+      tria.execute_coarsening_and_refinement();
+    }
+
+  FE_Q<dim> fe (2);
+  DoFHandler<dim> dof (tria);
+  dof.distribute_dofs(fe);
+  ConstraintMatrix constraints;
+  DoFTools::make_hanging_node_constraints(dof, constraints);
+  VectorTools::interpolate_boundary_values (dof, 0, ZeroFunction<dim>(),
+                                            constraints);
+  constraints.close();
+
+  const QGauss<1> quad(2);
+  MatrixFree<dim> mf;
+  mf.reinit (dof, constraints, quad);
+
+  deallog << "Number of hanging nodes: "
+          << constraints.n_constraints() << std::endl;
+  deallog << "Number of different constraint weights: "
+          << mf.n_constraint_pool_entries() << std::endl;
+}
+
+
+int main ()
+{
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+
+  deallog << std::setprecision (3);
+
+  {
+    deallog.threshold_double(5.e-11);
+    deallog.push("2d");
+    test<2>();
+    deallog.pop();
+    deallog.push("3d");
+    test<3>();
+    deallog.pop();
+  }
+}
diff --git a/tests/matrix_free/compress_constraints/cmp/generic b/tests/matrix_free/compress_constraints/cmp/generic
new file mode 100644 (file)
index 0000000..07c8137
--- /dev/null
@@ -0,0 +1,5 @@
+
+DEAL:2d::Number of hanging nodes: 2211
+DEAL:2d::Number of different constraint weights: 4
+DEAL:3d::Number of hanging nodes: 9295
+DEAL:3d::Number of different constraint weights: 10
diff --git a/tests/matrix_free/compress_mapping.cc b/tests/matrix_free/compress_mapping.cc
new file mode 100644 (file)
index 0000000..35a2c51
--- /dev/null
@@ -0,0 +1,232 @@
+//------------------------  compress_mapping.cc  ------------------------
+//    $Id$
+//    Version: $Name$
+//
+//------------------------  compress_mapping.cc  ------------------------
+
+// this function tests whether the compression of mapping (Jacobians) works
+// properly. There should only be a few different Jacobians also when there
+// are many cells as the weights should be identical
+
+#include "../tests.h"
+#include <deal.II/base/function.h>
+#include <deal.II/matrix_free/matrix_free.h>
+
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/utilities.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/dofs/dof_tools.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/lac/constraint_matrix.h>
+#include <deal.II/fe/fe_q.h>
+
+#include "create_mesh.h"
+
+std::ofstream logfile("compress_mapping/output");
+
+
+
+template <int dim>
+void test ()
+{
+  deallog << "General mesh" << std::endl;
+  Triangulation<dim> tria;
+  create_mesh (tria);
+  tria.begin_active ()->set_refine_flag();
+  tria.execute_coarsening_and_refinement();
+  typename Triangulation<dim>::active_cell_iterator cell, endc;
+  cell = tria.begin_active ();
+  endc = tria.end();
+  for (; cell!=endc; ++cell)
+    if (cell->center().norm()<0.5)
+      cell->set_refine_flag();
+  tria.execute_coarsening_and_refinement();
+  tria.begin(tria.n_levels()-1)->set_refine_flag();
+  tria.execute_coarsening_and_refinement();
+  for (unsigned int i=0; i<5-dim; ++i)
+    {
+      cell = tria.begin_active ();
+      endc = tria.end();
+      unsigned int counter = 0;
+      for (; cell!=endc; ++cell, ++counter)
+        if (cell->center()[0] < 5.)
+          cell->set_refine_flag();
+      tria.execute_coarsening_and_refinement();
+    }
+
+  FE_Q<dim> fe (1);
+  DoFHandler<dim> dof (tria);
+  dof.distribute_dofs(fe);
+  ConstraintMatrix constraints;
+  DoFTools::make_hanging_node_constraints(dof, constraints);
+  constraints.close();
+
+  const QGauss<1> quad(2);
+  MatrixFree<dim> mf;
+  typename MatrixFree<dim>::AdditionalData data;
+  data.tasks_parallel_scheme =
+    MatrixFree<dim>::AdditionalData::none;
+  mf.reinit (dof, constraints, quad, data);
+
+  const unsigned int n_macro_cells = mf.n_macro_cells();
+  const unsigned int n_cartesian = mf.get_mapping_info().cartesian_data.size();
+  const unsigned int n_affine = mf.get_mapping_info().affine_data.size();
+  const unsigned int n_general = mf.get_mapping_info().mapping_data_gen[0].rowstart_jacobians.size()-1;
+
+                                // should do at least some compression
+  Assert(n_cartesian+n_affine+n_general < n_macro_cells, ExcInternalError());
+  Assert(n_cartesian * 5 < n_macro_cells, ExcInternalError());
+  Assert(n_affine * 10 < n_macro_cells, ExcInternalError());
+  deallog << "OK" << std::endl;
+}
+
+
+
+template <int dim>
+void test_cube ()
+{
+  deallog << "Hyper cube" << std::endl;
+  Triangulation<dim> tria;
+  GridGenerator::hyper_cube(tria);
+  tria.refine_global(5-dim);
+
+  FE_Q<dim> fe (1);
+  DoFHandler<dim> dof (tria);
+  dof.distribute_dofs(fe);
+  ConstraintMatrix constraints;
+  DoFTools::make_hanging_node_constraints(dof, constraints);
+  constraints.close();
+
+  const QGauss<1> quad(2);
+  MatrixFree<dim> mf;
+  typename MatrixFree<dim>::AdditionalData data;
+  data.tasks_parallel_scheme =
+    MatrixFree<dim>::AdditionalData::none;
+  mf.reinit (dof, constraints, quad, data);
+
+  const unsigned int n_macro_cells = mf.n_macro_cells();
+  const unsigned int n_cartesian = mf.get_mapping_info().cartesian_data.size();
+  const unsigned int n_affine = mf.get_mapping_info().affine_data.size();
+  const unsigned int n_general = mf.get_mapping_info().mapping_data_gen[0].rowstart_jacobians.size()-1;
+
+                                // should have one Cartesian cell and no other
+                                // cell type
+  AssertDimension(n_cartesian, 1);
+  AssertDimension(n_affine, 0);
+  AssertDimension(n_general, 0);
+  Assert(n_macro_cells > 1, ExcInternalError());
+  deallog << "OK" << std::endl;
+}
+
+
+
+void create_parallelogram(Triangulation<2> &tria)
+{
+  const int dim = 2;
+  std::vector<Point<dim> > points (4);
+  points[0] = Point<dim> (0, 0);
+  points[1] = Point<dim> (0, 1);
+  points[2] = Point<dim> (1 ,0.5);
+  points[3] = Point<dim> (1 ,1.5);
+
+  std::vector<CellData<dim> > cells(1);
+  cells[0].vertices[0] = 0;
+  cells[0].vertices[1] = 2;
+  cells[0].vertices[2] = 1;
+  cells[0].vertices[3] = 3;
+  cells[0].material_id = 0;
+
+  tria.create_triangulation (points, cells, SubCellData());
+}
+
+
+
+void create_parallelogram(Triangulation<3> &tria)
+{
+  const int dim = 3;
+  std::vector<Point<dim> > points (8);
+  points[0] = Point<dim> (0,0,0);
+  points[1] = Point<dim> (0,1.,0.5);
+  points[2] = Point<dim> (0,0,1);
+  points[3] = Point<dim> (0,1.,1.5);
+  points[4] = Point<dim> (1.,0,1.);
+  points[5] = Point<dim> (1.,1.,1.5);
+  points[6] = Point<dim> (1.,0,2);
+  points[7] = Point<dim> (1.,1.,2.5);
+
+  std::vector<CellData<dim> > cells(1);
+  cells[0].vertices[0] = 0;
+  cells[0].vertices[1] = 4;
+  cells[0].vertices[2] = 1;
+  cells[0].vertices[3] = 5;
+  cells[0].vertices[4] = 2;
+  cells[0].vertices[5] = 6;
+  cells[0].vertices[6] = 3;
+  cells[0].vertices[7] = 7;
+  cells[0].material_id = 0;
+
+  tria.create_triangulation (points, cells, SubCellData());
+}
+
+
+
+template <int dim>
+void test_parallelogram ()
+{
+  deallog << "Parallelogram" << std::endl;
+  Triangulation<dim> tria;
+  create_parallelogram(tria);
+  tria.refine_global(5-dim);
+
+  FE_Q<dim> fe (1);
+  DoFHandler<dim> dof (tria);
+  dof.distribute_dofs(fe);
+  ConstraintMatrix constraints;
+  DoFTools::make_hanging_node_constraints(dof, constraints);
+  constraints.close();
+
+  const QGauss<1> quad(2);
+  MatrixFree<dim> mf;
+  typename MatrixFree<dim>::AdditionalData data;
+  data.tasks_parallel_scheme =
+    MatrixFree<dim>::AdditionalData::none;
+  mf.reinit (dof, constraints, quad, data);
+
+  const unsigned int n_macro_cells = mf.n_macro_cells();
+  const unsigned int n_cartesian = mf.get_mapping_info().cartesian_data.size();
+  const unsigned int n_affine = mf.get_mapping_info().affine_data.size();
+  const unsigned int n_general = mf.get_mapping_info().mapping_data_gen[0].rowstart_jacobians.size()-1;
+
+                                // should have one affine cell and no other
+                                // cell type
+  AssertDimension(n_cartesian, 0);
+  AssertDimension(n_affine, 1);
+  AssertDimension(n_general, 0);
+  Assert(n_macro_cells > 1, ExcInternalError());
+  deallog << "OK" << std::endl;
+}
+
+
+
+int main ()
+{
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+
+  deallog << std::setprecision (3);
+
+  {
+    deallog.threshold_double(5.e-11);
+    deallog.push("2d");
+    test<2>();
+    test_cube<2>();
+    test_parallelogram<2>();
+    deallog.pop();
+    deallog.push("3d");
+    test<3>();
+    test_cube<3>();
+    test_parallelogram<3>();
+    deallog.pop();
+  }
+}
diff --git a/tests/matrix_free/compress_mapping/cmp/generic b/tests/matrix_free/compress_mapping/cmp/generic
new file mode 100644 (file)
index 0000000..9ced1ac
--- /dev/null
@@ -0,0 +1,13 @@
+
+DEAL:2d::General mesh
+DEAL:2d::OK
+DEAL:2d::Hyper cube
+DEAL:2d::OK
+DEAL:2d::Parallelogram
+DEAL:2d::OK
+DEAL:3d::General mesh
+DEAL:3d::OK
+DEAL:3d::Hyper cube
+DEAL:3d::OK
+DEAL:3d::Parallelogram
+DEAL:3d::OK
index 104d592e3b43bd6be6d9ac29fea77227545d6280..3cedaf050d582122cdf5e74b35f9f80e30dcbdc0 100644 (file)
@@ -8,7 +8,7 @@
 // this function tests the correctness of the implementation of matrix free
 // matrix-vector products by comparing with the result of deal.II sparse
 // matrix. The mesh uses a hyperball mesh with hanging nodes generated by
-// randomly refining some cells. Same as matrix_vector_06, but uses FE_DGQ
+// randomly refining some cells. Similar to matrix_vector_06, but uses FE_DGQ
 // which do not have any connections because DoFs do not overlap and we do not
 // evaluate flux terms (this stresses the partitioning in a different way
 // where non-connected DoFs are to be handled)
diff --git a/tests/mpi/step-40.cc b/tests/mpi/step-40.cc
new file mode 100644 (file)
index 0000000..caef596
--- /dev/null
@@ -0,0 +1,397 @@
+//---------------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2009, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+
+// A lightly adapted version of the step-40 tutorial program
+
+#include "../tests.h"
+#include <deal.II/base/quadrature_lib.h>
+#include <deal.II/base/function.h>
+#include <deal.II/base/mpi.h>
+#include <deal.II/lac/vector.h>
+#include <deal.II/lac/full_matrix.h>
+#include <deal.II/lac/solver_cg.h>
+#include <deal.II/lac/constraint_matrix.h>
+#include <deal.II/lac/compressed_simple_sparsity_pattern.h>
+
+#include <deal.II/lac/petsc_parallel_sparse_matrix.h>
+#include <deal.II/lac/petsc_parallel_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_tools.h>
+#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/numerics/vector_tools.h>
+#include <deal.II/numerics/data_out.h>
+#include <deal.II/numerics/error_estimator.h>
+
+#include <deal.II/base/utilities.h>
+#include <deal.II/base/conditional_ostream.h>
+#include <deal.II/base/index_set.h>
+#include <deal.II/lac/sparsity_tools.h>
+#include <deal.II/distributed/tria.h>
+#include <deal.II/distributed/grid_refinement.h>
+
+#include <fstream>
+#include <iostream>
+
+namespace Step40
+{
+  using namespace dealii;
+
+
+  template <int dim>
+  class LaplaceProblem
+  {
+    public:
+      LaplaceProblem ();
+      ~LaplaceProblem ();
+
+      void run ();
+
+    private:
+      void setup_system ();
+      void assemble_system ();
+      void solve ();
+      void refine_grid ();
+
+      MPI_Comm mpi_communicator;
+
+      parallel::distributed::Triangulation<dim>   triangulation;
+
+      DoFHandler<dim>      dof_handler;
+      FE_Q<dim>            fe;
+
+      IndexSet             locally_owned_dofs;
+      IndexSet             locally_relevant_dofs;
+
+      ConstraintMatrix     constraints;
+
+      PETScWrappers::MPI::SparseMatrix system_matrix;
+      PETScWrappers::MPI::Vector locally_relevant_solution;
+      PETScWrappers::MPI::Vector system_rhs;
+
+      ConditionalOStream                pcout;
+  };
+
+
+
+
+  template <int dim>
+  LaplaceProblem<dim>::LaplaceProblem ()
+                  :
+                  mpi_communicator (MPI_COMM_WORLD),
+                  triangulation (mpi_communicator,
+                                 typename Triangulation<dim>::MeshSmoothing
+                                 (Triangulation<dim>::smoothing_on_refinement |
+                                  Triangulation<dim>::smoothing_on_coarsening)),
+                  dof_handler (triangulation),
+                  fe (2),
+                  pcout (Utilities::MPI::this_mpi_process(mpi_communicator)
+                          == 0
+                        ?
+                        deallog.get_file_stream()
+                        :
+                        std::cout,
+                         (Utilities::MPI::this_mpi_process(mpi_communicator)
+                          == 0))
+  {}
+
+
+
+  template <int dim>
+  LaplaceProblem<dim>::~LaplaceProblem ()
+  {
+    dof_handler.clear ();
+  }
+
+
+
+  template <int dim>
+  void LaplaceProblem<dim>::setup_system ()
+  {
+    dof_handler.distribute_dofs (fe);
+
+    locally_owned_dofs = dof_handler.locally_owned_dofs ();
+    DoFTools::extract_locally_relevant_dofs (dof_handler,
+                                             locally_relevant_dofs);
+
+    locally_relevant_solution.reinit (mpi_communicator,
+                                      locally_owned_dofs,
+                                      locally_relevant_dofs);
+    locally_relevant_solution = 0;
+    system_rhs.reinit (mpi_communicator,
+                       dof_handler.n_dofs(),
+                       dof_handler.n_locally_owned_dofs());
+    system_rhs = 0;
+
+    constraints.clear ();
+    constraints.reinit (locally_relevant_dofs);
+    DoFTools::make_hanging_node_constraints (dof_handler, constraints);
+    VectorTools::interpolate_boundary_values (dof_handler,
+                                              0,
+                                              ZeroFunction<dim>(),
+                                              constraints);
+    constraints.close ();
+
+    CompressedSimpleSparsityPattern csp (dof_handler.n_dofs(),
+                                         dof_handler.n_dofs(),
+                                         locally_relevant_dofs);
+    DoFTools::make_sparsity_pattern (dof_handler,
+                                     csp,
+                                     constraints, false);
+    SparsityTools::distribute_sparsity_pattern (csp,
+                                                dof_handler.n_locally_owned_dofs_per_processor(),
+                                                mpi_communicator,
+                                                locally_relevant_dofs);
+    system_matrix.reinit (mpi_communicator,
+                          csp,
+                          dof_handler.n_locally_owned_dofs_per_processor(),
+                          dof_handler.n_locally_owned_dofs_per_processor(),
+                          Utilities::MPI::this_mpi_process(mpi_communicator));
+  }
+
+
+
+
+  template <int dim>
+  void LaplaceProblem<dim>::assemble_system ()
+  {
+    const QGauss<dim>  quadrature_formula(3);
+
+    FEValues<dim> fe_values (fe, quadrature_formula,
+                             update_values    |  update_gradients |
+                             update_quadrature_points |
+                             update_JxW_values);
+
+    const unsigned int   dofs_per_cell = fe.dofs_per_cell;
+    const unsigned int   n_q_points    = quadrature_formula.size();
+
+    FullMatrix<double>   cell_matrix (dofs_per_cell, dofs_per_cell);
+    Vector<double>       cell_rhs (dofs_per_cell);
+
+    std::vector<unsigned int> local_dof_indices (dofs_per_cell);
+
+    typename DoFHandler<dim>::active_cell_iterator
+      cell = dof_handler.begin_active(),
+      endc = dof_handler.end();
+    for (; cell!=endc; ++cell)
+      if (cell->is_locally_owned())
+        {
+          cell_matrix = 0;
+          cell_rhs = 0;
+
+          fe_values.reinit (cell);
+
+          for (unsigned int q_point=0; q_point<n_q_points; ++q_point)
+            {
+              const double
+                rhs_value
+                = (fe_values.quadrature_point(q_point)[1]
+                   >
+                   0.5+0.25*std::sin(4.0 * numbers::PI *
+                                     fe_values.quadrature_point(q_point)[0])
+                   ? 1 : -1);
+
+              for (unsigned int i=0; i<dofs_per_cell; ++i)
+                {
+                  for (unsigned int j=0; j<dofs_per_cell; ++j)
+                    cell_matrix(i,j) += (fe_values.shape_grad(i,q_point) *
+                                         fe_values.shape_grad(j,q_point) *
+                                         fe_values.JxW(q_point));
+
+                  cell_rhs(i) += (rhs_value *
+                                  fe_values.shape_value(i,q_point) *
+                                  fe_values.JxW(q_point));
+                }
+            }
+
+          cell->get_dof_indices (local_dof_indices);
+          constraints.distribute_local_to_global (cell_matrix,
+                                                  cell_rhs,
+                                                  local_dof_indices,
+                                                  system_matrix,
+                                                  system_rhs);
+        }
+
+    system_matrix.compress ();
+    system_rhs.compress ();
+  }
+
+
+
+
+  template <int dim>
+  void LaplaceProblem<dim>::solve ()
+  {
+    PETScWrappers::MPI::Vector
+      completely_distributed_solution (mpi_communicator,
+                                       dof_handler.n_dofs(),
+                                       dof_handler.n_locally_owned_dofs());
+
+    SolverControl solver_control (dof_handler.n_dofs(), 1e-12);
+
+    PETScWrappers::SolverCG solver(solver_control, mpi_communicator);
+
+    PETScWrappers::PreconditionBoomerAMG
+      preconditioner(system_matrix,
+                     PETScWrappers::PreconditionBoomerAMG::AdditionalData(true));
+
+    solver.solve (system_matrix, completely_distributed_solution, system_rhs,
+                  preconditioner);
+
+    pcout << "   Solved in " << solver_control.last_step()
+          << " iterations." << std::endl;
+
+    constraints.distribute (completely_distributed_solution);
+
+    locally_relevant_solution = completely_distributed_solution;
+    locally_relevant_solution.update_ghost_values();
+  }
+
+
+
+
+  template <int dim>
+  void LaplaceProblem<dim>::refine_grid ()
+  {
+    Vector<float> estimated_error_per_cell (triangulation.n_active_cells());
+    KellyErrorEstimator<dim>::estimate (dof_handler,
+                                        QGauss<dim-1>(3),
+                                        typename FunctionMap<dim>::type(),
+                                        locally_relevant_solution,
+                                        estimated_error_per_cell);
+    parallel::distributed::GridRefinement::
+      refine_and_coarsen_fixed_number (triangulation,
+                                       estimated_error_per_cell,
+                                       0.3, 0.03);
+    triangulation.execute_coarsening_and_refinement ();
+  }
+
+
+
+
+  template <int dim>
+  void LaplaceProblem<dim>::run ()
+  {
+    const unsigned int n_cycles = 3;
+    for (unsigned int cycle=0; cycle<n_cycles; ++cycle)
+      {
+        pcout << "Cycle " << cycle << ':' << std::endl;
+
+        if (cycle == 0)
+          {
+            GridGenerator::hyper_cube (triangulation);
+            triangulation.refine_global (5);
+          }
+        else
+          refine_grid ();
+
+        setup_system ();
+
+        pcout << "   Number of active cells:       "
+              << triangulation.n_global_active_cells()
+              << std::endl
+             << "      ";
+       for (unsigned int i=0; i<Utilities::MPI::n_mpi_processes(mpi_communicator); ++i)
+         pcout << triangulation.n_locally_owned_active_cells_per_processor()[i]
+               << '+';
+       pcout << std::endl;
+
+       pcout << "   Number of degrees of freedom: "
+              << dof_handler.n_dofs()
+              << std::endl
+             << "      ";
+       for (unsigned int i=0; i<Utilities::MPI::n_mpi_processes(mpi_communicator); ++i)
+         pcout << dof_handler.n_locally_owned_dofs_per_processor()[i]
+               << '+';
+       pcout << std::endl;
+
+        assemble_system ();
+        solve ();
+
+        pcout << std::endl;
+      }
+  }
+}
+
+
+int test_mpi ()
+{
+
+  try
+    {
+      using namespace dealii;
+      using namespace Step40;
+
+      deallog.depth_console (0);
+
+      {
+        LaplaceProblem<2> laplace_problem_2d;
+        laplace_problem_2d.run ();
+      }
+    }
+  catch (std::exception &exc)
+    {
+      std::cerr << std::endl << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+                << exc.what() << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+
+      return 1;
+    }
+  catch (...)
+    {
+      std::cerr << std::endl << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+
+  return 0;
+}
+
+
+
+
+int main(int argc, char *argv[])
+{
+  Utilities::MPI::MPI_InitFinalize mpi (argc, argv);
+
+  if (Utilities::MPI::this_mpi_process (MPI_COMM_WORLD) == 0)
+    {
+      std::ofstream logfile(output_file_for_mpi("step-40").c_str());
+      deallog.attach(logfile);
+      deallog.depth_console(0);
+      deallog.threshold_double(1.e-10);
+
+      deallog.push("mpi");
+      test_mpi();
+      deallog.pop();
+    }
+  else
+    test_mpi();
+}
diff --git a/tests/mpi/step-40/ncpu_10/cmp/generic b/tests/mpi/step-40/ncpu_10/cmp/generic
new file mode 100644 (file)
index 0000000..b5ba2f8
--- /dev/null
@@ -0,0 +1,28 @@
+
+Cycle 0:
+   Number of active cells:       1024
+      104+100+104+100+104+104+100+104+100+104+
+   Number of degrees of freedom: 4225
+      465+416+432+416+416+432+416+416+400+416+
+DEAL:mpi::Starting value 0.695309
+DEAL:mpi::Convergence step 10 value 0
+   Solved in 10 iterations.
+
+Cycle 1:
+   Number of active cells:       1948
+      196+195+195+194+194+194+194+195+195+196+
+   Number of degrees of freedom: 8375
+      885+845+845+849+812+840+843+817+819+820+
+DEAL:mpi::Starting value 0.832002
+DEAL:mpi::Convergence step 10 value 0
+   Solved in 10 iterations.
+
+Cycle 2:
+   Number of active cells:       3664
+      366+366+367+366+367+366+367+367+366+366+
+   Number of degrees of freedom: 16165
+      1665+1610+1622+1641+1594+1640+1642+1578+1611+1562+
+DEAL:mpi::Starting value 1.03315
+DEAL:mpi::Convergence step 11 value 0
+   Solved in 11 iterations.
+
diff --git a/tests/mpi/step-40/ncpu_3/cmp/generic b/tests/mpi/step-40/ncpu_3/cmp/generic
new file mode 100644 (file)
index 0000000..d7d7c5e
--- /dev/null
@@ -0,0 +1,28 @@
+
+Cycle 0:
+   Number of active cells:       1024
+      340+344+340+
+   Number of degrees of freedom: 4225
+      1453+1412+1360+
+DEAL:mpi::Starting value 0.694820
+DEAL:mpi::Convergence step 10 value 0
+   Solved in 10 iterations.
+
+Cycle 1:
+   Number of active cells:       1960
+      652+656+652+
+   Number of degrees of freedom: 8421
+      2868+2803+2750+
+DEAL:mpi::Starting value 0.843064
+DEAL:mpi::Convergence step 10 value 0
+   Solved in 10 iterations.
+
+Cycle 2:
+   Number of active cells:       3652
+      1217+1218+1217+
+   Number of degrees of freedom: 16095
+      5425+5378+5292+
+DEAL:mpi::Starting value 1.03054
+DEAL:mpi::Convergence step 11 value 0
+   Solved in 11 iterations.
+
diff --git a/tests/mpi/step-40/ncpu_4/cmp/generic b/tests/mpi/step-40/ncpu_4/cmp/generic
new file mode 100644 (file)
index 0000000..c210d8c
--- /dev/null
@@ -0,0 +1,28 @@
+
+Cycle 0:
+   Number of active cells:       1024
+      256+256+256+256+
+   Number of degrees of freedom: 4225
+      1089+1056+1056+1024+
+DEAL:mpi::Starting value 0.694817
+DEAL:mpi::Convergence step 10 value 0
+   Solved in 10 iterations.
+
+Cycle 1:
+   Number of active cells:       1960
+      490+490+490+490+
+   Number of degrees of freedom: 8421
+      2152+2107+2105+2057+
+DEAL:mpi::Starting value 0.835969
+DEAL:mpi::Convergence step 10 value 0
+   Solved in 10 iterations.
+
+Cycle 2:
+   Number of active cells:       3658
+      916+913+913+916+
+   Number of degrees of freedom: 16109
+      4079+4025+4032+3973+
+DEAL:mpi::Starting value 1.04003
+DEAL:mpi::Convergence step 10 value 0
+   Solved in 10 iterations.
+
diff --git a/tests/petsc/solver_03_precondition_boomeramg.cc b/tests/petsc/solver_03_precondition_boomeramg.cc
new file mode 100644 (file)
index 0000000..65d9d1f
--- /dev/null
@@ -0,0 +1,91 @@
+//----------------------------  petsc_solver_03_precondition_boomeramg.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_boomeramg.cc  ---------------------------
+
+// test the PETSc CG solver with the PreconditionBoomerAMG
+// preconditioner
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_boomeramg/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionBoomerAMG preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_boomeramg/cmp/generic b/tests/petsc/solver_03_precondition_boomeramg/cmp/generic
new file mode 100644 (file)
index 0000000..cd0525a
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 1315.
+DEAL::Convergence step 4 value 8.048e-05
+DEAL::Solver stopped after 4 iterations
diff --git a/tests/petsc/solver_03_precondition_boomeramg_symmetric.cc b/tests/petsc/solver_03_precondition_boomeramg_symmetric.cc
new file mode 100644 (file)
index 0000000..9b9441d
--- /dev/null
@@ -0,0 +1,92 @@
+//----------------------------  petsc_solver_03_precondition_boomeramg_symmetric.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_boomeramg_symmetric.cc  ---------------------------
+
+// test the PETSc CG solver with the PreconditionBoomerAMG
+// preconditioner. allow the preconditioner to exploit symmetry of the
+// matrix
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_boomeramg_symmetric/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionBoomerAMG preconditioner(A, true);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_boomeramg_symmetric/cmp/generic b/tests/petsc/solver_03_precondition_boomeramg_symmetric/cmp/generic
new file mode 100644 (file)
index 0000000..cd0525a
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 1315.
+DEAL::Convergence step 4 value 8.048e-05
+DEAL::Solver stopped after 4 iterations
diff --git a/tests/petsc/solver_03_precondition_eisenstat.cc b/tests/petsc/solver_03_precondition_eisenstat.cc
new file mode 100644 (file)
index 0000000..087b43c
--- /dev/null
@@ -0,0 +1,90 @@
+//----------------------------  petsc_solver_03_precondition_eisenstat.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_eisenstat.cc  ---------------------------
+
+// test the PETSc CG solver
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_eisenstat/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionEisenstat preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_eisenstat/cmp/generic b/tests/petsc/solver_03_precondition_eisenstat/cmp/generic
new file mode 100644 (file)
index 0000000..1a56252
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 60.26
+DEAL::Convergence step 20 value 0.0006908
+DEAL::Solver stopped after 20 iterations
diff --git a/tests/petsc/solver_03_precondition_icc.cc b/tests/petsc/solver_03_precondition_icc.cc
new file mode 100644 (file)
index 0000000..1fe7554
--- /dev/null
@@ -0,0 +1,90 @@
+//----------------------------  petsc_solver_03_precondition_icc.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_icc.cc  ---------------------------
+
+// test the PETSc CG solver
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_icc/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionICC preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_icc/cmp/generic b/tests/petsc/solver_03_precondition_icc/cmp/generic
new file mode 100644 (file)
index 0000000..3d30c3a
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 48.96
+DEAL::Convergence step 17 value 0.0004044
+DEAL::Solver stopped after 17 iterations
diff --git a/tests/petsc/solver_03_precondition_ilu.cc b/tests/petsc/solver_03_precondition_ilu.cc
new file mode 100644 (file)
index 0000000..8912039
--- /dev/null
@@ -0,0 +1,90 @@
+//----------------------------  petsc_solver_03_precondition_ilu.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_ilu.cc  ---------------------------
+
+// test the PETSc CG solver
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_ilu/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionILU preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_ilu/cmp/generic b/tests/petsc/solver_03_precondition_ilu/cmp/generic
new file mode 100644 (file)
index 0000000..3d30c3a
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 48.96
+DEAL::Convergence step 17 value 0.0004044
+DEAL::Solver stopped after 17 iterations
diff --git a/tests/petsc/solver_03_precondition_lu.cc b/tests/petsc/solver_03_precondition_lu.cc
new file mode 100644 (file)
index 0000000..bbcd023
--- /dev/null
@@ -0,0 +1,97 @@
+//----------------------------  petsc_solver_03_precondition_lu.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_lu.cc  ---------------------------
+
+// test the PETSc CG solver with the PreconditionLU
+// preconditioner. This should converge in exactly one iteration
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+
+                                  // we use a direct solver as a
+                                  // preconditioner. this should
+                                  // converge in one step!
+  Assert (solver.control().last_step() == 1,
+         ExcInternalError());
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_lu/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionLU preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_lu/cmp/generic b/tests/petsc/solver_03_precondition_lu/cmp/generic
new file mode 100644 (file)
index 0000000..071b4be
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 1351.
+DEAL::Convergence step 1 value 0
+DEAL::Solver stopped after 1 iterations
diff --git a/tests/petsc/solver_03_precondition_parasails.cc b/tests/petsc/solver_03_precondition_parasails.cc
new file mode 100644 (file)
index 0000000..27db111
--- /dev/null
@@ -0,0 +1,90 @@
+//----------------------------  petsc_solver_03_precondition_parasails.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_parasails.cc  ---------------------------
+
+// test the PETSc CG solver
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_parasails/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionParaSails preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_parasails/cmp/generic b/tests/petsc/solver_03_precondition_parasails/cmp/generic
new file mode 100644 (file)
index 0000000..26fa018
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 36.94
+DEAL::Convergence step 19 value 0.0008561
+DEAL::Solver stopped after 19 iterations
diff --git a/tests/petsc/solver_03_precondition_sor.cc b/tests/petsc/solver_03_precondition_sor.cc
new file mode 100644 (file)
index 0000000..3bdc29f
--- /dev/null
@@ -0,0 +1,90 @@
+//----------------------------  petsc_solver_03_precondition_sor.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_sor.cc  ---------------------------
+
+// test the PETSc CG solver
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_sor/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionSOR preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_sor/cmp/generic b/tests/petsc/solver_03_precondition_sor/cmp/generic
new file mode 100644 (file)
index 0000000..d086901
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 29.45
+DEAL::Convergence step 19 value 0.0005731
+DEAL::Solver stopped after 19 iterations
diff --git a/tests/petsc/solver_03_precondition_ssor.cc b/tests/petsc/solver_03_precondition_ssor.cc
new file mode 100644 (file)
index 0000000..450f7a6
--- /dev/null
@@ -0,0 +1,90 @@
+//----------------------------  petsc_solver_03_precondition_ssor.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  petsc_solver_03_precondition_ssor.cc  ---------------------------
+
+// test the PETSc CG solver
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("solver_03_precondition_ssor/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    SolverControl control(100, 1.e-3);
+
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    PETScWrappers::SolverCG solver(control);
+    PETScWrappers::PreconditionSSOR preconditioner(A);
+    check_solve (solver, A,u,f, preconditioner);
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/solver_03_precondition_ssor/cmp/generic b/tests/petsc/solver_03_precondition_ssor/cmp/generic
new file mode 100644 (file)
index 0000000..d086901
--- /dev/null
@@ -0,0 +1,6 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Solver type: N6dealii13PETScWrappers8SolverCGE
+DEAL::Starting value 29.45
+DEAL::Convergence step 19 value 0.0005731
+DEAL::Solver stopped after 19 iterations
diff --git a/tests/petsc/sparse_direct_mumps.cc b/tests/petsc/sparse_direct_mumps.cc
new file mode 100644 (file)
index 0000000..c368f0e
--- /dev/null
@@ -0,0 +1,94 @@
+//----------------------------  sparse_direct_mumps.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2004, 2005, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  sparse_direct_mumps.cc  ---------------------------
+
+// test the PETSc SparseDirectMumps solver
+
+
+#include "../tests.h"
+#include "../lac/testmatrix.h"
+#include <cmath>
+#include <fstream>
+#include <iostream>
+#include <iomanip>
+#include <deal.II/base/logstream.h>
+#include <deal.II/lac/petsc_sparse_matrix.h>
+#include <deal.II/lac/petsc_vector.h>
+#include <deal.II/lac/petsc_solver.h>
+#include <deal.II/lac/petsc_precondition.h>
+#include <deal.II/lac/vector_memory.h>
+#include <typeinfo>
+
+template<class SOLVER, class MATRIX, class VECTOR, class PRECONDITION>
+void
+check_solve( SOLVER& solver, const MATRIX& A,
+            VECTOR& u, VECTOR& f, const PRECONDITION& P)
+{
+  deallog << "Solver type: " << typeid(solver).name() << std::endl;
+
+  u = 0.;
+  f = 1.;
+  try
+    {
+      solver.solve(A,u,f,P);
+    }
+  catch (std::exception& e)
+    {
+      deallog << e.what() << std::endl;
+      abort ();
+    }
+
+  deallog << "Solver stopped after " << solver.control().last_step()
+          << " iterations" << std::endl;
+}
+
+
+int main(int argc, char **argv)
+{
+  std::ofstream logfile("sparse_direct_mumps/output");
+  deallog.attach(logfile);
+  deallog << std::setprecision(4);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  PetscInitialize(&argc,&argv,0,0);
+  {
+    const unsigned int size = 32;
+    unsigned int dim = (size-1)*(size-1);
+
+    deallog << "Size " << size << " Unknowns " << dim << std::endl;
+
+                                     // Make matrix
+    FDMatrix testproblem(size, size);
+    PETScWrappers::SparseMatrix  A(dim, dim, 5);
+    testproblem.five_point(A);
+
+    PETScWrappers::Vector  f(dim);
+    PETScWrappers::Vector  u(dim);
+    u = 0.;
+    f = 1.;
+    A.compress ();
+    f.compress ();
+    u.compress ();
+
+    SolverControl cn;
+    PETScWrappers::SparseDirectMUMPS solver(cn);
+//    solver.set_symmetric_mode(true);
+    solver.solve(A,u,f);
+
+    PETScWrappers::Vector  tmp(dim);
+    deallog << "residual = " << A.residual (tmp, u, f)
+           << std::endl;
+  }
+  PetscFinalize ();
+}
+
diff --git a/tests/petsc/sparse_direct_mumps/cmp/generic b/tests/petsc/sparse_direct_mumps/cmp/generic
new file mode 100644 (file)
index 0000000..932860e
--- /dev/null
@@ -0,0 +1,4 @@
+
+DEAL::Size 32 Unknowns 961
+DEAL::Convergence step 1 value 0
+DEAL::residual = 0
index 06991c36faefe3433a27c7627fcff7c6b97b0d5d..4135273bdae43306b6ac9a1c4a985ca4107a4e33 100644 (file)
@@ -2,9 +2,9 @@
 DEAL::1d
 DEAL::Number of dofs = 97
 DEAL:cg::Starting value 0.215517
-DEAL:cg::Convergence step 112 value 0
+DEAL:cg::Convergence step 111 value 0
 DEAL:cg::Starting value 0.215517
-DEAL:cg::Convergence step 112 value 0
+DEAL:cg::Convergence step 111 value 0
 DEAL::Sparse Factorization
 DEAL::absolute norms = 6.45748 6.45748
 DEAL::relative norm distance = 0

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.