![]() |
GPUE
v1.0
GPU Gross-Pitaevskii Equation numerical solver for Bose-Einstein condensates
|
Functions | |
int | findVortex (int *marker, const double2 *wfc, double radius, int xDim, const double *x, int timestep) |
Find vortex locations in the condensate. More... | |
void | vortPos (const int *marker, std::vector< std::shared_ptr< Vtx::Vortex > > &vLocation, int xDim, const double2 *wfc) |
Accepts matrix of vortex locations as argument, returns array of x,y coordinates of locations and winding. More... | |
void | olPos (int *marker, int2 *vLocation, int xDim) |
Accepts matrix of vortex locations as argument, returns array of x,y coordinates of locations and winding. More... | |
std::shared_ptr< Vtx::Vortex > | vortPosDelta (int *cMarker, int2 *pMarker, double *x, double tolerance, int xDim) |
Changes in vortex positions. Not implemented. See vort.py for current tracking. More... | |
std::shared_ptr< Vtx::Vortex > | vortCentre (const std::vector< std::shared_ptr< Vtx::Vortex > > &cArray, int xDim) |
Determines the most central vortex in the condensate. More... | |
double | vortAngle (const std::vector< std::shared_ptr< Vtx::Vortex >> &vortCoords, const std::shared_ptr< Vtx::Vortex > central) |
Determines the rotation angle of the vortex lattice. More... | |
double | vortSepAvg (const std::vector< std::shared_ptr< Vtx::Vortex > > &vArray, const std::shared_ptr< Vtx::Vortex > centre) |
Determines average inter-vortex separation about the condensate centre. More... | |
double | sigVOL (const std::vector< std::shared_ptr< Vtx::Vortex > > &vArr, const int2 *opLatt, const double *x) |
int | findOLMaxima (int *marker, double *V, double radius, int xDim, double *x) |
Finds optical lattice maxima locations. Deprecated. More... | |
void | vortArrange (std::vector< std::shared_ptr< Vtx::Vortex > > &vCoordsC, const std::vector< std::shared_ptr< Vtx::Vortex >> &vCoordsP) |
Ensures the vortices are tracked and arranged in the right order based on minimum distance between previous and current positions. More... | |
int | phaseTest (int2 vLoc, double2 *wfc, int xDim) |
Checks given coordinate for phase singularity of +ve winding. More... | |
void | lsFit (std::vector< std::shared_ptr< Vtx::Vortex >> &vortCoords, const double2 *wfc, int xDim) |
Least-squares vortex code estimation. Loosely based on c42f's vortutils code. More... | |
See the source file for more info on functions.
int Tracker::findOLMaxima | ( | int * | marker, |
double * | V, | ||
double | radius, | ||
int | xDim, | ||
double * | x | ||
) |
Finds optical lattice maxima locations. Deprecated.
marker | Matrix of lattice maxima locations |
V | Optical lattice potential |
radius | Search radius for maxima |
x | X grid |
int Tracker::findVortex | ( | int * | marker, |
const double2 * | wfc, | ||
double | radius, | ||
int | xDim, | ||
const double * | x, | ||
int | timestep | ||
) |
Find vortex locations in the condensate.
marker | Matrix for vortex locations to nearest grid point |
wfc | Wavefunction |
radius | Vortex search radius in condensate |
xDim | Length of X dimension |
x | X grid |
timestep | Timestep in simulation |
void Tracker::lsFit | ( | std::vector< std::shared_ptr< Vtx::Vortex >> & | vortCoords, |
const double2 * | wfc, | ||
int | xDim | ||
) |
Least-squares vortex code estimation. Loosely based on c42f's vortutils code.
vortCoords | Array of vortices. Result returned in struct double coordinates |
wfc | Wavefunction |
xDim | Length of X dimension |
void Tracker::olPos | ( | int * | marker, |
int2 * | vLocation, | ||
int | xDim | ||
) |
Accepts matrix of vortex locations as argument, returns array of x,y coordinates of locations and winding.
marker | Matrix containing vortex grid locations |
vLocation | Array to store vortex data |
xDim | Length of X dimension |
wfc | Wavefunction |
int Tracker::phaseTest | ( | int2 | vLoc, |
double2 * | wfc, | ||
int | xDim | ||
) |
Checks given coordinate for phase singularity of +ve winding.
vLoc | Vortex location |
wfc | Wavefunction |
xDim | Length of X dimension |
double Tracker::sigVOL | ( | const std::vector< std::shared_ptr< Vtx::Vortex > > & | vArr, |
const int2 * | opLatt, | ||
const double * | x | ||
) |
double Tracker::vortAngle | ( | const std::vector< std::shared_ptr< Vtx::Vortex >> & | vortCoords, |
const std::shared_ptr< Vtx::Vortex > | central | ||
) |
Determines the rotation angle of the vortex lattice.
vortCoords | Array of vortices |
central | Central vortex in lattice |
void Tracker::vortArrange | ( | std::vector< std::shared_ptr< Vtx::Vortex > > & | vCoordsC, |
const std::vector< std::shared_ptr< Vtx::Vortex >> & | vCoordsP | ||
) |
Ensures the vortices are tracked and arranged in the right order based on minimum distance between previous and current positions.
vCoordsC | Current vortex locations |
vCoordsP | Previous vortex locations |
std::shared_ptr<Vtx::Vortex> Tracker::vortCentre | ( | const std::vector< std::shared_ptr< Vtx::Vortex > > & | cArray, |
int | xDim | ||
) |
Determines the most central vortex in the condensate.
cArray | Array of vortices |
xDim | Length of X dimension |
void Tracker::vortPos | ( | const int * | marker, |
std::vector< std::shared_ptr< Vtx::Vortex > > & | vLocation, | ||
int | xDim, | ||
const double2 * | wfc | ||
) |
Accepts matrix of vortex locations as argument, returns array of x,y coordinates of locations and winding.
marker | Matrix containing vortex grid locations |
vLocation | Array to store vortex data |
xDim | Length of X dimension |
wfc | Wavefunction |
std::shared_ptr<Vtx::Vortex> Tracker::vortPosDelta | ( | int * | cMarker, |
int2 * | pMarker, | ||
double * | x, | ||
double | tolerance, | ||
int | xDim | ||
) |
Changes in vortex positions. Not implemented. See vort.py for current tracking.
cMarker | Current vortex location matrix |
pMarker | Previous vortex location matrix |
x | X grid |
tolerance | Maximum change acceptable for a vortex to have moved |
xDim | Length of X dimension |
double Tracker::vortSepAvg | ( | const std::vector< std::shared_ptr< Vtx::Vortex > > & | vArray, |
const std::shared_ptr< Vtx::Vortex > | centre | ||
) |
Determines average inter-vortex separation about the condensate centre.
vArray | Vortices |
centre | Central vortex in lattice |