|
DESIGN WINDOW
Note that the correction changes the normal incidence thickness to correct the behavior at oblique. The design table values still apply to normal incidence. Any pasting operation ignores the match angle. Formula..., however, does recognize the match angle and does correct layers accordingly. If Formula… ever appears to be operating in a curious way, check the match angle option to make sure it has not been set to an incorrect angle. Changing the match angle is straightforward. The new value is entered in the dialog box. The operation first returns the layers to normal incidence and then applies the new angle. The current match angle can always be found by selecting the match angle menu item and looking at the displayed value. Global Edit… This command changes either all layers in the design or selected layers only, if at least one layer has been selected to values entered on the Global Edit form. If a value is entered into one of the fields, then the layers will be updated with the new value. If the field is left blank, then the value held in the layer will be not altered. Clicking on OK causes any changes to be made. Clicking on Cancel causes the edit operation to be aborted. In the example the material of the layers will be changed to MgF2, the packing density will be set to unity and the void density will be set to zero. Edit Materials... Edit materials offers a simple way of changing the materials in a design. The user simply inserts the translation in a dialog box. Note that this changes the materials in the design only. Those listed against symbols in the formula are not changed. Parameters Menu (Design)Performance... The performance parameters consist mainly of the choice of the quantities and scales of the axes in the performance plots that are to be produced. One or two Y axes may be defined. Tables will use the same parameters and range of independent variable and just the independent variable interval for the tables needs to be separately specified. The content of the table will be defined by the performance requested in the Vertical Axis tab. A typical dialog box for entry of the performance parameters is shown below and is reasonably self-explanatory. Items not available for the particular choice of dependent quantity are gray and cannot be accessed. The package computes the response, the dependent variable, in terms of a variable parameter, the independent variable. Except for a very few special cases, throughout the package the vertical axis in the plots corresponds to the dependent variable while the horizontal axis corresponds to the independent variable. The dependent variable, the performance, may be chosen from the scrolling list under Vertical Axis. This list comprises Transmittance Magnitude (%)
Reflectance Magnitude (%)
Transmittance Phase (deg)
Reflectance Phase (deg)
Density
Absorptance (%)
Reflectance GD (fs)
Reflectance GDD (fs^2)
Reflectance TOD (fs^3)
Transmittance GD (fs)
Transmittance GDD (fs^2)
Transmittance TOD (fs^3)
Transmittance Delta (deg)
Transmittance Psi (deg)
Reflectance Delta (deg)
Reflectance Psi (deg)
Transmittance CDC (fs/nm)
Reflectance CDC (fs/nm) GD indicates Group Delay, GDD, Group Delay Dispersion and TOD is Third Order Dispersion. These quantities are important in components for ultrafast applications and are directly related to the derivatives of phase shift with respect to the angular frequency of the light. CDC indicates Chromatic Dispersion Coefficient. This quantity is similar to Group Delay Dispersion in that it indicates pulse spreading. It is more commonly used in the communications field. Derivatives with respect to wavelength of those quantities that are not already derivatives can be specified by entering the appropriate derivative order in the derivative field. For example, the first derivative can be specified by entering unity in the box. Please note the comments under Derivatives in the Essential Macleod earlier in this manual. The independent variable is specified in a similar scrolling list under Horizontal Axis. There are essentially four different types of independent variable, wavelength, frequency, incident angle and layer thickness. The actual terms displayed in the scrolling list follow the names that have been entered in the General Units dialog box. The thickness of a chosen layer may be used as the independent variable. This is immediately applicable to the case of an etalon with variable spacer layer but there are often cases where the sensitivity of performance to variations in the thickness of a particular layer are in question. Plots and tables using the current values of the parameters can always be initiated from the Performance menu. However, the Performance Parameters dialog box gives immediate access to either plots or tables without the necessity of returning to the menu. If the OK button is chosen then the only immediate action taken will be to change the current values of the parameters to those entered so that they will then be used by the plot and table commands in the Performance menu. They will not be stored permanently in the design file until it is actually saved. To aid in identifying traces on a plot, plot parameters may be automatically added to the plot legend by checking the Add to Label box next to each parameter. If the Plot Targets box is checked, then the targets will be added to the plot if the performance type of the targets matches the performance specification of the plot. Refinement Choosing Refinement in the Parameters menu brings up a submenu that gives access to the various parameters that must be set before effective refinement and synthesis is possible. There are two aspects of the parameters that need definition. First there are the specifications of the desired performance levels. These are called Targets and they are common to all the various techniques. Then there are various attributes that must be set correctly for the particular technique that is to be used. The principal technique in the Essential Macleod is Optimac, a powerful synthesis method that can also carry out refinement. Four further refinement techniques are Nonlinear Simplex, called nonlinear to distinguish it from a similarly named but different technique used in the solution of linear equations, a statistical method known as Simulated Annealing, and two derivative method: Conjugate Gradient and Quasi-Newton. Additionally, the Needle synthesis method is available for generating designs. Refinement and synthesis are discussed in a later dedicated section. 3D Performance... The 3D performance parameters consist mainly of the choice of the quantities and scales of the axes in the 3D performance plots that are to be produced. A typical dialog box for entry of the 3D performance parameters is shown below and is reasonably self-explanatory. Items not available for the particular choice of dependent quantity are gray and cannot be accessed. The package computes the response, the dependent variable, in terms of two variable parameters, x and y. The dependent variable, the performance, may be chosen from the scrolling list under Z Axis. This list is the same as in the Vertical Axis in the Performance Parameters dialog. The independent variables are specified in similar scrolling lists under X Y Axes. There are essentially four different types of independent variable, wavelength, frequency, incident angle and layer thickness. The actual terms displayed in the scrolling lists follow the names that have been entered in the General Units dialog box. The thickness of a chosen layer may be used as the independent variable. This is immediately applicable to the case of an etalon with variable spacer layer but there are often cases where the sensitivity of performance to variations in the thickness of a particular layer are in question. The surface computed in a 3D plot is calculated at a fixed number of equally spaced points in the x and y directions. The Number of Intervals parameter specifies then number of points calculated. 3D Plots using the current values of the parameters can always be initiated from the Performance menu. However, the 3D Performance Parameters dialog box gives immediate access to a plot without the necessity of returning to the menu. If the OK button is chosen then the only immediate action taken will be to change the current values of the parameters to those entered so that they will then be used by the 3D plot command in the Performance menu. They will not be stored permanently in the design file until it is actually saved. Performance Menu (Design)The Performance menu controls the calculation of performance figures by the package. Access to the menu items is possible only when a design window is active and the calculation initiated by the choice of one of the items will refer to the design in the active window. There are two principal ways in which the results of a calculation may be presented. They may be plotted or tabulated and either may be chosen from the menu. Another aspect of performance of a design is its susceptibility to errors, also available from this menu. Plot Plot initiates the plotting of performance in a plot window. The aspects of performance and the range over which they are to be plotted have already been chosen under the item Performance in the Parameters menu. The Plot window is now the active one and so the menu bar changes to reflect that. The principal changes are that the Performance and Parameters menus disappear and the choices under the others are limited. Many aspects of the plot can be modified. The section on the Plot Window later in this manual describes how plots may be modified. Note that the performance data do not change when the plot parameters are altered. If a change is made to the wavelength region outside the range of the original calculations then the altered plot will simply be blank over the new part of the region. To extend the wavelength region outside the original limits it is necessary to return to the design window and select Performance in the Parameters menu. The dependent variable is not limited in this way. Plot Over Plot Over permits the plotting of a second curve to be made over a first. The first curve must have been made using the current design. Once the first curve has been produced, then an adjustment to the design or a change in the calculation parameters, such as angle of incidence, may be made and then the performance of the new arrangement plotted over the first. Plot Over will be grayed out if the design file is changed. To plot the results of a different design over those of a first, the Add command in the File menu should be used. Plot the results of the first design. Save the plot as a plot file using the Save As... command (the short cut key F12 is the quickest and most convenient way of doing this). Change to the alternative design. Plot the results. While the plot window is active, choose Add Line... from the File menu (Altf followed by d) and select the plot just saved. The plots will be combined. Table Table produces a table of results according to the options selected in the Performance menu item in the Parameters menu for the design window. The table has the usual cells with individual results but as it is produced the table has the attribute read only and so is protected from change. This is a safety feature to guard the integrity of the data. There may be occasions when some editing of the data is necessary. The legend against Design right at the top of the table is a good place to put a very short note, for example. For this reason the read only nature of the file can be changed. With the table window active select the Edit menu. There are two active items, Copy Table and Read Only. The read only status will be indicated by a tick to the left of the menu item. Select Read Only to toggle the status. When the tick is not visible, the table may be edited. It is good practice to return the status to read only after editing and immediately save the table. Copy allows the table to be copied to the clipboard and pasted subsequently into any other suitable application, especially a word processor. More information about the table menus will be found in a later section. Errors... One of the most difficult areas in the design of optical coatings is the assessment of the sensitivity of the coating to errors. The errors in manufacture are generally rather larger than the first order approximations that can be readily handled by analytical techniques and so the most successful ones involve Monte Carlo modeling of the deposition process. Random errors drawn from suitable infinite populations are introduced and their effects over a large number of simulations are assessed. This is the technique on which the Errors... menu item is based. It is a very straightforward implementation. Errors calculates successive performance curves for the design with thickness errors drawn from a normal population. The parameters dialog box appears first. The mean and standard deviation are to be prescribed and can either be Absolute or Relative. Relative would be the usual choice and here the error is proportional to the thickness of the layer. In other words with relative errors a thickness D [D=nd/l0 for optical thicknesses and d/l0 for geometrical thicknesses] will become D(1+error). With absolute errors the thickness D would become (D+error). The particular arrangement chosen will depend on the process used in monitoring - an absolute error in termination that does not depend on layer thickness is quite common (quartz crystals for example) - but for routine error analysis probably the relative option will be more meaningful. The number of cases is just the number of different curves with different random errors drawn from the same infinite population. If Include Locking is checked, then only the layers that are not locked will be altered. If Include Links is checked, then one of the layers in each set of linked layers will be randomly altered and then the other layers in the link set will have their thicknesses adjusted so that they have the same ratio of thicknesses to the randomly altered layer as in the original unperturbed design. For example, if layer 1 is 15nm thick and layer 2 is 30nm thick, and these layers are linked, then during Errors, layer 1 will be randomly altered and layer 2 will be set to be twice as thick as layer 1. The seed can be changed manually but normally this will not be necessary as it is generated automatically. Even if the seed is repeated exactly, the error plots will not necessarily repeat because of a scrambling process that is carried out on the results of the error generator before they are used to generate a normal population from which the actual errors are drawn at random. The seed simply initializes the basic generator but does not affect the processing and so if it is reset at any time, the mixing and scrambling that is already operating, yields a subsequent set of numbers that are completely different from those generated the first time. Only if the program is reloaded will the random errors be completely reset. Then to repeat the calculations exactly the same initial seed should be used. Once the correct parameters have been entered click the Plot button. The program will draw a series of curves each of which represents the performance of the coating with a different set of thickness errors all drawn at random from the infinite population with the parameters that have just been entered. By varying the error parameters and replotting an assessment of manufacturing tolerances can readily be made. Tables of results are not generated because of their size and the difficulty of assessing large tables of results. The plot files do contain accessible data that can be extracted if necessary. Color The following color parameters are available: Tristimulus, Chromaticity, CIE L*a*b*, CIE L*u*v*, CIE L*u’v’, Hunter LAB, CIE1960 u,v, Correlated Color Temperature (CCT), Reciprocal Correlated Color Temperature (RCCT), Dominant Wavelength (Wd), Complementary Wavelength (Wc), Excitation Purity (Pe) and Colorimetric Purity (Pc). For the CIE L*a*b* color space, the hue and chroma correlates are also calculated. For the CIE L*u*v* color space, the hue, chroma and saturation correlates are also calculated. The dialog box that appears has several fields for completion. Source lists the sources. The standard sources are CIE A, B, C, D55, D65, D75 and equal energy. Black body and other sources can readily be added especially if the Function Enhancement is present. Instructions are in the earlier section on Color. Observer lists the sets of tristimulus values that are to be used. As supplied, these are CIE 1931 and CIE 1964. Again other observer definitions can be added if required. Mode specifies whether the transmitted or reflected color will be calculated. Polarization specifies the polarization to be used for oblique incidence calculations. Context specifies the coating context to be used for the calculations. Incident Angle contains a set of three parameters that specify the range of incident angles and interval to be used in the calculation. Show White Point places a symbol on the plot or creates a table entry that shows the coordinates of the source. Show Color Patch creates a window that displays a visual impression of the color(s) of the coating. The Plot tab allows you to choose a standard plot or select two color parameters to plot. The standard plots available are: Tristimulus XY, Chromaticity xy, CIE 1976 UCS, CIE 1976 h*c*(ab), CIE 1976 h*c*(uv). The Chromaticity xy plot is plotted on a chromaticity diagram. The CIE 1976 UCS plot is plotted on a UCS diagram. The CIE 1976 h*c*(ab) and CIE 1976 h*c*(uv) plots are plotted on a polar diagram. If a Custom plot is selected, then the X Axis Parameter and Y Axis Parameter specify the color parameters to use in the plot. The Table tab allows you to choose the color parameters to be included in the table output. Parameters are selected by clicking on them. Each selected parameter is highlighted in the list. In the figure below, the table will contain three parameters: Tristimulus X with Chromaticity x and y. Errors drops down an extra part of the form that allows you to see the effects of random thickness errors on the color of a coating in the same manner as the Errors command. The mean and standard deviation are to be prescribed and can either be Absolute or Relative. Relative would be the usual choice and here the error is proportional to the thickness of the layer. In other words with relative errors a thickness D [D=nd/l0 for optical thicknesses and d/l0 for geometrical thicknesses] will become D(1+error). With absolute errors the thickness D would become (D+error). The particular arrangement chosen will depend on the process used in monitoring - an absolute error in termination that does not depend on layer thickness is quite common (quartz crystals for example) - but for routine error analysis probably the relative option will be more meaningful. The number of cases is just the number of different curves with different random errors drawn from the same infinite population. The seed can be changed manually but normally this will not be necessary as it is generated automatically. Even if the seed is repeated exactly, the error plots will not necessarily repeat because of a scrambling process that is carried out on the results of the error generator before they are used to generate a normal population from which the actual errors are drawn at random. The seed simply initializes the basic generator but does not affect the processing and so if it is reset at any time, the mixing and scrambling that is already operating, yields a subsequent set of numbers that are completely different from those generated the first time. Only if the program is reloaded will the random errors be completely reset. Then to repeat the calculations exactly the same initial seed should be used. Once the correct parameters have been entered, click the Plot button or the Table button. The program will show the color of the coating with a different set of thickness errors all drawn at random from the infinite population with the parameters that have just been entered. By varying the error parameters and replotting an assessment of manufacturing tolerances can readily be made. If you do not wish to include the error variation in the color output, click on the Errors button to close the error parameters part of the form. Plotting or generating a table with the errors part closed will calculate the color of the coating design without random variation. Active Plot This command starts an Active Plot using the current plot parameters. For more information on active plots, see the active plot chapter (page *). 3D Plot 3D Plot initiates the plotting of performance in a 3D plot window. The aspects of performance and the range over which they are to be plotted have already been chosen under the item 3D Performance in the Parameters menu. The 3D Plot window is now the active one and so the menu bar changes to reflect that. The principal changes are that the Performance and Parameters menus disappear and the choices under the others are limited. Many aspects of the plot can be modified. The section on the 3D Plot Window later in this manual describes how 3D plots may be modified. Note that the performance data do not change when the 3D plot parameters are altered. Lock/Link Menu (Design)Locking and Linking are constraints that are used in some of the refinement and synthesis procedures. A locked layer is excluded from any variation and remains constant in both index and thickness. Layers that are linked together vary as a group in exactly the same manner. These constraints are useful both in the creation of a design where the structure is largely known but fine tuning has to be carried out on various parts and in reverse engineering for the investigation of possible process defects. There are also cases where coatings are to be designed to be deposited over already existing structures, the hard coating on spectacle lenses is an example. Lock Locking affects the way that the layers are treated in some of the refinement techniques. If a layer is locked it takes no part in refinement but retains its initial thickness throughout the operation. To lock a group of layers they should first be selected by clicking in the selection box. Shift click will select a contiguous group of layers while Ctrl click will select a noncontiguous layer. Once the layers are selected, the Lock command locks them. Note that once the locking column appears in the design table, locking or unlocking of individual layers is probably more easily achieved simply by clicking on the locking cell to toggle the locking status. Locking is very useful when it is known that the core of a coating should be unchanged. A good example is a quarterwave stack that is to be converted into an edge filter. Only the few outermost layers need be involved in any refinement. Unlock Unlock unlocks the selected layers. The remarks under Lock apply here also. It is easy to check that all layers are unlocked because then the lock column in the design table automatically disappears. Link Layers that are linked move together during refinement. There may be several different groups of layers in a particular design that are linked together. One linked group is distinguished from another by having a different reference number for the link. Layers with the number zero against them in the link column are unlinked. Those that are labeled 1 move together as a group. Those labeled 2 also move together but as a different group from those labeled 1, and so on. The number given to the link is that of the first layer that is involved in the linked group. Locked layers cannot form part of a link and a link must have more than one member. Sometimes a linked design may be edited so that the links move away from their original positions. Then a new and separate link may automatically be given the same designation as an existing link. In that case the new link numbers can be easily altered manually so that they can be distinguished from the earlier set. Unlink This cancels any links that apply to the selected group of layers. To cancel a particular link only one member of the linked set need be selected. A good indication that all layers in a design are unlinked is that then the link column automatically disappears. If it does not then a residual link must exist somewhere in the design. Lock All This command locks all layers. This is useful when just a few outermost layers are to be unlocked. All may be locked using this command and then the few that are to be refined may be manually unlocked. Unlock All This unlocks all layers in a design. Link All Materials For each material used in a design, this command links all the layers in a design that use the same material. It is very useful in reverse engineering applications where, for example, you want to look at the effect of variations in tooling factor on the performance of a design. Tools Menu (Design)The Tools menu gives access to several devices for altering the coating design and also is a useful route to the editing of layer materials. Compact Design Compact Design will remove all layers of thickness less than a defined limit and close up the design. The layers are removed in a way that has minimum impact on the performance. The thinnest that meets the removal criterion is removed first and then the design is closed up. Then the design is resurveyed and the thinnest layer meeting the criterion removed, and so on. Refine Design The techniques available in the Essential Macleod are Simplex, (often called nonlinear simplex to distinguish it from a similarly named technique in linear programming), Optimac, Simulated Annealing, Conjugate Gradient, Quasi-Newton and Needle synthesis. Optimac can accomplish synthesis or refinement. Simplex also has the facility to refine in terms of layer thickness or of packing density, or of both. Packing density can be used in different ways either to simulate inhomogeneous layers or other production variations in reverse engineering, or simply to refine in terms of refractive index instead of thickness or even both simultaneously. Selection of any of the techniques in this menu immediately initiates the refinement or synthesis process, unlike the corresponding command in the parameters menu that brings up first a parameters dialog box. Refinement and synthesis are considered in greater detail below. Index Profile... This produces a plot of refractive index against thickness in whatever thickness units are current. Start Layer and End Layer are optional and, if the entire design is to be shown, a short length of substrate and incident medium are also optional. The following figure shows a quarter-half-quarter antireflection coating. In the index profile the incident medium is on the left and the emergent medium, or substrate, on the right Materials Selection of this item displays and activates the materials window for the current material database. The materials window and the operations that can be carried out on materials will be detailed below. Here we give just a brief account. Materials may be chosen from this window for further examination, for editing, display and exporting. Material names can be dragged in the window to change their order. For example the materials used most often may be arranged near the head of the list. Since this list determines the order in the small lists that are used for design editing it can be very useful in speeding up the design entry and editing process. Options Menu (Design)The Options Menu permits changes in certain aspects of the configuration of the package. These items are listed in greater detail above in the Applications Window Menu section. General... A dialog box permits the alteration of some of the details of the operation of the program. Note that although the materials folder is displayed, this is for reference only. The arrow to the right of the text box and the name of the materials folder within the box are both grayed out. It is not permitted to change the current materials folder when a design is open. This dialog also permits you to change the display order of the layers. Default Design... The default design is the one that is created by the New... command under the File menu. Although this design will be chosen from those that presently exist, it is a separate entity. If the design that was picked as the default is subsequently changed, or even deleted, the default design will remain intact. The default design is attached to the materials database. If the database is changed the default design will change with it. This means that the default design can always be appropriate to the particular database. Window Menu (Design)The Window menu has the same function throughout the package where it appears. It permits the organization of the presentation of the various open windows to be rearranged or to be switched from cascade to tile. The icons indicating reduced windows can be straightened up into rows. The various open windows are listed and can be brought to the front and activated by selecting the correct menu item. Help Menu (Design)This menu is identical throughout the package. It gives access to the on-line help facility and also displays a box with information about the program and about the installation. More information is given earlier under Essential Macleod Application Window. Modeling a RugateIn the Essential Macleod, a rugate coating is modeled as a set of layers where the packing density of each layer is varied through the set to provide the desired index profile. The Generate Rugate command in the Edit menu is a tool that simplifies the generation of the set of layers. The limits of the index variation may easily be established by setting the Material parameter to a material that represents the highest refractive index that is present in the coating, setting the Void Material to a material that represents the lowest refractive index that is present in the coating and setting the Void Density to 1. As the packing density varies from 1 to 0, the refractive index will vary from the Material refractive index to the Void Material refractive index. Since the layer refractive indices are calculated using the packing density function, other relationships between packing density and refractive index can also be used (for example the valid packing density range may be 0 to 2 instead of 0 to 1). The total thickness of the rugate structure is specified in optical by the Total Thickness value. The Reference Wavelength must also be specified. Number of Layers specifies the number of layers that are used to model the rugate structure. Increasing the number of layers improves the accuracy of the calculations at the expense of increased calculation time. A good starting point is to set the number of layers so that each layer is about one eighth of a wave thick at the shortest operating wavelength of the structure. To check the quality of the performance calculations, increase (or reduce) the number of layers and calculate the performance again. If there is little or no change in performance, then the number of layers is sufficient. The Packing Density Formula is used to enter a set of statements that specify how the packing density varies through the set of layers. The formula consists of one or more statements. Each statement consists of an optional Condition, and an Assignment. A Condition is specified by an Expression followed by a colon (":") An Assignment is a Variable name followed by an equal sign ("=") followed by an Expression and ends with a semi-colon (";"). Any text after an exclamation point ("!") is ignored up to the end of the line. When a rugate structure is being generated, the statements in the Packing Density Formula are executed in order from top to bottom. If a statement has a Condition, then the Assignment is only executed if the value of the Expression in the Condition is not zero. If the statement does not have a Condition, then the Assignment is always executed. The Assignment calculates the value of the Expression and stores the value in the Assignment Variable. Variables are automatically created if they do not already exist. There are several special variables: L The current layer number. This variable cannot be modified. The first layer is numbered 1 and the last layer has the value N. N The number of layers as entered in the Number of Layers box. This variable cannot be modified. TotalThickness Total Thickness as entered in the Total Thickness box. This variable cannot be modified. LayerThickness The Thickness of one layer: (TotalThickness / N). This variable cannot be modified. Thickness Cumulative Thickness to center of current layer: (L-1) * LayerThickness + LayerThickness / 2. This variable cannot be modified. ReferenceWavelength Reference Wavelength as entered in the Reference Wavelength box. This variable cannot be modified. PackingDensity The Packing Density of the current layer. After all the statements have been executed, the current layer’s packing density will be the value of this variable. This variable can be modified. The following operators are supported in Expressions: () sub-expressions^ power*, / multiplication, division% modulus (remainder)\ integer divide+, - addition, subtraction, =, , =, logical comparison, | logical "and", logical "or" An operator that is listed on a line above another operator has a higher precedence. The following functions are also supported (they are not case sensitive): Abs, Sin, Cos, Tan, ACos, ASin, Atn, Log, Log10, Exp, Sqr, Int, Frac, Ceil, and Floor. Trigonometric functions accept and return angles expressed in radians or degrees, depending on the setting of Angle Units. For example, the formula: PackingDensity = (1 + sin(360 * L/N))/2; generates a rugate structure consisting of a single period of a sine wave. Click on Preview to generate an index profile plot of the rugate structure. This allows you to verify that the correct structure has been generated. The rugate structure can be made available to the design in two ways: Clicking on Generate will put the layers of the rugate structure onto the clipboard. These layers can be pasted into any design in the normal way. Clicking on Replace Design will cause the current design’s layers to be completely replaced with the layers of the rugate structure. Selecting a variable name in the Packing Density Formula and then clicking on Plot Value will display a plot showing the value of the variable as a function of thickness. This is useful for making sure that the variable’s value is set correctly during rugate generation. Here is a more complicated example. In this example, we want to generate the following refractive index profile: There are three parts to this rugate. The first part is the rise in refractive index from 1.0 to 1.7. This is achieved by the first 90 degrees of a sine wave profile. The second part is a sine wave profile of 32 cycles modulated by a half sine wave profile. The last part is a fall in refractive index from 1.7 to 1. This is achieved by the following Generate Rugate form: The first four lines set up the three parts of the rugate. The first and last parts are each one tenth of the total thickness and the second part is eight tenths of the total thickness. InFirstPart is 1 during the first tenth and 0 elsewhere. InLastPart is 1 during the last tenth and 0 elsewhere. InMiddlePart is 1 when both InFirstPart and InLastPart are 0 and 1 elsewhere. Selecting InMiddlePart and then clicking on Plot Value gives the following plot:
ProportionOfFirstPart, ProportionOfMiddlePart and ProportionOfLastPart start at 0 and linearly increase to 1 in each appropriate part. The envelope for the middle part is generated by a sine function that uses ProportionOfMiddlePart to generate an angle that varies from 0 to 180 degrees. The periodic component is generated by another sine function whose period is one half an optical thickness. The periodic component is scaled so that it varies from –0.5 to +0.5 – a total range of 1. The last three statements generate the packing density variation. These statements use the Condition component to control which statement provides the packing density as a function of thickness. For the first part, the first 90 degrees of the sine function are used to raise the packing density from 0 to 0.5 (the midpoint of the packing density range used here). In the middle part, the periodic component is multiplied by the envelope and the result is then shifted up by 0.5 to give a packing density that varies from 0 to 1. The last part is generated by a sine function starting at 90 degrees and reducing to 0. Generating Complex DesignsIn the Essential Macleod, the Formula tool is used to generate designs with regular features. Some designs have more complex features that cannot be expressed by using Formula, such as chirped reflectors. For these designs, the Generate Design tool can be used to generate the layers in the design. A Generate Design definition consists of default layer parameters represented by single letter symbols, the number of layers in the design and a Formula that specifies the parameters of each layer as a function of layer number. The Formula is used to enter a set of statements that specify how the layer parameters vary through the set of layers. The formula consists of one or more statements. Each statement consists of an optional Condition, and an Assignment. A Condition is specified by an Expression followed by a colon (":") An Assignment is a Variable name followed by an equal sign ("=") followed by an Expression and ends with a semi-colon (";"). Any text after an exclamation point ("!") is ignored up to the end of the line. When a design is being generated, the statements in the Formula are executed in order from top to bottom. If a statement has a Condition, then the Assignment is only executed if the value of the Expression in the Condition is not zero. If the statement does not have a Condition, then the Assignment is always executed. The Assignment calculates the value of the Expression and stores the value in the Assignment Variable. Variables are automatically created if they do not already exist. There are several special variables: L The current layer number. This variable cannot be modified. The first layer is numbered 1 and the last layer has the value N. N The number of layers as entered in the Number of Layers box. This variable cannot be modified. OpticalThickness The total optical thickness of the design excluding the current layer. This variable cannot be modified. PhysicalThickness The total optical thickness of the design excluding the current layer. This variable cannot be modified. LayerOpticalThickness The optical thickness of the current layer. LayerPhysicalThickness The physical thickness of the current layer. LayerLocked The lock state of the current layer. A value of 0 means the layer is not locked. A value of –1 means the layer is locked. LayerLink The link number of the current layer. LayerPackingDensity The Packing Density of the current layer. LayerVoidDensity The Void Density of the current layer. LayerN The refractive index of the current layer. This variable cannot be modified. LayerK The extinction coefficient of the current layer. This variable cannot be modified. MaterialN The refractive index of the current layer material. This variable cannot be modified. MaterialK The extinction coefficient of the current layer material. This variable cannot be modified. VoidMaterialN The refractive index of the current layer void material. This variable cannot be modified. VoidMaterialK The extinction coefficient of the current layer void material. This variable cannot be modified. Layer This is used to initialize the parameters of the layer. It should be used before any layer parameters are modified. Thickness Cumulative Thickness to center of current layer: (L-1) * LayerThickness + LayerThickness / 2. This variable cannot be modified. ReferenceWavelength Reference Wavelength as entered in the Reference Wavelength box. This variable cannot be modified. PackingDensity The Packing Density of the current layer. After all the statements have been executed, the current layer’s packing density will be the value of this variable. This variable can be modified. The following operators are supported in Expressions: () sub-expressions^ power*, / multiplication, division% modulus (remainder)\ integer divide+, - addition, subtraction, =, , =, logical comparison, | logical "and", logical "or" An operator that is listed on a line above another operator has a higher precedence. The following functions are also supported (they are not case sensitive): Abs, Sin, Cos, Tan, ACos, ASin, Atn, Log, Log10, Exp, Sqr, Int, Frac, Ceil, and Floor. Trigonometric functions accept and return angles expressed in radians or degrees, depending on the setting of Angle Units. For each layer generated, the formula must perform a layer initialization as follows: Layer = symbol Where symbol is a defined symbol in the table shown at the top of the form. For example, the formula: Odd = ((L % 2) =1);
Even = ((L % 2) = 0);
Odd: Layer = L;
Even: Layer = H; will generate an design of alternating H and L layers with no modifications to the layer parameters. Click on Preview (Optical) to generate an index profile plot of the design as a function of optical thickness. Click on Preview (Physical) to generate an index profile plot of the design as a function of physical thickness. These commands allow you to verify that the correct structure has been generated. The design can be made available in two ways: Clicking on Generate will put the layers of the design onto the clipboard. These layers can be pasted into any design in the normal way. Clicking on Replace Design will cause the current design’s layers to be completely replaced with the layers of the formula. Selecting a variable name in the Formula and then clicking on Plot Value (Optical) or Plot Value (Physical) will display a plot showing the value of the variable as a function of optical thickness or physical thickness respectively. This is useful for making sure that the variable’s value is set correctly during design generation. This example shows the implementation of an amplitude thickness modulated design presented in Chapter 3 of "Thin Film Design Modulated Thickness and Other Stopband Design Methods by Bruce E. Perilloux ISBN: 0-8194-4525-8 Pub SPIE Press 2002. The function for modulating the thickness is given as: In the Generate Design tool, this function appears as: Pi = 3.1415926;
k = 0.5;
f = 0.358;
f1 = 0.02; (L % 2) = 1: Layer = H;
(L % 2) = 0: Layer = L; LayerOpticalThickness = LayerOpticalThickness * (1 + k* sin(2 * Pi * f1 * L) * cos(2 * Pi * f* L )); The first four lines define constants for the formula. The next two lines specify that the design is made from alternating layers of H and L material. H material is used on the odd numbered layers and L material is used on the even numbered layers. The final line performs the modulation function. The optical thickness of the layer is modified by the modulation function. A 50 layer design using Ta2O5 for the H material and SiO2 for the L Material, with the optical thickness in the table set at 0.25 at a reference wavelength of 1000nm produces the following reflectance performance: ContextsContexts are used to specify the behavior of Agile Materials. An Agile Material is a material whose optical constants depend upon the Context. An Agile Material has a name and for each Context, a material name. When a calculation is performed using a particular Context, the optical constants of the agile material are those of the corresponding material in the Context. Contexts are used during performance calculation and during refinement. Using Contexts, it possible to refine designs for production on multiple substrates, refine designs for production using a range of different real materials. This includes producing a single design for manufacture in coating plants that produce different optical constants for the same raw material. The design above is a antireflection coating that has been optimized for Glass and Silica substrates. This Design has one agile material: Substrate. To see the specifications for Substrate, click on the Context tab. The Context that is shown is the Normal context. In this Context, the Agile Material Substrate has the optical constants of the material Glass. You can use the dropdown arrow to select a different Context. In the Context named Alternative, the Agile Material Substrate has the optical constants of the Material SiO2. By specifying different contexts, the properties of the coating on Glass and on SiO2 can be calculated. The performance parameters dialog (Parameters menu - Performance) allows you to specify a Context when calculating performance, so, for example, you can display the performance of the coating on both substrates on a single plot. |