reference_element(9)

NAME

reference_element - reference element

SYNOPSYS

The reference_element class defines all supported types of geometrical elements in one, two and three dimensions. The set of supported elements are designate by a letter

p point (dimension 0)

e edge (dimension 1)

t triangle(dimension 2)

q quadrangle(dimension 2)

T tetrahedron(dimension 3)

P prism(dimension 3)

H hexaedron(dimension 3)

IMPLEMENTATION

class reference_element {
public:

// typedefs:
typedef std::vector<int>::size_type size_type;
// defines enum_type { p, t, q ..., H, ...};
// in an automatically generated file :
typedef enum {
p = 0,
e = 1,
t = 2,
q = 3,
T = 4,
P = 5,
H = 6,
max_size = 7
} enum_type;
// constants:

static const size_type not_set;
static const size_type max_n_subgeo = 12;
static const size_type max_subgeo_vertex = 8;
// allocators/deallocators:

reference_element (enum_type x = max_size);
// accessors:

enum_type type() const;
char name() const;
size_type dimension() const;
friend Float measure (reference_element hat_K);
size_type size() const;
size_type n_edge() const;
size_type n_face() const;
size_type n_subgeo(size_type subgeo_dim) const;
size_type subgeo_size(size_type subgeo_dim, size_type i_subgeo) const;
size_type subgeo_local_vertex(size_type subgeo_dim, size_type i_subgeo, size_type i_subgeo_vertex) const;
size_type heap_size() const;
size_type heap_offset(size_type subgeo_dim) const;
void set_type (enum_type x);
void set_type (size_type n_vertex, size_type dim);
void set_name (char name);
// data:
protected:

enum_type _x;
// constants:

// these constants are initialized in
// "reference_element_declare.c"
// automatically generated.
static const char _name [max_size];
static const size_type _dimension [max_size];
static const size_type _n_subgeo [max_size][4];
static const size_type _subgeo_size [max_size*4*max_n_subgeo];
static const size_type _subgeo_local_vertex [max_size*4*max_n_subgeo*max_subgeo_vertex];
static const size_type _heap_size [max_size];
static const size_type _heap_offset [max_size][4];
};
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout