Describes the direction in which to faces are connected. More...
#include <Kernel_connection.hpp>
Public Member Functions | |
| int | i_face (int i_side) const |
| bool | flip_normal (int i_side) const |
Returns true if the normal of face i_side must be inverted to obey the sign convention. | |
| bool | flip_tangential () const |
Returns true if the indices of axis 0 of face 1 must be reversed to match the indexing of face 0. | |
| bool | transpose () const |
Returns true if the rows and columns of face 1 must be transposed to match the indexing of face 0. | |
Public Attributes | |
| std::array< int, 2 > | i_dim |
| The normal axis of each face in reference coordinates. | |
| std::array< bool, 2 > | face_sign |
| The sign of the nonzero component of the normal vector of each face in reference coordinates. | |
| int | rotate = 0 |
| Indicates whether the coordinates need to be rotated to make the quadrature points match. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| bool | operator== (Connection_direction dir0, Connection_direction dir1) |
| std::string | to_string (Connection_direction) |
| std::ostream & | operator<< (std::ostream &, Connection_direction) |
Describes the direction in which to faces are connected.
In other words, it describes the relative orientation of the connected faces in reference coordinates so that a consistent mapping between their quadrature points and normals can be established.
|
inline |
Returns true if the normal of face i_side must be inverted to obey the sign convention.
The sign convention is for the normal to point from the element on side 0 into that on side 1.
|
inline |
Returns true if the rows and columns of face 1 must be transposed to match the indexing of face 0.
In 2D, this is always false.
| int hexed::Connection_direction::rotate = 0 |
Indicates whether the coordinates need to be rotated to make the quadrature points match.
Specifically, int indicates that face 1 is rotated by rotate 90 \(\degree\) increments about the shared normal relative to face 0. So, when permuting quadrature points or vertices, after all other transformations have been performed, rotate 90 \(\degree\) rotations will be performed on face 1 in a negative sense (i.e. clockwise) to undo the specified rotation.