MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_perturbation.fpp.f90 File Reference

Contains module m_perturbation. More...

Go to the source code of this file.

Modules

module  m_perturbation
 Perturbs initial mean flow fields with random noise, mixing-layer instabilities, or simplex noise.

Functions/Subroutines

impure subroutine m_perturbation::s_initialize_perturbation_module ()
 Allocates the temporary primitive variable array used by elliptic smoothing.
impure subroutine m_perturbation::s_perturb_sphere (q_prim_vf)
 Randomly perturbs partial density fields at the interface of a spherical volume fraction region.
impure subroutine m_perturbation::s_perturb_surrounding_flow (q_prim_vf)
 Adds random noise to the velocity and void fraction of the surrounding flow field.
impure subroutine m_perturbation::s_elliptic_smoothing (q_prim_vf, bc_type)
 Iteratively smooths all primitive variable fields using a discrete elliptic (Laplacian) filter.
subroutine m_perturbation::s_perturb_simplex (q_prim_vf)
 Perturbs velocity and volume fraction fields using multi-octave simplex noise.
subroutine m_perturbation::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 m_perturbation::s_generate_random_perturbation (khat, xi, phi, ik, yloc)
 Generates deterministic pseudo-random wave vector, polarization, and phase for a perturbation mode.
real(wp) function, dimension(3) m_perturbation::f_unit_vector (theta, eta)
 Generates a unit vector uniformly distributed on the sphere from two random parameters.
subroutine m_perturbation::s_prng (var, seed)
 This function generates a pseudo-random number between 0 and 1 based on linear congruential generator.
integer function m_perturbation::modmul (a)
 Computes a modular multiplication step for the linear congruential pseudo-random number generator.
impure subroutine m_perturbation::s_finalize_perturbation_module ()
 Deallocates the temporary primitive variable array used by elliptic smoothing.

Variables

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

Detailed Description

Contains module m_perturbation.

Definition in file m_perturbation.fpp.f90.