I'm trying to do a 3D simulation of a structure. I create the structure out of multiple blocks. The problem I have is that, in certain locations, there is an artifact in the epsilon geometry where two blocks are adjacent to each other - I get a line of some other epsilon where the two blocks meet, e.g.

X
^
|
--->Y                Block 1                 Block 2

                1.6 1.6 1.6 1.3
                2.3 2.3 2.3 1.6
                2.3 2.3 2.3 1.6
                2.3 2.3 2.3 1.6
                2.3 2.3 2.3 1.6
                2.3 2.3 2.3 1.6 1.6 2.3 2.3 2.3 2.3
                2.3 2.3 2.3 1.6 1.6 2.3 2.3 2.3 2.3
                2.3 2.3 2.3 1.6 1.6 2.3 2.3 2.3 2.3
                2.3 2.3 2.3 1.6 1.6 2.3 2.3 2.3 2.3
                2.3 2.3 2.3 1.6 1.6 2.3 2.3 2.3 2.3
                ...etc...

(All the 1.6 values that are between the blocks should be 2.3). The artifacts do not seem to depend on the resolution I set or whether eps averaging is on or off. However, if I shift the block (in the Y direction), the problem goes away. I'm using meep 1.1.1. I'm fairly sure this is some kind of rounding error, as if I increase the 'mfs' value in the example file below even slightly, to say 0.200001, the artifacts disappear.

Here's the example file:

(define Index 1.538)
(define SiO2 (make dielectric (epsilon (* Index Index))))
(define sx 4.800000)
(define sy 4.800000)
(define sz 2.000000)
(define mfs 0.200000)
(define depth 0.1744)
(set! geometry-lattice (make lattice (size sx sy sz)))
(set! geometry
  (list
    (make block (center -0.400000 -2.100000 (/ depth 2))
                (size 1.6 mfs depth) (material SiO2))
    (make block (center -0.500000 -1.900000 (/ depth 2))
                (size 1.0 mfs depth) (material SiO2))
  )
)
(set-param! resolution 24)
(set! eps-averaging? false)
(run-until 0 (at-beginning output-epsilon))


_______________________________________________
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