|
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
16 #ifndef dealii_mapping_h
17 #define dealii_mapping_h
35 template <
typename ElementType,
typename MemorySpaceType>
39 template <
int dim,
int spacedim>
41 template <
int dim,
int spacedim>
43 template <
int dim,
int spacedim>
45 template <
int dim,
int spacedim>
47 template <
int dim,
int spacedim>
301 template <
int dim,
int spacedim = dim>
308 virtual ~Mapping()
override =
default;
319 virtual std::unique_ptr<Mapping<dim, spacedim>>
367 const bool map_center_of_reference_cell =
true)
const;
473 const unsigned int face_no,
501 "Computing the mapping between a real space point and a point in reference "
502 "space failed, typically because the given point lies outside the cell "
503 "where the inverse mapping is not unique.");
516 <<
"The image of the mapping applied to cell with center ["
517 << arg1 <<
"] is distorted. The cell geometry or the "
518 <<
"mapping are invalid, giving a non-positive volume "
519 <<
"fraction of " << arg2 <<
" in quadrature point " << arg3
715 virtual std::unique_ptr<InternalDataBase>
746 virtual std::unique_ptr<InternalDataBase>
778 virtual std::unique_ptr<InternalDataBase>
872 &output_data)
const = 0;
901 const unsigned int face_no,
905 &output_data)
const = 0;
936 const unsigned int face_no,
937 const unsigned int subface_no,
941 &output_data)
const = 0;
#define DeclExceptionMsg(Exception, defaulttext)
virtual void transform(const ArrayView< const Tensor< 1, dim >> &input, const MappingKind kind, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 1, spacedim >> &output) const =0
@ mapping_covariant_gradient
virtual std::unique_ptr< InternalDataBase > get_subface_data(const UpdateFlags update_flags, const Quadrature< dim - 1 > &quadrature) const =0
virtual ~InternalDataBase()=default
static ::ExceptionBase & ExcTransformationFailed()
@ mapping_contravariant_gradient
static ::ExceptionBase & ExcInvalidData()
Abstract base class for mapping classes.
@ mapping_covariant_hessian
virtual UpdateFlags requires_update_flags(const UpdateFlags update_flags) const =0
virtual std::unique_ptr< Mapping< dim, spacedim > > clone() const =0
Point< dim - 1 > project_real_point_to_unit_point_on_face(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const Point< spacedim > &p) const
#define DEAL_II_NAMESPACE_OPEN
virtual std::unique_ptr< InternalDataBase > get_data(const UpdateFlags update_flags, const Quadrature< dim > &quadrature) const =0
virtual std::size_t memory_consumption() const
#define DeclException3(Exception3, type1, type2, type3, outsequence)
virtual Point< spacedim > transform_unit_to_real_cell(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< dim > &p) const =0
static ::ExceptionBase & ExcDistortedMappedCell(Point< spacedim > arg1, double arg2, int arg3)
virtual Point< spacedim > get_center(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const bool map_center_of_reference_cell=true) const
virtual BoundingBox< spacedim > get_bounding_box(const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
virtual std::array< Point< spacedim >, GeometryInfo< dim >::vertices_per_cell > get_vertices(const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
virtual std::unique_ptr< InternalDataBase > get_face_data(const UpdateFlags update_flags, const Quadrature< dim - 1 > &quadrature) const =0
virtual ~Mapping() override=default
#define DeclException0(Exception0)
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::FEValuesImplementation::MappingRelatedData< dim, spacedim > &output_data) const =0
virtual void fill_fe_subface_values(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const Quadrature< dim - 1 > &quadrature, const typename Mapping< dim, spacedim >::InternalDataBase &internal_data, ::internal::FEValuesImplementation::MappingRelatedData< dim, spacedim > &output_data) const =0
#define DEAL_II_NAMESPACE_CLOSE
virtual bool preserves_vertex_locations() const =0
virtual void fill_fe_face_values(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const Quadrature< dim - 1 > &quadrature, const typename Mapping< dim, spacedim >::InternalDataBase &internal_data, ::internal::FEValuesImplementation::MappingRelatedData< dim, spacedim > &output_data) const =0
@ mapping_contravariant_hessian
virtual Point< dim > transform_real_to_unit_cell(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< spacedim > &p) const =0