MFC: Pre-Process
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
m_perturbation Module Reference

This module contains subroutines that compute perturbations to the initial mean flow fields. More...

Functions/Subroutines

impure subroutine s_initialize_perturbation_module ()
 
impure subroutine s_perturb_sphere (q_prim_vf)
 
impure subroutine s_perturb_surrounding_flow (q_prim_vf)
 
impure subroutine s_elliptic_smoothing (q_prim_vf, bc_type)
 
subroutine s_perturb_simplex (q_prim_vf)
 
subroutine s_perturb_mixlayer (q_prim_vf)
 This subroutine computes velocity perturbations for a temporal mixing layer with a hyperbolic tangent mean streamwise velocity profile, using an inverter version of the spectrum-based synthetic turbulence generation method proposed by Guo et al. (2023, JFM).
 
subroutine s_generate_random_perturbation (khat, xi, phi, ik, yloc)
 
real(wp) function, dimension(3) f_unit_vector (theta, eta)
 
subroutine s_prng (var, seed)
 This function generates a pseudo-random number between 0 and 1 based on linear congruential generator.
 
integer function modmul (a)
 
impure subroutine s_finalize_perturbation_module ()
 

Variables

real(wp), dimension(:, :, :, :), allocatable q_prim_temp
 

Detailed Description

This module contains subroutines that compute perturbations to the initial mean flow fields.

Function/Subroutine Documentation

◆ f_unit_vector()

real(wp) function, dimension(3) m_perturbation::f_unit_vector ( real(wp), intent(in) theta,
real(wp), intent(in) eta )
Here is the caller graph for this function:

◆ modmul()

integer function m_perturbation::modmul ( integer, intent(in) a)
Here is the caller graph for this function:

◆ s_elliptic_smoothing()

impure subroutine m_perturbation::s_elliptic_smoothing ( type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf,
type(integer_field), dimension(1:num_dims, 1:2), intent(in) bc_type )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_finalize_perturbation_module()

impure subroutine m_perturbation::s_finalize_perturbation_module

◆ s_generate_random_perturbation()

subroutine m_perturbation::s_generate_random_perturbation ( real(wp), dimension(3), intent(out) khat,
real(wp), dimension(3), intent(out) xi,
real(wp), intent(out) phi,
integer, intent(in) ik,
real(wp), intent(in) yloc )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_initialize_perturbation_module()

impure subroutine m_perturbation::s_initialize_perturbation_module

◆ s_perturb_mixlayer()

subroutine m_perturbation::s_perturb_mixlayer ( type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf)

This subroutine computes velocity perturbations for a temporal mixing layer with a hyperbolic tangent mean streamwise velocity profile, using an inverter version of the spectrum-based synthetic turbulence generation method proposed by Guo et al. (2023, JFM).

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

◆ s_perturb_simplex()

subroutine m_perturbation::s_perturb_simplex ( type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_perturb_sphere()

impure subroutine m_perturbation::s_perturb_sphere ( type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf)
Here is the caller graph for this function:

◆ s_perturb_surrounding_flow()

impure subroutine m_perturbation::s_perturb_surrounding_flow ( type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf)
Here is the caller graph for this function:

◆ s_prng()

subroutine m_perturbation::s_prng ( real(wp), intent(out) var,
integer, intent(inout) seed )

This function generates a pseudo-random number between 0 and 1 based on linear congruential generator.

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

Variable Documentation

◆ q_prim_temp

real(wp), dimension(:, :, :, :), allocatable m_perturbation::q_prim_temp