#include <ShapeFunction.hpp>
Public Member Functions | |
float_t | value (size_t node_index, const ublas::fixed_vector< float_t, 3 > &in) const |
ublas::fixed_vector< float_t, 3 > & | gradient (size_t node_index, const ublas::fixed_vector< float_t, 3 > &in, ublas::fixed_vector< float_t, 3 > &out) const |
Static Public Member Functions | |
static size_t | face_node (size_t face, size_t node) |
Linear shape function on the tetrahedra determined by the vertices (0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1) (i.e. 4 element nodes). You will rarely use this class directly, but might plug it into your own FE traits class as shape_function_t.
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 from imaging::ShapeFunction< 4, 3, 3 >.
References imaging::Tetrahedra3dTransform::face_vertex().
float_t imaging::Linear3dShapeFunction::value | ( | size_t | node_index, | |
const ublas::fixed_vector< float_t, 3 > & | in | |||
) | const |
Returns the value of the shape function corresponding to node_index at in.
ublas::fixed_vector< float_t, 3 > & imaging::Linear3dShapeFunction::gradient | ( | size_t | node_index, | |
const ublas::fixed_vector< float_t, 3 > & | in, | |||
ublas::fixed_vector< float_t, 3 > & | out | |||
) | const |
Computes the gradient of the shape function corresponding to node_index at in and stores the result in out.