File Exchange

image thumbnail

Drude-Lorentz and Debye-Lorentz models for the dielectric constant of metals and water

version (3.99 KB) by Bora Ung
Computes the complex permittivity of many metals and water with input wavelength


Updated 31 Jan 2012

View Version History

View License

This code computes the complex dielectric constant (i.e. relative permittivity) and the refractive index of various metals using either the Lorentz-Drude (LD) or the Drude model (D) as a function of input light wavelength.

Additionally, it may compute the dielectric constant of pure water using a Debye-Lorentz model.

Choice of materials: silver, aluminum, gold, copper, chromium, nickel, tungsten, titanium, beryllium, palladium, platinum, triply distilled water.

Reference: Bora Ung and Yunlong Sheng, Interference of surface waves in a metallic nanoslit, Optics Express 15, 1182-1190 (2007).

Cite As

Bora Ung (2021). Drude-Lorentz and Debye-Lorentz models for the dielectric constant of metals and water (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (31)


Binbin Hong

Thanks a lot.

Hussein Sharadga

Hi all,
How to consider different metals or materials?

Rabiul Al Mahmud


how toconsider the different temparture?

Xiaoxuan Liang


André Teixeira

Thank you.

Bora Ung

Hi André. The resonance frequencies were found in the paper of A.D. Rakić et al., Appl. Opt. 37, 5271-5283 (1998). These characteristic frequencies were extracted from models (Drude and L-D) based on published experimental data for each metals.

André Teixeira

Hi, How did you determine the resonance frequencies of the materials?

11 11

Help me a lot . Thank you .

Rahul Shaw

Helped me. Thanks..

Bora Ung

To Subhashish: in order to obtain the relative permittivity of Chromium at a given wavelength "lambda" (in meters), you should type the following command:

[epsilon_Re epsilon_Im N] = LD(lambda,'Cr')

Subhashish Tiwari

Not able to run this code as it is. If I want to calculate for Chromium- 'Cr', then what changes have to be done ?

Reda Ahmed

help me please the program don't march

function varargout = LD(lambda,material,model)
Error: Function definitions are not permitted in this context.

i use matlab 2013 b



Qiushi Guo

Extremeley helpful


Thank you, very helpful.


Thanks! It's useful for me.

Johannes Srajer


Thank you, it is useful for me too.

chao ding

Thanks! It's very useful for me.

Dominic Bosomtwi

Can someone explain to me how to use the code?
Thanks a lot.

Noha Anous

Thanks for uploading such a nice function.
But I have a question, from where are the model equations taken?
are there any approximations?
Because I tried some values and didn't get them the same as I have them in tables found in some papers.
Thanks a lot

Bora Ung

As a note, this matlab code was created for and first used in [B. Ung and Y. Sheng, Optics Express, vol.15, pp. 1182-1190 (2007)]

JCBod Bodoque

Wonderful file! Do you have any work of your own that I can cite for these fits?

j kim

I think, it's good program!!!

Hyunwoo Kihm

Thanks for valuable information with proper references. Weighting factor of various oscillator made the model fitting almost perfect.

Jin Xu

thanks a lot.

Bora Ung

Thanks Duane for the info. I have already done that a few days ago when I realized that it is possible to make changes. Now there IS NO NEED to make any changes.

Duane Hanselman

Rather than tell use what to do to improve the file, why not UPDATE your submission with your latest work? (Do not submit the revised file as a new submission.)

Bora Ung

The efficiency can be improved with the following changes:

replace line 183 with: epsilon_r_L = zeros(size(lambda));
replace lines 185-187 with:
epsilon_r_L = epsilon_r_L + (f(k)*omegap^2)*...
(((omega(k)^2)*ones(size(lambda)) - omegalight.^2) -...
eliminate line 190

Hope this file is useful to people as it was to me.

MATLAB Release Compatibility
Created with R2007a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!