IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
FFTOpenPoissonSolver.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  ippl

Functions

template<typename Tb, typename Tf>
void pack (const ippl::NDIndex< 3 > intersect, Kokkos::View< Tf *** > &view, ippl::detail::FieldBufferData< Tb > &fd, int nghost, const ippl::NDIndex< 3 > ldom, ippl::mpi::Communicator::size_type &nsends)
template<int tensorRank, typename Tb, typename Tf>
void unpack_impl (const ippl::NDIndex< 3 > intersect, const Kokkos::View< Tf *** > &view, ippl::detail::FieldBufferData< Tb > &fd, int nghost, const ippl::NDIndex< 3 > ldom, size_t dim1=0, size_t dim2=0, bool x=false, bool y=false, bool z=false)
template<typename Tb, typename Tf>
void unpack (const ippl::NDIndex< 3 > intersect, const Kokkos::View< Tf *** > &view, ippl::detail::FieldBufferData< Tb > &fd, int nghost, const ippl::NDIndex< 3 > ldom, bool x=false, bool y=false, bool z=false)
template<typename Tb, typename Tf>
void unpack (const ippl::NDIndex< 3 > intersect, const Kokkos::View< ippl::Vector< Tf, 3 > *** > &view, size_t dim1, ippl::detail::FieldBufferData< Tb > &fd, int nghost, const ippl::NDIndex< 3 > ldom)
template<typename Tb, typename Tf>
void unpack (const ippl::NDIndex< 3 > intersect, const Kokkos::View< ippl::Vector< ippl::Vector< Tf, 3 >, 3 > *** > &view, ippl::detail::FieldBufferData< Tb > &fd, int nghost, const ippl::NDIndex< 3 > ldom, size_t dim1, size_t dim2)
template<typename Tb, typename Tf, unsigned Dim>
void solver_send (int TAG, int id, int i, const ippl::NDIndex< Dim > intersection, const ippl::NDIndex< Dim > ldom, int nghost, Kokkos::View< Tf *** > &view, ippl::detail::FieldBufferData< Tb > &fd, std::vector< MPI_Request > &requests)
template<typename Tb, typename Tf, unsigned Dim>
void solver_recv (int TAG, int id, int i, const ippl::NDIndex< Dim > intersection, const ippl::NDIndex< Dim > ldom, int nghost, Kokkos::View< Tf *** > &view, ippl::detail::FieldBufferData< Tb > &fd, bool x=false, bool y=false, bool z=false)

Function Documentation

◆ pack()

template<typename Tb, typename Tf>
void pack ( const ippl::NDIndex< 3 > intersect,
Kokkos::View< Tf *** > & view,
ippl::detail::FieldBufferData< Tb > & fd,
int nghost,
const ippl::NDIndex< 3 > ldom,
ippl::mpi::Communicator::size_type & nsends )

Definition at line 10 of file FFTOpenPoissonSolver.hpp.

References ippl::detail::FieldBufferData< T, ViewArgs >::buffer, ippl::Comm, ippl::NDIndex< Dim >::first(), ippl::NDIndex< Dim >::last(), ippl::NDIndex< Dim >::length(), and ippl::NDIndex< Dim >::size().

Referenced by ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), and solver_send().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ solver_recv()

template<typename Tb, typename Tf, unsigned Dim>
void solver_recv ( int TAG,
int id,
int i,
const ippl::NDIndex< Dim > intersection,
const ippl::NDIndex< Dim > ldom,
int nghost,
Kokkos::View< Tf *** > & view,
ippl::detail::FieldBufferData< Tb > & fd,
bool x = false,
bool y = false,
bool z = false )

Definition at line 131 of file FFTOpenPoissonSolver.hpp.

References ippl::Comm, ippl::NDIndex< Dim >::size(), and unpack().

Referenced by ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico(), and ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ solver_send()

template<typename Tb, typename Tf, unsigned Dim>
void solver_send ( int TAG,
int id,
int i,
const ippl::NDIndex< Dim > intersection,
const ippl::NDIndex< Dim > ldom,
int nghost,
Kokkos::View< Tf *** > & view,
ippl::detail::FieldBufferData< Tb > & fd,
std::vector< MPI_Request > & requests )

Definition at line 110 of file FFTOpenPoissonSolver.hpp.

References ippl::Comm, and pack().

Referenced by ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico(), and ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unpack() [1/3]

template<typename Tb, typename Tf>
void unpack ( const ippl::NDIndex< 3 > intersect,
const Kokkos::View< ippl::Vector< ippl::Vector< Tf, 3 >, 3 > *** > & view,
ippl::detail::FieldBufferData< Tb > & fd,
int nghost,
const ippl::NDIndex< 3 > ldom,
size_t dim1,
size_t dim2 )

Definition at line 101 of file FFTOpenPoissonSolver.hpp.

References unpack_impl().

Here is the call graph for this function:

◆ unpack() [2/3]

template<typename Tb, typename Tf>
void unpack ( const ippl::NDIndex< 3 > intersect,
const Kokkos::View< ippl::Vector< Tf, 3 > *** > & view,
size_t dim1,
ippl::detail::FieldBufferData< Tb > & fd,
int nghost,
const ippl::NDIndex< 3 > ldom )

Definition at line 94 of file FFTOpenPoissonSolver.hpp.

References unpack_impl().

Here is the call graph for this function:

◆ unpack() [3/3]

template<typename Tb, typename Tf>
void unpack ( const ippl::NDIndex< 3 > intersect,
const Kokkos::View< Tf *** > & view,
ippl::detail::FieldBufferData< Tb > & fd,
int nghost,
const ippl::NDIndex< 3 > ldom,
bool x = false,
bool y = false,
bool z = false )

Definition at line 87 of file FFTOpenPoissonSolver.hpp.

References unpack_impl().

Referenced by ippl::PeriodicFace< Field >::apply(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), and solver_recv().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unpack_impl()

template<int tensorRank, typename Tb, typename Tf>
void unpack_impl ( const ippl::NDIndex< 3 > intersect,
const Kokkos::View< Tf *** > & view,
ippl::detail::FieldBufferData< Tb > & fd,
int nghost,
const ippl::NDIndex< 3 > ldom,
size_t dim1 = 0,
size_t dim2 = 0,
bool x = false,
bool y = false,
bool z = false )

Definition at line 52 of file FFTOpenPoissonSolver.hpp.

References ippl::detail::FieldBufferData< T, ViewArgs >::buffer, ippl::NDIndex< Dim >::first(), ippl::NDIndex< Dim >::last(), and ippl::NDIndex< Dim >::length().

Referenced by unpack(), unpack(), and unpack().

Here is the call graph for this function:
Here is the caller graph for this function: