|
| hyEdge (const File &hyGraph_geometry, const hyEdge_index_t index) |
| Construct hyperedge from hypergraph and index. More...
|
|
template<unsigned int n_vec> |
SmallMat< space_dimT, n_vec, pt_coord_t > | map_ref_to_phys (const SmallMat< hyEdge_dimT, n_vec, pt_coord_t > &points) const |
| Map n_vec points from reference to physical element. More...
|
|
template<unsigned int n_vec> |
SmallMat< space_dimT, n_vec, pt_coord_t > & | map_ref_to_phys (SmallMat< space_dimT, n_vec, pt_coord_t > &points) const |
| Map n_vec points from reference to physical element. More...
|
|
SmallVec< space_dimT, pt_coord_t > | span_vec (const unsigned int index) const |
| Return matrix column of the affine-linear transformation. More...
|
|
const SmallSquareMat< hyEdge_dimT, pt_coord_t > & | mat_r () const |
| Return reduced matrix R of the QR decomposition. More...
|
|
const SmallSquareMat< space_dimT, pt_coord_t > | mat_q () const |
| Return matrix Q of the QR decomposition of the linear transoformation. More...
|
|
pt_coord_t | area () const |
| Return Haussdorff/Lebesque measure of the hyperedge. More...
|
|
pt_coord_t | face_area (const unsigned int index) const |
| Return Haussdorff measure of the specified hypernode. More...
|
|
Point< hyEdge_dimT, pt_coord_t > | local_normal (const unsigned int index) const |
| Return local normal of given index. More...
|
|
Point< space_dimT, pt_coord_t > | inner_normal (const unsigned int index) const |
| Return inner normal of given index. More...
|
|
Point< space_dimT, pt_coord_t > | face_barycenter (const unsigned int index) const |
| Return barycenter of face of given index. More...
|
|
Point< space_dimT, pt_coord_t > | outer_normal (const unsigned int index) const |
| Return outer normal of given index. More...
|
|
template<unsigned int n_sub_points, typename one_dim_float_t > |
Point< space_dimT, pt_coord_t > | lexicographic (unsigned int index, const SmallVec< n_sub_points, one_dim_float_t > &points_1d) const |
| Return lexicographically ordered equidistant tensorial point of given index. More...
|
|
template<unsigned int n_sub_points, typename one_dim_float_t > |
Point< space_dimT, pt_coord_t > | boundary_lexicographic (unsigned int index, unsigned int boundary_number, float boundary_scale, const SmallVec< n_sub_points, one_dim_float_t > &points_1d) const |
| Return equidistant tensorial point of given index on a given boundary (slightly moved away from the boundary using boundary_scale), ordered lexicographically. More...
|
|
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
class Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge
Definition of the geometry of a hypergraph's edges.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::hyEdge |
( |
const File & |
hyGraph_geometry, |
|
|
const hyEdge_index_t |
index |
|
) |
| |
|
inline |
Construct hyperedge from hypergraph and index.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
pt_coord_t Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::area |
( |
| ) |
const |
|
inline |
Return Haussdorff/Lebesque measure of the hyperedge.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
template<unsigned int n_sub_points, typename one_dim_float_t >
Point<space_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::boundary_lexicographic |
( |
unsigned int |
index, |
|
|
unsigned int |
boundary_number, |
|
|
float |
boundary_scale, |
|
|
const SmallVec< n_sub_points, one_dim_float_t > & |
points_1d |
|
) |
| const |
|
inline |
Return equidistant tensorial point of given index on a given boundary (slightly moved away from the boundary using boundary_scale), ordered lexicographically.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
pt_coord_t Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::face_area |
( |
const unsigned int |
index | ) |
const |
|
inline |
Return Haussdorff measure of the specified hypernode.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
Point<space_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::face_barycenter |
( |
const unsigned int |
index | ) |
const |
|
inline |
Return barycenter of face of given index.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
static constexpr unsigned int Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::hyEdge_dim |
( |
| ) |
|
|
inlinestaticconstexpr |
Return dimension of the hyperedge.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
Point<space_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::inner_normal |
( |
const unsigned int |
index | ) |
const |
|
inline |
Return inner normal of given index.
Return outer unit normal with respect to the hypernode which is spanned by all vectors spanning the phyiscal element, but the vector of the given index. The vector has to be in the span of the columns of the local transformation matrix. This is an element of the same dimension as the full space.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
template<unsigned int n_sub_points, typename one_dim_float_t >
Point<space_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::lexicographic |
( |
unsigned int |
index, |
|
|
const SmallVec< n_sub_points, one_dim_float_t > & |
points_1d |
|
) |
| const |
|
inline |
Return lexicographically ordered equidistant tensorial point of given index.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
Point<hyEdge_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::local_normal |
( |
const unsigned int |
index | ) |
const |
|
inline |
Return local normal of given index.
Return outer unit normal with respect to the hypernode which is spanned by the vectors spanning the phyiscal element, orthogonally projected to a hyEdge_dimT dimensional space, but the vector of the given index. This is an element of the same dimension as the reference element.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
template<unsigned int n_vec>
SmallMat<space_dimT, n_vec, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::map_ref_to_phys |
( |
const SmallMat< hyEdge_dimT, n_vec, pt_coord_t > & |
points | ) |
const |
|
inline |
Map n_vec points from reference to physical element.
- Parameters
-
points | Matrix whose columns consist of the points to be mapped. |
- Return values
-
phy_points | Matrix whose columns consist of the mapped points. |
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
template<unsigned int n_vec>
SmallMat<space_dimT, n_vec, pt_coord_t>& Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::map_ref_to_phys |
( |
SmallMat< space_dimT, n_vec, pt_coord_t > & |
points | ) |
const |
|
inline |
Map n_vec points from reference to physical element.
- Parameters
-
points | Matrix whose columns consist of the points to be mapped. |
- Return values
-
points | Matrix whose columns consist of the mapped points. |
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
const SmallSquareMat<space_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::mat_q |
( |
| ) |
const |
|
inline |
Return matrix Q of the QR decomposition of the linear transoformation.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
const SmallSquareMat<hyEdge_dimT, pt_coord_t>& Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::mat_r |
( |
| ) |
const |
|
inline |
Return reduced matrix R of the QR decomposition.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
Point<space_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::outer_normal |
( |
const unsigned int |
index | ) |
const |
|
inline |
Return outer normal of given index.
Return unit normal with respect to the hyperedge within the full space.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
pointT Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::point |
( |
const unsigned int |
pt_index | ) |
const |
|
inlineprivate |
Return vertex of specified index of a hyperedge.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
static constexpr unsigned int Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::space_dim |
( |
| ) |
|
|
inlinestaticconstexpr |
Return dimension of the surrounding space.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
SmallVec<space_dimT, pt_coord_t> Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::span_vec |
( |
const unsigned int |
index | ) |
const |
|
inline |
Return matrix column of the affine-linear transformation.
- Parameters
-
index | Index of the matrix column to be returned. |
- Return values
-
column | The specified matrix column. |
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
const File& Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::hyGraph_geometry_ |
|
private |
Reference to parent hypergraph.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
const hyEdge_index_t Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::index_ |
|
private |
Index of the hyperedge within the hypergraph.
template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, template< unsigned int, unsigned int, typename > typename mapping_tM = Mapping::Linear, unsigned int hyEdge_dimTM = hyEdge_dimT, unsigned int space_dimTM = space_dimT, typename pt_coord_tM = typename pointT::value_type, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
mapping_t Geometry::File< hyEdge_dimT, space_dimT, vectorT, pointT, mapping_tM, hyEdge_dimTM, space_dimTM, pt_coord_tM, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge::mapping |
|
private |
Hold an instance of a mapping type to be able to calculate normals and so on.