Appearance
adam_rk_gmp_kernels
ADAM, RK GMP kernels (GMP backend of rk_gmp_object).
Source: src/lib/gmp/adam_rk_gmp_kernels.F90
Dependencies
Contents
- rk_assign_stage_gmp
- rk_compute_stage_gmp
- rk_compute_stage_ls_gmp
- rk_initialize_stages_gmp
- rk_update_q_gmp
Subroutines
rk_assign_stage_gmp
Assign q to RK stage.
fortran
subroutine rk_assign_stage_gmp(ni, nj, nk, ngc, nv, blocks_number, s, phi_gpu, q_gpu, q_rk_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
s | integer(kind=I4P) | in | Stage index. | |
phi_gpu | real(kind=R8P) | in | optional | IB distance. |
q_gpu | real(kind=R8P) | in | Conservative field. | |
q_rk_gpu | real(kind=R8P) | inout | Conservative field stage. |
Call graph
rk_compute_stage_gmp
Sum RK stages up to s.
fortran
subroutine rk_compute_stage_gmp(ni, nj, nk, ngc, nv, blocks_number, s, dt, alph, phi_gpu, q_rk_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
s | integer(kind=I4P) | in | Current stage. | |
dt | real(kind=R8P) | in | Time step. | |
alph | real(kind=R8P) | in | RK alpha coefficients. | |
phi_gpu | real(kind=R8P) | in | optional | IB distance. |
q_rk_gpu | real(kind=R8P) | inout | Conservative field stages. |
Call graph
rk_compute_stage_ls_gmp
Compute RK stage, low storage scheme using only q(n) and q.
fortran
subroutine rk_compute_stage_ls_gmp(ni, nj, nk, ngc, nv, blocks_number, dt, ark, brk, crk, phi_gpu, q_n_gpu, dq_gpu, q_rk_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
dt | real(kind=R8P) | in | Time step. | |
ark | real(kind=R8P) | in | RK coefficients. | |
brk | real(kind=R8P) | in | RK coefficients. | |
crk | real(kind=R8P) | in | RK coefficients. | |
phi_gpu | real(kind=R8P) | in | optional | IB distance. |
q_n_gpu | real(kind=R8P) | in | RK stage 0, Q^n. | |
dq_gpu | real(kind=R8P) | in | Residuals. | |
q_rk_gpu | real(kind=R8P) | inout | Conservative field stage. |
Call graph
rk_initialize_stages_gmp
Initialize RK stages.
fortran
subroutine rk_initialize_stages_gmp(ni, nj, nk, ngc, nv, blocks_number, q_gpu, q_rk_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
q_gpu | real(kind=R8P) | in | Conservative field. | |
q_rk_gpu | real(kind=R8P) | inout | RK stage. |
Call graph
rk_update_q_gmp
Update RK q.
fortran
subroutine rk_update_q_gmp(ni, nj, nk, ngc, nv, blocks_number, nrk, dt, beta, phi_gpu, q_rk_gpu, q_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
nrk | integer(kind=I4P) | in | Number of RK stages. | |
dt | real(kind=R8P) | in | Time step. | |
beta | real(kind=R8P) | in | RK betaa coefficients. | |
phi_gpu | real(kind=R8P) | in | optional | IB distance. |
q_rk_gpu | real(kind=R8P) | in | Conservative field stage. | |
q_gpu | real(kind=R8P) | inout | Conservative field. |
Call graph