Basix Python interface documentation¶
basix provides information about finite elements on the reference cell. It has support for interval (1D), triangle and quadrilateral (2D), and tetrahedron, hexahedron, prism and pyramid (3D) reference cells. Elements are available in several different types, typically as ElementName(celltype, degree). Not all elements are available on all cell types, and an error should be thrown if an invalid combination is requested. Each element has a tabulate function which returns the basis functions and a number of their derivatives, as desired.
- class basix.CellType(self: basix._basixcpp.CellType, value: int) None ¶
Bases:
pybind11_builtins.pybind11_object
Members:
point
interval
triangle
tetrahedron
quadrilateral
hexahedron
prism
pyramid
- hexahedron = <CellType.hexahedron: 5>¶
- interval = <CellType.interval: 1>¶
- property name¶
- point = <CellType.point: 0>¶
- prism = <CellType.prism: 6>¶
- pyramid = <CellType.pyramid: 7>¶
- quadrilateral = <CellType.quadrilateral: 4>¶
- tetrahedron = <CellType.tetrahedron: 3>¶
- triangle = <CellType.triangle: 2>¶
- property value¶
- class basix.LatticeType(self: basix._basixcpp.LatticeType, value: int) None ¶
Bases:
pybind11_builtins.pybind11_object
Members:
equispaced
gll_warped
- equispaced = <LatticeType.equispaced: 0>¶
- gll_warped = <LatticeType.gll_warped: 1>¶
- property name¶
- property value¶
- class basix.MappingType(self: basix._basixcpp.MappingType, value: int) None ¶
Bases:
pybind11_builtins.pybind11_object
Members:
identity
covariantPiola
contravariantPiola
doubleCovariantPiola
doubleContravariantPiola
- contravariantPiola = <MappingType.contravariantPiola: 2>¶
- covariantPiola = <MappingType.covariantPiola: 1>¶
- doubleContravariantPiola = <MappingType.doubleContravariantPiola: 4>¶
- doubleCovariantPiola = <MappingType.doubleCovariantPiola: 3>¶
- identity = <MappingType.identity: 0>¶
- property name¶
- property value¶
- basix.cell_to_str(arg0: basix._basixcpp.CellType) str ¶
Convert a cell type to a string.
- basix.compute_jacobi_deriv(arg0: float, arg1: int, arg2: int, arg3: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64] ¶
Compute jacobi polynomial and derivatives at points
- basix.create_element(arg0: str, arg1: str, arg2: int) basix._basixcpp.FiniteElement ¶
Create a FiniteElement of a given family, celltype and degree
- basix.create_lattice(arg0: basix::cell::type, arg1: int, arg2: basix._basixcpp.LatticeType, arg3: bool) numpy.ndarray[numpy.float64] ¶
Create a uniform lattice of points on a reference cell
- basix.family_to_str(arg0: basix._basixcpp.ElementFamily) str ¶
Convert a family type to a string.
- basix.geometry(arg0: basix::cell::type) numpy.ndarray[numpy.float64] ¶
Geometric points of a reference cell
- basix.index(*args, **kwargs)¶
Overloaded function.
index(arg0: int) -> int
Indexing for 1D arrays
index(arg0: int, arg1: int) -> int
Indexing for triangular arrays
index(arg0: int, arg1: int, arg2: int) -> int
Indexing for tetrahedral arrays
- basix.make_quadrature(arg0: str, arg1: basix._basixcpp.CellType, arg2: int) Tuple[numpy.ndarray[numpy.float64], numpy.ndarray[numpy.float64]] ¶
Compute quadrature points and weights on a reference cell
- basix.mapping_to_str(arg0: basix._basixcpp.MappingType) str ¶
Convert a mapping type to a string.
- basix.tabulate_polynomial_set(arg0: basix._basixcpp.CellType, arg1: int, arg2: int, arg3: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64] ¶
Tabulate orthonormal polynomial expansion set
- basix.topology(arg0: basix::cell::type) List[List[List[int]]] ¶
Topological description of a reference cell