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

Particles interactions computation. More...

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

Macros

#define __CLEARY__   10.f
 
#define _MLS_   mls[i]
 

Functions

__kernel void entry (const __global int *imove, const __global int *imirrored, const __global vec *r, const __global vec *rmirrored, const __global float *rho, const __global float *m, __global matrix *mls, __global uint *icell, __global uint *ihoc, uint N, uivec4 n_cells)
 Compute the MLS transformation matrix inverse, \( L_i^{-1} \), due to the particles at the other side of the symmetry plane.
 

Detailed Description

Particles interactions computation.

Macro Definition Documentation

◆ __CLEARY__

#define __CLEARY__   10.f

◆ _MLS_

#define _MLS_   mls[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 float *  rho,
const __global float *  m,
__global matrix mls,
__global uint *  icell,
__global uint *  ihoc,
uint  N,
uivec4  n_cells 
)

Compute the MLS transformation matrix inverse, \( L_i^{-1} \), due to the particles at the other side of the symmetry plane.

Such transformation matrix can be multiplied by the kernel gradient to produce a new kernel gradient, \( \nabla W^{L}_{ij} = L_i \cdot \nabla W_{ij} \), such that the lienar fields differential operators are consistently computed.

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).
rhoDensity \( \rho \).
mMass \( m \).
mlsKernel MLS transformation matrix \( L \).
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
Note
The MLS kernel transformation will be computed just for the particles with the moving flag mls_imove, and using just the information of the particles with the moving flag mls_imove
Here is the call graph for this function: