CellGPU
0.8.0
GPU-accelerated simulations of cells
|
Functions | |
__global__ void | vm_geometry_kernel (const Dscalar2 *__restrict__ d_vertexPositions, const int *__restrict__ d_cellVertexNum, const int *__restrict__ d_cellVertices, const int *__restrict__ d_vertexCellNeighbors, Dscalar2 *__restrict__ d_voroCur, Dscalar4 *__restrict__ d_voroLastNext, Dscalar2 *__restrict__ d_AreaPerimeter, int N, Index2D n_idx, gpubox Box) |
__global__ void | vm_get_cell_positions_kernel (Dscalar2 *d_cellPositions, Dscalar2 *d_vertexPositions, int *d_nn, int *d_n, int N, Index2D n_idx, gpubox Box) |
__global__ void | vm_simple_T1_test_kernel (Dscalar2 *d_vertexPositions, int *d_vertexNeighbors, int *d_vertexEdgeFlips, int *d_vertexCellNeighbors, int *d_cellVertexNum, gpubox Box, Dscalar T1THRESHOLD, int NvTimes3, int vertexMax, int *d_grow) |
__global__ void | vm_one_T1_per_cell_per_vertex_kernel (int *__restrict__ d_vertexEdgeFlips, int *__restrict__ d_vertexEdgeFlipsCurrent, const int *__restrict__ d_vertexNeighbors, const int *__restrict__ d_vertexCellNeighbors, const int *__restrict__ d_cellVertexNum, const int *__restrict__ d_cellVertices, int *d_finishedFlippingEdges, int *d_cellEdgeFlips, int4 *d_cellSets, Index2D n_idx, int Ncells) |
__global__ void | vm_flip_edges_kernel (int *d_vertexEdgeFlipsCurrent, Dscalar2 *d_vertexPositions, int *d_vertexNeighbors, int *d_vertexCellNeighbors, int *d_cellVertexNum, int *d_cellVertices, int *d_cellEdgeFlips, int4 *d_cellSets, gpubox Box, Index2D n_idx, int NvTimes3) |
bool | gpu_vm_geometry (Dscalar2 *d_vertexPositions, int *d_cellVertexNum, int *d_cellVertices, int *d_vertexCellNeighbors, Dscalar2 *d_voroCur, Dscalar4 *d_voroLastNext, Dscalar2 *d_AreaPerimeter, int N, Index2D &n_idx, gpubox &Box) |
Call the kernel to calculate the area and perimeter of each cell. | |
bool | gpu_vm_test_edges_for_T1 (Dscalar2 *d_vertexPositions, int *d_vertexNeighbors, int *d_vertexEdgeFlips, int *d_vertexCellNeighbors, int *d_cellVertexNum, int *d_cellVertices, gpubox &Box, Dscalar T1THRESHOLD, int Nvertices, int vertexMax, int *d_grow, Index2D &n_idx) |
Call the kernel to test every edge for a T1 event, see if vertexMax needs to increase. | |
bool | gpu_vm_parse_multiple_flips (int *d_vertexEdgeFlips, int *d_vertexEdgeFlipsCurrent, int *d_vertexNeighbors, int *d_vertexCellNeighbors, int *d_cellVertexNum, int *d_cellVertices, int *d_finishedFlippingEdges, int *d_cellEdgeFlips, int4 *d_cellSets, Index2D &n_idx, int Ncells) |
determine whether any edges need to be flipped, and if we need to loop through the flipping routine, writing to d_finishedFlippingEdges the current state | |
bool | gpu_vm_flip_edges (int *d_vertexEdgeFlipsCurrent, Dscalar2 *d_vertexPositions, int *d_vertexNeighbors, int *d_vertexCellNeighbors, int *d_cellVertexNum, int *d_cellVertices, int *d_cellEdgeFlips, int4 *d_cellSets, gpubox &Box, Index2D &n_idx, int Nvertices, int Ncells) |
Call the kernel to flip at most one edge per cell, write to d_finishedFlippingEdges the current state. | |
bool | gpu_vm_get_cell_positions (Dscalar2 *d_cellPositions, Dscalar2 *d_vertexPositions, int *d_cellVertexNum, int *d_cellVertices, int N, Index2D &n_idx, gpubox &Box) |
Call the kernel to calculate the position of each cell from the position of its vertices. | |
Defines kernel callers and kernels for GPU calculations of vertex models