message: A few small changes to simplify ex22p. Note: Hypre prec. always uses DIAG_ONE policy (no need to set it separately as in ex22).
diff: @@ -395,16 +395,10 @@ int main(int argc, char *argv[])
  u = 0.0;
  U = 0.0;
  - OperatorHandle PCOp;
  - pcOp->FormSystemMatrix(ess_tdof_list, PCOp);
  -
  - if (myid == 0 && !pa)
  + if (myid == 0)
  {
  - ComplexHypreParMatrix * Ahyp =
  - dynamic_cast<ComplexHypreParMatrix*>(A.Ptr());
  -
  cout << "Size of linear system: "
  - << 2 * Ahyp->real().GetGlobalNumRows() << endl << endl;
  + << 2 * fespace->GlobalTrueVSize() << endl << endl;
  }
  // 12. Define and apply a parallel FGMRES solver for AU=B with a block
  @@ -414,8 +408,8 @@ int main(int argc, char *argv[])
  Array<int> blockTrueOffsets;
  blockTrueOffsets.SetSize(3);
  blockTrueOffsets[0] = 0;
  - blockTrueOffsets[1] = PCOp.Ptr()->Height();
  - blockTrueOffsets[2] = PCOp.Ptr()->Height();
  + blockTrueOffsets[1] = A.Ptr()->Height() / 2;
  + blockTrueOffsets[2] = A.Ptr()->Height() / 2;
  blockTrueOffsets.PartialSum();
  BlockDiagonalPreconditioner BDP(blockTrueOffsets);
  @@ -429,6 +423,8 @@ int main(int argc, char *argv[])
  }
  else
  {
  + OperatorHandle PCOp;
  + pcOp->FormSystemMatrix(ess_tdof_list, PCOp);
  switch (prob)
  {
  case 0:
  