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 meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss