SMS dit: Discretisations and preconditioners for magnetohydrodynamics models