Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/basix/v0.9.0/cpp/namespacebasix_1_1cell.html
Home Installation C++ docs Python docs
Enumerations | Functions
basix::cell Namespace Reference

Enumerations

enum  type {
  point, interval, triangle, tetrahedron,
  quadrilateral, hexahedron, prism, pyramid
}
 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)
 
cell::type str_to_type (std::string name)
 
const std::string & type_to_str (cell::type type)
 Convert cell type enum to string.
 
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

Information about reference cells including their topological and geometric data.

Function Documentation

◆ 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_typeType of cell

◆ 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_typeType of cell

◆ facet_orientations()

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

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

Parameters
cell_typeType of cell

◆ 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_typeType of cell

◆ 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_typeType of cell

◆ geometry()

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

Cell geometry

Parameters
celltypeCell Type
Returns
Set of vertex points of the cell

◆ num_sub_entities()

int basix::cell::num_sub_entities ( cell::type  celltype,
int  dim 
)
Todo:
Optimise this function Number of sub-entities of a cell by topological dimension
Parameters
celltypeThe cell::type
dimDimension of sub-entity
Returns
The number of sub-entities of the given dimension
Warning
This function is expensive to call. Do not use in performance critical code

◆ str_to_type()

cell::type basix::cell::str_to_type ( std::string  name)

Convert a cell type string to enum

Parameters
nameString
Returns
cell type

◆ 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
celltypeCell 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
celltypeThe cell::type
dimDimension of sub-entity
indexLocal 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
celltypeType of cell
dimTopological dimension of sub-entity
indexIndex 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 reference volumes of the facets of a reference cell

Parameters
cell_typeType of cell

◆ topological_dimension()

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

Get the topological dimension for a given cell type

Parameters
celltypeCell type
Returns
the topological dimension

◆ topology()

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

Cell topology

Parameters
celltypeCell 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_typeType of cell