Skip to content

adam_rk_gmp_object

ADAM, RK class GMP (GMP backend of rk_object).

Source: src/lib/gmp/adam_rk_gmp_object.F90

Dependencies

Contents

Derived Types

rk_gmp_object

RK GMP class definition.

Components

NameTypeAttributesDescription
rktype(rk_object)pointerRK common handler.
mpihtype(mpih_gmp_object)pointerMPI handler.
alph_gpureal(kind=R8P)pointerRK alpha coefficients.
beta_gpureal(kind=R8P)pointerRK beta coefficients.
gamm_gpureal(kind=R8P)pointerRK gamma coefficients.
q_rk_gpureal(kind=R8P)pointerField cell centered variables, RK stages.

Type-Bound Procedures

NameAttributesDescription
assign_stagepass(self)Assign q to RK stage.
compute_stagepass(self)Compute RK stage.
compute_stage_lspass(self)Compute RK stage, low storage scheme.
initializepass(self)Initialize class.
initialize_stagespass(self)Initialize RK stages.
update_qpass(self)Update RK q.

Subroutines

assign_stage

Assign q to RK stage.

fortran
subroutine assign_stage(self, s, q_gpu, phi_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_gmp_object)inoutRK object.
sinteger(kind=I4P)inCurrent stage number.
q_gpureal(kind=R8P)inConservative variables.
phi_gpureal(kind=R8P)inoptionalIB distance.

Call graph

compute_stage

Compute RK stage.

fortran
subroutine compute_stage(self, s, dt, phi_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_gmp_object)inoutRK object.
sinteger(kind=I4P)inCurrent stage number.
dtreal(kind=R8P)inCurrent time step.
phi_gpureal(kind=R8P)inoptionalIB distance.

Call graph

compute_stage_ls

Compute RK stage, low storage scheme. The first (only) stage is assumed to be the previous time step q solution.

fortran
subroutine compute_stage_ls(self, s, dt, phi_gpu, dq_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_gmp_object)inRK object.
sinteger(kind=I4P)inCurrent RK stage.
dtreal(kind=R8P)inCurrent time step.
phi_gpureal(kind=R8P)inoptionalIB distance.
dq_gpureal(kind=R8P)inConservative variables residuals.
q_gpureal(kind=R8P)inoutConservative variables stage.

Call graph

initialize

Initialize class.

fortran
subroutine initialize(self, mpih, rk, nb, ngc, ni, nj, nk, nv)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_gmp_object)inoutRK GMP object.
mpihtype(mpih_gmp_object)intargetMPI handler, GMP backend.
rktype(rk_object)intargetRK object.
nbinteger(kind=I4P)inTotal blocks number for MPI.
ngcinteger(kind=I4P)inNumber of ghost cells.
niinteger(kind=I4P)inNumber of cells in i direction.
njinteger(kind=I4P)inNumber of cells in j direction.
nkinteger(kind=I4P)inNumber of cells in k direction.
nvinteger(kind=I4P)inNumber of conservative variables.

Call graph

initialize_stages

Initialize RK stages.

fortran
subroutine initialize_stages(self, q_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_gmp_object)inoutRK object.
q_gpureal(kind=R8P)inConservative variables.

Call graph

update_q

Update RK q.

fortran
subroutine update_q(self, dt, phi_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_gmp_object)inRK object.
dtreal(kind=R8P)inCurrent time step.
phi_gpureal(kind=R8P)inoptionalIB distance.
q_gpureal(kind=R8P)inoutConservative variables.

Call graph