shards
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
Shards_CellTopologyData.h
1
// @HEADER
2
// *****************************************************************************
3
// Shards : Shared Discretization Tools
4
//
5
// Copyright 2008-2011 NTESS and the Shards contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef Shards_CellTopologyData_h
11
#define Shards_CellTopologyData_h
12
13
#if defined( __cplusplus )
14
extern
"C"
{
15
#endif
16
20
21
/*----------------------------------------------------------------------*/
22
23
struct
CellTopologyData
;
24
struct
CellTopologyData_Subcell
;
25
struct
CellTopologyData_Permutation
;
26
39
struct
CellTopologyData
{
43
const
struct
CellTopologyData
*
base
;
44
46
const
char
*
name
;
47
49
unsigned
key
;
50
52
unsigned
dimension
;
53
55
unsigned
vertex_count
;
56
61
unsigned
node_count
;
62
64
unsigned
edge_count
;
65
67
unsigned
side_count
;
68
70
unsigned
permutation_count
;
71
73
unsigned
subcell_homogeneity
[4] ;
74
76
unsigned
subcell_count
[4] ;
77
84
const
struct
CellTopologyData_Subcell
*
subcell
[4] ;
85
92
const
struct
CellTopologyData_Subcell
*
side
;
93
100
const
struct
CellTopologyData_Subcell
*
edge
;
101
118
const
struct
CellTopologyData_Permutation
*
permutation
;
119
const
struct
CellTopologyData_Permutation
* permutation_inverse ;
120
};
121
130
struct
CellTopologyData_Subcell
{
132
const
struct
CellTopologyData
*
topology
;
133
136
const
unsigned
*
node
;
137
};
138
140
typedef
struct
CellTopologyData
CellTopologyData
;
141
158
struct
CellTopologyData_Permutation
{
159
const
unsigned
* node ;
160
unsigned
polarity ;
161
};
162
164
enum
{
165
CELL_PERMUTATION_POLARITY_IRRELEVANT = 0 ,
166
CELL_PERMUTATION_POLARITY_POSITIVE = 1 ,
167
CELL_PERMUTATION_POLARITY_NEGATIVE = 2
168
};
169
173
extern
174
int
mapCellFaceEdge
(
const
CellTopologyData
* cell_topology ,
175
unsigned
face_ordinal ,
176
unsigned
face_edge_ordinal );
177
179
180
#if defined( __cplusplus )
181
}
/* extern "C" */
182
#endif
183
184
#endif
/* Shards_CellTopologyData_h */
mapCellFaceEdge
int mapCellFaceEdge(const CellTopologyData *cell_topology, unsigned face_ordinal, unsigned face_edge_ordinal)
Map a cell->face->edge ordinal to the cell->edge ordinal. Return -1 for erroneous input.
CellTopologyData_Permutation
Array of node permutations.
Definition
Shards_CellTopologyData.h:158
CellTopologyData_Subcell
Subcell information.
Definition
Shards_CellTopologyData.h:130
CellTopologyData_Subcell::topology
const struct CellTopologyData * topology
Subcell topology.
Definition
Shards_CellTopologyData.h:132
CellTopologyData_Subcell::node
const unsigned * node
Subcell indexing of with respect to parent cell.
Definition
Shards_CellTopologyData.h:136
CellTopologyData
A simple 'C' struct of cell topology attributes.
Definition
Shards_CellTopologyData.h:39
CellTopologyData::name
const char * name
Intuitive name for this topology.
Definition
Shards_CellTopologyData.h:46
CellTopologyData::node_count
unsigned node_count
Number of nodes (a.k.a. subcells).
Definition
Shards_CellTopologyData.h:61
CellTopologyData::edge
const struct CellTopologyData_Subcell * edge
Array of edges subcells of length edge_count.
Definition
Shards_CellTopologyData.h:100
CellTopologyData::side_count
unsigned side_count
Number of sides (a.k.a. boundary subcells).
Definition
Shards_CellTopologyData.h:67
CellTopologyData::side
const struct CellTopologyData_Subcell * side
Array of side subcells of length side_count.
Definition
Shards_CellTopologyData.h:92
CellTopologyData::base
const struct CellTopologyData * base
Base, a.k.a. not-extended, version of this topology where vertex_count == node_count.
Definition
Shards_CellTopologyData.h:43
CellTopologyData::key
unsigned key
Unique key for this topology.
Definition
Shards_CellTopologyData.h:49
CellTopologyData::edge_count
unsigned edge_count
Number of edges (a.k.a. boundary subcells).
Definition
Shards_CellTopologyData.h:64
CellTopologyData::vertex_count
unsigned vertex_count
Number of vertices.
Definition
Shards_CellTopologyData.h:55
CellTopologyData::permutation_count
unsigned permutation_count
Number of defined permutations.
Definition
Shards_CellTopologyData.h:70
CellTopologyData::subcell_homogeneity
unsigned subcell_homogeneity[4]
Flag if the subcells of a given dimension are homogeneous.
Definition
Shards_CellTopologyData.h:73
CellTopologyData::subcell
const struct CellTopologyData_Subcell * subcell[4]
Array of subcells of each dimension.
Definition
Shards_CellTopologyData.h:84
CellTopologyData::permutation
const struct CellTopologyData_Permutation * permutation
Array of node permutations.
Definition
Shards_CellTopologyData.h:118
CellTopologyData::dimension
unsigned dimension
Topological dimension.
Definition
Shards_CellTopologyData.h:52
CellTopologyData::subcell_count
unsigned subcell_count[4]
Number of subcells of each dimension.
Definition
Shards_CellTopologyData.h:76
src
Shards_CellTopologyData.h
Generated by
1.17.0