Class PoissonSolverFFT2D#

Inheritance Relationships#

Base Type#

Class Documentation#

class PoissonSolverFFT2D : public PoissonSolver2D#

The PoissonSolverFFT2D class calculates electrostatic potential of a 2D charge distribution using 2D FFT approach.

Public Functions

PoissonSolverFFT2D(int xSize, int ySize)#

Constructor with sizes only

PoissonSolverFFT2D(int xSize, int ySize, double xMin, double xMax, double yMin, double yMax)#

Constructor wit sizes and limits

virtual ~PoissonSolverFFT2D()#

Destructor

virtual void setGridX(double xMin, double xMax)#

Sets x-grid. This method is virtual, because the setting of limits may involve some subclass specific actions.

virtual void setGridY(double yMin, double yMax)#

Sets y-grid. This method is virtual, because the setting of limits may involve some subclass specific actions.

virtual void setGridXY(double xMin, double xMax, double yMin, double yMax)#

Sets x-grid and y-grid simultaneously. This method is virtual, because the setting of limits may involve some subclass specific actions.

virtual void findPotential(Grid2D *rhoGrid, Grid2D *phiGrid)#

Solves the Poisson problem for an external charge distribution and puts results into an external potential grid

Protected Functions

virtual void init(int xSize, int ySize, double xMin, double xMax, double yMin, double yMax)#
void _defineGreenF()#

Protected Attributes

int xSize2_#
int ySize2_#
double **greensF_#
double *in_#
double *in_res_#
fftw_complex *out_green_#
fftw_complex *out_#
fftw_complex *out_res_#
double out_green_re00_#
fftw_plan planForward_greenF_#
fftw_plan planForward_#
fftw_plan planBackward_#