On Tue, 15 May 2007, Chris wrote:
> I am trying to extend the "holey waveguide" example to 3D ( as part of
> an incremental effort to model more complex structures. )
>
> When I try to run meep on the new 3D structure, I get the message
> "meep: Could not determine normal direction for given volume."
You need to modify the flux plane.
In the 2d example, the flux plane is just a line:
(define trans ; transmitted flux
(add-flux fcen df nfreq
(make flux-region
(center (- (* 0.5 sx) dpml 0.5) 0) (size 0 (* w 2)))))
Note that the size is (size 0 (* w 2)) which defines a line segment of
length 2w.
If you use the same command in 3d, Meep will give an error because it
can't figure out what direction of flux you want to compute -- given a
line, there isn't a unique normal vector.
You could specify a particular direction explicitly by using (make
flux-region (direction X) ...). However, this is probably not what you
want. In 3d, you probably want to compute the transmitted flux through a
2d region, i.e. with some thickness in the z direction. To do this, just
specify a z-component for the (size ...) giving the thickness of the flux
plane in z. Meep can then unambiguously determine the flux direction from
the normal to this plane.
Steven
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss