Consider a league (or subleague) setup of 18 teams in 3 divisions of 6 teams. For the 6-team divisions the circle method could be used to set up all the divisional matchups with all teams able to play divisional games at the same time. The next step would be to lay out the interdivision matchups. But an odd number of divisions means you could not have whole divisions matched up against each other - if every team in division 1 is playing against a division 2 opponent, those divisions are covered, but division 3 is left out.
A solution is to break up the divisions into pieces and do the initial layout steps on those pieces rather than either by whole division or by individual team.
We can get to an even number by splitting each of the 3 divisions of six teams into 6 "pods" of three teams each. We can break division 1 of teams 1-6 into pod 1A of teams 1-3 and 1B of teams 4-6, division 2 of teams 7-12 into 2A of teams 7-9 and 2B of teams 10-12, and division 3 of teams 13-18 into 3A of teams 13-15 and 3B of teams 16-18. We can build matchups among the pods themselves then set the individual team matchups within the pod.
With the 6 pods it seems like we could use the same slotting to set the matchups among them as would be used for the division games for the 6-team divisions. There is one catch with the pods though. Each pod has one matchup that is not needed because it involves division games that are already covered. We do not need 1A v 1B, 2A v 2B, or 3A v 3B because those are division games. How do we make sure to block exactly and only those matchups? We build them together so we can drop them together.
Back in part 2, and throughout my earlier examples, I set the team numbers with 1 in the upper left of my initial "circle" and filled the subsequent numbers going counterclockwise.
But as long as the rotation is done appropriately, that initial circle can be done with any layout. In this example we can set the pod matchups at first in the configuration with what we want to drop and rotate from there.
1 6 2 5 3 4
...laying out the matchups into rows (e.g., the leftmost matchup set above is the tiop row below)...
1A 1B 1A 2B 1A 3B 1A 3A 1A 2A 2A 2B -> 1B 3B -> 2B 3A -> 3B 2A -> 3A 1B 3A 3B 2A 3A 1B 2A 2B 1B 3B 2B
We can simply drop (denoted above by strikethrough) that first row of matchups that have intradivision matchups and use the other four rows that are only interdivision.
1A v 1B 2A v 2B 3A v 3B1A v 2B 1B v 3B 2A v 3A 1A v 3B 2B v 3A 1B v 2A 1A v 3A 3B v 2A 2B v 1B 1A v 2A 3A v 1B 3B v 2B
What is left now is to expand each pod matchup into the team matchups. Each pod label represents 3 teams, so each pod matchup represents 3 * 3 = 9 team matchups. E.g., the 1A v 2B involves teams 1-3 and 10-12, so for that one pod matchup we need these 9 team matchups...
That expands one of the 12 interdivision pod matchups, and after doing the same for the other 11, then all the matchups are defined. There are probably considerations, like for multiple matchups to have each interdivision opponent played one series home and one away. But now we at least would have the definition that pits each team against each other team.
1 v 10 2 v 11 3 v 12 1 v 11 2 v 12 3 v 10 1 v 12 2 v 10 3 v 11