MappingC1< dim, spacedim > Class Template Reference
[Mappings between reference and real cell]

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

List of all members.

Public Member Functions

 MappingC1 ()
virtual Mapping< dim, spacedim > * clone () const

Protected Member Functions

virtual void add_line_support_points (const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim > > &a) const
virtual void add_quad_support_points (const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim > > &a) const

Detailed Description

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

Mapping class that uses C1 (continuously differentiable) cubic mappings of the boundary. This class is built atop of MappingQ by simply determining the interpolation points for a cubic mapping of the boundary differently: MappingQ chooses them such that they interpolate the boundary, while this class chooses them such that the discretized boundary is globally continuously differentiable.

To use this class, make sure that the Boundary::get_normals_at_vertices function is implemented for the users boundary object.

For more information about the spacedim template parameter check the documentation of FiniteElement or the one of Triangulation.

Author:
Wolfgang Bangerth, 2001

Constructor & Destructor Documentation

template<int dim, int spacedim = dim>
MappingC1< dim, spacedim >::MappingC1 (  ) 

Constructor. Pass the fixed degree 3 down to the base class, as a cubic mapping suffices to generate a continuous mapping of the boundary.


Member Function Documentation

template<int dim, int spacedim = dim>
virtual Mapping<dim,spacedim>* MappingC1< dim, spacedim >::clone (  )  const [virtual]

Return a pointer to a copy of the present object. The caller of this copy then assumes ownership of it.

Reimplemented from MappingQ< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual void MappingC1< dim, spacedim >::add_line_support_points ( const typename Triangulation< dim >::cell_iterator &  cell,
std::vector< Point< dim > > &  a 
) const [protected, virtual]

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.

Needed by the compute_support_points_simple(laplace) functions. For dim=1 this function is empty.

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.

template<int dim, int spacedim = dim>
virtual void MappingC1< dim, spacedim >::add_quad_support_points ( const typename Triangulation< dim >::cell_iterator &  cell,
std::vector< Point< dim > > &  a 
) const [protected, virtual]

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.

Needed by the compute_support_points_laplace function. For dim=1 and 2 this function is empty.

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.


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

deal.II documentation generated on Mon Nov 23 22:57:53 2009 by doxygen 1.6.1