Phalanx Development
Loading...
Searching...
No Matches
PHX::Field< DataT, Rank, Layout > Class Template Reference

Public Types

typedef DataT value_type
typedef DataT & reference_type
typedef KokkosDimType< DataT, Rank >::type kokkos_data_type
typedef Kokkos::View< kokkos_data_type, Layout, PHX::Device > array_type
typedef array_type::array_layout layout_type
typedef array_type::device_type device_type
typedef PHX::Device::size_type size_type
typedef array_type::execution_space execution_space

Public Member Functions

 Field (const std::string &name, const Teuchos::RCP< PHX::DataLayout > &dl)
 Field (const PHX::FieldTag &t)
 Field (const Teuchos::RCP< const PHX::FieldTag > &t)
template<typename... Extents>
 Field (const std::string name, const std::string layout_name, Extents... e)
 ONLY USE THIS CTOR FOR UNMANAGED FIELDS!!!! It will allocate memory unassociated with the DAG!
template<typename CopyDataT>
 Field (const Field< CopyDataT, Rank, Layout > &source)
 For const/non-const compatibility.
const PHX::FieldTagfieldTag () const
Teuchos::RCP< const PHX::FieldTagfieldTagPtr () const
template<typename CopyDataT>
PHX::Field< DataT, Rank, Layout > & operator= (const Field< CopyDataT, Rank, Layout > &source)
 For const/non-const compatibility.
template<typename... index_pack>
KOKKOS_INLINE_FUNCTION PHX::FieldReturnType< array_type >::return_type operator() (const index_pack &...) const
template<typename... index_pack>
KOKKOS_INLINE_FUNCTION PHX::FieldReturnType< array_type >::return_type access (const index_pack &...) const
KOKKOS_INLINE_FUNCTION size_type rank () const
template<typename iType>
KOKKOS_INLINE_FUNCTION constexpr std::enable_if< std::is_integral< iType >::value, size_t >::type extent (const iType &r) const
template<typename iType>
KOKKOS_INLINE_FUNCTION constexpr std::enable_if< std::is_integral< iType >::value, int >::type extent_int (const iType &r) const
KOKKOS_INLINE_FUNCTION size_type size () const
KOKKOS_INLINE_FUNCTION constexpr size_t span () const
void setFieldTag (const PHX::FieldTag &t)
void setFieldTag (const Teuchos::RCP< const PHX::FieldTag > &t)
void setFieldData (const std::any &a)
void releaseFieldData ()
void print (std::ostream &os, bool printValues=false) const
KOKKOS_INLINE_FUNCTION Kokkos::DynRankView< DataT, Layout, PHX::Device > get_view ()
KOKKOS_INLINE_FUNCTION const Kokkos::DynRankView< DataT, Layout, PHX::Device > get_view () const
KOKKOS_INLINE_FUNCTION array_type get_static_view ()
 Returns a static view of the underlying kokkos static view.
KOKKOS_INLINE_FUNCTION const array_type get_static_view () const
 Returns a static view of the underlying kokkos static view.
template<typename SrcDataT>
void deep_copy (const PHX::Field< SrcDataT, Rank, Layout > &source)
void deep_copy (const DataT source)
template<typename... index_pack>
KOKKOS_INLINE_FUNCTION PHX::FieldReturnType< typenamePHX::Field< DataT, Rank, Layout >::array_type >::return_type operator() (const index_pack &... indices) const
template<typename... index_pack>
KOKKOS_INLINE_FUNCTION PHX::FieldReturnType< typenamePHX::Field< DataT, Rank, Layout >::array_type >::return_type access (const index_pack &... indices) const

Static Public Attributes

static const int ArrayRank =array_type::rank

Friends

template<typename ScalarT, int FriendRank, typename FriendLayout>
class PHX::Field
 For copy/assignment between const/non-const.

The documentation for this class was generated from the following files: