Appearance
adam_ib_gmp_kernels
ADAM, IB class GMP kernels (GMP backend of ib_object).
Source: src/lib/gmp/adam_ib_gmp_kernels.F90
Dependencies
Contents
- compute_eikonal_dq_phi_gmp
- compute_phi_all_solids_gmp
- compute_phi_analytical_sphere_gmp
- evolve_eikonal_q_phi_gmp
- invert_eikonal_q_phi_gmp
- move_phi_gmp
- reduce_cell_order_phi_gmp
Subroutines
compute_eikonal_dq_phi_gmp
Compute eikonal dq inside IB.
fortran
subroutine compute_eikonal_dq_phi_gmp(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_gmp
Compute last phi index, all solids summary.
fortran
subroutine compute_phi_all_solids_gmp(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_gmp
Compute phi, distance from ib solid, analytical sphere solid.
fortran
subroutine compute_phi_analytical_sphere_gmp(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_gmp
Evolve eikonal equation over q inside IB.
fortran
subroutine evolve_eikonal_q_phi_gmp(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_gmp
Invert eikonal equation over q inside IB.
fortran
subroutine invert_eikonal_q_phi_gmp(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_gmp
Move phi and the actual ptree representation.
fortran
subroutine move_phi_gmp(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_gmp
Reduce local-cell order of spatial operator close to solids.
fortran
subroutine reduce_cell_order_phi_gmp(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