About this document

Tutorial 1

written by W.Theiss

W. Theiss – Hard- and Software for Optical Spectroscopy

Dr.-Bernhard-Klein-Str. 110, D-52078 Aachen, Germany

Phone: + 49 241 5661390     Fax:     + 49 241 9529100

e-mail: theiss@mtheiss.com     web: www.mtheiss.com

January 2012

This tutorial shows examples of successful CODE applications. It is to be used parallel to the SCOUT and CODE manuals which should be consulted for details if necessary. It is assumed that you have read the 'Quick start: Getting around in SCOUT' section. Furthermore, you should have visited SCOUT tutorial 1 in order to be able to do basic operations like defining optical constants, layer stacks and spectra like reflectance and transmittance.

This text was written using the program Help&Manual (from EC Software). With this software we produce the printed manual as well as the online help and HTML code for internet documents - with exactly the same text input! This is a very productive feature and makes the development of the documentation quite easy. However, for this reason the printed manual sometimes contains some 'strange' text fragments which seem to have no relation to the rest of the text. These might be hypertext jumps in the online help system which - of course - lose there function in the printed version of the manual.

About Tutorial 1

The examples discussed in this tutorial show basic features of CODE.

Example 1: Low-E coatings

You learn how to investigate and design coatings for window panes that reduce the emission of infrared radiation (so-called Low-E coatings). CODE computes the emitted infrared power, the visual appearance and the average transmission of the coatings in the visible.

The problem: Infrared emission of glass

This example shows how a three layer coating on glass is designed for a certain application. The application of the layer system under discussion is to reduce the infrared emission of architectural glass used in office buildings or private houses. In addition to this purpose you can use the coating also for achieving a certain appearance, i.e. a certain color of the pane.

In a first step we identify the problem of infrared emission by inspecting the performance of  uncoated glass.

Start CODE and activate File|New to start with an empty configuration. Then press F7 to enter the treeview level.  For our considerations we need optical constants of glass from the infrared to the near UV. The data that come with this tutorial contain a fixed data set that you can use. Create in the list of materials a new object of type 'Imported dielectric function'. Open it and load with the local command File|Open the file glass.df. Press the 'a' key to autoscale the graphics and you should find this:

To compute the emission of a glass pane with these optical constants define a layer of type 'Thick layer' with a thickness of 4 mm between two vacuum halfspaces.

Glass is a material with a quite large infrared absorption. In the spectrum list, define two spectrum simulation objects and use them to compute the infrared reflectance and transmittance spectrum (50 ... 5000 1/cm, 500 data points) of the pane (assume normal incidence of light). Call them 'R IR' and 'T IR'. When you are ready use the main menu command Actions|Create view of spectra to generate a simple view showing the 2 spectra. The configuration tu1_ex1_step0.wcd contains the configuration that you should have by now:

The transmittance is zero, at least below 2200 1/cm. Due to the rather low reflectance and the vanishing transmittance such a window has a quite large infrared emissivity. If it is used as the inner pane in a double glass window it has room temperature (i.e. 300 K) and acts as an infrared radiation source which leads to large radiation losses.

With CODE you can compute these losses the following way. Create a new spectrum object of type 'R,T,ATR' and compute the emissivity by setting the spectrum type to 1-R-T. You should get this spectrum:

To compute the emitted power per area this spectrum has to be multiplied by the spectral distribution of a black body at 300 K (Planck radiation formula), followed by an integration over all frequencies. You can do these muliplication/integration steps applying a spectrum product object. This can be created in the list of integral quantities. Create such an item, and open with Edit the corresponding window where you have to define the black body emission. First you are asked for a nickname. Call the quantity 'Emitted power' as shown below:

Now you have to specify the unit:

Now you have to enter a scaling factor (use 1 here) and the number of decimal places for the number output (use 4). Now the following window opens where you have to define the spectral distribution of the blackbody radiation:

What formula do you have to type in? Here comes a short repetition of one of your physics courses. The formula to be used for the blackbody emission is developed and checked in the following. The Planck radiation formula giving the energy density per frequency interval in a cavity is

Here we have switched to wavenumbers for later convenience.

Assuming that the energy moves with the speed of light distributed equally into all directions one can compute the energy per time that passes a small leak in the cavity to the outside. The energy density per solid angle is then .

To obtain the energy per time and area crossing the leak we have to compute the integration over all those contributions with a speed component into the outside:

Inserting what was found for the energy density gives

which is what we need to compute the total emission of the absorber.

Now you can go back to the spectrum product object and type in the formula 3.74*10^(-12)*X^3/(EXP(1.439*X/300)-1). Note that T was replaced by 300 K (room temperature). Set the range of the object to 50 ... 5000 1/cm with 200 data points. Then press Go! to compute the spectral distribution of the emitted power of a blackbody at 300 K. Here it is:

The graph has been drawn with the following graphics parameters:

To compute the emitted power per area you now have to assign the simulated 1-R-T spectrum to the spectrum product object. Place the cursor in the spectrum column of the list of integral quantities and hit the F4 key several times. This way you move through all spectra in the spectra list. Stop at the IR emission spectrum. Then go to the next column (sim/exp) and select 'Simulation' (also by pressing the F4 key several times). Now select the Update menu command in the list of integral quantities:

One gets a value of 0.0408 W/cm2. This means that we have 408 W losses by infrared emission of the pane per square meter!

Is that right? There is simple way to check this value by comparison to the emission of a perfect blackbody radiator which is given by the Stefan-Boltzmann law:

Here one gets 460 W/m2 which is a little higher because the emissivity of the glass is lower than 1.

The program configuration obtained up to now is saved as tu1_ex1_step1.wcd in the data folder of this tutorial.

Reducing the IR emission by a metal layer

To avoid the large emission losses of bare window panes one can try to increase the reflectance (and thus reduce the emission) by the deposition of a metal film. We can check this possibility the following way.

In the database of optical constants you will find the entry 'Ag model' that you can drag to the material list (see SCOUT tutorial 1 how to use the database). The Ag model is also distributed as an individual file with this tutorial. To use this, create a new material of type 'Dielectric function model', open its window and load the Ag model with the local menu command File|Open from the file ag.dfm. Set the Range of the Ag model to 50 ... 50000 1/cm with 500 data points. It should now look like this:

In the layer stack, add a layer of type 'Thin film' on top of the glass substrate and assign the Ag model to it. Set the thickness of the new layer to 10 nm.

Press Update in the main window and press F7 to see the reflectance and transmittance spectra in the main view:

The reflectance is now close to one and hence the emission (=1-R-T) is close to zero. In fact, the value of the emitted power at room temperature is now 0.0011 W/cm2 or 11 W/m2. This nice results is disturbed a little by the fact that the appearance of the coated glass in the visible is changed dramatically by the Ag layer. We will investigate this in the next step.

The program configuration obtained up to now is saved as tu1_ex1_step2.wcd in the data folder of this tutorial.

Visible appearance of Ag-coated glass

Now we are going to investigate how the Ag-coated window performs in the visible spectral range. In the spectra list, create two more spectra and name them 'R Vis' and 'T Vis', respectively. Set the spectral range for both spectra to 300 ... 800 nm with 100 data points. Press Recalc and adjust the graphics parameters to get the following graphs:

It is now time to setup a convenient main view. Expand the treeview branch Views and right-click the subbranch 'Spectrum view'. We will generate the following view items:

•Drag the new spectra 'R Vis' and 'T Vis' to the list of view items like it was explained in the 'Quick start ...' section of the SCOUT technical manual.

•In the dropdown box of the view item list, select the new type 'Rectangle' and generate a new object of this type.

•Drag the object 'Layer stack' to the view item list and drop it there. This will display the layer stack graphically.

•Drag the integral quantity 'Spectrum product' (the one that we called 'Emitted power') to the list of view items. This will show this quantity in the view.

Now press F7 to inspect the main view:

Obviously we have to do some re-arrangements of the view elements. Remember that each view element is a rectangle which can be moved and re-sized with the mouse in the main view (see the section about views in the SCOUT technical manual). Try to get the following main view appearance:

The corresponding view element list looks like this:

The color of the rectangle in the center of the view has been changed to gray.

Back to optics: To visualize the influence of the Ag layer, select the Ag layer thickness as a fitting parameter. Set the range of the fit parameter to 0 ... 20 and create a slider:

With the slider motion you can now test values between 0 and 20 nm Ag layer thickness. Watch the changes in the spectra while 'moving the thickness':

You may notice that you can reduce the emission from 408 to 61 W/cm^2 with a silver thickness of 2.5 nm only. The spectra in the visible are hardly influenced by this thin metal film. However, it is not possible up to now to produce large scale Ag films with that thickness because Ag starts to grow as an inhomogeneous island film on glass. These island films are very colorful and do not help to reduce infrared emission very much (see SCOUT tutorial 2). You must have a thickness of 7 to 8 nm to produce a homogeneous film with the wanted properties. These thicker films reduce the transmission of the window significantly and are also not neutral in color.

To directly visualize the color, open the list of integral quantities and create an object of type 'Color view'. As with the spectrum product object, assign the simulated transmission spectrum to the 'Colorview' object:

Drag the new integral quantity from the treeview to the list of view items and drop it there. This will generate a view object that can display the color view object in the main view. Move the new view element to the bottom of the center rectangle and size it the following way:

The program configuration obtained up to now is saved as tu1_ex1_step3.wcd in the data folder of this tutorial.

Adding oxide layers

The disturbance of the transmittance in the visible due to the presence of the Ag layer can be reduced by adding dielectric layers underneath and on top of the metal film. In this example we use BiOx which is discussed on our homepage www.mtheiss.com as an example for the application of the OJL interband transition model.

Open the list of materials and create a new object of type 'Dielectric function model'. Open it and load with the local menu command File|Open the file biox.dfm. It should look like this:

Note that this material has in the visible range (12000 ... 25000 1/cm) a low imaginary part (small absorption) and a real part significantly larger than that of glass.

Add two more layers of type 'Thin film' in the layer stack (above and underneath the Ag layer) and fill them with the new oxide. Set the thickness of both layers to 30 nm. The layer stack should now be this:

The spectra in the visible are much improved:

Fortunately, the addition of the oxide layers has not changed the emission in the infrared which is still low. In the next section, a more systematic and quantitative evaluation of the coating properties is done.

The program configuration obtained up to now is saved as tu1_ex1_step4.wcd in the data folder of this tutorial.

Coating performance

Finally the low emission stack of two oxide layers embedding a metal layer is investigated a bit more quantitative. Some technical data are computed to characterize in a quantitative way what was found qualitatively up to now , by looking at the spectra and the color.

Besides low emission in the infrared, expressed in the emitted power per area, we would like to have a number characterizing the transmission in the visible. A good quantity is the so-called light transmittance defined in DIN 67 504 (see CODE manual). In the list of integral quantities you find an object type called 'Light transmittance (D65)'. D65 denotes the spectral characteristics of the illuminant (see the CODE manual). Create such an item and set its spectrum to 'T Vis' and 'Simulation'. With Update in the list of integral quantities you get a value of 0.87 (for 30 nm thickness of the top BiOx layer , 10 nm Ag and 30 nm BiOx in the bottom layer).

In a similar way you can compute the light reflectance (Object type: 'Light Reflectance'). Be sure, however, to set the spectrum to 'R Vis' and 'Simulation'.

The color of the window can be specified by three color coordinates. CODE has several types of color coordinates. Here we use L*, a* and b*. Choose the object type 'Color coordinate' in the list of integral quantities and create 6 objects of this type. For three objects, set the spectrum to 'R Vis' and 'Simulation', for the others choose 'T Vis' and 'Simulation'. The default settings of L* / A / 2° can be changed by the Edit command or a click on the object with the right mouse button. The following dialog appears:

Use the D65 illumination for all six quantities.

The list of integral quantities should (after an Update to compute all values) look like this now:

Whenever you change one of the parameters of the model and use the Update command in the main window all technical data are newly computed. You can also use sliders to change the parameters elegantly with the mouse. An immediate update of all data informs you how the coating behaves. This way you can get easily and elegantly insights into the influence of each parameter. In order to use sliders for parameters, you must select those parameters as fit parameters. Do that for the new BiOx layer thicknesses so that the list of fit parameters looks like this now:

If you like you can drag some of the integral quantities to the list of view items to display their value in the main view. In order to do so, it is useful to select short nicknames for these quanitities:

The program configuration obtained up to now is saved as tu1_ex1_step5.wcd in the data folder of this tutorial.

Automation

Having tried different combinations of layer thicknesses, soon you will  have the wish for automization. The Excel 97document CODE_Automation.xls distributed with this tutorial contains a table and some VisualBasic macros that show how you can create tables collecting the results for various thickness combinations.

Opening the file you get this (don't worry, you will not have to understand the German menu items of my Excel version):

Enter the filename of the CODE configuration that you want to investigate in cell C1. For example, we could use the last configuration of this tutorial. On my filesystem I have to enter 'z:\help\code\tutorial\datafiles\tu1_ex1_step5.wcd'. Now call the macro 'start_wcd'. CODE will be started and load the configuration (if the filename is correct). In addition, Excel shows the names of all fit parameters (in this case: the layer thicknesses) and the names of the integral quantities. In column B you can enter short names for the fit parameters for easier identification of the parameters:

Starting in column C, you can now enter thickness values (in nm) in all kinds of combinations. You can do this by typing in the numbers or by programming the Excel table. Here is an example:

Now call the macro 'compute_values' which will control CODE to compute all the requested data. After a short while you get this:

Making use of Excel's flexibility and the OLE automation capabilities of CODE you can generate very useful tables and charts helping to design your thin film product.

Color optimization

We close this example with a demonstration of color optimization. Every integral quantity that is just a number can be used as a fit target. Instead of minimizing the deviation between simulations and experiments CODE can also vary the fit parameters to achieve certain target values for integral quantities.

Here the goal is to achieve a certain color in reflection while achieving a 'Light transmittance' of 0.9 and an emitted power of 0.0010 W/cm2. Load the last configuration (tu1_ex1_step5.wcd). Check that there are 3 fit parameters: The thickness of the top BiOx layer (30 nm), that of the silver layer (10 nm) and the bottom BiOx layer thickness (30 nm). Open the list of integral quantities and change the settings the following way (switching the Optimize column entry from On to Off is done by F4):

Then press Start in the main window to begin the optimization of the fit parameters. The squared difference of each integral value whose setting in the 'Optimize' column is 'On' contributes to the deviation, multiplied by the factor defined in the 'Weight' column. After a while the desired color coordinates are achieved (which is not possible in every case, of course):

You can look up in the fit parameter list which thickness values you should produce:

See the configuration tu1_ex1_step6.wcd.