Reference documentation for deal.II version 8.5.1
mapping_q1_eulerian.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2001 - 2016 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE at
12 // the top level of the deal.II distribution.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii__mapping_q1_eulerian_h
17 #define dealii__mapping_q1_eulerian_h
18 
19 #include <deal.II/base/config.h>
20 #include <deal.II/base/std_cxx11/array.h>
21 #include <deal.II/base/smartpointer.h>
22 #include <deal.II/fe/mapping_q1.h>
23 #include <deal.II/dofs/dof_handler.h>
24 
25 DEAL_II_NAMESPACE_OPEN
26 
27 template <typename> class Vector;
28 
29 
32 
88 template <int dim, typename VectorType = Vector<double>, int spacedim=dim >
89 class MappingQ1Eulerian : public MappingQGeneric<dim,spacedim>
90 {
91 public:
106  MappingQ1Eulerian (const DoFHandler<dim,spacedim> &euler_dof_handler,
107  const VectorType &euler_vector);
108 
113  MappingQ1Eulerian (const VectorType &euler_vector,
114  const DoFHandler<dim,spacedim> &euler_dof_handler) DEAL_II_DEPRECATED;
115 
122  virtual
123  std_cxx11::array<Point<spacedim>, GeometryInfo<dim>::vertices_per_cell>
124  get_vertices (const typename Triangulation<dim,spacedim>::cell_iterator &cell) const;
125 
130  virtual
132 
138  bool preserves_vertex_locations () const;
139 
144 
145 
146 
147 protected:
156  virtual
159  const CellSimilarity::Similarity cell_similarity,
160  const Quadrature<dim> &quadrature,
161  const typename Mapping<dim,spacedim>::InternalDataBase &internal_data,
163 
170  virtual
171  std::vector<Point<spacedim> >
173 
178 
183 };
184 
187 /*----------------------------------------------------------------------*/
188 
189 #ifndef DOXYGEN
190 
191 template <int dim, typename VectorType, int spacedim>
192 inline
193 bool
195 {
196  return false;
197 }
198 
199 #endif // DOXYGEN
200 
201 DEAL_II_NAMESPACE_CLOSE
202 
203 #endif
MappingQ1Eulerian(const DoFHandler< dim, spacedim > &euler_dof_handler, const VectorType &euler_vector)
virtual std::vector< Point< spacedim > > compute_mapping_support_points(const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
static ::ExceptionBase & ExcInactiveCell()
bool preserves_vertex_locations() const
#define DeclException0(Exception0)
Definition: exceptions.h:541
virtual MappingQ1Eulerian< dim, VectorType, spacedim > * clone() const
SmartPointer< const VectorType, MappingQ1Eulerian< dim, VectorType, spacedim > > euler_transform_vectors
SmartPointer< const DoFHandler< dim, spacedim >, MappingQ1Eulerian< dim, VectorType, spacedim > > shiftmap_dof_handler
virtual std_cxx11::array< Point< spacedim >, GeometryInfo< dim >::vertices_per_cell > get_vertices(const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
virtual CellSimilarity::Similarity fill_fe_values(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature< dim > &quadrature, const typename Mapping< dim, spacedim >::InternalDataBase &internal_data, internal::FEValues::MappingRelatedData< dim, spacedim > &output_data) const