SimiLie
Loading...
Searching...
No Matches
sil::tensor::TensorLeviCivitaIndex< TensorIndex > Struct Template Reference

#include <levi_civita_tensor.hpp>

Collaboration diagram for sil::tensor::TensorLeviCivitaIndex< TensorIndex >:
Collaboration graph

Public Types

using subindices_domain_t = ddc::DiscreteDomain<TensorIndex...>
 

Static Public Member Functions

static KOKKOS_FUNCTION constexpr subindices_domain_t subindices_domain ()
 
static KOKKOS_FUNCTION constexpr std::size_t rank ()
 
static KOKKOS_FUNCTION constexpr std::size_t size ()
 
static KOKKOS_FUNCTION constexpr std::size_t mem_size ()
 
static KOKKOS_FUNCTION constexpr std::size_t access_size ()
 
static KOKKOS_FUNCTION constexpr std::size_t mem_id (std::array< std::size_t, sizeof...(TensorIndex)> const natural_ids)
 
static KOKKOS_FUNCTION constexpr std::size_t access_id (std::array< std::size_t, sizeof...(TensorIndex)> const natural_ids)
 
static KOKKOS_FUNCTION constexpr std::size_t access_id_to_mem_id (std::size_t access_id)
 
template<class Tensor , class Elem , class Id , class FunctorType >
static KOKKOS_FUNCTION constexpr Tensor::element_type process_access (const FunctorType &access, Tensor tensor, Elem elem)
 
static KOKKOS_FUNCTION constexpr std::array< std::size_t, rank()> mem_id_to_canonical_natural_ids (std::size_t mem_id)
 

Static Public Attributes

static constexpr bool is_tensor_index = true
 
static constexpr bool is_explicitely_stored_tensor = true
 

Detailed Description

template<TensorNatIndex... TensorIndex>
struct sil::tensor::TensorLeviCivitaIndex< TensorIndex >

Definition at line 18 of file levi_civita_tensor.hpp.

Member Typedef Documentation

◆ subindices_domain_t

template<TensorNatIndex... TensorIndex>
using sil::tensor::TensorLeviCivitaIndex< TensorIndex >::subindices_domain_t = ddc::DiscreteDomain<TensorIndex...>

Definition at line 23 of file levi_civita_tensor.hpp.

Member Function Documentation

◆ subindices_domain()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr subindices_domain_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::subindices_domain ( )
inlinestaticconstexpr

Definition at line 25 of file levi_civita_tensor.hpp.

◆ rank()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::rank ( )
inlinestaticconstexpr

Definition at line 33 of file levi_civita_tensor.hpp.

◆ size()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::size ( )
inlinestaticconstexpr

Definition at line 40 of file levi_civita_tensor.hpp.

◆ mem_size()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::mem_size ( )
inlinestaticconstexpr

Definition at line 45 of file levi_civita_tensor.hpp.

◆ access_size()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::access_size ( )
inlinestaticconstexpr

Definition at line 50 of file levi_civita_tensor.hpp.

◆ mem_id()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::mem_id ( std::array< std::size_t, sizeof...(TensorIndex)> const natural_ids)
inlinestaticconstexpr

Definition at line 55 of file levi_civita_tensor.hpp.

◆ access_id()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::access_id ( std::array< std::size_t, sizeof...(TensorIndex)> const natural_ids)
inlinestaticconstexpr

Definition at line 61 of file levi_civita_tensor.hpp.

◆ access_id_to_mem_id()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorLeviCivitaIndex< TensorIndex >::access_id_to_mem_id ( std::size_t access_id)
inlinestaticconstexpr

Definition at line 78 of file levi_civita_tensor.hpp.

◆ process_access()

template<TensorNatIndex... TensorIndex>
template<class Tensor , class Elem , class Id , class FunctorType >
static KOKKOS_FUNCTION constexpr Tensor::element_type sil::tensor::TensorLeviCivitaIndex< TensorIndex >::process_access ( const FunctorType & access,
Tensor tensor,
Elem elem )
inlinestaticconstexpr

Definition at line 85 of file levi_civita_tensor.hpp.

◆ mem_id_to_canonical_natural_ids()

template<TensorNatIndex... TensorIndex>
static KOKKOS_FUNCTION constexpr std::array< std::size_t, rank()> sil::tensor::TensorLeviCivitaIndex< TensorIndex >::mem_id_to_canonical_natural_ids ( std::size_t mem_id)
inlinestaticconstexpr

Definition at line 100 of file levi_civita_tensor.hpp.

Member Data Documentation

◆ is_tensor_index

template<TensorNatIndex... TensorIndex>
bool sil::tensor::TensorLeviCivitaIndex< TensorIndex >::is_tensor_index = true
staticconstexpr

Definition at line 20 of file levi_civita_tensor.hpp.

◆ is_explicitely_stored_tensor

template<TensorNatIndex... TensorIndex>
bool sil::tensor::TensorLeviCivitaIndex< TensorIndex >::is_explicitely_stored_tensor = true
staticconstexpr

Definition at line 21 of file levi_civita_tensor.hpp.


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