GPUE  v1.0
GPU Gross-Pitaevskii Equation numerical solver for Bose-Einstein condensates
tracker.h File Reference

Vortex lattice position, orientation, and tracking. More...

#include <math.h>
#include <vector>
#include <stdio.h>
#include <cuda.h>
#include <cuda_runtime.h>
#include "vort.h"
Include dependency graph for tracker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Tracker
 

Functions

int Tracker::findVortex (int *marker, const double2 *wfc, double radius, int xDim, const double *x, int timestep)
 Find vortex locations in the condensate. More...
 
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. More...
 
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. More...
 
std::shared_ptr< Vtx::VortexTracker::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::VortexTracker::vortCentre (const std::vector< std::shared_ptr< Vtx::Vortex > > &cArray, int xDim)
 Determines the most central vortex in the condensate. More...
 
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. More...
 
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. More...
 
double Tracker::sigVOL (const std::vector< std::shared_ptr< Vtx::Vortex > > &vArr, const int2 *opLatt, const double *x)
 
int Tracker::findOLMaxima (int *marker, double *V, double radius, int xDim, double *x)
 Finds optical lattice maxima locations. Deprecated. More...
 
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. More...
 
int Tracker::phaseTest (int2 vLoc, double2 *wfc, int xDim)
 Checks given coordinate for phase singularity of +ve winding. More...
 
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. More...
 

Detailed Description

Vortex lattice position, orientation, and tracking.

Author
Lee J. O'Riordan (mlxd)
Date
12/11/2015
Version
0.1

DESCRIPTION

These functions determine vortex positions, calculate intervortex separation at the max density, determine vortex lattice angle, and all useful routines to know where they are hiding.

Definition in file tracker.h.