AQUAgpusph 4.1.2
|
Improved Euler time integration scheme. More...
#include "resources/Scripts/types/types.h"
Macros | |
#define | TSCHEME_ADAMS_BASHFORTH_STEPS 5u |
#define | DYDT_1(dydt_0) dydt_0 |
#define | DYDT_2(dydt_0, dydt_1) 1.5f * dydt_0 - 0.5f * dydt_1 |
#define | DYDT_3(dydt_0, dydt_1, dydt_2) 23.f / 12.f * dydt_0 - 4.f / 3.f * dydt_1 + 5.f / 12.f * dydt_2 |
#define | DYDT_4(dydt_0, dydt_1, dydt_2, dydt_3) |
#define | DYDT_5(dydt_0, dydt_1, dydt_2, dydt_3, dydt_4) |
Functions | |
__kernel void | predictor (__global vec *r, __global vec *u, __global vec *dudt, __global float *rho, __global float *drhodt, __global vec *r_in, __global vec *u_in, __global vec *dudt_in, __global float *rho_in, __global float *drhodt_in, unsigned int N) |
Adams-Bashforth time integration scheme predictor stage. | |
__kernel void | sort (const __global vec *dudt_as1_in, __global vec *dudt_as1, const __global vec *dudt_as2_in, __global vec *dudt_as2, const __global vec *dudt_as3_in, __global vec *dudt_as3, const __global vec *dudt_as4_in, __global vec *dudt_as4, const __global float *drhodt_as1_in, __global float *drhodt_as1, const __global float *drhodt_as2_in, __global float *drhodt_as2, const __global float *drhodt_as3_in, __global float *drhodt_as3, const __global float *drhodt_as4_in, __global float *drhodt_as4, const __global unit *id_sorted, unsigned int N) |
Sort the stored Adams-Bashforth stored variation rates. | |
__kernel void | corrector (__global int *imove, __global unsigned int *iset, __global vec *r, __global vec *u, __global vec *dudt, __global float *rho, __global float *drhodt, __global vec *dudt_as1, __global float *drhodt_as1, __global vec *dudt_as2, __global float *drhodt_as2, __global vec *dudt_as3, __global float *drhodt_as3, __global vec *dudt_as4, __global float *drhodt_as4, unsigned int N, float dt, unsigned int iter) |
Improved Euler time integration scheme corrector stage. | |
__kernel void | postcorrector (const __global vec *dudt_as1, const __global float *drhodt_as1, const __global vec *dudt_as2, const __global float *drhodt_as2, const __global vec *dudt_as3, const __global float *drhodt_as3, const __global vec *dudt, const __global float *drhodt, __global vec *dudt_as1_in, __global float *drhodt_as1_in, __global vec *dudt_as2_in, __global float *drhodt_as2_in, __global vec *dudt_as3_in, __global float *drhodt_as3_in, __global vec *dudt_as4_in, __global float *drhodt_as4_in, unsigned int N) |
Backup de data for the sorting algorithm. | |
Improved Euler time integration scheme.
Time integration is based in the following quasi-second order Predictor-Corrector integration scheme: