## Proteus

### General Description

These are the physical processes Proteus can model:

- compressible, full 3D magnetohydrodynamics including viscosity, heat conduction and Ohmic resistivity
- Self-gravity (periodic and non-periodic)
- heating and cooling (in tabulated form)
- ionizing point sources including evolution of 2-species-gas (not quite there yet...)
- ambipolar diffusion in 2-fluid description
- simple radiation fields (only forward scattering)

Its main advantage over otherwise equivalently performing Riemann solvers is that the dissipative terms are included at the same level in the flux computation, and do not have to be added as external source terms. It is "positive definite" for densities, and for pressures under physical initial conditions.

### Solver details

The solver is a gas-kinetic flux-splitting method based on the BGK-scheme (Bhatnagar, Gross, Krook 1954). The collision term in the underlying Boltzmann equation is interpreted as the difference between the initial distribution function and the equilibrium (Maxwellian) distribution, divided by the collision time. Taking the usual moments of the Boltzmann equation, this gives rise to two types of fluxes: an equilibrium flux for timescales much larger than the collision time, and a free-transport flux for timescales much shorter than the collision time. The fluxes are combined depending on the order of the scheme. In the first-order BGK scheme, the ratio of the fluxes is fixed to a constant value, while the second-order scheme weighs the flux contribution via the local ratio of the collision time over the timestep (and integrates the distributions function's evolution over the timestep, instead of just using the initial and final state). The MHD-version is currently only implemented in the first-order scheme Proteus evolves the total energy equation and conserves energy and mass at machine accuracy level.For the reconstruction step, a choice of limiters is available. Depending on the physical problem, the reconstruction can be staged in terms of accuracy and fall-back solutions. Detailed diagnostics allow the run-time assessment of the solution's quality.

Currently, the MHD scheme requires a divergence-cleaning operation. This is done via an (exact) Hodge projection using Fourier transforms.