Class PoissonSolver3D#

Inheritance Relationships#

Base Type#

Derived Type#

Class Documentation#

class PoissonSolver3D : public OrbitUtils::CppPyWrapper#

The PoissonSolver3D class calculates 3D voltage distribution created by 3D charge distribution.

Subclassed by PoissonSolverFFT3D

Public Functions

PoissonSolver3D(int xSize, int ySize, int zSize)#

Constructor

PoissonSolver3D(int xSize, int ySize, int zSize, double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)#

Constructor

virtual ~PoissonSolver3D()#

Destructor

int getSizeX()#

Returns the grid size in x-direction

Returns the number of points in x direction

int getSizeY()#

Returns the grid size in y-direction

Returns the number of points in y direction

int getSizeZ()#

Returns the grid size in z-direction

Returns the number of points in z direction

double getMaxX()#

Returns the maximal value of the grid in x-axis

Returns the max x in the grid points

double getMinX()#

Returns the minimal value of the grid in x-axis

Returns the min x in the grid points

double getMaxY()#

Returns the maximal value of the grid in y-axis

Returns the max y in the grid points

double getMinY()#

Returns the minimal value of the grid in y-axis

Returns the min y in the grid points

double getMaxZ()#

Returns the maximal value of the grid in z-axis

Returns the max z in the grid points

double getMinZ()#

Returns the minimal value of the grid in z-axis

Returns the min z in the grid points

double getStepX()#

Returns the grid step along x-axis

Returns the mesh step in x direction

double getStepY()#

Returns the grid step along y-axis

Returns the mesh step in y direction

double getStepZ()#

Returns the grid step along z-axis

Returns the mesh step in z direction

virtual void setGridX(double xMin, double xMax) = 0#

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) = 0#

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

virtual void setGridZ(double zMin, double zMax) = 0#

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

virtual void findPotential(Grid3D *rhoGrid, Grid3D *phiGrid) = 0#

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

Protected Functions

void checkSizes(Grid3D *rhoGrid, Grid3D *phiGrid)#
virtual void init(int xSize, int ySize, int zSize, double xMin, double xMax, double yMin, double yMax, double zMin, double zMax) = 0#

Protected Attributes

int xSize_#
int ySize_#
int zSize_#
double xMin_#
double xMax_#
double yMin_#
double yMax_#
double zMin_#
double zMax_#
double dx_#
double dy_#
double dz_#