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

Reply via email to