Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/basix/v0.8.0/cpp/namespacebasix_1_1cell.html

# Basix 0.4.1

## HomeInstallationDemosC++ docsPython docs

basix::cell Namespace Reference

## Enumerations

enum  type {
point = 0, interval = 1, triangle = 2, tetrahedron = 3,
quadrilateral = 4, hexahedron = 5, prism = 6, pyramid = 7
}
Cell type.

## Functions

xt::xtensor< double, 2 > geometry (cell::type celltype)

std::vector< std::vector< std::vector< int > > > topology (cell::type celltype)

std::vector< std::vector< std::vector< std::vector< int > > > > sub_entity_connectivity (cell::type celltype)

xt::xtensor< double, 2 > sub_entity_geometry (cell::type celltype, int dim, int index)

int num_sub_entities (cell::type celltype, int dim)

int topological_dimension (cell::type celltype)

cell::type sub_entity_type (cell::type celltype, int dim, int index)

double volume (cell::type cell_type)

xt::xtensor< double, 2 > facet_outward_normals (cell::type cell_type)

xt::xtensor< double, 2 > facet_normals (cell::type cell_type)

std::vector< bool > facet_orientations (cell::type cell_type)

xt::xtensor< double, 1 > facet_reference_volumes (cell::type cell_type)

std::vector< std::vector< cell::type > > subentity_types (cell::type cell_type)

xt::xtensor< double, 3 > facet_jacobians (cell::type cell_type)

## Detailed Description

This namespace include functions that can be used to obtain geometric and topological information about reference cells

## ◆ facet_jacobians()

 xt::xtensor< double, 3 > basix::cell::facet_jacobians ( cell::type cell_type )

Get the jacobians of the facets of a reference cell

Parameters
 cell_type Type of cell
Returns
The jacobians of the facets

## ◆ facet_normals()

 xt::xtensor< double, 2 > basix::cell::facet_normals ( cell::type cell_type )

Get the normals to the facets of a reference cell oriented using the low-to-high ordering of the facet

Parameters
 cell_type Type of cell
Returns
The normals

## ◆ facet_orientations()

 std::vector< bool > basix::cell::facet_orientations ( cell::type cell_type )

Get an array of bools indicating whether or not the facet normals are outward pointing

Parameters
 cell_type Type of cell
Returns
The orientations

## ◆ facet_outward_normals()

 xt::xtensor< double, 2 > basix::cell::facet_outward_normals ( cell::type cell_type )

Get the (outward) normals to the facets of a reference cell

Parameters
 cell_type Type of cell
Returns
The outward normals

## ◆ facet_reference_volumes()

 xt::xtensor< double, 1 > basix::cell::facet_reference_volumes ( cell::type cell_type )

Get the reference volumes of the facets of a reference cell

Parameters
 cell_type Type of cell
Returns
The volumes of the references associated with each facet

## ◆ geometry()

 xt::xtensor< double, 2 > basix::cell::geometry ( cell::type celltype )

Cell geometry

Parameters
 celltype Cell Type
Returns
Set of vertex points of the cell

## ◆ num_sub_entities()

 int basix::cell::num_sub_entities ( cell::type celltype, int dim )

Number of sub-entities of a cell by topological dimension

Todo:
Optimise this function
Warning
This function is expensive to call. Do not use in performance critical code
Parameters
 celltype The cell::type dim Dimension of sub-entity
Returns
The number of sub-entities of the given dimension

## ◆ sub_entity_connectivity()

 std::vector< std::vector< std::vector< std::vector< int > > > > basix::cell::sub_entity_connectivity ( cell::type celltype )

Get the numbers of entities connected to each subentity of the cell.

Returns a vector of the form: output[dim][entity_n][connected_dim] = [connected_entity_n0, connected_entity_n1, ...] This indicates that the entity of dimension dim and number entity_n is connected to the entities of dimension connected_dim and numbers connected_entity_n0, connected_entity_n1, ...

Parameters
 celltype Cell Type
Returns
List of topology (vertex indices) for each dimension (0..tdim)

## ◆ sub_entity_geometry()

 xt::xtensor< double, 2 > basix::cell::sub_entity_geometry ( cell::type celltype, int dim, int index )

Sub-entity of a cell, given by topological dimension and index

Parameters
 celltype The cell::type dim Dimension of sub-entity index Local index of sub-entity
Returns
Set of vertex points of the sub-entity

## ◆ sub_entity_type()

 cell::type basix::cell::sub_entity_type ( cell::type celltype, int dim, int index )

Get the cell type of a sub-entity of given dimension and index

Parameters
 celltype Type of cell dim Topological dimension of sub-entity index Index of sub-entity
Returns
cell type of sub-entity

## ◆ subentity_types()

 std::vector< std::vector< cell::type > > basix::cell::subentity_types ( cell::type cell_type )

Get the types of the subentities of a reference cell

Parameters
 cell_type Type of cell
Returns
The subentity types

## ◆ topological_dimension()

 int basix::cell::topological_dimension ( cell::type celltype )

Get the topological dimension for a given cell type

Parameters
 celltype Cell type
Returns
the topological dimension

## ◆ topology()

 std::vector< std::vector< std::vector< int > > > basix::cell::topology ( cell::type celltype )

Cell topology

Parameters
 celltype Cell Type
Returns
List of topology (vertex indices) for each dimension (0..tdim)

## ◆ volume()

 double basix::cell::volume ( cell::type cell_type )

Get the volume of a reference cell

Parameters
 cell_type Type of cell
Returns
The volume of the cell