AQUAgpusph 5.0.4
Loading...
Searching...
No Matches
LinkList.cl.in File Reference

LinkList OpenCL methods. (See Aqua::CalcServer::LinkList for details) More...

Functions

__kernel void iHoc (__global usize *ihoc, usize N, svec4 n_cells)
__kernel void iCell (__global usize *icell, const __global vec *r, const usize N, const vec r_min, const float support, const float h, const svec4 n_cells)
__kernel void linkList (const __global usize *icell, __global usize *ihoc, const usize N)

Detailed Description

LinkList OpenCL methods. (See Aqua::CalcServer::LinkList for details)

Note
The header CalcServer/LinkList.hcl.in is automatically appended.

Function Documentation

◆ iCell()

__kernel void iCell ( __global usize * icell,
const __global vec * r,
const usize N,
const vec r_min,
const float support,
const float h,
const svec4 n_cells )

Compute the cell where each particle is allocated.

Parameters
icellCell where each particle is allocated.
rPosition \( \mathbf{r} \).
NNumber of particles.
r_minMinimum of r.
supportKernel support as a factor of h.
hKernel characteristic length.
n_cellsNumber of cells at each direction, and the total number of allocated cells.
Here is the call graph for this function:

◆ iHoc()

__kernel void iHoc ( __global usize * ihoc,
usize N,
svec4 n_cells )

Set all the cells as empty (i.e. the head of chain of the cell is a particle that does not exist).

Parameters
ihocHead of chain of each cell.
NNumber of particles.
n_cellsNumber of cells at each direction, and the total number of allocated cells.

◆ linkList()

__kernel void linkList ( const __global usize * icell,
__global usize * ihoc,
const usize N )

Compute the linklist after the sort of the icell array.

Parameters
icellCell where each particle is allocated.
ihocHead of chain of each cell.
NNumber of particles.