
| enum FiniteElementData::Conformity |
Enumerator for the different types of continuity a finite element may have. Continuity is measured by the Sobolev space containing the constructed finite element space and is also called this way.
Note that certain continuities may imply others. For instance, a function in H1 is in Hcurl and Hdiv as well.
If you are interested in continuity in the classical sense, then the following relations hold:
In order to test if a finite element conforms to a certain space, use FiniteElementData<dim>::conforms().
| FiniteElementData< dim >::FiniteElementData | ( | ) |
Default constructor. Constructs an element with no dofs. Checking n_dofs_per_cell() is therefore a good way to check if something went wrong.
| FiniteElementData< dim >::FiniteElementData | ( | const std::vector< unsigned int > & | dofs_per_object, | |
| const unsigned int | n_components, | |||
| const unsigned int | degree, | |||
| const Conformity | conformity = unknown, |
|||
| const unsigned int | n_blocks = numbers::invalid_unsigned_int | |||
| ) |
Constructor, computing all necessary values from the distribution of dofs to geometrcal objects.
| dofs_per_object | Number of dofs on geometrical objects for each dimension. In this vector, entry 0 refers to dofs on vertices, entry 1 on lines and so on. Its length must be dim+1. | |
| n_components | Number of vector components of the element. | |
| degree | Maximal polynomial degree in a single direction. | |
| conformity | The finite element space has continuity of this Sobolev space. | |
| n_blocks | Number of vector blocks. |
| unsigned int FiniteElementData< dim >::n_dofs_per_vertex | ( | ) | const [inline] |
Number of dofs per vertex.
References FiniteElementData< dim >::dofs_per_vertex.
| unsigned int FiniteElementData< dim >::n_dofs_per_line | ( | ) | const [inline] |
Number of dofs per line. Not including dofs on lower dimensional objects.
References FiniteElementData< dim >::dofs_per_line.
| unsigned int FiniteElementData< dim >::n_dofs_per_quad | ( | ) | const [inline] |
Number of dofs per quad. Not including dofs on lower dimensional objects.
References FiniteElementData< dim >::dofs_per_quad.
| unsigned int FiniteElementData< dim >::n_dofs_per_hex | ( | ) | const [inline] |
Number of dofs per hex. Not including dofs on lower dimensional objects.
References FiniteElementData< dim >::dofs_per_hex.
| unsigned int FiniteElementData< dim >::n_dofs_per_face | ( | ) | const [inline] |
Number of dofs per face, accumulating degrees of freedom of all lower dimensional objects.
References FiniteElementData< dim >::dofs_per_face.
| unsigned int FiniteElementData< dim >::n_dofs_per_cell | ( | ) | const [inline] |
Number of dofs per cell, accumulating degrees of freedom of all lower dimensional objects.
References FiniteElementData< dim >::dofs_per_cell.
| unsigned int FiniteElementData< dim >::n_dofs_per_object | ( | ) | const [inline] |
Return the number of degrees per structdim-dimensional object. For structdim==0, the function therefore returns dofs_per_vertex, for structdim==1 dofs_per_line, etc. This function is mostly used to allow some template trickery for functions that should work on all sorts of objects without wanting to use the different names (vertex, line, ...) associated with these objects.
References Assert, FiniteElementData< dim >::dofs_per_hex, FiniteElementData< dim >::dofs_per_line, FiniteElementData< dim >::dofs_per_quad, FiniteElementData< dim >::dofs_per_vertex, and numbers::invalid_unsigned_int.
| unsigned int FiniteElementData< dim >::n_components | ( | ) | const [inline] |
Number of components.
References FiniteElementData< dim >::components.
| unsigned int FiniteElementData< dim >::n_blocks | ( | ) | const [inline] |
Number of blocks.
References FiniteElementData< dim >::blocks.
Referenced by FiniteElement< dim >::block_to_base_index().
| unsigned int FiniteElementData< dim >::tensor_degree | ( | ) | const [inline] |
Maximal polynomial degree of a shape function in a single coordinate direction.
This function can be used to determine the optimal quadrature rule.
References FiniteElementData< dim >::degree.
| bool FiniteElementData< dim >::conforms | ( | const | Conformity | ) | const [inline] |
Test whether a finite element space conforms to a certain Sobolev space.
References FiniteElementData< dim >::conforming_space.
| unsigned int FiniteElementData< dim >::face_to_cell_index | ( | const unsigned int | face_index, | |
| const unsigned int | face, | |||
| const bool | face_orientation = true, |
|||
| const bool | face_flip = false, |
|||
| const bool | face_rotation = false | |||
| ) | const |
Given an index in the natural ordering of indices on a face, return the index of the same degree of freedom on the cell.
Referenced by FiniteElementData< dim >::face_to_equivalent_cell_index().
| unsigned int FiniteElementData< dim >::face_to_equivalent_cell_index | ( | const unsigned int | index | ) | const |
To explain the concept, consider the case where we would like to know whether a degree of freedom on a face is primitive. Unfortunately, the is_primitive() function in the FiniteElement class takes a cell index, so we would need to find the cell index of the shape function that corresponds to the present face index. This function does that.
Code implementing this would then look like this:
for (i=0; i<dofs_per_face; ++i) if (fe.is_primitive(fe.face_to_equivalent_cell_index(i))) ... do whatever
Referenced by FiniteElement< dim >::face_system_to_component_index().
| bool FiniteElementData< dim >::operator== | ( | const FiniteElementData< dim > & | ) | const |
Comparison operator.
| unsigned int FiniteElementData< 1 >::face_to_equivalent_cell_index | ( | const unsigned int | index | ) | const [inline] |
References Assert, and FiniteElementData< dim >::dofs_per_face.
| unsigned int FiniteElementData< 2 >::face_to_equivalent_cell_index | ( | const unsigned int | index | ) | const [inline] |
| unsigned int FiniteElementData< 3 >::face_to_equivalent_cell_index | ( | const unsigned int | index | ) | const [inline] |
References FiniteElementData< dim >::face_to_cell_index().
const unsigned int FiniteElementData< dim >::dimension = dim [static] |
The dimension of the finite element, which is the template parameter dim
| const unsigned int FiniteElementData< dim >::dofs_per_vertex |
Number of degrees of freedom on a vertex.
Referenced by FiniteElementData< dim >::face_to_equivalent_cell_index(), FiniteElementData< dim >::n_dofs_per_object(), and FiniteElementData< dim >::n_dofs_per_vertex().
| const unsigned int FiniteElementData< dim >::dofs_per_line |
Number of degrees of freedom in a line; not including the degrees of freedom on the vertices of the line.
Referenced by FiniteElementData< dim >::n_dofs_per_line(), and FiniteElementData< dim >::n_dofs_per_object().
| const unsigned int FiniteElementData< dim >::dofs_per_quad |
Number of degrees of freedom in a quadrilateral; not including the degrees of freedom on the lines and vertices of the quadrilateral.
Referenced by FiniteElementData< dim >::n_dofs_per_object(), and FiniteElementData< dim >::n_dofs_per_quad().
| const unsigned int FiniteElementData< dim >::dofs_per_hex |
Number of degrees of freedom in a hexahedron; not including the degrees of freedom on the quadrilaterals, lines and vertices of the hecahedron.
Referenced by FiniteElementData< dim >::n_dofs_per_hex(), and FiniteElementData< dim >::n_dofs_per_object().
| const unsigned int FiniteElementData< dim >::first_line_index |
First index of dof on a line.
| const unsigned int FiniteElementData< dim >::first_quad_index |
First index of dof on a quad.
| const unsigned int FiniteElementData< dim >::first_hex_index |
First index of dof on a hexahedron.
| const unsigned int FiniteElementData< dim >::first_face_line_index |
First index of dof on a line for face data.
| const unsigned int FiniteElementData< dim >::first_face_quad_index |
First index of dof on a quad for face data.
| const unsigned int FiniteElementData< dim >::dofs_per_face |
Number of degrees of freedom on a face. This is the accumulated number of degrees of freedom on all the objects of dimension up to dim-1 constituting a face.
Referenced by FiniteElementData< dim >::face_to_equivalent_cell_index(), and FiniteElementData< dim >::n_dofs_per_face().
| const unsigned int FiniteElementData< dim >::dofs_per_cell |
Total number of degrees of freedom on a cell. This is the accumulated number of degrees of freedom on all the objects of dimension up to dim constituting a cell.
Referenced by FiniteElement< dim >::get_nonzero_components(), FiniteElement< dim >::is_primitive(), FiniteElementData< dim >::n_dofs_per_cell(), FiniteElement< dim >::n_nonzero_components(), FiniteElement< dim >::restriction_is_additive(), and FiniteElement< dim >::system_to_block_index().
| const unsigned int FiniteElementData< dim >::components |
Number of vector components of this finite element, and dimension of the image space. For vector-valued finite elements (i.e. when this number is greater than one), the number of vector components is in many cases equal to the number of base elements glued together with the help of the FESystem class. However, for elements like the Nedelec element, the number is greater than one even though we only have one base element.
Referenced by FiniteElementData< dim >::n_components().
| const unsigned int FiniteElementData< dim >::blocks |
The number of vector blocks a BlockVector for this element should contain. For primitive elements, this is equal to components, but for vector valued base elements it may differ. Actually, in systems this is the sum of the base element multiplicities.
Referenced by FiniteElementData< dim >::n_blocks().
| const unsigned int FiniteElementData< dim >::degree |
Maximal polynomial degree of a shape function in a single coordinate direction.
Reimplemented in FE_DGPNonparametric< dim >, and FE_Nedelec< dim >.
Referenced by FiniteElementData< dim >::tensor_degree().
| const Conformity FiniteElementData< dim >::conforming_space |
Indicate the space this element conforms to.
Referenced by FiniteElementData< dim >::conforms().
documentation generated on Wed Aug 27 19:11:28 2008 by
doxygen
1.5.6