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

Particles interactions computation. More...

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

Macros

#define __CLEARY__   10.f
 
#define _GRADP_   lap_p_corr[i].XYZ
 
#define _LAPP_   lap_p[i]
 
#define _LAPP_   lap_p[i]
 

Functions

__kernel void full (const __global int *imove, const __global int *imirrored, const __global vec *r, const __global vec *rmirrored, const __global float *rho, const __global float *m, const __global float *p, __global vec *lap_p_corr, const __global uint *icell, const __global uint *ihoc, uint N, uivec4 n_cells)
 MLS based correction term, due to the particles at the other portal side.
 
__kernel void lapp (const __global int *imove, const __global int *imirrored, const __global vec *r, const __global vec *rmirrored, const __global float *rho, const __global float *m, const __global float *p, __global float *lap_p, __global uint *icell, __global uint *ihoc, uint N, uivec4 n_cells)
 Laplacian of the pressure computation.
 
__kernel void mirror (const __global int *imirrored, const __global vec *lap_p_corr, __global vec *lap_p_corr_mirrored, unsigned int N, vec symmetry_n)
 Compute the mirrored position of the fluid particles.
 
__kernel void lapp_corr (const __global int *imove, const __global int *imirrored, const __global vec *r, const __global vec *rmirrored, const __global float *rho, const __global float *m, const __global vec *lap_p_corr, const __global vec *lap_p_corr_mirrored, __global float *lap_p, const __global uint *icell, const __global uint *ihoc, uint N, uivec4 n_cells)
 Laplacian of the pressure correction.
 

Detailed Description

Particles interactions computation.

Macro Definition Documentation

◆ __CLEARY__

#define __CLEARY__   10.f

◆ _GRADP_

#define _GRADP_   lap_p_corr[i].XYZ

◆ _LAPP_ [1/2]

#define _LAPP_   lap_p[i]

◆ _LAPP_ [2/2]

#define _LAPP_   lap_p[i]

Function Documentation

◆ full()

__kernel void full ( const __global int *  imove,
const __global int *  imirrored,
const __global vec r,
const __global vec rmirrored,
const __global float *  rho,
const __global float *  m,
const __global float *  p,
__global vec lap_p_corr,
const __global uint *  icell,
const __global uint *  ihoc,
uint  N,
uivec4  n_cells 
)

MLS based correction term, due to the particles at the other portal side.

The term computed with this function should be later renormalized by MLS.

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 \).
pPressure \( p \).
lap_p_corrCorrection term for the Morris Laplacian formula.
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:

◆ lapp()

__kernel void lapp ( const __global int *  imove,
const __global int *  imirrored,
const __global vec r,
const __global vec rmirrored,
const __global float *  rho,
const __global float *  m,
const __global float *  p,
__global float *  lap_p,
__global uint *  icell,
__global uint *  ihoc,
uint  N,
uivec4  n_cells 
)

Laplacian of the pressure 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).
rhoDensity \( \rho \).
mMass \( m \).
pPressure \( p \).
lap_pPressure laplacian \( \Delta p \).
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:

◆ lapp_corr()

__kernel void lapp_corr ( const __global int *  imove,
const __global int *  imirrored,
const __global vec r,
const __global vec rmirrored,
const __global float *  rho,
const __global float *  m,
const __global vec lap_p_corr,
const __global vec lap_p_corr_mirrored,
__global float *  lap_p,
const __global uint *  icell,
const __global uint *  ihoc,
uint  N,
uivec4  n_cells 
)

Laplacian of the pressure correction.

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 \).
pPressure \( p \).
lap_p_corrCorrection term for the Morris Laplacian formula.
lap_p_corr_mirroredMirrored correction term for the Morris Laplacian formula.
lap_pPressure laplacian \( \Delta p \).
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:

◆ mirror()

__kernel void mirror ( const __global int *  imirrored,
const __global vec lap_p_corr,
__global vec lap_p_corr_mirrored,
unsigned int  N,
vec  symmetry_n 
)

Compute the mirrored position of the fluid particles.

The mirrored particles (the ones close enough to the symmetry plane) will be marked with imirrored = 1.

Parameters
imirrored0 if the particle has not been mirrored, 1 otherwise.
lap_p_corrCorrection term for the Morris Laplacian formula.
lap_p_corr_mirroredMirrored correction term for the Morris Laplacian formula.
NNumber of particles.
symmetry_nNormal of the symmetry plane. It is assumed as normalized.