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