Open Qmin  0.8.0
GPU-accelerated Q-tensor-based liquid crystal simulations
Classes | Macros | Functions
dDimensionalVectorTypes.h File Reference
This graph shows which files directly or indirectly include this file:

Classes

class  cubicLatticeDerivativeVector
 define a vector of length 3*DIMENSION...convenient for storing the 3 spatial derivatives of the spins More...
 
struct  dVecDotProduct
 provide a dot-product operator More...
 
class  iVec
 iVec is an array of ints whose length matches the dimension of the system More...
 

Macros

#define HOSTDEVICE   inline __attribute__((always_inline))
 
#define MY_ALIGN(n)   __attribute__((aligned(n)))
 

Functions

class MY_ALIGN (8) dVec
 dVec is an array whose length matches the dimension of the system More...
 
HOSTDEVICE bool operator< (const dVec &a, const dVec &b)
 Less than operator for dVecs just sorts by the x-coordinate. More...
 
HOSTDEVICE bool operator== (const dVec &a, const dVec &b)
 Equality operator tests for.... equality of all elements. More...
 
HOSTDEVICE dVec make_dVec (scalar value)
 return a dVec with all elements equal to one number More...
 
HOSTDEVICE dVec operator+ (const dVec &a, const dVec &b)
 component-wise addition of two dVecs More...
 
HOSTDEVICE dVec operator- (const dVec &a, const dVec &b)
 component-wise subtraction of two dVecs More...
 
HOSTDEVICE scalar operator * (const dVec &a, const dVec &b)
 component-wise multiplication of two dVecs More...
 
HOSTDEVICE dVec multiply (const dVec &a, const dVec &b)
 component-wise multiplication of two dVecs More...
 
HOSTDEVICE dVec operator * (const scalar &a, const dVec &b)
 multiplication of dVec by scalar More...
 
HOSTDEVICE dVec operator * (const dVec &b, const scalar &a)
 multiplication of dVec by scalar More...
 
 __attribute__ ((always_inline)) void printdVecListable(dVec a)
 print a dVec to screen More...
 
HOSTDEVICE bool operator< (const iVec &a, const iVec &b)
 Less than operator for dVecs just sorts by the x-coordinate. More...
 
HOSTDEVICE bool operator== (const iVec &a, const iVec &b)
 Equality operator tests for.... equality of all elements. More...
 
HOSTDEVICE iVec make_dVec (int value)
 return a iVec with all elements equal to one number More...
 
HOSTDEVICE iVec operator+ (const iVec &a, const iVec &b)
 component-wise addition of two iVecs More...
 
HOSTDEVICE iVec operator- (const iVec &a, const iVec &b)
 component-wise subtraction of two iVecs More...
 
HOSTDEVICE iVec operator * (const iVec &a, const iVec &b)
 component-wise multiplication of two iVecs More...
 
HOSTDEVICE iVec operator * (const int &a, const iVec &b)
 multiplication of iVec by int More...
 
HOSTDEVICE iVec operator * (const iVec &b, const int &a)
 multiplication of iVec by int More...
 
HOSTDEVICE iVec modularAddition (const iVec &i1, const iVec &i2, const iVec &max)
 modular addition of iVec (elementwise) More...
 
HOSTDEVICE bool iVecIterate (iVec &it, const iVec &min, const iVec &max)
 iterate through an iVec... on the first call, pass in (it = min except it.x[0] = min.x[0]-1 More...
 

Detailed Description

defines dVec class (d-dimensional array of scalars) defines iVec class (d-dimensional array of ints)

Macro Definition Documentation

◆ HOSTDEVICE

#define HOSTDEVICE   inline __attribute__((always_inline))

◆ MY_ALIGN

#define MY_ALIGN (   n)    __attribute__((aligned(n)))

Function Documentation

◆ MY_ALIGN()

class MY_ALIGN ( )

dVec is an array whose length matches the dimension of the system

◆ operator<() [1/2]

HOSTDEVICE bool operator< ( const dVec &  a,
const dVec &  b 
)

Less than operator for dVecs just sorts by the x-coordinate.

◆ operator==() [1/2]

HOSTDEVICE bool operator== ( const dVec &  a,
const dVec &  b 
)

Equality operator tests for.... equality of all elements.

◆ make_dVec() [1/2]

HOSTDEVICE dVec make_dVec ( scalar  value)

◆ operator+() [1/2]

HOSTDEVICE dVec operator+ ( const dVec &  a,
const dVec &  b 
)

component-wise addition of two dVecs

◆ operator-() [1/2]

HOSTDEVICE dVec operator- ( const dVec &  a,
const dVec &  b 
)

component-wise subtraction of two dVecs

◆ operator *() [1/6]

HOSTDEVICE scalar operator * ( const dVec &  a,
const dVec &  b 
)

component-wise multiplication of two dVecs

References scalar.

◆ multiply()

HOSTDEVICE dVec multiply ( const dVec &  a,
const dVec &  b 
)

component-wise multiplication of two dVecs

Referenced by energyMinimizerAdam::adamStepCPU().

◆ operator *() [2/6]

HOSTDEVICE dVec operator * ( const scalar a,
const dVec &  b 
)

multiplication of dVec by scalar

◆ operator *() [3/6]

HOSTDEVICE dVec operator * ( const dVec &  b,
const scalar a 
)

multiplication of dVec by scalar

◆ __attribute__()

__attribute__ ( (always_inline)  )
inline

print a dVec to screen

print a iVec to screen

◆ operator<() [2/2]

HOSTDEVICE bool operator< ( const iVec a,
const iVec b 
)

Less than operator for dVecs just sorts by the x-coordinate.

References iVec::x.

◆ operator==() [2/2]

HOSTDEVICE bool operator== ( const iVec a,
const iVec b 
)

Equality operator tests for.... equality of all elements.

References iVec::x.

◆ make_dVec() [2/2]

HOSTDEVICE iVec make_dVec ( int  value)

return a iVec with all elements equal to one number

References iVec::x.

◆ operator+() [2/2]

HOSTDEVICE iVec operator+ ( const iVec a,
const iVec b 
)

component-wise addition of two iVecs

References iVec::x.

◆ operator-() [2/2]

HOSTDEVICE iVec operator- ( const iVec a,
const iVec b 
)

component-wise subtraction of two iVecs

References iVec::x.

◆ operator *() [4/6]

HOSTDEVICE iVec operator * ( const iVec a,
const iVec b 
)

component-wise multiplication of two iVecs

References iVec::x.

◆ operator *() [5/6]

HOSTDEVICE iVec operator * ( const int &  a,
const iVec b 
)

multiplication of iVec by int

References iVec::x.

◆ operator *() [6/6]

HOSTDEVICE iVec operator * ( const iVec b,
const int &  a 
)

multiplication of iVec by int

References iVec::x.

◆ modularAddition()

HOSTDEVICE iVec modularAddition ( const iVec i1,
const iVec i2,
const iVec max 
)

modular addition of iVec (elementwise)

References iVec::x.

Referenced by hyperrectangularCellList::computeAdjacentCells(), and hyperrectangularCellList::getCellNeighbors().

◆ iVecIterate()

HOSTDEVICE bool iVecIterate ( iVec it,
const iVec min,
const iVec max 
)

iterate through an iVec... on the first call, pass in (it = min except it.x[0] = min.x[0]-1

References iVec::x.

Referenced by hyperrectangularCellList::computeAdjacentCells(), hyperrectangularCellList::getCellNeighbors(), and poissonDiskSampling::poissonDiskSampling().