Skip to content

adam_prism_fnl_coil_object

ADAM, PRISM coil source definition, FNL backend.

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

Dependencies

Contents

Derived Types

prism_fnl_coil_object

ADAM, PRISM coil source definition, FNL (GPU) backend.

Components

NameTypeAttributesDescription
mpihtype(mpih_object)MPI handler.
coiltype(prism_coil_object)pointerCoil common handler.
A_gpureal(kind=R8P)pointerCurrent amplitude (A)
f_gpureal(kind=R8P)pointerCurrent frequency, if AC (Hz)
phase_gpureal(kind=R8P)pointerCurrent initial phase, if AC
J_vec_gpureal(kind=R8P)pointerMatrice contenente versori corrente spire (se assente = 0)
coil_flag_gpuinteger(kind=I4P)pointerMatrice contenente informazioni su quale spira pass.
blocks_numberinteger(kind=I4P)pointerActual blocks number.
nbinteger(kind=I4P)pointerTotal blocks number for MPI.
ngcinteger(kind=I4P)pointerNumber of ghost cells.
niinteger(kind=I4P)pointerNumber of cells in i direction.
njinteger(kind=I4P)pointerNumber of cells in j direction.
nkinteger(kind=I4P)pointerNumber of cells in k direction.

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 class.

Subroutines

copy_cpu_gpu

Copy data from CPU to GPU.

fortran
subroutine copy_cpu_gpu(self, verbose)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_coil_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_coil_object)inoutThe field.
verboselogicalinoptionalFlag to activate verbose mode.

Call graph

initialize

Initialize class.

fortran
subroutine initialize(self, field, coil)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_fnl_coil_object)inoutCoils.
fieldtype(field_object)intargetField.
coilclass(prism_coil_object)intargetCoils on host.

Call graph

compute_coils_current_dev

Compute current coils sources, device kernel.

fortran
subroutine compute_coils_current_dev(ni, nj, nk, ngc, blocks_number, time_s, td, A_gpu, f_gpu, phase_gpu, coil_flag_gpu, J_vec_gpu, var_Jx, var_Jy, var_Jz, q_gpu)

Arguments

NameTypeIntentAttributesDescription
niinteger(kind=I4P)inGrid cells number in I direction.
njinteger(kind=I4P)inGrid cells number in J direction.
nkinteger(kind=I4P)inGrid cells number in K direction.
ngcinteger(kind=I4P)inGhost grid number.
blocks_numberinteger(kind=I4P)inNumber of blocks.
time_sreal(kind=R8P)inLocal time.
tdreal(kind=R8P)inDelay coil start.
A_gpureal(kind=R8P)inCurrent amplitude (A)
f_gpureal(kind=R8P)inCurrent frequency, if AC (Hz)
phase_gpureal(kind=R8P)inCurrent initial phase, if AC
coil_flag_gpuinteger(kind=I4P)inMatrice contenente informazioni su quale spira pass.
J_vec_gpureal(kind=R8P)inMatrice contenente versori corrente spire.
var_Jxinteger(kind=I4P)inIndices of current density components in q vector.
var_Jyinteger(kind=I4P)inIndices of current density components in q vector.
var_Jzinteger(kind=I4P)inIndices of current density components in q vector.
q_gpureal(kind=R8P)inoutConservative variables on GPU.

Call graph