Skip to content

adam_flume_fnl_hybrid_kernels ​

ADAM, FLUME FNL device kernels of the hybrid central/WENO scheme (issue #119, T2).

Device twins of adam_flume_cpu_hybrid_kernels: see there. Device arrays are transposed, (b, i, j, k, v).

Source: src/app/flume/fnl/adam_flume_fnl_hybrid_kernels.F90

Dependencies

Contents ​

Subroutines ​

compute_hybrid_sensor_dev ​

Device twin of compute_hybrid_sensor.

fortran
subroutine compute_hybrid_sensor_dev(ni, nj, nk, ngc, blocks_number, floor, jump_max, dxyz_gpu, is_null, q_aux_gpu, psi_gpu)

Arguments

NameTypeIntentAttributesDescription
niinteger(kind=I4P)inGrid dimensions.
njinteger(kind=I4P)inGrid dimensions.
nkinteger(kind=I4P)inGrid dimensions.
ngcinteger(kind=I4P)inGrid dimensions.
blocks_numberinteger(kind=I4P)inActual blocks number.
floorreal(kind=R8P)inDimensionless floor.
jump_maxreal(kind=R8P)inBound of the relative density jump.
dxyz_gpureal(kind=R8P)inBlocks space steps [nb, 3].
is_nulllogicalinNull directions.
q_aux_gpureal(kind=R8P)inAuxiliary variables.
psi_gpureal(kind=R8P)inoutSensor, [nb, i, j, k, 1].

Call graph

mask_mu_t_dev ​

Zero the eddy viscosity of the cells the sensor flags (issue #119, T2.6): there WENO supplies the dissipation.

fortran
subroutine mask_mu_t_dev(ni, nj, nk, ngc, blocks_number, threshold, is_null, psi_gpu, mu_t_gpu)

Arguments

NameTypeIntentAttributesDescription
niinteger(kind=I4P)inGrid dimensions.
njinteger(kind=I4P)inGrid dimensions.
nkinteger(kind=I4P)inGrid dimensions.
ngcinteger(kind=I4P)inGrid dimensions.
blocks_numberinteger(kind=I4P)inActual blocks number.
thresholdreal(kind=R8P)inSensor threshold.
is_nulllogicalinNull directions.
psi_gpureal(kind=R8P)inSensor, [nb, i, j, k, 1].
mu_t_gpureal(kind=R8P)inoutEddy viscosity, [nb, i, j, k, 1].

Call graph

overwrite_central_fluxes_dev ​

Device twin of overwrite_central_fluxes.

fortran
subroutine overwrite_central_fluxes_dev(d, di, dj, dk, ni, nj, nk, ngc, blocks_number, gamma, threshold, faces_gpu, q_aux_gpu, psi_gpu, fl_gpu)

Arguments

NameTypeIntentAttributesDescription
dinteger(kind=I4P)inDirection, 1=x, 2=y, 3=z.
diinteger(kind=I4P)inUnit step along d.
djinteger(kind=I4P)inUnit step along d.
dkinteger(kind=I4P)inUnit step along d.
niinteger(kind=I4P)inGrid dimensions.
njinteger(kind=I4P)inGrid dimensions.
nkinteger(kind=I4P)inGrid dimensions.
ngcinteger(kind=I4P)inGrid dimensions.
blocks_numberinteger(kind=I4P)inActual blocks number.
gammareal(kind=R8P)inSpecific heats ratio.
thresholdreal(kind=R8P)inSensor threshold.
faces_gpuinteger(kind=I4P)inBlock faces not to read across [nb, 6].
q_aux_gpureal(kind=R8P)inAuxiliary variables.
psi_gpureal(kind=R8P)inSensor, [nb, i, j, k, 1].
fl_gpureal(kind=R8P)inoutFace fluxes of direction d.

Call graph