svMultiPhysics
Loading...
Searching...
No Matches
Public Attributes | List of all members
svmp::FE::basis::BasisRequest Struct Reference

Runtime description of a basis to construct. More...

#include <BasisFactory.h>

Public Attributes

ElementType element_type {ElementType::Unknown}
 Named element layout, or Unknown to request by topology.
 
BasisType basis_type {BasisType::Lagrange}
 Basis family to construct.
 
std::optional< int > order {}
 Polynomial order; required by the factory.
 
Continuity continuity {Continuity::C0}
 Inter-element continuity (Lagrange/Serendipity are C0).
 
FieldType field_type {FieldType::Scalar}
 Field type (Lagrange/Serendipity support Scalar).
 
std::vector< double > knot_vector {}
 Reserved for spline/NURBS families; unused here.
 
std::vector< double > weights {}
 Reserved for rational (NURBS) families; unused here.
 
std::vector< int > axis_orders {}
 Reserved for per-axis tensor spline orders; unused here.
 
std::vector< std::vector< double > > axis_knot_vectors {}
 Reserved for per-axis spline knots; unused here.
 
std::vector< std::vector< double > > axis_weights {}
 Reserved for per-axis rational weights; unused here.
 
std::vector< int > tensor_extents {}
 Reserved for tensor-product extents; unused here.
 
std::string custom_id {}
 
BasisTopology topology {BasisTopology::Unknown}
 

Detailed Description

Runtime description of a basis to construct.

A request identifies exactly one construction target – a named ElementType layout, or a reference BasisTopology with an explicit order – plus the family and field policy; basis_factory::create() validates and builds from it. The spline/NURBS fields are reserved for future families and are unused by the scalar Lagrange/Serendipity factory.

Member Data Documentation

◆ axis_knot_vectors

std::vector<std::vector<double> > svmp::FE::basis::BasisRequest::axis_knot_vectors {}

Reserved for per-axis spline knots; unused here.

◆ axis_orders

std::vector<int> svmp::FE::basis::BasisRequest::axis_orders {}

Reserved for per-axis tensor spline orders; unused here.

◆ axis_weights

std::vector<std::vector<double> > svmp::FE::basis::BasisRequest::axis_weights {}

Reserved for per-axis rational weights; unused here.

◆ basis_type

BasisType svmp::FE::basis::BasisRequest::basis_type {BasisType::Lagrange}

Basis family to construct.

◆ continuity

Continuity svmp::FE::basis::BasisRequest::continuity {Continuity::C0}

Inter-element continuity (Lagrange/Serendipity are C0).

◆ custom_id

std::string svmp::FE::basis::BasisRequest::custom_id {}

Optional identifier for Custom families.

◆ element_type

ElementType svmp::FE::basis::BasisRequest::element_type {ElementType::Unknown}

Named element layout, or Unknown to request by topology.

◆ field_type

FieldType svmp::FE::basis::BasisRequest::field_type {FieldType::Scalar}

Field type (Lagrange/Serendipity support Scalar).

◆ knot_vector

std::vector<double> svmp::FE::basis::BasisRequest::knot_vector {}

Reserved for spline/NURBS families; unused here.

◆ order

std::optional<int> svmp::FE::basis::BasisRequest::order {}

Polynomial order; required by the factory.

◆ tensor_extents

std::vector<int> svmp::FE::basis::BasisRequest::tensor_extents {}

Reserved for tensor-product extents; unused here.

◆ topology

BasisTopology svmp::FE::basis::BasisRequest::topology {BasisTopology::Unknown}

Reference topology for arbitrary-order requests, or Unknown to request by element_type.

◆ weights

std::vector<double> svmp::FE::basis::BasisRequest::weights {}

Reserved for rational (NURBS) families; unused here.


The documentation for this struct was generated from the following file: