Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Meep-Plane-Wave-Grating-Pulse

By: el_matt on Jan 23rd, 2013  |  syntax: Scheme  |  size: 4.37 KB  |  views: 104  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. (use-output-directory "/home/mrea1g12/Dropbox/AR-Coatings/Meep-Files/Pure/Grating/f 0.15 lx 10 ly 10 a 0.1 w 0.05 d 0.1 T 65")
  2.  
  3. (define-param spectrum? false) ; take spectrum or do CW
  4. (define-param grating? true) ; flat surface or grating
  5. (define-param fcen 0.15) ; light (central) frequency
  6. (define-param df 0.1) ; pulse width (frequency)
  7. (define-param nfreq 33) ; number of frequencies at which to compute flux
  8. (define-param lx 10) ; lattice x limit
  9. (define-param ly 10) ; lattice y limit
  10. (define-param a 0.1) ; grating periodicity
  11. (define-param w 0.05) ; grating aperture width
  12. (define-param d 0.1); grating aperture depth
  13. (define-param T 65); runtime
  14.  
  15. (set! geometry-lattice (make lattice (size lx ly no-size))) ; define sim cell
  16.  
  17. (set! geometry
  18.         (if grating? ; check if need to do grating test
  19.                 (list (make block ; make region of dielectric (top-right)
  20.                                 (center (/ lx 2) (/ ly 2))
  21.                                 (size lx ly no-size)
  22.                                 (material
  23.                                         (make dielectric
  24.                                                 (epsilon 2.25)
  25.                                         )
  26.                                 )
  27.                                 )
  28.                                 (make block ; cut out triangle leaving top-right corner of dielectric
  29.                                         (center 0 0)
  30.                                         (size (* (sqrt (* (expt (/ lx 4) 2) 2)) 2) (* (sqrt (* (expt (/ ly 4) 2) 2)) 2) no-size)
  31.                                         (e1 1 1 0)
  32.                                         (e2 1 -1 0)
  33.                                         (material
  34.                                                 (make dielectric
  35.                                                         (epsilon 1)
  36.                                                 )
  37.                                         )
  38.                                 )
  39.                                 (make block ; following cut out grating segments- I don't know how to loop!
  40.                                         (center (/ lx 4) (/ ly 4))
  41.                                         (size d w no-size)
  42.                                         (e1 1 1 0)
  43.                                         (e2 1 -1 0)
  44.                                         (material
  45.                                                 (make dielectric
  46.                                                         (epsilon 1)
  47.                                                 )
  48.                                         )
  49.                                 )
  50.                                 (make block
  51.                                         (center (+ (/ lx 4) a) (- (/ ly 4) a))
  52.                                         (size d w no-size)
  53.                                         (e1 1 1 0)
  54.                                         (e2 1 -1 0)
  55.                                         (material
  56.                                                 (make dielectric
  57.                                                         (epsilon 1)
  58.                                                 )
  59.                                         )
  60.                                 )
  61.                                 (make block
  62.                                         (center (- (/ lx 4) a) (+ (ly 4) a))
  63.                                         (size d w no-size)
  64.                                         (e1 1 1 0)
  65.                                         (e2 1 -1 0)
  66.                                         (material
  67.                                                 (make dielectric
  68.                                                         (epsilon 1)
  69.                                                 )
  70.                                         )
  71.                                 )
  72.                                 (make block
  73.                                         (center (+ (/ lx 4) (* 2 a)) (- (/ ly 4) (* 2 a)))
  74.                                         (size d w no-size)
  75.                                         (e1 1 1 0)
  76.                                         (e2 1 -1 0)
  77.                                         (material
  78.                                                 (make dielectric
  79.                                                         (epsilon 1)
  80.                                                 )
  81.                                         )
  82.                                 )
  83.                                 (make block
  84.                                         (center (- (/ lx 4) (* 2 a)) (+ (/ ly 4) (* 2 a)))
  85.                                                 (size d w no-size)
  86.                                                 (e1 1 1 0)
  87.                                                 (e2 1 -1 0)
  88.                                                 (material
  89.                                                         (make dielectric
  90.                                                                 (epsilon 1)
  91.                                                         )
  92.                                                 )
  93.                                 )
  94.                                 (make block
  95.                                         (center(+ (/ lx 4) (* 3 a)) (- (/ ly 4) (* 3 a)))
  96.                                         (size d w no-size)
  97.                                         (e1 1 1 0)
  98.                                         (e2 1 -1 0)
  99.                                         (material
  100.                                                 (make dielectric
  101.                                                         (epsilon 1)
  102.                                                 )
  103.                                         )
  104.                                 )
  105.                                 (make block
  106.                                         (center (- (/ lx 4) (* 3 a)) (+ (/ ly 4) (* 3 a)))
  107.                                         (size d w no-size)
  108.                                         (e1 1 1 0)
  109.                                         (e2 1 -1 0)
  110.                                         (material
  111.                                                 (make dielectric
  112.                                                         (epsilon 1)
  113.                                                 )
  114.                                         )
  115.                                 )
  116.                 )
  117.                 (list
  118.                         (make block
  119.                                 (center (/ lx 2) (/ ly 2))
  120.                                 (size lx ly no-size)
  121.                                 (material
  122.                                         (make dielectric
  123.                                                 (epsilon 2.25)
  124.                                         )
  125.                                 )
  126.                         )
  127.                         (make block
  128.                                 (center 0 0)
  129.                                 (size (* (sqrt (* (expt (/ lx 4) 2) 2)) 2) (* (sqrt (* (expt (/ ly 4) 2) 2)) 2) no-size)
  130.                                 (e1 1 1 0)
  131.                                 (e2 1 -1 0)
  132.                                 (material
  133.                                         (make dielectric
  134.                                                 (epsilon 1)
  135.                                         )
  136.                                 )
  137.                         )
  138.                 )
  139.         )
  140. )
  141.  
  142. (set! sources
  143.         (if spectrum? ; if spectrum analysis needed, make gaussian pulse source. Else, continuous.
  144.                 (list
  145.                         (make source
  146.                                 (src
  147.                                         (make gaussian-src
  148.                                                 (frequency fcen)
  149.                                                 (fwidth df)
  150.                                         )
  151.                                 )
  152.                         )
  153.                         (component Ez)
  154.                         (center (* (- (/ lx 2) 1) -1) (- (/ ly 4) 1) -1)
  155.                         (size (- (/ lx 2) 1))
  156.                 )
  157.                 (list
  158.                         (make source
  159.                                 (src
  160.                                         (make continuous-src
  161.                                                 (frequency fcen)
  162.                                         )
  163.                                 )
  164.                                 (component Ez)
  165.                                 (center (* (- (/ lx 2) 1) -1) (- (/ ly 4) 1) -1)
  166.                                 (size 0 (- (/ lx 2) 1))
  167.                         )
  168.                 )
  169.         )
  170. )
  171.                                        
  172. (set! pml-layers
  173.         (list
  174.                 (make pml
  175.                         (thickness 1.0)
  176.                 )
  177.         )
  178. )
  179.  
  180. (set! resolution 8)
  181.  
  182. (define refl ; reflected flux
  183.         (add-flux fcen df nfreq
  184.                 (make flux-region
  185.                         (center (*(/ lx 4) 3) (*(*(/ ly 4) 3) -1))
  186.                         (size 2 0)
  187.                 )
  188.         )
  189. )
  190.  
  191. (if spectrum?
  192.         (if grating? ; do outputs
  193.                 (load-minus-flux "refl-flux" refl)
  194.         )
  195.         (run-sources+ 100
  196.                 (at-beginning output-epsilon)
  197.         )
  198.         (if (not grating?)
  199.                 (save-flux "refl-flux" refl)
  200.         )
  201. )
  202.  
  203. (run-until T
  204.         (at-beginning output-epsilon)
  205.         (at-end
  206.                 (output-png Ez "-Zc dkbluered")
  207.         )
  208. )
  209.  
  210. (display-fluxes refl)
clone this paste RAW Paste Data