IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
second_order_abc_edge< _scalar, edge_axis, normal_axis1, normal_axis2, na1_zero, na2_zero > Struct Template Reference

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]
 

Constructor & Destructor Documentation

◆ second_order_abc_edge()

template<typename _scalar , unsigned edge_axis, unsigned normal_axis1, unsigned normal_axis2, bool na1_zero, bool na2_zero>
KOKKOS_FUNCTION second_order_abc_edge< _scalar, edge_axis, normal_axis1, normal_axis2, na1_zero, na2_zero >::second_order_abc_edge ( ippl::Vector< scalar, 3 >  hr,
scalar  dt 
)
inline

Constructor for the second-order ABC edge.

Parameters
hrMesh spacing in each dimension.
dtTime step size.

Member Function Documentation

◆ 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_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 edge.

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