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