Phalanx  Development
 All Classes Functions Variables Typedefs Enumerations Friends Pages
Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
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 PHX::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< typename
PHX::Field< DataT, Rank,
Layout >::array_type >
::return_type 
operator() (const index_pack &...indices) const
 
template<typename... index_pack>
KOKKOS_INLINE_FUNCTION
PHX::FieldReturnType< typename
PHX::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: