Dear Steven and meep users,

              I am stuying the following command "(set! symmetries (list
(make mirror-sym (direction X) ) (make mirror-sym (direction Y) (phase -1))
))"

              For my following ctl file, I found that the command "(set!
symmetries (list (make mirror-sym (direction X) )  ))" or "(set! symmetries
(list (make mirror-sym (direction Y) (phase -1)) ))" are ok.

              The reflection results are same as that we don't use the
symmetry command.

              However, the field blows up if i use the command "(set!
symmetries (list (make mirror-sym (direction X) ) (make mirror-sym
(direction Y) (phase -1)) ))".

              I don't understand this. Could you help me? Thank you very
much!



Yours Sincerely,
Lina

The ctl file:

(define-param n1 2.0);
(define-param eps (* n1 n1))
(define-param n2 1.0)
(define-param eps2 (* n2 n2))
(define-param r 0.4)
(define-param thick 0.5)
(define-param no-slab? false)

(set! geometry-lattice (make lattice (size 1 1 4)));the computional cell
(set! geometry
         (if no-slab?
          (list
             (make block
                  (center 0 0 0)
              (size 1 1 4)
              (material (make dielectric (epsilon 1)))))
              (list
                 (make block
                          (center 0 0 0)
                          (size 1 1 thick)
                          (material (make dielectric (epsilon eps))))
             (make cylinder
                  (center 0 0 0)
                          (radius r)
                          (height thick)
                          (material (make dielectric (epsilon eps2)))))))

(define-param fcen 0.5) ; pulse center frequency
(define-param df 0.8)  ; pulse width (in frequency)

(set! sources
    (list
     (make source
        (src (make gaussian-src (frequency fcen) (fwidth df)))
         (component Ey)
         (center 0 0 1.4)
     (size 1 1 0))))

(set! k-point (vector3 0 0 0))
(set! pml-layers (list (make pml (direction Z) (thickness 0.5))))
(set-param! resolution 32)
(define-param nfreq 401) ; number of frequencies at which to compute flux

;(set! symmetries (list (make mirror-sym (direction X) ) ))
;(set! symmetries (list (make mirror-sym (direction Y) (phase -1)) ))
(set! symmetries (list (make mirror-sym (direction X) ) (make mirror-sym
(direction Y) (phase -1)) ))


(define trans
         (add-flux fcen df nfreq
            (make flux-region (center 0 0 -1) (size 1 1 0) (direction Z))))

(define refl
         (add-flux fcen df nfreq
            (make flux-region (center 0 0 1) (size 1 1 0) (direction Z))))

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

(define (my-print-point)
          (print "point:, " (meep-time) ", "

                    (get-field-point Ey (vector3 0 0 -1.0)) ", "
                    (get-field-point Ey (vector3 0 0 -0.5)) ", "
                    (get-field-point Ey (vector3 0 0 0.0)) ", "
                    (get-field-point Ey (vector3 0 0 0.5)) ", "
                    (get-field-point Ey (vector3 0 0 1.0)) "\n"))

;(run-until 400 my-print-point
;   (at-beginning output-epsilon)
;   (at-end output-efield-y))

(run-sources+ (stop-when-fields-decayed 5  Ey
                      (vector3 0 0 0) 1e-3)
              (at-beginning output-epsilon)
              (at-every 5 output-efield-y))


(if no-slab? (save-flux "refl-flux" refl))

(display-fluxes trans refl)
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to