Hello all,

I am running a simulation that I would like to speed up using MEEP's feature of exploiting symmetry. However, I am running into some confusion about the phase parameter when specifying a symmetry object. My geometry is a pyramid (made of stacking Blocks, at least for now) with its vertex pointed along Z. Hence, I believe, I have C4 (Rotate4) symmetry about Z (or two mirror symmetries along xz and yz planes), along with a mirror symmetry along e.g. the x=y plane. That is, I want to reduce my computational cell, ideally, to a triangular prism containing 1/8 of the xy plane (and all z).

From what I gather in the documentation, MEEP doesn't support the x=y symmetry, but I may still exploit the other symmetry. However, whenever I try this I get diverging fields. If I instead use two mirror symmetries (one in X and one in Y), I still get a diverging field. In particular, my source is sources = [mp.Source(mp.GaussianSource(frequency=freq_centre, width=freq_width),
                                component=mp.Ex,
center=mp.Vector3(0,0,0.5*sz-pml_width-0.25),
                                size=mp.Vector3(sx,sy,0))]

The symmetry that makes the most sense to me to use here is
symm = [mp.Mirror(mp.X, phase=-1), mp.Mirror(mp.Y, phase=1)]
since Ex should have odd symmetry about X and even symmetry about Y.

Am I misunderstanding the symmetry of this source or is there some other numerical error? My fields converge if I do not include the symmetry.

Best regards,
Philip

_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to