imaging::ShapeFunction< N_NODES, N_FACE_NODES, N > Class Template Reference
[Finite Element Module]

Abstract base class of all shape functions classes. More...

#include <ShapeFunction.hpp>

List of all members.

Public Member Functions

float_t value (size_t node_index, const ublas::fixed_vector< float_t, N > &in) const
ublas::fixed_vector< float_t, N > & gradient (size_t node_index, const ublas::fixed_vector< float_t, N > &in, ublas::fixed_vector< float_t, N > &out) const

Static Public Member Functions

static size_t face_node (size_t face, size_t node)

Static Public Attributes

static const size_t n_element_nodes = N_NODES
static const size_t n_shape_face_nodes = N_FACE_NODES


Detailed Description

template<size_t N_NODES, size_t N_FACE_NODES, size_t N>
class imaging::ShapeFunction< N_NODES, N_FACE_NODES, N >

Abstract base class of all shape functions classes.

All implementations of shape functions on reference elements should be derived from this class. The template parameters N and N_NODES refer to the dimension of the reference element and to the number of nodes nodes on the element respectively.

See also:
Bilinear2dShapeFunction, Linear2dShapeFunction, Linear1dShapeFunction

Member Function Documentation

template<size_t N_NODES, size_t N_FACE_NODES, size_t N>
static size_t imaging::ShapeFunction< N_NODES, N_FACE_NODES, N >::face_node ( size_t  face,
size_t  node 
) [static]

Returns the node index (on the element) of the node determined by face_index and face_node_index (on the boundary reference element). E.g. the vertex 1 (there are only vertices 0 and 1 on the boundary reference element) on the face 2 of the square reference element (there are 4 faces with indices from zero to 3) is mapped to vertex 3 on the reference element.

Reimplemented in imaging::Bilinear2dShapeFunction, imaging::Linear2dShapeFunction, imaging::Linear3dShapeFunction, and imaging::Linear1dShapeFunction.

template<size_t N_NODES, size_t N_FACE_NODES, size_t N>
float_t imaging::ShapeFunction< N_NODES, N_FACE_NODES, N >::value ( size_t  node_index,
const ublas::fixed_vector< float_t, N > &  in 
) const

Returns the value of the shape function corresponding to node_index at in.

template<size_t N_NODES, size_t N_FACE_NODES, size_t N>
ublas::fixed_vector<float_t, N>& imaging::ShapeFunction< N_NODES, N_FACE_NODES, N >::gradient ( size_t  node_index,
const ublas::fixed_vector< float_t, N > &  in,
ublas::fixed_vector< float_t, N > &  out 
) const

Computes the gradient of the shape function corresponding to node_index at in and stores the result in out.


Member Data Documentation

template<size_t N_NODES, size_t N_FACE_NODES, size_t N>
const size_t imaging::ShapeFunction< N_NODES, N_FACE_NODES, N >::n_element_nodes = N_NODES [static]

The number of nodes per element for this shape function.

template<size_t N_NODES, size_t N_FACE_NODES, size_t N>
const size_t imaging::ShapeFunction< N_NODES, N_FACE_NODES, N >::n_shape_face_nodes = N_FACE_NODES [static]

The number of nodes per face of the reference element of this shape function.


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

Generated on Tue Feb 10 10:01:31 2009 for imaging2 by  doxygen 1.5.5