|
MFC: Simulation
High-fidelity multiphase flow simulation
|
This module contains kernel functions used to map the effect of the lagrangian bubbles in the Eulerian framework. More...
Functions/Subroutines | |
| 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. | |
This module contains kernel functions used to map the effect of the lagrangian bubbles in the Eulerian framework.
| subroutine m_bubbles_el_kernels::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 ) |
The purpose of this subroutine is to apply the gaussian kernel function for each bubble (Maeda and Colonius, 2018)).
| subroutine m_bubbles_el_kernels::s_check_celloutside | ( | integer, dimension(3), intent(inout) | cellaux, |
| logical, intent(out) | celloutside ) |
The purpose of this subroutine is to check if the current cell is outside the computational domain or not (including ghost cells).
| cellaux | Tested cell to smear the bubble effect in. |
| celloutside | If true, then cellaux is outside the computational domain. |
| subroutine m_bubbles_el_kernels::s_compute_stddsv | ( | integer, dimension(3), intent(in) | cell, |
| real(wp), intent(in) | volpart, | ||
| real(wp), intent(out) | stddsv ) |
Calculates the standard deviation of the bubble being smeared in the Eulerian framework.
| cell | Cell where the bubble is located |
| volpart | Volume of the bubble |
| stddsv | Standard deviaton |
| subroutine m_bubbles_el_kernels::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(scalar_field), dimension(:), intent(inout) | 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 m_bubbles_el_kernels::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(scalar_field), dimension(:), intent(inout) | 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 m_bubbles_el_kernels::s_get_cell | ( | real(wp), dimension(3), intent(in) | s_cell, |
| integer, dimension(3), intent(out) | get_cell ) |
This subroutine transforms the computational coordinates of the bubble from real type into integer.
| s | Computational coordinates of the bubble, real type |
| get_cell | Computational coordinates of the bubble, integer type |
| subroutine m_bubbles_el_kernels::s_get_char_vol | ( | integer, intent(in) | cellx, |
| integer, intent(in) | celly, | ||
| integer, intent(in) | cellz, | ||
| real(wp), intent(out) | charvol ) |
The purpose of this procedure is to calculate the characteristic cell volume.
| cell | Computational coordinates (x, y, z) |
| Charvol | Characteristic volume |
| subroutine m_bubbles_el_kernels::s_shift_cell_symmetric_bc | ( | integer, dimension(3), intent(inout) | cellaux, |
| integer, dimension(3), intent(in) | cell ) |
This subroutine relocates the current cell, if it intersects a symmetric boundary.
| cell | Cell of the current bubble |
| cellaux | Cell to map the bubble effect in. |
| subroutine m_bubbles_el_kernels::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(scalar_field), dimension(:), intent(inout) | updatedvar ) |
The purpose of this subroutine is to smear the strength of the lagrangian bubbles into the Eulerian framework using different approaches.
| nBubs | Number of lagrangian bubbles in the current domain |
| lbk_rad | Radius of the bubbles |
| lbk_vel | Interface velocity of the bubbles |
| lbk_s | Computational coordinates of the bubbles |
| lbk_pos | Spatial coordinates of the bubbles |
| updatedvar | Eulerian variable to be updated |