Dear meep users,
I have tried various things now that might make the problem a bit clearer and
maybe somebody now knows how to help:
1. The problem does not seem to be the source function itself. I have tried a
continuous source and the electric field amplitude also shows a strange
amplitude offset there... Do I lack some basic understanding here? (and should
be ashamed? ;-)
2. The second thing is that the position of the source does not matter either.
It doesn't matter whether it's far away or close to the PML, the problem
persists.
3. The PML are rather thin in my setup but I tried making them a bit thicker
and that didn't help either. Apart from the PML there is really nothing in the
setup that could influence the fields, it's all air.
It is also interesting that the frequency-dependent excitation correction term
in the source has the desired effect in 2D but not in 3D. Its purpose is to
compensate for the fact that the electric field amplitude excited by a current
decreases with frequency.
Does anyone have an idea what the problem could be?
Best regards
Andrea
previous post:
Subject: [Meep-discuss] Problem with Customized Source (Chirp) in 3D
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
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss