|
| KOKKOS_FUNCTION | second_order_abc_edge (ippl::Vector< scalar, 3 > hr, scalar dt) |
| | Constructor for the second-order ABC edge.
|
| |
| template<typename view_type , typename Coords > |
| KOKKOS_INLINE_FUNCTION auto | operator() (const view_type &A_n, const view_type &A_nm1, const view_type &A_np1, const Coords &c) const -> typename view_type::value_type |
| | Applies the second-order ABC to the edge of the field.
|
| |
|
template<typename value_type > |
| KOKKOS_INLINE_FUNCTION value_type | advanceEdgeS (value_type v1, value_type v2, value_type v3, value_type v4, value_type v5, value_type v6, value_type v7, value_type v8, value_type v9, value_type v10, value_type v11, value_type v12, value_type v13, value_type v14, value_type v15, value_type v16, value_type v17, value_type v18, value_type v19) const noexcept |
| | Advances the edge boundary condition using the precomputed weights.
|
| |
◆ second_order_abc_edge()
template<typename _scalar , unsigned edge_axis, unsigned normal_axis1, unsigned normal_axis2, bool na1_zero, bool na2_zero>
Constructor for the second-order ABC edge.
- Parameters
-
| hr | Mesh spacing in each dimension. |
| dt | Time step size. |
◆ operator()()
template<typename _scalar , unsigned edge_axis, unsigned normal_axis1, unsigned normal_axis2, bool na1_zero, bool na2_zero>
template<typename view_type , typename Coords >
| KOKKOS_INLINE_FUNCTION auto second_order_abc_edge< _scalar, edge_axis, normal_axis1, normal_axis2, na1_zero, na2_zero >::operator() |
( |
const view_type & |
A_n, |
|
|
const view_type & |
A_nm1, |
|
|
const view_type & |
A_np1, |
|
|
const Coords & |
c |
|
) |
| const -> typename view_type::value_type |
|
inline |
Applies the second-order ABC to the edge of the field.
- Parameters
-
| A_n | Current time step field. |
| A_nm1 | Previous time step field. |
| A_np1 | Next time step field. |
| c | Coordinates of the current point in the field. |
- Returns
- Updated value at the edge.
The documentation for this struct was generated from the following file: