Skip to content

adam_fnl_rk_object ​

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

Source: src/lib/fnl/adam_fnl_rk_object.F90

Dependencies

Contents ​

Derived Types ​

rk_fnl_object ​

RK FNL class definition.

Components ​

NameTypeAttributesDescription
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.
destroypass(self)Free device data owned by the helper.
initializepass(self)Initialize class from global singletons.
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, grid, field, s, q_gpu, phi_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_fnl_object)inoutRK object.
gridtype(grid_object)intargetGrid (sibling realm component, threaded in).
fieldtype(field_object)inField (sibling realm component, threaded in).
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, grid, field, s, dt, phi_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_fnl_object)inoutRK object.
gridtype(grid_object)intargetGrid (sibling realm component, threaded in).
fieldtype(field_object)inField (sibling realm component, threaded in).
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, grid, field, rk, s, dt, phi_gpu, dq_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_fnl_object)inRK object.
gridtype(grid_object)intargetGrid (sibling realm component, threaded in).
fieldtype(field_object)inField (sibling realm component, threaded in).
rktype(rk_object)inHost RK (sibling realm component, threaded in).
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

destroy ​

Free device data owned by the RK FNL helper.

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_fnl_object)inoutThe FNL helper.

Call graph

initialize ​

Initialize class from the host grid/field/rk sibling realm components (threaded in). Requires mpih_fnl (adam_fnl_mpih_global) to be ready.

fortran
subroutine initialize(self, grid, field, rk)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_fnl_object)inoutRK FNL object.
gridtype(grid_object)inGrid (sibling realm component, threaded in).
fieldtype(field_object)inField (sibling realm component, threaded in).
rktype(rk_object)inHost RK (sibling realm component, threaded in).

Call graph

initialize_stages ​

Initialize RK stages.

fortran
subroutine initialize_stages(self, grid, field, q_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_fnl_object)inoutRK object.
gridtype(grid_object)intargetGrid (sibling realm component, threaded in).
fieldtype(field_object)inField (sibling realm component, threaded in).
q_gpureal(kind=R8P)inConservative variables.

Call graph

update_q ​

Update RK q.

fortran
subroutine update_q(self, grid, field, rk, dt, phi_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_fnl_object)inRK object.
gridtype(grid_object)intargetGrid (sibling realm component, threaded in).
fieldtype(field_object)inField (sibling realm component, threaded in).
rktype(rk_object)inHost RK (sibling realm component, threaded in).
dtreal(kind=R8P)inCurrent time step.
phi_gpureal(kind=R8P)inoptionalIB distance.
q_gpureal(kind=R8P)inoutConservative variables.

Call graph