Ah, interesting responses... thanks. We do not want to extend the grating into the PML. The PML effectively truncates the structure. Instead of PML we like to have something like periodic boundary conditions, which assumes the structure is periodically continued ad infinitum. It would be nice to have PML in those directions where we simulate infinite homogeneous space and a periodic boundary condition (but no PML) in the direction of periodic continuations (along the grating). I think the question can simply be phrased as "does MEEP permit setting periodic boundary conditions in one or two dimensions while having absorbing boundary conditions (PML) defined in the remaining computational area/volume?" If so, could I possibly get some help setting it up with the C++ interface?
BTW: It would be nice to setup some kind of documentation Wiki - I wouldn't mind chipping in some time to help. Thanks again. Ashifi. Ben Cowan wrote: > There's a stickier issue as well - a PML overlapping a periodic structure > can be unstable: Suppose the mode propagating along the grating has Bloch > wavenumber k, so the amplitude goes as exp(-ikz), assuming positive omega, > if the grating is periodic in the z direction. Now a PML on the +z side > essentially multiplies k by a complex number with a negative imaginary > component, so that the mode attenuates as it propagates in the +z direction. > But in a periodic structure, there can be modes with anomalous dispersion: > the group velocity is in the opposite direction to k. As such a mode > propagates in +z, it has negative k. Then, as it enters the PML, it gets a > positive imaginary component, so it amplifies. Then it reflects off the > boundary behind the PML, and Im(k) is negative, so it amplifies again as it > propagates in -z. Some of the power can reflect off the interface between > the PML and the normal region, so the process feeds back. Modes can build > up from numerical noise this way, leading to late-time instability in the > simulation. > > Cheers, > Ben > > On 8/7/06 18:45, "Steven G. Johnson" <[EMAIL PROTECTED]> wrote: > >> On Mon, 7 Aug 2006, Ashifi wrote: >>> I would like to know if there is a way of forming a grating that extends >>> to infinity inside the computational domain (using the C++ interface). >>> >>> The computational domain absorbing boundary condition in Meep simulates >>> free space, right? >> No, the PML absorbing material absorbs light for whatever medium overlaps >> the PML. So, if you overlap the PML with your grating then it will absorb >> waves in the grating. >> >> HOWEVER, PML has some intrinsic problems when it is applied to >> discontinuous periodic structures. The basic difficulty is that PML is >> essentially an analytic continuation of Maxwell's equations into >> complex-coordinate space, but a discontinuous periodic function is not >> analytic. >> >> This means that, as a practical matter, when you use PML overlapping a >> periodic structure, you are relying more on the adiabatic turn-on of the >> PML absorptivity than on the "perfectness" of the PML. So, especially if >> you operate near a low-group velocity band edge, you may need to make the >> PML very thick (overlap many periods) to be effective. >> >> Cordially, >> Steven G. Johnson >> >> _______________________________________________ >> meep-discuss mailing list >> [email protected] >> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss > > > _______________________________________________ > meep-discuss mailing list > [email protected] > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss > _______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

