Class BaseBoundary2D#

Inheritance Relationships#

Base Type#

Derived Type#

Class Documentation#

class BaseBoundary2D : public OrbitUtils::CppPyWrapper#

The BaseBoundary2D class defines a boundary geometry and calculates the potential created by charges on the boundary surface.

Subclassed by ShapedBoundary2D

Public Functions

BaseBoundary2D(int nPoints, int nModes)#

Constructor

The BaseBoundary2D class defines a boundary geometry and calculates the potential created by charges on the boundary surface.

virtual ~BaseBoundary2D()#

Destructor

double getMaxX()#

Returns the maximal value of the grid in x-axis

double getMinX()#

Returns the minimal value of the grid in x-axis

double getMaxY()#

Returns the maximal value of the grid in y-axis

double getMinY()#

Returns the minimal value of the grid in y-axis

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

Adds potential from the boundary to the external grid

int getNumberOfPoints()#

Returns the number of boundary points

int getNumberOfModes()#

Returns the number of modes in the free-space field

int isInitialized()#

Returns 0 if the boundary is not initialized

double getBoundaryPointX(int i)#

Returns the x-coordinate of the boundary point with an index i

double getBoundaryPointY(int i)#

Returns the y-coordinate of the boundary point with an index i

void setBoundaryPoint(int index, double x, double y)#

Sets the boundary point with index to (x,y)

void initializeBPs()#

Initializes all arrays related to boundary points

string getShapeName()#

Returns the name of the shape

int getShapeType()#

Returns the shape index

virtual int isInside(double x, double y)#

Returns IS_INSIDE or IS_OUTSIDE depending on the particle’s position

Public Members

string NO_SHAPE#

public static members

NOSHAPE String constant

Public Static Attributes

static const int IS_INSIDE = 1#
static const int IS_OUTSIDE = -1#
static const int TO_BE_KILLED = 0#
static const double PI = OrbitConst::PI#

Protected Functions

void _gaussjinv(double **a, int n)#

Calculates an inverse matrix

void lsq_fuctions(double x, double y)#

Calculates all of the LSQM functions at one point

Protected Attributes

string shape_#
int shape_type_#
int no_shape_key_#
double xDim_#
double yDim_#
int initialized_#
double xMin_#
double xMax_#
double yMin_#
double yMax_#
int nPoints_#
double *bArrX_#
double *bArrY_#
int nModes_#
double BPrnorm_#
double *bnd_phi_arr_#
double *lsq_func_vctr_#
double *lsq_coef_vctr_#
int *ipiv_tmp#
int *indxr_tmp#
int *indxc_tmp#
double **LSQ_matrix_#
double **tmp_matrix_#