5.2. exec/multispec – low-Mach multispecies mixtures
- Purpose
Simulates multispecies liquid mixtures in the low-Mach limit, with stochastic mass and momentum fluxes. Optional features include charged species (electrodiffusion with a Poisson solve), multiphase mixtures with surface tension, and gravity. Typical uses are giant fluctuations, diffusion-driven instabilities, spinodal decomposition, droplets and bubbles, and ionic liquids.
- Libraries
src_multispec,src_hydro,src_gmres,src_rng,src_analysis,src_common.- Algorithm
algorithm_typeselects the time integrator implemented in the application directory:0– inertial integrator (AdvanceTimestepInertial.cpp);6– Boussinesq integrator (AdvanceTimestepBousq.cpp).
Other values stop the run with “algorithm_type not supported”.
- Key parameters
Parameter
Meaning
nspecies,molmass,rhobar,rho0Number of species, mass per molecule (not molar mass), pure component densities and reference density.
DbarMaxwell–Stefan diffusion coefficients. They are given as the lower triangle of a symmetric matrix, row by row:
D_12; D_13, D_23; D_14, D_24, D_34; ...(nspecies*(nspecies-1)/2values).is_ideal_mixture1 (default) assumes an ideal mixture (thermodynamic factor \(\Gamma = I\)); 0 uses the non-ideal model.
c_init_1,c_init_2Initial mass fractions, interpreted by
prob_typeinInit.cpp.variance_coef_mass,variance_coef_momAmplitude of the stochastic mass and momentum fluxes.
bc_mass_lo/hi-1 periodic, 1 wall, 2 reservoir.
use_charged_fluid,charge_per_mass,dielectric_const,bc_es_lo/hiElectrodiffusion for charged species and boundary conditions for the electric potential (1 Dirichlet, 2 Neumann).
use_multiphase,alpha_gex,n_gex,kc_tensionMultiphase free energy and surface tension.
- Example inputs
inputs_regression_equil_*(equilibrium fluctuations),inputs_regression_detbubble_*(deterministic bubble),inputs_regression_spinodal_*(charged spinodal decomposition),inputs_regression_cap_2d, and many production cases (inputs_fh_*giant fluctuations,inputs_droplet_*,inputs_rtil_*ionic liquids).
Note
MAX_SPEC in the GNUmakefile must be at least nspecies, and
MAX_ELEM must equal MAX_SPEC*(MAX_SPEC-1)/2.