|
| using | Layout = Kokkos::LayoutRight |
| |
| template<typename ScalarType > |
| using | Grid0DDataScalar = Kokkos::View< ScalarType, Layout > |
| |
| template<typename ScalarType > |
| using | Grid1DDataScalar = Kokkos::View< ScalarType *, Layout > |
| |
| template<typename ScalarType > |
| using | Grid2DDataScalar = Kokkos::View< ScalarType **, Layout > |
| |
| template<typename ScalarType > |
| using | Grid3DDataScalar = Kokkos::View< ScalarType ***, Layout > |
| |
| template<typename ScalarType > |
| using | Grid4DDataScalar = Kokkos::View< ScalarType ****, Layout > |
| |
| template<typename ScalarType > |
| using | Grid5DDataScalar = Kokkos::View< ScalarType *****, Layout > |
| |
| template<typename ScalarType , int VecDim> |
| using | Grid0DDataVec = Kokkos::View< ScalarType[VecDim], Layout > |
| |
| template<typename ScalarType , int VecDim> |
| using | Grid1DDataVec = Kokkos::View< ScalarType *[VecDim], Layout > |
| |
| template<typename ScalarType , int VecDim> |
| using | Grid2DDataVec = Kokkos::View< ScalarType **[VecDim], Layout > |
| |
| template<typename ScalarType , int VecDim> |
| using | Grid3DDataVec = Kokkos::View< ScalarType ***[VecDim], Layout > |
| |
| template<typename ScalarType , int Rows, int Cols, int NumMatrices> |
| using | Grid4DDataMatrices = Kokkos::View< dense::Mat< ScalarType, Rows, Cols > ****[NumMatrices], Layout > |
| |
|
| enum class | NodeOwnershipFlag : uint8_t { NO_FLAG = 0
, OWNED = 1
} |
| | FlagLike enum class that indicates whether a node is owned on a subdomain. More...
|
| |
| enum class | BoundaryPosition : int { P0 = 0
, P1 = 1
, PV = 2
} |
| | Enum for encoding the boundary type tuples (in BoundaryVertex, BoundaryEdge, BoundaryFace). More...
|
| |
| enum class | BoundaryVertex : int {
V_000 = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::P0, BoundaryPosition::P0 )
, V_100 = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::P0, BoundaryPosition::P0 )
, V_010 = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::P1, BoundaryPosition::P0 )
, V_110 = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::P1, BoundaryPosition::P0 )
,
V_001 = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::P0, BoundaryPosition::P1 )
, V_101 = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::P0, BoundaryPosition::P1 )
, V_011 = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::P1, BoundaryPosition::P1 )
, V_111 = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::P1, BoundaryPosition::P1 )
} |
| | Enum for identification of the 8 boundary vertices of a subdomain. More...
|
| |
| enum class | BoundaryEdge : int {
E_X00 = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::P0, BoundaryPosition::P0 )
, E_X10 = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::P1, BoundaryPosition::P0 )
, E_X01 = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::P0, BoundaryPosition::P1 )
, E_X11 = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::P1, BoundaryPosition::P1 )
,
E_0Y0 = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::PV, BoundaryPosition::P0 )
, E_1Y0 = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::PV, BoundaryPosition::P0 )
, E_0Y1 = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::PV, BoundaryPosition::P1 )
, E_1Y1 = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::PV, BoundaryPosition::P1 )
,
E_00R = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::P0, BoundaryPosition::PV )
, E_10R = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::P0, BoundaryPosition::PV )
, E_01R = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::P1, BoundaryPosition::PV )
, E_11R = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::P1, BoundaryPosition::PV )
} |
| | Enum for identification of the 12 boundary edges of a subdomain. More...
|
| |
| enum class | BoundaryFace : int {
F_XY0 = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::PV, BoundaryPosition::P0 )
, F_XY1 = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::PV, BoundaryPosition::P1 )
, F_X0R = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::P0, BoundaryPosition::PV )
, F_X1R = boundary_position_encoding( BoundaryPosition::PV, BoundaryPosition::P1, BoundaryPosition::PV )
,
F_0YR = boundary_position_encoding( BoundaryPosition::P0, BoundaryPosition::PV, BoundaryPosition::PV )
, F_1YR = boundary_position_encoding( BoundaryPosition::P1, BoundaryPosition::PV, BoundaryPosition::PV )
} |
| | Enum for identification of the 6 boundary faces of a subdomain. More...
|
| |
| enum class | BoundaryDirection : int { FORWARD = 0
, BACKWARD
} |
| | Enum for the iteration direction at a boundary. More...
|
| |
|
| Grid4DDataScalar< NodeOwnershipFlag > | setup_node_ownership_mask_data (const shell::DistributedDomain &domain) |
| | Set up mask data for a distributed shell domain. The mask encodes ownership information for each grid node.
|
| |
| template<typename ScalarType , int VecDim> |
| Grid4DDataVec< ScalarType, VecDim >::HostMirror | create_mirror (Kokkos::HostSpace space, const Grid4DDataVec< ScalarType, VecDim > &src) |
| | Create a host mirror for Grid4DDataVec.
|
| |
| template<typename ScalarType > |
| Grid4DDataScalar< ScalarType >::HostMirror | create_mirror (Kokkos::HostSpace space, const Grid4DDataScalar< ScalarType > &src) |
| | Create a host mirror for Grid4DDataScalar (delegates to Kokkos).
|
| |
| template<typename ScalarType , int VecDim> |
| void | deep_copy (typename Grid4DDataVec< ScalarType, VecDim >::HostMirror &dst, const Grid4DDataVec< ScalarType, VecDim > &src) |
| | Deep copy from device Grid4DDataVec to host mirror.
|
| |
| template<typename ScalarType , int VecDim> |
| void | deep_copy (Grid4DDataVec< ScalarType, VecDim > &dst, const typename Grid4DDataVec< ScalarType, VecDim >::HostMirror &src) |
| | Deep copy from host mirror to device Grid4DDataVec.
|
| |
| template<typename ScalarType > |
| void | deep_copy (Grid4DDataScalar< ScalarType > &dst, const typename Grid4DDataScalar< ScalarType >::HostMirror &src) |
| | Deep copy for Grid4DDataScalar host mirror to device (delegates to Kokkos).
|
| |
| template<typename ScalarType > |
| void | deep_copy (typename Grid4DDataScalar< ScalarType >::HostMirror &dst, const Grid4DDataScalar< ScalarType > &src) |
| | Deep copy for Grid4DDataScalar device to host mirror (delegates to Kokkos).
|
| |
| template<typename GridDataType > |
| constexpr int | grid_data_vec_dim () |
| |
| constexpr int | boundary_position_encoding (const BoundaryPosition x, const BoundaryPosition y, const BoundaryPosition r) |
| |
| template<typename BoundaryType > |
| constexpr BoundaryPosition | boundary_position_from_boundary_type_x (const BoundaryType &boundary_type) |
| |
| template<typename BoundaryType > |
| constexpr BoundaryPosition | boundary_position_from_boundary_type_y (const BoundaryType &boundary_type) |
| |
| template<typename BoundaryType > |
| constexpr BoundaryPosition | boundary_position_from_boundary_type_r (const BoundaryType &boundary_type) |
| |
| constexpr bool | is_edge_boundary_radial (const BoundaryEdge id) |
| |
| constexpr bool | is_face_boundary_normal_to_radial_direction (const BoundaryFace id) |
| |
| constexpr BoundaryVertex | other_side_r (BoundaryVertex boundary_vertex) |
| |
| std::string | to_string (BoundaryVertex v) |
| |
| std::string | to_string (BoundaryEdge e) |
| |
| std::string | to_string (BoundaryFace f) |
| |
| std::ostream & | operator<< (std::ostream &os, BoundaryVertex v) |
| |
| std::ostream & | operator<< (std::ostream &os, BoundaryEdge e) |
| |
| std::ostream & | operator<< (std::ostream &os, BoundaryFace f) |
| |