  Multigrid solvers for hierarchical hybrid grids (HHG) have been proposed to
promote the efficient utilization of high performance computer architectures.
These HHG meshes are constructed by uniformly refining a relatively coarse
fully unstructured mesh. While HHG meshes provide some flexibility for
unstructured applications, most multigrid calculations can be accomplished
using efficient structured grid ideas and kernels. This paper focuses on
generalizing the HHG idea so that it is applicable to a broader community of
computational scientists, and so that it is easier for existing applications to
leverage structured multigrid components. Specifically, we adapt the structured
multigrid methodology to significantly more complex semi-structured meshes.
Further, we illustrate how mature applications might adopt a semi-structured
solver in a relatively non-invasive fashion. To do this, we propose a formal
mathematical framework for describing the semi-structured solver. This
formalism allows us to precisely define the associated multigrid method and to
show its relationship to a more traditional multigrid solver. Additionally, the
mathematical framework clarifies the associated software design and
implementation. Numerical experiments highlight the relationship of the new
solver with classical multigrid. We also demonstrate the generality and
potential performance gains associated with this type of semi-structured
multigrid.
