Public Member Functions | Public Attributes

MappingQ1< dim, spacedim >::InternalData Class Reference

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

List of all members.

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 Attributes

std::vector< doubleshape_values
std::vector< Tensor< 1, dim > > shape_derivatives
std::vector< Tensor< 2, dim > > shape_second_derivatives
std::vector< Tensor
< 2, spacedim > > 
covariant
std::vector< Tensor
< 2, 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

Detailed Description

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

Storage for internal data of d-linear transformation.

Definition at line 110 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.

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


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< dim, spacedim >::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 183 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 192 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 202 of file mapping_q1.h.

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

Tensors of covariant transformation at each of the quadrature points. The matrix stored is the inverse of the Jacobian matrix, which itself is stored in the contravariant field of this structure.

Computed on each cell.

Definition at line 217 of file mapping_q1.h.

template<int dim, int spacedim = dim>
std::vector<Tensor<2,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.

Note:
If dim<spacedim, then the Jacobian matrix is rectangular, with spacedim rows and dim columns. We nevertheless store it as a square rank-2 tensor. The unused columns are internally used to store temporary data, such as the "missing" vectors spanning the full space (for example the cell normal vector).

Definition at line 245 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)*GeometryInfofaces_per_cell entries. The first GeometryInfo<dim>::faces_per_cell contain the vectors in the first tangential direction for each face; the second set of GeometryInfo<dim>::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 269 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 274 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 281 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 288 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 297 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 312 of file mapping_q1.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:09 by doxygen 1.7.2