Dear meep users, I am trying to use periodic boundary conditions in 3D. In 2D it works perfectly, however when I extend the code to 3D the results are incorrect. I have attached the code to this massage. The simulation is very simple just a plane of source on a glass block, to measure the reflection from the glass. Anyone knows what exactly is wrong with this code?
####################################################################### (define-param a 0.1); (define-param sy 80) ; size of cell in y direction (define-param dpml 25) ; PML thickness (y direction only!) (set! pml-layers (list (make pml (direction Y) (thickness dpml)))) (set! geometry-lattice (make lattice (size 10 sy 10))) (set-param! resolution 20) (define-param reference? false) (if reference? (begin (set! geometry (list (make block (center 0 0) (size infinity sy infinity) (material air)) )) ) (begin (set! geometry (append ; combine lists of objects: (list (make block (center 0 -20) (size infinity 40 infinity) (material (make dielectric (epsilon 2.25))) ) ) )) )); ; Define frequency range: ; ----------------------- (define-param fcen 0.18665) ; pulse center frequency (define-param df 0.2933) ; pulse width ; Define source: ; -------------- (set! sources (list (make source (src (make gaussian-src (frequency fcen) (fwidth df))) (component Hz) (center 0 5 0) (size 10 0 10)))) (set! symmetries (list (make mirror-sym (direction X) (phase -1)) )) ; Fluxes: ; ------- (define-param nfreq 500) ; number of frequencies at which to compute flux (define trans_X ; transmitted flux (add-flux fcen df nfreq (make flux-region (center 0 -5 0) (size 10 0 10) (direction X)) )) (define trans_Y ; transmitted flux (add-flux fcen df nfreq (make flux-region (center 0 -5 0) (size 10 0 10) (direction Y)) )) (define refl_X ; reflected flux (add-flux fcen df nfreq (make flux-region (center 0 1 0) (size 10 0 10) (direction X)) )) (define refl_Y ; reflected flux (add-flux fcen df nfreq (make flux-region (center 0 1 0) (size 10 0 10) (direction Y)) )) ; Run simulation: ; --------------- (set-param! k-point (vector3 0 0 0)) (run-sources+ 500 (at-beginning output-epsilon) ) (display-fluxes trans_X trans_Y refl_X refl_Y) _______________________________________________ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss