AQUAgpusph 5.0.4
|
A preset to model ideal gases within Cfd preset. More...
Files | |
file | EOS.cl |
Equation Of State (EOS) for ideal gases. | |
file | Rates.cl |
Internal energy variation rates computation. | |
file | Sort.cl |
Sort the internal energy by the cell indexes. | |
file | euler.cl |
1st order Euler integration scheme for the internal energy. | |
file | improved_euler.cl |
Improved Euler integration scheme for the internal energy. | |
file | midpoint.cl |
Semi-implicit Midpoint Euler time integration scheme for the internal energy. |
Macros | |
#define | EXCLUDED_PARTICLE(index) |
Functions | |
__kernel void | entry (const __global unsigned int *iset, const __global int *imove, const __global float *rho, const __global float *eint, __global float *p, __constant float *gamma, usize N) |
Ideal gas Equation Of State (EOS) computation. | |
__kernel void | entry (const __global uint *iset, const __global int *imove, const __global float *rho, const __global float *p, const __global float *div_u, __global float *deintdt, const usize N) |
Internal energy variation rates computation. | |
__kernel void | entry (const __global float *eint_in, __global float *eint, const __global float *deintdt, __global float *deintdt_in, const __global usize *id_sorted, usize N) |
Sort the internal energy. | |
__kernel void | predictor (const __global float *eint, const __global float *deintdt, __global float *eint_in, __global float *deintdt_in, const usize N) |
1st order Euler time integration scheme predictor stage | |
__kernel void | corrector (const __global int *imove, __global float *eint, const __global float *deintdt, const unsigned int N, const float dt) |
1st order Euler time integration scheme corrector stage | |
__kernel void | predictor (__global int *imove, const __global float *eint, const __global float *deintdt, __global float *eint_in, __global float *deintdt_in, usize N, float dt) |
Improved Euler time integration scheme predictor stage. | |
__kernel void | corrector (const __global int *imove, const __global float *deintdt, const __global float *deintdt_in, __global float *eint, usize N, float dt) |
Improved Euler time integration scheme corrector stage. | |
__kernel void | midpoint (const __global int *imove, const __global float *eint_in, const __global float *deintdt, __global float *eint, usize N, float dt) |
Advance to the time step midpoint. | |
__kernel void | relax (const __global int *imove, const __global float *deintdt_in, __global float *deintdt, usize N, float relax_midpoint) |
Relax the obtained output to avoid diverging inner iterator. |
A preset to model ideal gases within Cfd preset.
#define EXCLUDED_PARTICLE | ( | index | ) |
__kernel void corrector | ( | const __global int * | imove, |
__global float * | eint, | ||
const __global float * | deintdt, | ||
const unsigned int | N, | ||
const float | dt ) |
1st order Euler time integration scheme corrector stage
imove | Moving flags.
|
eint | Internal energy \( \e_{n+1/2} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
N | Number of particles. |
dt | Time step \( \Delta t \). |
__kernel void corrector | ( | const __global int * | imove, |
const __global float * | eint_in, | ||
const __global float * | deintdt, | ||
__global float * | eint, | ||
usize | N, | ||
float | dt ) |
Improved Euler time integration scheme corrector stage.
1st order Semi-implicit Euler time integration scheme corrector stage
imove | Moving flags.
|
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
deintdt_in | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n} \). |
eint | Internal energy \( \e_{n+1/2} \). |
N | Number of particles. |
dt | Time step \( \Delta t \). |
imove | Moving flags.
|
eint_in | Internal energy \( e_{n+1/2} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
eint | Internal energy \( \e_{n+1} \). |
N | Number of particles. |
dt | Time step \( \Delta t \). |
__kernel void entry | ( | const __global float * | eint_in, |
__global float * | eint, | ||
const __global float * | deintdt, | ||
__global float * | deintdt_in, | ||
const __global usize * | id_sorted, | ||
usize | N ) |
Sort the internal energy.
eint_in | Unsorted internal energy \( e \). |
eint | Sorted internal energy \( e \). |
deintdt | Unsorted internal energy rate of change \( \frac{d e}{d t} \). |
deintdt_in | Sorted internal energy rate of change \( \frac{d e}{d t} \). |
id_sorted | Permutations list from the unsorted space to the sorted one. |
N | Number of particles. |
__kernel void entry | ( | const __global uint * | iset, |
const __global int * | imove, | ||
const __global float * | rho, | ||
const __global float * | p, | ||
const __global float * | div_u, | ||
__global float * | deintdt, | ||
const usize | N ) |
Internal energy variation rates computation.
The internal energy equation is applied from the already computed differential operators:
iset | Set of particles index. |
imove | Moving flags.
|
rho | Density \( \rho_{n+1} \). |
p | Pressure \( p_{n+1/2} \). |
div_u | Velocity divergence \( \rho \nabla \cdot \mathbf{u} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1} \). |
N | Number of particles. |
__kernel void entry | ( | const __global unsigned int * | iset, |
const __global int * | imove, | ||
const __global float * | rho, | ||
const __global float * | eint, | ||
__global float * | p, | ||
__constant float * | gamma, | ||
usize | N ) |
Ideal gas Equation Of State (EOS) computation.
The equation of state relates the pressure, density and internal energy fields, \( p = \rho \left( \gamma - 1 \right) e \)
iset | Set of particles index. |
imove | Moving flags.
|
rho | Density \( \rho_{n+1/2} \). |
eint | Internal energy \( e_{n+1/2} \). |
p | Pressure \( p_{n+1/2} \). |
gamma | Heat capacity ratio \( \gamma \). |
N | Number of particles. |
__kernel void midpoint | ( | const __global int * | imove, |
const __global float * | eint_in, | ||
const __global float * | deintdt, | ||
__global float * | eint, | ||
usize | N, | ||
float | dt ) |
Advance to the time step midpoint.
imove | Moving flags.
|
eint_in | Internal energy \( e_{n+1/2} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
eint | Internal energy \( \e_{n} \). |
N | Number of particles. |
dt | Time step \( \Delta t \). |
__kernel void predictor | ( | __global int * | imove, |
const __global float * | eint, | ||
const __global float * | deintdt, | ||
__global float * | eint_in, | ||
__global float * | deintdt_in, | ||
usize | N, | ||
float | dt ) |
Improved Euler time integration scheme predictor stage.
imove | Moving flags.
|
eint | Internal energy \( \e_{n+1/2} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
eint_in | Internal energy \( e_{n+1} \). |
deintdt_in | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1} \). |
N | Number of particles. |
dt | Time step \( \Delta t \). |
__kernel void predictor | ( | const __global float * | eint, |
const __global float * | deintdt, | ||
__global float * | eint_in, | ||
__global float * | deintdt_in, | ||
const usize | N ) |
1st order Euler time integration scheme predictor stage
Semi-implicit Midpoint Euler time integration scheme predictor stage.
eint | Internal energy \( \e_{n+1/2} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
eint_in | Internal energy \( e_{n+1} \). |
deintdt_in | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1} \). |
N | Number of particles. |
imove | Moving flags.
|
eint | Internal energy \( \e_{n} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n} \). |
eint_in | Internal energy \( e_{n} \). |
deintdt_in | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
N | Number of particles. |
__kernel void relax | ( | const __global int * | imove, |
const __global float * | deintdt_in, | ||
__global float * | deintdt, | ||
usize | N, | ||
float | relax_midpoint ) |
Relax the obtained output to avoid diverging inner iterator.
imove | Moving flags.
|
deintdt_in | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
deintdt | Internal energy rate of change \( \left. \frac{d e}{d t} \right\vert_{n+1/2} \). |
N | Number of particles. |
dt | Time step \( \Delta t \). |