Dear meep-users,
I am new to meep and have only been using it for 2Dsimulations so far. In the
problem I work with, a chirp source is necessary. The pulse from this source
shall last 200 time steps and after this the source current should be 0.
When I simulated the fields caused by this source current in 2D, the results
were as desired: after 200 time steps the relevant field component was 0.
Now I used this same source in a 3D simulation and although the measured field
component stays constant after 200 time steps, the field component is not 0 but
has a constant amplitude >0.
I have tried to figure out what is different now that I work in 3D but have not
found a solution yet, so suggestions would be greatly appreciated.
The ctl-file looks as follows, with the definition of the source function at
the beginning, note that the variables pmlarray, pmlayers and h are handed over
by another program.
(define (chirp t)
(let* ((f0 0.0233) ;
(f1 0.1033) ;
(t1 200) ;
(alpha (/ (- f1 f0) t1))
(fi (+ f0 (* 0.5 (* alpha t))))
(iphase (+ 0.25 (* fi t)))
(iphi (* (* 2 pi) iphase))
(excor (/ 1 fi)) ;excitation correction term
(if (< t t1)
(* excor (cos iphi ))
0 )))
(define gridsizex (+ (* 2 pmlayers) 304.8))
(define gridsizey (+ (* 2 pmlayers) 350))
(define gridsizez (+ (* 2 pmlayers) h))
(set! geometry-lattice (make lattice (size gridsizex gridsizey gridsizez)))
(set! geometry (list))
(define arrayy (- (+ pmlayers pmlarray) (/ gridsizey 2)))
(set! sources (list
(make source
(src (make custom-src (src-func chirp) (start-time 0)))
(component Ez)
(center 0 arrayy 0))))
(set! pml-layers (list (make pml (thickness pmlayers))))
(set! resolution 1)
(run-until s
(to-appended "chirp" (at-every 1 (in-point (vector3 0 arrayy 0)
output-efield-z))))
I would extremely appreciate your help. Thank you!
Andrea
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss