Appearance
adam_fnl_ib_kernels
ADAM, IB class FNL kernels (FNL backend of ib_object).
Source: src/lib/fnl/adam_fnl_ib_kernels.F90
Dependencies
Contents
- compute_eikonal_dq_phi_dev
- compute_phi_all_solids_dev
- compute_phi_analytical_sphere_dev
- evolve_eikonal_q_phi_dev
- invert_eikonal_q_phi_dev
- move_phi_dev
- reduce_cell_order_phi_dev
Subroutines
compute_eikonal_dq_phi_dev
Compute eikonal dq inside IB.
fortran
subroutine compute_eikonal_dq_phi_dev(ib, ni, nj, nk, ngc, nv, blocks_number, dx_gpu, dy_gpu, dz_gpu, phi_gpu, q_gpu, dq_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ib | integer(kind=I4P) | in | IB solid index. | |
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
dx_gpu | real(kind=R8P) | in | X space steps. | |
dy_gpu | real(kind=R8P) | in | Y space steps. | |
dz_gpu | real(kind=R8P) | in | Z space steps. | |
phi_gpu | real(kind=R8P) | in | Distance function. | |
q_gpu | real(kind=R8P) | in | State variables. | |
dq_gpu | real(kind=R8P) | inout | State variables variations. |
Call graph
compute_phi_all_solids_dev
Compute last phi index, all solids summary.
fortran
subroutine compute_phi_all_solids_dev(ni, nj, nk, ngc, blocks_number, phi_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost grid number. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
phi_gpu | real(kind=R8P) | inout | Distance function. |
Call graph
compute_phi_analytical_sphere_dev
Compute phi, distance from ib solid, analytical sphere solid.
fortran
subroutine compute_phi_analytical_sphere_dev(ib, ni, nj, nk, ngc, blocks_number, sphere, x_cell_gpu, y_cell_gpu, z_cell_gpu, phi_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ib | integer(kind=I4P) | in | IB solid index. | |
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost grid number. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
sphere | real(kind=R8P) | in | Sphere center [1:3] and radius [4]. | |
x_cell_gpu | real(kind=R8P) | in | Cells x coordinates on GPU. | |
y_cell_gpu | real(kind=R8P) | in | Cells y coordinates on GPU. | |
z_cell_gpu | real(kind=R8P) | in | Cells z coordinates on GPU. | |
phi_gpu | real(kind=R8P) | inout | Distance function. |
Call graph
evolve_eikonal_q_phi_dev
Evolve eikonal equation over q inside IB.
fortran
subroutine evolve_eikonal_q_phi_dev(ib, ni, nj, nk, ngc, nv, blocks_number, phi_gpu, dq_gpu, q_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ib | integer(kind=I4P) | in | IB solid index. | |
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
phi_gpu | real(kind=R8P) | in | Distance function. | |
dq_gpu | real(kind=R8P) | in | State variables variation. | |
q_gpu | real(kind=R8P) | inout | State variables. |
Call graph
invert_eikonal_q_phi_dev
Invert eikonal equation over q inside IB.
fortran
subroutine invert_eikonal_q_phi_dev(BCS_VISCOUS, BCS_EULER, ib, ni, nj, nk, ngc, nv, blocks_number, bcs_type, phi_gpu, q_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
BCS_VISCOUS | integer(kind=I4P) | in | Viscous wall BCS parameter. | |
BCS_EULER | integer(kind=I4P) | in | Euler wall BCS parameter. | |
ib | integer(kind=I4P) | in | IB solid index. | |
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost cells number. | |
nv | integer(kind=I4P) | in | Number of conservative varibales. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
bcs_type | integer(kind=I4P) | in | Immersed boundary type. | |
phi_gpu | real(kind=R8P) | in | Distance field. | |
q_gpu | real(kind=R8P) | inout | Conservative field. |
Call graph
move_phi_dev
Move phi and the actual ptree representation.
fortran
subroutine move_phi_dev(ni, nj, nk, ngc, blocks_number, velocity, phi_gpu, dphi_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost grid number. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
velocity | real(kind=R8P) | in | Velocity of the movement. | |
phi_gpu | real(kind=R8P) | inout | Distance function. | |
dphi_gpu | real(kind=R8P) | inout | Distance function gradient. |
Call graph
reduce_cell_order_phi_dev
Reduce local-cell order of spatial operator close to solids.
fortran
subroutine reduce_cell_order_phi_dev(ib, ni, nj, nk, ngc, blocks_number, iweno, ib_reduced_order, ib_reduction_extent, phi_gpu, cell_scheme_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
ib | integer(kind=I4P) | in | IB solid index. | |
ni | integer(kind=I4P) | in | Grid cells number in I direction. | |
nj | integer(kind=I4P) | in | Grid cells number in J direction. | |
nk | integer(kind=I4P) | in | Grid cells number in K direction. | |
ngc | integer(kind=I4P) | in | Ghost grid number. | |
blocks_number | integer(kind=I4P) | in | Number of blocks. | |
iweno | integer(kind=I4P) | in | WENO (half) stencil lenght. | |
ib_reduced_order | integer(kind=I4P) | in | Reduced order close to IB solids. | |
ib_reduction_extent | integer(kind=I4P) | in | Extent of reduction close to IBi solids. | |
phi_gpu | real(kind=R8P) | in | Distance function. | |
cell_scheme_gpu | integer(kind=I4P) | inout | Modified order close to solids. |
Call graph