55 VTK_QUADRATIC_EDGE = 21,
56 VTK_QUADRATIC_TRIANGLE = 22,
57 VTK_QUADRATIC_QUAD = 23,
58 VTK_QUADRATIC_TETRA = 24,
59 VTK_QUADRATIC_HEXAHEDRON = 25,
60 VTK_QUADRATIC_WEDGE = 26,
61 VTK_QUADRATIC_PYRAMID = 27,
63 VTK_LAGRANGE_CURVE = 68,
64 VTK_LAGRANGE_TRIANGLE = 69,
65 VTK_LAGRANGE_QUADRILATERAL = 70,
66 VTK_LAGRANGE_TETRAHEDRON = 71,
67 VTK_LAGRANGE_HEXAHEDRON = 72,
68 VTK_LAGRANGE_WEDGE = 73,
69 VTK_LAGRANGE_PYRAMID = 74,
71 VTK_INVALID =
static_cast<unsigned int>(-1)
108template <
int dim,
int spacedim>
109std::unique_ptr<Mapping<dim, spacedim>>
115 return std::make_unique<MappingQGeneric<dim, spacedim>>(degree);
120 return std::make_unique<MappingFE<dim, spacedim>>(
123 return std::make_unique<MappingFE<dim, spacedim>>(
130 return std::make_unique<MappingQGeneric<dim, spacedim>>(degree);
135template <
int dim,
int spacedim>
255 constexpr std::array<unsigned int, 4> exodus_to_deal{{0, 1, 3, 2}};
256 return exodus_to_deal[vertex_n];
264 constexpr std::array<unsigned int, 8> exodus_to_deal{
265 {0, 1, 3, 2, 4, 5, 7, 6}};
266 return exodus_to_deal[vertex_n];
270 constexpr std::array<unsigned int, 6> exodus_to_deal{{2, 1, 0, 5, 4, 3}};
271 return exodus_to_deal[vertex_n];
275 constexpr std::array<unsigned int, 5> exodus_to_deal{{0, 1, 3, 2, 4}};
276 return exodus_to_deal[vertex_n];
305 constexpr std::array<unsigned int, 4> exodus_to_deal{{2, 1, 3, 0}};
306 return exodus_to_deal[face_n];
310 constexpr std::array<unsigned int, 4> exodus_to_deal{{1, 3, 2, 0}};
311 return exodus_to_deal[face_n];
315 constexpr std::array<unsigned int, 6> exodus_to_deal{{2, 1, 3, 0, 4, 5}};
316 return exodus_to_deal[face_n];
320 constexpr std::array<unsigned int, 6> exodus_to_deal{{3, 4, 2, 0, 1}};
321 return exodus_to_deal[face_n];
325 constexpr std::array<unsigned int, 5> exodus_to_deal{{3, 2, 4, 1, 0}};
326 return exodus_to_deal[face_n];
355 constexpr std::array<unsigned int, 4> unv_to_deal{{1, 0, 2, 3}};
356 return unv_to_deal[vertex_n];
360 constexpr std::array<unsigned int, 8> unv_to_deal{
361 {6, 7, 5, 4, 2, 3, 1, 0}};
362 return unv_to_deal[vertex_n];
376 return VTKCellType::VTK_VERTEX;
378 return VTKCellType::VTK_LINE;
380 return VTKCellType::VTK_TRIANGLE;
382 return VTKCellType::VTK_QUAD;
384 return VTKCellType::VTK_TETRA;
386 return VTKCellType::VTK_PYRAMID;
388 return VTKCellType::VTK_WEDGE;
390 return VTKCellType::VTK_HEXAHEDRON;
392 return VTKCellType::VTK_INVALID;
396 return VTKCellType::VTK_INVALID;
405 return VTKCellType::VTK_VERTEX;
407 return VTKCellType::VTK_QUADRATIC_EDGE;
409 return VTKCellType::VTK_QUADRATIC_TRIANGLE;
411 return VTKCellType::VTK_QUADRATIC_QUAD;
413 return VTKCellType::VTK_QUADRATIC_TETRA;
415 return VTKCellType::VTK_QUADRATIC_PYRAMID;
417 return VTKCellType::VTK_QUADRATIC_WEDGE;
419 return VTKCellType::VTK_QUADRATIC_HEXAHEDRON;
421 return VTKCellType::VTK_INVALID;
425 return VTKCellType::VTK_INVALID;
434 return VTKCellType::VTK_VERTEX;
436 return VTKCellType::VTK_LAGRANGE_CURVE;
438 return VTKCellType::VTK_LAGRANGE_TRIANGLE;
440 return VTKCellType::VTK_LAGRANGE_QUADRILATERAL;
442 return VTKCellType::VTK_LAGRANGE_TETRAHEDRON;
444 return VTKCellType::VTK_LAGRANGE_PYRAMID;
446 return VTKCellType::VTK_LAGRANGE_WEDGE;
448 return VTKCellType::VTK_LAGRANGE_HEXAHEDRON;
450 return VTKCellType::VTK_INVALID;
454 return VTKCellType::VTK_INVALID;
457#include "reference_cell.inst"
unsigned int n_vertices() const
bool is_hyper_cube() const
unsigned int vtk_linear_type() const
Quadrature< dim > get_gauss_type_quadrature(const unsigned n_points_1D) const
unsigned int n_faces() const
unsigned int exodusii_vertex_to_deal_vertex(const unsigned int vertex_n) const
unsigned int unv_vertex_to_deal_vertex(const unsigned int vertex_n) const
std::unique_ptr< Mapping< dim, spacedim > > get_default_mapping(const unsigned int degree) const
unsigned int vtk_quadratic_type() const
unsigned int vtk_lagrange_type() const
unsigned int get_dimension() const
unsigned int exodusii_face_to_deal_face(const unsigned int face_n) const
const Mapping< dim, spacedim > & get_default_linear_mapping() const
std::string to_string() const
const Quadrature< dim > & get_nodal_type_quadrature() const
const std::vector< Point< spacedim > > & get_vertices() const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcNotImplemented()
#define Assert(cond, exc)
#define AssertDimension(dim1, dim2)
#define AssertIndexRange(index, range)
void reference_cell(Triangulation< dim, spacedim > &tria, const ReferenceCell &reference_cell)
constexpr const ReferenceCell Tetrahedron
constexpr const ReferenceCell Quadrilateral
constexpr const ReferenceCell Wedge
constexpr const ReferenceCell Pyramid
constexpr const ReferenceCell Invalid
constexpr const ReferenceCell Triangle
constexpr const ReferenceCell Hexahedron
constexpr const ReferenceCell Vertex
constexpr const ReferenceCell Line
static const unsigned int invalid_unsigned_int