1. A computer-implemented method of domain decomposition for generating unstructured grids, the method comprising: (a) generating a surface mesh of a spatial domain for which a grid is to be generated; (b) determining a location of a partition plane dividing the domain into two sections; (c) identifying triangular faces on the surface mesh that intersect the partition plane; (d) generating a partition grid of tetrahedral cells using a marching process in which a front comprises only faces of new cells which intersect the partition plane, the partition grid being generated until no active faces remain on the front, the partition grid dividing the domain into two sub-domains; (e) collecting triangular faces on each side of the partition plane into two separate subsets; (f) renumbering each subset of triangular faces locally and creating a local/global mapping for each sub-domain; (g) generating a volume grid for each sub-domain; and (h) merging the partition grid and volume grids using the local-global mapping.