Hi,
RJM and I found a bug in latest meep wherein save-fluxes won't generate a
file with resolution=1 eventhough it says it does.
Here's a simple ctl script to reproduce:
==========================
; Test file
(define-param dpml 20)
(define-param sz 10)
(set! geometry-lattice (make lattice (size no-size (+ dpml sz dpml) (+ dpml
sz dpml) )))
(set-param! resolution 1)
(define-param fmax 1/500 ) ; 500 nm
(define-param fmin 1/1000) ; 1000 nm
(define cfreq (* 0.5 (+ fmin fmax) ))
(define-param freqwidth (- fmax fmin))
(define nfreq 3)
(set! sources (list (make source
(src (make gaussian-src (frequency cfreq) (fwidth (* pi freqwidth))))
(component Ex) (center 0 0 1) (size 0 0 0) )))
(set! pml-layers (list (make pml (thickness dpml) ) ))
(define fyp ; transmitted flux +y, xz plane
(add-flux cfreq freqwidth nfreq
(make flux-region
(center 0 (/ sz 2) 0) (size 0 0 (/ sz 2)) )
)
)
(run-sources+ 8e3 )
(save-flux "flux_y_plus" fyp)
==================================
The problem is in loop_in_chunks.cpp on line 395 where the condition:
if (iscS <= iecS) {
is always FALSE and thus the procedure in chunkloop on line 459 (which is
bound to add_dft_chunkloop in dft.cpp) isn't invoked and dft chunks aren't
created.
Resolutions other than 1 (e.g 1.001 and 0.999) work fine.
Best
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss