17 #ifndef __deal2__fe_base_h
18 #define __deal2__fe_base_h
20 #include <deal.II/base/config.h>
22 #include <deal.II/base/subscriptor.h>
23 #include <deal.II/base/point.h>
24 #include <deal.II/base/tensor.h>
25 #include <deal.II/base/table.h>
26 #include <deal.II/base/vector_slice.h>
27 #include <deal.II/base/geometry_info.h>
28 #include <deal.II/lac/full_matrix.h>
29 #include <deal.II/fe/fe_update_flags.h>
30 #include <deal.II/fe/mapping.h>
37 template<
int dim,
int spacedim>
class FESystem;
97 this_element_dominates,
98 other_element_dominates,
99 neither_element_dominates,
100 either_element_can_dominate,
322 const unsigned int degree,
366 template <
int structdim>
456 case this_element_dominates:
457 if ((d2 == this_element_dominates) ||
458 (d2 == either_element_can_dominate) ||
459 (d2 == no_requirements))
460 return this_element_dominates;
462 return neither_element_dominates;
464 case other_element_dominates:
465 if ((d2 == other_element_dominates) ||
466 (d2 == either_element_can_dominate) ||
467 (d2 == no_requirements))
468 return other_element_dominates;
470 return neither_element_dominates;
472 case neither_element_dominates:
473 return neither_element_dominates;
475 case either_element_can_dominate:
476 if (d2 == no_requirements)
477 return either_element_can_dominate;
481 case no_requirements:
489 return neither_element_dominates;
499 return dofs_per_vertex;
509 return dofs_per_line;
519 return dofs_per_quad;
539 return dofs_per_face;
549 return dofs_per_cell;
555 template <
int structdim>
563 return dofs_per_vertex;
565 return dofs_per_line;
567 return dofs_per_quad;
593 return cached_primitivity;
602 cached_primitivity = value;
611 return block_indices_data;
621 return block_indices_data.size();
640 return ((space & conforming_space) == space);
647 DEAL_II_NAMESPACE_CLOSE
const unsigned int first_hex_index
static const unsigned int invalid_unsigned_int
const unsigned int components
Auxiliary class aiding in the handling of block structures like in BlockVector or FESystem...
const unsigned int dofs_per_quad
const unsigned int degree
bool is_primitive() const
const unsigned int dofs_per_line
const unsigned int first_face_line_index
const BlockIndices & block_indices() const
unsigned int tensor_degree() const
unsigned int n_dofs_per_face() const
const unsigned int first_quad_index
const unsigned int dofs_per_hex
#define Assert(cond, exc)
unsigned int n_components() const
unsigned int n_dofs_per_vertex() const
bool operator==(const FiniteElementData &) const
const unsigned int dofs_per_cell
static const unsigned int dimension
Domination operator&(const Domination d1, const Domination d2)
bool conforms(const Conformity) const
unsigned int n_dofs_per_object() const
const unsigned int first_face_quad_index
unsigned int n_dofs_per_line() const
const Conformity conforming_space
unsigned int n_blocks() const
const unsigned int dofs_per_face
const unsigned int first_line_index
unsigned int n_dofs_per_cell() const
const unsigned int dofs_per_vertex
void set_primitivity(const bool value)
::ExceptionBase & ExcInternalError()
unsigned int n_dofs_per_hex() const
unsigned int n_dofs_per_quad() const
BlockIndices block_indices_data