space cavity_space (const geo& omega_h, std::string approx) {
    space Xh (omega_h, approx, "vector");
    Xh.block("top");  Xh.block("bottom");
    if (omega_h.dimension() == 3) {
      Xh.block("back"); Xh.block("front");
      Xh[1].block("left");  Xh[1].block("right");
    } else {
      Xh.block("left"); Xh.block("right");
    }
    return Xh;
}
field cavity_field (const space& Xh, Float alpha) {
    field uh (Xh, 0.);
    uh[0]["top"] = alpha;
    return uh;
}
