16 #include <deal.II/base/geometry_info.h> 18 #include <deal.II/fe/fe.h> 20 DEAL_II_NAMESPACE_OPEN
24 const std::vector<unsigned int> &dofs_per_object,
26 const unsigned int degree,
29 : dofs_per_vertex(dofs_per_object[0])
30 , dofs_per_line(dofs_per_object[1])
31 , dofs_per_quad(dim > 1 ? dofs_per_object[2] : 0)
32 , dofs_per_hex(dim > 2 ? dofs_per_object[3] : 0)
33 , first_line_index(
GeometryInfo<dim>::vertices_per_cell * dofs_per_vertex)
34 , first_quad_index(first_line_index +
36 , first_hex_index(first_quad_index +
38 , first_face_line_index(
GeometryInfo<dim - 1>::vertices_per_cell *
40 , first_face_quad_index(
41 (dim == 3 ?
GeometryInfo<dim - 1>::vertices_per_cell * dofs_per_vertex :
42 GeometryInfo<dim>::vertices_per_cell * dofs_per_vertex) +
44 , dofs_per_face(
GeometryInfo<dim>::vertices_per_face * dofs_per_vertex +
47 , dofs_per_cell(
GeometryInfo<dim>::vertices_per_cell * dofs_per_vertex +
53 , conforming_space(conformity)
54 , block_indices_data(block_indices.size() == 0 ?
58 Assert(dofs_per_object.size() == dim + 1,
80 DEAL_II_NAMESPACE_CLOSE
const unsigned int components
const unsigned int dofs_per_quad
const unsigned int degree
const unsigned int dofs_per_line
bool operator==(const FiniteElementData &) const
const unsigned int dofs_per_hex
#define Assert(cond, exc)
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
FiniteElementData(const std::vector< unsigned int > &dofs_per_object, const unsigned int n_components, const unsigned int degree, const Conformity conformity=unknown, const BlockIndices &block_indices=BlockIndices())
const Conformity conforming_space
const unsigned int dofs_per_vertex
unsigned int n_components(const DoFHandler< dim, spacedim > &dh)