fefas: error gracefully when highly non-square grids create incompatible coarsening scenarios
fefas: error gracefully when highly non-square grids create incompatible coarsening scenarios

Our grid transfer setup requires that a fine-level process be able to
populate its cells using a (positive) integral number of cells from the
coarse grid.  So for 1D coarsening, we need the coarse grid to have at
least two cells:

  |    r0c0     |     r0c1    |
  | r0f0 | r0f1 | r1f0 | r1f1 |

in order to distribute onto the fine cells of rank 0 and 1.
Specifically, we cannot split a cell as

  |     r0c0    |
  | r0f0 | r1f0 |

For anisotropic process sets, this requires increasing "cmax" so that
all the intermediate grids can satisfy the criteria.  In the case below,
cmax=1536 is the smallest allowed value since otherwise the 16^3 grid on
level 4 would not fit on 3 ranks since ceil(16/3) = 6 and 16*16*6=1536.

$ mpiexec -n 6 ./fefas fmg -op_type poisson2 -M 32,32,32 -coord_distort -smooth 3,1 -mg_monitor -p 1,1,6 -cmax 1536
Q2  0 e_∞ 9.98e-01(0.0) e_L2 1.00e+00(0.0) r_2 1.08e-19(0.0) G[   1   1   1] L[  1  1  1] P[  1  1  1]
Q2  1 e_∞ 3.11e-01(1.7) e_L2 3.59e-01(1.5) r_2 1.15e-02(0.0) G[   2   2   2] L[  2  2  2] P[  1  1  1]
Q2  2 e_∞ 1.10e-01(1.5) e_L2 5.77e-02(2.6) r_2 6.25e-03(0.9) G[   4   4   4] L[  4  4  4] P[  1  1  1]
Q2  3 e_∞ 1.53e-02(2.8) e_L2 7.67e-03(2.9) r_2 3.75e-03(0.7) G[   8   8   8] L[  8  8  6] P[  1  1  2]
Q2  4 e_∞ 1.90e-03(3.0) e_L2 9.68e-04(3.0) r_2 1.47e-03(1.4) G[  16  16  16] L[ 16 16  6] P[  1  1  3]
Q2  5 e_∞ 2.39e-04(3.0) e_L2 1.21e-04(3.0) r_2 6.30e-04(1.2) G[  32  32  32] L[ 32 32  6] P[  1  1  6]
F(3,1)  0: |e|_2/|u|_2 1.23e-05  |r|_2/|f|_2 6.30e-04
V(3,1)  1: |e|_2/|u|_2 3.18e-06  |r|_2/|f|_2 1.07e-05
V(3,1)  2: |e|_2/|u|_2 3.18e-06  |r|_2/|f|_2 3.83e-07

ucb-sejits/hpgmg,ucb-sejits/hpgmg,ucb-sejits/hpgmg,ucb-sejits/hpgmg