Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Attributes | List of all members
MappingCartesian< dim, spacedim > Class Template Reference

#include <mapping_cartesian.h>

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

Classes

class  InternalData
 

Public Member Functions

virtual Mapping< dim, spacedim >
::InternalDataBase * 
get_data (const UpdateFlags, const Quadrature< dim > &quadrature) const
 
virtual Mapping< dim, spacedim >
::InternalDataBase * 
get_face_data (const UpdateFlags flags, const Quadrature< dim-1 > &quadrature) const
 
virtual Mapping< dim, spacedim >
::InternalDataBase * 
get_subface_data (const UpdateFlags flags, const Quadrature< dim-1 > &quadrature) const
 
virtual void fill_fe_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Quadrature< dim > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_data, std::vector< Point< spacedim > > &quadrature_points, std::vector< double > &JxW_values, std::vector< DerivativeForm< 1, dim, spacedim > > &jacobians, std::vector< DerivativeForm< 2, dim, spacedim > > &jacobian_grads, std::vector< DerivativeForm< 1, spacedim, dim > > &inverse_jacobians, std::vector< Point< spacedim > > &, CellSimilarity::Similarity &cell_similarity) const
 
virtual void fill_fe_face_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const Quadrature< dim-1 > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_data, std::vector< Point< dim > > &quadrature_points, std::vector< double > &JxW_values, std::vector< Tensor< 1, dim > > &boundary_form, std::vector< Point< spacedim > > &normal_vectors) const
 
virtual void fill_fe_subface_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const Quadrature< dim-1 > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_data, std::vector< Point< dim > > &quadrature_points, std::vector< double > &JxW_values, std::vector< Tensor< 1, dim > > &boundary_form, std::vector< Point< spacedim > > &normal_vectors) const
 
virtual void transform (const VectorSlice< const std::vector< Tensor< 1, dim > > > input, VectorSlice< std::vector< Tensor< 1, spacedim > > > output, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const MappingType type) const
 
virtual void transform (const VectorSlice< const std::vector< DerivativeForm< 1, dim, spacedim > > > input, VectorSlice< std::vector< Tensor< 2, spacedim > > > output, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const MappingType type) const
 
virtual void transform (const VectorSlice< const std::vector< Tensor< 2, dim > > > input, VectorSlice< std::vector< Tensor< 2, spacedim > > > output, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const MappingType type) const
 
virtual Point< spacedim > transform_unit_to_real_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< dim > &p) const
 
virtual Point< dim > transform_real_to_unit_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< spacedim > &p) const
 
virtual Mapping< dim, spacedim > * clone () const
 
bool preserves_vertex_locations () const
 
- Public Member Functions inherited from Mapping< dim, spacedim >
virtual ~Mapping ()
 
virtual void transform (const VectorSlice< const std::vector< Tensor< 1, dim > > > input, VectorSlice< std::vector< Tensor< 1, spacedim > > > output, const InternalDataBase &internal, const MappingType type) const =0
 
virtual void transform (const VectorSlice< const std::vector< DerivativeForm< 1, dim, spacedim > > > input, VectorSlice< std::vector< Tensor< 2, spacedim > > > output, const InternalDataBase &internal, const MappingType type) const =0
 
virtual void transform (const VectorSlice< const std::vector< Tensor< 2, dim > > > input, VectorSlice< std::vector< Tensor< 2, spacedim > > > output, const InternalDataBase &internal, const MappingType type) const =0
 
void transform_covariant (const VectorSlice< const std::vector< Tensor< 1, dim > > > input, const unsigned int offset, VectorSlice< std::vector< Tensor< 1, spacedim > > > output, const InternalDataBase &internal) const DEAL_II_DEPRECATED
 
void transform_covariant (const VectorSlice< const std::vector< DerivativeForm< 1, dim, spacedim > > > input, const unsigned int offset, VectorSlice< std::vector< Tensor< 2, spacedim > > > output, const InternalDataBase &internal) const DEAL_II_DEPRECATED
 
void transform_contravariant (const VectorSlice< const std::vector< Tensor< 1, dim > > > input, const unsigned int offset, VectorSlice< std::vector< Tensor< 1, spacedim > > > output, const typename Mapping< dim, spacedim >::InternalDataBase &internal) const DEAL_II_DEPRECATED
 
void transform_contravariant (const VectorSlice< const std::vector< DerivativeForm< 1, dim, spacedim > > > input, const unsigned int offset, const VectorSlice< std::vector< Tensor< 2, spacedim > > > output, const typename Mapping< dim, spacedim >::InternalDataBase &internal) const DEAL_II_DEPRECATED
 
const Point< spacedim > & support_point_value (const unsigned int index, const typename Mapping< dim, spacedim >::InternalDataBase &internal) const
 
const Tensor< 2, spacedim > & support_point_gradient (const unsigned int index, const typename Mapping< dim, spacedim >::InternalDataBase &internal) const
 
const Tensor< 2, spacedim > & support_point_inverse_gradient (const unsigned int index, const typename Mapping< dim, spacedim >::InternalDataBase &internal) const
 
 DeclException0 (ExcInvalidData)
 
 DeclException0 (ExcTransformationFailed)
 
 DeclException3 (ExcDistortedMappedCell, Point< spacedim >, double, int,<< "The image of the mapping applied to cell with center ["<< arg1<< "] is distorted. The cell geometry or the "<< "mapping are invalid, giving a non-positive volume "<< "fraction of "<< arg2<< " in quadrature point "<< arg3<< ".")
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
 DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.")
 
 DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1)
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Protected Member Functions

void compute_fill (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const CellSimilarity::Similarity cell_similarity, InternalData &data, std::vector< Point< dim > > &quadrature_points, std::vector< Point< dim > > &normal_vectors) const
 

Private Member Functions

virtual UpdateFlags update_once (const UpdateFlags) const
 
virtual UpdateFlags update_each (const UpdateFlags) const
 

Static Private Attributes

static const unsigned int invalid_face_number = numbers::invalid_unsigned_int
 

Detailed Description

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

Mapping of an axis-parallel cell.

This class maps the unit cell to a grid cell with surfaces parallel to the coordinate lines/planes. The mapping is therefore a scaling along the coordinate directions. It is specifically developed for cartesian meshes. Apply this mapping to a general mesh to get strange results.

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

Author
Guido Kanschat, 2001; Ralf Hartmann, 2005

Definition at line 47 of file mapping_cartesian.h.

Member Function Documentation

template<int dim, int spacedim = dim>
virtual Mapping<dim, spacedim>::InternalDataBase* MappingCartesian< dim, spacedim >::get_data ( const UpdateFlags  ,
const Quadrature< dim > &  quadrature 
) const
virtual

Prepare internal data structures and fill in values independent of the cell.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual Mapping<dim, spacedim>::InternalDataBase* MappingCartesian< dim, spacedim >::get_face_data ( const UpdateFlags  flags,
const Quadrature< dim-1 > &  quadrature 
) const
virtual

Prepare internal data structure for transformation of faces and fill in values independent of the cell.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual Mapping<dim, spacedim>::InternalDataBase* MappingCartesian< dim, spacedim >::get_subface_data ( const UpdateFlags  flags,
const Quadrature< dim-1 > &  quadrature 
) const
virtual

Prepare internal data structure for transformation of children of faces and fill in values independent of the cell.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual Point<spacedim> MappingCartesian< dim, spacedim >::transform_unit_to_real_cell ( const typename Triangulation< dim, spacedim >::cell_iterator &  cell,
const Point< dim > &  p 
) const
virtual

Transforms the point p on the unit cell to the point p_real on the real cell cell and returns p_real.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual Point<dim> MappingCartesian< dim, spacedim >::transform_real_to_unit_cell ( const typename Triangulation< dim, spacedim >::cell_iterator &  cell,
const Point< spacedim > &  p 
) const
virtual

Transforms the point p on the real cell to the point p_unit on the unit cell cell and returns p_unit.

Uses Newton iteration and the transform_unit_to_real_cell function.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual Mapping<dim, spacedim>* MappingCartesian< 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.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
bool MappingCartesian< dim, spacedim >::preserves_vertex_locations ( ) const
virtual

Always returns true because MappingCartesian preserves vertex locations.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
void MappingCartesian< dim, spacedim >::compute_fill ( const typename Triangulation< dim, spacedim >::cell_iterator &  cell,
const unsigned int  face_no,
const unsigned int  sub_no,
const CellSimilarity::Similarity  cell_similarity,
InternalData data,
std::vector< Point< dim > > &  quadrature_points,
std::vector< Point< dim > > &  normal_vectors 
) const
protected

Do the computation for the fill_* functions.

template<int dim, int spacedim = dim>
virtual UpdateFlags MappingCartesian< dim, spacedim >::update_once ( const UpdateFlags  ) const
privatevirtual

Indicate fields to be updated in the constructor of FEValues. Especially, fields not asked for by FEValues, but computed for efficiency reasons will be notified here.

See The interplay of UpdateFlags, Mapping and FiniteElement in FEValues.

Implements Mapping< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual UpdateFlags MappingCartesian< dim, spacedim >::update_each ( const UpdateFlags  ) const
privatevirtual

The same as update_once(), but for the flags to be updated for each grid cell.

See The interplay of UpdateFlags, Mapping and FiniteElement in FEValues.

Implements Mapping< dim, spacedim >.

Member Data Documentation

template<int dim, int spacedim = dim>
const unsigned int MappingCartesian< dim, spacedim >::invalid_face_number = numbers::invalid_unsigned_int
staticprivate

Value to indicate that a given face or subface number is invalid.

Definition at line 217 of file mapping_cartesian.h.


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