Ion-Neutral Fluids ================== Introduction ------------ The ion–neutral module evolves a partially ionized plasma as **two coupled fluids**: a magnetized ion fluid (solved with the MHD solver) and a neutral fluid (solved with the hydro solver). The two fluids exchange momentum through a collisional drag term and, optionally, mass through ionization and recombination. Because the drag can be stiff, the coupling is integrated implicitly using an ImEx (implicit–explicit) Runge–Kutta scheme, while the fluxes of each fluid are still handled explicitly. The physical model for the momentum and mass exchange is .. math:: \mathbf{F} = -\gamma \rho_i \rho_n (\mathbf{u}_i - \mathbf{u}_n) + \xi \rho_n \mathbf{u}_n - \alpha \rho_i^2 \mathbf{u}_i, \qquad G = \xi \rho_n - \alpha \rho_i^2, where subscripts :math:`i` and :math:`n` denote the ion and neutral fluids, :math:`\gamma` is the drag coefficient, :math:`\xi` the ionization rate, and :math:`\alpha` the recombination rate. Inputs ------ Ion–neutral runs require **three** blocks in the input file: - ```` — configures the **neutral** fluid (see :doc:`hydro`); - ```` — configures the **ion** fluid (see :doc:`mhd`); - ```` — configures the coupling (note the hyphen in the block name). The ```` block has three parameters: - ``drag_coeff`` (**mandatory**): the ion–neutral drag coupling coefficient :math:`\gamma`. - ``ionization_coeff`` (default ``0.0``): the ionization rate :math:`\xi`. - ``recombination_coeff`` (default ``0.0``): the recombination rate :math:`\alpha`. .. note:: - Whenever both ```` and ```` are present, the ```` block is **required** (and vice versa) — a single run cannot otherwise contain both fluids. - The time integrator **must** be an ImEx scheme: set ``