GPUE  v1.0
GPU Gross-Pitaevskii Equation numerical solver for Bose-Einstein condensates
Minions Namespace Reference

Functions

double psi2 (double2 in)
 Calculates $|z|^2$, where $z {C}$. More...
 
double minValue (double *grid, int len)
 Returns the minimum value in the array. More...
 
double maxValue (double *grid, int len)
 Returns the maximum value in the array. More...
 
double sumAvg (double *in, int len)
 Computes average of the array. More...
 
double fInvSqRt (double in)
 id magic hackery. Double precision fast inverse square-root. Useless, but necessary to have. More...
 
void coordSwap (struct Vtx::Vortex *vCoords, int src, int dest)
 Swap the position of vortices. More...
 
double complexMag (double2 in)
 Calculates $|z|$, where $z {C}$. More...
 
double complexMag2 (double2 in)
 Calculates $|z|^2$, where $z {C}$. More...
 
double2 complexMult (double2 in1, double2 in2)
 Calculates complex multiplication of input parameters. More...
 
double2 complexScale (double2 comp, double scale)
 Calculates real * complex. More...
 
double2 conj (double2 c)
 Calculates complex conjugate. More...
 
double2 complexDiv (double2 num, double2 den)
 Calculates complex division. More...
 

Function Documentation

◆ complexDiv()

double2 Minions::complexDiv ( double2  num,
double2  den 
)

Calculates complex division.

Parameters
numComplex numerator
numComplex denominator
Returns
num/den

◆ complexMag()

double Minions::complexMag ( double2  in)

Calculates $|z|$, where $z {C}$.

More complex helper functions

Parameters
inComplex number
Returns
$|z|^2$

◆ complexMag2()

double Minions::complexMag2 ( double2  in)

Calculates $|z|^2$, where $z {C}$.

Parameters
inComplex number
Returns
$|z|^2$

◆ complexMult()

double2 Minions::complexMult ( double2  in1,
double2  in2 
)

Calculates complex multiplication of input parameters.

Parameters
in1Complex number 1
in1Complex number 2
Returns
in1 * in2

◆ complexScale()

double2 Minions::complexScale ( double2  comp,
double  scale 
)

Calculates real * complex.

Parameters
compComplex number multiplicand
scaleMulitplier
Returns
scale * comp

◆ conj()

double2 Minions::conj ( double2  c)

Calculates complex conjugate.

Parameters
cComplex number
Returns
conj(c)

◆ coordSwap()

void Minions::coordSwap ( struct Vtx::Vortex vCoords,
int  src,
int  dest 
)

Swap the position of vortices.

Parameters
vCoordsPointer to vortex array
srcSource vortex to swap
destDestination for vortex swap

◆ fInvSqRt()

double Minions::fInvSqRt ( double  in)

id magic hackery. Double precision fast inverse square-root. Useless, but necessary to have.

id magic hackery

Parameters
inValue to calculate fast inverse square root
Returns
${{in}}^{-1}$, but really fast

◆ maxValue()

double Minions::maxValue ( double *  grid,
int  len 
)

Returns the maximum value in the array.

Parameters
gridArray of values
lenLength of grid
Returns
${{grid}}$

◆ minValue()

double Minions::minValue ( double *  grid,
int  len 
)

Returns the minimum value in the array.

Parameters
gridArray of values
lenLength of grid
Returns
${{grid}}$

◆ psi2()

double Minions::psi2 ( double2  in)

Calculates $|z|^2$, where $z {C}$.

Parameters
inComplex number
Returns
$|z|^2$

◆ sumAvg()

double Minions::sumAvg ( double *  in,
int  len 
)

Computes average of the array.

Parameters
inArray of values
lenLength of array
Returns
${1}{{len}}{i=1}^{{len}}$