Skip to content

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

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

NameTypeIntentAttributesDescription
niinteger(kind=I4P)invalueGrid cells number in I direction.
njinteger(kind=I4P)invalueGrid cells number in J direction.
nkinteger(kind=I4P)invalueGrid cells number in K direction.
ngcinteger(kind=I4P)invalueGhost cells number.
nvinteger(kind=I4P)invalueNumber of conservative varibales.
blocks_numberinteger(kind=I4P)invalueNumber of blocks.
sinteger(kind=I4P)invalueStage index.
phi_gpureal(kind=R8P)indevice, optionalIB distance.
q_gpureal(kind=R8P)indeviceConservative field.
q_rk_gpureal(kind=R8P)inoutdeviceConservative 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

NameTypeIntentAttributesDescription
niinteger(kind=I4P)invalueGrid cells number in I direction.
njinteger(kind=I4P)invalueGrid cells number in J direction.
nkinteger(kind=I4P)invalueGrid cells number in K direction.
ngcinteger(kind=I4P)invalueGhost cells number.
nvinteger(kind=I4P)invalueNumber of conservative varibales.
blocks_numberinteger(kind=I4P)invalueNumber of blocks.
sinteger(kind=I4P)invalueCurrent stage.
dtreal(kind=R8P)invalueTime step.
alphreal(kind=R8P)indeviceRK alpha coefficients.
phi_gpureal(kind=R8P)indevice, optionalIB distance.
q_rk_gpureal(kind=R8P)inoutdeviceConservative 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

NameTypeIntentAttributesDescription
niinteger(kind=I4P)invalueGrid cells number in I direction.
njinteger(kind=I4P)invalueGrid cells number in J direction.
nkinteger(kind=I4P)invalueGrid cells number in K direction.
ngcinteger(kind=I4P)invalueGhost cells number.
nvinteger(kind=I4P)invalueNumber of conservative varibales.
blocks_numberinteger(kind=I4P)invalueNumber of blocks.
dtreal(kind=R8P)invalueTime step.
arkreal(kind=R8P)invalueRK coefficients.
brkreal(kind=R8P)invalueRK coefficients.
crkreal(kind=R8P)invalueRK coefficients.
phi_gpureal(kind=R8P)indevice, optionalIB distance.
q_n_gpureal(kind=R8P)indeviceRK stage 0, Q^n.
dq_gpureal(kind=R8P)indeviceResiduals.
q_rk_gpureal(kind=R8P)inoutdeviceConservative 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

NameTypeIntentAttributesDescription
niinteger(kind=I4P)inGrid cells number in I direction.
njinteger(kind=I4P)inGrid cells number in J direction.
nkinteger(kind=I4P)inGrid cells number in K direction.
ngcinteger(kind=I4P)inGhost cells number.
nvinteger(kind=I4P)inNumber of conservative varibales.
blocks_numberinteger(kind=I4P)inNumber of blocks.
q_gpureal(kind=R8P)indeviceConservative field.
q_rk_gpureal(kind=R8P)inoutdeviceRK 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

NameTypeIntentAttributesDescription
niinteger(kind=I4P)invalueGrid cells number in I direction.
njinteger(kind=I4P)invalueGrid cells number in J direction.
nkinteger(kind=I4P)invalueGrid cells number in K direction.
ngcinteger(kind=I4P)invalueGhost cells number.
nvinteger(kind=I4P)invalueNumber of conservative varibales.
blocks_numberinteger(kind=I4P)invalueNumber of blocks.
nrkinteger(kind=I4P)invalueNumber of RK stages.
dtreal(kind=R8P)invalueTime step.
betareal(kind=R8P)indeviceRK betaa coefficients.
phi_gpureal(kind=R8P)indevice, optionalIB distance.
q_rk_gpureal(kind=R8P)indeviceConservative field stage.
q_gpureal(kind=R8P)inoutdeviceConservative field.

Call graph