Hi, Yang, thanks for your help. I had previously tried the case of turning
off eps-averaging, and found it can only weaken but not completely avoid
the divergence if the run-time is more longer. The following is a new
example in which the run-time is 6553.6. When the eps-averaging is turned
off, it will be divergent at 5000. If eps-averaging is turned on, it will
be divergent earlier.
Best,
Deyin
(define-param n1 3.48)
(define-param eps (* n1 n1))
(define-param a 1)
(define-param r 0.2)
(define-param thick 0.3)
(define-param supercellhight 6)
(set! geometry-lattice (make lattice (size a a supercellhight)));the
computional cell
(set! eps-averaging? false)
(set! geometry
(list
(make block
(center 0 0 -1.0)
(size a a 0.3)
(material (make dielectric (epsilon eps))))
(make block
(center 0 0 -0.9)
(size a a 0.1)
(material (make dielectric (epsilon
12.25))))
(make cylinder
(center 0 0 -1.0)
(radius r)
(height thick)
(material (make dielectric (epsilon 1))))))
(define-param fcen 0.5) ; pulse center frequency
(define-param df 0.4) ; pulse width (in frequency)
(set! sources
(list
(make source
(src (make gaussian-src (frequency fcen) (fwidth df)))
(component Ey)
(center 0 0 1.5)
; (start-time 10)
; (cutoff 100)
(size 1 1 0))))
(set! k-point (vector3 0 0 0))
(set! pml-layers (list (make pml (direction Z) (thickness 1.0))))
(set-param! resolution 40)
(define (Eoutput)
(print "Eoutput:, " (meep-time) ", "
(get-field-point Ey (vector3 0 0 1.0)) ", "
(get-field-point Ey (vector3 0 0 -1.8)) "\n"))
(run-until 6553.6 Eoutput (at-beginning output-epsilon))
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss