Technical Issues - Bruggeman Step by Step

Note: The discussion herein also applies to Maxwell Garnett.

A user in Japan requested assistance as follows.

a. I have Ag-alloy n,k,wavelength data in Excel file.

b. I want to calculate n,k,wavelength in the Air-Ag alloy (with filling factor f) thin film system by using Bruggeman approximation.

c. Finally, I want to display R,T spectra of the system (5 nm thick with various f factors).


1. FilmStar INDEX...Bruggeman is a mixed materials model whereby a metal is embedded in a dielectric. The first step is to create INDEX n,k files (.itw): one for Ag alloy and one for Air. Not having the alloy data, we used Sopra Ag values via File...Import.

Excel n,k data can be copied to the clipboard and pasted with File...Paste. Format is w,n,k where wavelengths are in nm and k values are positive. After pasting values, use Graph...Auto Scale <Ctrl+A> to review and set up graph axes. A mixed material wavelength range must be less or equal to the component ranges.

While single wavelength index tables mostly work in FilmStar, mixed materials require at least two wavelengths as shown here:

2. FilmStar DESIGN... Click Setup...Index Functions...User Defined to access the User Index Function dialog. Under Formula select Bruggeman as shown and enter the dielectric file name (here AIR2) in Table 1 and the metallic file name (here Ag Sopra) in Table 2. (Note that Table 3 is  not utilized in Bruggeman. Assign a function name (here BRUG_AG) containing up to 7 characters. This automatically sets Coefficients to 1. In this case the coefficient will be filling factor f.

3. While not strictly necessary, the next step is useful for transferring functions between DESIGN and INDEX. In the User Index Function dialog, click File...Save Collection As to save defined index functions.

4. Click Setup...Film Indices to assign an index symbol (here A) to index function BRUG_AG. In this case filling factor f (10%) is indicated by coefficient A=0.1. Hint: clear any previous design before deleting materials in the Film Indices editor.

4. Access the DESIGN Interactor Evaluate...Interactor <Ctrl+Q> to plot %R and %T. In the Interactor click Setup...Adjust Indices <Ctrl+A> to modify filling factor f (Coefficient A) in the range 0-1. Hint: Not seeing what is shown below? Adjust Interactor options.


Use the arrow keys to vary Coefficient A (filling factor f 0-1).
The same filling factor is utilized in the Maxwell Garnett model.

5. FilmStar INDEX...It seems useful to plot n,k vs. wavelength for different filling factors f. In INDEX click Functions...User Defined to access the same User Index Function dialog as in DESIGN. Click File...Open Collection to load previous functions.

5. Click Functions...Fit Index to specify the required function (here BRUG_AG) and assign Coefficient A (filling factor f). Remember that the wavelength range must be less or equal to component ranges.  Here the range is 200-2000 nm, corresponding to original Sopra values 187.9-2066.5 nm. Evaluate over a wider range, i.e. 200-2500 nm, gives annoying error messages.

6. Click Functions...Plot <Ctrl+T> to plot the function. Here we compare the original Ag n,k table to the Bruggeman approximation for f=0.1 Try f=1.0 and verify that the original metallic film is displayed.

Copyright © 2023 FTG Software Associates
Last updated on January 31, 2023