IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::detail::meta_grad< E > Struct Template Reference

#include <IpplOperations.h>

Inheritance diagram for ippl::detail::meta_grad< E >:
Collaboration diagram for ippl::detail::meta_grad< E >:

Public Types

using value_type = typename E::value_type

Public Member Functions

KOKKOS_FUNCTION meta_grad (const E &u, const typename E::Mesh_t::vector_type vectors[])
template<typename... Idx>
KOKKOS_INLINE_FUNCTION auto operator() (const Idx... args) const
KOKKOS_INLINE_FUNCTION auto operator[] (size_t i) const

Static Public Attributes

static constexpr unsigned dim = E::dim

Private Types

using Mesh_t = typename E::Mesh_t
using vector_type = typename Mesh_t::vector_type

Private Attributes

const E u_m
vector_type vectors_m [dim]

Detailed Description

template<typename E>
struct ippl::detail::meta_grad< E >

Meta function of gradient

Definition at line 304 of file IpplOperations.h.

Member Typedef Documentation

◆ Mesh_t

template<typename E>
using ippl::detail::meta_grad< E >::Mesh_t = typename E::Mesh_t
private

Definition at line 349 of file IpplOperations.h.

◆ value_type

template<typename E>
using ippl::detail::meta_grad< E >::value_type = typename E::value_type

Definition at line 309 of file IpplOperations.h.

◆ vector_type

template<typename E>
using ippl::detail::meta_grad< E >::vector_type = typename Mesh_t::vector_type
private

Definition at line 350 of file IpplOperations.h.

Constructor & Destructor Documentation

◆ meta_grad()

template<typename E>
KOKKOS_FUNCTION ippl::detail::meta_grad< E >::meta_grad ( const E & u,
const typename E::Mesh_t::vector_type vectors[] )
inline

Definition at line 312 of file IpplOperations.h.

References u_m, and vectors_m.

Member Function Documentation

◆ operator()()

template<typename E>
template<typename... Idx>
KOKKOS_INLINE_FUNCTION auto ippl::detail::meta_grad< E >::operator() ( const Idx... args) const
inline

Definition at line 323 of file IpplOperations.h.

References ippl::apply(), dim, u_m, and vectors_m.

Here is the call graph for this function:

◆ operator[]()

KOKKOS_INLINE_FUNCTION auto ippl::detail::Expression< E, N >::operator[] ( size_t i) const
inlineinherited

Access single element of the expression

Definition at line 32 of file IpplExpressions.h.

Member Data Documentation

◆ dim

template<typename E>
unsigned ippl::detail::meta_grad< E >::dim = E::dim
staticconstexpr

Definition at line 308 of file IpplOperations.h.

Referenced by operator()().

◆ u_m

template<typename E>
const E ippl::detail::meta_grad< E >::u_m
private

Definition at line 351 of file IpplOperations.h.

Referenced by meta_grad(), and operator()().

◆ vectors_m

template<typename E>
vector_type ippl::detail::meta_grad< E >::vectors_m[dim]
private

Definition at line 352 of file IpplOperations.h.

Referenced by meta_grad(), and operator()().


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