// .... MAPPING Q EULERIAN CONSTRUCTOR
-template <int dim, class EulerVectorType, int spacedim>
-MappingQEulerian<dim, EulerVectorType, spacedim>::MappingQEulerianGeneric::
-MappingQEulerianGeneric (const unsigned int degree,
- const MappingQEulerian<dim, EulerVectorType, spacedim> &mapping_q_eulerian)
+template <int dim, class VectorType, int spacedim>
+MappingQEulerian<dim, VectorType, spacedim>::MappingQEulerianGeneric::
+MappingQEulerianGeneric (const unsigned int degree,
+ const MappingQEulerian<dim, VectorType, spacedim> &mapping_q_eulerian)
:
MappingQGeneric<dim,spacedim>(degree),
mapping_q_eulerian (mapping_q_eulerian),
update_values | update_q_points)
{}
-template <int dim, class EulerVectorType, int spacedim>
-MappingQEulerian<dim, EulerVectorType, spacedim>::
-MappingQEulerian (const unsigned int degree,
- const EulerVectorType &euler_vector,
+template <int dim, class VectorType, int spacedim>
+MappingQEulerian<dim, VectorType, spacedim>::
+MappingQEulerian (const unsigned int degree,
+ const VectorType &euler_vector,
const DoFHandler<dim,spacedim> &euler_dof_handler)
:
MappingQ<dim,spacedim>(degree, true),
// reset the q1 mapping we use for interior cells (and previously
// set by the MappingQ constructor) to a MappingQ1Eulerian with the
// current vector
- this->q1_mapping.reset (new MappingQ1Eulerian<dim,EulerVectorType,spacedim>(euler_vector,
+ this->q1_mapping.reset (new MappingQ1Eulerian<dim,VectorType,spacedim>(euler_vector,
euler_dof_handler));
// also reset the qp mapping pointer with our own class
-template <int dim, class EulerVectorType, int spacedim>
-MappingQEulerian<dim, EulerVectorType, spacedim>::
-MappingQEulerian (const unsigned int degree,
+template <int dim, class VectorType, int spacedim>
+MappingQEulerian<dim, VectorType, spacedim>::
+MappingQEulerian (const unsigned int degree,
const DoFHandler<dim,spacedim> &euler_dof_handler,
- const EulerVectorType &euler_vector)
+ const VectorType &euler_vector)
:
MappingQ<dim,spacedim>(degree, true),
euler_vector(&euler_vector),
// reset the q1 mapping we use for interior cells (and previously
// set by the MappingQ constructor) to a MappingQ1Eulerian with the
// current vector
- this->q1_mapping.reset (new MappingQ1Eulerian<dim,EulerVectorType,spacedim>(euler_vector,
+ this->q1_mapping.reset (new MappingQ1Eulerian<dim,VectorType,spacedim>(euler_vector,
euler_dof_handler));
// also reset the qp mapping pointer with our own class
-template <int dim, class EulerVectorType, int spacedim>
+template <int dim, class VectorType, int spacedim>
Mapping<dim,spacedim> *
-MappingQEulerian<dim, EulerVectorType, spacedim>::clone () const
+MappingQEulerian<dim, VectorType, spacedim>::clone () const
{
- return new MappingQEulerian<dim,EulerVectorType,spacedim>(this->get_degree(),
- *euler_vector,
- *euler_dof_handler);
+ return new MappingQEulerian<dim,VectorType,spacedim>(this->get_degree(),
+ *euler_vector,
+ *euler_dof_handler);
}
// .... SUPPORT QUADRATURE CONSTRUCTOR
-template <int dim, class EulerVectorType, int spacedim>
-MappingQEulerian<dim,EulerVectorType,spacedim>::MappingQEulerianGeneric::
+template <int dim, class VectorType, int spacedim>
+MappingQEulerian<dim,VectorType,spacedim>::MappingQEulerianGeneric::
SupportQuadrature::
SupportQuadrature (const unsigned int map_degree)
:
// .... COMPUTE MAPPING SUPPORT POINTS
-template <int dim, class EulerVectorType, int spacedim>
+template <int dim, class VectorType, int spacedim>
std_cxx11::array<Point<spacedim>, GeometryInfo<dim>::vertices_per_cell>
-MappingQEulerian<dim, EulerVectorType, spacedim>::
+MappingQEulerian<dim, VectorType, spacedim>::
get_vertices
(const typename Triangulation<dim,spacedim>::cell_iterator &cell) const
{
-template <int dim, class EulerVectorType, int spacedim>
+template <int dim, class VectorType, int spacedim>
std_cxx11::array<Point<spacedim>, GeometryInfo<dim>::vertices_per_cell>
-MappingQEulerian<dim, EulerVectorType, spacedim>::MappingQEulerianGeneric::
+MappingQEulerian<dim, VectorType, spacedim>::MappingQEulerianGeneric::
get_vertices
(const typename Triangulation<dim,spacedim>::cell_iterator &cell) const
{
-template <int dim, class EulerVectorType, int spacedim>
+template <int dim, class VectorType, int spacedim>
std::vector<Point<spacedim> >
-MappingQEulerian<dim, EulerVectorType, spacedim>::MappingQEulerianGeneric::
+MappingQEulerian<dim, VectorType, spacedim>::MappingQEulerianGeneric::
compute_mapping_support_points (const typename Triangulation<dim,spacedim>::cell_iterator &cell) const
{
// first, basic assertion with respect to vector size,
Assert (n_components >= spacedim, ExcDimensionMismatch(n_components, spacedim) );
- std::vector<Vector<typename EulerVectorType::value_type> >
+ std::vector<Vector<typename VectorType::value_type> >
shift_vector(n_support_pts,
- Vector<typename EulerVectorType::value_type>(n_components));
+ Vector<typename VectorType::value_type>(n_components));
// fill shift vector for each support point using an fe_values object. make
// sure that the fe_values variable isn't used simultaneously from different
-template<int dim, class EulerVectorType, int spacedim>
+template<int dim, class VectorType, int spacedim>
CellSimilarity::Similarity
-MappingQEulerian<dim,EulerVectorType,spacedim>::
+MappingQEulerian<dim,VectorType,spacedim>::
fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
const CellSimilarity::Similarity ,
const Quadrature<dim> &quadrature,