|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <AbsorbingBC.h>
Public Types | |
| using | scalar = _scalar |
Public Member Functions | |
| 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. | |
Public Attributes | |
| scalar | Eweights [5] |
Definition at line 161 of file AbsorbingBC.h.
| using second_order_abc_edge< _scalar, edge_axis, normal_axis1, normal_axis2, na1_zero, na2_zero >::scalar = _scalar |
Definition at line 162 of file AbsorbingBC.h.
|
inline |
Constructor for the second-order ABC edge.
| hr | Mesh spacing in each dimension. |
| dt | Time step size. |
Definition at line 171 of file AbsorbingBC.h.
References Eweights.
|
inlinenoexcept |
Advances the edge boundary condition using the precomputed weights.
Definition at line 253 of file AbsorbingBC.h.
References Eweights.
Referenced by operator()().
|
inline |
Applies the second-order ABC to the edge of the field.
| 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. |
Definition at line 213 of file AbsorbingBC.h.
References advanceEdgeS(), and ippl::apply().
| scalar second_order_abc_edge< _scalar, edge_axis, normal_axis1, normal_axis2, na1_zero, na2_zero >::Eweights[5] |
Definition at line 163 of file AbsorbingBC.h.
Referenced by advanceEdgeS(), and second_order_abc_edge().