Appearance
adam_flume_fnl_dissipation_kernels
ADAM, FLUME FNL device kernels of the dissipative face fluxes (issue #65, M4).
Device twins of adam_flume_cpu_dissipation_kernels (same stencils, same summation order, the pointwise flux from the shared adam_flume_dissipation_library): see there for the scheme. Device arrays are transposed, (b, i, j, k, v). Separate kernels, never fused with the WENO face kernels (FNL register pressure, issue #47 R-4).
Source: src/app/flume/fnl/adam_flume_fnl_dissipation_kernels.F90
Dependencies
Contents
- add_dissipative_fluxes_o2_dev
- add_dissipative_fluxes_o4_dev
- add_resistive_fluxes_o2_dev
- add_resistive_fluxes_o4_dev
Subroutines
add_dissipative_fluxes_o2_dev
Add the 2nd-order dissipative face fluxes of direction d to fl_gpu.
fortran
subroutine add_dissipative_fluxes_o2_dev(d, di, dj, dk, ni, nj, nk, ngc, blocks_number, mu0, k0, tref, omega_mu, omega_k, dxyz_gpu, is_null, q_aux_gpu, fl_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
d | integer(kind=I4P) | in | Direction, 1=x, 2=y, 3=z. | |
di | integer(kind=I4P) | in | Unit step along d. | |
dj | integer(kind=I4P) | in | Unit step along d. | |
dk | integer(kind=I4P) | in | Unit step along d. | |
ni | integer(kind=I4P) | in | Grid dimensions. | |
nj | integer(kind=I4P) | in | Grid dimensions. | |
nk | integer(kind=I4P) | in | Grid dimensions. | |
ngc | integer(kind=I4P) | in | Grid dimensions. | |
blocks_number | integer(kind=I4P) | in | Actual blocks number. | |
mu0 | real(kind=R8P) | in | Viscosity and conductivity. | |
k0 | real(kind=R8P) | in | Viscosity and conductivity. | |
tref | real(kind=R8P) | in | Temperature laws. | |
omega_mu | real(kind=R8P) | in | Temperature laws. | |
omega_k | real(kind=R8P) | in | Temperature laws. | |
dxyz_gpu | real(kind=R8P) | in | Blocks space steps [nb, 3]. | |
is_null | logical | in | Null directions. | |
q_aux_gpu | real(kind=R8P) | in | Auxiliary variables. | |
fl_gpu | real(kind=R8P) | inout | Face fluxes of direction d. |
Call graph
add_dissipative_fluxes_o4_dev
Add the 4th-order conservative dissipative face fluxes of direction d to fl_gpu.
fortran
subroutine add_dissipative_fluxes_o4_dev(d, di, dj, dk, ni, nj, nk, ngc, blocks_number, mu0, k0, tref, omega_mu, omega_k, dxyz_gpu, is_null, q_aux_gpu, fl_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
d | integer(kind=I4P) | in | Direction, 1=x, 2=y, 3=z. | |
di | integer(kind=I4P) | in | Unit step along d. | |
dj | integer(kind=I4P) | in | Unit step along d. | |
dk | integer(kind=I4P) | in | Unit step along d. | |
ni | integer(kind=I4P) | in | Grid dimensions. | |
nj | integer(kind=I4P) | in | Grid dimensions. | |
nk | integer(kind=I4P) | in | Grid dimensions. | |
ngc | integer(kind=I4P) | in | Grid dimensions. | |
blocks_number | integer(kind=I4P) | in | Actual blocks number. | |
mu0 | real(kind=R8P) | in | Viscosity and conductivity. | |
k0 | real(kind=R8P) | in | Viscosity and conductivity. | |
tref | real(kind=R8P) | in | Temperature laws. | |
omega_mu | real(kind=R8P) | in | Temperature laws. | |
omega_k | real(kind=R8P) | in | Temperature laws. | |
dxyz_gpu | real(kind=R8P) | in | Blocks space steps [nb, 3]. | |
is_null | logical | in | Null directions. | |
q_aux_gpu | real(kind=R8P) | in | Auxiliary variables. | |
fl_gpu | real(kind=R8P) | inout | Face fluxes of direction d. |
Call graph
add_resistive_fluxes_o2_dev
Add the 2nd-order Ohmic face fluxes of direction d to fl_gpu (MHD; twin of add_resistive_fluxes_o2).
fortran
subroutine add_resistive_fluxes_o2_dev(d, di, dj, dk, ni, nj, nk, ngc, blocks_number, eta, dxyz_gpu, is_null, q_aux_gpu, fl_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
d | integer(kind=I4P) | in | Direction, 1=x, 2=y, 3=z. | |
di | integer(kind=I4P) | in | Unit step along d. | |
dj | integer(kind=I4P) | in | Unit step along d. | |
dk | integer(kind=I4P) | in | Unit step along d. | |
ni | integer(kind=I4P) | in | Grid dimensions. | |
nj | integer(kind=I4P) | in | Grid dimensions. | |
nk | integer(kind=I4P) | in | Grid dimensions. | |
ngc | integer(kind=I4P) | in | Grid dimensions. | |
blocks_number | integer(kind=I4P) | in | Actual blocks number. | |
eta | real(kind=R8P) | in | Magnetic diffusivity. | |
dxyz_gpu | real(kind=R8P) | in | Blocks space steps [nb, 3]. | |
is_null | logical | in | Null directions. | |
q_aux_gpu | real(kind=R8P) | in | Auxiliary variables. | |
fl_gpu | real(kind=R8P) | inout | Face fluxes of direction d. |
Call graph
add_resistive_fluxes_o4_dev
Add the 4th-order conservative Ohmic face fluxes of direction d to fl_gpu (MHD; twin of add_resistive_fluxes_o4).
fortran
subroutine add_resistive_fluxes_o4_dev(d, di, dj, dk, ni, nj, nk, ngc, blocks_number, eta, dxyz_gpu, is_null, q_aux_gpu, fl_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
d | integer(kind=I4P) | in | Direction, 1=x, 2=y, 3=z. | |
di | integer(kind=I4P) | in | Unit step along d. | |
dj | integer(kind=I4P) | in | Unit step along d. | |
dk | integer(kind=I4P) | in | Unit step along d. | |
ni | integer(kind=I4P) | in | Grid dimensions. | |
nj | integer(kind=I4P) | in | Grid dimensions. | |
nk | integer(kind=I4P) | in | Grid dimensions. | |
ngc | integer(kind=I4P) | in | Grid dimensions. | |
blocks_number | integer(kind=I4P) | in | Actual blocks number. | |
eta | real(kind=R8P) | in | Magnetic diffusivity. | |
dxyz_gpu | real(kind=R8P) | in | Blocks space steps [nb, 3]. | |
is_null | logical | in | Null directions. | |
q_aux_gpu | real(kind=R8P) | in | Auxiliary variables. | |
fl_gpu | real(kind=R8P) | inout | Face fluxes of direction d. |
Call graph