1# 1 "/home/runner/work/MFC/MFC/src/pre_process/m_initial_condition.fpp"
28#ifdef MFC_MIXED_PRECISION
29 integer(kind=1),
allocatable,
dimension(:,:,:) ::
patch_id_fp
59 allocate (
pb%sf(0:
m,0:
n,0:
p,1:nnode,1:
nb))
60 allocate (
mv%sf(0:
m,0:
n,0:
p,1:nnode,1:
nb))
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)
Iterate over all boundary condition patches and dispatch 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)
Compute 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
Number of ghost cells for boundary condition storage.
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)
Dispatch each initial condition patch to its geometry-specific initialization routine.
Assembles initial conditions by layering prioritized patches via constructive solid geometry.
integer, dimension(:,:,:), allocatable patch_id_fp
type(scalar_field), dimension(:), allocatable q_cons_vf
conservative variables
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(integer_field), dimension(:,:), allocatable bc_type
bc_type fields
type(scalar_field) q_t_sf
Temperature field.
type(scalar_field), dimension(:), allocatable q_prim_vf
primitive variables
impure subroutine s_generate_initial_condition
Iterate over patches and, depending on the geometry type, call the related subroutine to setup the sa...
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 smooth all primitive variable fields using a discrete elliptic (Laplacian) filter.
impure subroutine s_perturb_sphere(q_prim_vf)
Randomly perturb partial density fields at the interface of a spherical volume fraction region.
impure subroutine s_perturb_surrounding_flow(q_prim_vf)
Add random noise to the velocity and void fraction of the surrounding flow field.
subroutine s_perturb_simplex(q_prim_vf)
Perturb velocity and volume fraction fields using multi-octave simplex noise.
subroutine s_perturb_mixlayer(q_prim_vf)
Compute velocity perturbations for a temporal mixing layer with a hyperbolic tangent mean streamwise ...
Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.
subroutine, public s_initialize_mv(qk_cons_vf, mv)
Initialize bubble mass-vapor values at quadrature nodes from the conserved moment statistics.
subroutine, public s_initialize_pb(qk_cons_vf, mv, pb)
Initialize 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)
Convert primitives (rho, u, p, alpha) to conserved variables (rho*alpha, rho*u, E,...
subroutine, public s_convert_conservative_to_primitive_variables(qk_cons_vf, q_t_sf, qk_prim_vf, ibounds)
Convert conserved variables (rho*alpha, rho*u, E, alpha) to primitives (rho, u, p,...
Derived type annexing an integer scalar field (SF).
Derived type annexing a scalar field (SF).