The generation of complex volumes in Gmsh can be tricky. Even when working very carefully one can end up with meshes consisting of multiple volumes that are not properly treated in FiPy.
As an example for a complex geometric figure we will have a look at a cross section of a twin aperture [1,2]. Each aperture contains a phase plate (ring electrode).
Notice -- despite the different boundary conditions -- the abnormal behavior of the electrostatic potential in the left image. The potential seem to have a normal behavior inside each region, but the potential is discontinuous at common surfaces of adjacent regions.
The potential in the right image shows a continuous behavior beyond region boundaries. The different behavior is the result of a different way of creating the meshes:
The left hand side mesh was created in gmsh using the "extrude" feature, while the right hand side mesh was created by manually drawing all points and lines. Subsequently all surfaces and one(!) volume have been defined manually, too.