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