Hello everyone,

I'm trying to obtain the reflection spectrum for a 3D graphite structure. I did two runs. I had no problem with the first run ("without structure), but the second one don't want to finish to process. As you can see, I already try to change the conditions in "stop-when-fields-decayed".
I think there is a problem in my file and the processing will never finish.
Can you help me?

my file:

(define-param r 0.35)
(define-param sx 8)
(define-param sy 8)
(define-param eps 11.36)
(define-param dpml 1); perfectly matched layers
(define-param loweps 1.0)
(define-param supercell-h 10)
(define-param f 0.6452); 1550 nm
(define-param h 0.488)
(define-param no-struc? false)

(set! geometry-lattice (make lattice (size sx sy supercell-h)))

(set! geometry
        (if no-struc?
                (list (make block (material (make dielectric (epsilon loweps)))
                          (center 0 0 (* 0.25 supercell-h))
                          (size sx sy (* 0.5 supercell-h)) )
                        (make block
                          (material (make dielectric (epsilon loweps)))
                          (center 0 0 (* -0.25 supercell-h))
                          (size sx sy (* 0.5 supercell-h)) )
                        (make block (center 0 0 0) (size sx sy h)
                          (material (make dielectric (epsilon eps)))))

                (list (make block (material (make dielectric (epsilon loweps)))
                          (center 0 0 (* 0.25 supercell-h))
                          (size sx sy (* 0.5 supercell-h)) )
                        (make block
                          (material (make dielectric (epsilon loweps)))
                          (center 0 0 (* -0.25 supercell-h))
                          (size sx sy (* 0.5 supercell-h)) )
                        (make block (center 0 0 0) (size sx sy h)
                          (material (make dielectric (epsilon eps))))
(make cylinder (center (/ (sqrt 3) 2) 0.5) (radius r)(height h)(material air)) (make cylinder (center (/ (sqrt 3) 2) -0.5) (radius r)(height h)(material air))
                        (make cylinder (center 0 1) (radius r) (height 
h)(material air))
                        (make cylinder (center 0 -1) (radius r)(height 
h)(material air))
(make cylinder (center (/ (sqrt 3) -2) 0.5) (radius r)(height h)(material air)) (make cylinder (center (/ (sqrt 3) -2) -0.5) (radius r)(height h)(material air)) )))

(set! geometry
        (if no-struc?
          (geometric-objects-lattice-duplicates geometry (sqrt 3) 3 supercell-h)
          (geometric-objects-lattice-duplicates
            (list
(make cylinder (center (/ (sqrt 3) 2) 0.5) (radius r)(height h)(material air)) (make cylinder (center (/ (sqrt 3) 2) -0.5) (radius r)(height h)(material air))
                (make cylinder (center 0 1) (radius r) (height h)(material air))
                (make cylinder (center 0 -1) (radius r)(height h)(material air))
(make cylinder (center (/ (sqrt 3) -2) 0.5) (radius r)(height h)(material air)) (make cylinder (center (/ (sqrt 3) -2) -0.5) (radius r)(height h)(material air)))
         (sqrt 3) 3 supercell-h)))



(set! resolution 8)

(set! pml-layers (list (make pml (thickness dpml) (direction Z))))
(define-param fcen f)
(define-param df 0.2)
(define-param nfreq 200)
(set! sources (list (make source (src (make gaussian-src (frequency fcen)(fwidth df))) (component Hz) (center 0 0 (+ (* supercell-h -0.5) 2.5)) (size sx sy 0) )))


(define refl
      (add-flux fcen df nfreq
                (if no-struc?
                        (make flux-region
(center 0 0 (- (/ supercell-h 2) 2)) (direction Z) (size (* sx 2) (* sy 2) 0))
                        (make flux-region
(center 0 0 (+ (* supercell-h -0.5) 3)) (direction Z) (size (* sx 2) (* sy 2) 0)) )))


(if (not no-struc?) (load-minus-flux "refl-flux" refl))

(run-sources+ 500 (at-beginning output-epsilon))

(if no-struc? (save-flux "refl-flux" refl))
(run-sources+
 (stop-when-fields-decayed 2 Ez
                (if no-struc?
                    (vector3 0 0 (- (/ supercell-h 2) 2))
                    (vector3 0 0 (+ (* supercell-h -0.5) 3)) )
                1e-1))

(display-fluxes refl)



_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to