svMultiPhysics
Loading...
Searching...
No Matches
Classes | Functions
Reference-node generation (internal)

Reference-node generators that the basis families build on. More...

Collaboration diagram for Reference-node generation (internal):

Classes

struct  svmp::FE::basis::LagrangeNodeLayout
 Reference Lagrange node coordinates paired with their integer lattice index. More...
 
class  svmp::FE::basis::ReferenceNodeLayout
 Reference-node coordinate and count lookups for an element type. More...
 

Functions

double svmp::FE::basis::line_coord_pm_one (int i, int order)
 The i-th 1D tensor-axis reference node on [-1, 1] at the given order.
 

Detailed Description

Reference-node generators that the basis families build on.

Warning
Internal implementation detail. Do not use these directly: obtain a basis through basis_factory and read its nodes via BasisFunction::nodes(). These declarations are part of the internal node-ordering machinery and their interface may change without notice.

This is the reference-node generator the basis families build on, not a consumer entry point. It is documented for FE core developers; model-level code never calls it directly.

Function Documentation

◆ line_coord_pm_one()

double svmp::FE::basis::line_coord_pm_one ( int  i,
int  order 
)

The i-th 1D tensor-axis reference node on [-1, 1] at the given order.

Returns the Gauss-Lobatto-Legendre (GLL) node of index i for a degree-order distribution: the endpoints are -1 and +1 and the interior nodes are the roots of \(P'_{order}\), so high-order tensor interpolation stays well-conditioned (a logarithmic Lebesgue constant instead of the exponential growth of equispaced nodes). At order 1 the nodes are \(\{-1, +1\}\) and at order 2 \(\{-1, 0, +1\}\), so they coincide with the equispaced layout for the production orders and differ only for order >= 3. Returns 0 for order <= 0 when i is 0. Invalid indices throw.

This is the single definition of the tensor-axis node distribution: the reference-node layout generators, the Lagrange tensor-axis initialization, and the serendipity edge/face/interior strata all source their 1D nodes here. The LagrangeBasis and SerendipityBasis docs point back to this description of the GLL distribution and its conditioning rather than restating it.

Parameters
iNode index in [0, order] for positive orders, or 0 for order <= 0.
orderPolynomial order of the 1D distribution.
Returns
GLL node coordinate on [-1, 1].
Exceptions
BasisNodeOrderingExceptionIf i is outside the valid range.