On Apr 28, 2008, at 2:19 PM, shuqi wrote: > > 1. How to convert the international unit into the Meep unit? > unit ; base unit of distance > unitw = 2*pi*c/unit ; base unit for frequency, where c is 3e+8. > ; Is it right? I am not sure. Someone said c=1.
Within Meep, c=1 units are used. However, to convert, say Hz, to meep frequency units, do indeed use 2*pi*c/unit as the unit of frequency, where c is 3e8 or whatever your original units are. This is equivalent to specifying frequency as unit/lam, where lam is the vacuum wavelength. Note that these are the units for angular frequency omega. > lam ; free space wavelength (meters) > fcen = unit/lam ; source center frequency > pw ; free Space pulse Width (in frequency) > df = 2*pi*pw/unitw ; pulse width in Meep unit Yes, if pw is frequency and not angular frequency (i.e. if it doesn't already contain the 2*pi). > 2. How to obtain the Meep Drude parameters from the usual Drude > parameters? Meep doesn't support a Drude model directly; it supports Lorentzian resonances. So, in your frequency range of interest, you should fit your complex dielectric function to a sum of Lorentzians. Just convert all of your frequencies into Meep units before doing the fit. > Many users used (set! eps-averaging? false) to close it. However, > someone > said that Meep still does some averaging, even when you set eps- > averaging? to > false. Is it right? Why do you care? Averaging is actually a *good* thing as it increases the accuracy of the calculation. Remember that this is *subpixel* averaging. As you increase the resolution, it still converges to the result for your exact structure (which may have discontinuous epsilon). The main reason to disable eps-averaging is that on rare occasions is causes instabilities (which are obvious: you will notice the field blowing up). > 4. How to set periodic boundary condition in x and y directions? > Meanwhile, > PML are used at z direction. Are the following setting right? > (set-param! k-point (vector3 0 0 0)) ; Set periodic boundary > condition > (define-param dpml 10) ; PML thickness > (set! pml-layers (list (make pml (thickness dpml) (direction Z)))) Yes, that will do what you want. (Technically, it sets periodic boundary conditions in x/y/z. However, in the z direction you have a PML layer adjacent to the boundary, so the boundary conditions in z are irrelevant. Contrary to common misconception, PML is not a "boundary condition" per se. It is an artificial absorbing material.) Regards, Steven G. Johnson _______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

