4#ifndef SVMP_FE_BASIS_NODEORDERINGCONVENTIONS_H
5#define SVMP_FE_BASIS_NODEORDERINGCONVENTIONS_H
16namespace svmp::FE::basis {
75 std::vector<math::Vector<double, 3>>
coords;
93 std::size_t local_node);
121 static std::vector<math::Vector<double, 3>>
159 static std::vector<math::Vector<double, 3>>
Reference-topology vocabulary (BasisTopology) and the internal ElementType/topology/order maps.
Fixed-size vector types for FE computations, backed by Eigen.
Fundamental type definitions for the finite element library.
Reference-node coordinate and count lookups for an element type.
Definition NodeOrderingConventions.h:82
static LagrangeNodeLayout get_lagrange_lattice(ElementType canonical_type, int order)
Reference Lagrange nodes with their integer lattice indices.
static std::vector< math::Vector< double, 3 > > get_lagrange_node_coords(ElementType canonical_type, int order)
Reference Lagrange node coordinates for a canonical type and order.
static std::size_t num_nodes(ElementType elem_type)
Number of reference nodes in an element type's public layout.
static std::vector< math::Vector< double, 3 > > serendipity_node_coords(BasisTopology topology, int order)
Reference nodes for an arbitrary-order serendipity layout.
static math::Vector< double, 3 > node_coord_at(ElementType elem_type, std::size_t local_node)
One reference node coordinate by local index. Regenerates the full layout per call; prefer node_coord...
static std::vector< math::Vector< double, 3 > > node_coords(ElementType elem_type)
All reference node coordinates for an element type, in public layout order.
BasisTopology
Reference-cell topology of a basis (the shape, independent of order).
Definition BasisTraits.h:28
double line_coord_pm_one(int i, int order)
The i-th 1D tensor-axis reference node on [-1, 1] at the given order.
ElementType
Reference element types supported by the FE library.
Definition Types.h:215
Eigen::Matrix< T, static_cast< int >(N), 1 > Vector
Fixed-size column vector for element-level computations.
Definition Vector.h:51
Reference Lagrange node coordinates paired with their integer lattice index.
Definition NodeOrderingConventions.h:74
std::vector< math::Vector< double, 3 > > coords
Reference node coordinates, one per node.
Definition NodeOrderingConventions.h:75
std::vector< std::array< int, 3 > > lattice
Integer lattice index of each node (see details above).
Definition NodeOrderingConventions.h:76