Hello, All I'm trying to use meep to calculate the reflection spectra of a gold slab and try to compare with the experimental data. The reflection spectra calculated by MEEP has about 0.05 higher than the result calculated by matching the boundary condition with other software with the same gold modeling and also the experimental results at the wavelength ranging from 400nm to 500nm. When I increase the resolution, the reflection amplitude decreased a little. But still I cannot get the results even when I use the resolution 100. Is there any things wrong in my ctl?
(define-param dpml 1) ; PML thickness (z direction only!) (define-param sx 1) ; size of x (define-param sy 1) ; size of y (define-param sz 5) ; size of z (define-param res 100) ; resolution (set! ensure-periodicity true) (set! k-point (vector3 (/ 1 sx) (/ 1 sy) 0)) (set! force-complex-fields? true) (define-param structure? false) (set! geometry-lattice (make lattice (size sx sy sz))) (define gold (make dielectric (epsilon 5.339) (polarizations (make polarizability (omega 1e-20) (gamma 0.0486) (delta-epsilon 6.2634e41)) (make polarizability (omega 2.1201) (gamma 0.1772) (delta-epsilon 0.1906)) (make polarizability (omega 4.4214) (gamma 1.9662) (delta-epsilon 0.9835)) (make polarizability (omega 3.353) (gamma 1.1844) (delta-epsilon 1.5974)) (make polarizability (omega 2.7116) (gamma 0.578) (delta-epsilon 0.6653)) (make polarizability (omega 2.3525) (gamma 0.3012) (delta-epsilon 0.4508))))) ;;;;;;;;;;;;;;;reflection (set! geometry (if structure? (list (make block (center 0 0 0) (size sx sy 0.3) (material gold))) (list (make block (center 0 0 (* sz 0.25)) (size sx sy (* sz 0.5)) (material (make dielectric (epsilon 1))))))) (set! pml-layers (list (make pml (direction Z) (thickness dpml)))) (define-param fcen 1.8) (define-param df 1.4) (define-param amp 1) (set! sources (list (make source (src (make gaussian-src (frequency fcen) (fwidth df))) (component Ex) (center 0 0 (+ (* sz -0.5) (+ dpml 0.5))) (size sx sy 0)))) (set! resolution res) (define-param nfreq 100) ; number of frequencies at which to compute flux (define refl ; reflected flux (add-flux fcen df nfreq (make flux-region (center 0 0 (+ (* sz -0.25) 0.5))(size sx sy 0) (direction Z)))) (define ref2 ; reflected flux (add-flux fcen df nfreq (make flux-region (center 0 0 (* sz -0.125 ))(size sx sy 0) (direction Z)))) (define trans ; reflected flux (add-flux fcen df nfreq (make flux-region (center 0 0 (* sz 0.25 ))(size sx sy 0) (direction Z)))) (if structure? (load-minus-flux "refl-flux" refl)) (run-sources+ (stop-when-fields-decayed 50 Ex (vector3 0 0 (* 0.25 sz) ) 1e-3)) (if (not structure?) (save-flux "refl-flux" refl)) (display-fluxes refl ref2 trans) _____________________________ There is another question. When I use meep-mpi, I parallel 1node with 4 processor. each processor can only have 20-30% efficiency. Which is much lower than 1node with 2 processor with 70-80% efficiency. Is that normal? Iu Hei _________________________________________________________________ MSN Tool Bar 幫你刪除惱人的廣告 ! http://toolbar.msn.com.hk _______________________________________________ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss