CellGPU  0.8.0
GPU-accelerated simulations of cells
Macros | Functions
vertexModelBase.cu File Reference
#include <cuda_runtime.h>
#include "vertexModelBase.cuh"
Include dependency graph for vertexModelBase.cu:

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.
 

Detailed Description

Defines kernel callers and kernels for GPU calculations of vertex models