IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
second_order_abc_face< _scalar, _main_axis, _side_axes > Struct Template Reference

Public Types

using scalar = _scalar
 

Public Member Functions

KOKKOS_FUNCTION second_order_abc_face (ippl::Vector< scalar, 3 > hr, scalar dt, int _sign)
 Constructor for the second-order ABC face.
 
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 boundary of the field.
 
template<typename value_type >
KOKKOS_FUNCTION value_type advanceBoundaryS (const value_type &v1, const value_type &v2, const value_type &v3, const value_type &v4, const value_type &v5, const value_type &v6, const value_type &v7, const value_type &v8, const value_type &v9, const value_type &v10, const value_type &v11, const value_type &v12, const value_type &v13) const noexcept
 Advances the boundary condition using the precomputed weights.
 

Public Attributes

scalar Cweights [5]
 
int sign
 

Static Public Attributes

static constexpr unsigned main_axis
 

Constructor & Destructor Documentation

◆ second_order_abc_face()

template<typename _scalar , unsigned _main_axis, unsigned... _side_axes>
KOKKOS_FUNCTION second_order_abc_face< _scalar, _main_axis, _side_axes >::second_order_abc_face ( ippl::Vector< scalar, 3 >  hr,
scalar  dt,
int  _sign 
)
inline

Constructor for the second-order ABC face.

Parameters
hrMesh spacing in each dimension.
dtTime step size.
_signSign of the main axis (1 or -1).

Member Function Documentation

◆ operator()()

template<typename _scalar , unsigned _main_axis, unsigned... _side_axes>
template<typename view_type , typename Coords >
KOKKOS_INLINE_FUNCTION auto second_order_abc_face< _scalar, _main_axis, _side_axes >::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 boundary of the field.

Parameters
A_nCurrent time step field.
A_nm1Previous time step field.
A_np1Next time step field.
cCoordinates of the current point in the field.
Returns
Updated value at the boundary.

Member Data Documentation

◆ main_axis

template<typename _scalar , unsigned _main_axis, unsigned... _side_axes>
constexpr unsigned second_order_abc_face< _scalar, _main_axis, _side_axes >::main_axis
staticconstexpr
Initial value:
=
_main_axis

The documentation for this struct was generated from the following file: