IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::Field< T, Dim, Mesh, Centering, ViewArgs > Class Template Reference
+ Inheritance diagram for ippl::Field< T, Dim, Mesh, Centering, ViewArgs >:
+ Collaboration diagram for ippl::Field< T, Dim, Mesh, Centering, ViewArgs >:

Public Types

using Mesh_t = Mesh
 
using Centering_t = Cell
 
using Layout_t = FieldLayout< Dim >
 
using BareField_t = BareField< T, Dim, ViewArgs... >
 
using view_type = typename BareField_t::view_type
 
using BConds_t = BConds< Field< T, Dim, Mesh, Centering, ViewArgs... >, Dim >
 
using uniform_type = typename detail::CreateUniformType< base_type, typename view_type::uniform_type >::type
 
- Public Types inherited from ippl::BareField< T, Dim, ViewArgs... >
using Layout_t = FieldLayout< Dim >
 
using Domain_t = NDIndex< Dim >
 Domain type specifying the index region.
 
using view_type = typename detail::ViewType< T, Dim, ViewArgs... >::view_type
 View type storing the data.
 
typedef view_type::memory_space memory_space
 
typedef view_type::execution_space execution_space
 
using host_mirror_type = typename view_type::host_mirror_type
 
using policy_type = typename RangePolicy< Dim, PolicyArgs... >::policy_type
 
using halo_type = detail::HaloCells< T, Dim, ViewArgs... >
 
using value_type = T
 

Public Member Functions

 Field (const Field &)=default
 
Field deepCopy () const
 
 Field (Mesh_t &, Layout_t &, int nghost=1)
 
void initialize (Mesh_t &, Layout_t &, int nghost=1)
 
void updateLayout (Layout_t &, int nghost=1)
 
void setFieldBC (BConds_t &bc)
 
KOKKOS_INLINE_FUNCTION Mesh_tget_mesh () const
 
getVolumeIntegral () const
 
getVolumeAverage () const
 
BConds_tgetFieldBC ()
 
- Public Member Functions inherited from ippl::BareField< T, Dim, ViewArgs... >
 BareField ()
 
 BareField (const BareField &)=default
 
 BareField (Layout_t &l, int nghost=1)
 
BareField deepCopy () const
 
void resize (Args... args)
 
void initialize (Layout_t &l, int nghost=1)
 
void updateLayout (Layout_t &, int nghost=1)
 
detail::size_type size (unsigned d) const
 
const Domain_tgetOwned () const
 
const Domain_t getAllocated () const
 
int getNghost () const
 
void fillHalo ()
 
void accumulateHalo ()
 
void accumulateHalo_noghost (int nghost=1)
 
auto & getCommunicator () const
 
Layout_tgetLayout () const
 
const IndexgetIndex (unsigned d) const
 
const NDIndex< Dim > & getDomain () const
 
halo_typegetHalo ()
 
BareFieldoperator= (T x)
 
BareFieldoperator= (const detail::Expression< E, N > &expr)
 
BareField< T, Dim, ViewArgs... > & operator= (const detail::Expression< E, N > &expr)
 
KOKKOS_INLINE_FUNCTION T operator() (Args... args) const
 
view_typegetView ()
 
const view_typegetView () const
 
host_mirror_type getHostMirror () const
 
policy_type< execution_space, PolicyArgs... > getFieldRangePolicy (const int nghost=0) const
 
void write (std::ostream &out=std::cout) const
 
void write (Inform &inf) const
 
void write_as_list (std::ostream &out=std::cout) const
 
void write_as_list (Inform &inf) const
 
sum (int nghost=0) const
 
max (int nghost=0) const
 
min (int nghost=0) const
 
prod (int nghost=0) const
 
- Public Member Functions inherited from ippl::detail::Expression< BareField< T, Dim, ViewArgs... >, sizeof(detail::ViewType< T, Dim, ViewArgs... >::view_type)>
KOKKOS_INLINE_FUNCTION auto operator[] (size_t i) const
 

Additional Inherited Members

- Static Public Attributes inherited from ippl::BareField< T, Dim, ViewArgs... >
static constexpr unsigned dim
 
- Static Public Attributes inherited from ippl::detail::Expression< BareField< T, Dim, ViewArgs... >, sizeof(detail::ViewType< T, Dim, ViewArgs... >::view_type)>
static constexpr unsigned dim
 

Member Function Documentation

◆ deepCopy()

template<class T , unsigned Dim, class Mesh , class Centering , class... ViewArgs>
Field< T, Dim, Mesh, Centering, ViewArgs... > ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::deepCopy ( ) const

Creates a new Field with the same properties and contents

Returns
A deep copy of the field

◆ getVolumeAverage()

template<class T , unsigned Dim, class Mesh , class Centering , class... ViewArgs>
T ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getVolumeAverage ( ) const

Use the midpoint rule to calculate the field's volume average

Returns
Integral of the field divided by the mesh volume

◆ getVolumeIntegral()

template<class T , unsigned Dim, class Mesh , class Centering , class... ViewArgs>
T ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getVolumeIntegral ( ) const

Use the midpoint rule to calculate the field's volume integral

Returns
Integral of the field over its domain

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