|
DOLFIN
DOLFIN C++ interface
|
#include <CellType.h>

Public Types | |
| enum | Type : int { point, interval, triangle, quadrilateral, tetrahedron, hexahedron } |
| Enum for different cell types. | |
Public Member Functions | |
| CellType (Type cell_type, Type facet_type) | |
| Constructor. | |
| virtual | ~CellType () |
| Destructor. | |
| Type | cell_type () const |
| Return type of cell. | |
| Type | facet_type () const |
| Return type of cell for facets. | |
| Type | entity_type (std::size_t i) const |
| Return type of cell for entity of dimension i. | |
| virtual bool | is_simplex () const =0 |
| Check if cell is a simplex. | |
| virtual std::size_t | dim () const =0 |
| Return topological dimension of cell. | |
| virtual std::size_t | num_entities (std::size_t dim) const =0 |
| Return number of entities of given topological dimension. | |
| std::size_t | num_vertices () const |
| Return number of vertices for cell. | |
| virtual std::size_t | num_vertices (std::size_t dim) const =0 |
| Return number of vertices for entity of given topological dimension. | |
| virtual std::size_t | orientation (const Cell &cell) const =0 |
| Return orientation of the cell (assuming flat space) | |
| std::size_t | orientation (const Cell &cell, const Point &up) const |
| Return orientation of the cell relative to given up direction. | |
| virtual void | create_entities (boost::multi_array< unsigned int, 2 > &e, std::size_t dim, const unsigned int *v) const =0 |
| virtual double | volume (const MeshEntity &entity) const =0 |
| Compute (generalized) volume of mesh entity. | |
| virtual double | h (const MeshEntity &entity) const |
| Compute greatest distance between any two vertices. | |
| virtual double | circumradius (const MeshEntity &entity) const =0 |
| Compute circumradius of mesh entity. | |
| virtual double | inradius (const Cell &cell) const |
| Compute inradius of cell. | |
| virtual double | radius_ratio (const Cell &cell) const |
| Compute dim*inradius/circumradius for given cell. | |
| virtual double | squared_distance (const Cell &cell, const Point &point) const =0 |
| Compute squared distance to given point. | |
| virtual double | normal (const Cell &cell, std::size_t facet, std::size_t i) const =0 |
| Compute component i of normal of given facet with respect to the cell. | |
| virtual Point | normal (const Cell &cell, std::size_t facet) const =0 |
| Compute of given facet with respect to the cell. | |
| virtual Point | cell_normal (const Cell &cell) const =0 |
| Compute normal to given cell (viewed as embedded in 3D) | |
| virtual double | facet_area (const Cell &cell, std::size_t facet) const =0 |
| Compute the area/length of given facet with respect to the cell. | |
| virtual void | order (Cell &cell, const std::vector< std::int64_t > &local_to_global_vertex_indices) const =0 |
| Order entities locally. | |
| bool | ordered (const Cell &cell, const std::vector< std::int64_t > &local_to_global_vertex_indices) const |
| Check if entities are ordered. | |
| virtual bool | collides (const Cell &cell, const Point &point) const =0 |
| Check whether given point collides with cell. | |
| virtual bool | collides (const Cell &cell, const MeshEntity &entity) const =0 |
| Check whether given entity collides with cell. | |
| virtual std::string | description (bool plural) const =0 |
| Return description of cell type. | |
| virtual std::vector< std::int8_t > | vtk_mapping () const =0 |
| Mapping of DOLFIN/UFC vertex ordering to VTK/XDMF ordering. | |
Static Public Member Functions | |
| static CellType * | create (Type type) |
| Create cell type from type (factory function) | |
| static CellType * | create (std::string type) |
| Create cell type from string (factory function) | |
| static Type | string2type (std::string type) |
| Convert from string to cell type. | |
| static std::string | type2string (Type type) |
| Convert from cell type to string. | |
Static Protected Member Functions | |
| static void | sort_entities (std::size_t num_vertices, unsigned int *vertices, const std::vector< std::int64_t > &local_to_global_vertex_indices) |
| Sort vertices based on global entity indices. | |
Protected Attributes | |
| Type | _cell_type |
| Type | _facet_type |
This class provides a common interface for different cell types. Each cell type implements mesh functionality that is specific to a certain type of cell.
|
pure virtual |
Create entities e of given topological dimension from vertices v
Implemented in dolfin::IntervalCell, dolfin::TetrahedronCell, dolfin::PointCell, dolfin::TriangleCell, dolfin::HexahedronCell, and dolfin::QuadrilateralCell.
1.8.13