Hints, Tips and Solutions – August 2005

 

Q. How can I create a Design Of Experiments (DOE) using DeckBuild with one or more variables specified in a single input file when I only have a single license?

A. In DeckBuild it is possible to create a Design Of Experiments (DOE) using ANY variable or variables that were specified in the input file using the “set” statement (Linux or Unix platforms only).

The command line allows the user to set the total number of values for each variable, their minimum and maximum values and the manner in which each variable is swept. The variables can be swept linearly, or exponentially or a number of fixed data values can be listed manually.

The DOE function in DeckBuild will automatically create a complete DOE of every combination of variable and run each input file serially.

If the user does not wish to run every combination but is only interested in certain combinations, it is usually possible to achieve this by making multiple “parameter” statements. The format of these statements is described below.

Since the “set” statement is an existing syntax within DeckBuild , the user can utilize existing input files that already contain set statements to define variable quantities, to create a Design Of Experiments, without changing thier existing input file at all.

To create a DOE, a separate but very simple control file is written, which specifies the input file for the DOE, then simply specifes the min, max and range (or list) required for the DOE for each variable that is required in the DOE. You can specify as few or as many variables to be included in the DOE as you desire. It does not matter what the default values of these set statement variables are in the original input file, their values in the DOE are soley determined by the control file. A simple example below describes how it works.

A quick word of warning is appropriate here, and that is, if the user wishes to save a separate structure or log file for each DOE entry, the name of that structure or log file needs to be dependent on the values of the variable in the DOE, otherwise, it will simply be over-written by each sucessive run. For example, if one of the variables in the DOE was “implant_energy” and it is desired to save a seperate structure for each value of implant energy in the DOE, save a structure file called:

$”implant_energy”_keV.str

and not

implant.str

The structure file called implant.str will be over-written afer each run of the DOE, because it’s name doesn’t change with the changing values in the DOE. The structure file called $”implant_energy”_keV.str will be saved as 10_keV.str for an implant energy of 10keV or 35_keV.str for an implant of 35keV etc, thus a unique and identifiable structure file is saved for each value of implant energy in the DOE. A similar method for uniquely defining log files etc also needs to be used.

 

DOE Example

Let’s take a simple example of an implant statement in an input file where implant dose and energy are the desired variables in the DOE. The relevant lines in the original imput file called “implant.in” are:-

set energy=5

set dose=1e13

implant arsenic dose=$dose \
energy=$energy tilt=7 rot=27

As mentioned above, it doesn’t actually matter what the defined “set values are in the original input file because these are defined in the DOE control file.

Now the user writes a very simple control files to control the values of implant dose and energy required in the DOE. An example control file is given below:

############################################

go internal

load infile=implant.in

sweep parameter=dose type=power \
range=”1e13, 1e15, 3” parameter=energy \
type=linear range=”5, 15, 3”

quit

############################################

Simply load this control file into DeckBuild and run it, making sure that the file called “implant.in” in this example is also in the same directory. The control file will run every combination of implant doses of:

1e13, 1e14 and 1e15/cm2 for energies of :

5, 10 and 15keV

The same DOE could be specified using the “list” feature for either the dose, energy or both. If the “list” feature was used for energy, the syntax would be:

sweep parameter=dose type=power range=”1e13, 1e15, 3” \

parameter=energy type=list data=”5, 10, 15”

The results of this simple DOE are shown in Figures 1 thru 3. A similar example is demonstrated in the DeckBuild examples pull down menu under the heading “DOE: Design of Experiments Examples”. If your Linux or Unix version of DeckBuild does not have this feature, please contact your account manager and request an update.

Figure 1.

 

Figure 2.

 

Figure 3.

 

 

Download pdf Version of this article