On Tue, 8 Aug 2006, Ashifi wrote:
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?

Yes, Meep allows you to mix Bloch-periodic boundary conditions along some
dimensions with PML in other dimensions. See, for example, the holey-waveguide example case in the manual, which does exactly this.

In the libctl interface (which I think is much nicer than C++ except possibly for very complicated situations), the PML objects have an direction property that you can use (see e.g. the holey-waveguide example).

In the C++ interface (for people who want enough rope to hang themselves), instead of doing e.g. pml(1.0) to add thickness-1.0 PML everywhere, you would do e.g. pml(1.0, X) + pml(1.0, Y) to do PML just in the X and Y directions, and then call use_bloch(Z, kz) to set k in the Z direction.

BTW: It would be nice to setup some kind of documentation Wiki - I
wouldn't mind chipping in some time to help.

The documentation already is a wiki, it's just not open to editing by the general public because I don't have time to deal with spammers. If you want a wiki account after you get some experience with Meep, let me know.

Steven

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to