From: Rene Gassmoeller Date: Wed, 22 Sep 2021 22:35:42 +0000 (-0400) Subject: Support MappingCartesian in FEPointEvaluation X-Git-Tag: v9.4.0-rc1~976^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12773%2Fhead;p=dealii.git Support MappingCartesian in FEPointEvaluation --- diff --git a/include/deal.II/fe/mapping_cartesian.h b/include/deal.II/fe/mapping_cartesian.h index a9629e65ec..d77ff126c7 100644 --- a/include/deal.II/fe/mapping_cartesian.h +++ b/include/deal.II/fe/mapping_cartesian.h @@ -156,6 +156,31 @@ public: * @} */ + /** + * As opposed to the other fill_fe_values() and fill_fe_face_values() + * functions that rely on pre-computed information of InternalDataBase, this + * function chooses the flexible evaluation path on the cell and points + * passed in to the current function. + * + * @param[in] cell The cell where to evaluate the mapping + * + * @param[in] unit_points The points in reference coordinates where the + * transformation (Jacobians, positions) should be computed. + * + * @param[in] update_flags The kind of information that should be computed. + * + * @param[out] output_data A struct containing the evaluated quantities such + * as the Jacobian resulting from application of the mapping on the given + * cell with its underlying manifolds. + */ + void + fill_mapping_data_for_generic_points( + const typename Triangulation::cell_iterator &cell, + const ArrayView> & unit_points, + const UpdateFlags update_flags, + dealii::internal::FEValuesImplementation::MappingRelatedData + &output_data) const; + private: /** @@ -178,7 +203,12 @@ private: { public: /** - * Constructor. + * Default constructor. + */ + InternalData() = default; + + /** + * Constructor that initializes the object with a quadrature. */ InternalData(const Quadrature &quadrature); diff --git a/include/deal.II/matrix_free/fe_point_evaluation.h b/include/deal.II/matrix_free/fe_point_evaluation.h index ca6d095d41..5fd7f6cf6b 100644 --- a/include/deal.II/matrix_free/fe_point_evaluation.h +++ b/include/deal.II/matrix_free/fe_point_evaluation.h @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -578,10 +579,16 @@ private: SmartPointer> mapping; /** - * Pointer to MappingQ class that enables the fast path of this - * class. + * Pointer to the function of the mapping that computes the necessary + * mapping quantities like quadrature points and Jacobians. */ - const MappingQ *mapping_q; + std::function::cell_iterator & /*cell*/, + const ArrayView> & /*unit_points*/, + const UpdateFlags /*update_flags*/, + dealii::internal::FEValuesImplementation::MappingRelatedData + & /*output_data*/)> + fill_mapping_data_for_generic_points; /** * Pointer to the FiniteElement object passed to the constructor. @@ -691,7 +698,6 @@ FEPointEvaluation::FEPointEvaluation( const UpdateFlags update_flags, const unsigned int first_selected_component) : mapping(&mapping) - , mapping_q(dynamic_cast *>(&mapping)) , fe(&fe) , update_flags(update_flags) , update_flags_mapping(update_default) @@ -699,6 +705,41 @@ FEPointEvaluation::FEPointEvaluation( AssertIndexRange(first_selected_component + n_components, fe.n_components() + 1); + if (const MappingQ *mapping_q = + dynamic_cast *>(&mapping)) + { + fill_mapping_data_for_generic_points = + [mapping_q]( + const typename Triangulation::cell_iterator &cell, + const ArrayView> &unit_points, + const UpdateFlags update_flags, + dealii::internal::FEValuesImplementation::MappingRelatedData + &output_data) -> void { + mapping_q->fill_mapping_data_for_generic_points(cell, + unit_points, + update_flags, + output_data); + }; + } + else if (const MappingCartesian *mapping_cartesian = + dynamic_cast *>(&mapping)) + { + fill_mapping_data_for_generic_points = + [mapping_cartesian]( + const typename Triangulation::cell_iterator &cell, + const ArrayView> &unit_points, + const UpdateFlags update_flags, + dealii::internal::FEValuesImplementation::MappingRelatedData + &output_data) -> void { + mapping_cartesian->fill_mapping_data_for_generic_points(cell, + unit_points, + update_flags, + output_data); + }; + } + bool same_base_element = true; unsigned int base_element_number = 0; unsigned int component = 0; @@ -713,7 +754,7 @@ FEPointEvaluation::FEPointEvaluation( } else component += fe.element_multiplicity(base_element_number); - if (mapping_q != nullptr && + if (fill_mapping_data_for_generic_points && internal::FEPointEvaluation::is_fast_path_supported( fe, base_element_number) && same_base_element) @@ -772,10 +813,10 @@ FEPointEvaluation::reinit( std::copy(unit_points.begin(), unit_points.end(), this->unit_points.begin()); if (!poly.empty()) - mapping_q->fill_mapping_data_for_generic_points(cell, - unit_points, - update_flags_mapping, - mapping_data); + fill_mapping_data_for_generic_points(cell, + unit_points, + update_flags_mapping, + mapping_data); else { fe_values = std::make_shared>( diff --git a/source/fe/mapping_cartesian.cc b/source/fe/mapping_cartesian.cc index aeb1215079..ab69201cc6 100644 --- a/source/fe/mapping_cartesian.cc +++ b/source/fe/mapping_cartesian.cc @@ -450,6 +450,57 @@ MappingCartesian::fill_fe_values( +template +void +MappingCartesian::fill_mapping_data_for_generic_points( + const typename Triangulation::cell_iterator &cell, + const ArrayView> & unit_points, + const UpdateFlags update_flags, + dealii::internal::FEValuesImplementation::MappingRelatedData + &output_data) const +{ + if (update_flags == update_default) + return; + + Assert(update_flags & update_inverse_jacobians || + update_flags & update_jacobians || + update_flags & update_quadrature_points, + ExcNotImplemented()); + + output_data.initialize(unit_points.size(), update_flags); + const unsigned int n_points = unit_points.size(); + + InternalData data; + data.update_each = update_flags; + data.quadrature_points = + std::vector>(unit_points.begin(), unit_points.end()); + + update_cell_extents(cell, CellSimilarity::none, data); + + maybe_update_cell_quadrature_points(cell, + data, + output_data.quadrature_points); + + for (unsigned int i = 0; i < n_points; ++i) + { + if (update_flags & update_jacobians) + { + output_data.jacobians[i] = DerivativeForm<1, dim, spacedim>(); + for (unsigned int j = 0; j < dim; ++j) + output_data.jacobians[i][j][j] = data.cell_extents[j]; + } + + if (update_flags & update_inverse_jacobians) + { + output_data.inverse_jacobians[i] = DerivativeForm<1, dim, spacedim>(); + for (unsigned int j = 0; j < dim; ++j) + output_data.inverse_jacobians[i][j][j] = 1. / data.cell_extents[j]; + } + } +} + + + template void MappingCartesian::fill_fe_face_values( diff --git a/tests/matrix_free/point_evaluation_13.cc b/tests/matrix_free/point_evaluation_13.cc new file mode 100644 index 0000000000..e7842aaf95 --- /dev/null +++ b/tests/matrix_free/point_evaluation_13.cc @@ -0,0 +1,154 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2021 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.md at +// the top level directory of deal.II. +// +// --------------------------------------------------------------------- + + +// Check FEPointEvaluation for vector-valued FE_Q and MappingCartesian by +// comparing to the output of FEValues with the same settings. +// This is a modified version of point_evaluation_03.cc. + +#include + +#include + +#include +#include +#include +#include + +#include +#include + +#include + +#include + +#include + +#include + +#include "../tests.h" + + + +template +class MyFunction : public Function +{ +public: + MyFunction() + : Function(dim) + {} + + double + value(const Point &p, const unsigned int component) const override + { + return component + p[component]; + } +}; + + + +template +void +test() +{ + using namespace dealii; + Triangulation tria; + + GridGenerator::subdivided_hyper_cube(tria, 2, 0, 1); + + MappingCartesian mapping; + deallog << "Cartesian linear mapping" << std::endl; + + std::vector> unit_points; + for (unsigned int i = 0; i < 13; ++i) + { + Point p; + for (unsigned int d = 0; d < dim; ++d) + p[d] = static_cast(i) / 17. + 0.015625 * d; + unit_points.push_back(p); + } + + FESystem fe(FE_Q(2), dim); + FEValues fe_values(mapping, + fe, + Quadrature(unit_points), + update_values | update_gradients); + + DoFHandler dof_handler(tria); + dof_handler.distribute_dofs(fe); + Vector vector(dof_handler.n_dofs()); + + FEPointEvaluation evaluator(mapping, + fe, + update_values | update_gradients); + + VectorTools::interpolate(mapping, dof_handler, MyFunction(), vector); + + std::vector solution_values(fe.dofs_per_cell); + std::vector> function_values(unit_points.size()); + std::vector> function_gradients(unit_points.size()); + + FEValuesExtractors::Vector extractor(0); + + for (const auto &cell : dof_handler.active_cell_iterators()) + { + fe_values.reinit(cell); + fe_values[extractor].get_function_values(vector, function_values); + fe_values[extractor].get_function_gradients(vector, function_gradients); + + cell->get_dof_values(vector, + solution_values.begin(), + solution_values.end()); + + evaluator.reinit(cell, unit_points); + evaluator.evaluate(solution_values, + EvaluationFlags::values | EvaluationFlags::gradients); + + deallog << "Cell with center " << cell->center(true) << std::endl; + for (unsigned int i = 0; i < function_values.size(); ++i) + deallog << mapping.transform_unit_to_real_cell(cell, unit_points[i]) + << ": " << evaluator.get_value(i) << " error value " + << (function_values[i] - evaluator.get_value(i)).norm() + << " error grad " + << (evaluator.get_gradient(i) - function_gradients[i]).norm() + << std::endl; + deallog << std::endl; + + for (unsigned int i = 0; i < unit_points.size(); ++i) + { + evaluator.submit_value(evaluator.get_value(i), i); + evaluator.submit_gradient(evaluator.get_gradient(i), i); + } + + evaluator.integrate(solution_values, + EvaluationFlags::values | EvaluationFlags::gradients); + + for (const auto i : solution_values) + deallog << i << " "; + deallog << std::endl; + } +} + + + +int +main() +{ + initlog(); + deallog << std::setprecision(10); + + test<2>(); + test<3>(); +} diff --git a/tests/matrix_free/point_evaluation_13.output b/tests/matrix_free/point_evaluation_13.output new file mode 100644 index 0000000000..3609f3f4d5 --- /dev/null +++ b/tests/matrix_free/point_evaluation_13.output @@ -0,0 +1,195 @@ + +DEAL::Cartesian linear mapping +DEAL::Cell with center 0.2500000000 0.2500000000 +DEAL::0.000000000 0.007812500000: 0.000000000 1.007812500 error value 0.000000000 error grad 0.000000000 +DEAL::0.02941176471 0.03722426471: 0.02941176471 1.037224265 error value 0.000000000 error grad 2.667675875e-15 +DEAL::0.05882352941 0.06663602941: 0.05882352941 1.066636029 error value 6.938893904e-18 error grad 1.605090803e-15 +DEAL::0.08823529412 0.09604779412: 0.08823529412 1.096047794 error value 0.000000000 error grad 1.112040858e-15 +DEAL::0.1176470588 0.1254595588: 0.1176470588 1.125459559 error value 2.237726046e-16 error grad 1.197604590e-15 +DEAL::0.1470588235 0.1548713235: 0.1470588235 1.154871324 error value 0.000000000 error grad 2.533099130e-16 +DEAL::0.1764705882 0.1842830882: 0.1764705882 1.184283088 error value 2.775557562e-17 error grad 1.439871256e-15 +DEAL::0.2058823529 0.2136948529: 0.2058823529 1.213694853 error value 2.775557562e-17 error grad 6.004152100e-17 +DEAL::0.2352941176 0.2431066176: 0.2352941176 1.243106618 error value 2.775557562e-17 error grad 1.023621822e-15 +DEAL::0.2647058824 0.2725183824: 0.2647058824 1.272518382 error value 2.288783399e-16 error grad 7.975978331e-16 +DEAL::0.2941176471 0.3019301471: 0.2941176471 1.301930147 error value 2.220446049e-16 error grad 1.019049276e-15 +DEAL::0.3235294118 0.3313419118: 0.3235294118 1.331341912 error value 0.000000000 error grad 4.710277376e-16 +DEAL::0.3529411765 0.3607536765: 0.3529411765 1.360753676 error value 0.000000000 error grad 6.661338148e-16 +DEAL:: +DEAL::-18.42636850 -16.65544665 -4.918868291 1.976718730 2.338701807 -4.892268294 2.448220899 2.268561424 -25.04768848 25.46920990 13.29030951 -4.222168639 23.46786814 -21.42375934 -4.637582884 15.10395118 13.77952545 17.77088184 +DEAL::Cell with center 0.7500000000 0.2500000000 +DEAL::0.5000000000 0.007812500000: 0.5000000000 1.007812500 error value 0.000000000 error grad 0.000000000 +DEAL::0.5294117647 0.03722426471: 0.5294117647 1.037224265 error value 1.110223025e-16 error grad 2.722548304e-15 +DEAL::0.5588235294 0.06663602941: 0.5588235294 1.066636029 error value 0.000000000 error grad 1.616509124e-15 +DEAL::0.5882352941 0.09604779412: 0.5882352941 1.096047794 error value 1.110223025e-16 error grad 1.281272000e-15 +DEAL::0.6176470588 0.1254595588: 0.6176470588 1.125459559 error value 3.140184917e-16 error grad 1.197576636e-15 +DEAL::0.6470588235 0.1548713235: 0.6470588235 1.154871324 error value 1.110223025e-16 error grad 4.501558342e-16 +DEAL::0.6764705882 0.1842830882: 0.6764705882 1.184283088 error value 0.000000000 error grad 1.506543756e-15 +DEAL::0.7058823529 0.2136948529: 0.7058823529 1.213694853 error value 0.000000000 error grad 2.288004225e-17 +DEAL::0.7352941176 0.2431066176: 0.7352941176 1.243106618 error value 0.000000000 error grad 1.053295491e-15 +DEAL::0.7647058824 0.2725183824: 0.7647058824 1.272518382 error value 2.220446049e-16 error grad 8.279288073e-16 +DEAL::0.7941176471 0.3019301471: 0.7941176471 1.301930147 error value 3.140184917e-16 error grad 1.017536210e-15 +DEAL::0.8235294118 0.3313419118: 0.8235294118 1.331341912 error value 1.110223025e-16 error grad 6.661338148e-16 +DEAL::0.8529411765 0.3607536765: 0.8529411765 1.360753676 error value 0.000000000 error grad 6.280369835e-16 +DEAL:: +DEAL::-17.12468580 -16.65544665 -5.080573582 1.976718730 2.149464381 -4.892268294 2.557652133 2.268561424 -24.29335176 25.46920990 13.29760087 -4.222168639 24.03654141 -21.42375934 -4.557765711 15.10395118 17.80923570 17.77088184 +DEAL::Cell with center 0.2500000000 0.7500000000 +DEAL::0.000000000 0.5078125000: 0.000000000 1.507812500 error value 0.000000000 error grad 0.000000000 +DEAL::0.02941176471 0.5372242647: 0.02941176471 1.537224265 error value 0.000000000 error grad 1.123699927e-15 +DEAL::0.05882352941 0.5666360294: 0.05882352941 1.566636029 error value 6.938893904e-18 error grad 2.043167996e-15 +DEAL::0.08823529412 0.5960477941: 0.08823529412 1.596047794 error value 2.220446049e-16 error grad 1.175494552e-15 +DEAL::0.1176470588 0.6254595588: 0.1176470588 1.625459559 error value 2.237726046e-16 error grad 1.078338501e-15 +DEAL::0.1470588235 0.6548713235: 0.1470588235 1.654871324 error value 2.220446049e-16 error grad 1.737384317e-15 +DEAL::0.1764705882 0.6842830882: 0.1764705882 1.684283088 error value 2.775557562e-17 error grad 1.861753289e-15 +DEAL::0.2058823529 0.7136948529: 0.2058823529 1.713694853 error value 2.775557562e-17 error grad 1.858607700e-15 +DEAL::0.2352941176 0.7431066176: 0.2352941176 1.743106618 error value 2.237726046e-16 error grad 7.852981673e-16 +DEAL::0.2647058824 0.7725183824: 0.2647058824 1.772518382 error value 2.288783399e-16 error grad 1.491244441e-15 +DEAL::0.2941176471 0.8019301471: 0.2941176471 1.801930147 error value 2.220446049e-16 error grad 1.058190060e-15 +DEAL::0.3235294118 0.8313419118: 0.3235294118 1.831341912 error value 0.000000000 error grad 1.570092459e-16 +DEAL::0.3529411765 0.8607536765: 0.3529411765 1.860753676 error value 0.000000000 error grad 9.155133597e-16 +DEAL:: +DEAL::-18.42636850 -15.35376394 -4.918868291 1.815013439 2.338701807 -5.081505720 2.448220899 2.377992659 -25.04768848 26.22354662 13.29030951 -4.214877282 23.46786814 -20.85508607 -4.637582884 15.18376835 13.77952545 21.80059209 +DEAL::Cell with center 0.7500000000 0.7500000000 +DEAL::0.5000000000 0.5078125000: 0.5000000000 1.507812500 error value 0.000000000 error grad 0.000000000 +DEAL::0.5294117647 0.5372242647: 0.5294117647 1.537224265 error value 1.110223025e-16 error grad 1.248389449e-15 +DEAL::0.5588235294 0.5666360294: 0.5588235294 1.566636029 error value 0.000000000 error grad 2.052150268e-15 +DEAL::0.5882352941 0.5960477941: 0.5882352941 1.596047794 error value 2.482534153e-16 error grad 1.336716316e-15 +DEAL::0.6176470588 0.6254595588: 0.6176470588 1.625459559 error value 3.140184917e-16 error grad 1.078307455e-15 +DEAL::0.6470588235 0.6548713235: 0.6470588235 1.654871324 error value 2.482534153e-16 error grad 1.776788853e-15 +DEAL::0.6764705882 0.6842830882: 0.6764705882 1.684283088 error value 0.000000000 error grad 1.913784252e-15 +DEAL::0.7058823529 0.7136948529: 0.7058823529 1.713694853 error value 0.000000000 error grad 1.857778537e-15 +DEAL::0.7352941176 0.7431066176: 0.7352941176 1.743106618 error value 2.220446049e-16 error grad 8.236036485e-16 +DEAL::0.7647058824 0.7725183824: 0.7647058824 1.772518382 error value 2.220446049e-16 error grad 1.507684911e-15 +DEAL::0.7941176471 0.8019301471: 0.7941176471 1.801930147 error value 3.140184917e-16 error grad 1.056733039e-15 +DEAL::0.8235294118 0.8313419118: 0.8235294118 1.831341912 error value 1.110223025e-16 error grad 4.965068306e-16 +DEAL::0.8529411765 0.8607536765: 0.8529411765 1.860753676 error value 0.000000000 error grad 8.881784197e-16 +DEAL:: +DEAL::-17.12468580 -15.35376394 -5.080573582 1.815013439 2.149464381 -5.081505720 2.557652133 2.377992659 -24.29335176 26.22354662 13.29760087 -4.214877282 24.03654141 -20.85508607 -4.557765711 15.18376835 17.80923570 21.80059209 +DEAL::Cartesian linear mapping +DEAL::Cell with center 0.2500000000 0.2500000000 0.2500000000 +DEAL::0.000000000 0.007812500000 0.01562500000: 0.000000000 1.007812500 2.015625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.02941176471 0.03722426471 0.04503676471: 0.02941176471 1.037224265 2.045036765 error value 6.280753146e-16 error grad 7.139452262e-15 +DEAL::0.05882352941 0.06663602941 0.07444852941: 0.05882352941 1.066636029 2.074448529 error value 9.155396551e-16 error grad 5.428081964e-15 +DEAL::0.08823529412 0.09604779412 0.1038602941: 0.08823529412 1.096047794 2.103860294 error value 8.881784197e-16 error grad 4.543142259e-15 +DEAL::0.1176470588 0.1254595588 0.1332720588: 0.1176470588 1.125459559 2.133272059 error value 1.387778781e-17 error grad 1.859128114e-15 +DEAL::0.1470588235 0.1548713235 0.1626838235: 0.1470588235 1.154871324 2.162683824 error value 0.000000000 error grad 1.490134824e-15 +DEAL::0.1764705882 0.1842830882 0.1920955882: 0.1764705882 1.184283088 2.192095588 error value 2.775557562e-17 error grad 2.377587740e-15 +DEAL::0.2058823529 0.2136948529 0.2215073529: 0.2058823529 1.213694853 2.221507353 error value 4.449557262e-16 error grad 1.458966358e-15 +DEAL::0.2352941176 0.2431066176 0.2509191176: 0.2352941176 1.243106618 2.250919118 error value 9.171947447e-16 error grad 1.093625221e-15 +DEAL::0.2647058824 0.2725183824 0.2803308824: 0.2647058824 1.272518382 2.280330882 error value 4.965068306e-16 error grad 1.667963990e-15 +DEAL::0.2941176471 0.3019301471 0.3097426471: 0.2941176471 1.301930147 2.309742647 error value 2.288783399e-16 error grad 1.293316433e-15 +DEAL::0.3235294118 0.3313419118 0.3391544118: 0.3235294118 1.331341912 2.339154412 error value 4.440892099e-16 error grad 2.373385746e-15 +DEAL::0.3529411765 0.3607536765 0.3685661765: 0.3529411765 1.360753676 2.368566176 error value 0.000000000 error grad 3.369302816e-15 +DEAL:: +DEAL::-12.24708041 -10.82433388 -9.438628098 -3.020545280 0.9591393997 0.8908393358 1.269596609 -3.026531705 1.073813608 -0.09155835058 -0.1414985135 -0.3070723944 1.510827207 1.381458699 -3.071304257 -0.05655169659 -0.3492856105 -0.1632474111 -0.4112540252 -0.07349366939 -0.1299505644 0.6320093773 0.6353845105 0.6471080969 -6.177321955 16.43145330 -5.509553114 -1.740317306 -1.169929230 1.094235657 15.36926464 -4.568051783 -4.361047271 -1.226177548 -1.642318375 0.8868161776 1.225211526 -1.775908295 -1.674938215 2.277325014 0.01403927710 2.030383018 -1.506677390 0.9103405805 -1.627902689 -0.1501296679 2.568605552 2.459263495 -7.690115302 -7.212571475 17.87267902 -1.841771315 1.366864941 -1.425833422 1.480359223 -1.792242919 -1.757329970 1.907769872 1.774675427 0.1599366457 -20.09557805 10.81366490 10.31943902 12.75330181 -3.066278686 -2.993906264 9.605280889 -17.76604814 8.335074218 -3.261275669 14.17766400 -2.883201002 7.952880169 7.208871455 -16.00866078 -3.333620119 -3.020493801 15.88062514 9.160265401 13.58250419 18.19960467 +DEAL::Cell with center 0.7500000000 0.2500000000 0.2500000000 +DEAL::0.5000000000 0.007812500000 0.01562500000: 0.5000000000 1.007812500 2.015625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.5294117647 0.03722426471 0.04503676471: 0.5294117647 1.037224265 2.045036765 error value 6.377745717e-16 error grad 7.140446928e-15 +DEAL::0.5588235294 0.06663602941 0.07444852941: 0.5588235294 1.066636029 2.074448529 error value 9.222205070e-16 error grad 5.479968656e-15 +DEAL::0.5882352941 0.09604779412 0.1038602941: 0.5882352941 1.096047794 2.103860294 error value 8.881784197e-16 error grad 4.579937901e-15 +DEAL::0.6176470588 0.1254595588 0.1332720588: 0.6176470588 1.125459559 2.133272059 error value 2.220446049e-16 error grad 1.918301023e-15 +DEAL::0.6470588235 0.1548713235 0.1626838235: 0.6470588235 1.154871324 2.162683824 error value 1.110223025e-16 error grad 1.515699970e-15 +DEAL::0.6764705882 0.1842830882 0.1920955882: 0.6764705882 1.184283088 2.192095588 error value 0.000000000 error grad 2.401284686e-15 +DEAL::0.7058823529 0.2136948529 0.2215073529: 0.7058823529 1.213694853 2.221507353 error value 4.440892099e-16 error grad 1.503691063e-15 +DEAL::0.7352941176 0.2431066176 0.2509191176: 0.7352941176 1.243106618 2.250919118 error value 9.155133597e-16 error grad 1.152927720e-15 +DEAL::0.7647058824 0.2725183824 0.2803308824: 0.7647058824 1.272518382 2.280330882 error value 4.965068306e-16 error grad 1.770792085e-15 +DEAL::0.7941176471 0.3019301471 0.3097426471: 0.7941176471 1.301930147 2.309742647 error value 3.140184917e-16 error grad 1.483105468e-15 +DEAL::0.8235294118 0.3313419118 0.3391544118: 0.8235294118 1.331341912 2.339154412 error value 4.965068306e-16 error grad 2.492444509e-15 +DEAL::0.8529411765 0.3607536765 0.3685661765: 0.8529411765 1.360753676 2.368566176 error value 0.000000000 error grad 3.531835651e-15 +DEAL:: +DEAL::-11.34496302 -10.82433388 -9.438628098 -3.075312819 0.9591393997 0.8908393358 1.198716924 -3.026531705 1.073813608 -0.08814565727 -0.1414985135 -0.3070723944 1.423293553 1.381458699 -3.071304257 -0.05245461204 -0.3492856105 -0.1632474111 -0.4059307256 -0.07349366939 -0.1299505644 0.6504856547 0.6353845105 0.6471080969 -5.781725160 16.43145330 -5.509553114 -1.841513844 -1.169929230 1.094235657 15.68207762 -4.568051783 -4.361047271 -1.329281513 -1.642318375 0.8868161776 1.101673183 -1.775908295 -1.674938215 2.371931084 0.01403927710 2.030383018 -1.619675319 0.9103405805 -1.627902689 -0.04583085425 2.568605552 2.459263495 -7.203016330 -7.212571475 17.87267902 -1.952806151 1.366864941 -1.425833422 1.356678182 -1.792242919 -1.757329970 1.995312136 1.774675427 0.1599366457 -19.61329978 10.81366490 10.31943902 12.76718363 -3.066278686 -2.993906264 9.974139105 -17.76604814 8.335074218 -3.182653344 14.17766400 -2.883201002 8.225755060 7.208871455 -16.00866078 -3.184999420 -3.020493801 15.88062514 12.76848006 13.58250419 18.19960467 +DEAL::Cell with center 0.2500000000 0.7500000000 0.2500000000 +DEAL::0.000000000 0.5078125000 0.01562500000: 0.000000000 1.507812500 2.015625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.02941176471 0.5372242647 0.04503676471: 0.02941176471 1.537224265 2.045036765 error value 4.965553153e-16 error grad 7.204896613e-15 +DEAL::0.05882352941 0.5666360294 0.07444852941: 0.05882352941 1.566636029 2.074448529 error value 8.882055243e-16 error grad 5.868977325e-15 +DEAL::0.08823529412 0.5960477941 0.1038602941: 0.08823529412 1.596047794 2.103860294 error value 8.881784197e-16 error grad 4.884843261e-15 +DEAL::0.1176470588 0.6254595588 0.1332720588: 0.1176470588 1.625459559 2.133272059 error value 1.387778781e-17 error grad 2.269769908e-15 +DEAL::0.1470588235 0.6548713235 0.1626838235: 0.1470588235 1.654871324 2.162683824 error value 0.000000000 error grad 2.826793999e-15 +DEAL::0.1764705882 0.6842830882 0.1920955882: 0.1764705882 1.684283088 2.192095588 error value 2.775557562e-17 error grad 2.298523102e-15 +DEAL::0.2058823529 0.7136948529 0.2215073529: 0.2058823529 1.713694853 2.221507353 error value 4.972820174e-16 error grad 1.548491138e-15 +DEAL::0.2352941176 0.7431066176 0.2509191176: 0.2352941176 1.743106618 2.250919118 error value 9.171947447e-16 error grad 1.182113964e-15 +DEAL::0.2647058824 0.7725183824 0.2803308824: 0.2647058824 1.772518382 2.280330882 error value 6.280369835e-16 error grad 1.695851208e-15 +DEAL::0.2941176471 0.8019301471 0.3097426471: 0.2941176471 1.801930147 2.309742647 error value 5.551115123e-17 error grad 2.258359025e-15 +DEAL::0.3235294118 0.8313419118 0.3391544118: 0.3235294118 1.831341912 2.339154412 error value 4.440892099e-16 error grad 1.793620188e-15 +DEAL::0.3529411765 0.8607536765 0.3685661765: 0.3529411765 1.860753676 2.368566176 error value 0.000000000 error grad 3.834691684e-15 +DEAL:: +DEAL::-12.24708041 -9.922216486 -9.438628098 -3.020545280 0.9043718604 0.8908393358 1.269596609 -3.097411390 1.073813608 -0.09155835058 -0.1380858202 -0.3070723944 1.510827207 1.293925045 -3.071304257 -0.05655169659 -0.3451885260 -0.1632474111 -0.4112540252 -0.06817036983 -0.1299505644 0.6320093773 0.6538607879 0.6471080969 -6.177321955 16.82705009 -5.509553114 -1.740317306 -1.271125768 1.094235657 15.36926464 -4.255238801 -4.361047271 -1.226177548 -1.745422340 0.8868161776 1.225211526 -1.899446638 -1.674938215 2.277325014 0.1086453474 2.030383018 -1.506677390 0.7973426514 -1.627902689 -0.1501296679 2.672904366 2.459263495 -7.690115302 -6.725472503 17.87267902 -1.841771315 1.255830105 -1.425833422 1.480359223 -1.915923960 -1.757329970 1.907769872 1.862217691 0.1599366457 -20.09557805 11.29594317 10.31943902 12.75330181 -3.052396861 -2.993906264 9.605280889 -17.39718992 8.335074218 -3.261275669 14.25628633 -2.883201002 7.952880169 7.481746347 -16.00866078 -3.333620119 -2.871873102 15.88062514 9.160265401 17.19071884 18.19960467 +DEAL::Cell with center 0.7500000000 0.7500000000 0.2500000000 +DEAL::0.5000000000 0.5078125000 0.01562500000: 0.5000000000 1.507812500 2.015625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.5294117647 0.5372242647 0.04503676471: 0.5294117647 1.537224265 2.045036765 error value 5.087681049e-16 error grad 7.205882246e-15 +DEAL::0.5588235294 0.5666360294 0.07444852941: 0.5588235294 1.566636029 2.074448529 error value 8.950904183e-16 error grad 5.916999028e-15 +DEAL::0.5882352941 0.5960477941 0.1038602941: 0.5882352941 1.596047794 2.103860294 error value 8.881784197e-16 error grad 4.919083581e-15 +DEAL::0.6176470588 0.6254595588 0.1332720588: 0.6176470588 1.625459559 2.133272059 error value 2.220446049e-16 error grad 2.318485908e-15 +DEAL::0.6470588235 0.6548713235 0.1626838235: 0.6470588235 1.654871324 2.162683824 error value 1.110223025e-16 error grad 2.840353661e-15 +DEAL::0.6764705882 0.6842830882 0.1920955882: 0.6764705882 1.684283088 2.192095588 error value 0.000000000 error grad 2.323026718e-15 +DEAL::0.7058823529 0.7136948529 0.2215073529: 0.7058823529 1.713694853 2.221507353 error value 4.965068306e-16 error grad 1.590700722e-15 +DEAL::0.7352941176 0.7431066176 0.2509191176: 0.7352941176 1.743106618 2.250919118 error value 9.155133597e-16 error grad 1.237182132e-15 +DEAL::0.7647058824 0.7725183824 0.2803308824: 0.7647058824 1.772518382 2.280330882 error value 6.280369835e-16 error grad 1.797084322e-15 +DEAL::0.7941176471 0.8019301471 0.3097426471: 0.7941176471 1.801930147 2.309742647 error value 2.220446049e-16 error grad 2.372155122e-15 +DEAL::0.8235294118 0.8313419118 0.3391544118: 0.8235294118 1.831341912 2.339154412 error value 4.965068306e-16 error grad 1.948433501e-15 +DEAL::0.8529411765 0.8607536765 0.3685661765: 0.8529411765 1.860753676 2.368566176 error value 0.000000000 error grad 3.978256139e-15 +DEAL:: +DEAL::-11.34496302 -9.922216486 -9.438628098 -3.075312819 0.9043718604 0.8908393358 1.198716924 -3.097411390 1.073813608 -0.08814565727 -0.1380858202 -0.3070723944 1.423293553 1.293925045 -3.071304257 -0.05245461204 -0.3451885260 -0.1632474111 -0.4059307256 -0.06817036983 -0.1299505644 0.6504856547 0.6538607879 0.6471080969 -5.781725160 16.82705009 -5.509553114 -1.841513844 -1.271125768 1.094235657 15.68207762 -4.255238801 -4.361047271 -1.329281513 -1.745422340 0.8868161776 1.101673183 -1.899446638 -1.674938215 2.371931084 0.1086453474 2.030383018 -1.619675319 0.7973426514 -1.627902689 -0.04583085425 2.672904366 2.459263495 -7.203016330 -6.725472503 17.87267902 -1.952806151 1.255830105 -1.425833422 1.356678182 -1.915923960 -1.757329970 1.995312136 1.862217691 0.1599366457 -19.61329978 11.29594317 10.31943902 12.76718363 -3.052396861 -2.993906264 9.974139105 -17.39718992 8.335074218 -3.182653344 14.25628633 -2.883201002 8.225755060 7.481746347 -16.00866078 -3.184999420 -2.871873102 15.88062514 12.76848006 17.19071884 18.19960467 +DEAL::Cell with center 0.2500000000 0.2500000000 0.7500000000 +DEAL::0.000000000 0.007812500000 0.5156250000: 0.000000000 1.007812500 2.515625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.02941176471 0.03722426471 0.5450367647: 0.02941176471 1.037224265 2.545036765 error value 9.930379045e-16 error grad 3.814344819e-15 +DEAL::0.05882352941 0.06663602941 0.5744485294: 0.05882352941 1.066636029 2.574448529 error value 4.965553153e-16 error grad 2.601205896e-15 +DEAL::0.08823529412 0.09604779412 0.6038602941: 0.08823529412 1.096047794 2.603860294 error value 8.881784197e-16 error grad 3.304751880e-15 +DEAL::0.1176470588 0.1254595588 0.6332720588: 0.1176470588 1.125459559 2.633272059 error value 4.443059974e-16 error grad 1.269199120e-15 +DEAL::0.1470588235 0.1548713235 0.6626838235: 0.1470588235 1.154871324 2.662683824 error value 4.440892099e-16 error grad 1.678855799e-15 +DEAL::0.1764705882 0.1842830882 0.6920955882: 0.1764705882 1.184283088 2.692095588 error value 8.886119947e-16 error grad 2.711083486e-15 +DEAL::0.2058823529 0.2136948529 0.7215073529: 0.2058823529 1.213694853 2.721507353 error value 8.886119947e-16 error grad 2.394419900e-15 +DEAL::0.2352941176 0.2431066176 0.7509191176: 0.2352941176 1.243106618 2.750919118 error value 2.288783399e-16 error grad 2.199112750e-15 +DEAL::0.2647058824 0.2725183824 0.7803308824: 0.2647058824 1.272518382 2.780330882 error value 4.965068306e-16 error grad 2.308679848e-15 +DEAL::0.2941176471 0.3019301471 0.8097426471: 0.2941176471 1.301930147 2.809742647 error value 2.288783399e-16 error grad 2.226682296e-15 +DEAL::0.3235294118 0.3313419118 0.8391544118: 0.3235294118 1.331341912 2.839154412 error value 4.440892099e-16 error grad 1.807312144e-15 +DEAL::0.3529411765 0.3607536765 0.8685661765: 0.3529411765 1.360753676 2.868566176 error value 4.440892099e-16 error grad 2.708117328e-15 +DEAL:: +DEAL::-12.24708041 -10.82433388 -8.536510708 -3.020545280 0.9591393997 0.8360717965 1.269596609 -3.026531705 1.002933924 -0.09155835058 -0.1414985135 -0.3036597011 1.510827207 1.381458699 -3.158837910 -0.05655169659 -0.3492856105 -0.1591503265 -0.4112540252 -0.07349366939 -0.1246272649 0.6320093773 0.6353845105 0.6655843743 -6.177321955 16.43145330 -5.113956319 -1.740317306 -1.169929230 0.9930391192 15.36926464 -4.568051783 -4.048234289 -1.226177548 -1.642318375 0.7837122124 1.225211526 -1.775908295 -1.798476558 2.277325014 0.01403927710 2.124989088 -1.506677390 0.9103405805 -1.740900618 -0.1501296679 2.568605552 2.563562309 -7.690115302 -7.212571475 18.35977800 -1.841771315 1.366864941 -1.536868258 1.480359223 -1.792242919 -1.881011011 1.907769872 1.774675427 0.2474789096 -20.09557805 10.81366490 10.80171729 12.75330181 -3.066278686 -2.980024439 9.605280889 -17.76604814 8.703932434 -3.261275669 14.17766400 -2.804578677 7.952880169 7.208871455 -15.73578589 -3.333620119 -3.020493801 16.02924584 9.160265401 13.58250419 21.80781932 +DEAL::Cell with center 0.7500000000 0.2500000000 0.7500000000 +DEAL::0.5000000000 0.007812500000 0.5156250000: 0.5000000000 1.007812500 2.515625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.5294117647 0.03722426471 0.5450367647: 0.5294117647 1.037224265 2.545036765 error value 9.992007222e-16 error grad 3.816206248e-15 +DEAL::0.5588235294 0.06663602941 0.5744485294: 0.5588235294 1.066636029 2.574448529 error value 5.087681049e-16 error grad 2.707813652e-15 +DEAL::0.5882352941 0.09604779412 0.6038602941: 0.5882352941 1.096047794 2.603860294 error value 8.881784197e-16 error grad 3.355156417e-15 +DEAL::0.6176470588 0.1254595588 0.6332720588: 0.6176470588 1.125459559 2.633272059 error value 4.965068306e-16 error grad 1.354395762e-15 +DEAL::0.6470588235 0.1548713235 0.6626838235: 0.6470588235 1.154871324 2.662683824 error value 4.577566799e-16 error grad 1.701587905e-15 +DEAL::0.6764705882 0.1842830882 0.6920955882: 0.6764705882 1.184283088 2.692095588 error value 8.881784197e-16 error grad 2.731889154e-15 +DEAL::0.7058823529 0.2136948529 0.7215073529: 0.7058823529 1.213694853 2.721507353 error value 8.881784197e-16 error grad 2.421931180e-15 +DEAL::0.7352941176 0.2431066176 0.7509191176: 0.7352941176 1.243106618 2.750919118 error value 2.220446049e-16 error grad 2.229197858e-15 +DEAL::0.7647058824 0.2725183824 0.7803308824: 0.7647058824 1.272518382 2.780330882 error value 4.965068306e-16 error grad 2.384030910e-15 +DEAL::0.7941176471 0.3019301471 0.8097426471: 0.7941176471 1.301930147 2.809742647 error value 3.140184917e-16 error grad 2.342018036e-15 +DEAL::0.8235294118 0.3313419118 0.8391544118: 0.8235294118 1.331341912 2.839154412 error value 4.965068306e-16 error grad 1.961044852e-15 +DEAL::0.8529411765 0.3607536765 0.8685661765: 0.8529411765 1.360753676 2.868566176 error value 4.440892099e-16 error grad 2.907844746e-15 +DEAL:: +DEAL::-11.34496302 -10.82433388 -8.536510708 -3.075312819 0.9591393997 0.8360717965 1.198716924 -3.026531705 1.002933924 -0.08814565727 -0.1414985135 -0.3036597011 1.423293553 1.381458699 -3.158837910 -0.05245461204 -0.3492856105 -0.1591503265 -0.4059307256 -0.07349366939 -0.1246272649 0.6504856547 0.6353845105 0.6655843743 -5.781725160 16.43145330 -5.113956319 -1.841513844 -1.169929230 0.9930391192 15.68207762 -4.568051783 -4.048234289 -1.329281513 -1.642318375 0.7837122124 1.101673183 -1.775908295 -1.798476558 2.371931084 0.01403927710 2.124989088 -1.619675319 0.9103405805 -1.740900618 -0.04583085425 2.568605552 2.563562309 -7.203016330 -7.212571475 18.35977800 -1.952806151 1.366864941 -1.536868258 1.356678182 -1.792242919 -1.881011011 1.995312136 1.774675427 0.2474789096 -19.61329978 10.81366490 10.80171729 12.76718363 -3.066278686 -2.980024439 9.974139105 -17.76604814 8.703932434 -3.182653344 14.17766400 -2.804578677 8.225755060 7.208871455 -15.73578589 -3.184999420 -3.020493801 16.02924584 12.76848006 13.58250419 21.80781932 +DEAL::Cell with center 0.2500000000 0.7500000000 0.7500000000 +DEAL::0.000000000 0.5078125000 0.5156250000: 0.000000000 1.507812500 2.515625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.02941176471 0.5372242647 0.5450367647: 0.02941176471 1.537224265 2.545036765 error value 9.155396551e-16 error grad 3.935477481e-15 +DEAL::0.05882352941 0.5666360294 0.5744485294: 0.05882352941 1.566636029 2.574448529 error value 4.441434167e-16 error grad 3.427403266e-15 +DEAL::0.08823529412 0.5960477941 0.6038602941: 0.08823529412 1.596047794 2.603860294 error value 8.881784197e-16 error grad 3.760709652e-15 +DEAL::0.1176470588 0.6254595588 0.6332720588: 0.1176470588 1.625459559 2.633272059 error value 4.443059974e-16 error grad 1.818341139e-15 +DEAL::0.1470588235 0.6548713235 0.6626838235: 0.1470588235 1.654871324 2.662683824 error value 4.440892099e-16 error grad 2.930668748e-15 +DEAL::0.1764705882 0.6842830882 0.6920955882: 0.1764705882 1.684283088 2.692095588 error value 8.886119947e-16 error grad 2.642017914e-15 +DEAL::0.2058823529 0.7136948529 0.7215073529: 0.2058823529 1.713694853 2.721507353 error value 9.159339953e-16 error grad 2.449997680e-15 +DEAL::0.2352941176 0.7431066176 0.7509191176: 0.2352941176 1.743106618 2.750919118 error value 2.288783399e-16 error grad 2.244431819e-15 +DEAL::0.2647058824 0.7725183824 0.7803308824: 0.2647058824 1.772518382 2.780330882 error value 6.280369835e-16 error grad 2.328907489e-15 +DEAL::0.2941176471 0.8019301471 0.8097426471: 0.2941176471 1.801930147 2.809742647 error value 5.551115123e-17 error grad 2.895795597e-15 +DEAL::0.3235294118 0.8313419118 0.8391544118: 0.3235294118 1.831341912 2.839154412 error value 4.440892099e-16 error grad 9.222205070e-16 +DEAL::0.3529411765 0.8607536765 0.8685661765: 0.3529411765 1.860753676 2.868566176 error value 4.440892099e-16 error grad 3.269030179e-15 +DEAL:: +DEAL::-12.24708041 -9.922216486 -8.536510708 -3.020545280 0.9043718604 0.8360717965 1.269596609 -3.097411390 1.002933924 -0.09155835058 -0.1380858202 -0.3036597011 1.510827207 1.293925045 -3.158837910 -0.05655169659 -0.3451885260 -0.1591503265 -0.4112540252 -0.06817036983 -0.1246272649 0.6320093773 0.6538607879 0.6655843743 -6.177321955 16.82705009 -5.113956319 -1.740317306 -1.271125768 0.9930391192 15.36926464 -4.255238801 -4.048234289 -1.226177548 -1.745422340 0.7837122124 1.225211526 -1.899446638 -1.798476558 2.277325014 0.1086453474 2.124989088 -1.506677390 0.7973426514 -1.740900618 -0.1501296679 2.672904366 2.563562309 -7.690115302 -6.725472503 18.35977800 -1.841771315 1.255830105 -1.536868258 1.480359223 -1.915923960 -1.881011011 1.907769872 1.862217691 0.2474789096 -20.09557805 11.29594317 10.80171729 12.75330181 -3.052396861 -2.980024439 9.605280889 -17.39718992 8.703932434 -3.261275669 14.25628633 -2.804578677 7.952880169 7.481746347 -15.73578589 -3.333620119 -2.871873102 16.02924584 9.160265401 17.19071884 21.80781932 +DEAL::Cell with center 0.7500000000 0.7500000000 0.7500000000 +DEAL::0.5000000000 0.5078125000 0.5156250000: 0.5000000000 1.507812500 2.515625000 error value 0.000000000 error grad 0.000000000 +DEAL::0.5294117647 0.5372242647 0.5450367647: 0.5294117647 1.537224265 2.545036765 error value 9.222205070e-16 error grad 3.937281643e-15 +DEAL::0.5588235294 0.5666360294 0.5744485294: 0.5588235294 1.566636029 2.574448529 error value 4.577566799e-16 error grad 3.508999260e-15 +DEAL::0.5882352941 0.5960477941 0.6038602941: 0.5882352941 1.596047794 2.603860294 error value 8.881784197e-16 error grad 3.805079063e-15 +DEAL::0.6176470588 0.6254595588 0.6332720588: 0.6176470588 1.625459559 2.633272059 error value 4.965068306e-16 error grad 1.878799077e-15 +DEAL::0.6470588235 0.6548713235 0.6626838235: 0.6470588235 1.654871324 2.662683824 error value 4.577566799e-16 error grad 2.943749975e-15 +DEAL::0.6764705882 0.6842830882 0.6920955882: 0.6764705882 1.684283088 2.692095588 error value 8.881784197e-16 error grad 2.663363163e-15 +DEAL::0.7058823529 0.7136948529 0.7215073529: 0.7058823529 1.713694853 2.721507353 error value 9.155133597e-16 error grad 2.476891724e-15 +DEAL::0.7352941176 0.7431066176 0.7509191176: 0.7352941176 1.743106618 2.750919118 error value 2.220446049e-16 error grad 2.273917411e-15 +DEAL::0.7647058824 0.7725183824 0.7803308824: 0.7647058824 1.772518382 2.780330882 error value 6.280369835e-16 error grad 2.403624519e-15 +DEAL::0.7941176471 0.8019301471 0.8097426471: 0.7941176471 1.801930147 2.809742647 error value 2.220446049e-16 error grad 2.985392197e-15 +DEAL::0.8235294118 0.8313419118 0.8391544118: 0.8235294118 1.831341912 2.839154412 error value 4.965068306e-16 error grad 1.195746792e-15 +DEAL::0.8529411765 0.8607536765 0.8685661765: 0.8529411765 1.860753676 2.868566176 error value 4.440892099e-16 error grad 3.436309054e-15 +DEAL:: +DEAL::-11.34496302 -9.922216486 -8.536510708 -3.075312819 0.9043718604 0.8360717965 1.198716924 -3.097411390 1.002933924 -0.08814565727 -0.1380858202 -0.3036597011 1.423293553 1.293925045 -3.158837910 -0.05245461204 -0.3451885260 -0.1591503265 -0.4059307256 -0.06817036983 -0.1246272649 0.6504856547 0.6538607879 0.6655843743 -5.781725160 16.82705009 -5.113956319 -1.841513844 -1.271125768 0.9930391192 15.68207762 -4.255238801 -4.048234289 -1.329281513 -1.745422340 0.7837122124 1.101673183 -1.899446638 -1.798476558 2.371931084 0.1086453474 2.124989088 -1.619675319 0.7973426514 -1.740900618 -0.04583085425 2.672904366 2.563562309 -7.203016330 -6.725472503 18.35977800 -1.952806151 1.255830105 -1.536868258 1.356678182 -1.915923960 -1.881011011 1.995312136 1.862217691 0.2474789096 -19.61329978 11.29594317 10.80171729 12.76718363 -3.052396861 -2.980024439 9.974139105 -17.39718992 8.703932434 -3.182653344 14.25628633 -2.804578677 8.225755060 7.481746347 -15.73578589 -3.184999420 -2.871873102 16.02924584 12.76848006 17.19071884 21.80781932