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

#include <mapping_q1.h>

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

Public Member Functions

 InternalData (const unsigned int n_shape_functions)
 
double shape (const unsigned int qpoint, const unsigned int shape_nr) const
 
doubleshape (const unsigned int qpoint, const unsigned int shape_nr)
 
Tensor< 1, dim > derivative (const unsigned int qpoint, const unsigned int shape_nr) const
 
Tensor< 1, dim > & derivative (const unsigned int qpoint, const unsigned int shape_nr)
 
Tensor< 2, dim > second_derivative (const unsigned int qpoint, const unsigned int shape_nr) const
 
Tensor< 2, dim > & second_derivative (const unsigned int qpoint, const unsigned int shape_nr)
 
virtual std::size_t memory_consumption () const
 
- Public Member Functions inherited from Mapping< int, int >::InternalDataBase
 InternalDataBase ()
 
virtual ~InternalDataBase ()
 
UpdateFlags current_update_flags () const
 
bool is_first_cell () const
 
virtual void clear_first_cell ()
 
- 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)
 

Public Attributes

std::vector< doubleshape_values
 
std::vector< Tensor< 1, dim > > shape_derivatives
 
std::vector< Tensor< 2, dim > > shape_second_derivatives
 
std::vector< DerivativeForm
< 1, dim, spacedim > > 
covariant
 
std::vector< DerivativeForm
< 1, dim, spacedim > > 
contravariant
 
std::vector< std::vector
< Tensor< 1, dim > > > 
unit_tangentials
 
std::vector< std::vector
< Tensor< 1, spacedim > > > 
aux
 
std::vector< Point< spacedim > > mapping_support_points
 
Triangulation< dim, spacedim >
::cell_iterator 
cell_of_current_support_points
 
bool is_mapping_q1_data
 
unsigned int n_shape_functions
 
- Public Attributes inherited from Mapping< int, int >::InternalDataBase
UpdateFlags update_flags
 
UpdateFlags update_once
 
UpdateFlags update_each
 
std::vector< doublevolume_elements
 
std::vector< Point< spacedim > > support_point_values
 
std::vector< Tensor
< 2, spacedim > > 
support_point_gradients
 
std::vector< Tensor
< 2, spacedim > > 
support_point_inverse_gradients
 

Detailed Description

template<int dim, int spacedim = dim>
class MappingQ1< dim, spacedim >::InternalData

Storage for internal data of d-linear transformation.

Definition at line 186 of file mapping_q1.h.

Constructor & Destructor Documentation

template<int dim, int spacedim = dim>
MappingQ1< dim, spacedim >::InternalData::InternalData ( const unsigned int  n_shape_functions)

Constructor. Pass the number of shape functions.

Member Function Documentation

template<int dim, int spacedim = dim>
double MappingQ1< dim, spacedim >::InternalData::shape ( const unsigned int  qpoint,
const unsigned int  shape_nr 
) const

Shape function at quadrature point. Shape functions are in tensor product order, so vertices must be reordered to obtain transformation.

template<int dim, int spacedim = dim>
double& MappingQ1< dim, spacedim >::InternalData::shape ( const unsigned int  qpoint,
const unsigned int  shape_nr 
)

Shape function at quadrature point. See above.

template<int dim, int spacedim = dim>
Tensor<1,dim> MappingQ1< dim, spacedim >::InternalData::derivative ( const unsigned int  qpoint,
const unsigned int  shape_nr 
) const

Gradient of shape function in quadrature point. See above.

template<int dim, int spacedim = dim>
Tensor<1,dim>& MappingQ1< dim, spacedim >::InternalData::derivative ( const unsigned int  qpoint,
const unsigned int  shape_nr 
)

Gradient of shape function in quadrature point. See above.

template<int dim, int spacedim = dim>
Tensor<2,dim> MappingQ1< dim, spacedim >::InternalData::second_derivative ( const unsigned int  qpoint,
const unsigned int  shape_nr 
) const

Second derivative of shape function in quadrature point. See above.

template<int dim, int spacedim = dim>
Tensor<2,dim>& MappingQ1< dim, spacedim >::InternalData::second_derivative ( const unsigned int  qpoint,
const unsigned int  shape_nr 
)

Second derivative of shape function in quadrature point. See above.

template<int dim, int spacedim = dim>
virtual std::size_t MappingQ1< dim, spacedim >::InternalData::memory_consumption ( ) const
virtual

Return an estimate (in bytes) or the memory consumption of this object.

Reimplemented from Mapping< int, int >::InternalDataBase.

Reimplemented in MappingQ< dim, spacedim >::InternalData.

Member Data Documentation

template<int dim, int spacedim = dim>
std::vector<double> MappingQ1< dim, spacedim >::InternalData::shape_values

Values of shape functions. Access by function shape.

Computed once.

Definition at line 259 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector<Tensor<1,dim> > MappingQ1< dim, spacedim >::InternalData::shape_derivatives

Values of shape function derivatives. Access by function derivative.

Computed once.

Definition at line 268 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector<Tensor<2,dim> > MappingQ1< dim, spacedim >::InternalData::shape_second_derivatives

Values of shape function second derivatives. Access by function second_derivative.

Computed once.

Definition at line 278 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector<DerivativeForm<1,dim, spacedim > > MappingQ1< dim, spacedim >::InternalData::covariant

Tensors of covariant transformation at each of the quadrature points. The matrix stored is the Jacobian * G^{-1}, where G = Jacobian^{t} * Jacobian, is the first fundamental form of the map; if dim=spacedim then it reduces to the transpose of the inverse of the Jacobian matrix, which itself is stored in the contravariant field of this structure.

Computed on each cell.

Definition at line 299 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector< DerivativeForm<1,dim,spacedim> > MappingQ1< dim, spacedim >::InternalData::contravariant

Tensors of contravariant transformation at each of the quadrature points. The contravariant matrix is the Jacobian of the transformation, i.e. $J_{ij}=dx_i/d\hat x_j$.

Computed on each cell.

Definition at line 312 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector<std::vector<Tensor<1,dim> > > MappingQ1< dim, spacedim >::InternalData::unit_tangentials

Unit tangential vectors. Used for the computation of boundary forms and normal vectors.

This vector has (dim-1)GeometryInfo::faces_per_cell entries. The first GeometryInfo::faces_per_cell contain the vectors in the first tangential direction for each face; the second set of GeometryInfo::faces_per_cell entries contain the vectors in the second tangential direction (only in 3d, since there we have 2 tangential directions per face), etc.

Filled once.

Definition at line 336 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector<std::vector<Tensor<1,spacedim> > > MappingQ1< dim, spacedim >::InternalData::aux

Auxiliary vectors for internal use.

Definition at line 341 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector<Point<spacedim> > MappingQ1< dim, spacedim >::InternalData::mapping_support_points

Stores the support points of the mapping shape functions on the cell_of_current_support_points.

Definition at line 348 of file mapping_q1.h.

template<int dim, int spacedim = dim>
Triangulation<dim,spacedim>::cell_iterator MappingQ1< dim, spacedim >::InternalData::cell_of_current_support_points

Stores the cell of which the mapping_support_points are stored.

Definition at line 355 of file mapping_q1.h.

template<int dim, int spacedim = dim>
bool MappingQ1< dim, spacedim >::InternalData::is_mapping_q1_data

Default value of this flag is true. If *this is an object of a derived class, this flag is set to false.

Definition at line 364 of file mapping_q1.h.

template<int dim, int spacedim = dim>
unsigned int MappingQ1< dim, spacedim >::InternalData::n_shape_functions

Number of shape functions. If this is a Q1 mapping, then it is simply the number of vertices per cell. However, since also derived classes use this class (e.g. the Mapping_Q() class), the number of shape functions may also be different.

Definition at line 379 of file mapping_q1.h.


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