AQUAgpusph 4.1.2
Loading...
Searching...
No Matches
Macros | Functions
Interactions.cl File Reference

Particles interactions computation. More...

#include "resources/Scripts/types/types.h"
#include "resources/Scripts/KernelFunctions/Kernel.h"
Include dependency graph for Interactions.cl:

Macros

#define __CLEARY__   10.f
 
#define _GRADP_   grad_p[i].XYZ
 
#define _LAPU_   lap_u[i].XYZ
 
#define _DIVU_   div_u[i]
 
#define _SHEPARD_   shepard[i]
 

Functions

__kernel void entry (const __global int *imove, const __global int *imirrored, const __global vec *r, const __global vec *rmirrored, const __global vec *u, const __global vec *umirrored, const __global float *rho, const __global float *m, const __global float *p, __global vec *grad_p, __global vec *lap_u, __global float *div_u, __global float *shepard, __global uint *icell, __global uint *ihoc, uint N, uivec4 n_cells)
 Particles interactions computation.
 

Detailed Description

Particles interactions computation.

Macro Definition Documentation

◆ __CLEARY__

#define __CLEARY__   10.f

◆ _DIVU_

#define _DIVU_   div_u[i]

◆ _GRADP_

#define _GRADP_   grad_p[i].XYZ

◆ _LAPU_

#define _LAPU_   lap_u[i].XYZ

◆ _SHEPARD_

#define _SHEPARD_   shepard[i]

Function Documentation

◆ entry()

__kernel void entry ( const __global int *  imove,
const __global int *  imirrored,
const __global vec r,
const __global vec rmirrored,
const __global vec u,
const __global vec umirrored,
const __global float *  rho,
const __global float *  m,
const __global float *  p,
__global vec grad_p,
__global vec lap_u,
__global float *  div_u,
__global float *  shepard,
__global uint *  icell,
__global uint *  ihoc,
uint  N,
uivec4  n_cells 
)

Particles interactions computation.

Compute the rates of variation due to the fluid (fixed particles will be included here).

During this stage some other operations are performed as well, like the values interpolation in the boundaries (for DeLeffe boundary conditions), the sensors meassurement, or the Shepard factor computation.

Parameters
imoveMoving flags.
  • imove > 0 for regular fluid particles.
  • imove = 0 for sensors.
  • imove < 0 for boundary elements/particles.
imirrored0 if the particle has not been mirrored, 1 otherwise.
rPosition \( \mathbf{r} \).
rmirroredMirrored position of the particle, r if imirrored is false (0).
uVelocity \( \mathbf{u} \).
umirroredMirrored velocity of the particle, u if imirrored is false (0).
rhoDensity \( \rho \).
mMass \( m \).
pPressure \( p \).
grad_pPressure gradient \( \frac{\nabla p}{rho} \).
lap_uVelocity laplacian \( \frac{\Delta \mathbf{u}}{rho} \).
div_uVelocity divergence \( \rho \nabla \cdot \mathbf{u} \).
shepardShepard term \( \gamma(\mathbf{x}) = \int_{\Omega} W(\mathbf{y} - \mathbf{x}) \mathrm{d}\mathbf{x} \).
icellCell where each particle is located.
ihocHead of chain for each cell (first particle found).
NNumber of particles.
n_cellsNumber of cells in each direction
Here is the call graph for this function: