PoissonFFT Class ReferenceΒΆ

adc_cpp: pops::PoissonFFT Class Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
pops::PoissonFFT Class Reference

#include <poisson_fft.hpp>

+ Collaboration diagram for pops::PoissonFFT:

Public Member Functions

 PoissonFFT (int Nx, int Ny, double Lx, double Ly, bool spectral=false)
 spectral: false (default) = DISCRETE 5-point stencil eigenvalue (consistent with the transport gradients, bit-identical to the historical behavior).
 
int ny_local () const
 
int nx () const
 
int y_begin () const
 
void solve (const std::vector< double > &rho_local, std::vector< double > &phi_local)
 

Constructor & Destructor Documentation

◆ PoissonFFT()

pops::PoissonFFT::PoissonFFT ( int  Nx,
int  Ny,
double  Lx,
double  Ly,
bool  spectral = false 
)
inline

spectral: false (default) = DISCRETE 5-point stencil eigenvalue (consistent with the transport gradients, bit-identical to the historical behavior).

true = CONTINUOUS symbol lambda(k) = -(kx^2 + ky^2) with signed frequencies k in [0..N/2-1, -N/2..-1] * (2pi/L) – exactly the convention of reference spectral solvers (e.g. poisson_fft.m of RIEMOM2D); the solution is then the SPECTRAL Poisson (exact on sinusoids), which differs from the discrete stencil by O(h^2).

Member Function Documentation

◆ nx()

int pops::PoissonFFT::nx ( ) const
inline

◆ ny_local()

int pops::PoissonFFT::ny_local ( ) const
inline

◆ solve()

void pops::PoissonFFT::solve ( const std::vector< double > &  rho_local,
std::vector< double > &  phi_local 
)
inline
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ y_begin()

int pops::PoissonFFT::y_begin ( ) const
inline

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