An algorithm for decomposition of sub-domains and quadrilateral mesh generation with line constraints. (December 2017)