* <tt>DoFAccessor::set_dof_values()</tt>.
*/
MappingQ1Eulerian (const EulerVectorType &euler_transform_vectors,
- const DoFHandler<dim> &shiftmap_dof_handler);
+ const DoFHandler<dim,spacedim> &shiftmap_dof_handler);
/**
* Return a pointer to a copy of the
* which the mapping vector is
* associated.
*/
- const SmartPointer<const DoFHandler<dim> > shiftmap_dof_handler;
+ const SmartPointer<const DoFHandler<dim,spacedim> > shiftmap_dof_handler;
private:
* are the vertices.
*/
virtual void compute_mapping_support_points(
- const typename Triangulation<dim>::cell_iterator &cell,
- std::vector<Point<dim> > &a) const;
+ const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ std::vector<Point<spacedim> > &a) const;
};
// $Id$
// Version: $Name$
//
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
template <int dim, class EulerVectorType, int spacedim>
MappingQ1Eulerian<dim, EulerVectorType, spacedim>::
MappingQ1Eulerian (const EulerVectorType &euler_transform_vectors,
- const DoFHandler<dim> &shiftmap_dof_handler)
+ const DoFHandler<dim,spacedim> &shiftmap_dof_handler)
:
euler_transform_vectors(euler_transform_vectors),
shiftmap_dof_handler(&shiftmap_dof_handler)
template <int dim, class EulerVectorType, int spacedim>
void
MappingQ1Eulerian<dim, EulerVectorType, spacedim>::
-compute_mapping_support_points(const typename Triangulation<dim>::cell_iterator &cell,
- std::vector<Point<dim> > &a) const
+compute_mapping_support_points(const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ std::vector<Point<spacedim> > &a) const
{
// The assertions can not be in the
// *before* the mapping object is
// constructed, which is not
// necessarily what we want.
- Assert (dim == shiftmap_dof_handler->get_fe().n_dofs_per_vertex(),
+ Assert (spacedim == shiftmap_dof_handler->get_fe().n_dofs_per_vertex(),
ExcWrongNoOfComponents());
- Assert (shiftmap_dof_handler->get_fe().n_components() == dim,
+ Assert (shiftmap_dof_handler->get_fe().n_components() == spacedim,
ExcWrongNoOfComponents());
Assert (shiftmap_dof_handler->n_dofs() == euler_transform_vectors.size(),
// DoFHandler<dim>::cell_iterator
// which is necessary for access to
// DoFCellAccessor::get_dof_values()
- typename DoFHandler<dim>::cell_iterator
- dof_cell (const_cast<Triangulation<dim> *> (&(cell->get_triangulation())),
+ typename DoFHandler<dim,spacedim>::cell_iterator
+ dof_cell (const_cast<Triangulation<dim,spacedim> *> (&(cell->get_triangulation())),
cell->level(),
cell->index(),
shiftmap_dof_handler);
for (unsigned int i=0; i<GeometryInfo<dim>::vertices_per_cell; ++i)
{
- Point<dim> shift_vector;
+ Point<spacedim> shift_vector;
// pick out the value of the
// shift vector at the present
// vertex. since vertex dofs
// are always numbered first,
// we can access them easily
- for (unsigned int j=0; j<dim; ++j)
- shift_vector[j] = mapping_values(i*dim+j);
+ for (unsigned int j=0; j<spacedim; ++j)
+ shift_vector[j] = mapping_values(i*spacedim+j);
// compute new support point by
// old (reference) value and
template class MappingQ1Eulerian<deal_II_dimension, PETScWrappers::Vector>;
#endif
+// Explicit instantiation for codimension one problems.
+#if deal_II_dimension != 3
+template class MappingQ1Eulerian<deal_II_dimension, Vector<double>, deal_II_dimension+1 >;
+# ifdef DEAL_II_USE_PETSC
+template class MappingQ1Eulerian<deal_II_dimension, PETScWrappers::Vector, deal_II_dimension+1>;
+# endif
+#endif
+
DEAL_II_NAMESPACE_CLOSE