1# 1 "/home/runner/work/MFC/MFC/src/pre_process/m_initial_condition.fpp"
13 use m_mpi_proxy !< message passing interface (mpi) module proxy
45#ifdef MFC_MIXED_PRECISION
46 integer(kind=1),
allocatable,
dimension(:, :, :) ::
patch_id_fp
84 allocate (
pb%sf(0:
m, &
87 allocate (
mv%sf(0:
m, &
105 allocate (
bc_type(1, 1)%sf(0:0, 0:
n, 0:
p))
106 allocate (
bc_type(1, 2)%sf(0:0, 0:
n, 0:
p))
Assigns initial primitive variables to computational cells based on patch geometry.
Applies spatially varying boundary condition patches along domain edges and faces.
impure subroutine, public s_apply_boundary_patches(q_prim_vf, bc_type)
Iterates over all boundary condition patches and dispatches them by geometry type.
Multi-species chemistry interface for thermodynamic properties, reaction rates, and transport coeffic...
subroutine s_compute_t_from_primitives(q_t_sf, q_prim_vf, bounds)
Computes the temperature field from primitive variables using the ideal gas law and mixture molecular...
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
logical cont_damage
continuum damage modeling
type(int_bounds_info), dimension(1:3) idwint
logical, parameter chemistry
Chemistry modeling.
logical elliptic_smoothing
type(int_bounds_info) bc_z
Boundary conditions in the x-, y- and z-coordinate directions.
integer sys_size
Number of unknowns in the system of equations.
integer num_bc_patches
Number of boundary condition patches.
type(int_bounds_info), dimension(1:3) idwbuff
integer buff_size
The number of cells that are necessary to be able to store enough boundary conditions data to march t...
integer num_dims
Number of spatial dimensions.
type(int_bounds_info) bc_y
type(int_bounds_info) bc_x
logical qbmm
Quadrature moment method.
integer damage_idx
Index of damage state variable (D) for continuum damage model.
logical hyper_cleaning
Hyperbolic cleaning for MHD.
integer psi_idx
Index of hyperbolic cleaning state variable for MHD.
logical mixlayer_perturb
Superimpose instability waves to surrounding fluid flow.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
Allocate memory and read initial condition data for IC extrusion.
impure subroutine, public s_apply_icpp_patches(patch_id_fp, q_prim_vf)
Dispatches each initial condition patch to its geometry-specific initialization routine.
Assembles initial conditions by layering prioritized patches via constructive solid geometry.
type(scalar_field), dimension(:), allocatable q_cons_vf
conservative variables
type(integer_field), dimension(:, :), allocatable bc_type
bc_type fields
integer, dimension(:, :, :), allocatable patch_id_fp
impure subroutine s_initialize_initial_condition_module
Computation of parameters, allocation procedures, and/or any other tasks needed to properly setup the...
impure subroutine s_finalize_initial_condition_module
Deallocation procedures for the module.
type(scalar_field) q_t_sf
Temperature field.
type(scalar_field), dimension(:), allocatable q_prim_vf
primitive variables
impure subroutine s_generate_initial_condition
This subroutine peruses the patches and depending on the type of geometry associated with a particula...
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.
Perturbs initial mean flow fields with random noise, mixing-layer instabilities, or simplex noise.
impure subroutine s_elliptic_smoothing(q_prim_vf, bc_type)
Iteratively smooths all primitive variable fields using a discrete elliptic (Laplacian) filter.
impure subroutine s_perturb_sphere(q_prim_vf)
Randomly perturbs partial density fields at the interface of a spherical volume fraction region.
impure subroutine s_perturb_surrounding_flow(q_prim_vf)
Adds random noise to the velocity and void fraction of the surrounding flow field.
subroutine s_perturb_simplex(q_prim_vf)
Perturbs velocity and volume fraction fields using multi-octave simplex noise.
subroutine s_perturb_mixlayer(q_prim_vf)
This subroutine computes velocity perturbations for a temporal mixing layer with a hyperbolic tangent...
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
subroutine, public s_initialize_mv(qk_cons_vf, mv)
Initializes bubble mass-vapor values at quadrature nodes from the conserved moment statistics.
subroutine, public s_initialize_pb(qk_cons_vf, mv, pb)
Initializes bubble internal pressures at quadrature nodes using isothermal relations from the Preston...
impure subroutine, public s_convert_primitive_to_conservative_variables(q_prim_vf, q_cons_vf)
The following procedure handles the conversion between the primitive variables and the conservative v...
subroutine, public s_convert_conservative_to_primitive_variables(qk_cons_vf, q_t_sf, qk_prim_vf, ibounds)
The following procedure handles the conversion between the conservative variables and the primitive v...
Derived type annexing an integer scalar field (SF).
Derived type annexing a scalar field (SF).