IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
second_order_abc_corner< _scalar, x0, y0, z0 > Struct Template Reference

Public Types

using scalar = _scalar
 

Public Member Functions

KOKKOS_FUNCTION second_order_abc_corner (ippl::Vector< scalar, 3 > hr, scalar dt)
 Constructor for the second-order ABC corner.
 
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 corner of the field.
 
template<typename value_type >
KOKKOS_INLINE_FUNCTION value_type advanceCornerS (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, value_type v20, value_type v21, value_type v22, value_type v23) const noexcept
 Advances the corner boundary condition using the precomputed weights.
 

Public Attributes

scalar Cweights [17]
 

Constructor & Destructor Documentation

◆ second_order_abc_corner()

template<typename _scalar , bool x0, bool y0, bool z0>
KOKKOS_FUNCTION second_order_abc_corner< _scalar, x0, y0, z0 >::second_order_abc_corner ( ippl::Vector< scalar, 3 >  hr,
scalar  dt 
)
inline

Constructor for the second-order ABC corner.

Parameters
hrMesh spacing in each dimension.
dtTime step size.

Member Function Documentation

◆ operator()()

template<typename _scalar , bool x0, bool y0, bool z0>
template<typename view_type , typename Coords >
KOKKOS_INLINE_FUNCTION auto second_order_abc_corner< _scalar, x0, y0, z0 >::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 corner 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 corner.

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