From: Patrick Esser Date: Tue, 15 Sep 2015 15:49:45 +0000 (+0200) Subject: add interpolate signatures to FE_RannacherTurek X-Git-Tag: v8.4.0-rc2~408^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18a92740b78c5b295ab590da3f461d151a12e568;p=dealii.git add interpolate signatures to FE_RannacherTurek Implemented signatures of interpolate functions which allow interpolation from set of vector values. --- diff --git a/include/deal.II/fe/fe_rannacher_turek.h b/include/deal.II/fe/fe_rannacher_turek.h index 52dc09eed9..2f0c942df4 100644 --- a/include/deal.II/fe/fe_rannacher_turek.h +++ b/include/deal.II/fe/fe_rannacher_turek.h @@ -71,6 +71,13 @@ public: virtual void interpolate( std::vector &local_dofs, const std::vector &values) const; + virtual void interpolate( + std::vector &local_dofs, + const std::vector > &values, + unsigned int offset) const; + virtual void interpolate( + std::vector &local_dofs, + const VectorSlice > > &values) const; private: /** * Degree of this element. diff --git a/source/fe/fe_rannacher_turek.cc b/source/fe/fe_rannacher_turek.cc index 4f901e52d0..17802be592 100644 --- a/source/fe/fe_rannacher_turek.cc +++ b/source/fe/fe_rannacher_turek.cc @@ -16,6 +16,7 @@ #include #include +#include #include #include @@ -62,7 +63,7 @@ std::string FE_RannacherTurek::get_name() const std::ostringstream namebuf; namebuf << "FE_RannacherTurek" << "<" << dim << ">" - << "(" << this->degree << ", " << this-n_face_support_points << ")"; + << "(" << this->degree << ", " << this->n_face_support_points << ")"; return namebuf.str(); } @@ -128,6 +129,46 @@ void FE_RannacherTurek::interpolate( +template +void FE_RannacherTurek::interpolate( + std::vector &local_dofs, + const std::vector > &values, + unsigned int offset) const +{ + AssertDimension(values.size(), this->generalized_support_points.size()); + AssertDimension(local_dofs.size(), this->dofs_per_cell); + + // extract component at offset and call scalar version of this function + std::vector scalar_values(values.size()); + for (unsigned int q = 0; q < values.size(); ++q) + { + scalar_values[q] = values[q][offset]; + } + this->interpolate(local_dofs, scalar_values); +} + + + +template +void FE_RannacherTurek::interpolate( + std::vector &local_dofs, + const VectorSlice > > &values) const +{ + AssertDimension(values.size(), 1); + AssertDimension(values[0].size(), this->generalized_support_points.size()); + AssertDimension(local_dofs.size(), this->dofs_per_cell); + + // convert data structure to use scalar version of this function + std::vector scalar_values(values[0].size()); + for (unsigned int q = 0; q < values[0].size(); ++q) + { + scalar_values[q] = values[0][q]; + } + this->interpolate(local_dofs, scalar_values); +} + + + // explicit instantiations #include "fe_rannacher_turek.inst" diff --git a/tests/fe/fe_rannacher_turek_03.cc b/tests/fe/fe_rannacher_turek_03.cc new file mode 100644 index 0000000000..4e3dd4c507 --- /dev/null +++ b/tests/fe/fe_rannacher_turek_03.cc @@ -0,0 +1,109 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2015 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +// Interfaces being tested +#include +// Interfaces needed for testing +#include +#include +#include +#include +#include + +#include "../tests.h" + +// Same as interpolation test in fe_rannacher_turek_01.cc but for different +// signatures of the interpolate function that were added later + +void test_interpolation() +{ + Triangulation<2> tr; + GridGenerator::hyper_cube(tr, -1, 1); + tr.refine_global(2); + + FE_RannacherTurek<2> fe; + const unsigned int n_dofs = fe.dofs_per_cell; + + DoFHandler<2> dofh; + dofh.initialize(tr, fe); + + Vector input_vector(dofh.n_dofs()); + for (unsigned int i = 0; i < input_vector.size(); ++i) + { + input_vector[i] = double(i); + } + + Quadrature<2> quadrature(fe.get_generalized_support_points()); + FEValues<2> fev(fe, quadrature, update_values | update_JxW_values); + + typedef DoFHandler<2>::cell_iterator cell_it; + cell_it cell = dofh.begin_active(); + for (; cell != dofh.end(); ++cell) + { + fev.reinit(cell); + + std::vector values(quadrature.size()); + fev.get_function_values(input_vector, values); + + // original dofs + Vector local_dofs(n_dofs); + cell->get_dof_values(input_vector, local_dofs); + + const unsigned int n_components = 5; + for (unsigned int offset = 0; offset < n_components; ++offset) + { + // vector interpolate function + std::vector interpolated_local_dofs2(n_dofs); + std::vector > offset_values(quadrature.size(), + Vector(n_components)); + for (unsigned int q = 0; q < quadrature.size(); ++q) + { + offset_values[q][offset] = values[q]; + } + fe.interpolate(interpolated_local_dofs2, + offset_values, + offset); + + // VectorSlice interpolate function + std::vector interpolated_local_dofs3(n_dofs); + std::vector > vv_values( + n_components, + values); + VectorSlice > > sliced_values( + vv_values, offset, 1); + fe.interpolate(interpolated_local_dofs3, + sliced_values); + + for (unsigned int j = 0; j < n_dofs; ++j) + { + deallog << "vector@" << offset << ": " + << local_dofs[j] - interpolated_local_dofs2[j] << " "; + deallog << "VectorSlice@" << offset << ": " + << local_dofs[j] - interpolated_local_dofs3[j] << " "; + } + } + deallog << std::endl; + } +} + +int main() +{ + initlog(); + + test_interpolation(); + + return 0; +} diff --git a/tests/fe/fe_rannacher_turek_03.output b/tests/fe/fe_rannacher_turek_03.output new file mode 100644 index 0000000000..aafd6f6a0f --- /dev/null +++ b/tests/fe/fe_rannacher_turek_03.output @@ -0,0 +1,17 @@ + +DEAL::vector@0: -5.55112e-17 VectorSlice@0: -5.55112e-17 vector@0: -6.66134e-16 VectorSlice@0: -6.66134e-16 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 8.88178e-16 VectorSlice@0: 8.88178e-16 vector@1: -5.55112e-17 VectorSlice@1: -5.55112e-17 vector@1: -6.66134e-16 VectorSlice@1: -6.66134e-16 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 8.88178e-16 VectorSlice@1: 8.88178e-16 vector@2: -5.55112e-17 VectorSlice@2: -5.55112e-17 vector@2: -6.66134e-16 VectorSlice@2: -6.66134e-16 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 8.88178e-16 VectorSlice@2: 8.88178e-16 vector@3: -5.55112e-17 VectorSlice@3: -5.55112e-17 vector@3: -6.66134e-16 VectorSlice@3: -6.66134e-16 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 8.88178e-16 VectorSlice@3: 8.88178e-16 vector@4: -5.55112e-17 VectorSlice@4: -5.55112e-17 vector@4: -6.66134e-16 VectorSlice@4: -6.66134e-16 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 8.88178e-16 VectorSlice@4: 8.88178e-16 +DEAL::vector@0: 1.11022e-16 VectorSlice@0: 1.11022e-16 vector@0: -8.88178e-16 VectorSlice@0: -8.88178e-16 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 1.77636e-15 VectorSlice@0: 1.77636e-15 vector@1: 1.11022e-16 VectorSlice@1: 1.11022e-16 vector@1: -8.88178e-16 VectorSlice@1: -8.88178e-16 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 1.77636e-15 VectorSlice@1: 1.77636e-15 vector@2: 1.11022e-16 VectorSlice@2: 1.11022e-16 vector@2: -8.88178e-16 VectorSlice@2: -8.88178e-16 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 1.77636e-15 VectorSlice@2: 1.77636e-15 vector@3: 1.11022e-16 VectorSlice@3: 1.11022e-16 vector@3: -8.88178e-16 VectorSlice@3: -8.88178e-16 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 1.77636e-15 VectorSlice@3: 1.77636e-15 vector@4: 1.11022e-16 VectorSlice@4: 1.11022e-16 vector@4: -8.88178e-16 VectorSlice@4: -8.88178e-16 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 1.77636e-15 VectorSlice@4: 1.77636e-15 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 8.88178e-16 VectorSlice@0: 8.88178e-16 vector@0: 4.44089e-16 VectorSlice@0: 4.44089e-16 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 8.88178e-16 VectorSlice@1: 8.88178e-16 vector@1: 4.44089e-16 VectorSlice@1: 4.44089e-16 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 8.88178e-16 VectorSlice@2: 8.88178e-16 vector@2: 4.44089e-16 VectorSlice@2: 4.44089e-16 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 8.88178e-16 VectorSlice@3: 8.88178e-16 vector@3: 4.44089e-16 VectorSlice@3: 4.44089e-16 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 8.88178e-16 VectorSlice@4: 8.88178e-16 vector@4: 4.44089e-16 VectorSlice@4: 4.44089e-16 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 8.88178e-16 VectorSlice@0: 8.88178e-16 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 8.88178e-16 VectorSlice@1: 8.88178e-16 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 8.88178e-16 VectorSlice@2: 8.88178e-16 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 8.88178e-16 VectorSlice@3: 8.88178e-16 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 8.88178e-16 VectorSlice@4: 8.88178e-16 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 4.44089e-16 VectorSlice@0: 4.44089e-16 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 1.77636e-15 VectorSlice@0: 1.77636e-15 vector@1: 4.44089e-16 VectorSlice@1: 4.44089e-16 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 1.77636e-15 VectorSlice@1: 1.77636e-15 vector@2: 4.44089e-16 VectorSlice@2: 4.44089e-16 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 1.77636e-15 VectorSlice@2: 1.77636e-15 vector@3: 4.44089e-16 VectorSlice@3: 4.44089e-16 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 1.77636e-15 VectorSlice@3: 1.77636e-15 vector@4: 4.44089e-16 VectorSlice@4: 4.44089e-16 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 1.77636e-15 VectorSlice@4: 1.77636e-15 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 3.55271e-15 VectorSlice@0: 3.55271e-15 vector@0: 3.55271e-15 VectorSlice@0: 3.55271e-15 vector@0: 1.77636e-15 VectorSlice@0: 1.77636e-15 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 3.55271e-15 VectorSlice@1: 3.55271e-15 vector@1: 3.55271e-15 VectorSlice@1: 3.55271e-15 vector@1: 1.77636e-15 VectorSlice@1: 1.77636e-15 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 3.55271e-15 VectorSlice@2: 3.55271e-15 vector@2: 3.55271e-15 VectorSlice@2: 3.55271e-15 vector@2: 1.77636e-15 VectorSlice@2: 1.77636e-15 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 3.55271e-15 VectorSlice@3: 3.55271e-15 vector@3: 3.55271e-15 VectorSlice@3: 3.55271e-15 vector@3: 1.77636e-15 VectorSlice@3: 1.77636e-15 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 3.55271e-15 VectorSlice@4: 3.55271e-15 vector@4: 3.55271e-15 VectorSlice@4: 3.55271e-15 vector@4: 1.77636e-15 VectorSlice@4: 1.77636e-15 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 3.55271e-15 VectorSlice@0: 3.55271e-15 vector@0: 3.55271e-15 VectorSlice@0: 3.55271e-15 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 3.55271e-15 VectorSlice@1: 3.55271e-15 vector@1: 3.55271e-15 VectorSlice@1: 3.55271e-15 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 3.55271e-15 VectorSlice@2: 3.55271e-15 vector@2: 3.55271e-15 VectorSlice@2: 3.55271e-15 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 3.55271e-15 VectorSlice@3: 3.55271e-15 vector@3: 3.55271e-15 VectorSlice@3: 3.55271e-15 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 3.55271e-15 VectorSlice@4: 3.55271e-15 vector@4: 3.55271e-15 VectorSlice@4: 3.55271e-15 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 +DEAL::vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@0: 0.00000 VectorSlice@0: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@1: 0.00000 VectorSlice@1: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@2: 0.00000 VectorSlice@2: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@3: 0.00000 VectorSlice@3: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000 vector@4: 0.00000 VectorSlice@4: 0.00000