|
peclet-amr 0.2.0
Block-local-Morton AMR octree + collocated cut-cell Navier–Stokes solver (header-only C++20, Kokkos + MPI)
|
Device-resident distributed plain-Laplacian Poisson operator: y = ∇²x with cross-block neighbours from the device gather halo. More...
#include <distributed_view.hpp>
Public Member Functions | |
| void | init (DistributedOctree< Dim, Bits > &d, double h0) |
| void | init (DistributedOctree< Dim, Bits > &d, const Vec< Dim > &h0) |
| Index | numLeaves () const |
| MPI_Comm | comm () const |
| void | apply (View< const double > x, View< double > y) const |
| y = L x (L = ∇², periodic). | |
| void | jacobi (View< double > x, View< const double > b, int sweeps, double omega=0.8) const |
sweeps damped-Jacobi relaxations of L u = b (in place). Reads only the previous iterate. | |
| double | residual (View< const double > x, View< const double > b, View< double > res) const |
| res = b − L x (device); returns the global L2 norm (the only host scalar). | |
| double | residualNorm (View< const double > x, View< const double > b) const |
Device-resident distributed plain-Laplacian Poisson operator: y = ∇²x with cross-block neighbours from the device gather halo.
apply / jacobi / residual run as Kokkos kernels over the device field.
Definition at line 148 of file distributed_view.hpp.
|
inline |
Definition at line 150 of file distributed_view.hpp.
References peclet::amr::DistributedPoissonView< Dim, Bits >::init().
Referenced by peclet::amr::DistributedPoissonView< Dim, Bits >::init().
|
inline |
Definition at line 151 of file distributed_view.hpp.
References peclet::amr::DistributedOctree< Dim, Bits >::buildFaceGatherPlan(), peclet::amr::DistributedOctree< Dim, Bits >::buildGatherHaloTopology(), peclet::amr::DistributedOctree< Dim, Bits >::local(), peclet::amr::BlockOctree< Dim, Bits >::numLeaves(), and peclet::amr::transferFieldGradients().
|
inline |
Definition at line 163 of file distributed_view.hpp.
|
inline |
Definition at line 164 of file distributed_view.hpp.
References peclet::amr::DistributedOctree< Dim, Bits >::comm().
|
inline |
y = L x (L = ∇², periodic).
Definition at line 167 of file distributed_view.hpp.
References peclet::amr::transferFieldGradients().
Referenced by peclet::amr::DistributedPoissonView< Dim, Bits >::jacobi(), peclet::amr::DistributedPoissonView< Dim, Bits >::residual(), and peclet::amr::DistributedPoissonView< Dim, Bits >::residualNorm().
|
inline |
sweeps damped-Jacobi relaxations of L u = b (in place). Reads only the previous iterate.
Definition at line 186 of file distributed_view.hpp.
References peclet::amr::DistributedPoissonView< Dim, Bits >::apply(), and peclet::amr::transferFieldGradients().
|
inline |
res = b − L x (device); returns the global L2 norm (the only host scalar).
Definition at line 202 of file distributed_view.hpp.
References peclet::amr::DistributedPoissonView< Dim, Bits >::apply(), peclet::amr::DistributedOctree< Dim, Bits >::comm(), and peclet::amr::transferFieldGradients().
|
inline |
Definition at line 219 of file distributed_view.hpp.
References peclet::amr::DistributedPoissonView< Dim, Bits >::apply(), peclet::amr::DistributedOctree< Dim, Bits >::comm(), and peclet::amr::transferFieldGradients().