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

Fixed ghost particles fields interpolation. More...

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

Macros

#define _RHO_   gp_rho[i]
 
#define _P_   gp_p[i]
 
#define _U_   gp_u[i].XYZ
 
#define _SHEPARD_   shepard[i]
 
#define C_I()   const uint c_i = gp_icell[i]
 

Functions

__kernel void entry (const __global int *imove, const __global vec *r, const __global vec *normal, const __global float *m, const __global float *rho, const __global float *p, const __global vec *u, const __global float *h_var, __global float *gp_rho, __global float *gp_p, __global vec *gp_u, __global float *shepard, const __global uint *icell, const __global uint *gp_icell, const __global uint *ihoc, uint N, uivec4 n_cells)
 Fixed ghost particles fields interpolation.
 

Detailed Description

Fixed ghost particles fields interpolation.

Macro Definition Documentation

◆ _P_

#define _P_   gp_p[i]

◆ _RHO_

#define _RHO_   gp_rho[i]

◆ _SHEPARD_

#define _SHEPARD_   shepard[i]

◆ _U_

#define _U_   gp_u[i].XYZ

◆ C_I

#define C_I ( )    const uint c_i = gp_icell[i]

Function Documentation

◆ entry()

__kernel void entry ( const __global int *  imove,
const __global vec r,
const __global vec normal,
const __global float *  m,
const __global float *  rho,
const __global float *  p,
const __global vec u,
const __global float *  h_var,
__global float *  gp_rho,
__global float *  gp_p,
__global vec gp_u,
__global float *  shepard,
const __global uint *  icell,
const __global uint *  gp_icell,
const __global uint *  ihoc,
uint  N,
uivec4  n_cells 
)

Fixed ghost particles fields interpolation.

In order to conveniently extend the flow fields we need to know the mirrored values. Also the Shepard values should be recomputed taking into account the mirrored position.

Parameters
imoveMoving flags.
  • imove > 0 for regular fluid particles.
  • imove = 0 for sensors.
  • imove < 0 for boundary elements/particles.
rPosition \( \mathbf{r} \).
normalNormal \( \mathbf{n} \).
mMass \( m \).
rhoDensity \( \rho \).
pPressure \( p \).
uVelocity \( \mathbf{u} \).
h_varvariable kernel lenght \( h \).
gp_rhoInterpolated density in the mirrored position \( \rho \).
gp_pInterpolated pressure in the mirrored position \( p \).
gp_uInterpolated velocity in the mirrored position \( \mathbf{u} \).
shepardShepard term \( \gamma(\mathbf{x}) = \int_{\Omega} W(\mathbf{y} - \mathbf{x}) \mathrm{d}\mathbf{x} \).
icellCell where each particle is located.
gp_icellCell where each mirrored ghost 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: