Ian and Joe,
Thanks, yes, that's the sort of approach I'm attempting to take. It's just a little slow while I find my way into the Meep way of thinking...  It would probably help if I was a "real programmer".

I was presuming that, at least initially, I'd need to phase-match my incident wave at the boundary. To achieve a more fine-tuned choice of incident angles I could replicate n copies of my unit cell within the bloch-periodic simulation region. Then the phase-matching condition would still force discrete angle choices, but they'd be more closely spaced.

If there's a more elegant approach, I'm all ears.
Thanks
Doug



On 5/8/2018 11:42 AM, Ian Sage wrote:
> so far, I'm happily sending an oblique plane wave at a block of glass, and seeing it refract/reflect as expected.

> I'd like to transform my finite block of stuff to be infinitely long and specified in terms of a unit cell, (and the same for the > plane-wave source) so that I can construct diffraction-grating-like features.

So, you want to use an oblique source with cyclic boundary conditions? Are you working in 2d or 3d?

Either way, you'll need to remove the PML from the axis/axes along which you want periodicity, using the direction parameter, and specify a k_point vector. Both points are covered in the Python UI docs.

If you want off-axis incidence, you'll also need to adjust the wavelength/simulation dimension/incidence angle to ensure smooth phase matching across the cyclic boundary (unless a real expert knows a better way).

Is that what you wanted to know?

Ian


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


_______________________________________________
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