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\}}\)
Public Member Functions | List of all members
MappingC1< dim, spacedim >::MappingC1Generic Class Reference

#include <deal.II/fe/mapping_c1.h>

Inheritance diagram for MappingC1< dim, spacedim >::MappingC1Generic:
[legend]

Public Member Functions

 MappingC1Generic ()
 
virtual void add_line_support_points (const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim >> &a) const override
 
virtual void add_quad_support_points (const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim >> &a) const override
 
void add_line_support_points (const Triangulation< 1 >::cell_iterator &, std::vector< Point< 1 >> &) const
 
void add_line_support_points (const Triangulation< 2 >::cell_iterator &cell, std::vector< Point< 2 >> &a) const
 
void add_quad_support_points (const Triangulation< 1 >::cell_iterator &, std::vector< Point< 1 >> &) const
 
void add_quad_support_points (const Triangulation< 2 >::cell_iterator &, std::vector< Point< 2 >> &) const
 
- Public Member Functions inherited from MappingQGeneric< dim, spacedim >
 MappingQGeneric (const unsigned int polynomial_degree)
 
 MappingQGeneric (const MappingQGeneric< dim, spacedim > &mapping)
 
virtual std::unique_ptr< Mapping< dim, spacedim > > clone () const override
 
unsigned int get_degree () const
 
virtual bool preserves_vertex_locations () const override
 
virtual Point< spacedim > transform_unit_to_real_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< dim > &p) const override
 
virtual Point< dim > transform_real_to_unit_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< spacedim > &p) const override
 
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 override
 
virtual void transform (const ArrayView< const DerivativeForm< 1, dim, spacedim >> &input, const MappingKind kind, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 2, spacedim >> &output) const override
 
virtual void transform (const ArrayView< const Tensor< 2, dim >> &input, const MappingKind kind, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 2, spacedim >> &output) const override
 
virtual void transform (const ArrayView< const DerivativeForm< 2, dim, spacedim >> &input, const MappingKind kind, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 3, spacedim >> &output) const override
 
virtual void transform (const ArrayView< const Tensor< 3, dim >> &input, const MappingKind kind, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 3, spacedim >> &output) const override
 
virtual UpdateFlags requires_update_flags (const UpdateFlags update_flags) const override
 
virtual std::unique_ptr< typename Mapping< dim, spacedim >::InternalDataBase > get_data (const UpdateFlags, const Quadrature< dim > &quadrature) const override
 
virtual std::unique_ptr< typename Mapping< dim, spacedim >::InternalDataBase > get_face_data (const UpdateFlags flags, const Quadrature< dim - 1 > &quadrature) const override
 
virtual std::unique_ptr< typename Mapping< dim, spacedim >::InternalDataBase > get_subface_data (const UpdateFlags flags, const Quadrature< dim - 1 > &quadrature) const override
 
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 override
 
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 override
 
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 override
 
- Public Member Functions inherited from Mapping< dim, dim >
virtual ~Mapping () override=default
 
virtual std::unique_ptr< Mapping< dim, spacedim > > clone () const=0
 
virtual std::array< Point< spacedim >, GeometryInfo< dim >::vertices_per_cell > get_vertices (const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
 
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 bool preserves_vertex_locations () 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
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
template<typename StreamType >
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Additional Inherited Members

- Static Public Member Functions inherited from Mapping< dim, dim >
static ::ExceptionBaseExcInvalidData ()
 
static ::ExceptionBaseExcTransformationFailed ()
 
static ::ExceptionBaseExcDistortedMappedCell (Point< spacedim > arg1, double arg2, int arg3)
 
- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
- Protected Member Functions inherited from MappingQGeneric< dim, spacedim >
virtual std::vector< Point< spacedim > > compute_mapping_support_points (const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
 
Point< dim > transform_real_to_unit_cell_internal (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< spacedim > &p, const Point< dim > &initial_p_unit) const
 
virtual void add_line_support_points (const typename Triangulation< dim, spacedim >::cell_iterator &cell, std::vector< Point< spacedim >> &a) const
 
virtual void add_quad_support_points (const typename Triangulation< dim, spacedim >::cell_iterator &cell, std::vector< Point< spacedim >> &a) const
 
Point< 1 > transform_real_to_unit_cell_internal (const Triangulation< 1, 1 >::cell_iterator &cell, const Point< 1 > &p, const Point< 1 > &initial_p_unit) const
 
Point< 2 > transform_real_to_unit_cell_internal (const Triangulation< 2, 2 >::cell_iterator &cell, const Point< 2 > &p, const Point< 2 > &initial_p_unit) const
 
Point< 3 > transform_real_to_unit_cell_internal (const Triangulation< 3, 3 >::cell_iterator &cell, const Point< 3 > &p, const Point< 3 > &initial_p_unit) const
 
Point< 1 > transform_real_to_unit_cell_internal (const Triangulation< 1, 2 >::cell_iterator &cell, const Point< 2 > &p, const Point< 1 > &initial_p_unit) const
 
Point< 2 > transform_real_to_unit_cell_internal (const Triangulation< 2, 3 >::cell_iterator &cell, const Point< 3 > &p, const Point< 2 > &initial_p_unit) const
 
Point< 1 > transform_real_to_unit_cell_internal (const Triangulation< 1, 3 >::cell_iterator &, const Point< 3 > &, const Point< 1 > &) const
 
void add_quad_support_points (const Triangulation< 3, 3 >::cell_iterator &cell, std::vector< Point< 3 >> &a) const
 
void add_quad_support_points (const Triangulation< 2, 3 >::cell_iterator &cell, std::vector< Point< 3 >> &a) const
 
Interface with FEValues
- Protected Attributes inherited from MappingQGeneric< dim, spacedim >
const unsigned int polynomial_degree
 
QGaussLobatto< 1 > line_support_points
 
std::vector< Table< 2, double > > support_point_weights_perimeter_to_interior
 
Table< 2, doublesupport_point_weights_cell
 

Detailed Description

template<int dim, int spacedim = dim>
class MappingC1< dim, spacedim >::MappingC1Generic

A class derived from MappingQGeneric that provides the generic mapping with support points on boundary objects so that the corresponding Q3 mapping ends up being C1.

Definition at line 62 of file mapping_c1.h.

Constructor & Destructor Documentation

◆ MappingC1Generic()

template<int dim, int spacedim>
MappingC1< dim, spacedim >::MappingC1Generic::MappingC1Generic

Constructor.

Definition at line 31 of file mapping_c1.cc.

Member Function Documentation

◆ add_line_support_points() [1/3]

template<int dim, int spacedim>
void MappingC1< dim, spacedim >::MappingC1Generic::add_line_support_points ( const typename Triangulation< dim >::cell_iterator &  cell,
std::vector< Point< dim >> &  a 
) const
overridevirtual

For dim=2,3. Append the support points of all shape functions located on bounding lines to the vector a. Points located on the line but on vertices are not included.

This function chooses the respective points not such that they are interpolating the boundary (as does the base class), but rather such that the resulting cubic mapping is a continuous one.

Definition at line 175 of file mapping_c1.cc.

◆ add_quad_support_points() [1/3]

template<int dim, int spacedim>
void MappingC1< dim, spacedim >::MappingC1Generic::add_quad_support_points ( const typename Triangulation< dim >::cell_iterator &  cell,
std::vector< Point< dim >> &  a 
) const
overridevirtual

For dim=3. Append the support points of all shape functions located on bounding faces (quads in 3d) to the vector a. Points located on the line but on vertices are not included.

This function chooses the respective points not such that they are interpolating the boundary (as does the base class), but rather such that the resulting cubic mapping is a continuous one.

Definition at line 212 of file mapping_c1.cc.

◆ add_line_support_points() [2/3]

void MappingC1::MappingC1Generic< 1 >::add_line_support_points ( const Triangulation< 1 >::cell_iterator &  ,
std::vector< Point< 1 >> &   
) const

Definition at line 56 of file mapping_c1.cc.

◆ add_line_support_points() [3/3]

void MappingC1::MappingC1Generic< 2 >::add_line_support_points ( const Triangulation< 2 >::cell_iterator &  cell,
std::vector< Point< 2 >> &  a 
) const

Definition at line 69 of file mapping_c1.cc.

◆ add_quad_support_points() [2/3]

void MappingC1::MappingC1Generic< 1 >::add_quad_support_points ( const Triangulation< 1 >::cell_iterator &  ,
std::vector< Point< 1 >> &   
) const

Definition at line 186 of file mapping_c1.cc.

◆ add_quad_support_points() [3/3]

void MappingC1::MappingC1Generic< 2 >::add_quad_support_points ( const Triangulation< 2 >::cell_iterator &  ,
std::vector< Point< 2 >> &   
) const

Definition at line 199 of file mapping_c1.cc.


The documentation for this class was generated from the following files: