Skip to content

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

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

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.
sinteger(kind=I4P)inStage index.
phi_gpureal(kind=R8P)inoptionalIB distance.
q_gpureal(kind=R8P)inConservative field.
q_rk_gpureal(kind=R8P)inoutConservative 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

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.
sinteger(kind=I4P)inCurrent stage.
dtreal(kind=R8P)inTime step.
alphreal(kind=R8P)inRK alpha coefficients.
phi_gpureal(kind=R8P)inoptionalIB distance.
q_rk_gpureal(kind=R8P)inoutConservative 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

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.
dtreal(kind=R8P)inTime step.
arkreal(kind=R8P)inRK coefficients.
brkreal(kind=R8P)inRK coefficients.
crkreal(kind=R8P)inRK coefficients.
phi_gpureal(kind=R8P)inoptionalIB distance.
q_n_gpureal(kind=R8P)inRK stage 0, Q^n.
dq_gpureal(kind=R8P)inResiduals.
q_rk_gpureal(kind=R8P)inoutConservative 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

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)inConservative field.
q_rk_gpureal(kind=R8P)inoutRK 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

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.
nrkinteger(kind=I4P)inNumber of RK stages.
dtreal(kind=R8P)inTime step.
betareal(kind=R8P)inRK betaa coefficients.
phi_gpureal(kind=R8P)inoptionalIB distance.
q_rk_gpureal(kind=R8P)inConservative field stage.
q_gpureal(kind=R8P)inoutConservative field.

Call graph