Loading [MathJax]/extensions/tex2jax.js
MFC: Simulation
High-fidelity multiphase flow simulation
All Classes Namespaces Files Functions Variables Pages
m_bubbles_EL_kernels.fpp.f90 File Reference

Functions/Subroutines

program __m_bubbles_el_kernels_fpp_f90__
 
subroutine s_smoothfunction (nbubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar)
 The purpose of this subroutine is to smear the strength of the lagrangian bubbles into the Eulerian framework using different approaches.
 
subroutine s_deltafunc (nbubs, lbk_rad, lbk_vel, lbk_s, updatedvar)
 The purpose of this procedure contains the algorithm to use the delta kernel function to map the effect of the bubbles. The effect of the bubbles only affects the cell where the bubble is located.
 
subroutine s_gaussian (nbubs, lbk_rad, lbk_vel, lbk_s, lbk_pos, updatedvar)
 The purpose of this procedure contains the algorithm to use the gaussian kernel function to map the effect of the bubbles. The effect of the bubbles affects the 3X3x3 cells that surround the bubble.
 
subroutine s_applygaussian (center, cellaux, nodecoord, stddsv, strength_idx, func)
 The purpose of this subroutine is to apply the gaussian kernel function for each bubble (Maeda and Colonius, 2018)).
 
subroutine s_check_celloutside (cellaux, celloutside)
 The purpose of this subroutine is to check if the current cell is outside the computational domain or not (including ghost cells).
 
subroutine s_shift_cell_symmetric_bc (cellaux, cell)
 This subroutine relocates the current cell, if it intersects a symmetric boundary.
 
subroutine s_compute_stddsv (cell, volpart, stddsv)
 Calculates the standard deviation of the bubble being smeared in the Eulerian framework.
 
subroutine s_get_char_vol (cellx, celly, cellz, charvol)
 The purpose of this procedure is to calculate the characteristic cell volume.
 
subroutine s_get_cell (s_cell, get_cell)
 This subroutine transforms the computational coordinates of the bubble from real type into integer.
 

Function/Subroutine Documentation

◆ __m_bubbles_el_kernels_fpp_f90__()

program __m_bubbles_el_kernels_fpp_f90__

◆ s_applygaussian()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_applygaussian ( real(wp), dimension(3), intent(in) center,
integer, dimension(3), intent(in) cellaux,
real(wp), dimension(3), intent(in) nodecoord,
real(wp), intent(in) stddsv,
real(wp), intent(in) strength_idx,
real(wp), intent(out) func )
private

The purpose of this subroutine is to apply the gaussian kernel function for each bubble (Maeda and Colonius, 2018)).

Here is the caller graph for this function:

◆ s_check_celloutside()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_check_celloutside ( integer, dimension(3), intent(inout) cellaux,
logical, intent(out) celloutside )
private

The purpose of this subroutine is to check if the current cell is outside the computational domain or not (including ghost cells).

Parameters
cellauxTested cell to smear the bubble effect in.
celloutsideIf true, then cellaux is outside the computational domain.
Here is the caller graph for this function:

◆ s_compute_stddsv()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_compute_stddsv ( integer, dimension(3), intent(in) cell,
real(wp), intent(in) volpart,
real(wp), intent(out) stddsv )
private

Calculates the standard deviation of the bubble being smeared in the Eulerian framework.

Parameters
cellCell where the bubble is located
volpartVolume of the bubble
stddsvStandard deviaton
Here is the caller graph for this function:

◆ s_deltafunc()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_deltafunc ( integer, intent(in) nbubs,
real(wp), dimension(1:lag_params%nbubs_glb, 1:2), intent(in) lbk_rad,
real(wp), dimension(1:lag_params%nbubs_glb, 1:2), intent(in) lbk_vel,
real(wp), dimension(1:lag_params%nbubs_glb, 1:3, 1:2), intent(in) lbk_s,
type(vector_field), intent(inout) updatedvar )
private

The purpose of this procedure contains the algorithm to use the delta kernel function to map the effect of the bubbles. The effect of the bubbles only affects the cell where the bubble is located.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_gaussian()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_gaussian ( integer, intent(in) nbubs,
real(wp), dimension(1:lag_params%nbubs_glb, 1:2), intent(in) lbk_rad,
real(wp), dimension(1:lag_params%nbubs_glb, 1:2), intent(in) lbk_vel,
real(wp), dimension(1:lag_params%nbubs_glb, 1:3, 1:2), intent(in) lbk_s,
real(wp), dimension(1:lag_params%nbubs_glb, 1:3, 1:2), intent(in) lbk_pos,
type(vector_field), intent(inout) updatedvar )
private

The purpose of this procedure contains the algorithm to use the gaussian kernel function to map the effect of the bubbles. The effect of the bubbles affects the 3X3x3 cells that surround the bubble.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_get_cell()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_get_cell ( real(wp), dimension(3), intent(in) s_cell,
integer, dimension(3), intent(out) get_cell )
private

This subroutine transforms the computational coordinates of the bubble from real type into integer.

Parameters
sComputational coordinates of the bubble, real type
get_cellComputational coordinates of the bubble, integer type
Here is the caller graph for this function:

◆ s_get_char_vol()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_get_char_vol ( integer, intent(in) cellx,
integer, intent(in) celly,
integer, intent(in) cellz,
real(wp), intent(out) charvol )
private

The purpose of this procedure is to calculate the characteristic cell volume.

Parameters
cellComputational coordinates (x, y, z)
CharvolCharacteristic volume
Here is the caller graph for this function:

◆ s_shift_cell_symmetric_bc()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_shift_cell_symmetric_bc ( integer, dimension(3), intent(inout) cellaux,
integer, dimension(3), intent(in) cell )
private

This subroutine relocates the current cell, if it intersects a symmetric boundary.

Parameters
cellCell of the current bubble
cellauxCell to map the bubble effect in.
Here is the caller graph for this function:

◆ s_smoothfunction()

subroutine __m_bubbles_el_kernels_fpp_f90__::s_smoothfunction ( integer, intent(in) nbubs,
real(wp), dimension(1:lag_params%nbubs_glb, 1:2), intent(in) lbk_rad,
real(wp), dimension(1:lag_params%nbubs_glb, 1:2), intent(in) lbk_vel,
real(wp), dimension(1:lag_params%nbubs_glb, 1:3, 1:2), intent(in) lbk_s,
real(wp), dimension(1:lag_params%nbubs_glb, 1:3, 1:2), intent(in) lbk_pos,
type(vector_field), intent(inout) updatedvar )

The purpose of this subroutine is to smear the strength of the lagrangian bubbles into the Eulerian framework using different approaches.

Parameters
nBubsNumber of lagrangian bubbles in the current domain
lbk_radRadius of the bubbles
lbk_velInterface velocity of the bubbles
lbk_sComputational coordinates of the bubbles
lbk_posSpatial coordinates of the bubbles
updatedvarEulerian variable to be updated
Here is the call graph for this function:
Here is the caller graph for this function: