MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_bubbles_EL_kernels.fpp.f90 File Reference

Contains module m_bubbles_EL_kernels. More...

Go to the source code of this file.

Modules

module  m_bubbles_el_kernels
 Kernel functions (Gaussian, delta) that smear Lagrangian bubble effects onto the Eulerian grid.

Functions/Subroutines

subroutine m_bubbles_el_kernels::s_smoothfunction (nbubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar, kcomp)
 Smear the Lagrangian bubble effects onto the Eulerian grid using the selected kernel.
subroutine m_bubbles_el_kernels::s_build_cell_list (nbubs, lbk_s)
 Builds a sorted cell list mapping each interior cell (0:m,0:n,0:p) to its resident bubbles. Uses a counting-sort on the host (O(nBubs + N_cells)). Must be called before s_gaussian each RK stage.
subroutine m_bubbles_el_kernels::s_deltafunc (nbubs, lbk_rad, lbk_vel, lbk_s, updatedvar, kcomp)
 Cell-centric delta-function smearing using the cell list (no GPU atomics). Each bubble only affects the cell it resides in. The outer GPU loop iterates over interior cells and sums contributions from resident bubbles.
subroutine m_bubbles_el_kernels::s_gaussian (nbubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar, kcomp)
 Cell-centric gaussian smearing using the cell list (no GPU atomics). Each grid cell accumulates contributions from nearby bubbles looked up via cell_list_start/count/idx.
subroutine m_bubbles_el_kernels::s_applygaussian (center, cellaux, nodecoord, stddsv, strength_idx, func)
 Evaluate the Gaussian kernel at a grid node for a given bubble center.
subroutine m_bubbles_el_kernels::s_check_celloutside (cellaux, celloutside)
 Check if the current cell is outside the computational domain including ghost cells.
subroutine m_bubbles_el_kernels::s_shift_cell_symmetric_bc (cellaux, cell)
 Relocate cells that intersect a symmetric boundary.
subroutine m_bubbles_el_kernels::s_compute_stddsv (cell, volpart, stddsv)
 Calculates the standard deviation of the bubble being smeared in the Eulerian framework.
subroutine m_bubbles_el_kernels::s_get_char_vol (cellx, celly, cellz, charvol)
 Compute the characteristic cell volume.
subroutine m_bubbles_el_kernels::s_get_cell (s_cell, get_cell)
 Convert bubble computational coordinates from real to integer cell indices.
subroutine m_bubbles_el_kernels::s_compute_pressure_gradients (q_prim_vf)
 Precompute cell-centered pressure gradients (dp/dx, dp/dy, dp/dz).
real(wp) function m_bubbles_el_kernels::f_interpolate_velocity (pos, cell, i, q_prim_vf)
real(wp) function m_bubbles_el_kernels::f_get_bubble_force (pos, rad, rdot, vel, mg, mv, re, rho, cell, i, q_prim_vf)

Variables

real(wp), dimension(:,:,:), allocatable m_bubbles_el_kernels::grad_p_x
real(wp), dimension(:,:,:), allocatable m_bubbles_el_kernels::grad_p_y
real(wp), dimension(:,:,:), allocatable m_bubbles_el_kernels::grad_p_z
real(wp), dimension(:,:), allocatable m_bubbles_el_kernels::fd_coeff_x_pgrad
real(wp), dimension(:,:), allocatable m_bubbles_el_kernels::fd_coeff_y_pgrad
real(wp), dimension(:,:), allocatable m_bubbles_el_kernels::fd_coeff_z_pgrad
integer, dimension(:,:,:), allocatable m_bubbles_el_kernels::cell_list_start
integer, dimension(:,:,:), allocatable m_bubbles_el_kernels::cell_list_count
integer, dimension(:), allocatable m_bubbles_el_kernels::cell_list_idx

Detailed Description

Contains module m_bubbles_EL_kernels.

Definition in file m_bubbles_EL_kernels.fpp.f90.