Volume Grid Geometry Concept |
The Volume Grid Geometry assigns a geometric entity to every combinatorial element of a grid. Moreover, the it offers methods to calculate the volumes of these geometric entities, which means volume in the combinatorial dimension of the entities, for example, length of edges or area of faces.
Geo is a type which is a model of Vertex Grid Geometry
g is an object of type Geo
x is an object of type Geo::real_type
q is an object of Geo::coord_type
s is an object of type Geo::segment_type
p is an object of type Geo::polygon_type
h is an object of type Geo::polyhedron_type
e is an objects of type Geo::grid_type::Edge,
which is a model of Grid Edge.
f is an objects of type Geo::grid_type::Face,
which is a model of Grid Face.
c is an objects of type Geo::grid_type::Cell,
which is a model of Grid Cell.
Name | Expression | Description |
point type | Geo::coord_type |
the geometric point type,
representation of the elements of the topological
space where the geometry lives
model of STL Assignable. |
real number type | real_type | representation of a real number, model of STL Assignable |
segment type | segment_type |
geometric type corressponding to edges,
model of STL Assignable |
polygon type | polygon_type |
geometric type corresponding to faces
(if the grid type has combinatorial dimension >= 2.)
model of STL Assignable |
polyhedron type | polyhedron_type |
geometric type corresponding to cells
(if the grid type has combinatorial dimension 3.)
model of STL Assignable |
Name | Expression | Type requirements | return type |
1-dimensional geometric entity | s = g.segment(e) | Geo::segment_type | |
2-dimensional geometric entity | p = g.polygon(f) | Geo::polygon_type | |
3-dimensional geometric entity | h = g.polyhedron(c) | Geo::polyhedron_type | |
1-dimensional volume | x = g.volume(e); | real_type | |
1-dimensional volume | x = g.length(e); | real_type | |
2-dimensional volume | x = g.volume(f); | real_type | |
2-dimensional volume | x = g.area(f); | real_type | |
3-dimensional volume | x = g.volume(c); | real_type |
The general requirement here is that the mapping to geometric entities is faithful with respect to the combinatorial structure, that is, the poset defined by the inclusion relation of the geometric elements is identical or a refinement of the poset of the grid: The relative boundary of a geometric image of a grid element is identical of the union of the geometric images of its lower-dimensional incidents. Note, however, that self-intersecting immersions are not excluded.
Name | Expression | Precondition | Semantics | Postcondition |
1-dimensional geometric entity | s = g.segment(e) | e is valid | get the segment corresponding to e |
s == g.segment(e)
start(s) == g.coord(e.V1()) end(s) == g.coord(e.V2()) |
2-dimensional geometric entity | p = g.polygon(f) | f is valid | get the polygon corresponding to f | boundary of p = <BIG><TT>U</TT></BIG> e < f g.segment(e) |
Guntram Berti
Volume Grid Geometry Concept |