Dear Steven and all MEEP users,
I'm having trouble using periodic boundary conditions in 3D simulation (2D
works fine.). It always gives me 'bug in create_geom_box_tree0'. Does anyone
know what is the problem? My 3D simulation script is posted below:
(define-param zLen 8) ; Propagation length in z direction
(define-param Radius 0.25) ; Radius of sphere particle
(define-param sphereEps 2.79) ; Epsilon of sphere (Polystyrene)
(define-param subEps 3) ; Epsilon of substrate (SU-8)
(define-param Lambda 0.325) ; Wavelength of source
(define-param xLen 4) ; Lattice size in x direction
(define-param yLen (* 1.7321 2) ) ; Lattice size in y direction
(define-param sourceZ (+ 1 (/ zLen -2))) ; Position of source in z
direction
(define-param sphereZ (+ 1 sourceZ)) ; Position of sphere
center in z direction
(define-param subZ (/ (+ (+ sphereZ Radius) (/ zLen 2)) 2)) ; Position of
substrate center in z direction
(define-param pmlThick 0.4) ; Thickness of PML
(set! geometry-lattice (make lattice (size xLen yLen zLen)))
(set! geometry (list
(make block (center 0 0 subZ) (size infinity infinity (- zLen 2
Radius)) (material (make dielectric (epsilon subEps))))
(make sphere (center 0 0 sphereZ) (radius Radius) (material (make
dielectric (epsilon sphereEps))))
(make sphere (center 2 0 sphereZ) (radius Radius) (material (make
dielectric (epsilon sphereEps))))
(make sphere (center -2 0 sphereZ) (radius Radius) (material (make
dielectric (epsilon sphereEps))))
(make sphere (center 1 1.7321 sphereZ) (radius Radius) (material (make
dielectric (epsilon sphereEps))))
(make sphere (center 1 -1.7321 sphereZ) (radius Radius) (material (make
dielectric (epsilon sphereEps))))
(make sphere (center -1 1.7321 sphereZ) (radius Radius) (material (make
dielectric (epsilon sphereEps))))
(make sphere (center -1 -1.7321 sphereZ) (radius Radius) (material
(make dielectric (epsilon sphereEps))))
))
(set! sources (list
(make source
(src (make continuous-src (frequency (/ 1 Lambda))))
(component Ex)
(center 0 0 sourceZ)
(size xLen yLen 0))))
(set! force-complex-fields? true)
(set! resolution 20)
(set! k-point (vector3 0 0 0))
(set! ensure-periodicity true)
(set! pml-layers (list (make pml (direction Z) (thickness pmlThick))))
(run-until 40
(at-beginning output-epsilon)
(at-end synchronized-magnetic output-tot-pwr))
Output is as follows:
Initializing structure...
Working in 3D dimensions.
Computational cell is 4 x 3.4642 x 8 with resolution 20
block, center = (0,0,1.125)
size (1e+20,1e+20,5.75)
axes (1,0,0), (0,1,0), (0,0,1)
dielectric constant epsilon diagonal = (3,3,3)
sphere, center = (0,0,-2)
radius 0.25
dielectric constant epsilon diagonal = (2.79,2.79,2.79)
sphere, center = (2,0,-2)
radius 0.25
dielectric constant epsilon diagonal = (2.79,2.79,2.79)
sphere, center = (-2,0,-2)
radius 0.25
dielectric constant epsilon diagonal = (2.79,2.79,2.79)
sphere, center = (1,1.7321,-2)
radius 0.25
dielectric constant epsilon diagonal = (2.79,2.79,2.79)
sphere, center = (1,-1.7321,-2)
radius 0.25
dielectric constant epsilon diagonal = (2.79,2.79,2.79)
sphere, center = (-1,1.7321,-2)
radius 0.25
dielectric constant epsilon diagonal = (2.79,2.79,2.79)
sphere, center = (-1,-1.7321,-2)
radius 0.25
dielectric constant epsilon diagonal = (2.79,2.79,2.79)
bug in create_geom_box_tree0
Thanks!
Xu
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss