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