Flow123d  release_1.8.2-1603-g0109a2b
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
RefElement< dim > Class Template Reference

#include <ref_element.hh>

Public Member Functions

template<>
const unsigned int side_permutations [][n_nodes_per_side]
 
template<>
const unsigned int side_permutations [][n_nodes_per_side]
 
template<>
const unsigned int side_permutations [][n_nodes_per_side]
 
template<>
const unsigned int side_nodes [][1]
 
template<>
const unsigned int side_nodes [][2]
 
template<>
const unsigned int side_nodes [][3]
 
template<>
const unsigned int side_lines [][3]
 
template<>
const unsigned int line_nodes [][2]
 
template<>
vec::fixed< 1 > normal_vector (unsigned int sid)
 
template<>
vec::fixed< 2 > normal_vector (unsigned int sid)
 
template<>
vec::fixed< 3 > normal_vector (unsigned int sid)
 
template<>
double side_measure (unsigned int sid)
 
template<>
double side_measure (unsigned int sid)
 
template<>
double side_measure (unsigned int sid)
 
template<>
unsigned int line_between_faces (unsigned int f1, unsigned int f2)
 

Static Public Member Functions

static arma::vec::fixed< dim > node_coords (unsigned int nid)
 
static arma::vec::fixed< dim+1 > node_barycentric_coords (unsigned int nid)
 
static arma::vec::fixed< dim > normal_vector (unsigned int sid)
 
static double side_measure (unsigned int sid)
 
static unsigned int oposite_node (unsigned int sid)
 
static unsigned int line_between_faces (unsigned int f1, unsigned int f2)
 
static unsigned int permutation_index (unsigned int p[n_nodes_per_side])
 

Static Public Attributes

static const unsigned int n_sides = dim + 1
 
static const unsigned int n_nodes = dim + 1
 
static const unsigned int n_nodes_per_side = dim
 
static const unsigned int n_lines_per_side = ( dim == 3 ? 3 : 0)
 Number of lines on boundary of one side. More...
 
static const unsigned int n_lines = ( dim == 3 ? 6 : 0)
 Number of lines, i.e. object of dimension dim-2 on the boundary of the reference element. More...
 
static const unsigned int side_nodes [n_sides][n_nodes_per_side]
 
static const unsigned int side_lines [n_sides][n_lines_per_side]
 
static const unsigned int line_nodes [n_lines][2]
 
static const unsigned int n_side_permutations = (dim+1)*(2*dim*dim-5*dim+6)/6
 
static const unsigned int side_permutations [n_side_permutations][n_nodes_per_side]
 

Detailed Description

template<unsigned int dim>
class RefElement< dim >

Definition at line 112 of file ref_element.hh.

Member Function Documentation

template<unsigned int dim>
static unsigned int RefElement< dim >::line_between_faces ( unsigned int  f1,
unsigned int  f2 
)
static

Return index of 1D line, shared by two faces f1 and f2 of the reference tetrahedron. Implemented only for dim == 3.

Here is the caller graph for this function:

template<>
unsigned int RefElement< 3 >::line_between_faces ( unsigned int  f1,
unsigned int  f2 
)

Definition at line 194 of file ref_element.cc.

template<>
const unsigned int RefElement< 3 >::line_nodes ( )

Definition at line 69 of file ref_element.cc.

template<unsigned int dim>
vec::fixed< dim+1 > RefElement< dim >::node_barycentric_coords ( unsigned int  nid)
static

Return barycentric coordinates of given node.

Parameters
nidNode number.

Definition at line 95 of file ref_element.cc.

template<unsigned int dim>
vec::fixed< dim > RefElement< dim >::node_coords ( unsigned int  nid)
static

Return local coordinates of given node.

Parameters
nidNode number.

Definition at line 80 of file ref_element.cc.

template<>
vec::fixed< 1 > RefElement< 1 >::normal_vector ( unsigned int  sid)

Definition at line 112 of file ref_element.cc.

template<>
vec::fixed< 2 > RefElement< 2 >::normal_vector ( unsigned int  sid)

Definition at line 120 of file ref_element.cc.

template<unsigned int dim>
static arma::vec::fixed<dim> RefElement< dim >::normal_vector ( unsigned int  sid)
static

Compute normal vector to a given side.

Parameters
sidSide number.

Here is the caller graph for this function:

template<>
vec::fixed< 3 > RefElement< 3 >::normal_vector ( unsigned int  sid)

Definition at line 142 of file ref_element.cc.

template<unsigned int dim>
unsigned int RefElement< dim >::oposite_node ( unsigned int  sid)
inlinestatic

Returns index of the node that is oposite to side of given index sid. Note: It is dependent on current node and side numbering.

Parameters
sidSide number.

Definition at line 211 of file ref_element.hh.

Here is the caller graph for this function:

template<unsigned int dim>
unsigned int RefElement< dim >::permutation_index ( unsigned int  p[n_nodes_per_side])
static

For a given permutation p of nodes finds its index within side_permutations.

Parameters
pPermutation of nodes.

Definition at line 206 of file ref_element.cc.

Here is the caller graph for this function:

template<>
const unsigned int RefElement< 3 >::side_lines ( )

Definition at line 60 of file ref_element.cc.

template<unsigned int dim>
static double RefElement< dim >::side_measure ( unsigned int  sid)
static

Here is the caller graph for this function:

template<>
double RefElement< 1 >::side_measure ( unsigned int  sid)

Definition at line 165 of file ref_element.cc.

template<>
double RefElement< 2 >::side_measure ( unsigned int  sid)

Definition at line 174 of file ref_element.cc.

template<>
double RefElement< 3 >::side_measure ( unsigned int  sid)

Definition at line 183 of file ref_element.cc.

template<>
const unsigned int RefElement< 1 >::side_nodes ( )

Definition at line 40 of file ref_element.cc.

template<>
const unsigned int RefElement< 2 >::side_nodes ( )

Definition at line 45 of file ref_element.cc.

template<>
const unsigned int RefElement< 3 >::side_nodes ( )

Definition at line 51 of file ref_element.cc.

template<>
const unsigned int RefElement< 1 >::side_permutations ( )

Definition at line 26 of file ref_element.cc.

template<>
const unsigned int RefElement< 2 >::side_permutations ( )

Definition at line 28 of file ref_element.cc.

template<>
const unsigned int RefElement< 3 >::side_permutations ( )

Definition at line 30 of file ref_element.cc.

Member Data Documentation

template<unsigned int dim>
const unsigned int RefElement< dim >::line_nodes[n_lines][2]
static

Nodes of 1D lines of the tetrahedron.

Definition at line 184 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::n_lines = ( dim == 3 ? 6 : 0)
static

Number of lines, i.e. object of dimension dim-2 on the boundary of the reference element.

Definition at line 169 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::n_lines_per_side = ( dim == 3 ? 3 : 0)
static

Number of lines on boundary of one side.

Definition at line 166 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::n_nodes = dim + 1
static

Number of vertices.

Definition at line 158 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::n_nodes_per_side = dim
static

Number of nodes on one side.

Definition at line 163 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::n_side_permutations = (dim+1)*(2*dim*dim-5*dim+6)/6
static

Number of permutations of nodes on sides.

dim value

1 1 2 2 3 6

Definition at line 194 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::n_sides = dim + 1
static

Number of sides.

Definition at line 153 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::side_lines[n_sides][n_lines_per_side]
static

Indices of 1D lines of the 2D sides of an tetrahedron. Nonempty only for dim==3.

Definition at line 179 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::side_nodes[n_sides][n_nodes_per_side]
static

Node numbers for each side.

Definition at line 174 of file ref_element.hh.

template<unsigned int dim>
const unsigned int RefElement< dim >::side_permutations[n_side_permutations][n_nodes_per_side]
static

Permutations of nodes on sides.

Definition at line 199 of file ref_element.hh.


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