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.

  1. index(arg0: int) -> int

Indexing for 1D arrays

  1. index(arg0: int, arg1: int) -> int

Indexing for triangular arrays

  1. 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