Skip to content

adam_prism_fnl_fWLayer_object

ADAM, PRISM (Plasma Research usIng Simulation Methods) fWLayer class definition, FNL backend.

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

Dependencies

Contents

Derived Types

prism_fnl_fwlayer_object

PRISM fWLayer class definition.

Components

NameTypeAttributesDescription
mpih_gputype(mpih_object)MPI handler, FNL backend.
fwlayertype(prism_fWLayer_object)pointerFwlayer common handler.
f_gpureal(kind=R8P)pointerfWLayer function.

Type-Bound Procedures

NameAttributesDescription
copy_cpu_gpupass(self)Copy data from CPU to GPU.
copy_gpu_cpupass(self)Copy data from GPU to CPU.
initializepass(self)Initialize object.

Subroutines

copy_cpu_gpu

Copy data from CPU to GPU.

fortran
subroutine copy_cpu_gpu(self, verbose)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_fwlayer_object)inoutThe field.
verboselogicalinoptionalFlag to activate verbose mode.

Call graph

copy_gpu_cpu

Copy data from GPU to CPU.

fortran
subroutine copy_gpu_cpu(self, verbose)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_fwlayer_object)inoutThe field.
verboselogicalinoptionalFlag to activate verbose mode.

Call graph

initialize

Initialize the fWLayer.

fortran
subroutine initialize(self, field, fwlayer)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_fwlayer_object)inoutfWLayer.
fieldtype(field_object)inField.
fwlayertype(prism_fWLayer_object)intargetFwlayer common handler.

Call graph

apply_fwl_correction_dev

Applay FWL correction, direction agnostic, device kernel.

fortran
subroutine apply_fwl_correction_dev(blocks_number, ngc, ni1, ni2, nj1, nj2, nk1, nk2, n, s2, alfa_D, beta_D, alfa_B, beta_B, f_gpu, q_gpu)

Arguments

NameTypeIntentAttributesDescription
blocks_numberinteger(kind=I4P)inBlocks number.
ngcinteger(kind=I4P)inNumber of ghost cells.
ni1integer(kind=I4P)inDimensions of FWL domain.
ni2integer(kind=I4P)inDimensions of FWL domain.
nj1integer(kind=I4P)inDimensions of FWL domain.
nj2integer(kind=I4P)inDimensions of FWL domain.
nk1integer(kind=I4P)inDimensions of FWL domain.
nk2integer(kind=I4P)inDimensions of FWL domain.
ninteger(kind=I4P)inf component.
s2real(kind=R8P)inSide coefficient.
alfa_Dinteger(kind=I4P)inCorrected var index of D (Barbas' notation).
beta_Dinteger(kind=I4P)inCorrected var index of D (Barbas' notation).
alfa_Binteger(kind=I4P)inCorrected var index of D (Barbas' notation).
beta_Binteger(kind=I4P)inCorrected var index of D (Barbas' notation).
f_gpureal(kind=R8P)infWLayer function values.
q_gpureal(kind=R8P)inoutField variables.

Call graph