const Point<dim> &initial_p_unit,
InternalData &mdata) const;
- /**
- * Do the computation for the <tt>fill_*</tt> functions.
- */
- void compute_fill (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int npts,
- const typename QProjector<dim>::DataSetDescriptor data_set,
- const CellSimilarity::Similarity cell_similarity,
- const InternalData &data,
- std::vector<Point<spacedim> > &quadrature_points) const;
-
-
- /**
- * Do the computation for the <tt>fill_*</tt> functions.
- */
- void compute_fill_face (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int face_no,
- const unsigned int subface_no,
- const unsigned int npts,
- const typename QProjector<dim>::DataSetDescriptor data_set,
- const std::vector<double> &weights,
- const InternalData &mapping_data,
- std::vector<Point<spacedim> > &quadrature_points,
- std::vector<double> &JxW_values,
- std::vector<Tensor<1,spacedim> > &boundary_form,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<DerivativeForm<1,dim,spacedim> > &jacobians,
- std::vector<DerivativeForm<1,spacedim,dim> > &inverse_jacobians) const;
-
-
/**
* Always returns @p false.
*/
}
+
+namespace internal
+{
+ namespace
+ {
+ /**
+ * Compute the locations of quadrature points on the object described by
+ * the first argument (and the cell for which the mapping support points
+ * have already been set), but only if the update_flags of the @p data
+ * argument indicate so.
+ */
+ template <int dim, int spacedim>
+ void
+ maybe_compute_q_points (const typename dealii::QProjector<dim>::DataSetDescriptor data_set,
+ const typename dealii::MappingFEField<dim,spacedim>::InternalData &data,
+ const FiniteElement<dim, spacedim> &fe,
+ const ComponentMask &fe_mask,
+ const std::vector<unsigned int> &fe_to_real,
+ std::vector<Point<spacedim> > &quadrature_points)
+ {
+ const UpdateFlags update_flags(data.current_update_flags());
+
+ if (update_flags & update_quadrature_points)
+ {
+ for (unsigned int point=0; point<quadrature_points.size(); ++point)
+ {
+ Point<spacedim> result;
+ const double *shape = &data.shape(point+data_set,0);
+
+ for (unsigned int k=0; k<data.n_shape_functions; ++k)
+ {
+ unsigned int comp_k = fe.system_to_component_index(k).first;
+ if (fe_mask[comp_k])
+ result[fe_to_real[comp_k]] += data.local_dof_values[k] * shape[k];
+ }
+
+ quadrature_points[point] = result;
+ }
+ }
+ }
+
+ /**
+ * Update the co- and contravariant matrices as well as their determinant,
+ * for the cell described stored in the data object, but only if the
+ * update_flags of the @p data argument indicate so.
+ *
+ * Skip the computation if possible as indicated by the first argument.
+ */
+ template <int dim, int spacedim>
+ void
+ maybe_update_Jacobians (const CellSimilarity::Similarity cell_similarity,
+ const typename dealii::QProjector<dim>::DataSetDescriptor data_set,
+ const typename dealii::MappingFEField<dim,spacedim>::InternalData &data,
+ const FiniteElement<dim, spacedim> &fe,
+ const ComponentMask &fe_mask,
+ const std::vector<unsigned int> &fe_to_real)
+ {
+ const UpdateFlags update_flags(data.current_update_flags());
+
+ // then Jacobians
+ if (update_flags & update_contravariant_transformation)
+ {
+
+ // if the current cell is just a translation of the previous one, no
+ // need to recompute jacobians...
+ if (cell_similarity != CellSimilarity::translation)
+ {
+ const unsigned int n_q_points = data.contravariant.size();
+
+ Assert (data.n_shape_functions > 0, ExcInternalError());
+
+ for (unsigned int point=0; point<n_q_points; ++point)
+ {
+ const Tensor<1,dim> *data_derv =
+ &data.derivative(point+data_set, 0);
+
+ Tensor<1, dim> result[spacedim];
+
+ for (unsigned int k=0; k<data.n_shape_functions; ++k)
+ {
+ unsigned int comp_k = fe.system_to_component_index(k).first;
+ if (fe_mask[comp_k])
+ result[fe_to_real[comp_k]] += data.local_dof_values[k] * data_derv[k];
+ }
+
+ // write result into contravariant data
+ for (unsigned int i=0; i<spacedim; ++i)
+ {
+ data.contravariant[point][i] = result[i];
+ }
+ }
+ }
+ }
+
+ if (update_flags & update_covariant_transformation)
+ {
+ AssertDimension(data.covariant.size(), data.contravariant.size());
+ if (cell_similarity != CellSimilarity::translation)
+ for (unsigned int point=0; point<data.contravariant.size(); ++point)
+ data.covariant[point] = (data.contravariant[point]).covariant_form();
+ }
+
+ if (update_flags & update_volume_elements)
+ {
+ AssertDimension(data.covariant.size(), data.volume_elements.size());
+ if (cell_similarity != CellSimilarity::translation)
+ for (unsigned int point=0; point<data.contravariant.size(); ++point)
+ data.volume_elements[point] = data.contravariant[point].determinant();
+ }
+ }
+
+ /**
+ * Update the Hessian of the transformation from unit to real cell, the
+ * Jacobian gradients.
+ *
+ * Skip the computation if possible as indicated by the first argument.
+ */
+ template <int dim, int spacedim>
+ void
+ maybe_update_jacobian_grads (const CellSimilarity::Similarity cell_similarity,
+ const typename dealii::QProjector<dim>::DataSetDescriptor data_set,
+ const typename dealii::MappingFEField<dim,spacedim>::InternalData &data,
+ const FiniteElement<dim, spacedim> &fe,
+ const ComponentMask &fe_mask,
+ const std::vector<unsigned int> &fe_to_real,
+ std::vector<DerivativeForm<2,dim,spacedim> > &jacobian_grads)
+ {
+ const UpdateFlags update_flags(data.current_update_flags());
+ if (update_flags & update_jacobian_grads)
+ {
+ const unsigned int n_q_points = jacobian_grads.size();
+
+ if (cell_similarity != CellSimilarity::translation)
+ {
+ for (unsigned int point=0; point<n_q_points; ++point)
+ {
+ const Tensor<2,dim> *second =
+ &data.second_derivative(point+data_set, 0);
+
+ DerivativeForm<2,dim,spacedim> result;
+
+ for (unsigned int k=0; k<data.n_shape_functions; ++k)
+ {
+ unsigned int comp_k = fe.system_to_component_index(k).first;
+ if (fe_mask[comp_k])
+ for (unsigned int j=0; j<dim; ++j)
+ for (unsigned int l=0; l<dim; ++l)
+ result[fe_to_real[comp_k]][j][l] += (second[k][j][l]
+ * data.local_dof_values[k]);
+ }
+
+ // never touch any data for j=dim in case dim<spacedim, so
+ // it will always be zero as it was initialized
+ for (unsigned int i=0; i<spacedim; ++i)
+ for (unsigned int j=0; j<dim; ++j)
+ for (unsigned int l=0; l<dim; ++l)
+ jacobian_grads[point][i][j][l] = result[i][j][l];
+ }
+ }
+ }
+ }
+
+ /**
+ * Depending on what information is called for in the update flags of the
+ * @p data object, compute the various pieces of information that is
+ * required by the fill_fe_face_values() and fill_fe_subface_values()
+ * functions. This function simply unifies the work that would be done by
+ * those two functions.
+ *
+ * The resulting data is put into the @p output_data argument.
+ */
+ template <int dim, int spacedim>
+ void
+ maybe_compute_face_data (const dealii::MappingFEField<dim,spacedim> &mapping,
+ const typename dealii::Triangulation<dim,spacedim>::cell_iterator &cell,
+ const unsigned int face_no,
+ const unsigned int subface_no,
+ const unsigned int n_q_points,
+ const std::vector<double> &weights,
+ const typename dealii::MappingFEField<dim,spacedim>::InternalData &data,
+ internal::FEValues::MappingRelatedData<dim,spacedim> &output_data)
+ {
+ const UpdateFlags update_flags(data.current_update_flags());
+
+ if (update_flags & update_boundary_forms)
+ {
+ const unsigned int n_q_points = output_data.boundary_forms.size();
+ if (update_flags & update_normal_vectors)
+ AssertDimension (output_data.normal_vectors.size(), n_q_points);
+ if (update_flags & update_JxW_values)
+ AssertDimension (output_data.JxW_values.size(), n_q_points);
+
+ // map the unit tangentials to the real cell. checking for d!=dim-1
+ // eliminates compiler warnings regarding unsigned int expressions <
+ // 0.
+ for (unsigned int d=0; d!=dim-1; ++d)
+ {
+ Assert (face_no+GeometryInfo<dim>::faces_per_cell*d <
+ data.unit_tangentials.size(),
+ ExcInternalError());
+ Assert (data.aux[d].size() <=
+ data.unit_tangentials[face_no+GeometryInfo<dim>::faces_per_cell*d].size(),
+ ExcInternalError());
+
+ mapping.transform (data.unit_tangentials[face_no+GeometryInfo<dim>::faces_per_cell*d],
+ data.aux[d],
+ data,
+ mapping_contravariant);
+ }
+
+ // if dim==spacedim, we can use the unit tangentials to compute the
+ // boundary form by simply taking the cross product
+ if (dim == spacedim)
+ {
+ for (unsigned int i=0; i<n_q_points; ++i)
+ switch (dim)
+ {
+ case 1:
+ // in 1d, we don't have access to any of the data.aux
+ // fields (because it has only dim-1 components), but we
+ // can still compute the boundary form by simply looking
+ // at the number of the face
+ output_data.boundary_forms[i][0] = (face_no == 0 ?
+ -1 : +1);
+ break;
+ case 2:
+ cross_product (output_data.boundary_forms[i], data.aux[0][i]);
+ break;
+ case 3:
+ cross_product (output_data.boundary_forms[i], data.aux[0][i], data.aux[1][i]);
+ break;
+ default:
+ Assert(false, ExcNotImplemented());
+ }
+ }
+ else //(dim < spacedim)
+ {
+ // in the codim-one case, the boundary form results from the
+ // cross product of all the face tangential vectors and the cell
+ // normal vector
+ //
+ // to compute the cell normal, use the same method used in
+ // fill_fe_values for cells above
+ AssertDimension (data.contravariant.size(), n_q_points);
+
+ for (unsigned int point=0; point<n_q_points; ++point)
+ {
+ if (dim==1)
+ {
+ // J is a tangent vector
+ output_data.boundary_forms[point] = data.contravariant[point].transpose()[0];
+ output_data.boundary_forms[point] /=
+ (face_no == 0 ? -1. : +1.) * output_data.boundary_forms[point].norm();
+
+ }
+
+ if (dim==2)
+ {
+ Tensor<1,spacedim> cell_normal;
+ const DerivativeForm<1,spacedim,dim> DX_t =
+ data.contravariant[point].transpose();
+ cross_product(cell_normal,DX_t[0],DX_t[1]);
+ cell_normal /= cell_normal.norm();
+
+ // then compute the face normal from the face tangent
+ // and the cell normal:
+ cross_product (output_data.boundary_forms[point],
+ data.aux[0][point], cell_normal);
+
+ }
+
+ }
+ }
+
+ if (update_flags & (update_normal_vectors | update_JxW_values))
+ for (unsigned int i=0; i<output_data.boundary_forms.size(); ++i)
+ {
+ if (update_flags & update_JxW_values)
+ {
+ output_data.JxW_values[i] = output_data.boundary_forms[i].norm() * weights[i];
+
+ if (subface_no != numbers::invalid_unsigned_int)
+ {
+ const double area_ratio=GeometryInfo<dim>::subface_ratio(
+ cell->subface_case(face_no), subface_no);
+ output_data.JxW_values[i] *= area_ratio;
+ }
+ }
+
+ if (update_flags & update_normal_vectors)
+ output_data.normal_vectors[i] = Point<spacedim>(output_data.boundary_forms[i] / output_data.boundary_forms[i].norm());
+ }
+
+ if (update_flags & update_jacobians)
+ for (unsigned int point=0; point<n_q_points; ++point)
+ output_data.jacobians[point] = data.contravariant[point];
+
+ if (update_flags & update_inverse_jacobians)
+ for (unsigned int point=0; point<n_q_points; ++point)
+ output_data.inverse_jacobians[point] = data.covariant[point].transpose();
+ }
+ }
+
+ /**
+ * Do the work of MappingFEField::fill_fe_face_values() and
+ * MappingFEField::fill_fe_subface_values() in a generic way, using the
+ * 'data_set' to differentiate whether we will work on a face (and if so,
+ * which one) or subface.
+ */
+ template<int dim, int spacedim>
+ void
+ do_fill_fe_face_values (const dealii::MappingFEField<dim,spacedim> &mapping,
+ const typename dealii::Triangulation<dim,spacedim>::cell_iterator &cell,
+ const unsigned int face_no,
+ const unsigned int subface_no,
+ const typename dealii::QProjector<dim>::DataSetDescriptor data_set,
+ const Quadrature<dim-1> &quadrature,
+ const typename dealii::MappingFEField<dim,spacedim>::InternalData &data,
+ const FiniteElement<dim, spacedim> &fe,
+ const ComponentMask &fe_mask,
+ const std::vector<unsigned int> &fe_to_real,
+ internal::FEValues::MappingRelatedData<dim,spacedim> &output_data)
+ {
+ maybe_compute_q_points<dim,spacedim> (data_set,
+ data,
+ fe, fe_mask, fe_to_real,
+ output_data.quadrature_points);
+ maybe_update_Jacobians<dim,spacedim> (CellSimilarity::none,
+ data_set,
+ data,
+ fe, fe_mask, fe_to_real);
+ maybe_update_jacobian_grads<dim,spacedim> (CellSimilarity::none,
+ data_set,
+ data,
+ fe, fe_mask, fe_to_real,
+ output_data.jacobian_grads);
+ maybe_compute_face_data (mapping,
+ cell, face_no, subface_no, quadrature.size(),
+ quadrature.get_weights(), data,
+ output_data);
+ }
+ }
+}
+
+
+
// Note that the CellSimilarity flag is modifiable, since MappingFEField can need to
// recalculate data even when cells are similar.
template<int dim, int spacedim, class VECTOR, class DH>
:
CellSimilarity::invalid_next_cell);
- compute_fill (cell, n_q_points, QProjector<dim>::DataSetDescriptor::cell (),
- updated_cell_similarity,
- data,
- output_data.quadrature_points);
+ update_internal_dofs(cell, data);
+
+ internal::maybe_compute_q_points(QProjector<dim>::DataSetDescriptor::cell (),
+ data, *fe, fe_mask, fe_to_real,
+ output_data.quadrature_points);
+
+ internal::maybe_update_Jacobians(cell_similarity,
+ QProjector<dim>::DataSetDescriptor::cell (),
+ data, *fe, fe_mask, fe_to_real);
const UpdateFlags update_flags(data.current_update_flags());
const std::vector<double> &weights=quadrature.get_weights();
}
} //codim>0 case
-
}
}
-
// copy values from InternalData to vector given by reference
if (update_flags & update_jacobians)
{
output_data.jacobians[point] = data.contravariant[point];
}
-
- // calculate values of the derivatives of the Jacobians. do it here, since
- // we only do it for cells, not faces.
- if (update_flags & update_jacobian_grads)
- {
- AssertDimension (output_data.jacobian_grads.size(), n_q_points);
-
- if (cell_similarity != CellSimilarity::translation)
- {
- std::fill(output_data.jacobian_grads.begin(),
- output_data.jacobian_grads.end(),
- DerivativeForm<2,dim,spacedim>());
-
- const unsigned int data_set = QProjector<dim>::DataSetDescriptor::cell();
-
- for (unsigned int point=0; point<n_q_points; ++point)
- {
- const Tensor<2,dim> *second =
- &data.second_derivative(point+data_set, 0);
-
- DerivativeForm<2,dim,spacedim> result;
-
- for (unsigned int k=0; k<data.n_shape_functions; ++k)
- {
- unsigned int comp_k = fe->system_to_component_index(k).first;
- if (fe_mask[comp_k])
- for (unsigned int j=0; j<dim; ++j)
- for (unsigned int l=0; l<dim; ++l)
- result[fe_to_real[comp_k]][j][l] += (second[k][j][l]
- * data.local_dof_values[k]);
- }
-
- // never touch any data for j=dim in case dim<spacedim, so it
- // will always be zero as it was initialized
- for (unsigned int i=0; i<spacedim; ++i)
- for (unsigned int j=0; j<dim; ++j)
- for (unsigned int l=0; l<dim; ++l)
- output_data.jacobian_grads[point][i][j][l] = result[i][j][l];
- }
- }
- }
-
-
// copy values from InternalData to vector given by reference
if (update_flags & update_inverse_jacobians)
{
output_data.inverse_jacobians[point] = data.covariant[point].transpose();
}
+ // calculate derivatives of the Jacobians
+ internal::maybe_update_jacobian_grads(cell_similarity,
+ QProjector<dim>::DataSetDescriptor::cell(),
+ data, *fe, fe_mask, fe_to_real,
+ output_data.jacobian_grads);
+
return updated_cell_similarity;
}
ExcInternalError());
const InternalData &data = static_cast<const InternalData &> (internal_data);
- const unsigned int n_q_points=quadrature.size();
- this->compute_fill_face (cell, face_no, numbers::invalid_unsigned_int,
- n_q_points,
- QProjector<dim>::DataSetDescriptor::
- face (face_no,
- cell->face_orientation(face_no),
- cell->face_flip(face_no),
- cell->face_rotation(face_no),
- n_q_points),
- quadrature.get_weights(),
- data,
- output_data.quadrature_points,
- output_data.JxW_values,
- output_data.boundary_forms,
- output_data.normal_vectors,
- output_data.jacobians,
- output_data.inverse_jacobians);
+ update_internal_dofs(cell, data);
+
+ internal::do_fill_fe_face_values (*this,
+ cell, face_no, numbers::invalid_unsigned_int,
+ QProjector<dim>::DataSetDescriptor::
+ face (face_no,
+ cell->face_orientation(face_no),
+ cell->face_flip(face_no),
+ cell->face_rotation(face_no),
+ quadrature.size()),
+ quadrature,
+ data,
+ *fe, fe_mask, fe_to_real,
+ output_data);
}
ExcInternalError());
const InternalData &data = static_cast<const InternalData &> (internal_data);
- const unsigned int n_q_points=quadrature.size();
- this->compute_fill_face (cell, face_no, subface_no,
- n_q_points,
- QProjector<dim>::DataSetDescriptor::
- subface (face_no, subface_no,
- cell->face_orientation(face_no),
- cell->face_flip(face_no),
- cell->face_rotation(face_no),
- n_q_points,
- cell->subface_case(face_no)),
- quadrature.get_weights(),
- data,
- output_data.quadrature_points,
- output_data.JxW_values,
- output_data.boundary_forms,
- output_data.normal_vectors,
- output_data.jacobians,
- output_data.inverse_jacobians);
+ update_internal_dofs(cell, data);
+
+ internal::do_fill_fe_face_values (*this,
+ cell, face_no, numbers::invalid_unsigned_int,
+ QProjector<dim>::DataSetDescriptor::
+ subface (face_no, subface_no,
+ cell->face_orientation(face_no),
+ cell->face_flip(face_no),
+ cell->face_rotation(face_no),
+ quadrature.size(),
+ cell->subface_case(face_no)),
+ quadrature,
+ data,
+ *fe, fe_mask, fe_to_real,
+ output_data);
}
}
-template<int dim, int spacedim, class VECTOR, class DH>
-void
-MappingFEField<dim,spacedim,VECTOR,DH>::compute_fill (
- const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int n_q_points,
- const typename QProjector<dim>::DataSetDescriptor data_set,
- const CellSimilarity::Similarity cell_similarity,
- const InternalData &data,
- std::vector<Point<spacedim> > &quadrature_points) const
-{
- const UpdateFlags update_flags(data.current_update_flags());
- update_internal_dofs(cell, data);
-
- // first compute quadrature points
- if (update_flags & update_quadrature_points)
- {
- AssertDimension (quadrature_points.size(), n_q_points);
-
- for (unsigned int point=0; point<n_q_points; ++point)
- {
- Point<spacedim> result;
- const double *shape = &data.shape(point+data_set,0);
-
- for (unsigned int k=0; k<data.n_shape_functions; ++k)
- {
- unsigned int comp_k = fe->system_to_component_index(k).first;
- if (fe_mask[comp_k])
- result[fe_to_real[comp_k]] += data.local_dof_values[k] * shape[k];
- }
-
- quadrature_points[point] = result;
- }
- }
-
-
- // then Jacobians
- if (update_flags & update_contravariant_transformation)
- {
- AssertDimension (data.contravariant.size(), n_q_points);
-
- // if the current cell is just a
- // translation of the previous one, no
- // need to recompute jacobians...
- if (cell_similarity != CellSimilarity::translation)
- {
- std::fill(data.contravariant.begin(), data.contravariant.end(),
- DerivativeForm<1,dim,spacedim>());
-
- Assert (data.n_shape_functions > 0, ExcInternalError());
-
- for (unsigned int point=0; point<n_q_points; ++point)
- {
- const Tensor<1,dim> *data_derv =
- &data.derivative(point+data_set, 0);
-
- Tensor<1, dim> result[spacedim];
-
- for (unsigned int k=0; k<data.n_shape_functions; ++k)
- {
- unsigned int comp_k = fe->system_to_component_index(k).first;
- if (fe_mask[comp_k])
- result[fe_to_real[comp_k]] += data.local_dof_values[k] * data_derv[k];
- }
-
- // write result into contravariant data. for
- // j=dim in the case dim<spacedim, there will
- // never be any nonzero data that arrives in
- // here, so it is ok anyway because it was
- // initialized to zero at the initialization
- for (unsigned int i=0; i<spacedim; ++i)
- {
- data.contravariant[point][i] = result[i];
- }
-
- }
- }
- }
-
-
- if (update_flags & update_covariant_transformation)
- {
- AssertDimension (data.covariant.size(), n_q_points);
- if (cell_similarity != CellSimilarity::translation)
- for (unsigned int point=0; point<n_q_points; ++point)
- data.covariant[point] = (data.contravariant[point]).covariant_form();
- }
-
- if (update_flags & update_volume_elements)
- if (cell_similarity != CellSimilarity::translation)
- for (unsigned int point=0; point<n_q_points; ++point)
- data.volume_elements[point] = data.contravariant[point].determinant();
-
-}
-
-
-template<int dim, int spacedim, class VECTOR, class DH>
-void
-MappingFEField<dim,spacedim,VECTOR,DH>::compute_fill_face (
- const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int face_no,
- const unsigned int subface_no,
- const unsigned int n_q_points,//npts
- const typename QProjector<dim>::DataSetDescriptor data_set,
- const std::vector<double> &weights,
- const InternalData &data,
- std::vector<Point<spacedim> > &quadrature_points,
- std::vector<double> &JxW_values,
- std::vector<Tensor<1,spacedim> > &boundary_forms,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<DerivativeForm<1,dim,spacedim> > &/*jacobians*/,
- std::vector<DerivativeForm<1,spacedim,dim> > &/*inverse_jacobians*/) const
-{
- compute_fill (cell, n_q_points, data_set, CellSimilarity::none,
- data, quadrature_points);
-
-
- const UpdateFlags update_flags(data.current_update_flags());
-
- if (update_flags & update_boundary_forms)
- {
- AssertDimension (boundary_forms.size(), n_q_points);
- if (update_flags & update_normal_vectors)
- AssertDimension (normal_vectors.size(), n_q_points);
- if (update_flags & update_JxW_values)
- AssertDimension (JxW_values.size(), n_q_points);
-
- // map the unit tangentials to the real cell. checking for d!=dim-1
- // eliminates compiler warnings regarding unsigned int expressions <
- // 0.
- for (unsigned int d=0; d!=dim-1; ++d)
- {
- Assert (face_no+GeometryInfo<dim>::faces_per_cell*d <
- data.unit_tangentials.size(),
- ExcInternalError());
- Assert (data.aux[d].size() <=
- data.unit_tangentials[face_no+GeometryInfo<dim>::faces_per_cell*d].size(),
- ExcInternalError());
-
- transform (data.unit_tangentials[face_no+GeometryInfo<dim>::faces_per_cell*d],
- data.aux[d],
- data,
- mapping_contravariant);
- }
-
- // if dim==spacedim, we can use the unit tangentials to compute the
- // boundary form by simply taking the cross product
- if (dim == spacedim)
- {
- for (unsigned int i=0; i<n_q_points; ++i)
- switch (dim)
- {
- case 1:
- // in 1d, we don't have access to any of the data.aux
- // fields (because it has only dim-1 components), but we
- // can still compute the boundary form by simply
- // looking at the number of the face
- boundary_forms[i][0] = (face_no == 0 ?
- -1 : +1);
- break;
- case 2:
- cross_product (boundary_forms[i], data.aux[0][i]);
- break;
- case 3:
- cross_product (boundary_forms[i], data.aux[0][i], data.aux[1][i]);
- break;
- default:
- Assert(false, ExcNotImplemented());
- }
- }
- else //(dim < spacedim)
- {
- // in the codim-one case, the boundary form results from the
- // cross product of all the face tangential vectors and the cell
- // normal vector
- //
- // to compute the cell normal, use the same method used in
- // fill_fe_values for cells above
- AssertDimension (data.contravariant.size(), n_q_points);
-
- for (unsigned int point=0; point<n_q_points; ++point)
- {
- if (dim==1)
- {
- // J is a tangent vector
- boundary_forms[point] = data.contravariant[point].transpose()[0];
- boundary_forms[point] /=
- (face_no == 0 ? -1. : +1.) * boundary_forms[point].norm();
-
- }
-
- if (dim==2)
- {
- Tensor<1,spacedim> cell_normal;
- const DerivativeForm<1,spacedim,dim> DX_t =
- data.contravariant[point].transpose();
- cross_product(cell_normal,DX_t[0],DX_t[1]);
- cell_normal /= cell_normal.norm();
-
- // then compute the face normal from the face tangent
- // and the cell normal:
- cross_product (boundary_forms[point],
- data.aux[0][point], cell_normal);
-
- }
-
- }
- }
-
-
-
- if (update_flags & (update_normal_vectors
- | update_JxW_values))
- for (unsigned int i=0; i<boundary_forms.size(); ++i)
- {
- if (update_flags & update_JxW_values)
- {
- JxW_values[i] = boundary_forms[i].norm() * weights[i];
-
- if (subface_no != numbers::invalid_unsigned_int)
- {
- const double area_ratio=GeometryInfo<dim>::subface_ratio(
- cell->subface_case(face_no), subface_no);
- JxW_values[i] *= area_ratio;
- }
- }
-
- if (update_flags & update_normal_vectors)
- normal_vectors[i] = Point<spacedim>(boundary_forms[i] / boundary_forms[i].norm());
- }
- }
-
-}
-
template<int dim, int spacedim, class VECTOR, class DH>
unsigned int
// Show the Jacobians, inverse Jacobians, and Jacobian gradients on hyperball
-// with one quadrature point
+// with one quadrature point for MappingQ and MappingFEField
#include "../tests.h"
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/fe/fe_nothing.h>
#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_system.h>
#include <deal.II/fe/mapping_q.h>
+#include <deal.II/fe/mapping_fe_field.h>
#include <deal.II/grid/tria.h>
#include <deal.II/grid/grid_generator.h>
#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/numerics/vector_tools.h>
-template<int dim>
-void test()
-{
- Triangulation<dim> tria;
- GridGenerator::hyper_ball (tria);
- static const HyperBallBoundary<dim> boundary;
- tria.set_boundary (0, boundary);
- MappingQ<dim> mapping(3);
+template <int dim>
+void do_test(const Triangulation<dim> &tria,
+ const Mapping<dim> &mapping)
+{
FE_Nothing<dim> dummy;
// choose a point that is not right in the
// middle of the cell so that the Jacobian
}
+
+template<int dim>
+void test()
+{
+ Triangulation<dim> tria;
+ GridGenerator::hyper_ball (tria);
+ static const HyperBallBoundary<dim> boundary;
+ tria.set_boundary (0, boundary);
+
+ {
+ deallog << "========== MappingQ ==========" << std::endl;
+ MappingQ<dim> mapping(3);
+ do_test(tria, mapping);
+ }
+
+ {
+ deallog << "========== MappingFEField ==========" << std::endl;
+ FESystem<dim> fe_euler(FE_Q<dim> (QGaussLobatto<1>(4)), dim);
+ DoFHandler<dim> map_dh(tria);
+ map_dh.distribute_dofs (fe_euler);
+
+ Vector<double> euler_vec(map_dh.n_dofs());
+ VectorTools::get_position_vector(map_dh, euler_vec);
+
+ MappingFEField<dim> mapping(map_dh, euler_vec);
+ do_test(tria, mapping);
+ }
+}
+
+
int
main()
{
+DEAL::========== MappingQ ==========
DEAL::2d Jacobians:
DEAL::0.97416533 0.06643545 -0.03128628 0.58141017
DEAL::0.67100687 0.01733694 -0.02724953 1.06933838
DEAL::-0.39107846 -0.10981715 -0.10981715 0.63752903 -0.00204199 -0.83033717 -0.83033717 -0.04134342
DEAL::0.02659837 -0.90774034 -0.90774034 -0.00223032 0.90847214 0.06185307 0.06185307 -0.57789806
DEAL::
+DEAL::========== MappingFEField ==========
+DEAL::2d Jacobians:
+DEAL::0.97416533 0.06643545 -0.03128628 0.58141017
+DEAL::0.67100687 0.01733694 -0.02724953 1.06933838
+DEAL::0.58578644 0 0 0.58578644
+DEAL::0.03128628 -0.58141017 0.97416533 0.06643545
+DEAL::-0.02724953 1.06933838 -0.67100687 -0.01733694
+DEAL::
+DEAL::2d inverse Jacobians:
+DEAL::1.02276649 -0.11686749 0.05503611 1.71366741
+DEAL::1.48931714 -0.02414596 0.03795168 0.93454238
+DEAL::1.70710678 0 0 1.70710678
+DEAL::0.11686749 1.02276649 -1.71366741 0.05503611
+DEAL::-0.02414596 -1.48931714 0.93454238 -0.03795168
+DEAL::
+DEAL::2d Jacobian gradients:
+DEAL::-0.00204199 -0.83033717 -0.83033717 -0.04134342 0.39107846 0.10981715 0.10981715 -0.63752903
+DEAL::-0.90847214 -0.06185307 -0.06185307 0.57789806 0.02659837 -0.90774034 -0.90774034 -0.00223032
+DEAL::0 0 0 0 0 0 0 0
+DEAL::-0.39107846 -0.10981715 -0.10981715 0.63752903 -0.00204199 -0.83033717 -0.83033717 -0.04134342
+DEAL::0.02659837 -0.90774034 -0.90774034 -0.00223032 0.90847214 0.06185307 0.06185307 -0.57789806
+DEAL::
+DEAL::========== MappingQ ==========
+DEAL::3d Jacobians:
+DEAL::0.42264973 0 0 0 0.42264973 0 0 0 0.42264973
+DEAL::0.71650265 0.00057392 0.06336402 0.00057925 0.71615833 -0.02222757 -0.01407354 0.00523990 0.48019279
+DEAL::0.02009773 -0.55557232 -0.03579057 0.80181573 0.06854119 0.00343503 0.00375449 -0.12266862 0.80741050
+DEAL::0.80181573 0.06854119 0.00343503 0.00375449 -0.12266862 0.80741050 0.02009773 -0.55557232 -0.03579057
+DEAL::0.68594812 0.01191353 0.05718759 -0.03037115 0.90754836 -0.00214412 -0.15238827 -0.00211580 0.91136026
+DEAL::0.80181573 0.06854119 0.00343503 -0.02009773 0.55557232 0.03579057 0.00375449 -0.12266862 0.80741050
+DEAL::-0.03037115 0.90754836 -0.00214412 -0.68594812 -0.01191353 -0.05718759 -0.15238827 -0.00211580 0.91136026
+DEAL::
+DEAL::3d inverse Jacobians:
+DEAL::2.36602540 0 0 0 2.36602540 0 0 0 2.36602540
+DEAL::1.39206023 0.00022835 -0.18367925 0.00014028 1.39586654 0.06459453 0.04079711 -0.01522512 2.07640876
+DEAL::0.15305951 1.24332587 0.00149519 -1.77697103 0.04490999 -0.07895994 -0.27068418 0.00104160 1.22652416
+DEAL::1.24332587 0.00149519 0.15305951 0.04490999 -0.07895994 -1.77697103 0.00104160 1.22652416 -0.27068418
+DEAL::1.43695022 -0.01907339 -0.09021307 0.04865553 1.10122987 -0.00046230 0.24038497 -0.00063265 1.08217535
+DEAL::1.24332587 -0.15305951 0.00149519 0.04490999 1.77697103 -0.07895994 0.00104160 0.27068418 1.22652416
+DEAL::-0.01907339 -1.43695022 -0.09021307 1.10122987 -0.04865553 -0.00046230 -0.00063265 -0.24038497 1.08217535
+DEAL::
+DEAL::3d Jacobian gradients:
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0.00137395 -0.00717231 -0.79419777 -0.00717231 0.01913055 -0.00149076 -0.79419777 -0.00149076 -0.04004959 -0.00724068 0.01930659 -0.00052463 0.01930659 -0.00070680 -0.74156764 -0.00052463 -0.74156764 0.01902151 0.17591921 0.00109594 0.04186023 0.00109594 0.17466345 -0.01561922 0.04186023 -0.01561922 -0.55167180
+DEAL::-0.25122164 -0.07828991 -0.00750963 -0.07828991 0.93587546 0.13995856 -0.00750963 0.13995856 -0.25564696 -0.01036284 -0.85760495 -0.04324137 -0.85760495 -0.12000055 -0.01202929 -0.04324137 -0.01202929 0.02453591 -0.04693108 -0.01316991 0.02699113 -0.01316991 0.14532022 -0.87698852 0.02699113 -0.87698852 0.00740082
+DEAL::-0.01036284 -0.85760495 -0.04324137 -0.85760495 -0.12000055 -0.01202929 -0.04324137 -0.01202929 0.02453591 -0.04693108 -0.01316991 0.02699113 -0.01316991 0.14532022 -0.87698852 0.02699113 -0.87698852 0.00740082 -0.25122164 -0.07828991 -0.00750963 -0.07828991 0.93587546 0.13995856 -0.00750963 0.13995856 -0.25564696
+DEAL::-1.37058893 -0.05160788 -0.24996159 -0.05160788 0.39711769 -0.00510516 -0.24996159 -0.00510516 0.40848276 0.04774078 -1.01187322 0.00879803 -1.01187322 -0.00078284 -0.07147435 0.00879803 -0.07147435 -0.01531514 0.34545125 0.01080303 -1.06671725 0.01080303 -0.07052681 -0.01516606 -1.06671725 -0.01516606 -0.00035074
+DEAL::-0.01036284 -0.85760495 -0.04324137 -0.85760495 -0.12000055 -0.01202929 -0.04324137 -0.01202929 0.02453591 0.25122164 0.07828991 0.00750963 0.07828991 -0.93587546 -0.13995856 0.00750963 -0.13995856 0.25564696 -0.04693108 -0.01316991 0.02699113 -0.01316991 0.14532022 -0.87698852 0.02699113 -0.87698852 0.00740082
+DEAL::0.04774078 -1.01187322 0.00879803 -1.01187322 -0.00078284 -0.07147435 0.00879803 -0.07147435 -0.01531514 1.37058893 0.05160788 0.24996159 0.05160788 -0.39711769 0.00510516 0.24996159 0.00510516 -0.40848276 0.34545125 0.01080303 -1.06671725 0.01080303 -0.07052681 -0.01516606 -1.06671725 -0.01516606 -0.00035074
+DEAL::
+DEAL::========== MappingFEField ==========
DEAL::3d Jacobians:
DEAL::0.42264973 0 0 0 0.42264973 0 0 0 0.42264973
DEAL::0.71650265 0.00057392 0.06336402 0.00057925 0.71615833 -0.02222757 -0.01407354 0.00523990 0.48019279
--- /dev/null
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2012 - 2015 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+
+// Show the Jacobians and inverse Jacobians of FEFaceValues and
+// FESubfaceValues on a hyperball mesh with one quadrature point for
+// MappingFEField. Note that the output needs to be identical to the test
+// jacobian_face that uses an underlying MappingQ.
+
+#include "../tests.h"
+#include <deal.II/base/quadrature_lib.h>
+#include <deal.II/fe/fe_nothing.h>
+#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/mapping_q.h>
+#include <deal.II/fe/mapping_fe_field.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/numerics/vector_tools.h>
+
+template<int dim>
+void test()
+{
+ Triangulation<dim> tria;
+ GridGenerator::hyper_ball (tria);
+ static const HyperBallBoundary<dim> boundary;
+ tria.set_boundary (0, boundary);
+ tria.begin_active()->set_refine_flag();
+ tria.execute_coarsening_and_refinement();
+
+ // create Euler vector field and MappingFEField
+ FESystem<dim> fe_euler(FE_Q<dim> (QGaussLobatto<1>(4)), dim);
+ DoFHandler<dim> map_dh(tria);
+ map_dh.distribute_dofs (fe_euler);
+
+ Vector<double> euler_vec(map_dh.n_dofs());
+ VectorTools::get_position_vector(map_dh, euler_vec);
+
+ MappingFEField<dim> mapping(map_dh, euler_vec);
+
+ FE_Nothing<dim> dummy;
+ // choose a point that is not right in the middle of the cell so that the
+ // Jacobian contains many nonzero entries
+ Point<dim-1> quad_p;
+ for (int d=0; d<dim-1; ++d)
+ quad_p(d) = 0.42 + 0.11 * d;
+ Quadrature<dim-1> quad(quad_p);
+ FEFaceValues<dim> fe_val (mapping, dummy, quad,
+ update_jacobians | update_inverse_jacobians |
+ update_jacobian_grads);
+ FESubfaceValues<dim> fe_sub_val (mapping, dummy, quad,
+ update_jacobians | update_inverse_jacobians |
+ update_jacobian_grads);
+ deallog << dim << "d Jacobians:" << std::endl;
+ typename Triangulation<dim>::active_cell_iterator
+ cell = tria.begin_active(), endc = tria.end();
+ for ( ; cell != endc; ++cell)
+ for (unsigned int f=0; f<GeometryInfo<dim>::faces_per_cell; ++f)
+ {
+ fe_val.reinit (cell, f);
+
+ for (unsigned int d=0; d<dim; ++d)
+ for (unsigned int e=0; e<dim; ++e)
+ deallog << fe_val.jacobian(0)[d][e] << " ";
+ deallog << std::endl;
+
+ // Also check the Jacobian with FESubfaceValues
+ if (cell->at_boundary(f) == false &&
+ cell->neighbor(f)->level() < cell->level())
+ {
+ fe_sub_val.reinit(cell->neighbor(f), cell->neighbor_face_no(f),
+ cell->neighbor_of_coarser_neighbor(f).second);
+
+ for (unsigned int d=0; d<dim; ++d)
+ for (unsigned int e=0; e<dim; ++e)
+ deallog << fe_sub_val.jacobian(0)[d][e] << " ";
+ deallog << std::endl;
+ }
+ }
+ deallog << std::endl;
+
+ deallog << dim << "d inverse Jacobians:" << std::endl;
+ cell = tria.begin_active();
+ endc = tria.end();
+ for ( ; cell != endc; ++cell)
+ for (unsigned int f=0; f<GeometryInfo<dim>::faces_per_cell; ++f)
+ {
+ fe_val.reinit (cell, f);
+
+ for (unsigned int d=0; d<dim; ++d)
+ for (unsigned int e=0; e<dim; ++e)
+ deallog << fe_val.inverse_jacobian(0)[d][e] << " ";
+ deallog << std::endl;
+
+ // Also check the inverse Jacobian with FESubfaceValues
+ if (cell->at_boundary(f) == false &&
+ cell->neighbor(f)->level() < cell->level())
+ {
+ fe_sub_val.reinit(cell->neighbor(f), cell->neighbor_face_no(f),
+ cell->neighbor_of_coarser_neighbor(f).second);
+
+ for (unsigned int d=0; d<dim; ++d)
+ for (unsigned int e=0; e<dim; ++e)
+ deallog << fe_sub_val.inverse_jacobian(0)[d][e] << " ";
+ deallog << std::endl;
+ }
+
+ }
+ deallog << std::endl;
+
+ deallog << dim << "d Jacobian gradients:" << std::endl;
+ cell = tria.begin_active();
+ endc = tria.end();
+ for ( ; cell != endc; ++cell)
+ for (unsigned int f=0; f<GeometryInfo<dim>::faces_per_cell; ++f)
+ {
+ fe_val.reinit (cell, f);
+
+ for (unsigned int d=0; d<dim; ++d)
+ for (unsigned int e=0; e<dim; ++e)
+ for (unsigned int f=0; f<dim; ++f)
+ deallog << fe_val.jacobian_grad(0)[d][e][f] << " ";
+ deallog << std::endl;
+
+ // Also check the Jacobian with FESubfaceValues
+ if (cell->at_boundary(f) == false &&
+ cell->neighbor(f)->level() < cell->level())
+ {
+ fe_sub_val.reinit(cell->neighbor(f), cell->neighbor_face_no(f),
+ cell->neighbor_of_coarser_neighbor(f).second);
+
+ for (unsigned int d=0; d<dim; ++d)
+ for (unsigned int e=0; e<dim; ++e)
+ for (unsigned int f=0; f<dim; ++f)
+ deallog << fe_sub_val.jacobian_grad(0)[d][e][f] << " ";
+ deallog << std::endl;
+ }
+ }
+ deallog << std::endl;
+}
+
+
+
+int
+main()
+{
+ std::ofstream logfile ("output");
+ deallog << std::setprecision(8) << std::fixed;
+ deallog.attach(logfile);
+ deallog.depth_console(0);
+ deallog.threshold_double(1.e-10);
+
+ test<2>();
+ test<3>();
+
+ return 0;
+}
--- /dev/null
+
+DEAL::2d Jacobians:
+DEAL::1.23963445 -0.18547181 0.12412324 1.55786718
+DEAL::0.53368238 0 0.07513814 0.58578644
+DEAL::0.41421356 -0.28894903 0.41421356 1.06007883
+DEAL::0.41421356 0.28894903 -0.41421356 1.06007883
+DEAL::0.58578644 0 0 0.58578644
+DEAL::0.58578644 0 0 0.58578644
+DEAL::0.58578644 0 0 0.58578644
+DEAL::0.58578644 0 0 0.58578644
+DEAL::0.28894903 -0.41421356 1.06007883 0.41421356
+DEAL::-0.28894903 -0.41421356 1.06007883 -0.41421356
+DEAL::0.18547181 -1.23963445 1.55786718 0.12412324
+DEAL::0 -0.53368238 0.58578644 0.07513814
+DEAL::0.12412324 1.55786718 -1.23963445 0.18547181
+DEAL::0.07513814 0.58578644 -0.53368238 0
+DEAL::0.41421356 1.06007883 -0.41421356 0.28894903
+DEAL::-0.41421356 1.06007883 -0.41421356 -0.28894903
+DEAL::0.59041686 0.20710678 -0.30101918 0.20710678
+DEAL::0.41421356 -0.60030292 0.41421356 1.15104508
+DEAL::0.64835562 0 -0.16114263 0.35355339
+DEAL::0.70557057 0.20974632 -0.34485147 0.46555678
+DEAL::0.50000000 0.13315220 -0.14644661 0.29709503
+DEAL::0.64835562 0 0.16114263 0.35355339
+DEAL::0.59041686 -0.20710678 0.30101918 0.20710678
+DEAL::0.60030292 -0.41421356 1.15104508 0.41421356
+DEAL::0.74276054 -0.16287016 0.25506692 0.49467915
+DEAL::0.50000000 -0.09790993 0.14644661 0.32139848
+DEAL::0.41301515 0.20710678 -0.08493903 0.20710678
+DEAL::0.41421356 -0.10529159 0.41421356 0.81807057
+DEAL::0.41301515 0 -0.08493903 0.35355339
+DEAL::0.50000000 0.12012193 -0.14644661 0.26861436
+DEAL::0.29289322 0.12012193 0 0.26861436
+DEAL::0.58578644 0 0 0.58578644
+DEAL::0.41301515 0 0.08493903 0.35355339
+DEAL::0.41301515 -0.20710678 0.08493903 0.20710678
+DEAL::0.10529159 -0.41421356 0.81807057 0.41421356
+DEAL::0.50000000 -0.08698485 0.14644661 0.29204581
+DEAL::0.29289322 -0.08698485 0 0.29204581
+DEAL::0.58578644 0 0 0.58578644
+DEAL::
+DEAL::2d inverse Jacobians:
+DEAL::0.79718629 0.09490898 -0.06351591 0.63434136
+DEAL::1.87377370 0 -0.24034676 1.70710678
+DEAL::1.89711181 0.51710175 -0.74127453 0.74127453
+DEAL::1.89711181 -0.51710175 0.74127453 0.74127453
+DEAL::1.70710678 0 0 1.70710678
+DEAL::1.70710678 0 0 1.70710678
+DEAL::1.70710678 0 0 1.70710678
+DEAL::1.70710678 0 0 1.70710678
+DEAL::0.74127453 0.74127453 -1.89711181 0.51710175
+DEAL::-0.74127453 0.74127453 -1.89711181 -0.51710175
+DEAL::0.06351591 0.63434136 -0.79718629 0.09490898
+DEAL::0.24034676 1.70710678 -1.87377370 0
+DEAL::0.09490898 -0.79718629 0.63434136 0.06351591
+DEAL::0 -1.87377370 1.70710678 0.24034676
+DEAL::0.51710175 -1.89711181 0.74127453 0.74127453
+DEAL::-0.51710175 -1.89711181 0.74127453 -0.74127453
+DEAL::1.12178547 -1.12178547 1.63045818 3.19796894
+DEAL::1.58670272 0.82751084 -0.57098875 0.57098875
+DEAL::1.54236343 0 0.70297871 2.82842712
+DEAL::1.16152683 -0.52330025 0.86037676 1.76034199
+DEAL::1.76792606 -0.79235000 0.87146116 2.97535453
+DEAL::1.54236343 0 -0.70297871 2.82842712
+DEAL::1.12178547 1.12178547 -1.63045818 3.19796894
+DEAL::0.57098875 0.57098875 -1.58670272 0.82751084
+DEAL::1.20957041 0.39824384 -0.62367982 1.81616949
+DEAL::1.83616594 0.55936445 -0.83665697 2.85652558
+DEAL::2.00821688 -2.00821688 0.82361379 4.00481334
+DEAL::2.13891922 0.27529435 -1.08299868 1.08299868
+DEAL::2.42121868 0 0.58168294 2.82842712
+DEAL::1.76837908 -0.79080328 0.96410752 3.29166896
+DEAL::3.41421356 -1.52680571 0 3.72280920
+DEAL::1.70710678 0 0 1.70710678
+DEAL::2.42121868 0 -0.58168294 2.82842712
+DEAL::2.00821688 2.00821688 -0.82361379 4.00481334
+DEAL::1.08299868 1.08299868 -2.13891922 0.27529435
+DEAL::1.83952492 0.54789621 -0.92243125 3.14937729
+DEAL::3.41421356 1.01691184 0 3.42412029
+DEAL::1.70710678 0 0 1.70710678
+DEAL::
+DEAL::2d Jacobian gradients:
+DEAL::-1.84633620 0.54214837 0.54214837 2.31839763 -0.17634636 -1.51354439 -1.51354439 0.29875970
+DEAL::0.43443205 0.07846884 0.07846884 0 0.07837616 -0.93340477 -0.93340477 0
+DEAL::0 1.03088442 1.03088442 0.57789806 0 -0.66806882 -0.66806882 0.03717203
+DEAL::0 -1.03088442 -1.03088442 0.57789806 0 -0.66806882 -0.66806882 -0.03717203
+DEAL::0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0
+DEAL::-0.57789806 -1.03088442 -1.03088442 0 0.03717203 -0.66806882 -0.66806882 0
+DEAL::-0.57789806 1.03088442 1.03088442 0 -0.03717203 -0.66806882 -0.66806882 0
+DEAL::-2.31839763 -0.54214837 -0.54214837 1.84633620 0.29875970 -1.51354439 -1.51354439 -0.17634636
+DEAL::0 -0.07846884 -0.07846884 -0.43443205 0 -0.93340477 -0.93340477 0.07837616
+DEAL::-0.17634636 -1.51354439 -1.51354439 0.29875970 1.84633620 -0.54214837 -0.54214837 -2.31839763
+DEAL::0.07837616 -0.93340477 -0.93340477 0 -0.43443205 -0.07846884 -0.07846884 0
+DEAL::0 -0.66806882 -0.66806882 0.03717203 0 -1.03088442 -1.03088442 -0.57789806
+DEAL::0 -0.66806882 -0.66806882 -0.03717203 0 1.03088442 1.03088442 -0.57789806
+DEAL::0.06235292 -0.08471018 -0.08471018 0 0.13804815 0.38807799 0.38807799 0
+DEAL::0 2.00320701 2.00320701 1.20060584 0 -0.15024142 -0.15024142 0.53519273
+DEAL::0.05352461 -0.29141850 -0.29141850 0 0.14170495 -0.11096004 -0.11096004 0
+DEAL::0.26791486 -0.23410942 -0.23410942 -0.20605054 0.54645813 0.31136944 0.31136944 -0.43821988
+DEAL::0 -0.21170570 -0.21170570 0.05286230 0 0.17060309 0.17060309 0.10129638
+DEAL::-0.05352461 -0.29141850 -0.29141850 0 0.14170495 0.11096004 0.11096004 0
+DEAL::-0.06235292 -0.08471018 -0.08471018 0 0.13804815 -0.38807799 -0.38807799 0
+DEAL::-1.20060584 -2.00320701 -2.00320701 0 0.53519273 -0.15024142 -0.15024142 0
+DEAL::-0.19695983 -0.34281858 -0.34281858 0.16416851 0.57584866 -0.04892231 -0.04892231 -0.45556798
+DEAL::0 -0.22743992 -0.22743992 -0.03424807 0 -0.13261732 -0.13261732 0.10900665
+DEAL::0 -0.20710678 -0.20710678 0 0 0.14644661 0.14644661 0
+DEAL::0 0.36695330 0.36695330 0.21058318 0 -0.90934959 -0.90934959 0.04775839
+DEAL::0 -0.20710678 -0.20710678 0 0 0.14644661 0.14644661 0
+DEAL::0 -0.20710678 -0.20710678 0 0 0.14644661 0.14644661 0
+DEAL::0 -0.20710678 -0.20710678 0 0 0.14644661 0.14644661 0
+DEAL::0 0 0 0 0 0 0 0
+DEAL::0 -0.20710678 -0.20710678 0 0 -0.14644661 -0.14644661 0
+DEAL::0 -0.20710678 -0.20710678 0 0 -0.14644661 -0.14644661 0
+DEAL::-0.21058318 -0.36695330 -0.36695330 0 0.04775839 -0.90934959 -0.90934959 0
+DEAL::0 -0.20710678 -0.20710678 0 0 -0.14644661 -0.14644661 0
+DEAL::0 -0.20710678 -0.20710678 0 0 -0.14644661 -0.14644661 0
+DEAL::0 0 0 0 0 0 0 0
+DEAL::
+DEAL::3d Jacobians:
+DEAL::0.81350031 -0.01391837 0.44040642 -0.01226796 0.76623426 0.05864280 -0.12782348 -0.01391837 0.44040642
+DEAL::0.81350031 0.01391837 -0.44040642 0.01226796 0.76623426 0.05864280 0.12782348 -0.01391837 0.44040642
+DEAL::0.84873518 0.00765757 -0.02313163 0.00771271 0.91107165 0.48026545 0.00771271 -0.20424138 0.48026545
+DEAL::0.84873518 -0.00765757 -0.02313163 -0.00771271 0.91107165 -0.48026545 0.00771271 0.20424138 0.48026545
+DEAL::1.54975902 0.00633378 0.17578641 0.00928390 1.69941646 -0.08802805 -0.17567935 0.06510834 1.64714337
+DEAL::0.42264973 0 0.07640727 0 0.42264973 -0.03234765 0 0 0.53910786
+DEAL::0.20424138 -0.48026545 -0.00771271 0.91107165 0.48026545 0.00771271 0.00765757 -0.02313163 0.84873518
+DEAL::-0.20424138 -0.48026545 -0.00771271 0.91107165 -0.48026545 -0.00771271 -0.00765757 -0.02313163 0.84873518
+DEAL::-0.06510834 -1.64714337 0.17567935 1.69941646 -0.08802805 0.00928390 0.00633378 0.17578641 1.54975902
+DEAL::0 -0.53910786 0 0.42264973 0.08635470 0 0 -0.02861737 0.42264973
+DEAL::0.01391837 -0.44040642 0.12782348 0.76623426 0.05864280 -0.01226796 -0.01391837 0.44040642 0.81350031
+DEAL::0.01391837 -0.44040642 -0.12782348 0.76623426 0.05864280 0.01226796 0.01391837 -0.44040642 0.81350031
+DEAL::0.91107165 0.48026545 0.00771271 0.00765757 -0.02313163 0.84873518 0.20424138 -0.48026545 -0.00771271
+DEAL::0.82044863 -0.44040642 0.01391837 0.01337969 0.05864280 0.76623426 -0.12782348 -0.44040642 0.01391837
+DEAL::1.69941646 -0.08802805 0.00928390 0.00633378 0.17578641 1.54975902 -0.06510834 -1.64714337 0.17567935
+DEAL::0.42264973 0.08635470 0 0 -0.02861737 0.42264973 0 -0.53910786 0
+DEAL::0.76623426 0.05864280 -0.01226796 -0.01391837 0.44040642 0.81350031 0.01391837 -0.44040642 0.12782348
+DEAL::0.76623426 0.05864280 0.01226796 0.01391837 -0.44040642 0.81350031 0.01391837 -0.44040642 -0.12782348
+DEAL::1.64714337 -0.17567935 0.06510834 0.17578641 1.54975902 0.00633378 -0.08802805 0.00928390 1.69941646
+DEAL::0.53910786 0 0 0.07640727 0.42264973 0 -0.03234765 0 0.42264973
+DEAL::0.44040642 -0.12782348 -0.01391837 0.44040642 0.81350031 -0.01391837 0.05864280 -0.01226796 0.76623426
+DEAL::0.44040642 0.12782348 -0.01391837 -0.44040642 0.81350031 0.01391837 0.05864280 0.01226796 0.76623426
+DEAL::0.44040642 -0.01391837 -0.12782348 0.05864280 0.76623426 -0.01337969 0.44040642 -0.01391837 0.82044863
+DEAL::0.48026545 0.00771271 0.20424138 -0.02313163 0.84873518 -0.00765757 -0.48026545 -0.00771271 0.91107165
+DEAL::0.82044863 0.44040642 -0.01391837 -0.12782348 0.44040642 -0.01391837 -0.01337969 0.05864280 0.76623426
+DEAL::0.91107165 -0.48026545 -0.00771271 0.20424138 0.48026545 0.00771271 -0.00765757 -0.02313163 0.84873518
+DEAL::1.69941646 -0.08802805 0.00928390 0.06510834 1.64714337 -0.17567935 0.00633378 0.17578641 1.54975902
+DEAL::0.42264973 -0.03234765 0 0 0.53910786 0 0 0.07640727 0.42264973
+DEAL::0.84873518 -0.02313163 0.00754376 0.00771271 0.48026545 -0.20424138 0.00771271 0.48026545 0.90917487
+DEAL::0.76623426 0.05864280 0.01226796 -0.01391837 0.44040642 0.12782348 0.01391837 -0.44040642 0.81350031
+DEAL::0.17578641 1.54975902 0.00633378 -1.64714337 0.17567935 -0.06510834 -0.08802805 0.00928390 1.69941646
+DEAL::-0.02861737 0.42264973 0 -0.53910786 0 0 0.08635470 0 0.42264973
+DEAL::0.44040642 0.81350031 -0.01391837 -0.44040642 0.12782348 0.01391837 0.05864280 -0.01226796 0.76623426
+DEAL::-0.48026545 0.90917487 -0.00771271 -0.48026545 -0.20424138 -0.00771271 -0.02313163 -0.00754376 0.84873518
+DEAL::-0.02313163 0.84873518 0.00765757 -0.48026545 -0.00771271 0.20424138 0.48026545 0.00771271 0.91107165
+DEAL::0.05864280 0.76623426 0.01337969 -0.44040642 0.01391837 -0.12782348 -0.44040642 0.01391837 0.82044863
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.47964215 0 0 0.25693002 0.42264973 0 0.22230805 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0.22230805 0 0 0.47964215 0 0 0.25693002 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0 0.25693002 0 0.42264973 0.22230805 0 0 0.47964215
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0 -0.47964215 0 0.42264973 0.27613207 0 0 0.20674777 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 -0.24779904 0 0 0.47367981 0 0 0.25431533 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0 -0.18954257 0 0.42264973 0.23197941 0 0 0.49679008
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.49679008 0 0 -0.18954257 0.42264973 0 0.23197941 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.20674777 0.42264973 0 -0.47964215 0 0 0.27613207 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0 0.25431533 0 0.42264973 -0.24779904 0 0 0.47367981
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0 -0.49679008 0 0.42264973 -0.20680010 0 0 0.21266741 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::-0.23160365 0.42264973 0 -0.47367981 0 0 0.27203859 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0 -0.18752406 0 0.42264973 -0.25822136 0 0 0.49017924
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.47367981 0 0 0.25431533 0.42264973 0 -0.24779904 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0.23197941 0 0 0.49679008 0 0 -0.18954257 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0.27613207 0 0 0.20674777 0.42264973 0 -0.47964215 0
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0 -0.47367981 0 0.42264973 0.27203859 0 0 -0.23160365 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 -0.25822136 0 0 0.49017924 0 0 -0.18752406 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 -0.20680010 0 0 0.21266741 0.42264973 0 -0.49679008 0
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.49017924 0 0 -0.18752406 0.42264973 0 -0.25822136 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21266741 0.42264973 0 -0.49679008 0 0 -0.20680010 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 0.27203859 0 0 -0.23160365 0.42264973 0 -0.47367981 0
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0 -0.49017924 0 0.42264973 -0.20345256 0 0 -0.23812112 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::-0.23812112 0.42264973 0 -0.49017924 0 0 -0.20345256 0 0.42264973
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.21132487 0 0 0 0.21132487 0 0 0 0.21132487
+DEAL::0.42264973 -0.20345256 0 0 -0.23812112 0.42264973 0 -0.49017924 0
+DEAL::
+DEAL::3d inverse Jacobians:
+DEAL::1.06233372 0 -1.06233372 -0.00657316 1.30193488 -0.16678741 0.30812381 0.04114567 1.95702733
+DEAL::1.06233372 0 1.06233372 0.00657316 1.30193488 -0.16678741 -0.30812381 0.04114567 1.95702733
+DEAL::1.17770835 0.00230150 0.05442195 0 0.89660927 -0.89660927 -0.01891314 0.38126200 1.70000893
+DEAL::1.17770835 -0.00230150 0.05442195 0 0.89660927 0.89660927 -0.01891314 -0.38126200 1.70000893
+DEAL::0.63754862 0.00023014 -0.06802816 0.00003928 0.58723492 0.03137932 0.06799746 -0.02318770 0.59861565
+DEAL::2.36602540 0 -0.33533464 0 2.36602540 0.14196671 0 0 1.85491639
+DEAL::0.89660927 0.89660927 0 -1.70000893 0.38126200 -0.01891314 -0.05442195 0.00230150 1.17770835
+DEAL::-0.89660927 0.89660927 0 -1.70000893 -0.38126200 -0.01891314 -0.05442195 -0.00230150 1.17770835
+DEAL::-0.03137932 0.58723492 0.00003928 -0.59861565 -0.02318770 0.06799746 0.06802816 0.00023014 0.63754862
+DEAL::0.37899171 2.36602540 0 -1.85491639 0 0 -0.12559531 0 2.36602540
+DEAL::0.16678741 1.30193488 -0.00657316 -1.95702733 0.04114567 0.30812381 1.06233372 0 1.06233372
+DEAL::0.16678741 1.30193488 0.00657316 -1.95702733 0.04114567 -0.30812381 -1.06233372 0 1.06233372
+DEAL::0.89660927 0 0.89660927 0.38126200 -0.01891314 -1.70000893 0.00230150 1.17770835 -0.05442195
+DEAL::1.05454962 0 -1.05454962 -0.30591432 0.04114567 -1.95923683 0.00499864 1.30193488 0.16836194
+DEAL::0.58723492 0.00003928 -0.03137932 -0.02318770 0.06799746 -0.59861565 0.00023014 0.63754862 0.06802816
+DEAL::2.36602540 0 0.37899171 0 0 -1.85491639 0 2.36602540 -0.12559531
+DEAL::1.30193488 -0.00657316 0.16678741 0.04114567 0.30812381 -1.95702733 0 1.06233372 1.06233372
+DEAL::1.30193488 0.00657316 0.16678741 0.04114567 -0.30812381 -1.95702733 0 1.06233372 -1.06233372
+DEAL::0.59861565 0.06799746 -0.02318770 -0.06802816 0.63754862 0.00023014 0.03137932 0.00003928 0.58723492
+DEAL::1.85491639 0 0 -0.33533464 2.36602540 0 0.14196671 0 2.36602540
+DEAL::1.95702733 0.30812381 0.04114567 -1.06233372 1.06233372 0 -0.16678741 -0.00657316 1.30193488
+DEAL::1.95702733 -0.30812381 0.04114567 1.06233372 1.06233372 0 -0.16678741 0.00657316 1.30193488
+DEAL::1.95923683 0.04114567 0.30591432 -0.16836194 1.30193488 -0.00499864 -1.05454962 0 1.05454962
+DEAL::1.70000893 -0.01891314 -0.38126200 0.05442195 1.17770835 -0.00230150 0.89660927 0 0.89660927
+DEAL::1.05454962 -1.05454962 0 0.30591432 1.95923683 0.04114567 -0.00499864 -0.16836194 1.30193488
+DEAL::0.89660927 0.89660927 0 -0.38126200 1.70000893 -0.01891314 -0.00230150 0.05442195 1.17770835
+DEAL::0.58723492 0.03137932 0.00003928 -0.02318770 0.59861565 0.06799746 0.00023014 -0.06802816 0.63754862
+DEAL::2.36602540 0.14196671 0 0 1.85491639 0 0 -0.33533464 2.36602540
+DEAL::1.17770835 0.05429765 0.00242580 -0.01891314 1.69936136 0.38190957 0 -0.89813671 0.89813671
+DEAL::1.30193488 -0.16678741 0.00657316 0.04114567 1.95702733 -0.30812381 0 1.06233372 1.06233372
+DEAL::0.06799746 -0.59861565 -0.02318770 0.63754862 0.06802816 0.00023014 0.00003928 -0.03137932 0.58723492
+DEAL::0 -1.85491639 0 2.36602540 -0.12559531 0 0 0.37899171 2.36602540
+DEAL::0.30812381 -1.95702733 0.04114567 1.06233372 1.06233372 0 -0.00657316 0.16678741 1.30193488
+DEAL::-0.38190957 -1.69936136 -0.01891314 0.89813671 -0.89813671 0 -0.00242580 -0.05429765 1.17770835
+DEAL::-0.01891314 -1.70000893 0.38126200 1.17770835 -0.05442195 0.00230150 0 0.89660927 0.89660927
+DEAL::0.04114567 -1.95923683 -0.30591432 1.30193488 0.16836194 0.00499864 0 -1.05454962 1.05454962
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.08488766 0 0 -1.26740939 2.36602540 0 -1.09662275 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 -1.09662275 0 0 2.08488766 0 0 -1.26740939 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 -1.26740939 0 2.36602540 -1.09662275 0 0 2.08488766
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::1.36213110 2.36602540 0 -2.08488766 0 0 1.01986550 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 1.23775345 0 0 2.11113071 0 0 -1.27030225 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 0.90272038 0 2.36602540 -1.10483122 0 0 2.01292265
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.01292265 0 0 0.90272038 2.36602540 0 -1.10483122 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::0 -2.08488766 0 2.36602540 1.01986550 0 0 1.36213110 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 -1.27030225 0 2.36602540 1.23775345 0 0 2.11113071
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::-0.98491156 2.36602540 0 -2.01292265 0 0 1.01285538 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::0 -2.11113071 0 2.36602540 -1.15685766 0 0 1.35882972 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 0.90515195 0 2.36602540 1.24639776 0 0 2.04007008
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.11113071 0 0 -1.27030225 2.36602540 0 1.23775345 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 -1.10483122 0 0 2.01292265 0 0 0.90272038 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 1.36213110 0 0 -2.08488766 0 2.36602540 1.01986550
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::1.35882972 2.36602540 0 -2.11113071 0 0 -1.15685766 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 1.24639776 0 0 2.04007008 0 0 0.90515195 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 -0.98491156 0 0 -2.01292265 0 2.36602540 1.01285538
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.04007008 0 0 0.90515195 2.36602540 0 1.24639776 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::0 -2.01292265 0 2.36602540 1.01285538 0 0 -0.98491156 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 1.35882972 0 0 -2.11113071 0 2.36602540 -1.15685766
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::-0.98203654 2.36602540 0 -2.04007008 0 0 -1.14937673 0 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::0 -2.04007008 0 2.36602540 -1.14937673 0 0 -0.98203654 2.36602540
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::4.73205081 0 0 0 4.73205081 0 0 0 4.73205081
+DEAL::2.36602540 0 -0.98203654 0 0 -2.04007008 0 2.36602540 -1.14937673
+DEAL::
+DEAL::3d Jacobian gradients:
+DEAL::-0.02643148 0.03004810 -0.89081368 0.03004810 0.17397969 0.04885453 -0.89081368 0.04885453 -0.28361854 0.02453591 0.15443348 0.04296177 0.15443348 -0.00099692 -0.73298331 0.04296177 -0.73298331 -0.02018433 0.25564696 -0.02682012 0.49985198 -0.02682012 0.17397969 0.04885453 0.49985198 0.04885453 -0.28361854
+DEAL::0.02643148 0.03004810 -0.89081368 0.03004810 -0.17397969 -0.04885453 -0.89081368 -0.04885453 0.28361854 0.02453591 -0.15443348 -0.04296177 -0.15443348 -0.00099692 -0.73298331 -0.04296177 -0.73298331 -0.02018433 0.25564696 0.02682012 -0.49985198 0.02682012 0.17397969 0.04885453 -0.49985198 0.04885453 -0.28361854
+DEAL::-0.00108887 0.25526554 -0.77077242 0.25526554 -0.01531514 -0.03142155 -0.77077242 -0.03142155 0.01298562 0.25709041 -0.01610367 -0.02751667 -0.01610367 0.00125264 -0.68284691 -0.02751667 -0.68284691 -0.40415342 0.25709041 0.01823272 -0.02751667 0.01823272 0.40848276 0.89271996 -0.02751667 0.89271996 -0.40415342
+DEAL::-0.00108887 -0.25526554 -0.77077242 -0.25526554 -0.01531514 0.03142155 -0.77077242 0.03142155 0.01298562 -0.25709041 -0.01610367 0.02751667 -0.01610367 -0.00125264 -0.68284691 0.02751667 -0.68284691 0.40415342 0.25709041 -0.01823272 -0.02751667 -0.01823272 0.40848276 -0.89271996 -0.02751667 -0.89271996 -0.40415342
+DEAL::0.28729173 -0.07826379 -2.15979794 -0.07826379 0.21112596 -0.02143230 -2.15979794 -0.02143230 -0.31127040 -0.11604872 0.30841953 -0.03628009 0.30841953 -0.21360499 -2.92366182 -0.03628009 -2.92366182 0.18660499 2.19599189 0.02244116 0.59482489 0.02244116 2.17027806 -0.22013128 0.59482489 -0.22013128 -3.09504876
+DEAL::0 0 -0.94908266 0 0 -0.00325549 -0.94908266 -0.00325549 0.11251211 0 0 -0.00573181 0 0 -1.07652151 -0.00573181 -1.07652151 -0.07524420 0 0 0.07798633 0 0 -0.02888820 0.07798633 -0.02888820 0.87897774
+DEAL::-0.40848276 -0.89271996 -0.01823272 -0.89271996 0.40415342 0.02751667 -0.01823272 0.02751667 -0.25709041 0.00125264 -0.68284691 -0.01610367 -0.68284691 -0.40415342 -0.02751667 -0.01610367 -0.02751667 0.25709041 -0.01531514 -0.03142155 0.25526554 -0.03142155 0.01298562 -0.77077242 0.25526554 -0.77077242 -0.00108887
+DEAL::-0.40848276 0.89271996 0.01823272 0.89271996 0.40415342 0.02751667 0.01823272 0.02751667 -0.25709041 -0.00125264 -0.68284691 -0.01610367 -0.68284691 0.40415342 0.02751667 -0.01610367 0.02751667 -0.25709041 -0.01531514 0.03142155 -0.25526554 0.03142155 0.01298562 -0.77077242 -0.25526554 -0.77077242 -0.00108887
+DEAL::-2.17027806 0.22013128 -0.02244116 0.22013128 3.09504876 -0.59482489 -0.02244116 -0.59482489 -2.19599189 -0.21360499 -2.92366182 0.30841953 -2.92366182 0.18660499 -0.03628009 0.30841953 -0.03628009 -0.11604872 0.21112596 -0.02143230 -0.07826379 -0.02143230 -0.31127040 -2.15979794 -0.07826379 -2.15979794 0.28729173
+DEAL::0 -0.07798633 0 -0.07798633 -0.87897774 0.02888820 0 0.02888820 0 0 -1.06689191 0 -1.06689191 0.20048545 -0.00565150 0 -0.00565150 0 0 -0.00328170 0 -0.00328170 -0.04225420 -0.95307715 0 -0.95307715 0
+DEAL::-0.17397969 -0.04885453 0.02682012 -0.04885453 0.28361854 -0.49985198 0.02682012 -0.49985198 -0.25564696 -0.00099692 -0.73298331 0.15443348 -0.73298331 -0.02018433 0.04296177 0.15443348 0.04296177 0.02453591 0.17397969 0.04885453 0.03004810 0.04885453 -0.28361854 -0.89081368 0.03004810 -0.89081368 -0.02643148
+DEAL::-0.17397969 -0.04885453 -0.02682012 -0.04885453 0.28361854 0.49985198 -0.02682012 0.49985198 -0.25564696 -0.00099692 -0.73298331 -0.15443348 -0.73298331 -0.02018433 -0.04296177 -0.15443348 -0.04296177 0.02453591 -0.17397969 -0.04885453 0.03004810 -0.04885453 0.28361854 -0.89081368 0.03004810 -0.89081368 0.02643148
+DEAL::0.00125264 -0.68284691 -0.01610367 -0.68284691 -0.40415342 -0.02751667 -0.01610367 -0.02751667 0.25709041 -0.01531514 -0.03142155 0.25526554 -0.03142155 0.01298562 -0.77077242 0.25526554 -0.77077242 -0.00108887 -0.40848276 -0.89271996 -0.01823272 -0.89271996 0.40415342 0.02751667 -0.01823272 0.02751667 -0.25709041
+DEAL::0.06812144 -0.91562243 0.03461186 -0.91562243 0.28361854 -0.04885453 0.03461186 -0.04885453 -0.17397969 0.02675938 -0.04693117 -0.16759993 -0.04693117 -0.02018433 -0.73298331 -0.16759993 -0.73298331 -0.00099692 -0.25564696 0.49985198 -0.02682012 0.49985198 0.28361854 -0.04885453 -0.02682012 -0.04885453 -0.17397969
+DEAL::-0.21360499 -2.92366182 0.30841953 -2.92366182 0.18660499 -0.03628009 0.30841953 -0.03628009 -0.11604872 0.21112596 -0.02143230 -0.07826379 -0.02143230 -0.31127040 -2.15979794 -0.07826379 -2.15979794 0.28729173 -2.17027806 0.22013128 -0.02244116 0.22013128 3.09504876 -0.59482489 -0.02244116 -0.59482489 -2.19599189
+DEAL::0 -1.06689191 0 -1.06689191 0.20048545 -0.00565150 0 -0.00565150 0 0 -0.00328170 0 -0.00328170 -0.04225420 -0.95307715 0 -0.95307715 0 0 -0.07798633 0 -0.07798633 -0.87897774 0.02888820 0 0.02888820 0
+DEAL::-0.00099692 -0.73298331 0.15443348 -0.73298331 -0.02018433 0.04296177 0.15443348 0.04296177 0.02453591 0.17397969 0.04885453 0.03004810 0.04885453 -0.28361854 -0.89081368 0.03004810 -0.89081368 -0.02643148 -0.17397969 -0.04885453 0.02682012 -0.04885453 0.28361854 -0.49985198 0.02682012 -0.49985198 -0.25564696
+DEAL::-0.00099692 -0.73298331 -0.15443348 -0.73298331 -0.02018433 -0.04296177 -0.15443348 -0.04296177 0.02453591 -0.17397969 -0.04885453 0.03004810 -0.04885453 0.28361854 -0.89081368 0.03004810 -0.89081368 0.02643148 -0.17397969 -0.04885453 -0.02682012 -0.04885453 0.28361854 0.49985198 -0.02682012 0.49985198 -0.25564696
+DEAL::-3.09504876 0.59482489 -0.22013128 0.59482489 2.19599189 0.02244116 -0.22013128 0.02244116 2.17027806 -0.31127040 -2.15979794 -0.02143230 -2.15979794 0.28729173 -0.07826379 -0.02143230 -0.07826379 0.21112596 0.18660499 -0.03628009 -2.92366182 -0.03628009 -0.11604872 0.30841953 -2.92366182 0.30841953 -0.21360499
+DEAL::0.87897774 0.07798633 -0.02888820 0.07798633 0 0 -0.02888820 0 0 0.11251211 -0.94908266 -0.00325549 -0.94908266 0 0 -0.00325549 0 0 -0.07524420 -0.00573181 -1.07652151 -0.00573181 0 0 -1.07652151 0 0
+DEAL::-0.28361854 0.49985198 0.04885453 0.49985198 0.25564696 -0.02682012 0.04885453 -0.02682012 0.17397969 -0.28361854 -0.89081368 0.04885453 -0.89081368 -0.02643148 0.03004810 0.04885453 0.03004810 0.17397969 -0.02018433 0.04296177 -0.73298331 0.04296177 0.02453591 0.15443348 -0.73298331 0.15443348 -0.00099692
+DEAL::-0.28361854 -0.49985198 0.04885453 -0.49985198 0.25564696 0.02682012 0.04885453 0.02682012 0.17397969 0.28361854 -0.89081368 -0.04885453 -0.89081368 0.02643148 0.03004810 -0.04885453 0.03004810 -0.17397969 -0.02018433 -0.04296177 -0.73298331 -0.04296177 0.02453591 -0.15443348 -0.73298331 -0.15443348 -0.00099692
+DEAL::-0.28361854 0.04885453 0.49985198 0.04885453 0.17397969 -0.02682012 0.49985198 -0.02682012 0.25564696 -0.02018433 -0.73298331 0.04693117 -0.73298331 -0.00099692 0.16759993 0.04693117 0.16759993 0.02675938 -0.28361854 0.04885453 -0.91562243 0.04885453 0.17397969 0.03461186 -0.91562243 0.03461186 -0.06812144
+DEAL::-0.40415342 -0.02751667 -0.89271996 -0.02751667 0.25709041 -0.01823272 -0.89271996 -0.01823272 0.40848276 0.01298562 -0.77077242 0.03142155 -0.77077242 -0.00108887 -0.25526554 0.03142155 -0.25526554 -0.01531514 0.40415342 0.02751667 -0.68284691 0.02751667 -0.25709041 -0.01610367 -0.68284691 -0.01610367 -0.00125264
+DEAL::-0.06812144 -0.91562243 0.03461186 -0.91562243 -0.28361854 0.04885453 0.03461186 0.04885453 0.17397969 0.25564696 0.49985198 -0.02682012 0.49985198 -0.28361854 0.04885453 -0.02682012 0.04885453 0.17397969 0.02675938 0.04693117 0.16759993 0.04693117 -0.02018433 -0.73298331 0.16759993 -0.73298331 -0.00099692
+DEAL::-0.00125264 -0.68284691 -0.01610367 -0.68284691 0.40415342 0.02751667 -0.01610367 0.02751667 -0.25709041 0.40848276 -0.89271996 -0.01823272 -0.89271996 -0.40415342 -0.02751667 -0.01823272 -0.02751667 0.25709041 -0.01531514 0.03142155 -0.25526554 0.03142155 0.01298562 -0.77077242 -0.25526554 -0.77077242 -0.00108887
+DEAL::-0.21360499 -2.92366182 0.30841953 -2.92366182 0.18660499 -0.03628009 0.30841953 -0.03628009 -0.11604872 2.17027806 -0.22013128 0.02244116 -0.22013128 -3.09504876 0.59482489 0.02244116 0.59482489 2.19599189 0.21112596 -0.02143230 -0.07826379 -0.02143230 -0.31127040 -2.15979794 -0.07826379 -2.15979794 0.28729173
+DEAL::0 -1.07652151 0 -1.07652151 -0.07524420 -0.00573181 0 -0.00573181 0 0 -0.02888820 0 -0.02888820 0.87897774 0.07798633 0 0.07798633 0 0 -0.00325549 0 -0.00325549 0.11251211 -0.94908266 0 -0.94908266 0
+DEAL::-0.00108887 -0.77077242 0.25149939 -0.77077242 0.01298562 -0.03948038 0.25149939 -0.03948038 -0.01508752 0.25709041 -0.02751667 0.01823272 -0.02751667 -0.40415342 0.89271996 0.01823272 0.89271996 0.40848276 0.25709041 -0.02751667 -0.01564680 -0.02751667 -0.40415342 -0.81716081 -0.01564680 -0.81716081 0.01263333
+DEAL::-0.00099692 -0.73298331 -0.15443348 -0.73298331 -0.02018433 -0.04296177 -0.15443348 -0.04296177 0.02453591 0.17397969 0.04885453 0.02682012 0.04885453 -0.28361854 -0.49985198 0.02682012 -0.49985198 0.25564696 -0.17397969 -0.04885453 0.03004810 -0.04885453 0.28361854 -0.89081368 0.03004810 -0.89081368 0.02643148
+DEAL::-0.31127040 -2.15979794 -0.02143230 -2.15979794 0.28729173 -0.07826379 -0.02143230 -0.07826379 0.21112596 3.09504876 -0.59482489 0.22013128 -0.59482489 -2.19599189 -0.02244116 0.22013128 -0.02244116 -2.17027806 0.18660499 -0.03628009 -2.92366182 -0.03628009 -0.11604872 0.30841953 -2.92366182 0.30841953 -0.21360499
+DEAL::-0.04225420 -0.95307715 -0.00328170 -0.95307715 0 0 -0.00328170 0 0 -0.87897774 0.02888820 -0.07798633 0.02888820 0 0 -0.07798633 0 0 0.20048545 -0.00565150 -1.06689191 -0.00565150 0 0 -1.06689191 0 0
+DEAL::-0.28361854 -0.89081368 0.04885453 -0.89081368 -0.02643148 0.03004810 0.04885453 0.03004810 0.17397969 0.28361854 -0.49985198 -0.04885453 -0.49985198 -0.25564696 0.02682012 -0.04885453 0.02682012 -0.17397969 -0.02018433 0.04296177 -0.73298331 0.04296177 0.02453591 0.15443348 -0.73298331 0.15443348 -0.00099692
+DEAL::0.40415342 -0.81716081 0.02751667 -0.81716081 -0.01263333 -0.01564680 0.02751667 -0.01564680 -0.25709041 0.40415342 0.89271996 0.02751667 0.89271996 -0.40848276 0.01823272 0.02751667 0.01823272 -0.25709041 0.01298562 0.03948038 -0.77077242 0.03948038 -0.01508752 -0.25149939 -0.77077242 -0.25149939 -0.00108887
+DEAL::0.01298562 -0.77077242 -0.03142155 -0.77077242 -0.00108887 0.25526554 -0.03142155 0.25526554 -0.01531514 0.40415342 0.02751667 -0.89271996 0.02751667 -0.25709041 -0.01823272 -0.89271996 -0.01823272 -0.40848276 -0.40415342 -0.02751667 -0.68284691 -0.02751667 0.25709041 -0.01610367 -0.68284691 -0.01610367 0.00125264
+DEAL::-0.02018433 -0.73298331 -0.04693117 -0.73298331 -0.00099692 -0.16759993 -0.04693117 -0.16759993 0.02675938 0.28361854 -0.04885453 0.49985198 -0.04885453 -0.17397969 -0.02682012 0.49985198 -0.02682012 -0.25564696 0.28361854 -0.04885453 -0.91562243 -0.04885453 -0.17397969 0.03461186 -0.91562243 0.03461186 0.06812144
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0.54605963 0.24864496 0.18681987 0.24864496 0 0 0.18681987 0 0 0.26637736 -0.81608670 0.08192707 -0.81608670 0 0 0.08192707 0 0 0.35602618 0.14023479 -0.86572412 0.14023479 0 0 -0.86572412 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.86572412 0 -0.86572412 0.35602618 0.14023479 0 0.14023479 0 0 0.18681987 0 0.18681987 0.54605963 0.24864496 0 0.24864496 0 0 0.08192707 0 0.08192707 0.26637736 -0.81608670 0 -0.81608670 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 -0.81608670 0 0 0.08192707 -0.81608670 0.08192707 0.26637736 0 0 0.14023479 0 0 -0.86572412 0.14023479 -0.86572412 0.35602618 0 0 0.24864496 0 0 0.18681987 0.24864496 0.18681987 0.54605963
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.24864496 0 -0.24864496 -0.54605963 -0.18681987 0 -0.18681987 0 0 -0.81516872 0 -0.81516872 0.43619691 0.12826238 0 0.12826238 0 0 0.08583479 0 0.08583479 0.21841379 -0.83705776 0 -0.83705776 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.83302117 0 -0.83302117 -0.37593015 -0.15112370 0 -0.15112370 0 0 -0.21066921 0 -0.21066921 0.51414291 0.23924169 0 0.23924169 0 0 -0.09238584 0 -0.09238584 0.25313802 -0.80957560 0 -0.80957560 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 -0.86594085 0 0 -0.06324646 -0.86594085 -0.06324646 -0.22375384 0 0 -0.10154933 0 0 -0.89343917 -0.10154933 -0.89343917 0.42019831 0 0 -0.18005325 0 0 0.20713957 -0.18005325 0.20713957 0.64046101
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0.64046101 -0.18005325 0.20713957 -0.18005325 0 0 0.20713957 0 0 -0.22375384 -0.86594085 -0.06324646 -0.86594085 0 0 -0.06324646 0 0 0.42019831 -0.10154933 -0.89343917 -0.10154933 0 0 -0.89343917 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0.21841379 -0.83705776 0.08583479 -0.83705776 0 0 0.08583479 0 0 -0.54605963 -0.18681987 -0.24864496 -0.18681987 0 0 -0.24864496 0 0 0.43619691 0.12826238 -0.81516872 0.12826238 0 0 -0.81516872 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 -0.80957560 0 0 -0.09238584 -0.80957560 -0.09238584 0.25313802 0 0 -0.15112370 0 0 -0.83302117 -0.15112370 -0.83302117 -0.37593015 0 0 0.23924169 0 0 -0.21066921 0.23924169 -0.21066921 0.51414291
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0.18005325 0 0.18005325 -0.64046101 -0.20713957 0 -0.20713957 0 0 -0.91291723 0 -0.91291723 -0.37637647 -0.10488959 0 -0.10488959 0 0 -0.06215622 0 -0.06215622 0.24940632 -0.85786109 0 -0.85786109 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::-0.23270093 -0.81965260 -0.09450329 -0.81965260 0 0 -0.09450329 0 0 -0.51414291 0.21066921 -0.23924169 0.21066921 0 0 -0.23924169 0 0 0.40987944 -0.14463630 -0.80872832 -0.14463630 0 0 -0.80872832 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 -0.85764253 0 0 0.07132048 -0.85764253 0.07132048 -0.21306033 0 0 0.10943440 0 0 -0.85526057 0.10943440 -0.85526057 -0.44401686 0 0 -0.17324398 0 0 -0.23358292 -0.17324398 -0.23358292 0.60371825
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0.51414291 0.23924169 -0.21066921 0.23924169 0 0 -0.21066921 0 0 0.25313802 -0.80957560 -0.09238584 -0.80957560 0 0 -0.09238584 0 0 -0.37593015 -0.15112370 -0.83302117 -0.15112370 0 0 -0.83302117 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.89343917 0 -0.89343917 0.42019831 -0.10154933 0 -0.10154933 0 0 0.20713957 0 0.20713957 0.64046101 -0.18005325 0 -0.18005325 0 0 -0.06324646 0 -0.06324646 -0.22375384 -0.86594085 0 -0.86594085 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.81516872 0 -0.81516872 0.43619691 0.12826238 0 0.12826238 0 0 0.08583479 0 0.08583479 0.21841379 -0.83705776 0 -0.83705776 0 0 -0.24864496 0 -0.24864496 -0.54605963 -0.18681987 0 -0.18681987 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.23924169 0 -0.23924169 -0.51414291 0.21066921 0 0.21066921 0 0 -0.80872832 0 -0.80872832 0.40987944 -0.14463630 0 -0.14463630 0 0 -0.09450329 0 -0.09450329 -0.23270093 -0.81965260 0 -0.81965260 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.85526057 0 -0.85526057 -0.44401686 0.10943440 0 0.10943440 0 0 -0.23358292 0 -0.23358292 0.60371825 -0.17324398 0 -0.17324398 0 0 0.07132048 0 0.07132048 -0.21306033 -0.85764253 0 -0.85764253 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.91291723 0 -0.91291723 -0.37637647 -0.10488959 0 -0.10488959 0 0 -0.06215622 0 -0.06215622 0.24940632 -0.85786109 0 -0.85786109 0 0 0.18005325 0 0.18005325 -0.64046101 -0.20713957 0 -0.20713957 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0.60371825 -0.17324398 -0.23358292 -0.17324398 0 0 -0.23358292 0 0 -0.21306033 -0.85764253 0.07132048 -0.85764253 0 0 0.07132048 0 0 -0.44401686 0.10943440 -0.85526057 0.10943440 0 0 -0.85526057 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0.24940632 -0.85786109 -0.06215622 -0.85786109 0 0 -0.06215622 0 0 -0.64046101 -0.20713957 0.18005325 -0.20713957 0 0 0.18005325 0 0 -0.37637647 -0.10488959 -0.91291723 -0.10488959 0 0 -0.91291723 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.80872832 0 -0.80872832 0.40987944 -0.14463630 0 -0.14463630 0 0 -0.09450329 0 -0.09450329 -0.23270093 -0.81965260 0 -0.81965260 0 0 -0.23924169 0 -0.23924169 -0.51414291 0.21066921 0 0.21066921 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0.17324398 0 0.17324398 -0.60371825 0.23358292 0 0.23358292 0 0 -0.90100117 0 -0.90100117 -0.35392919 0.11827975 0 0.11827975 0 0 0.06843342 0 0.06843342 -0.26625377 -0.83866871 0 -0.83866871 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::-0.26625377 -0.83866871 0.06843342 -0.83866871 0 0 0.06843342 0 0 -0.60371825 0.23358292 0.17324398 0.23358292 0 0 0.17324398 0 0 -0.35392919 0.11827975 -0.90100117 0.11827975 0 0 -0.90100117 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+DEAL::0 -0.90100117 0 -0.90100117 -0.35392919 0.11827975 0 0.11827975 0 0 0.06843342 0 0.06843342 -0.26625377 -0.83866871 0 -0.83866871 0 0 0.17324398 0 0.17324398 -0.60371825 0.23358292 0 0.23358292 0
+DEAL::