Hi, I fighted with metal definition in meep, too. What I have observed is that there is a narrow region between conductivity too high (in Drude model it is polarizability at zero frequency) and conductivity too low. If the conductivity is too high, the system becomes unstable, usually creating a checkerboard pattern near the structure. If the conductivity is about one order of magnitude lower, the penetration depth begins to affect my simulation.
My simulation is easy in that it does not account for any complicated behaviour of the metal, which is required just to be a nearly perfect conductor. I just realized that it is necessary to make the penetration depth higher or similar to size of unit cell. Therefore, for a case similar to mine, I would suggest to go along without precise physical behaviour of the metal and compensate for the introduced error somewhere. Simulations in the optical regions may be different. As far as I remember, reducing the Courant factor did never help much; however increasing the resolution fights the instability effectively. Another sort of instability, manifesting as a low-frequency oscillation, occured when the PMLs were close to any resonant structure. Filip On Sat, 26 May 2012 18:32:48 +0200 Gwenaelle Vest <gwenaelle.v...@physik.uni-muenchen.de> wrote: > Dear all, > > I am trying to simulate a gold wire grid polarizer for lambda=850nm, > i.e at strong resonance. Unfortunately, I always observe a divergence > after a few time steps, > when the light comes out of the structure. The field amplitude goes to > 10e34 and there are field oscillations much shorter than the > wavelength in the material. > > At this frequency, n=0.197+5.584i . I have tried to increase the > resolution, to decrease the Courant factor, to turn off the eps > averaging function, but until now nothing has worked. > > I used periodic boundary conditions to avoid too large computation > times. My code is the following: > > - ------------------------ > (reset-meep) > > (define-param per 500) ;period in nm > (define-param p 1) ;period in meep unit > (define-param wlgth (/ 850 per )) ; > (define-param w (/ 150 per )) ; stripe width (150nm) > (define-param h (/ 285 per )) ; stripe thickness (285nm) > > > (define-param slab_position (- 0 3)) ; center of the membrane > (define-param sz 10) ; cell size along z > (set! force-complex-fields? true) > > (set! geometry-lattice (make lattice (size 1 1 sz) )) > > (set! eps-averaging? false) > (set! default-material air) > (set-param! resolution 20) > (set-param! Courant 0.01) > > (define gold (make medium (epsilon (- 0 31.15)) (D-conductivity (/ (* > 2 pi (/ 1 wlgth ) 2.1971) (- 0 31.15))))) > > (set! geometry > (append > (list > (make block (material gold) > (center 0 0 slab_position) > (size w 1 h))))) > > > (set! pml-layers (list (make pml (direction Z) > (thickness 1) > (pml-profile (lambda (u) (* u u u)))))) > > (define-param fcen (/ 1 wlgth )) ; pulse center frequency > (define-param df 0.01) ; pulse width (in frequency) > (define-param nfreq 5) ; number of frequencies at which to compute flux > > (set! sources (list > (make source > (src (make continuous-src (frequency fcen))) > (component Ex) > (end-time infinity) > (center 0 0 0) > (size 1 1 0)))) > > (set! k-point (vector3 0 0 0)) > > (init-fields) > > (define (detectsource) (begin > (print "source: " (get-field-point Ex (vector3 > 0 0 0)) "\n"))) > > (define incidentx ; > (add-flux fcen df nfreq > (make flux-region > (center 0 0 (- 0 1.5)) (size 1 1 0)))) > > (define outx ; > (add-flux fcen df nfreq > (make flux-region > (center 0 0 (- 0 3.5)) (size 1 1 0 )))) > > (run-until 20 > (at-beginning output-epsilon) > (at-every 0.5 output-efield-x) > (at-every 0.1 detectsource)) > > (display-fluxes incidentx) > (display-fluxes outx) > > - ------------------------ > > Would any of you have an idea about where the problem comes from ? > > Thank you very much for your help! > > Best regards, > > Gwenaelle Vest > Experimental Quantum Physics,LMU München > > > _______________________________________________ > meep-discuss mailing list > meep-discuss@ab-initio.mit.edu > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss _______________________________________________ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss