Tabulation Project basix
cell.h
1 // Copyright (c) 2020 Chris Richardson
2 // FEniCS Project
3 // SPDX-License-Identifier: MIT
4 
5 #pragma once
6 
7 #include <Eigen/Dense>
8 #include <vector>
9 
10 namespace basix
11 {
12 
15 
16 namespace cell
17 {
18 
20 enum class type
21 {
22  point,
23  interval,
24  triangle,
25  tetrahedron,
26  quadrilateral,
27  hexahedron,
28  prism,
29  pyramid
30 };
31 
35 Eigen::ArrayXXd geometry(cell::type celltype);
36 
40 std::vector<std::vector<std::vector<int>>> topology(cell::type celltype);
41 
47 Eigen::ArrayXXd sub_entity_geometry(cell::type celltype, int dim, int index);
48 
53 int sub_entity_count(cell::type celltype, int dim);
54 
58 int topological_dimension(cell::type celltype);
59 
65 cell::type sub_entity_type(cell::type celltype, int dim, int index);
66 
70 cell::type str_to_type(std::string name);
71 
73 const std::string& type_to_str(cell::type type);
74 
75 
76 } // namespace cell
77 } // namespace basix
cell::type sub_entity_type(cell::type celltype, int dim, int index)
Definition: cell.cpp:197
Eigen::ArrayXXd sub_entity_geometry(cell::type celltype, int dim, int index)
Definition: cell.cpp:168
int sub_entity_count(cell::type celltype, int dim)
Definition: cell.cpp:190
std::vector< std::vector< std::vector< int > > > topology(cell::type celltype)
Definition: cell.cpp:56
type
Cell type.
Definition: cell.h:21
cell::type str_to_type(std::string name)
Definition: cell.cpp:222
Eigen::ArrayXXd geometry(cell::type celltype)
Definition: cell.cpp:14
int topological_dimension(cell::type celltype)
Definition: cell.cpp:144
const std::string & type_to_str(cell::type type)
Convert cell type enum to string.
Definition: cell.cpp:241
basix
Definition: basix.h:7
int dim(int handle)
Finite Element dimension.