MFC: Pre-Process
High-fidelity multiphase flow simulation
|
This module contains subroutines that compute perturbations to the initial mean flow fields. More...
Functions/Subroutines | |
subroutine | s_initialize_perturbation_module () |
subroutine | s_perturb_sphere (q_prim_vf) |
subroutine | s_perturb_surrounding_flow (q_prim_vf) |
subroutine | s_superposition_instability_wave (q_prim_vf) |
This subroutine computes velocity perturbations for a temporal mixing layer with hypertangent mean streamwise velocity profile obtained from linear stability analysis. For a 2D case, instability waves with spatial wavenumbers, (4,0), (2,0), and (1,0) are superposed. For a 3D waves, (4,4), (4,-4), (2,2), (2,-2), (1,1), (1,-1) areadded on top of 2D waves. | |
subroutine | s_compute_equilibrium_state (fp, fr0, fr) |
This subroutine computes equilibrium bubble radius of the perturbed pressure field. | |
subroutine | s_instability_wave (alpha, beta, wave, shift) |
This subroutine computes instability waves for a given set of spatial wavenumbers (alpha, beta) in x and z directions. The eigenvalue problem is derived from the linearized Euler equations with parallel mean flow assumption (See Sandham 1989 PhD thesis for details). | |
subroutine | s_solve_linear_system (alpha, beta, u_mean, rho_mean, p_mean, d, gam, pi_inf, mach, wave, shift) |
This subroutine solves linear system from linear stability analysis and generate instability waves for the given set of spatial wave numbers and phase shift. | |
subroutine | s_instability_nonreflecting_subsonic_buffer_bc (ar, ai, hr, hi, rho_mean, mach) |
This subroutine applies non-reflecting subsonic buffer boundary condition to the linear system of equations (i.e. matrix A). | |
subroutine | s_generate_wave (wr, wi, zr, zi, rho_mean, mach, alpha, beta, wave, shift) |
This subroutine generates an instability wave using the most unstable eigenvalue and corresponding eigenvector among the given set of eigenvalues and eigenvectors. | |
subroutine | s_elliptic_smoothing (q_prim_vf) |
subroutine | s_finalize_perturbation_module () |
Variables | |
integer | mixlayer_nvar |
integer, dimension(:), allocatable | mixlayer_var |
integer | nbp |
integer | mixlayer_bc_fd |
integer | n_bc_skip |
real(wp), dimension(:, :, :, :), allocatable | q_prim_temp |
real(wp) | bcxb |
real(wp) | bcxe |
real(wp) | bcyb |
real(wp) | bcye |
real(wp) | bczb |
real(wp) | bcze |
This module contains subroutines that compute perturbations to the initial mean flow fields.
subroutine m_perturbation::s_compute_equilibrium_state | ( | real(wp), intent(in) | fp, |
real(wp), intent(in) | fr0, | ||
real(wp), intent(inout) | fr ) |
This subroutine computes equilibrium bubble radius of the perturbed pressure field.
subroutine m_perturbation::s_elliptic_smoothing | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf | ) |
subroutine m_perturbation::s_finalize_perturbation_module |
subroutine m_perturbation::s_generate_wave | ( | real(wp), dimension(0:mixlayer_nvar*n - n_bc_skip - 1), intent(in) | wr, |
real(wp), dimension(0:mixlayer_nvar*n - n_bc_skip - 1), intent(in) | wi, | ||
real(wp), dimension(0:mixlayer_nvar*n - n_bc_skip - 1, 0:mixlayer_nvar*n - n_bc_skip - 1), intent(in) | zr, | ||
real(wp), dimension(0:mixlayer_nvar*n - n_bc_skip - 1, 0:mixlayer_nvar*n - n_bc_skip - 1), intent(in) | zi, | ||
real(wp), intent(in) | rho_mean, | ||
real(wp), intent(in) | mach, | ||
real(wp), intent(in) | alpha, | ||
real(wp), intent(in) | beta, | ||
real(wp), dimension(mixlayer_nvar, 0:m, 0:n, 0:p), intent(inout) | wave, | ||
real(wp), intent(in) | shift ) |
This subroutine generates an instability wave using the most unstable eigenvalue and corresponding eigenvector among the given set of eigenvalues and eigenvectors.
[in] | wi | eigenvalues |
[in] | zi | eigenvectors |
subroutine m_perturbation::s_initialize_perturbation_module |
subroutine m_perturbation::s_instability_nonreflecting_subsonic_buffer_bc | ( | real(wp), dimension(0:mixlayer_nvar*nbp - 1, 0:mixlayer_nvar*nbp - 1), intent(inout) | ar, |
real(wp), dimension(0:mixlayer_nvar*nbp - 1, 0:mixlayer_nvar*nbp - 1), intent(inout) | ai, | ||
real(wp), dimension(0:mixlayer_nvar*n - n_bc_skip - 1, 0:mixlayer_nvar*n - n_bc_skip - 1), intent(out) | hr, | ||
real(wp), dimension(0:mixlayer_nvar*n - n_bc_skip - 1, 0:mixlayer_nvar*n - n_bc_skip - 1), intent(out) | hi, | ||
real(wp), intent(in) | rho_mean, | ||
real(wp), intent(in) | mach ) |
This subroutine applies non-reflecting subsonic buffer boundary condition to the linear system of equations (i.e. matrix A).
[in,out] | ai | matrices for eigenvalue problem |
[out] | hi | matrices for eigenvalue problem |
[in] | rho_mean | mean density profiles |
subroutine m_perturbation::s_instability_wave | ( | real(wp), intent(in) | alpha, |
real(wp), intent(in) | beta, | ||
real(wp), dimension(mixlayer_nvar, 0:m, 0:n, 0:p), intent(inout) | wave, | ||
real(wp), intent(in) | shift ) |
This subroutine computes instability waves for a given set of spatial wavenumbers (alpha, beta) in x and z directions. The eigenvalue problem is derived from the linearized Euler equations with parallel mean flow assumption (See Sandham 1989 PhD thesis for details).
[in] | beta | spatial wavenumbers |
[in,out] | wave | instability wave |
[in] | shift | phase shift |
subroutine m_perturbation::s_perturb_sphere | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf | ) |
subroutine m_perturbation::s_perturb_surrounding_flow | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf | ) |
subroutine m_perturbation::s_solve_linear_system | ( | real(wp), intent(in) | alpha, |
real(wp), intent(in) | beta, | ||
real(wp), dimension(0:nbp - 1), intent(in) | u_mean, | ||
real(wp), intent(in) | rho_mean, | ||
real(wp), intent(in) | p_mean, | ||
real(wp), dimension(0:nbp - 1, 0:nbp - 1), intent(in) | d, | ||
real(wp), intent(in) | gam, | ||
real(wp), intent(in) | pi_inf, | ||
real(wp), intent(in) | mach, | ||
real(wp), dimension(mixlayer_nvar, 0:m, 0:n, 0:p), intent(inout) | wave, | ||
real(wp), intent(in) | shift ) |
This subroutine solves linear system from linear stability analysis and generate instability waves for the given set of spatial wave numbers and phase shift.
[in] | beta | spatial wavenumbers |
[in] | u_mean | mean velocity profiles |
[in] | p_mean | mean density and pressure |
[in] | d | differential operator in y dir |
subroutine m_perturbation::s_superposition_instability_wave | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf | ) |
This subroutine computes velocity perturbations for a temporal mixing layer with hypertangent mean streamwise velocity profile obtained from linear stability analysis. For a 2D case, instability waves with spatial wavenumbers, (4,0), (2,0), and (1,0) are superposed. For a 3D waves, (4,4), (4,-4), (2,2), (2,-2), (1,1), (1,-1) areadded on top of 2D waves.
real(wp) m_perturbation::bcxb |
real(wp) m_perturbation::bcxe |
real(wp) m_perturbation::bcyb |
real(wp) m_perturbation::bcye |
real(wp) m_perturbation::bczb |
real(wp) m_perturbation::bcze |
integer m_perturbation::mixlayer_bc_fd |
integer m_perturbation::mixlayer_nvar |
integer, dimension(:), allocatable m_perturbation::mixlayer_var |
integer m_perturbation::n_bc_skip |
integer m_perturbation::nbp |
real(wp), dimension(:, :, :, :), allocatable m_perturbation::q_prim_temp |