Open Qmin
0.8.0
GPU-accelerated Q-tensor-based liquid crystal simulations
|
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... | |
defines dVec class (d-dimensional array of scalars) defines iVec class (d-dimensional array of ints)
#define HOSTDEVICE inline __attribute__((always_inline)) |
#define MY_ALIGN | ( | n | ) | __attribute__((aligned(n))) |
class MY_ALIGN | ( | 8 | ) |
dVec is an array whose length matches the dimension of the system
HOSTDEVICE bool operator< | ( | const dVec & | a, |
const dVec & | b | ||
) |
Less than operator for dVecs just sorts by the x-coordinate.
HOSTDEVICE bool operator== | ( | const dVec & | a, |
const dVec & | b | ||
) |
Equality operator tests for.... equality of all elements.
HOSTDEVICE dVec make_dVec | ( | scalar | value | ) |
return a dVec with all elements equal to one number
Referenced by landauDeGennesLC::computeBoundaryForcesCPU(), landauDeGennesLC::computeEorHFieldForcesCPU(), baseLatticeForce::computeForceCPU(), Simulation::computePressureTensor(), energyMinimizerFIRE::fireStepCPU(), gpu_lattice_spin_force_nn_kernel(), energyMinimizerAdam::initializeFromModel(), simpleModel::initializeSimpleModel(), MatrixDxD::MatrixDxD(), and neighborList::resetNeighborsCPU().
HOSTDEVICE dVec operator+ | ( | const dVec & | a, |
const dVec & | b | ||
) |
component-wise addition of two dVecs
HOSTDEVICE dVec operator- | ( | const dVec & | a, |
const dVec & | b | ||
) |
component-wise subtraction of two dVecs
HOSTDEVICE scalar operator * | ( | const dVec & | a, |
const dVec & | b | ||
) |
component-wise multiplication of two dVecs
References scalar.
HOSTDEVICE dVec multiply | ( | const dVec & | a, |
const dVec & | b | ||
) |
component-wise multiplication of two dVecs
Referenced by energyMinimizerAdam::adamStepCPU().
HOSTDEVICE dVec operator * | ( | const scalar & | a, |
const dVec & | b | ||
) |
multiplication of dVec by scalar
HOSTDEVICE dVec operator * | ( | const dVec & | b, |
const scalar & | a | ||
) |
multiplication of dVec by scalar
|
inline |
print a dVec to screen
print a iVec to screen
HOSTDEVICE bool operator< | ( | const iVec & | a, |
const iVec & | b | ||
) |
Less than operator for dVecs just sorts by the x-coordinate.
References iVec::x.
HOSTDEVICE bool operator== | ( | const iVec & | a, |
const iVec & | b | ||
) |
Equality operator tests for.... equality of all elements.
References iVec::x.
HOSTDEVICE iVec make_dVec | ( | int | value | ) |
HOSTDEVICE iVec operator+ | ( | const iVec & | a, |
const iVec & | b | ||
) |
component-wise addition of two iVecs
References iVec::x.
HOSTDEVICE iVec operator- | ( | const iVec & | a, |
const iVec & | b | ||
) |
component-wise subtraction of two iVecs
References iVec::x.
HOSTDEVICE iVec operator * | ( | const iVec & | a, |
const iVec & | b | ||
) |
component-wise multiplication of two iVecs
References iVec::x.
HOSTDEVICE iVec operator * | ( | const int & | a, |
const iVec & | b | ||
) |
HOSTDEVICE iVec operator * | ( | const iVec & | b, |
const int & | a | ||
) |
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().
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().