4#ifndef SVMP_FE_BASIS_BASISTRAITS_H
5#define SVMP_FE_BASIS_BASISTRAITS_H
17namespace svmp::FE::basis {
115[[nodiscard]]
constexpr int complete_lagrange_alias_order(
ElementType type)
noexcept {
144[[nodiscard]]
constexpr int topology_dimension(
BasisTopology top)
noexcept {
180[[nodiscard]]
constexpr int named_lagrange_order(
ElementType type)
noexcept {
184 return complete_lagrange_alias_order(type);
Fundamental type definitions for the finite element library.
BasisTopology
Reference-cell topology of a basis (the shape, independent of order).
Definition BasisTraits.h:28
constexpr ElementType named_element_for(BasisTopology top, int order, BasisType family) noexcept
Named ElementType denoted by a (topology, order, family) triple.
Definition BasisTraits.h:205
@ Wedge
3D triangular prism.
@ Triangle
2D triangle (simplex).
@ Unknown
Unrecognized or uninitialized topology.
@ Hexahedron
3D hexahedron (tensor product).
@ Quadrilateral
2D quadrilateral (tensor product).
@ Tetrahedron
3D tetrahedron (simplex).
BasisType
Basis function families.
Definition Types.h:247
constexpr svmp::CellFamily to_mesh_family(ElementType elem) noexcept
Convert FE ElementType to Mesh CellFamily.
Definition Types.h:468
ElementType
Reference element types supported by the FE library.
Definition Types.h:215
@ Serendipity
Serendipity elements.
@ Triangle3
3-node triangle
@ Quad9
9-node quadrilateral (bi-quadratic)
@ Wedge6
6-node wedge/prism
@ Quad4
4-node quadrilateral
@ Quad8
8-node quadrilateral (serendipity)
@ Unknown
Unrecognized or uninitialized element type.
@ Wedge18
18-node wedge (complete quadratic)
@ Hex27
27-node hexahedron (tri-quadratic)
@ Point1
1-node point element
@ Triangle6
6-node triangle
@ Hex20
20-node hexahedron (serendipity)
@ Tetra10
10-node tetrahedron
@ Tetra4
4-node tetrahedron