* in each quadrature point.
*/
update_volume_elements = 0x4000,
- /**
- * Compute the JxW values
- * on faces for the cell mapping
- * and not the face mapping!
- * This functionality is required
- * for the Piola mapping which
- * is used in conjunction with
- * H_div subspaces like RT and ABF.
- */
- update_cell_JxW_values = 0x8000,
/**
* Update the location of the
* mapped generalized support
// $Id$
// Version: $Name: $
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
*/
std::vector<Tensor<2,spacedim> > inverse_jacobians;
- /**
- * Store an array of weights
- * times the Jacobi determinant
- * at the quadrature points. This
- * function is reset each time
- * reinit() is called. The
- * Jacobi determinant is actually
- * the reciprocal value of the
- * Jacobi matrices stored in this
- * class, see the general
- * documentation of this class
- * for more information.
- *
- * In contrast to JxW_values,
- * this vector uses the transformation
- * of the cell even in case the
- * corresponding FEValues object
- * refers to a face. Currently the
- * only purpose is to provide
- * exactly this value to the
- * transformation which is used
- * for the PolyTensor elements.
- */
- std::vector<double> cell_JxW_values;
-
/**
* Array of quadrature points. This array
* is set up upon calling reinit() and
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &boundary_form,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const = 0;
+ std::vector<Point<spacedim> > &normal_vectors) const = 0;
/**
* See above.
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &boundary_form,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const = 0;
+ std::vector<Point<spacedim> > &normal_vectors) const = 0;
/**
* Give class @p FEValues access
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &boundary_form,
- std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const ;
+ std::vector<Point<spacedim> > &normal_vectors) const ;
virtual void
fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
const unsigned int face_no,
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &boundary_form,
- std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const ;
+ std::vector<Point<spacedim> > &normal_vectors) const ;
virtual void
transform (const VectorSlice<const std::vector<Tensor<1,dim> > > input,
/* -------------- declaration of explicit specializations ------------- */
-#ifndef DOXYGEN
-
-template <> void MappingCartesian<1>::fill_fe_face_values (
- const Triangulation<1>::cell_iterator &,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double>&) const;
-
-template <> void MappingCartesian<1>::fill_fe_subface_values (
- const Triangulation<1>::cell_iterator &,
- const unsigned,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double>&) const;
-
-#endif // DOXYGEN
-
DEAL_II_NAMESPACE_CLOSE
#endif
typename std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
typename std::vector<Tensor<1,dim> > &exterior_form,
- typename std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const ;
+ typename std::vector<Point<dim> > &normal_vectors) const ;
/**
* Implementation of the interface in
typename std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
typename std::vector<Tensor<1,dim> > &exterior_form,
- typename std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const ;
+ typename std::vector<Point<dim> > &normal_vectors) const ;
/**
* For <tt>dim=2,3</tt>. Append the
unsigned int n_shape_functions;
};
- protected:
-
/**
* Declare a convenience typedef
* for the class that describes
typename std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
typename std::vector<Tensor<1,dim> > &boundary_form,
- typename std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const ;
+ typename std::vector<Point<spacedim> > &normal_vectors) const ;
/**
* Implementation of the interface in
typename std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
typename std::vector<Tensor<1,dim> > &boundary_form,
- typename std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const ;
+ typename std::vector<Point<spacedim> > &normal_vectors) const ;
/**
* Compute shape values and/or
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &boundary_form,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const;
+ std::vector<Point<spacedim> > &normal_vectors) const;
/**
* Compute shape values and/or
/* -------------- declaration of explicit specializations ------------- */
-#ifndef DOXYGEN
-
-template <> void MappingQ1<1>::compute_fill_face (
- const Triangulation<1>::cell_iterator &,
- const unsigned int,
- const unsigned int,
- const unsigned int,
- const DataSetDescriptor,
- const std::vector<double> &,
- InternalData &,
- std::vector<Point<1> > &,
- std::vector<double> &,
- std::vector<Tensor<1,1> > &,
- std::vector<Point<1> > &,
- std::vector<double> &) const;
-
-template <> void MappingQ1<1>::fill_fe_face_values (
- const Triangulation<1>::cell_iterator &,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double>&) const;
-
-template <> void MappingQ1<1>::fill_fe_subface_values (
- const Triangulation<1>::cell_iterator &,
- const unsigned,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double>&) const;
-
-#endif // DOXYGEN
DEAL_II_NAMESPACE_CLOSE
if (flags & update_values)
out |= update_values | update_covariant_transformation
| update_piola
- | update_cell_JxW_values
| update_JxW_values;
if (flags & update_gradients)
out |= update_gradients | update_covariant_transformation
| update_piola
- | update_cell_JxW_values
| update_JxW_values;
//TODO: Set update flags appropriately and figure out, how the second
// derivatives for the RT elements can be computed correctly.
const UpdateFlags flags(fe_data.update_once | fe_data.update_each);
-// Assert(mapping_type == independent
-// || ( mapping_type == independent_on_cartesian
-// && dynamic_cast<const MappingCartesian<dim>*>(&mapping) != 0),
-// ExcNotImplemented());
//TODO: Size assertions
// Create table with sign changes, due to the special structure of the RT elements.
}
+// Since this is a vector valued element, we cannot interpolate a
+// scalar function
template <int dim>
void
FE_RaviartThomas<dim>::interpolate(
template <int dim>
std::vector<std::pair<unsigned int, unsigned int> >
-FE_RaviartThomasNodal<dim>::
-hp_vertex_dof_identities (const FiniteElement<dim> &fe_other) const
+FE_RaviartThomasNodal<dim>::hp_vertex_dof_identities (
+ const FiniteElement<dim> &fe_other) const
{
// we can presently only compute these
// identities if both FEs are
template <int dim>
std::vector<std::pair<unsigned int, unsigned int> >
-FE_RaviartThomasNodal<dim>::
-hp_quad_dof_identities (const FiniteElement<dim> &fe_other) const
+FE_RaviartThomasNodal<dim>::hp_quad_dof_identities (
+ const FiniteElement<dim>& fe_other) const
{
// we can presently only compute
// these identities if both FEs are
template <int dim>
FiniteElementDomination::Domination
-FE_RaviartThomasNodal<dim>::
-compare_for_face_domination (const FiniteElement<dim> &fe_other) const
+FE_RaviartThomasNodal<dim>::compare_for_face_domination (
+ const FiniteElement<dim>& fe_other) const
{
if (const FE_RaviartThomasNodal<dim> *fe_q_other
= dynamic_cast<const FE_RaviartThomasNodal<dim>*>(&fe_other))
template <>
void
-FE_RaviartThomasNodal<1>::
-get_face_interpolation_matrix (const FiniteElement<1> &/*x_source_fe*/,
- FullMatrix<double> &/*interpolation_matrix*/) const
+FE_RaviartThomasNodal<1>::get_face_interpolation_matrix (
+ const FiniteElement<1> &/*x_source_fe*/,
+ FullMatrix<double> &/*interpolation_matrix*/) const
{
- Assert (false,
- FiniteElement<1>::
- ExcInterpolationNotImplemented ());
+ Assert (false, ExcImpossibleInDim(1));
}
template <>
void
-FE_RaviartThomasNodal<1>::
-get_subface_interpolation_matrix (const FiniteElement<1> &/*x_source_fe*/,
- const unsigned int /*subface*/,
- FullMatrix<double> &/*interpolation_matrix*/) const
+FE_RaviartThomasNodal<1>::get_subface_interpolation_matrix (
+ const FiniteElement<1> &/*x_source_fe*/,
+ const unsigned int /*subface*/,
+ FullMatrix<double> &/*interpolation_matrix*/) const
{
- Assert (false,
- FiniteElement<1>::
- ExcInterpolationNotImplemented ());
+ Assert (false, ExcImpossibleInDim(1));
}
#endif
template <int dim>
void
-FE_RaviartThomasNodal<dim>::
-get_face_interpolation_matrix (const FiniteElement<dim> &x_source_fe,
- FullMatrix<double> &interpolation_matrix) const
+FE_RaviartThomasNodal<dim>::get_face_interpolation_matrix (
+ const FiniteElement<dim> &x_source_fe,
+ FullMatrix<double> &interpolation_matrix) const
{
// this is only implemented, if the
// source FE is also a
template <int dim>
void
-FE_RaviartThomasNodal<dim>::
-get_subface_interpolation_matrix (const FiniteElement<dim> &x_source_fe,
- const unsigned int subface,
- FullMatrix<double> &interpolation_matrix) const
+FE_RaviartThomasNodal<dim>::get_subface_interpolation_matrix (
+ const FiniteElement<dim> &x_source_fe,
+ const unsigned int subface,
+ FullMatrix<double> &interpolation_matrix) const
{
// this is only implemented, if the
// source FE is also a
// $Id$
// Version: $Name$
//
-// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors
+// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
// the reference element to the global
// coordinate system.
base_data.JxW_values = data.JxW_values;
- base_data.cell_JxW_values = data.cell_JxW_values;
// Make sure that in the
// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
if (flags & update_normal_vectors)
this->normal_vectors.resize(n_quadrature_points);
- if (flags & update_cell_JxW_values)
- this->cell_JxW_values.resize(n_quadrature_points);
-
if (flags & update_cell_normal_vectors)
this->cell_normal_vectors.resize(n_quadrature_points);
}
MemoryConsumption::memory_consumption (this->quadrature_points) +
MemoryConsumption::memory_consumption (this->normal_vectors) +
MemoryConsumption::memory_consumption (this->boundary_forms) +
- MemoryConsumption::memory_consumption (this->cell_JxW_values) +
sizeof(this->update_flags) +
MemoryConsumption::memory_consumption (n_quadrature_points) +
MemoryConsumption::memory_consumption (dofs_per_cell) +
this->quadrature_points,
this->JxW_values,
this->boundary_forms,
- this->normal_vectors,
- this->cell_JxW_values);
+ this->normal_vectors);
this->get_fe().fill_fe_face_values(this->get_mapping(),
*this->present_cell, face_no,
this->quadrature_points,
this->JxW_values,
this->boundary_forms,
- this->normal_vectors,
- this->cell_JxW_values);
+ this->normal_vectors);
this->get_fe().fill_fe_subface_values(this->get_mapping(),
*this->present_cell,
+#if (deal_II_dimension == 1)
+
+template <int dim, int spacedim>
+void
+MappingCartesian<dim,spacedim>::fill_fe_face_values (
+ const typename Triangulation<dim,spacedim>::cell_iterator &,
+ const unsigned int,
+ const Quadrature<dim-1>&,
+ typename Mapping<dim,spacedim>::InternalDataBase&,
+ std::vector<Point<dim> >&,
+ std::vector<double>&,
+ std::vector<Tensor<1,dim> >&,
+ std::vector<Point<spacedim> >&) const
+{
+ Assert(false, ExcNotImplemented());
+}
+
+
+template <int dim, int spacedim>
+void
+MappingCartesian<dim,spacedim>::fill_fe_subface_values (
+ const typename Triangulation<dim,spacedim>::cell_iterator &,
+ const unsigned int,
+ const unsigned int,
+ const Quadrature<dim-1>&,
+ typename Mapping<dim,spacedim>::InternalDataBase&,
+ std::vector<Point<dim> >&,
+ std::vector<double>&,
+ std::vector<Tensor<1,dim> >&,
+ std::vector<Point<spacedim> >&) const
+{
+ Assert(false, ExcNotImplemented());
+}
+
+
+#else
+
+// Implementation for dim != 1
+
template<int dim, int spacedim>
void
-MappingCartesian<dim, spacedim>::fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int face_no,
- const Quadrature<dim-1> &q,
- typename Mapping<dim, spacedim>::InternalDataBase &mapping_data,
- std::vector<Point<dim> > &quadrature_points,
- std::vector<double> &JxW_values,
- std::vector<Tensor<1,dim> > &boundary_forms,
- std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &/*cell_JxW_values*/) const
+MappingCartesian<dim, spacedim>::fill_fe_face_values (
+ const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ const unsigned int face_no,
+ const Quadrature<dim-1> &q,
+ typename Mapping<dim, spacedim>::InternalDataBase &mapping_data,
+ std::vector<Point<dim> > &quadrature_points,
+ std::vector<double> &JxW_values,
+ std::vector<Tensor<1,dim> > &boundary_forms,
+ std::vector<Point<spacedim> > &normal_vectors) const
{
// convert data object to internal
// data for this class. fails with
template<int dim, int spacedim>
void
-MappingCartesian<dim, spacedim>::fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int face_no,
- const unsigned int sub_no,
- const Quadrature<dim-1> &q,
- typename Mapping<dim, spacedim>::InternalDataBase &mapping_data,
- std::vector<Point<dim> > &quadrature_points,
- std::vector<double> &JxW_values,
- std::vector<Tensor<1,dim> > &boundary_forms,
- std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &/*cell_JxW_values*/) const
+MappingCartesian<dim, spacedim>::fill_fe_subface_values (
+ const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ const unsigned int face_no,
+ const unsigned int sub_no,
+ const Quadrature<dim-1> &q,
+ typename Mapping<dim, spacedim>::InternalDataBase &mapping_data,
+ std::vector<Point<dim> > &quadrature_points,
+ std::vector<double> &JxW_values,
+ std::vector<Tensor<1,dim> > &boundary_forms,
+ std::vector<Point<spacedim> > &normal_vectors) const
{
// convert data object to internal
// data for this class. fails with
}
}
-
-#if (deal_II_dimension == 1)
-
-template <>
-void
-MappingCartesian<1>::fill_fe_face_values (const Triangulation<1>::cell_iterator &,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-template <>
-void
-MappingCartesian<1>::fill_fe_subface_values (const Triangulation<1>::cell_iterator &,
- const unsigned,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
-}
+
#endif
-
+
template<int dim, int spacedim>
void
MappingCartesian<dim,spacedim>::transform (
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &exterior_forms,
- std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const
+ std::vector<Point<dim> > &normal_vectors) const
{
// convert data object to internal
// data for this class. fails with
q.get_weights(),
*p_data,
quadrature_points, JxW_values,
- exterior_forms, normal_vectors,
- cell_JxW_values);
-
- // TODO: Verify implementation of cell_JxW_values
+ exterior_forms, normal_vectors);
}
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &exterior_forms,
- std::vector<Point<dim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const
+ std::vector<Point<dim> > &normal_vectors) const
{
// convert data object to internal
// data for this class. fails with
q.get_weights(),
*p_data,
quadrature_points, JxW_values,
- exterior_forms, normal_vectors,
- cell_JxW_values);
-
- // TODO: Verify implementation of cell_JxW_values ...
+ exterior_forms, normal_vectors);
}
| update_contravariant_transformation
| update_JxW_values
| update_cell_normal_vectors
- | update_cell_JxW_values
| update_boundary_forms
| update_normal_vectors
| update_volume_elements
// Therefore these values have to
// updated for each cell.
if (out & update_contravariant_transformation)
- out |= update_JxW_values | update_cell_JxW_values;
+ out |= update_JxW_values;
if (out & update_cell_normal_vectors)
out |= update_JxW_values | update_cell_normal_vectors;
std::vector<Point<2> >&,
std::vector<double>&,
std::vector<Tensor<1,2> > &,
- std::vector<Point<3> > &,
- std::vector<double>&) const
+ std::vector<Point<3> > &) const
{
Assert(false, ExcNotImplemented());
}
#endif
+#if (deal_II_dimension == 1)
+
+template <int dim, int spacedim>
+void
+MappingQ1<dim,spacedim>::compute_fill_face (
+ const typename Triangulation<dim,spacedim>::cell_iterator &,
+ const unsigned int,
+ const unsigned int,
+ const unsigned int,
+ const DataSetDescriptor,
+ const std::vector<double> &,
+ InternalData &,
+ std::vector<Point<dim> > &,
+ std::vector<double> &,
+ std::vector<Tensor<1,dim> > &,
+ std::vector<Point<spacedim> > &) const
+{
+ Assert(false, ExcNotImplemented());
+}
+
+
+template <int dim,int spacedim>
+void
+MappingQ1<dim,spacedim>::fill_fe_face_values (
+ const typename Triangulation<dim,spacedim>::cell_iterator &,
+ const unsigned,
+ const Quadrature<dim-1>&,
+ typename Mapping<dim,spacedim>::InternalDataBase&,
+ std::vector<Point<dim> >&,
+ std::vector<double>&,
+ std::vector<Tensor<1,dim> >&,
+ std::vector<Point<spacedim> >&) const
+{
+ Assert(false, ExcNotImplemented());
+}
+
+
+template <int dim,int spacedim>
+void
+MappingQ1<dim,spacedim>::fill_fe_subface_values (
+ const typename Triangulation<dim,spacedim>::cell_iterator &,
+ const unsigned,
+ const unsigned,
+ const Quadrature<dim-1>&,
+ typename Mapping<dim,spacedim>::InternalDataBase&,
+ std::vector<Point<dim> >&,
+ std::vector<double>&,
+ std::vector<Tensor<1,dim> >&,
+ std::vector<Point<spacedim> >&) const
+{
+ Assert(false, ExcNotImplemented());
+}
+
+
+#else
+// Implementation for 2D and 3D
+
template<int dim, int spacedim>
void
-MappingQ1<dim,spacedim>::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,
- const DataSetDescriptor data_set,
- const std::vector<double> &weights,
- InternalData &data,
- std::vector<Point<dim> > &quadrature_points,
- std::vector<double> &JxW_values,
- std::vector<Tensor<1,dim> > &boundary_forms,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const
+MappingQ1<dim,spacedim>::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,
+ const DataSetDescriptor data_set,
+ const std::vector<double> &weights,
+ InternalData &data,
+ std::vector<Point<dim> > &quadrature_points,
+ std::vector<double> &JxW_values,
+ std::vector<Tensor<1,dim> > &boundary_forms,
+ std::vector<Point<spacedim> > &normal_vectors) const
{
compute_fill (cell, n_q_points, data_set, data, quadrature_points);
normal_vectors[i] = boundary_forms[i] / f;
}
}
-
- // If the Piola transformation is to be used, the
- // new flag, update_cell_JxW_values has to be set.
- // It triggers the creation of values for the determinant
- // of the mapping function on
- if (update_flags & update_cell_JxW_values)
- {
- Assert (cell_JxW_values.size() == n_q_points,
- ExcDimensionMismatch(cell_JxW_values.size(), n_q_points));
- Assert (data.contravariant.size() == n_q_points,
- ExcDimensionMismatch(data.contravariant.size(), n_q_points));
- Assert (weights.size() == n_q_points,
- ExcDimensionMismatch(weights.size(), n_q_points));
- for (unsigned int point=0; point<n_q_points; ++point)
- cell_JxW_values[point]
- = determinant(data.contravariant[point])*weights[point];
- }
}
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &boundary_forms,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const
+ std::vector<Point<spacedim> > &normal_vectors) const
{
// ensure that the following cast is really correct:
Assert (dynamic_cast<InternalData *>(&mapping_data) != 0,
quadrature_points,
JxW_values,
boundary_forms,
- normal_vectors,
- cell_JxW_values);
+ normal_vectors);
}
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values,
std::vector<Tensor<1,dim> > &boundary_forms,
- std::vector<Point<spacedim> > &normal_vectors,
- std::vector<double> &cell_JxW_values) const
+ std::vector<Point<spacedim> > &normal_vectors) const
{
// ensure that the following cast is really correct:
Assert (dynamic_cast<InternalData *>(&mapping_data) != 0,
quadrature_points,
JxW_values,
boundary_forms,
- normal_vectors,
- cell_JxW_values);
-}
-
-
-#if (deal_II_dimension == 1)
-
-template <>
-void
-MappingQ1<1>::compute_fill_face (const Triangulation<1>::cell_iterator &,
- const unsigned int,
- const unsigned int,
- const unsigned int,
- const DataSetDescriptor,
- const std::vector<double> &,
- InternalData &,
- std::vector<Point<1> > &,
- std::vector<double> &,
- std::vector<Tensor<1,1> > &,
- std::vector<Point<1> > &,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-template <>
-void
-MappingQ1<1>::fill_fe_face_values (const Triangulation<1>::cell_iterator &,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-template <>
-void
-MappingQ1<1>::fill_fe_subface_values (const Triangulation<1>::cell_iterator &,
- const unsigned,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<1> >&,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-template <>
-void
-MappingQ1<1,2>::compute_fill_face (const Triangulation<1,2>::cell_iterator &,
- const unsigned int,
- const unsigned int,
- const unsigned int,
- const DataSetDescriptor,
- const std::vector<double> &,
- InternalData &,
- std::vector<Point<1> > &,
- std::vector<double> &,
- std::vector<Tensor<1,1> > &,
- std::vector<Point<2> > &,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-template <>
-void
-MappingQ1<1,2>::fill_fe_face_values (const Triangulation<1,2>::cell_iterator &,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1,2>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<2> >&,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-template <>
-void
-MappingQ1<1,2>::fill_fe_subface_values (const Triangulation<1,2>::cell_iterator &,
- const unsigned,
- const unsigned,
- const Quadrature<0>&,
- Mapping<1,2>::InternalDataBase&,
- std::vector<Point<1> >&,
- std::vector<double>&,
- std::vector<Tensor<1,1> >&,
- std::vector<Point<2> >&,
- std::vector<double> &/*cell_JxW_values*/) const
-{
- Assert(false, ExcNotImplemented());
+ normal_vectors);
}