File: metal-cavity-ldos.ctl

package info (click to toggle)
meep-openmpi 1.25.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 64,556 kB
  • sloc: cpp: 32,214; python: 27,958; lisp: 1,225; makefile: 505; sh: 249; ansic: 131; javascript: 5
file content (37 lines) | stat: -rw-r--r-- 1,208 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
(set-param! resolution 200)
(define-param sxy 2)
(define-param dpml 1)
(set! sxy (+ sxy (* 2 dpml)))
(set! geometry-lattice (make lattice (size sxy sxy no-size)))
(set! pml-layers (list (make pml (thickness dpml))))
(define-param a 1)
(define-param t 0.1)
(set! geometry (list
      (make block (center 0 0) (size (+ a (* 2 t)) (+ a (* 2 t)) infinity) (material metal))
      (make block (center 0 0) (size a a infinity) (material air))))

(define-param w 0)
(if (> w 0)
    (set! geometry
	  (append geometry
		  (list (make block (center (/ a 2) 0) (size (* 2 t) w infinity)
                        (material air))))))

(define-param fcen (/ (sqrt 0.5) a))
(define-param df 0.2)
(set! sources (list (make source
       (src (make gaussian-src (frequency fcen) (fwidth df))) (component Ez) (center 0 0))))


(set! symmetries (list (make mirror-sym (direction Y))))

(define-param Th 500)
(run-sources+ Th (after-sources (harminv Ez (vector3 0) fcen df)))
(define f (harminv-freq-re (car harminv-results)))
(define Q (harminv-Q (car harminv-results)))
(define Vmode (* 0.25 a a))
(print "ldos0:, " (/ Q Vmode (* 2 pi f pi 0.5)))

(reset-meep)
(define-param T (* 2 Q (/ f)))
(run-sources+ T (dft-ldos f 0 1))