|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <Field.h>
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 |
| using | Domain_t |
| Domain type specifying the index region. | |
| typedef view_type::memory_space | memory_space |
| typedef view_type::execution_space | execution_space |
| using | HostMirror |
| using | policy_type |
| using | halo_type |
| using | value_type |
Public Member Functions | |
| Field () | |
| Field (const Field &)=default | |
| Field | deepCopy () const |
| virtual | ~Field ()=default |
| 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_t & | get_mesh () const |
| T | getVolumeIntegral () const |
| T | getVolumeAverage () const |
| BConds_t & | getFieldBC () |
| void | resize (Args... args) |
| void | initialize (Layout_t &l, int nghost=1) |
| detail::size_type | size (unsigned d) const |
| const Domain_t & | getOwned () const |
| const Domain_t | getAllocated () const |
| int | getNghost () const |
| void | fillHalo () |
| void | accumulateHalo () |
| void | accumulateHalo_noghost (int nghost=1) |
| auto & | getCommunicator () const |
| Layout_t & | getLayout () const |
| const Index & | getIndex (unsigned d) const |
| const NDIndex< Dim > & | getDomain () const |
| halo_type & | getHalo () |
| KOKKOS_INLINE_FUNCTION T | operator() (Args... args) const |
| view_type & | getView () |
| const view_type & | getView () const |
| HostMirror | 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 |
| T | sum (int nghost=0) const |
| T | max (int nghost=0) const |
| T | min (int nghost=0) const |
| T | prod (int nghost=0) const |
| KOKKOS_INLINE_FUNCTION auto | operator[] (size_t i) const |
Static Public Attributes | |
| static constexpr unsigned | dim |
Private Types | |
| template<typename... Props> | |
| using | base_type = Field<T, Dim, Mesh, Centering, Props...> |
Private Member Functions | |
| void | setup () |
Private Attributes | |
| Mesh_t * | mesh_m |
| BConds_t | bc_m |
| int | nghost_m |
| Number of ghost layers on each field boundary. | |
| view_type | dview_m |
| Actual field data. | |
| Domain_t | owned_m |
| Domain of the data. | |
| halo_type | halo_m |
| Layout_t * | layout_m |
| How the arrays are laid out. | |
| using ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::Centering_t = Cell |
|
inherited |
Domain type specifying the index region.
Definition at line 47 of file BareField.h.
|
inherited |
Definition at line 52 of file BareField.h.
|
inherited |
Definition at line 57 of file BareField.h.
|
inherited |
Definition at line 53 of file BareField.h.
| using ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::Layout_t = FieldLayout<Dim> |
|
inherited |
Definition at line 51 of file BareField.h.
|
inherited |
Definition at line 55 of file BareField.h.
| using ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::uniform_type |
|
inherited |
Definition at line 59 of file BareField.h.
| using ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::view_type = typename BareField_t::view_type |
Definition at line 19 of file Field.hpp.
Referenced by deepCopy(), Field(), and initialize().
|
default |
|
inherited |
|
inherited |
| 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
Definition at line 26 of file Field.hpp.
References Dim, Field(), ippl::BareField< T, Dim, ViewArgs... >::getLayout(), ippl::BareField< T, Dim, ViewArgs... >::getNghost(), and mesh_m.
Referenced by ippl::adapted_powermethod(), ippl::preconditioner< Field >::init_fields(), ippl::polynomial_chebyshev_preconditioner< Field, OperatorF >::operator()(), ippl::preconditioner< Field >::operator()(), ippl::richardson_preconditioner_alt< Field, OperatorF, InvDiagF >::operator()(), and ippl::powermethod().
|
inherited |
|
inline |
Definition at line 64 of file Field.h.
Referenced by ippl::adapted_powermethod(), ippl::assemble_rhs_from_particles(), ippl::curl(), ippl::diagonal_laplace(), ippl::div(), ippl::grad(), ippl::hess(), ippl::gs_preconditioner< Field, LowerF, UpperF, InvDiagF >::init_fields(), ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::init_fields(), ippl::richardson_preconditioner_alt< Field, OperatorF, InvDiagF >::init_fields(), ippl::ssor_preconditioner< Field, LowerF, UpperF, InvDiagF, DiagF >::init_fields(), ippl::interpolate_to_diracs(), ippl::laplace(), ippl::lower_laplace_no_comm(), ippl::negative_inverse_diagonal_laplace(), ippl::gs_preconditioner< Field, LowerF, UpperF, InvDiagF >::operator()(), ippl::jacobi_preconditioner< Field, InvDiagF >::operator()(), ippl::polynomial_chebyshev_preconditioner< Field, OperatorF >::operator()(), ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::operator()(), ippl::richardson_preconditioner_alt< Field, OperatorF, InvDiagF >::operator()(), ippl::ssor_preconditioner< Field, LowerF, UpperF, InvDiagF, DiagF >::operator()(), ippl::powermethod(), ippl::polynomial_newton_preconditioner< Field, OperatorF >::recursive_preconditioner(), ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver(), ippl::upper_and_lower_laplace_no_comm(), and ippl::upper_laplace_no_comm().
|
inlineinherited |
Index domain of the allocated field.
Definition at line 123 of file BareField.h.
|
inlineinherited |
Definition at line 131 of file BareField.h.
References ippl::FieldLayout< Dim >::comm, and ippl::BareField< T, Dim, ViewArgs >::getLayout().
|
inlineinherited |
Definition at line 140 of file BareField.h.
References ippl::FieldLayout< Dim >::getDomain(), and ippl::BareField< T, Dim, ViewArgs >::getLayout().
Definition at line 78 of file Field.h.
Referenced by ippl::curl(), ippl::div(), ippl::grad(), ippl::hess(), ippl::laplace(), ippl::lower_laplace(), ippl::poisson(), ippl::upper_and_lower_laplace(), and ippl::upper_laplace().
|
inlineinherited |
Generate the range policy for iterating over the field, excluding ghost layers
| PolicyArgs... | additional template parameters for the range policy |
| nghost | Number of ghost layers to include in the range policy (default 0) |
Definition at line 183 of file BareField.h.
References dview_m, ippl::getRangePolicy(), nghost_m, and PAssert_LE.
|
inlineinherited |
Definition at line 142 of file BareField.h.
References halo_m.
|
inlineinherited |
Definition at line 173 of file BareField.h.
References dview_m.
Referenced by dumpVTK(), and dumpVTK().
|
inlineinherited |
Definition at line 139 of file BareField.h.
References ippl::FieldLayout< Dim >::getDomain(), and ippl::BareField< T, Dim, ViewArgs >::getLayout().
|
inlineinherited |
Definition at line 134 of file BareField.h.
References layout_m, and PAssert.
Referenced by ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::deepCopy().
|
inlineinherited |
Definition at line 125 of file BareField.h.
References nghost_m.
Referenced by ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::deepCopy().
|
inlineinherited |
Index domain of the local field.
Definition at line 117 of file BareField.h.
References owned_m.
|
inlineinherited |
Definition at line 169 of file BareField.h.
References dview_m.
Referenced by dumpVTK(), and dumpVTK().
|
inlineinherited |
Definition at line 171 of file BareField.h.
References dview_m.
Use the midpoint rule to calculate the field's volume average
Definition at line 66 of file Field.hpp.
References getVolumeIntegral(), and mesh_m.
Use the midpoint rule to calculate the field's volume integral
Definition at line 60 of file Field.hpp.
References mesh_m, and ippl::BareField< T, Dim, ViewArgs... >::sum().
Referenced by getVolumeAverage().
|
inherited |
Initialize the field, if it was constructed from the default constructor. This should NOT be called if the field was constructed by providing a FieldLayout.
| l | of field |
| nghost | number of ghost layers |
Referenced by ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::initialize().
|
inherited |
|
inherited |
|
inlineinherited |
Assign another field.
| Args... | variadic template to specify an access index for a view element. |
| args | view indices |
Definition at line 165 of file BareField.h.
References ippl::BareField< T, Dim, ViewArgs >::dview_m.
|
inlineinherited |
Access single element of the expression
Definition at line 32 of file IpplExpressions.h.
|
inherited |
|
inherited |
Dimension independent view resize function which calls Kokkos.
| Args... | variadic template specifying the individiual dimension arguments |
|
privateinherited |
Allocate field.
|
inlineinherited |
Local field size.
| d | the dimension |
Definition at line 111 of file BareField.h.
References owned_m.
|
inherited |
Referenced by ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getVolumeIntegral().
| void ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::updateLayout | ( | Layout_t & | l, |
| int | nghost = 1 ) |
Definition at line 71 of file Field.hpp.
References ippl::BareField< T, Dim, ViewArgs... >::updateLayout().
Referenced by ChargedParticles< PLayout, T, Dim >::updateLayout().
|
inherited |
|
inherited |
Print the BareField.
| out | stream |
Definition at line 87 of file Field.h.
Referenced by Field(), Field(), and initialize().
|
staticconstexprinherited |
Definition at line 60 of file BareField.h.
|
privateinherited |
Actual field data.
Definition at line 212 of file BareField.h.
Referenced by getFieldRangePolicy(), getHostMirror(), getView(), getView(), and operator=().
|
privateinherited |
Definition at line 217 of file BareField.h.
Referenced by getHalo().
|
privateinherited |
Definition at line 84 of file Field.h.
Referenced by deepCopy(), Field(), Field(), getVolumeAverage(), getVolumeIntegral(), and initialize().
|
privateinherited |
Number of ghost layers on each field boundary.
Definition at line 209 of file BareField.h.
Referenced by getAllocated(), getFieldRangePolicy(), getNghost(), and operator=().
|
privateinherited |
Domain of the data.
Definition at line 215 of file BareField.h.
Referenced by getAllocated(), getOwned(), and size().