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

Improved Euler time integration scheme. More...

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

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.
 

Detailed Description

Improved Euler time integration scheme.

Time integration is based in the following quasi-second order Predictor-Corrector integration scheme: