Hi, Oscar, this is rather straightforward. The dielectric function
used by MEEP is given by the well-known Lorentz formula. (I have
verified it numerically, but this is a bit longer to explain.)

In Python, I use the following function for the material. As an
example I will give the SiO2 definition for broad spectral range. I
hope it will be readable even for non-Python users:

class material_SiO2():#{{{
    """ Amorphous SiO2
    Optical resonances fitted manually to experimental spectra
    Note: Discrete Lorentzian oscillators used predict higher losses
in the mid-IR region
    Note2: crystalline SiO2 should be similar, but is slightly birefringent

    From Gunde, M. K.: "Vibrational modes in amorphous silicon dioxide"
        Physica B: Physics of Condensed Matter, Volume 292, Issue 3-4,
p. 286-295.
    """
    def __init__(self, where=None, sigmafactor=1):
        self.eps = 1
        percm = 3e8/1e-2
        self.pol = [
                {'omega': 447*percm, 'gamma': 49*percm, 'sigma':.923},
                {'omega': 811*percm, 'gamma': 69*percm, 'sigma':.082},
                {'omega':1064*percm, 'gamma': 75*percm, 'sigma':.663},
                {'omega':1165*percm, 'gamma': 80*percm, 'sigma':.058},
                {'omega':1228*percm, 'gamma': 65*percm, 'sigma':.017},
                {'omega': 2.6e15, 'gamma': .5e15, 'sigma': .5},
                {'omega': 2.8e15, 'gamma': .2e15, 'sigma': .55},
                ]
        self.name = "Amorphous silica glass (SiO2) for IR range"
        self.shortname = "SiO2 (IR)"
        self.where = where
#}}}

def analytic_eps(mat, freq):
    complex_eps = mat.eps
    for polariz in mat.pol:
        complex_eps += polariz['sigma'] * polariz['omega']**2 /
(polariz['omega']**2 - freq**2 - 1j*freq*polariz['gamma'])
    return complex_eps

See also http://fzu.cz/~dominecf/misc/eps/

Regards,
Filip

2013/5/24, Oscar Garcia <[email protected]>:
> Dear  MEEP users,
>
>
>
> I´m wondering if it is possible to get the value (n,k) from a dispersive
> defined material for a particular frequency. For example, if you have the
> following material:
>
>
>
> (define-param silicon (make dielectric (epsilon 1.5) (E-susceptibilities
>
>
> (make lorentzian-susceptibility (frequency 3.64) (gamma 0) (sigma 8))
>
>
> (make lorentzian-susceptibility (frequency 2.76) (gamma (* 0.063 2)) (sigma
> 2.85))
>
>
> (make lorentzian-susceptibility (frequency 1.73) (gamma (* 2.5 2)) (sigma
> -0.107))
>
>
> )))
>
> Is it possible to do something like this:
>
>
>
> get_n_real(frequency=1, material=silicon)
>
> get_n_img (frequency=1, material=silicon)
>
>
>
> Someone knows an easy way to implement this function in MEEP?
>
>
>
> Thank you very much and best regards,
>
>
>
> Oscar García
>
> FideNa
>
> 8  <http://www.fidena.es/> www.fidena.es | ' +34 948166177 | 6 +34
> 948166211
>
> Tanto el presente mensaje como cualquier material adjunto a él han sido
> enviados por FideNa, y son propiedad de FideNa o han sido utilizados por
> FideNa con permiso de sus propietarios. Es por tanto material
> potencialmente
> confidencial que no se difundirá ni utilizará en manera alguna sin el
> consentimiento escrito previo de FideNa.
>
>
>
>
>
>

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to