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

Splitting particles methods. More...

#include "resources/Scripts/types/types.h"
Include dependency graph for Coalesce.cl:

Macros

#define M_ITERS   10
 
#define CAPTURING_RADIUS   0.75f
 
#define CAPTURING_RADIUS2   (CAPTURING_RADIUS + 0.01f)
 

Functions

__kernel void seed_candidates (__global const unsigned int *iset, __global const int *imove, __global const unsigned int *ilevel, __global const unsigned int *level, __global const float *m0, __global int *miter, __global const vec *r, __global unsigned int *isplit, __global ivec *split_cell, __global float *split_dist, __constant float *dr_level0, unsigned int N)
 Look for all the seed candidates, i.e. all the particles which have a refinement level target lower than their current value.
 
__kernel void seeds (__global const unsigned int *iset, __global const unsigned int *isplit_in, __global unsigned int *isplit, __global int *miter, __global const ivec *split_cell, __global const float *split_dist, __global const uint *icell, __global const uint *ihoc, unsigned int N, uivec4 n_cells)
 Get only one seed per cell.
 
__kernel void set_isplit_in (__global const unsigned int *isplit, __global unsigned int *isplit_in, unsigned int N)
 Create a copy of isplit, where everything is 0 except the seeds, which take the value 1. Such array can be used to count the number of new particles to become generated.
 
__kernel void children (__global const int *imove, __global const unsigned int *iset, __global const vec *r, __global const unsigned int *ilevel, __global unsigned int *isplit, __global int *miter, __global const uint *icell, __global const uint *ihoc, __constant float *dr_level0, unsigned int N, uivec4 n_cells)
 Look for all children, close enough to the seed.
 
__kernel void weights (__global const unsigned int *iset, __global const unsigned int *ilevel, __global const vec *r, __global const unsigned int *isplit, __global float *split_weight, __global const uint *icell, __global const uint *ihoc, __constant float *dr_level0, unsigned int N, uivec4 n_cells)
 Compute the contribution weight of each children particle.
 
__kernel void generate (__global int *imove, __global int *iset, __global const unsigned int *isplit, __global unsigned int *split_invperm, __global unsigned int *ilevel, __global unsigned int *level, __global int *miter, __global uint *mybuffer, unsigned int N, unsigned int nbuffer)
 Associate a buffer particle to a seed.
 
__kernel void fields (__global const unsigned int *iset, __global const uint *isplit, __global const uint *mybuffer, __global const unsigned int *ilevel, __global const float *split_weight, __global float *m0, __global float *m, __global vec *r, __global vec *u, __global vec *dudt, __global float *rho, __global float *drhodt, __global const uint *icell, __global const uint *ihoc, __constant float *dr_level0, unsigned int N, uivec4 n_cells)
 Collect the children, and the seed itself, in order to compute the field values of the buffer partner particle.
 

Detailed Description

Splitting particles methods.