Skip to content

adam_prism_fnl_rk_pic_object

ADAM, PRISM PIC Runge-Kutta integrator, FNL backend.

Source: src/app/prism/fnl/adam_prism_fnl_rk_pic_object.F90

Dependencies

Contents

Variables

NameTypeAttributesDescription
PIC_VARIABLES_NUMBERinteger(kind=I4P)parameter

Derived Types

prism_fnl_rk_pic_object

Components

NameTypeAttributesDescription
alph_gpureal(kind=R8P)pointerSSP RK alpha coefficients on device.
beta_gpureal(kind=R8P)pointerSSP RK beta coefficients on device.
q_pic_rk_gpureal(kind=R8P)pointerRK stages [particle, variable, stage].
particle_numberinteger(kind=I4P)Total number of particles.
nrkinteger(kind=I4P)Number of stages.

Type-Bound Procedures

NameAttributesDescription
destroypass(self)
initializepass(self)
initialize_stagespass(self)
compute_stagepass(self)
assign_stagepass(self)
update_q_picpass(self)

Subroutines

destroy

Free device data owned by this object.

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_rk_pic_object)inoutFNL PIC RK object.

Call graph

initialize

Initialize device-side PIC RK state.

fortran
subroutine initialize(self, pic, rk_pic)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_rk_pic_object)inoutFNL PIC RK object.
pictype(prism_pic_object)inHost PIC object.
rk_pictype(prism_rk_pic_object)inHost PIC RK object.

Call graph

initialize_stages

Initialize device SSP RK stages for PIC variables.

fortran
subroutine initialize_stages(self, q_pic_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_rk_pic_object)inoutFNL PIC RK object.
q_pic_gpureal(kind=R8P)inPIC variables on device.

Call graph

compute_stage

Compute one PIC SSP RK stage state on device.

fortran
subroutine compute_stage(self, s, dt)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_rk_pic_object)inoutFNL PIC RK object.
sinteger(kind=I4P)inCurrent stage number.
dtreal(kind=R8P)inTime step.

Call graph

assign_stage

Convert one PIC SSP RK stage state into its right-hand side on device.

fortran
subroutine assign_stage(self, s, pic_fields_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_rk_pic_object)inoutFNL PIC RK object.
sinteger(kind=I4P)inCurrent stage number.
pic_fields_gpureal(kind=R8P)inFields at particle locations on device.

Call graph

update_q_pic

Complete the PIC SSP RK update on device.

fortran
subroutine update_q_pic(self, dt, q_pic_gpu)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_rk_pic_object)inoutFNL PIC RK object.
dtreal(kind=R8P)inTime step.
q_pic_gpureal(kind=R8P)inoutPIC variables on device.

Call graph