--- /dev/null
+New: FEInterfaceValues now can use FEValuesExtractors to extract scalar or
+vector components like FEValues does.
+<br>
+(Jiaqi Zhang, 2021/04/15)
DEAL_II_NAMESPACE_OPEN
+#ifndef DOXYGEN
+template <int dim, int spacedim>
+class FEInterfaceValues;
+#endif
+
+/**
+ * Namespace for views you get from accessing FEInterfaceValues using an
+ * extractor.
+ */
+namespace FEInterfaceViews
+{
+ /**
+ * The base class for the views.
+ */
+ template <int dim, int spacedim = dim>
+ class Base
+ {
+ public:
+ /**
+ * The constructor.
+ **/
+ Base(const FEInterfaceValues<dim, spacedim> &fe_interface);
+
+ protected:
+ /**
+ * Store a pointer to the FEInterfaceValues instance.
+ */
+ const FEInterfaceValues<dim, spacedim> *fe_interface;
+ };
+
+
+
+ /**
+ * The view of a scalar variable for FEInterfaceValues.
+ */
+ template <int dim, int spacedim = dim>
+ class Scalar : public Base<dim, spacedim>
+ {
+ 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<dim, spacedim>::gradient_type;
+
+ /**
+ * This is the type returned for hessians, for example from jump_hessian().
+ */
+ using hessian_type =
+ typename FEValuesViews::Scalar<dim, spacedim>::hessian_type;
+
+ /**
+ * This is the type returned for third derivatives, for example from
+ * jump_hessian().
+ */
+ using third_derivative_type =
+ typename FEValuesViews::Scalar<dim, spacedim>::third_derivative_type;
+
+ /**
+ * Constructor for an object that represents a single scalar component
+ */
+ Scalar(const FEInterfaceValues<dim, spacedim> &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
+ * <code>(direction * normal)>0</code> 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 <int dim, int spacedim = dim>
+ class Vector : public Base<dim, spacedim>
+ {
+ public:
+ /**
+ * This is the type returned for values.
+ */
+ using value_type =
+ typename FEValuesViews::Vector<dim, spacedim>::value_type;
+
+ /**
+ * This is the type returned for gradients, for example from
+ * average_gradient().
+ */
+ using gradient_type =
+ typename FEValuesViews::Vector<dim, spacedim>::gradient_type;
+
+ /**
+ * An alias for the type of second derivatives of the view this class
+ * represents. Here, for a set of <code>dim</code> components of the
+ * finite element, the Hessian is a <code>Tensor@<3,dim@></code>.
+ */
+ using hessian_type =
+ typename FEValuesViews::Vector<dim, spacedim>::hessian_type;
+
+ /**
+ * An alias for the type of third derivatives of the view this class
+ * represents. Here, for a set of <code>dim</code> components of the
+ * finite element, the third derivative is a <code>Tensor@<4,dim@></code>.
+ */
+ using third_derivative_type =
+ typename FEValuesViews::Vector<dim, spacedim>::third_derivative_type;
+
+ /**
+ * Constructor for an object that represents a vector component
+ */
+ Vector(const FEInterfaceValues<dim, spacedim> &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
+ * <code>(direction * normal)>0</code> 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.
*/
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
* 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
const std::vector<Point<spacedim>> &
get_quadrature_points() const;
-
/**
* Return the number of DoFs (or shape functions) on the current interface.
*
* 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<types::global_dof_index>
get_interface_dof_indices() const;
* 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<unsigned int, 2>
interface_dof_to_dof_indices(const unsigned int interface_dof_index) const;
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<dim, spacedim>
+ operator[](const FEValuesExtractors::Scalar &scalar) const;
+
+ /**
+ * Create a view of the current FEInterfaceValues object that represents a set
+ * of <code>dim</code> 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<dim, spacedim>
+ operator[](const FEValuesExtractors::Vector &vector) const;
+
/**
* @}
*/
, fe_face_values_neighbor(nullptr)
{}
+
+
template <int dim, int spacedim>
FEInterfaceValues<dim, spacedim>::FEInterfaceValues(
const Mapping<dim, spacedim> & mapping,
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<types::global_dof_index, std::pair<unsigned int, unsigned int>>
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)
}
+
template <int dim, int spacedim>
Tensor<3, spacedim>
FEInterfaceValues<dim, spacedim>::jump_3rd_derivative(
}
+
+/*------------ Inline functions: FEInterfaceValues------------*/
+template <int dim, int spacedim>
+inline const FEInterfaceViews::Scalar<dim, spacedim>
+ FEInterfaceValues<dim, spacedim>::
+ operator[](const FEValuesExtractors::Scalar &scalar) const
+{
+ AssertIndexRange(scalar.component, this->get_fe().n_components());
+ return FEInterfaceViews::Scalar<dim, spacedim>(*this, scalar.component);
+}
+
+
+
+template <int dim, int spacedim>
+inline const FEInterfaceViews::Vector<dim, spacedim>
+ FEInterfaceValues<dim, spacedim>::
+ operator[](const FEValuesExtractors::Vector &vector) const
+{
+ const FiniteElement<dim, spacedim> &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<dim, spacedim>(*this,
+ vector.first_vector_component);
+}
+
+
+
+namespace FEInterfaceViews
+{
+ template <int dim, int spacedim>
+ Base<dim, spacedim>::Base(
+ const FEInterfaceValues<dim, spacedim> &fe_interface)
+ : fe_interface(&fe_interface)
+ {}
+
+
+
+ template <int dim, int spacedim>
+ Scalar<dim, spacedim>::Scalar(
+ const FEInterfaceValues<dim, spacedim> &fe_interface,
+ const unsigned int component)
+ : Base<dim, spacedim>(fe_interface)
+ , extractor(component)
+ {}
+
+
+
+ template <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::value_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::value_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::value_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::gradient_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::gradient_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::hessian_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::third_derivative_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ typename Scalar<dim, spacedim>::hessian_type
+ Scalar<dim, spacedim>::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 <int dim, int spacedim>
+ Vector<dim, spacedim>::Vector(
+ const FEInterfaceValues<dim, spacedim> &fe_interface,
+ const unsigned int first_vector_component)
+ : Base<dim, spacedim>(fe_interface)
+ , extractor(first_vector_component)
+ {}
+
+
+
+ template <int dim, int spacedim>
+ typename Vector<dim, spacedim>::value_type
+ Vector<dim, spacedim>::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 <int dim, int spacedim>
+ typename Vector<dim, spacedim>::value_type
+ Vector<dim, spacedim>::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 <int dim, int spacedim>
+ typename Vector<dim, spacedim>::value_type
+ Vector<dim, spacedim>::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 <int dim, int spacedim>
+ typename Vector<dim, spacedim>::gradient_type
+ Vector<dim, spacedim>::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 <int dim, int spacedim>
+ typename Vector<dim, spacedim>::gradient_type
+ Vector<dim, spacedim>::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 <int dim, int spacedim>
+ typename Vector<dim, spacedim>::hessian_type
+ Vector<dim, spacedim>::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 <int dim, int spacedim>
+ typename Vector<dim, spacedim>::hessian_type
+ Vector<dim, spacedim>::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 <int dim, int spacedim>
+ typename Vector<dim, spacedim>::third_derivative_type
+ Vector<dim, spacedim>::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
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// 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 <deal.II/base/function.h>
+#include <deal.II/base/quadrature_lib.h>
+
+#include <deal.II/dofs/dof_handler.h>
+
+#include <deal.II/fe/fe_dgq.h>
+#include <deal.II/fe/fe_interface_values.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/mapping_q1.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/manifold_lib.h>
+
+#include <deal.II/lac/vector.h>
+
+#include "../tests.h"
+
+
+template <int dim>
+void
+test(const Triangulation<dim> &tr, const FiniteElement<dim> &fe)
+{
+ DoFHandler<dim> dof(tr);
+ dof.distribute_dofs(fe);
+
+ deallog << "FE=" << fe.get_name() << std::endl;
+
+ const QGauss<dim - 1> face_quadrature(2);
+ FEInterfaceValues<dim> 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<dim>::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 <int dim>
+void
+test_hyper_sphere()
+{
+ Triangulation<dim> tr;
+ GridGenerator::hyper_ball(tr);
+
+ static const SphericalManifold<dim> boundary;
+ tr.set_manifold(0, boundary);
+
+ FESystem<dim> fe(FE_Q<dim>(1),
+ 1,
+ FE_DGQArbitraryNodes<dim>(QGauss<1>(2)),
+ dim);
+ test(tr, fe);
+}
+
+
+int
+main()
+{
+ initlog();
+ deallog << std::setprecision(2);
+
+ test_hyper_sphere<2>();
+ test_hyper_sphere<3>();
+}
--- /dev/null
+
+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
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// 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 <deal.II/base/function.h>
+#include <deal.II/base/quadrature_lib.h>
+
+#include <deal.II/dofs/dof_handler.h>
+
+#include <deal.II/fe/fe_dgq.h>
+#include <deal.II/fe/fe_interface_values.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/mapping_q1.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/manifold_lib.h>
+
+#include <deal.II/lac/vector.h>
+
+#include <iostream>
+
+#include "../tests.h"
+
+template <int dim>
+void
+test(const Triangulation<dim> &tr, const FiniteElement<dim> &fe)
+{
+ DoFHandler<dim> dof(tr);
+ dof.distribute_dofs(fe);
+
+ deallog << "FE=" << fe.get_name() << std::endl;
+
+ const QGauss<dim - 1> face_quadrature(2);
+ FEInterfaceValues<dim> 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<dim>::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 <int dim>
+void
+test_hyper_sphere()
+{
+ Triangulation<dim> tr;
+ GridGenerator::hyper_ball(tr);
+
+ static const SphericalManifold<dim> boundary;
+ tr.set_manifold(0, boundary);
+
+ FESystem<dim> fe(FE_Q<dim>(1),
+ 1,
+ FE_DGQArbitraryNodes<dim>(QGauss<1>(2)),
+ dim);
+ test(tr, fe);
+}
+
+
+int
+main()
+{
+ initlog();
+ deallog << std::setprecision(2);
+
+ test_hyper_sphere<2>();
+ test_hyper_sphere<3>();
+}
--- /dev/null
+
+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