Hi,
I would double check your visualization. That does indeed produce an ellipse on top of a cuboid:
SetGridsize(100, 100, 100)
SetCellsize(1e-6/100, 1e-6/100, 1e-6/100)
a:= cuboid(800e-9, 600e-9, 50e-9)
b:=ellipsoid(100e-9, 60e-9, 50e-9).transl(0, 0, 100e-9)
defregion(1,a)
defregion(2,b)
m.setregion(1, uniform(1, 0, 0))
m.setregion(2, uniform(-1, 0, 0))
setgeom(a.add(b))
save(m)
My guess it that you're looking at it from below, which obscures the ellipse. For irregular geometries, it will still save the OVF for the whole simulation box, it will simply have (0,0,0) for cells that aren't in the geometry.
Best,
Josh L.