Appearance
adam_rk_nvf_kernels
ADAM, RK NVF kernels (NVF backend of rk_nvf_object).
Source: src/lib/nvf/adam_rk_nvf_kernels.F90
Dependencies
Contents
- rk_assign_stage_cuf
- rk_compute_stage_cuf
- rk_compute_stage_ls_cuf
- rk_initialize_stages_cuf
- rk_update_q_cuf
Subroutines
rk_assign_stage_cuf
Assign q to RK stage.
fortran
subroutine rk_assign_stage_cuf(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 | value | Grid cells number in I direction. |
nj | integer(kind=I4P) | in | value | Grid cells number in J direction. |
nk | integer(kind=I4P) | in | value | Grid cells number in K direction. |
ngc | integer(kind=I4P) | in | value | Ghost cells number. |
nv | integer(kind=I4P) | in | value | Number of conservative varibales. |
blocks_number | integer(kind=I4P) | in | value | Number of blocks. |
s | integer(kind=I4P) | in | value | Stage index. |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
q_gpu | real(kind=R8P) | in | device | Conservative field. |
q_rk_gpu | real(kind=R8P) | inout | device | Conservative field stage. |
Call graph
rk_compute_stage_cuf
Sum RK stages up to s.
fortran
subroutine rk_compute_stage_cuf(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 | value | Grid cells number in I direction. |
nj | integer(kind=I4P) | in | value | Grid cells number in J direction. |
nk | integer(kind=I4P) | in | value | Grid cells number in K direction. |
ngc | integer(kind=I4P) | in | value | Ghost cells number. |
nv | integer(kind=I4P) | in | value | Number of conservative varibales. |
blocks_number | integer(kind=I4P) | in | value | Number of blocks. |
s | integer(kind=I4P) | in | value | Current stage. |
dt | real(kind=R8P) | in | value | Time step. |
alph | real(kind=R8P) | in | device | RK alpha coefficients. |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
q_rk_gpu | real(kind=R8P) | inout | device | Conservative field stages. |
Call graph
rk_compute_stage_ls_cuf
Compute RK stage, low storage scheme using only q(n) and q.
fortran
subroutine rk_compute_stage_ls_cuf(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 | value | Grid cells number in I direction. |
nj | integer(kind=I4P) | in | value | Grid cells number in J direction. |
nk | integer(kind=I4P) | in | value | Grid cells number in K direction. |
ngc | integer(kind=I4P) | in | value | Ghost cells number. |
nv | integer(kind=I4P) | in | value | Number of conservative varibales. |
blocks_number | integer(kind=I4P) | in | value | Number of blocks. |
dt | real(kind=R8P) | in | value | Time step. |
ark | real(kind=R8P) | in | value | RK coefficients. |
brk | real(kind=R8P) | in | value | RK coefficients. |
crk | real(kind=R8P) | in | value | RK coefficients. |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
q_n_gpu | real(kind=R8P) | in | device | RK stage 0, Q^n. |
dq_gpu | real(kind=R8P) | in | device | Residuals. |
q_rk_gpu | real(kind=R8P) | inout | device | Conservative field stage. |
Call graph
rk_initialize_stages_cuf
Initialize RK stages.
fortran
subroutine rk_initialize_stages_cuf(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 | device | Conservative field. |
q_rk_gpu | real(kind=R8P) | inout | device | RK stage. |
Call graph
rk_update_q_cuf
Update RK q.
fortran
subroutine rk_update_q_cuf(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 | value | Grid cells number in I direction. |
nj | integer(kind=I4P) | in | value | Grid cells number in J direction. |
nk | integer(kind=I4P) | in | value | Grid cells number in K direction. |
ngc | integer(kind=I4P) | in | value | Ghost cells number. |
nv | integer(kind=I4P) | in | value | Number of conservative varibales. |
blocks_number | integer(kind=I4P) | in | value | Number of blocks. |
nrk | integer(kind=I4P) | in | value | Number of RK stages. |
dt | real(kind=R8P) | in | value | Time step. |
beta | real(kind=R8P) | in | device | RK betaa coefficients. |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
q_rk_gpu | real(kind=R8P) | in | device | Conservative field stage. |
q_gpu | real(kind=R8P) | inout | device | Conservative field. |
Call graph