CellGPU
0.8.0
GPU-accelerated simulations of cells
|
CUDA kernels and callers for the EnergyMinimizerFIRE2D class. More...
Functions | |
bool | gpu_zero_velocity (Dscalar2 *d_velocity, int N) |
Zero out the velocity (if the power is negative) More... | |
bool | gpu_update_velocity (Dscalar2 *d_velocity, Dscalar2 *d_force, Dscalar deltaT, int N) |
velocity = velocity +0.5*deltaT*force More... | |
bool | gpu_update_velocity_FIRE (Dscalar2 *d_velocity, Dscalar2 *d_force, Dscalar alpha, Dscalar scaling, int N) |
velocity = (1-a)velocity +a*scaling*force More... | |
bool | gpu_displacement_velocity_verlet (Dscalar2 *d_displacement, Dscalar2 *d_velocity, Dscalar2 *d_force, Dscalar deltaT, int N) |
displacement = dt*velocity + 0.5*dt^2*force More... | |
__global__ void | gpu_zero_velocity_kernel (Dscalar2 *d_velocity, int N) |
__global__ void | gpu_update_velocity_kernel (Dscalar2 *d_velocity, Dscalar2 *d_force, Dscalar deltaT, int n) |
__global__ void | gpu_update_velocity_FIRE_kernel (Dscalar2 *d_velocity, Dscalar2 *d_force, Dscalar alpha, Dscalar scaling, int n) |
__global__ void | gpu_displacement_vv_kernel (Dscalar2 *d_displacement, Dscalar2 *d_velocity, Dscalar2 *d_force, Dscalar deltaT, int n) |
CUDA kernels and callers for the EnergyMinimizerFIRE2D class.
bool gpu_zero_velocity | ( | Dscalar2 * | d_velocity, |
int | N | ||
) |
Zero out the velocity (if the power is negative)
d_velocity | the GPU array data of the velocities |
N | length of the array |
bool gpu_update_velocity | ( | Dscalar2 * | d_velocity, |
Dscalar2 * | d_force, | ||
Dscalar | deltaT, | ||
int | N | ||
) |
velocity = velocity +0.5*deltaT*force
d_velocity | Dscalar2 array of velocity |
d_force | Dscalar2 array of force |
deltaT | time step |
N | the length of the arrays |
Referenced by EnergyMinimizerFIRE::velocityVerletGPU().
bool gpu_update_velocity_FIRE | ( | Dscalar2 * | d_velocity, |
Dscalar2 * | d_force, | ||
Dscalar | alpha, | ||
Dscalar | scaling, | ||
int | N | ||
) |
velocity = (1-a)velocity +a*scaling*force
d_velocity | Dscalar2 array of velocity |
d_force | Dscalar2 array of force |
alpha | the FIRE parameter |
scaling | the square root of (v.v / f.f) |
N | the length of the arrays |
bool gpu_displacement_velocity_verlet | ( | Dscalar2 * | d_displacement, |
Dscalar2 * | d_velocity, | ||
Dscalar2 * | d_force, | ||
Dscalar | deltaT, | ||
int | N | ||
) |
displacement = dt*velocity + 0.5*dt^2*force
d_displacement | Dscalar2 array of displacements |
d_velocity | Dscalar2 array of velocities |
d_force | Dscalar2 array of forces |
Dscalar | deltaT the current time step |
N | the length of the arrays |
Referenced by EnergyMinimizerFIRE::velocityVerletGPU().
__global__ void gpu_zero_velocity_kernel | ( | Dscalar2 * | d_velocity, |
int | N | ||
) |
set the first N elements of the d_velocity vector to 0.0
__global__ void gpu_update_velocity_kernel | ( | Dscalar2 * | d_velocity, |
Dscalar2 * | d_force, | ||
Dscalar | deltaT, | ||
int | n | ||
) |
update the velocity in a velocity Verlet step
__global__ void gpu_update_velocity_FIRE_kernel | ( | Dscalar2 * | d_velocity, |
Dscalar2 * | d_force, | ||
Dscalar | alpha, | ||
Dscalar | scaling, | ||
int | n | ||
) |
update the velocity according to a FIRE step
__global__ void gpu_displacement_vv_kernel | ( | Dscalar2 * | d_displacement, |
Dscalar2 * | d_velocity, | ||
Dscalar2 * | d_force, | ||
Dscalar | deltaT, | ||
int | n | ||
) |
calculate the displacement in a velocity verlet step according to the force and velocity