We present a multigrid method for the solution of convection diffusion equations that is based on the combination of recursive substructuring techniques and the discretization on hierarchical bases and generating systems. Robustness of the resulting method, at least for a variety of benchmark problems, is achieved by a partial elimination between certain ``coarse grid unknowns.''
The choice of these coarse grid unknowns is motivated by the physical properties of the convection diffusion equation, but is independent of the actual discretized operator. The resulting algorithm has a memory requirement that grows linearly with the number of unknowns. This also holds for the computational cost of the setup and the individual relaxation cycles. We present numerical examples that indicate that the number of iterations needed to solve a convection diffusion equation is widely independent of the number of unknowns and of the type and strength of the convection field.