Skip to content

adam_prism_fnl_plasma_frequencies_object ​

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

Dependencies

Contents ​

Derived Types ​

prism_fnl_plasma_frequencies_object ​

Components ​

NameTypeAttributesDescription
wp2_gpureal(kind=R8P)pointeromega_p^2 per interior cell [nb,ni,nj,nk,2] (1 electrons, 2 ions).

Type-Bound Procedures ​

NameAttributesDescription
initializepass(self)
computepass(self)
destroypass(self)

Subroutines ​

initialize ​

Allocate the work array on the block slots.

fortran
subroutine initialize(self, nb, ni, nj, nk)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_plasma_frequencies_object)inoutDevice helper.
nbinteger(kind=I4P)inBlock slots.
niinteger(kind=I4P)inBlock cells.
njinteger(kind=I4P)inBlock cells.
nkinteger(kind=I4P)inBlock cells.

Call graph

destroy ​

Free the work array.

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_plasma_frequencies_object)inoutDevice helper.

Call graph

compute ​

Local maxima of this rank (the caller reduces them, prism_plasma_frequencies_object%set_maxima).

fortran
subroutine compute(self, pic_fnl, field_fnl, grid, inv_eps, wpe2, wpi2, wce, wci, transit)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_plasma_frequencies_object)inoutDevice helper.
pic_fnltype(prism_fnl_pic_object)inParticles on device.
field_fnltype(field_fnl_object)inDevice field helper.
gridtype(grid_object)inGrid.
inv_epsreal(kind=R8P)in1/eps0 (1 for the non-dimensional models).
wpe2real(kind=R8P)outMax omega_pe^2.
wpi2real(kind=R8P)outMax omega_pi^2.
wcereal(kind=R8P)outMax Omega_ce.
wcireal(kind=R8P)outMax Omega_ci.
transitreal(kind=R8P)outMax |v_d|/dx_d.

Call graph