From: Timo Heister Date: Wed, 7 Apr 2021 14:43:56 +0000 (-0400) Subject: FEInterface extractors X-Git-Tag: v9.3.0-rc1~148^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77902d8c3e9fc5ac3f98f0d28118baceb1e40d17;p=dealii.git FEInterface extractors --- diff --git a/doc/news/changes/minor/20210415JiaqiZhang b/doc/news/changes/minor/20210415JiaqiZhang new file mode 100644 index 0000000000..1f30c2e7a1 --- /dev/null +++ b/doc/news/changes/minor/20210415JiaqiZhang @@ -0,0 +1,4 @@ +New: FEInterfaceValues now can use FEValuesExtractors to extract scalar or +vector components like FEValues does. +
+(Jiaqi Zhang, 2021/04/15) diff --git a/include/deal.II/fe/fe_interface_values.h b/include/deal.II/fe/fe_interface_values.h index a07364df97..f245c55d5e 100644 --- a/include/deal.II/fe/fe_interface_values.h +++ b/include/deal.II/fe/fe_interface_values.h @@ -25,6 +25,323 @@ DEAL_II_NAMESPACE_OPEN +#ifndef DOXYGEN +template +class FEInterfaceValues; +#endif + +/** + * Namespace for views you get from accessing FEInterfaceValues using an + * extractor. + */ +namespace FEInterfaceViews +{ + /** + * The base class for the views. + */ + template + class Base + { + public: + /** + * The constructor. + **/ + Base(const FEInterfaceValues &fe_interface); + + protected: + /** + * Store a pointer to the FEInterfaceValues instance. + */ + const FEInterfaceValues *fe_interface; + }; + + + + /** + * The view of a scalar variable for FEInterfaceValues. + */ + template + class Scalar : public Base + { + public: + /** + * This is the type returned for values. + */ + using value_type = double; + + /** + * This is the type returned for gradients, for example from + * average_gradient(). + */ + using gradient_type = + typename FEValuesViews::Scalar::gradient_type; + + /** + * This is the type returned for hessians, for example from jump_hessian(). + */ + using hessian_type = + typename FEValuesViews::Scalar::hessian_type; + + /** + * This is the type returned for third derivatives, for example from + * jump_hessian(). + */ + using third_derivative_type = + typename FEValuesViews::Scalar::third_derivative_type; + + /** + * Constructor for an object that represents a single scalar component + */ + Scalar(const FEInterfaceValues &fe_interface, + const unsigned int component); + + /** + * Return the value of the shape function + * with interface dof index @p interface_dof_index in + * quadrature point @p q_point of the component selected by this view. + * + * The argument @p here_or_there selects between the upstream value and + * the downstream value as defined by the direction of the normal vector + * in this quadrature point. If @p here_or_there is true, the shape + * functions from the first cell of the interface is used. + * + * In other words, this function returns the limit of the value of the shape + * function in the given quadrature point when approaching it from one of + * the two cells of the interface. + * + * @note This function is typically used to pick the upstream or downstream + * value based on a direction. This can be achieved by using + * (direction * normal)>0 as the first argument of this + * function. + */ + value_type + value(const bool here_or_there, + const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump $\jump{u}=u_1 - u_2$ on the interface for the shape + * function + * @p interface_dof_index in the quadrature point @p q_point + * of the component selected by this view. + */ + value_type + jump(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the average value $\average{u}=\frac{1}{2}(u_1 + u_2)$ on the + * interface for the shape + * function @p interface_dof_index in the quadrature point @p q_point + * of the component selected by this view. + */ + value_type + average(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the average of the gradient $\average{\nabla u}$ on the interface + * for the shape + * function @p interface_dof_index in the quadrature point @p q_point + * of the component selected by this view. + */ + gradient_type + average_gradient(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump of the gradient $\jump{nabla u}$ on the interface for + * the shape + * function @p interface_dof_index in the quadrature point @p q_point + * of the component selected by this view. + */ + gradient_type + jump_gradient(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the average of the Hessian $\average{\nabla^2 u} = + * \frac{1}{2}\nabla^2 u_{\text{cell0}} + \frac{1}{2} \nabla^2 + * u_{\text{cell1}}$ on the interface + * for the shape function @p interface_dof_index at the quadrature point @p + * q_point of the component selected by this view. + */ + hessian_type + average_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump in the gradient $\jump{\nabla u}=\nabla u_{\text{cell0}} + * - \nabla u_{\text{cell1}}$ on the interface for the shape function @p + * interface_dof_index at the quadrature point @p q_point of + * the component selected by this view. + */ + hessian_type + jump_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump in the third derivative $\jump{\nabla^3 u} = \nabla^3 + * u_{\text{cell0}} - \nabla^3 u_{\text{cell1}}$ on the interface for the + * shape function @p interface_dof_index at the quadrature point @p q_point of + * the component selected by this view. + */ + third_derivative_type + jump_3rd_derivative(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + private: + /** + * The extractor for this view. + */ + const FEValuesExtractors::Scalar extractor; + }; + + + + /** + * The view of a vector-valued variable for FEInterfaceValues. + */ + template + class Vector : public Base + { + public: + /** + * This is the type returned for values. + */ + using value_type = + typename FEValuesViews::Vector::value_type; + + /** + * This is the type returned for gradients, for example from + * average_gradient(). + */ + using gradient_type = + typename FEValuesViews::Vector::gradient_type; + + /** + * An alias for the type of second derivatives of the view this class + * represents. Here, for a set of dim components of the + * finite element, the Hessian is a Tensor@<3,dim@>. + */ + using hessian_type = + typename FEValuesViews::Vector::hessian_type; + + /** + * An alias for the type of third derivatives of the view this class + * represents. Here, for a set of dim components of the + * finite element, the third derivative is a Tensor@<4,dim@>. + */ + using third_derivative_type = + typename FEValuesViews::Vector::third_derivative_type; + + /** + * Constructor for an object that represents a vector component + */ + Vector(const FEInterfaceValues &fe_interface, + const unsigned int first_vector_component); + + /** + * Return the value of the vector components selected by this view + * with interface dof index @p interface_dof_index in + * quadrature point @p q_point. + * + * The argument @p here_or_there selects between the upstream value and + * the downstream value as defined by the direction of the normal vector + * in this quadrature point. If @p here_or_there is true, the shape + * functions from the first cell of the interface is used. + * + * In other words, this function returns the limit of the value of the shape + * function in the given quadrature point when approaching it from one of + * the two cells of the interface. + * + * @note This function is typically used to pick the upstream or downstream + * value based on a direction. This can be achieved by using + * (direction * normal)>0 as the first argument of this + * function. + */ + value_type + value(const bool here_or_there, + const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump vector $[\mathbf{u}]=\mathbf{u_1} - \mathbf{u_2}$ on the + * interface for the shape function + * @p interface_dof_index in the quadrature point @p q_point. + */ + value_type + jump(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the average vector $\average{\mathbf{u}}=\frac{1}{2}(\matbf{u_1} + + * \mathbf{u_2})$ on the interface for the shape + * function @p interface_dof_index in the quadrature point @p q_point. + */ + value_type + average(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the average of the gradient (a tensor of rank 2) $\average{\nabla + * \mathbf{u}}$ on the interface for the shape + * function @p interface_dof_index in the quadrature point @p q_point. + */ + gradient_type + average_gradient(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump of the gradient (a tensor of rank 2) $\jump{\nabla + * \mathbf{u}}$ on the interface for the shape + * function @p interface_dof_index in the quadrature point @p q_point. + */ + gradient_type + jump_gradient(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the average of the Hessian $\average{\nabla^2 u} = + * \frac{1}{2}\nabla^2 u_{\text{cell0}} + \frac{1}{2} \nabla^2 + * u_{\text{cell1}}$ on the interface + * for the shape function @p interface_dof_index at the quadrature point @p + * q_point of the component selected by this view. + */ + hessian_type + average_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump in the gradient $\jump{\nabla u}=\nabla u_{\text{cell0}} + * - \nabla u_{\text{cell1}}$ on the interface for the shape function @p + * interface_dof_index at the quadrature point @p q_point of + * the component selected by this view. + */ + hessian_type + jump_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + /** + * Return the jump in the third derivative $\jump{\nabla^3 u} = \nabla^3 + * u_{\text{cell0}} - \nabla^3 u_{\text{cell1}}$ on the interface for the + * shape function @p interface_dof_index at the quadrature point @p q_point of + * the component selected by this view. + */ + third_derivative_type + jump_3rd_derivative(const unsigned int interface_dof_index, + const unsigned int q_point) const; + + private: + /** + * The extractor for this view. + */ + const FEValuesExtractors::Vector extractor; + }; +} // namespace FEInterfaceViews + + + /** * FEInterfaceValues is a data structure to access and assemble finite element * data on interfaces between two cells of a mesh. @@ -58,7 +375,6 @@ public: */ const unsigned int n_quadrature_points; - /** * Construct the FEInterfaceValues with a single FiniteElement (same on both * sides of the facet). The FEFaceValues objects will be initialized with @@ -99,8 +415,8 @@ public: * sub_face_no_neighbor to indicate that you want to work on the entire face, * not a sub-face. * - * The arguments (including their order) are identical to the @p face_worker arguments - * in MeshWorker::mesh_loop(). + * The arguments (including their order) are identical to the @p face_worker + * arguments in MeshWorker::mesh_loop(). * * @param[in] cell An iterator to the first cell adjacent to the interface. * @param[in] face_no An integer identifying which face of the first cell the @@ -234,7 +550,6 @@ public: const std::vector> & get_quadrature_points() const; - /** * Return the number of DoFs (or shape functions) on the current interface. * @@ -255,8 +570,8 @@ public: * in case of level cell (that is, if is_level_cell() return true ) * the mg dof indices are returned. * - * @note This function is only available after a call to reinit() and can change - * from one call to reinit() to the next. + * @note This function is only available after a call to reinit() and can + * change from one call to reinit() to the next. */ std::vector get_interface_dof_indices() const; @@ -269,8 +584,8 @@ public: * For discontinuous finite elements each interface dof will correspond to * exactly one DoF index. * - * @note This function is only available after a call to reinit() and can change - * from one call to reinit() to the next. + * @note This function is only available after a call to reinit() and can + * change from one call to reinit() to the next. */ std::array interface_dof_to_dof_indices(const unsigned int interface_dof_index) const; @@ -427,6 +742,24 @@ public: const unsigned int q_point, const unsigned int component = 0) const; + /** + * Create a view of the current FEInterfaceValues object that represents a + * particular scalar component of the possibly vector-valued finite element. + * The concept of views is explained in the documentation of the namespace + * FEValuesViews. + */ + const FEInterfaceViews::Scalar + operator[](const FEValuesExtractors::Scalar &scalar) const; + + /** + * Create a view of the current FEInterfaceValues object that represents a set + * of dim scalar components (i.e. a vector) of the vector-valued + * finite element. The concept of views is explained in the documentation of + * the namespace FEValuesViews. + */ + const FEInterfaceViews::Vector + operator[](const FEValuesExtractors::Vector &vector) const; + /** * @} */ @@ -499,6 +832,8 @@ FEInterfaceValues::FEInterfaceValues( , fe_face_values_neighbor(nullptr) {} + + template FEInterfaceValues::FEInterfaceValues( const Mapping & mapping, @@ -601,8 +936,6 @@ FEInterfaceValues::reinit( fe_face_values_neighbor->get_fe().n_dofs_per_cell()); cell_neighbor->get_active_or_mg_dof_indices(v2); - - // Fill a map from the global dof index to the left and right // local index. std::map> @@ -652,7 +985,6 @@ FEInterfaceValues::reinit(const CellIteratorType &cell, interface_dof_indices.resize(fe_face_values->get_fe().n_dofs_per_cell()); cell->get_active_or_mg_dof_indices(interface_dof_indices); - dofmap.resize(interface_dof_indices.size()); for (unsigned int i = 0; i < interface_dof_indices.size(); ++i) @@ -1006,6 +1338,7 @@ FEInterfaceValues::jump_hessian( } + template Tensor<3, spacedim> FEInterfaceValues::jump_3rd_derivative( @@ -1037,6 +1370,299 @@ FEInterfaceValues::jump_3rd_derivative( } + +/*------------ Inline functions: FEInterfaceValues------------*/ +template +inline const FEInterfaceViews::Scalar + FEInterfaceValues:: + operator[](const FEValuesExtractors::Scalar &scalar) const +{ + AssertIndexRange(scalar.component, this->get_fe().n_components()); + return FEInterfaceViews::Scalar(*this, scalar.component); +} + + + +template +inline const FEInterfaceViews::Vector + FEInterfaceValues:: + operator[](const FEValuesExtractors::Vector &vector) const +{ + const FiniteElement &fe = this->get_fe(); + const unsigned int n_vectors = + (fe.n_components() >= Tensor<1, spacedim>::n_independent_components ? + fe.n_components() - Tensor<1, spacedim>::n_independent_components + 1 : + 0); + AssertIndexRange(vector.first_vector_component, n_vectors); + return FEInterfaceViews::Vector(*this, + vector.first_vector_component); +} + + + +namespace FEInterfaceViews +{ + template + Base::Base( + const FEInterfaceValues &fe_interface) + : fe_interface(&fe_interface) + {} + + + + template + Scalar::Scalar( + const FEInterfaceValues &fe_interface, + const unsigned int component) + : Base(fe_interface) + , extractor(component) + {} + + + + template + typename Scalar::value_type + Scalar::value(const bool here_or_there, + const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->shape_value(here_or_there, + interface_dof_index, + q_point, + extractor.component); + } + + + + template + typename Scalar::value_type + Scalar::jump(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->jump(interface_dof_index, + q_point, + extractor.component); + } + + + + template + typename Scalar::value_type + Scalar::average(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->average(interface_dof_index, + q_point, + extractor.component); + } + + + + template + typename Scalar::gradient_type + Scalar::average_gradient( + const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->average_gradient(interface_dof_index, + q_point, + extractor.component); + } + + + + template + typename Scalar::gradient_type + Scalar::jump_gradient(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->jump_gradient(interface_dof_index, + q_point, + extractor.component); + } + + + + template + typename Scalar::hessian_type + Scalar::average_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->average_hessian(interface_dof_index, + q_point, + extractor.component); + } + + + + template + typename Scalar::third_derivative_type + Scalar::jump_3rd_derivative( + const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->jump_3rd_derivative(interface_dof_index, + q_point, + extractor.component); + } + + + + template + typename Scalar::hessian_type + Scalar::jump_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + return this->fe_interface->jump_hessian(interface_dof_index, + q_point, + extractor.component); + } + + + + template + Vector::Vector( + const FEInterfaceValues &fe_interface, + const unsigned int first_vector_component) + : Base(fe_interface) + , extractor(first_vector_component) + {} + + + + template + typename Vector::value_type + Vector::value(const bool here_or_there, + const unsigned int interface_dof_index, + const unsigned int q_point) const + { + value_type result; + for (int d = 0; d < dim; ++d) + result[d] = + this->fe_interface->shape_value(here_or_there, + interface_dof_index, + q_point, + d + extractor.first_vector_component); + + return result; + } + + + + template + typename Vector::value_type + Vector::jump(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + value_type result; + for (int d = 0; d < dim; ++d) + result[d] = + this->fe_interface->jump(interface_dof_index, + q_point, + d + extractor.first_vector_component); + + return result; + } + + + + template + typename Vector::value_type + Vector::average(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + value_type result; + for (int d = 0; d < dim; ++d) + result[d] = + this->fe_interface->average(interface_dof_index, + q_point, + d + extractor.first_vector_component); + + return result; + } + + + + template + typename Vector::gradient_type + Vector::average_gradient( + const unsigned int interface_dof_index, + const unsigned int q_point) const + { + gradient_type result; + for (int d = 0; d < dim; ++d) + result[d] = this->fe_interface->average_gradient( + interface_dof_index, q_point, d + extractor.first_vector_component); + + return result; + } + + + + template + typename Vector::gradient_type + Vector::jump_gradient(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + gradient_type result; + for (int d = 0; d < dim; ++d) + result[d] = + this->fe_interface->jump_gradient(interface_dof_index, + q_point, + d + extractor.first_vector_component); + + return result; + } + + + + template + typename Vector::hessian_type + Vector::average_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + hessian_type result; + for (int d = 0; d < dim; ++d) + result[d] = this->fe_interface->average_hessian( + interface_dof_index, q_point, d + extractor.first_vector_component); + + return result; + } + + + + template + typename Vector::hessian_type + Vector::jump_hessian(const unsigned int interface_dof_index, + const unsigned int q_point) const + { + hessian_type result; + for (int d = 0; d < dim; ++d) + result[d] = + this->fe_interface->jump_hessian(interface_dof_index, + q_point, + d + extractor.first_vector_component); + + return result; + } + + + + template + typename Vector::third_derivative_type + Vector::jump_3rd_derivative( + const unsigned int interface_dof_index, + const unsigned int q_point) const + { + third_derivative_type result; + for (int d = 0; d < dim; ++d) + result[d] = this->fe_interface->jump_3rd_derivative( + interface_dof_index, q_point, d + extractor.first_vector_component); + + return result; + } +} // namespace FEInterfaceViews + #endif // DOXYGEN DEAL_II_NAMESPACE_CLOSE diff --git a/tests/feinterface/fe_interface_view_01.cc b/tests/feinterface/fe_interface_view_01.cc new file mode 100644 index 0000000000..d06ab0a294 --- /dev/null +++ b/tests/feinterface/fe_interface_view_01.cc @@ -0,0 +1,154 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2007 - 2020 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. +// +// --------------------------------------------------------------------- + +// test FEInterfaceViews and extractor classes. these tests use a primitive +// finite element and scalar extractors. To simplify the output, we skip writing +// results of high-order tensors and zeros. + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include "../tests.h" + + +template +void +test(const Triangulation &tr, const FiniteElement &fe) +{ + DoFHandler dof(tr); + dof.distribute_dofs(fe); + + deallog << "FE=" << fe.get_name() << std::endl; + + const QGauss face_quadrature(2); + FEInterfaceValues fe_iv(fe, + face_quadrature, + update_values | update_gradients | + update_quadrature_points | + update_3rd_derivatives); + auto cell = dof.begin_active(); + + for (const auto f : GeometryInfo::face_indices()) + if (!cell->face(f)->at_boundary()) + { + fe_iv.reinit(cell, + f, + numbers::invalid_unsigned_int, + cell->neighbor(f), + cell->neighbor_of_neighbor(f), + numbers::invalid_unsigned_int); + const auto & q_points = fe_iv.get_quadrature_points(); + const unsigned int n_q_points = q_points.size(); + const unsigned int n_dofs_face = fe_iv.n_current_interface_dofs(); + + for (unsigned int c = 0; c < fe.n_components(); ++c) + { + FEValuesExtractors::Scalar single_component(c); + for (unsigned int i = 0; i < n_dofs_face; ++i) + for (unsigned int q = 0; q < n_q_points; ++q) + { + if (fe_iv[single_component].value(true, i, q) != 0) + deallog << fe_iv[single_component].value(true, i, q) + << " "; + if (fe_iv[single_component].value(false, i, q) != 0) + deallog << fe_iv[single_component].value(false, i, q) + << " "; + if (fe_iv[single_component].jump(i, q) != 0) + deallog << fe_iv[single_component].jump(i, q) << " "; + if (fe_iv[single_component].average(i, q) != 0) + deallog << fe_iv[single_component].average(i, q) << " "; + if (fe_iv[single_component].jump_gradient(i, q).norm() != 0) + deallog << fe_iv[single_component].jump_gradient(i, q) + << " "; + if (fe_iv[single_component].average_gradient(i, q).norm() != + 0) + deallog << fe_iv[single_component].average_gradient(i, q) + << std::endl; + + + Assert(fe_iv[single_component].value(true, i, q) == + fe_iv.shape_value(true, i, q, c), + ExcInternalError()); + Assert(fe_iv[single_component].value(false, i, q) == + fe_iv.shape_value(false, i, q, c), + ExcInternalError()); + Assert(fe_iv[single_component].jump(i, q) == + fe_iv.jump(i, q, c), + ExcInternalError()); + Assert(fe_iv[single_component].average(i, q) == + fe_iv.average(i, q, c), + ExcInternalError()); + Assert(fe_iv[single_component].average_hessian(i, q) == + fe_iv.average_hessian(i, q, c), + ExcInternalError()); + Assert(fe_iv[single_component].jump_hessian(i, q) == + fe_iv.jump_hessian(i, q, c), + ExcInternalError()); + + Assert(fe_iv[single_component].jump_3rd_derivative(i, q) == + fe_iv.jump_3rd_derivative(i, q, c), + ExcInternalError()); + + + + } // q loop + + } // component loop + return; + + } // at_boundary +} + +template +void +test_hyper_sphere() +{ + Triangulation tr; + GridGenerator::hyper_ball(tr); + + static const SphericalManifold boundary; + tr.set_manifold(0, boundary); + + FESystem fe(FE_Q(1), + 1, + FE_DGQArbitraryNodes(QGauss<1>(2)), + dim); + test(tr, fe); +} + + +int +main() +{ + initlog(); + deallog << std::setprecision(2); + + test_hyper_sphere<2>(); + test_hyper_sphere<3>(); +} diff --git a/tests/feinterface/fe_interface_view_01.output b/tests/feinterface/fe_interface_view_01.output new file mode 100644 index 0000000000..3cd2839247 --- /dev/null +++ b/tests/feinterface/fe_interface_view_01.output @@ -0,0 +1,239 @@ + +DEAL::FE=FESystem<2>[FE_Q<2>(1)-FE_DGQArbitraryNodes<2>(QGauss(2))^2] +DEAL::0.79 0.79 0.79 1.1 -1.1 -1.2 -1.2 +DEAL::0.21 0.21 0.21 1.9 -1.9 -1.2 -1.2 +DEAL::0.64 -0.64 0.32 -0.32 +DEAL::0.28 -0.28 0.14 -0.14 +DEAL::0.21 0.21 0.21 -2.8 2.8 1.2 1.2 +DEAL::0.79 0.79 0.79 -4.5 4.5 1.2 1.2 +DEAL::0.17 -0.17 0.085 -0.085 +DEAL::1.0 -1.0 0.52 -0.52 +DEAL::0.64 -0.64 -0.32 0.32 +DEAL::0.28 -0.28 -0.14 0.14 +DEAL::0.17 -0.17 -0.085 0.085 +DEAL::1.0 -1.0 -0.52 0.52 +DEAL::1.4 1.4 0.68 -1.4 -4.3 -0.70 -2.2 +DEAL::0.0 -5.7 0.0 -2.9 +DEAL::-0.37 -0.37 -0.18 1.4 0.13 0.70 0.066 +DEAL::0.0 1.5 0.0 0.77 +DEAL::0.0 5.7 0.0 2.9 +DEAL::1.4 1.4 0.68 -2.3 8.0 -1.1 4.0 +DEAL::0.0 -1.5 0.0 -0.77 +DEAL::-0.37 -0.37 -0.18 2.3 -3.8 1.1 -1.9 +DEAL::1.4 -1.4 0.68 4.3 1.4 -2.2 -0.70 +DEAL::5.7 2.1e-16 -2.9 -1.0e-16 +DEAL::-5.7 -3.2e-17 2.9 1.6e-17 +DEAL::1.4 -1.4 0.68 -8.0 2.3 4.0 -1.1 +DEAL::-0.37 0.37 -0.18 -0.13 -1.4 0.066 0.70 +DEAL::-1.5 -5.6e-17 0.77 2.8e-17 +DEAL::1.5 8.6e-18 -0.77 -4.3e-18 +DEAL::-0.37 0.37 -0.18 3.8 -2.3 -1.9 1.1 +DEAL::1.4 1.4 0.68 -1.4 -4.3 -0.70 -2.2 +DEAL::0.0 -5.7 0.0 -2.9 +DEAL::-0.37 -0.37 -0.18 1.4 0.13 0.70 0.066 +DEAL::0.0 1.5 0.0 0.77 +DEAL::0.0 5.7 0.0 2.9 +DEAL::1.4 1.4 0.68 -2.3 8.0 -1.1 4.0 +DEAL::0.0 -1.5 0.0 -0.77 +DEAL::-0.37 -0.37 -0.18 2.3 -3.8 1.1 -1.9 +DEAL::1.4 -1.4 0.68 4.3 1.4 -2.2 -0.70 +DEAL::5.7 2.1e-16 -2.9 -1.0e-16 +DEAL::-5.7 -3.2e-17 2.9 1.6e-17 +DEAL::1.4 -1.4 0.68 -8.0 2.3 4.0 -1.1 +DEAL::-0.37 0.37 -0.18 -0.13 -1.4 0.066 0.70 +DEAL::-1.5 -5.6e-17 0.77 2.8e-17 +DEAL::1.5 8.6e-18 -0.77 -4.3e-18 +DEAL::-0.37 0.37 -0.18 3.8 -2.3 -1.9 1.1 +DEAL::FE=FESystem<3>[FE_Q<3>(1)-FE_DGQArbitraryNodes<3>(QGauss(2))^3] +DEAL::0.62 0.62 0.62 -5.3 0.0 0.0 1.2 -1.9 -1.9 +DEAL::0.17 0.17 0.17 -0.061 -4.4e-16 -1.1e-16 -0.36 -1.9 -0.50 +DEAL::0.17 0.17 0.17 -0.061 1.1e-16 0.0 -0.36 -0.50 -1.9 +DEAL::0.045 0.045 0.045 0.35 0.0 0.0 -0.28 -0.50 -0.50 +DEAL::1.5 0.0 2.4e-17 0.74 0.0 1.2e-17 +DEAL::0.39 0.0 0.0 0.20 0.0 0.0 +DEAL::0.39 0.0 6.5e-18 0.20 0.0 3.2e-18 +DEAL::0.11 0.0 0.0 0.053 0.0 0.0 +DEAL::0.17 0.17 0.17 -0.061 0.0 0.0 -0.36 1.9 -0.50 +DEAL::0.62 0.62 0.62 -5.3 4.4e-16 -4.4e-16 1.2 1.9 -1.9 +DEAL::0.045 0.045 0.045 0.35 -1.1e-16 0.0 -0.28 0.50 -0.50 +DEAL::0.17 0.17 0.17 -0.061 0.0 0.0 -0.36 0.50 -1.9 +DEAL::0.39 0.0 6.5e-18 0.20 0.0 3.2e-18 +DEAL::1.5 0.0 0.0 0.74 0.0 0.0 +DEAL::0.11 0.0 1.7e-18 0.053 0.0 8.7e-19 +DEAL::0.39 0.0 0.0 0.20 0.0 0.0 +DEAL::0.17 0.17 0.17 -0.061 0.0 0.0 -0.36 -0.50 1.9 +DEAL::0.045 0.045 0.045 0.35 -1.1e-16 1.1e-16 -0.28 -0.50 0.50 +DEAL::0.62 0.62 0.62 -5.3 2.2e-16 0.0 1.2 -1.9 1.9 +DEAL::0.17 0.17 0.17 -0.061 0.0 0.0 -0.36 -1.9 0.50 +DEAL::0.39 0.0 6.5e-18 0.20 0.0 3.2e-18 +DEAL::0.11 0.0 0.0 0.053 0.0 0.0 +DEAL::1.5 0.0 2.4e-17 0.74 0.0 1.2e-17 +DEAL::0.39 0.0 0.0 0.20 0.0 0.0 +DEAL::0.045 0.045 0.045 0.35 0.0 0.0 -0.28 0.50 0.50 +DEAL::0.17 0.17 0.17 -0.061 1.1e-16 4.4e-16 -0.36 0.50 1.9 +DEAL::0.17 0.17 0.17 -0.061 -2.2e-16 0.0 -0.36 1.9 0.50 +DEAL::0.62 0.62 0.62 -5.3 0.0 0.0 1.2 1.9 1.9 +DEAL::0.11 0.0 1.7e-18 0.053 0.0 8.7e-19 +DEAL::0.39 0.0 0.0 0.20 0.0 0.0 +DEAL::0.39 0.0 6.5e-18 0.20 0.0 3.2e-18 +DEAL::1.5 0.0 0.0 0.74 0.0 0.0 +DEAL::1.7 0.0 2.8e-17 -0.85 0.0 -1.4e-17 +DEAL::0.46 0.0 0.0 -0.23 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 -0.23 0.0 -3.7e-18 +DEAL::0.12 0.0 0.0 -0.061 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 -0.23 0.0 -3.7e-18 +DEAL::1.7 0.0 0.0 -0.85 0.0 0.0 +DEAL::0.12 0.0 2.0e-18 -0.061 0.0 -1.0e-18 +DEAL::0.46 0.0 0.0 -0.23 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 -0.23 0.0 -3.7e-18 +DEAL::0.12 0.0 0.0 -0.061 0.0 0.0 +DEAL::1.7 0.0 2.8e-17 -0.85 0.0 -1.4e-17 +DEAL::0.46 0.0 0.0 -0.23 0.0 0.0 +DEAL::0.12 0.0 2.0e-18 -0.061 0.0 -1.0e-18 +DEAL::0.46 0.0 0.0 -0.23 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 -0.23 0.0 -3.7e-18 +DEAL::1.7 0.0 0.0 -0.85 0.0 0.0 +DEAL::1.4 1.4 0.68 -4.1 -5.6 -5.6 -2.0 -2.8 -2.8 +DEAL::0.0 -5.6 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 -5.6 0.0 0.0 -2.8 +DEAL::-0.37 -0.37 -0.18 4.1 1.5 1.5 2.0 0.75 0.75 +DEAL::0.0 1.5 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 1.5 0.0 0.0 0.75 +DEAL::0.0 5.6 -9.2e-17 0.0 2.8 -4.6e-17 +DEAL::1.4 1.4 0.68 -4.1 5.6 -5.6 -2.0 2.8 -2.8 +DEAL::0.0 0.0 -5.6 0.0 0.0 -2.8 +DEAL::0.0 -1.5 2.5e-17 0.0 -0.75 1.2e-17 +DEAL::-0.37 -0.37 -0.18 4.1 -1.5 1.5 2.0 -0.75 0.75 +DEAL::0.0 0.0 1.5 0.0 0.0 0.75 +DEAL::0.0 0.0 5.6 0.0 0.0 2.8 +DEAL::1.4 1.4 0.68 -4.1 -5.6 5.6 -2.0 -2.8 2.8 +DEAL::0.0 -5.6 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 -1.5 0.0 0.0 -0.75 +DEAL::-0.37 -0.37 -0.18 4.1 1.5 -1.5 2.0 0.75 -0.75 +DEAL::0.0 1.5 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 5.6 0.0 0.0 2.8 +DEAL::0.0 5.6 -9.2e-17 0.0 2.8 -4.6e-17 +DEAL::1.4 1.4 0.68 -4.1 5.6 5.6 -2.0 2.8 2.8 +DEAL::0.0 0.0 -1.5 0.0 0.0 -0.75 +DEAL::0.0 -1.5 2.5e-17 0.0 -0.75 1.2e-17 +DEAL::-0.37 -0.37 -0.18 4.1 -1.5 -1.5 2.0 -0.75 -0.75 +DEAL::-0.37 0.37 -0.18 6.5 -1.5 -1.5 -3.2 0.75 0.75 +DEAL::-0.87 -1.5 0.0 0.43 0.75 0.0 +DEAL::-0.87 0.0 -1.5 0.43 0.0 0.75 +DEAL::1.4 -1.4 0.68 -11. 5.6 5.6 5.6 -2.8 -2.8 +DEAL::3.2 5.6 0.0 -1.6 -2.8 0.0 +DEAL::3.2 0.0 5.6 -1.6 0.0 -2.8 +DEAL::-0.87 1.5 -3.9e-17 0.43 -0.75 1.9e-17 +DEAL::-0.37 0.37 -0.18 6.5 1.5 -1.5 -3.2 -0.75 0.75 +DEAL::-0.87 0.0 -1.5 0.43 0.0 0.75 +DEAL::3.2 -5.6 1.4e-16 -1.6 2.8 -7.2e-17 +DEAL::1.4 -1.4 0.68 -11. -5.6 5.6 5.6 2.8 -2.8 +DEAL::3.2 0.0 5.6 -1.6 0.0 -2.8 +DEAL::-0.87 0.0 1.5 0.43 0.0 -0.75 +DEAL::-0.37 0.37 -0.18 6.5 -1.5 1.5 -3.2 0.75 -0.75 +DEAL::-0.87 -1.5 0.0 0.43 0.75 0.0 +DEAL::3.2 0.0 -5.6 -1.6 0.0 2.8 +DEAL::1.4 -1.4 0.68 -11. 5.6 -5.6 5.6 -2.8 2.8 +DEAL::3.2 5.6 0.0 -1.6 -2.8 0.0 +DEAL::-0.87 0.0 1.5 0.43 0.0 -0.75 +DEAL::-0.87 1.5 -3.9e-17 0.43 -0.75 1.9e-17 +DEAL::-0.37 0.37 -0.18 6.5 1.5 1.5 -3.2 -0.75 -0.75 +DEAL::3.2 0.0 -5.6 -1.6 0.0 2.8 +DEAL::3.2 -5.6 1.4e-16 -1.6 2.8 -7.2e-17 +DEAL::1.4 -1.4 0.68 -11. -5.6 -5.6 5.6 2.8 2.8 +DEAL::1.4 1.4 0.68 -4.1 -5.6 -5.6 -2.0 -2.8 -2.8 +DEAL::0.0 -5.6 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 -5.6 0.0 0.0 -2.8 +DEAL::-0.37 -0.37 -0.18 4.1 1.5 1.5 2.0 0.75 0.75 +DEAL::0.0 1.5 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 1.5 0.0 0.0 0.75 +DEAL::0.0 5.6 -9.2e-17 0.0 2.8 -4.6e-17 +DEAL::1.4 1.4 0.68 -4.1 5.6 -5.6 -2.0 2.8 -2.8 +DEAL::0.0 0.0 -5.6 0.0 0.0 -2.8 +DEAL::0.0 -1.5 2.5e-17 0.0 -0.75 1.2e-17 +DEAL::-0.37 -0.37 -0.18 4.1 -1.5 1.5 2.0 -0.75 0.75 +DEAL::0.0 0.0 1.5 0.0 0.0 0.75 +DEAL::0.0 0.0 5.6 0.0 0.0 2.8 +DEAL::1.4 1.4 0.68 -4.1 -5.6 5.6 -2.0 -2.8 2.8 +DEAL::0.0 -5.6 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 -1.5 0.0 0.0 -0.75 +DEAL::-0.37 -0.37 -0.18 4.1 1.5 -1.5 2.0 0.75 -0.75 +DEAL::0.0 1.5 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 5.6 0.0 0.0 2.8 +DEAL::0.0 5.6 -9.2e-17 0.0 2.8 -4.6e-17 +DEAL::1.4 1.4 0.68 -4.1 5.6 5.6 -2.0 2.8 2.8 +DEAL::0.0 0.0 -1.5 0.0 0.0 -0.75 +DEAL::0.0 -1.5 2.5e-17 0.0 -0.75 1.2e-17 +DEAL::-0.37 -0.37 -0.18 4.1 -1.5 -1.5 2.0 -0.75 -0.75 +DEAL::-0.37 0.37 -0.18 6.5 -1.5 -1.5 -3.2 0.75 0.75 +DEAL::-0.87 -1.5 0.0 0.43 0.75 0.0 +DEAL::-0.87 0.0 -1.5 0.43 0.0 0.75 +DEAL::1.4 -1.4 0.68 -11. 5.6 5.6 5.6 -2.8 -2.8 +DEAL::3.2 5.6 0.0 -1.6 -2.8 0.0 +DEAL::3.2 0.0 5.6 -1.6 0.0 -2.8 +DEAL::-0.87 1.5 -3.9e-17 0.43 -0.75 1.9e-17 +DEAL::-0.37 0.37 -0.18 6.5 1.5 -1.5 -3.2 -0.75 0.75 +DEAL::-0.87 0.0 -1.5 0.43 0.0 0.75 +DEAL::3.2 -5.6 1.4e-16 -1.6 2.8 -7.2e-17 +DEAL::1.4 -1.4 0.68 -11. -5.6 5.6 5.6 2.8 -2.8 +DEAL::3.2 0.0 5.6 -1.6 0.0 -2.8 +DEAL::-0.87 0.0 1.5 0.43 0.0 -0.75 +DEAL::-0.37 0.37 -0.18 6.5 -1.5 1.5 -3.2 0.75 -0.75 +DEAL::-0.87 -1.5 0.0 0.43 0.75 0.0 +DEAL::3.2 0.0 -5.6 -1.6 0.0 2.8 +DEAL::1.4 -1.4 0.68 -11. 5.6 -5.6 5.6 -2.8 2.8 +DEAL::3.2 5.6 0.0 -1.6 -2.8 0.0 +DEAL::-0.87 0.0 1.5 0.43 0.0 -0.75 +DEAL::-0.87 1.5 -3.9e-17 0.43 -0.75 1.9e-17 +DEAL::-0.37 0.37 -0.18 6.5 1.5 1.5 -3.2 -0.75 -0.75 +DEAL::3.2 0.0 -5.6 -1.6 0.0 2.8 +DEAL::3.2 -5.6 1.4e-16 -1.6 2.8 -7.2e-17 +DEAL::1.4 -1.4 0.68 -11. -5.6 -5.6 5.6 2.8 2.8 +DEAL::1.4 1.4 0.68 -4.1 -5.6 -5.6 -2.0 -2.8 -2.8 +DEAL::0.0 -5.6 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 -5.6 0.0 0.0 -2.8 +DEAL::-0.37 -0.37 -0.18 4.1 1.5 1.5 2.0 0.75 0.75 +DEAL::0.0 1.5 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 1.5 0.0 0.0 0.75 +DEAL::0.0 5.6 -9.2e-17 0.0 2.8 -4.6e-17 +DEAL::1.4 1.4 0.68 -4.1 5.6 -5.6 -2.0 2.8 -2.8 +DEAL::0.0 0.0 -5.6 0.0 0.0 -2.8 +DEAL::0.0 -1.5 2.5e-17 0.0 -0.75 1.2e-17 +DEAL::-0.37 -0.37 -0.18 4.1 -1.5 1.5 2.0 -0.75 0.75 +DEAL::0.0 0.0 1.5 0.0 0.0 0.75 +DEAL::0.0 0.0 5.6 0.0 0.0 2.8 +DEAL::1.4 1.4 0.68 -4.1 -5.6 5.6 -2.0 -2.8 2.8 +DEAL::0.0 -5.6 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 -1.5 0.0 0.0 -0.75 +DEAL::-0.37 -0.37 -0.18 4.1 1.5 -1.5 2.0 0.75 -0.75 +DEAL::0.0 1.5 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 5.6 0.0 0.0 2.8 +DEAL::0.0 5.6 -9.2e-17 0.0 2.8 -4.6e-17 +DEAL::1.4 1.4 0.68 -4.1 5.6 5.6 -2.0 2.8 2.8 +DEAL::0.0 0.0 -1.5 0.0 0.0 -0.75 +DEAL::0.0 -1.5 2.5e-17 0.0 -0.75 1.2e-17 +DEAL::-0.37 -0.37 -0.18 4.1 -1.5 -1.5 2.0 -0.75 -0.75 +DEAL::-0.37 0.37 -0.18 6.5 -1.5 -1.5 -3.2 0.75 0.75 +DEAL::-0.87 -1.5 0.0 0.43 0.75 0.0 +DEAL::-0.87 0.0 -1.5 0.43 0.0 0.75 +DEAL::1.4 -1.4 0.68 -11. 5.6 5.6 5.6 -2.8 -2.8 +DEAL::3.2 5.6 0.0 -1.6 -2.8 0.0 +DEAL::3.2 0.0 5.6 -1.6 0.0 -2.8 +DEAL::-0.87 1.5 -3.9e-17 0.43 -0.75 1.9e-17 +DEAL::-0.37 0.37 -0.18 6.5 1.5 -1.5 -3.2 -0.75 0.75 +DEAL::-0.87 0.0 -1.5 0.43 0.0 0.75 +DEAL::3.2 -5.6 1.4e-16 -1.6 2.8 -7.2e-17 +DEAL::1.4 -1.4 0.68 -11. -5.6 5.6 5.6 2.8 -2.8 +DEAL::3.2 0.0 5.6 -1.6 0.0 -2.8 +DEAL::-0.87 0.0 1.5 0.43 0.0 -0.75 +DEAL::-0.37 0.37 -0.18 6.5 -1.5 1.5 -3.2 0.75 -0.75 +DEAL::-0.87 -1.5 0.0 0.43 0.75 0.0 +DEAL::3.2 0.0 -5.6 -1.6 0.0 2.8 +DEAL::1.4 -1.4 0.68 -11. 5.6 -5.6 5.6 -2.8 2.8 +DEAL::3.2 5.6 0.0 -1.6 -2.8 0.0 +DEAL::-0.87 0.0 1.5 0.43 0.0 -0.75 +DEAL::-0.87 1.5 -3.9e-17 0.43 -0.75 1.9e-17 +DEAL::-0.37 0.37 -0.18 6.5 1.5 1.5 -3.2 -0.75 -0.75 +DEAL::3.2 0.0 -5.6 -1.6 0.0 2.8 +DEAL::3.2 -5.6 1.4e-16 -1.6 2.8 -7.2e-17 +DEAL::1.4 -1.4 0.68 -11. -5.6 -5.6 5.6 2.8 2.8 diff --git a/tests/feinterface/fe_interface_view_02.cc b/tests/feinterface/fe_interface_view_02.cc new file mode 100644 index 0000000000..1929f97e8d --- /dev/null +++ b/tests/feinterface/fe_interface_view_02.cc @@ -0,0 +1,166 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2007 - 2020 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. +// +// --------------------------------------------------------------------- + + + +// test FEInterfaceViews and extractor classes. these tests use a primitive +// finite element and vector extractors. To simplify the output, we skip writing +// results of high-order tensors and zeros. + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include + +#include "../tests.h" + +template +void +test(const Triangulation &tr, const FiniteElement &fe) +{ + DoFHandler dof(tr); + dof.distribute_dofs(fe); + + deallog << "FE=" << fe.get_name() << std::endl; + + const QGauss face_quadrature(2); + FEInterfaceValues fe_iv(fe, + face_quadrature, + update_values | update_gradients | + update_quadrature_points | update_hessians | + update_3rd_derivatives); + auto cell = dof.begin_active(); + + + for (const auto f : GeometryInfo::face_indices()) + if (!cell->face(f)->at_boundary()) + { + fe_iv.reinit(cell, + f, + numbers::invalid_unsigned_int, + cell->neighbor(f), + cell->neighbor_of_neighbor(f), + numbers::invalid_unsigned_int); + const auto & q_points = fe_iv.get_quadrature_points(); + const unsigned int n_q_points = q_points.size(); + const unsigned int n_dofs_face = fe_iv.n_current_interface_dofs(); + + for (unsigned int c = 0; c < fe.n_components(); ++c) + { + // use a vector extractor if there + // are sufficiently many components + // left after the current component + // 'c' + if (c + dim <= fe.n_components()) + { + FEValuesExtractors::Vector vec_components(c); + for (unsigned int i = 0; i < n_dofs_face; ++i) + for (unsigned int q = 0; q < n_q_points; ++q) + { + if (fe_iv[vec_components].value(true, i, q).norm() != 0) + deallog << fe_iv[vec_components].value(true, i, q) + << " "; + if (fe_iv[vec_components].value(false, i, q).norm() != 0) + deallog << fe_iv[vec_components].value(false, i, q) + << " "; + if (fe_iv[vec_components].jump(i, q).norm() != 0) + deallog << fe_iv[vec_components].jump(i, q) << " "; + if (fe_iv[vec_components].average(i, q).norm() != 0) + deallog << fe_iv[vec_components].average(i, q) << " "; + if (fe_iv[vec_components].jump_gradient(i, q).norm() != 0) + deallog << fe_iv[vec_components].jump_gradient(i, q) + << " "; + if (fe_iv[vec_components].average_gradient(i, q).norm() != + 0) + deallog << fe_iv[vec_components].average_gradient(i, q) + << std::endl; + + for (unsigned int d = 0; d < dim; ++d) + { + Assert(fe_iv[vec_components].value(true, i, q)[d] == + fe_iv.shape_value(true, i, q, c + d), + ExcInternalError()); + Assert(fe_iv[vec_components].value(false, i, q)[d] == + fe_iv.shape_value(false, i, q, c + d), + ExcInternalError()); + Assert(fe_iv[vec_components].jump(i, q)[d] == + fe_iv.jump(i, q, c + d), + ExcInternalError()); + Assert(fe_iv[vec_components].average(i, q)[d] == + fe_iv.average(i, q, c + d), + ExcInternalError()); + Assert(fe_iv[vec_components].average_hessian(i, + q)[d] == + fe_iv.average_hessian(i, q, c + d), + ExcInternalError()); + Assert(fe_iv[vec_components].jump_hessian(i, q)[d] == + fe_iv.jump_hessian(i, q, c + d), + ExcInternalError()); + + Assert(fe_iv[vec_components].jump_3rd_derivative( + i, q)[d] == + fe_iv.jump_3rd_derivative(i, q, c + d), + ExcInternalError()); + } + } + } + } + return; + } // at boundary +} + + + +template +void +test_hyper_sphere() +{ + Triangulation tr; + GridGenerator::hyper_ball(tr); + + static const SphericalManifold boundary; + tr.set_manifold(0, boundary); + + FESystem fe(FE_Q(1), + 1, + FE_DGQArbitraryNodes(QGauss<1>(2)), + dim); + test(tr, fe); +} + + +int +main() +{ + initlog(); + deallog << std::setprecision(2); + + test_hyper_sphere<2>(); + test_hyper_sphere<3>(); +} diff --git a/tests/feinterface/fe_interface_view_02.output b/tests/feinterface/fe_interface_view_02.output new file mode 100644 index 0000000000..22814a7da0 --- /dev/null +++ b/tests/feinterface/fe_interface_view_02.output @@ -0,0 +1,351 @@ + +DEAL::FE=FESystem<2>[FE_Q<2>(1)-FE_DGQArbitraryNodes<2>(QGauss(2))^2] +DEAL::0.79 0.0 0.79 0.0 0.79 0.0 1.1 -1.1 0.0 0.0 -1.2 -1.2 0.0 0.0 +DEAL::0.21 0.0 0.21 0.0 0.21 0.0 1.9 -1.9 0.0 0.0 -1.2 -1.2 0.0 0.0 +DEAL::0.64 -0.64 0.0 0.0 0.32 -0.32 0.0 0.0 +DEAL::0.28 -0.28 0.0 0.0 0.14 -0.14 0.0 0.0 +DEAL::0.21 0.0 0.21 0.0 0.21 0.0 -2.8 2.8 0.0 0.0 1.2 1.2 0.0 0.0 +DEAL::0.79 0.0 0.79 0.0 0.79 0.0 -4.5 4.5 0.0 0.0 1.2 1.2 0.0 0.0 +DEAL::0.17 -0.17 0.0 0.0 0.085 -0.085 0.0 0.0 +DEAL::1.0 -1.0 0.0 0.0 0.52 -0.52 0.0 0.0 +DEAL::0.0 1.4 0.0 1.4 0.0 0.68 0.0 0.0 -1.4 -4.3 0.0 0.0 -0.70 -2.2 +DEAL::0.0 0.0 0.0 -5.7 0.0 0.0 0.0 -2.9 +DEAL::0.0 -0.37 0.0 -0.37 0.0 -0.18 0.0 0.0 1.4 0.13 0.0 0.0 0.70 0.066 +DEAL::0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.77 +DEAL::0.0 0.0 0.0 5.7 0.0 0.0 0.0 2.9 +DEAL::0.0 1.4 0.0 1.4 0.0 0.68 0.0 0.0 -2.3 8.0 0.0 0.0 -1.1 4.0 +DEAL::0.0 0.0 0.0 -1.5 0.0 0.0 0.0 -0.77 +DEAL::0.0 -0.37 0.0 -0.37 0.0 -0.18 0.0 0.0 2.3 -3.8 0.0 0.0 1.1 -1.9 +DEAL::0.64 -0.64 0.0 0.0 -0.32 0.32 0.0 0.0 +DEAL::0.28 -0.28 0.0 0.0 -0.14 0.14 0.0 0.0 +DEAL::0.17 -0.17 0.0 0.0 -0.085 0.085 0.0 0.0 +DEAL::1.0 -1.0 0.0 0.0 -0.52 0.52 0.0 0.0 +DEAL::0.0 1.4 0.0 -1.4 0.0 0.68 0.0 0.0 4.3 1.4 0.0 0.0 -2.2 -0.70 +DEAL::0.0 0.0 5.7 2.1e-16 0.0 0.0 -2.9 -1.0e-16 +DEAL::0.0 0.0 -5.7 -3.2e-17 0.0 0.0 2.9 1.6e-17 +DEAL::0.0 1.4 0.0 -1.4 0.0 0.68 0.0 0.0 -8.0 2.3 0.0 0.0 4.0 -1.1 +DEAL::0.0 -0.37 0.0 0.37 0.0 -0.18 0.0 0.0 -0.13 -1.4 0.0 0.0 0.066 0.70 +DEAL::0.0 0.0 -1.5 -5.6e-17 0.0 0.0 0.77 2.8e-17 +DEAL::0.0 0.0 1.5 8.6e-18 0.0 0.0 -0.77 -4.3e-18 +DEAL::0.0 -0.37 0.0 0.37 0.0 -0.18 0.0 0.0 3.8 -2.3 0.0 0.0 -1.9 1.1 +DEAL::1.4 0.0 1.4 0.0 0.68 0.0 -1.4 -4.3 0.0 0.0 -0.70 -2.2 0.0 0.0 +DEAL::0.0 -5.7 0.0 0.0 0.0 -2.9 0.0 0.0 +DEAL::-0.37 0.0 -0.37 0.0 -0.18 0.0 1.4 0.13 0.0 0.0 0.70 0.066 0.0 0.0 +DEAL::0.0 1.5 0.0 0.0 0.0 0.77 0.0 0.0 +DEAL::0.0 5.7 0.0 0.0 0.0 2.9 0.0 0.0 +DEAL::1.4 0.0 1.4 0.0 0.68 0.0 -2.3 8.0 0.0 0.0 -1.1 4.0 0.0 0.0 +DEAL::0.0 -1.5 0.0 0.0 0.0 -0.77 0.0 0.0 +DEAL::-0.37 0.0 -0.37 0.0 -0.18 0.0 2.3 -3.8 0.0 0.0 1.1 -1.9 0.0 0.0 +DEAL::0.0 1.4 0.0 1.4 0.0 0.68 0.0 0.0 -1.4 -4.3 0.0 0.0 -0.70 -2.2 +DEAL::0.0 0.0 0.0 -5.7 0.0 0.0 0.0 -2.9 +DEAL::0.0 -0.37 0.0 -0.37 0.0 -0.18 0.0 0.0 1.4 0.13 0.0 0.0 0.70 0.066 +DEAL::0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.77 +DEAL::0.0 0.0 0.0 5.7 0.0 0.0 0.0 2.9 +DEAL::0.0 1.4 0.0 1.4 0.0 0.68 0.0 0.0 -2.3 8.0 0.0 0.0 -1.1 4.0 +DEAL::0.0 0.0 0.0 -1.5 0.0 0.0 0.0 -0.77 +DEAL::0.0 -0.37 0.0 -0.37 0.0 -0.18 0.0 0.0 2.3 -3.8 0.0 0.0 1.1 -1.9 +DEAL::1.4 0.0 -1.4 0.0 0.68 0.0 4.3 1.4 0.0 0.0 -2.2 -0.70 0.0 0.0 +DEAL::5.7 2.1e-16 0.0 0.0 -2.9 -1.0e-16 0.0 0.0 +DEAL::-5.7 -3.2e-17 0.0 0.0 2.9 1.6e-17 0.0 0.0 +DEAL::1.4 0.0 -1.4 0.0 0.68 0.0 -8.0 2.3 0.0 0.0 4.0 -1.1 0.0 0.0 +DEAL::-0.37 0.0 0.37 0.0 -0.18 0.0 -0.13 -1.4 0.0 0.0 0.066 0.70 0.0 0.0 +DEAL::-1.5 -5.6e-17 0.0 0.0 0.77 2.8e-17 0.0 0.0 +DEAL::1.5 8.6e-18 0.0 0.0 -0.77 -4.3e-18 0.0 0.0 +DEAL::-0.37 0.0 0.37 0.0 -0.18 0.0 3.8 -2.3 0.0 0.0 -1.9 1.1 0.0 0.0 +DEAL::0.0 1.4 0.0 -1.4 0.0 0.68 0.0 0.0 4.3 1.4 0.0 0.0 -2.2 -0.70 +DEAL::0.0 0.0 5.7 2.1e-16 0.0 0.0 -2.9 -1.0e-16 +DEAL::0.0 0.0 -5.7 -3.2e-17 0.0 0.0 2.9 1.6e-17 +DEAL::0.0 1.4 0.0 -1.4 0.0 0.68 0.0 0.0 -8.0 2.3 0.0 0.0 4.0 -1.1 +DEAL::0.0 -0.37 0.0 0.37 0.0 -0.18 0.0 0.0 -0.13 -1.4 0.0 0.0 0.066 0.70 +DEAL::0.0 0.0 -1.5 -5.6e-17 0.0 0.0 0.77 2.8e-17 +DEAL::0.0 0.0 1.5 8.6e-18 0.0 0.0 -0.77 -4.3e-18 +DEAL::0.0 -0.37 0.0 0.37 0.0 -0.18 0.0 0.0 3.8 -2.3 0.0 0.0 -1.9 1.1 +DEAL::FE=FESystem<3>[FE_Q<3>(1)-FE_DGQArbitraryNodes<3>(QGauss(2))^3] +DEAL::0.62 0.0 0.0 0.62 0.0 0.0 0.62 0.0 0.0 -5.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.2 -1.9 -1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 -4.4e-16 -1.1e-16 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 -1.9 -0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 1.1e-16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 -0.50 -1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.045 0.0 0.0 0.045 0.0 0.0 0.045 0.0 0.0 0.35 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.28 -0.50 -0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.5 0.0 2.4e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.74 0.0 1.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 6.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 3.2e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.053 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 1.9 -0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.62 0.0 0.0 0.62 0.0 0.0 0.62 0.0 0.0 -5.3 4.4e-16 -4.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 1.2 1.9 -1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.045 0.0 0.0 0.045 0.0 0.0 0.045 0.0 0.0 0.35 -1.1e-16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.28 0.50 -0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 0.50 -1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 6.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 3.2e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.74 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.11 0.0 1.7e-18 0.0 0.0 0.0 0.0 0.0 0.0 0.053 0.0 8.7e-19 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 -0.50 1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.045 0.0 0.0 0.045 0.0 0.0 0.045 0.0 0.0 0.35 -1.1e-16 1.1e-16 0.0 0.0 0.0 0.0 0.0 0.0 -0.28 -0.50 0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.62 0.0 0.0 0.62 0.0 0.0 0.62 0.0 0.0 -5.3 2.2e-16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.2 -1.9 1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 -1.9 0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 6.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 3.2e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.053 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.5 0.0 2.4e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.74 0.0 1.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.045 0.0 0.0 0.045 0.0 0.0 0.045 0.0 0.0 0.35 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.28 0.50 0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 1.1e-16 4.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 0.50 1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.17 0.0 0.0 0.17 0.0 0.0 0.17 0.0 0.0 -0.061 -2.2e-16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.36 1.9 0.50 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.62 0.0 0.0 0.62 0.0 0.0 0.62 0.0 0.0 -5.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.2 1.9 1.9 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.11 0.0 1.7e-18 0.0 0.0 0.0 0.0 0.0 0.0 0.053 0.0 8.7e-19 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.39 0.0 6.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 0.20 0.0 3.2e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.74 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 -0.75 +DEAL::1.7 0.0 2.8e-17 0.0 0.0 0.0 0.0 0.0 0.0 -0.85 0.0 -1.4e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 -3.7e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.12 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.061 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 -3.7e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.85 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.12 0.0 2.0e-18 0.0 0.0 0.0 0.0 0.0 0.0 -0.061 0.0 -1.0e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 -3.7e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.12 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.061 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.7 0.0 2.8e-17 0.0 0.0 0.0 0.0 0.0 0.0 -0.85 0.0 -1.4e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.12 0.0 2.0e-18 0.0 0.0 0.0 0.0 0.0 0.0 -0.061 0.0 -1.0e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.46 0.0 7.5e-18 0.0 0.0 0.0 0.0 0.0 0.0 -0.23 0.0 -3.7e-18 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.85 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 2.8 +DEAL::1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 -4.1 -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 4.1 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 -4.1 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 4.1 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 -4.1 -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 4.1 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 -4.1 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 4.1 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -4.1 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 4.1 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 -2.8 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.75 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -9.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.8 -4.6e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -4.1 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.8 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.5 2.5e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.75 1.2e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 -0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 4.1 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 2.0 -0.75 -0.75 +DEAL::-0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 6.5 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 -11. 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 6.5 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 -11. -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 6.5 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 -11. 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::-0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 6.5 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 -0.75 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 -11. -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 2.8 0.0 0.0 0.0 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 0.0 0.0 0.0 +DEAL::0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 6.5 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 -0.75 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 0.0 0.0 0.0 +DEAL::0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 -11. -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 2.8 0.0 0.0 0.0 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 -1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. 5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 1.5 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. -5.6 5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 -2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 -1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 0.75 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 -1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.75 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. 5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 -2.8 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 5.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 -2.8 0.0 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.43 0.0 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 -0.87 1.5 -3.9e-17 0.0 0.0 0.0 0.0 0.0 0.0 0.43 -0.75 1.9e-17 +DEAL::0.0 0.0 -0.37 0.0 0.0 0.37 0.0 0.0 -0.18 0.0 0.0 0.0 0.0 0.0 0.0 6.5 1.5 1.5 0.0 0.0 0.0 0.0 0.0 0.0 -3.2 -0.75 -0.75 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 0.0 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 0.0 2.8 +DEAL::0.0 0.0 0.0 0.0 0.0 0.0 3.2 -5.6 1.4e-16 0.0 0.0 0.0 0.0 0.0 0.0 -1.6 2.8 -7.2e-17 +DEAL::0.0 0.0 1.4 0.0 0.0 -1.4 0.0 0.0 0.68 0.0 0.0 0.0 0.0 0.0 0.0 -11. -5.6 -5.6 0.0 0.0 0.0 0.0 0.0 0.0 5.6 2.8 2.8