Guest User

Multilayer TIRF

a guest
Oct 17th, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.87 KB | None | 0 0
  1. (define-param pi 3.14159265)
  2. (define-param dpml 3.0)
  3. (define-param incidence-angle 64)
  4.  
  5. ; SIMULATION VOLUME
  6. (define-param len (+ 80 dpml))
  7. (define-param wid (+ 80 dpml))
  8. (set! geometry-lattice (make lattice (size len wid no-size)))
  9.  
  10. ; SOURCE SETTINGS
  11. (define-param xpos -5)
  12. (define-param ypos 50)
  13.  
  14. ; PLANE WAVE SETTINGS
  15. (define-param beam-waist 2)
  16. (define-param rotation-angle (* (/ incidence-angle 360) 2 pi))
  17. (define-param source-points 120)
  18. (define-param source-size (* 4 beam-waist))
  19.  
  20. ; SOURCES
  21. (define-param src_list (list ))
  22. (do ((r_0 (/ source-size -2) (+ r_0 (/ source-size (- source-points 1)))))
  23.   ((> r_0 (/ source-size 2)))
  24.   (set! src_list (append src_list
  25.                          (list (make source
  26.                                      (src (make continuous-src
  27.                                                 (wavelength 1)
  28.                                                 (width 10)))
  29.                                      (amplitude (exp (- 0 (/ (* r_0 r_0) (* 2 beam-waist beam-waist)))))
  30.                                      (component Ez)
  31.                                      (center (* (+ xpos r_0) (sin rotation-angle)) (* (+ ypos r_0) (cos rotation-angle))))))))
  32.  
  33. (set! sources (append src_list))
  34.  
  35. ; GEOMETRY
  36. (set! geometry (list
  37.                 (make block (center -20 0) (size 40 infinity)
  38.                       (material (make dielectric (index 1.518))))
  39.                 (make block (center 20 0) (size 40 infinity)
  40.                       (material (make dielectric (index 1.400))))
  41.                 (make block (center 25 0) (size 30 infinity)
  42.                       (material (make dielectric (index 1.33))))
  43.                     ))
  44. (set! pml-layers (list (make pml (thickness dpml))))
  45.  
  46. ; SIMULATION
  47. (set! resolution 10)
  48. (use-output-directory)
  49. (run-until (* 4 len)
  50.            (at-beginning output-epsilon)
  51.            (at-end output-dpwr))
Advertisement
Add Comment
Please, Sign In to add comment