![]() |
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 |