16 #include <deal.II/base/std_cxx11/array.h> 17 #include <deal.II/fe/mapping_q1_eulerian.h> 18 #include <deal.II/lac/vector.h> 19 #include <deal.II/lac/petsc_vector.h> 20 #include <deal.II/lac/trilinos_vector.h> 21 #include <deal.II/lac/trilinos_block_vector.h> 22 #include <deal.II/lac/trilinos_parallel_block_vector.h> 23 #include <deal.II/grid/tria_iterator.h> 24 #include <deal.II/dofs/dof_handler.h> 25 #include <deal.II/dofs/dof_accessor.h> 26 #include <deal.II/fe/fe.h> 28 DEAL_II_NAMESPACE_OPEN
31 template <
int dim,
class EulerVectorType,
int spacedim>
37 euler_transform_vectors(&euler_transform_vectors),
38 shiftmap_dof_handler(&shiftmap_dof_handler)
43 template <
int dim,
class EulerVectorType,
int spacedim>
67 Assert (dof_cell->active() ==
true, ExcInactiveCell());
73 for (
unsigned int i=0; i<GeometryInfo<dim>::vertices_per_cell; ++i)
80 for (
unsigned int j=0; j<spacedim; ++j)
81 shift_vector[j] = mapping_values(i*spacedim+j);
85 vertices[i] = cell->vertex(i) + shift_vector;
92 template<
int dim,
class EulerVectorType,
int spacedim>
93 std::vector<Point<spacedim> >
101 for (
unsigned int i=0; i<GeometryInfo<dim>::vertices_per_cell; ++i)
111 template <
int dim,
class EulerVectorType,
int spacedim>
120 template<
int dim,
class EulerVectorType,
int spacedim>
121 CellSimilarity::Similarity
124 const CellSimilarity::Similarity ,
133 CellSimilarity::invalid_next_cell,
140 return CellSimilarity::invalid_next_cell;
146 #include "mapping_q1_eulerian.inst" 149 DEAL_II_NAMESPACE_CLOSE
MappingQ1Eulerian(const VectorType &euler_transform_vectors, const DoFHandler< dim, spacedim > &shiftmap_dof_handler)
#define AssertDimension(dim1, dim2)
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
virtual MappingQ1Eulerian< dim, VectorType, spacedim > * clone() const
ActiveSelector::cell_iterator cell_iterator
virtual std::vector< Point< spacedim > > compute_mapping_support_points(const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
#define Assert(cond, exc)
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