CellGPU
0.8.0
GPU-accelerated simulations of cells
|
CUDA kernels and callers for the Voronoi2D class. More...
Functions | |
bool | gpu_force_sets (Dscalar2 *d_points, Dscalar2 *d_AP, Dscalar2 *d_APpref, int2 *d_delSets, int *d_detOther, Dscalar2 *d_vc, Dscalar4 *d_vln, Dscalar2 *d_forceSets, int2 *d_nidx, Dscalar KA, Dscalar KP, int NeighIdxNum, Index2D &n_idx, gpubox &Box) |
Compute the contribution to the net force on vertex i from each of i's voronoi vertices. More... | |
bool | gpu_sum_force_sets (Dscalar2 *d_forceSets, Dscalar2 *d_forces, int *d_nn, int N, Index2D &n_idx) |
Add up the force contributions to get the net force on each particle. More... | |
bool | gpu_sum_force_sets_with_exclusions (Dscalar2 *d_forceSets, Dscalar2 *d_forces, Dscalar2 *d_external_forces, int *d_exes, int *d_nn, int N, Index2D &n_idx) |
Add up the force constributions, but in the condidtion where some exclusions exist. More... | |
bool | gpu_VoronoiTension_force_sets (Dscalar2 *d_points, Dscalar2 *d_AP, Dscalar2 *d_APpref, int2 *d_delSets, int *d_detOther, Dscalar2 *d_vc, Dscalar4 *d_vln, Dscalar2 *d_forceSets, int2 *d_nidx, int *d_cellTypes, Dscalar *d_tensionMatrix, Index2D &cellTypeIndexer, Dscalar KA, Dscalar KP, int NeighIdxNum, Index2D &n_idx, gpubox &Box) |
Compute the contribution to the net force on vertex i from each of i's voronoi vertices with general tensions. More... | |
bool | gpu_VoronoiSimpleTension_force_sets (Dscalar2 *d_points, Dscalar2 *d_AP, Dscalar2 *d_APpref, int2 *d_delSets, int *d_detOther, Dscalar2 *d_vc, Dscalar4 *d_vln, Dscalar2 *d_forceSets, int2 *d_nidx, int *d_cellTypes, Dscalar KA, Dscalar KP, Dscalar gamma, int NeighIdxNum, Index2D &n_idx, gpubox &Box) |
Compute the contribution to the net force on vertex i from each of i's voronoi vertices. More... | |
__global__ void | gpu_sum_forces_kernel (const Dscalar2 *__restrict__ d_forceSets, Dscalar2 *__restrict__ d_forces, const int *__restrict__ d_nn, int N, Index2D n_idx) |
__global__ void | gpu_sum_forces_with_exclusions_kernel (const Dscalar2 *__restrict__ d_forceSets, Dscalar2 *__restrict__ d_forces, Dscalar2 *__restrict__ d_external_forces, const int *__restrict__ d_exes, const int *__restrict__ d_nn, int N, Index2D n_idx) |
__global__ void | gpu_force_sets_kernel (const Dscalar2 *__restrict__ d_points, const Dscalar2 *__restrict__ d_AP, const Dscalar2 *__restrict__ d_APpref, const int2 *__restrict__ d_delSets, const int *__restrict__ d_delOther, const Dscalar2 *__restrict__ d_vc, const Dscalar4 *__restrict__ d_vln, Dscalar2 *__restrict__ d_forceSets, const int2 *__restrict__ d_nidx, Dscalar KA, Dscalar KP, int computations, Index2D n_idx, gpubox Box) |
__global__ void | gpu_VoronoiTension_force_sets_kernel (const Dscalar2 *__restrict__ d_points, const Dscalar2 *__restrict__ d_AP, const Dscalar2 *__restrict__ d_APpref, const int2 *__restrict__ d_delSets, const int *__restrict__ d_delOther, const Dscalar2 *__restrict__ d_vc, const Dscalar4 *__restrict__ d_vln, Dscalar2 *__restrict__ d_forceSets, const int2 *__restrict__ d_nidx, const int *__restrict__ d_cellTypes, const Dscalar *__restrict__ d_tensionMatrix, Index2D cellTypeIndexer, Dscalar KA, Dscalar KP, int computations, Index2D n_idx, gpubox Box) |
the force on a particle is decomposable into the force contribution from each of its voronoi vertices...calculate those sets of forces with an additional tension term between cells of different type | |
__global__ void | gpu_VoronoiSimpleTension_force_sets_kernel (const Dscalar2 *__restrict__ d_points, const Dscalar2 *__restrict__ d_AP, const Dscalar2 *__restrict__ d_APpref, const int2 *__restrict__ d_delSets, const int *__restrict__ d_delOther, const Dscalar2 *__restrict__ d_vc, const Dscalar4 *__restrict__ d_vln, Dscalar2 *__restrict__ d_forceSets, const int2 *__restrict__ d_nidx, const int *__restrict__ d_cellTypes, Dscalar KA, Dscalar KP, Dscalar gamma, int computations, Index2D n_idx, gpubox Box) |
the force on a particle is decomposable into the force contribution from each of its voronoi vertices...calculate those sets of forces with an additional tension term between cells of different type | |
CUDA kernels and callers for the Voronoi2D class.
bool gpu_force_sets | ( | Dscalar2 * | d_points, |
Dscalar2 * | d_AP, | ||
Dscalar2 * | d_APpref, | ||
int2 * | d_delSets, | ||
int * | d_detOther, | ||
Dscalar2 * | d_vc, | ||
Dscalar4 * | d_vln, | ||
Dscalar2 * | d_forceSets, | ||
int2 * | d_nidx, | ||
Dscalar | KA, | ||
Dscalar | KP, | ||
int | NeighIdxNum, | ||
Index2D & | n_idx, | ||
gpubox & | Box | ||
) |
Compute the contribution to the net force on vertex i from each of i's voronoi vertices.
Call the kernel to compute the force sets.
Referenced by VoronoiQuadraticEnergy::computeVoronoiForceSetsGPU().
bool gpu_sum_force_sets | ( | Dscalar2 * | d_forceSets, |
Dscalar2 * | d_forces, | ||
int * | d_nn, | ||
int | N, | ||
Index2D & | n_idx | ||
) |
Add up the force contributions to get the net force on each particle.
call the kernel to add up the forces
Referenced by VoronoiQuadraticEnergy::sumForceSets().
bool gpu_sum_force_sets_with_exclusions | ( | Dscalar2 * | d_forceSets, |
Dscalar2 * | d_forces, | ||
Dscalar2 * | d_external_forces, | ||
int * | d_exes, | ||
int * | d_nn, | ||
int | N, | ||
Index2D & | n_idx | ||
) |
Add up the force constributions, but in the condidtion where some exclusions exist.
call the kernel to add up forces with particle exclusions
Referenced by VoronoiQuadraticEnergy::sumForceSetsWithExclusions().
bool gpu_VoronoiTension_force_sets | ( | Dscalar2 * | d_points, |
Dscalar2 * | d_AP, | ||
Dscalar2 * | d_APpref, | ||
int2 * | d_delSets, | ||
int * | d_detOther, | ||
Dscalar2 * | d_vc, | ||
Dscalar4 * | d_vln, | ||
Dscalar2 * | d_forceSets, | ||
int2 * | d_nidx, | ||
int * | d_cellTypes, | ||
Dscalar * | d_tensionMatrix, | ||
Index2D & | cellTypeIndexer, | ||
Dscalar | KA, | ||
Dscalar | KP, | ||
int | NeighIdxNum, | ||
Index2D & | n_idx, | ||
gpubox & | Box | ||
) |
Compute the contribution to the net force on vertex i from each of i's voronoi vertices with general tensions.
Call the kernel to compute force sets with a generic matrix of surface tensions between types.
Referenced by VoronoiQuadraticEnergyWithTension::computeVoronoiTensionForceSetsGPU().
bool gpu_VoronoiSimpleTension_force_sets | ( | Dscalar2 * | d_points, |
Dscalar2 * | d_AP, | ||
Dscalar2 * | d_APpref, | ||
int2 * | d_delSets, | ||
int * | d_detOther, | ||
Dscalar2 * | d_vc, | ||
Dscalar4 * | d_vln, | ||
Dscalar2 * | d_forceSets, | ||
int2 * | d_nidx, | ||
int * | d_cellTypes, | ||
Dscalar | KA, | ||
Dscalar | KP, | ||
Dscalar | gamma, | ||
int | NeighIdxNum, | ||
Index2D & | n_idx, | ||
gpubox & | Box | ||
) |
Compute the contribution to the net force on vertex i from each of i's voronoi vertices.
Call the kernel to compute force sets with additional (uniform) tension terms.
Referenced by VoronoiQuadraticEnergyWithTension::computeVoronoiSimpleTensionForceSetsGPU().
__global__ void gpu_sum_forces_kernel | ( | const Dscalar2 *__restrict__ | d_forceSets, |
Dscalar2 *__restrict__ | d_forces, | ||
const int *__restrict__ | d_nn, | ||
int | N, | ||
Index2D | n_idx | ||
) |
Each cell has a force contribution due to the derivative of the energy with respect to each of its voronoi vertices... add them up to get the force per cell.
__global__ void gpu_sum_forces_with_exclusions_kernel | ( | const Dscalar2 *__restrict__ | d_forceSets, |
Dscalar2 *__restrict__ | d_forces, | ||
Dscalar2 *__restrict__ | d_external_forces, | ||
const int *__restrict__ | d_exes, | ||
const int *__restrict__ | d_nn, | ||
int | N, | ||
Index2D | n_idx | ||
) |
add up force sets, as above, but keep track of exclusions
__global__ void gpu_force_sets_kernel | ( | const Dscalar2 *__restrict__ | d_points, |
const Dscalar2 *__restrict__ | d_AP, | ||
const Dscalar2 *__restrict__ | d_APpref, | ||
const int2 *__restrict__ | d_delSets, | ||
const int *__restrict__ | d_delOther, | ||
const Dscalar2 *__restrict__ | d_vc, | ||
const Dscalar4 *__restrict__ | d_vln, | ||
Dscalar2 *__restrict__ | d_forceSets, | ||
const int2 *__restrict__ | d_nidx, | ||
Dscalar | KA, | ||
Dscalar | KP, | ||
int | computations, | ||
Index2D | n_idx, | ||
gpubox | Box | ||
) |
the force on a particle is decomposable into the force contribution from each of its voronoi vertices...calculate those sets of forces