Actually, a simpler way to set up a circularly polarized source is to
use a single GaussianBeamSource object with complex elements for the
beam_E0 parameter:
sources = [mp.GaussianBeamSource(src=mp.ContinuousSource(fcen),
center=mp.Vector3(),
size=mp.Vector3(s,s,0),
beam_x0=beam_x0,
beam_kdir=beam_kdir,
beam_w0=beam_w0,
beam_E0=mp.Vector3(1,1j,0))]
This is equivalent to the previous example involving two
GaussianBeamSource objects with one of the objects containing
beam_E0=mp.Vector3(0,1,0) and amplitude=1j.
On 11/8/20 19:09, Ardavan Oskooi wrote:
The following script launches a circularly polarized Gaussian beam
source propagating along the +z direction in 3d. It is based on
combining two overlapping GaussianBeamSource objects with orthogonal
transverse polarization (Ex and Ey) that are 90° out of phase. Note
that for this to work it is necessary to set force_complex_fields=True
in the Simulation constructor (otherwise only the real part of the
source is used by default). A 2d cross section of the beam profile is
output at the end of the run.
_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss