|
MFC
Exascale flow solver
|
Kernel functions (Gaussian, delta) that smear Lagrangian bubble effects onto the Eulerian grid. 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. | |
Kernel functions (Gaussian, delta) that smear Lagrangian bubble effects onto the Eulerian grid.
| 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)).
Definition at line 635 of file m_bubbles_EL_kernels.fpp.f90.
| 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. |
Definition at line 737 of file m_bubbles_EL_kernels.fpp.f90.
| 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 |
Definition at line 878 of file m_bubbles_EL_kernels.fpp.f90.
| 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.
Definition at line 328 of file m_bubbles_EL_kernels.fpp.f90.
| 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.
Definition at line 452 of file m_bubbles_EL_kernels.fpp.f90.
| 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_cell | Computational coordinates of the bubble, real type |
| get_cell | Computational coordinates of the bubble, integer type |
Definition at line 1010 of file m_bubbles_EL_kernels.fpp.f90.
| 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.
| cellx | x-direction cell index |
| celly | y-direction cell index |
| cellz | z-direction cell index |
| Charvol | Characteristic volume |
Definition at line 953 of file m_bubbles_EL_kernels.fpp.f90.
| 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. |
Definition at line 805 of file m_bubbles_EL_kernels.fpp.f90.
| 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 |
Definition at line 310 of file m_bubbles_EL_kernels.fpp.f90.