Open Qmin  0.8.0
GPU-accelerated Q-tensor-based liquid crystal simulations
Macros | Functions | Variables
functions.h File Reference
#include "std_include.h"
#include "gpuarray.h"
#include <set>
Include dependency graph for functions.h:
This graph shows which files directly or indirectly include this file:

Macros

#define HOSTDEVICE   inline __attribute__((always_inline))
 

Functions

template<typename T >
 __attribute__ ((always_inline)) void removeDuplicateVectorElements(vector< T > &data)
 remove duplicate elements from a vector, preserving the order, using sets More...
 
newData resize (n-1)
 
ArrayHandle< T > h1 (newData, access_location::host, access_mode::overwrite)
 
 for (int i=0;i< n;++i) = h.data[i]
 
newData resize (n-indices.size())
 
newData resize (n+extraElements)
 
ArrayHandle< T > hnew (newData, access_location::host, access_mode::overwrite)
 
data swap (newData)
 
 if (Nvector > Narray) copydata.resize(Nvector)
 
ArrayHandle< T > handle (copydata, access_location::host, access_mode::overwrite)
 
ArrayHandle< T > handle (data, access_location::host, access_mode::read)
 
copydata resize (n)
 
HOSTDEVICE scalar dot (const dVec &p1, const dVec &p2)
 The dot product between d-Dimensional vectors. More...
 
HOSTDEVICE int idPow (int i)
 an integer to the dth power... the slow way More...
 
HOSTDEVICE int dot (const iVec &p1, const iVec &p2)
 The dot product between d-Dimensional iVecs. More...
 
HOSTDEVICE scalar dot (const scalar3 &p1, const scalar3 &p2)
 The dot product between scalar3's. More...
 
HOSTDEVICE scalar norm (const scalar3 &p)
 The norm of a scalar3's. More...
 
HOSTDEVICE scalar r3Distance (const scalar3 &p1, const scalar3 &p2)
 The dot product between scalar3's. More...
 
HOSTDEVICE scalar3 cross (const scalar3 &p1, scalar3 &p2)
 The norm of a scalar3's. More...
 
HOSTDEVICE scalar norm (const dVec &p)
 The norm of a d-Dimensional vector. More...
 
HOSTDEVICE scalar pointSegmentDistance (const scalar3 &p, const scalar3 &s1, const scalar3 &s2, scalar3 &dir)
 point-segment distance in 3D More...
 
HOSTDEVICE scalar truncatedPointSegmentDistance (const scalar3 &p, const scalar3 &s1, const scalar3 &s2, scalar3 &dir)
 point-segment distance in 3D More...
 
HOSTDEVICE int wrap (int x, int m)
 fit integers into non-negative domains More...
 
HOSTDEVICE int3 wrap (int3 x, int3 m)
 fit integers into non-negative domains More...
 
HOSTDEVICE bool ordered (int a, int b, int c)
 
HOSTDEVICE int computeSign (scalar x)
 compute the sign of a scalar, and return zero if x = 0 More...
 
HOSTDEVICE scalar computeSignNoCast (scalar x)
 compute the sign of a scalar, and return zero if x = 0...but return a scalar to avoid expensive casts on the GPU More...
 
__host__ bool chooseGPU (int USE_GPU, bool verbose=false)
 Get basic stats about the chosen GPU (if it exists) More...
 
__host__ bool getAvailableGPUs (vector< string > &devices)
 Get basic stats about the chosen GPU (if it exists) More...
 

Variables

int index
 
GPUArray< T > newData
 
int idx = 0
 
 data = newData
 
vector< int > indices
 
int n = data.getNumElements()
 
int vectorIndex = 0
 
int extraElements
 
GPUArray< T > & copydata
 
int Nvector = data.size()
 

Macro Definition Documentation

◆ HOSTDEVICE

#define HOSTDEVICE   inline __attribute__((always_inline))