next, previous Section / Table of Contents / Index Let us assume that BALSAC is correctly installed in your system. You can start a BALSAC/LATTICE session either - from the initial BALSAC menu, see Sec. 3.2, which shows after startup (start with "balsac" + [enter] on the command line) followed by pressing [L] or - directly using a command line option (start with "balsac -l" + [enter] on the command line). Now you will be presented with the initial session menu ========================================================================== BALSAC/LATTICE 2.16 by K. Hermann (C) Copyright 1991-2005 {graphics mode information} Select: [I]nteractive [R]esume [P]revious [F]ile ->[C]luster [?,]Quit ========================================================================== asks you to select a run option by pressing the respective option key (ignore the graphics mode information for the moment). Since you want to build the lattice section interactively from scratch you press [I]. From now on you have to select various options by pressing option keys enclosed in [ ] and provide numerical parameters by typing the respective values. First, the lattice option menu ========== LATTICE OPTIONS =============================================== Select : [A] sc [B] fcc [L] fcc (Bravais hkl) [C] bcc [M] bcc (Bravais hkl) [D] hcp [N] hcp (lmnq) [E] diamond [O] diamond (Bravais hkl) [F] NaCl [P] NaCl (Bravais hkl) [G] CsCl [H] zincblende [Q] zincblende (Bravais hkl) [I] graphite [R] graphite (lmnq) [J] free lattice [S] free lattice (lmnq) [K] Bravais lattice [U]pdate free/Bravais lattice [V]lattice scaling [T]itle [?,]esc ========================================================================== asks you to select the lattice you want to study. So for a Zincblende type lattice you type [H]. This is confirmed by a line Znblnde(fcc+2) lattice selected, code = 8 Now BALSAC asks you Global lattice scaling constant a= for a reasonable value of the lattice constant of the lattice. At first you are not interested in numerical results but only in the structural details of the lattice. Therefore, you use a trivial value, typing "1." + [enter]. This defines the lattice constant as one unit length (whatever "unit" means; in typical applications you will deal with Angstrom units but feel free to use those of your preference). After these basic lattice definitions the prompt ========== MILLER INDEX OPTION =========================================== Define Miller indices for directions of net plane stacking to build the lattice section. Simple cubic, Bravais, and 4-index notation are available depending on the lattice type. Miller indices (H K L / 0 0 0 ) : ========================================================================== gives a short explanation and asks you to select the lattice plane stacking you want to use to build your lattice. Here you have to provide three (integer) Miller indices (the three zeroes in brackets mean that previous values of H, K, L have not been defined). Since you want to study the (001) planes of the lattice you type "0,0,1" + [enter]. Now the prompt ========== SECTION OPTIONS ======================================== Select the size of a rectangular lattice block to be displayed. The block is defined by layers of N1 x N2 atoms where N3 layers are stacked. NINIT sets the index of the initial plane (bottom of block ) for non-primitive lattices ( NINIT = 1 for primitive lattices). Section N1,N2,N3,NINIT : =================================================================== gives a short explanation and asks you to choose the size of the lattice plane sections you want to inspect. BALSAC has already determined two vectors R1', R2' which define a periodicity basis within the lattice planes. Then the section size is determined by the number of atoms along each of the two basis vectors. Here N1 refers to R1' and N2 to R2'. Since you want a picture that does not look too complicated but still gives the impression of planes you decide on a 3 x 4 array of atoms in each plane (N1=3, N2=4). Now you have to tell BALSAC how many planes you want to include. This is the 3rd entry, N3, of the section request. Again you don't want a plot that looks too crowded and ask for 7 planes (N3=7). Finally, the Zincblende lattice is non-primitive and there are two different (0 0 1) lattice subplanes. BALSAC/LATTICE allows you to build structures starting with different subplanes. The number of the starting subplane is required as the 4th parameter NINIT in the above section request. To begin you start with the first plane (NINIT=1, you can start with the second plane later). This completes the input for the section request reading "3,4,7,1". You send it off with [enter]. Now BALSAC shows the view option menu ========== VIEW OPTIONS ================================================== [V]iew(miller) = ( .000 .000 1.000 / .000) [T]heta,(dtheta) = .00 ( 10.00 ) [P]hi,(dphi) = .00 ( 10.00 ) [R]ot,(drot) = .00 ( 90.00 ) [M]agnf,(dmagnf) = 1.0000 ( 1.5000 ) [Q]persp,(dpersp) = .0000 ( 1.5000 ) [F]ocus = 0 ( .000 .000 .000 ) [S]hift (pixels) = 0 , 0 [A]ll [W]orkb [D]ispla [?,]esc ========================================================================== asking for details of the viewing geometry in subsequent plots. The first line describes the viewing direction by Miller indices as will be explained below. The next lines contain viewing angles and other quantities that you need for the viewing. All necessary parameters are defaulted with values given as the first numbers in each line of the list. The incremental values (becoming important later) are shown in brackets. Let us start by setting all parameters except for Miller view indices (which will be computed internally). You press [A] and get the prompt Input THETA,PHI,ROT,MAGNF,PERSP : First you want to understand what these parameters mean. THETA and PHI are the two angles defining the viewing direction. This is based on a right handed coordinate system where the z axis coincides with the lattice plane normal and the x axis is parallel to the lattice plane basis vector R1'. If you use spherical coordinates (r,THETA,PHI) in this system you can specify any direction by angles THETA (polar angle with respect to z axis), PHI (azimuthal angle with respect to x axis). This is the notation used for the viewing direction. You may want to inspect the lattice section along the lattice plane normal vector which means THETA = 0 and PHI = 0. BALSAC allows also to rotate the plot about the viewing axis by an angle ROT. Since you don't want to rotate at this moment (additional rotation may only confuse you) you set ROT = 0. BALSAC can enlarge or reduce the size of the picture on the screen using a magnify factor MAGNF. You stick to the default size (maximum screen filling) and set MAGNF = 1. Now you have to decide on the kind of projection to obtain a 3-dimensional impression of the lattice on the screen by setting PERSP. As will be discussed in great detail in Sec. 6.2.6 a perspective value PERSP > 0 results in central perspective while PERSP = 0 leads to parallel projection. You start with the simplest case, parallel projection where PERSP = 0. Now the input for the view request is complete and reads "0.,0.,0.,1.,0." which agrees, by the way, with the default values. (For a view along the planes with a 70 degrees rotation, half size reduction, and a reasonable perspective the input would read e.g. "90.,0.,70.,.5,3.".) After sending it off with [enter] BALSAC returns to the view option menu (see above) and gives you another chance to modify each parameter. There is an alternative method to tell BALSAC/LATTICE about the viewing direction which is available as option [V] (Miller view) in the menu. Here you define directions in the crystal by triples (vh, vk, vl) defining linear combinations of the three reciprocal lattice vectors. If the three components vh, vk, vl are integer valued you have the usual Miller index definition of a lattice direction. However, for a general direction vh, vk, vl will be non-integer. After you press [V] the prompt Input Miller view (VH,VK,VL) : asks you to define the view direction vector. Looking at the lattice planes along the normal vector corresponds to VH,VK,VL = 0,0,1. After you type "0,0,1" + [enter] BALSAC returns to the view option menu with the same values of THETA, PHI as shown above which confirms that you have chosen the same viewing direction as before by defining the angles THETA, PHI explicitly. (Typing "0,1,0" + [enter] would have yielded angles THETA=90, PHI=45.) To go on to the next set of options you press [,] after which BALSAC shows as the final part of the build up sequence the graphics option menu ========== GRAPHICS OPTIONS ============================================== Graphs: [D]esign(Hm) [S]tereo(off) [B]ackgr( 0) [P]alstart( 1) [M]ode(A) [C]link( 0) [L]ayout(L-/T-F) c[T]abl [W]orkb [?,]esc ========================================================================== which lets you define all important graphics parameters, such as the display mode (layer-by-layer or atom-by-atom), how to represent atoms (points, balls, etc.), or color settings, which are used to plot the lattice section. Most of these parameters come already with reasonable defaults and do not need to be changed. Let us assume that you want create a layer-by-layer plot pausing the plot between subsequent layers. So you press [M] and the prompt ========================================================================== Mode (A) : [L]ayer-by-layer, [A]tom-by-atom, [C]ells, [?,]esc ========================================================================== lets you choose between different modes where in "Mode (A)" the character in brackets means that the default mode was atom-by-atom display. For layer-by-layer plotting you press [L] after which BALSAC returns to the graphics option menu which reads ========== GRAPHICS OPTIONS ============================================== Graphs: [D]esign(Hm) [S]tereo(off) [B]ackgr( 0) [P]alstart( 1) [M]ode(L) [C]link( 0) [L]ayout(L-/T-F) c[T]abl [W]orkb [?,]esc ========================================================================== where "[M]ode(L)" confirms your choice. Next you decide about how the atom are to be shown in plots. Pressing [D] shows ========================================================================== Design(Hm) : [N]one [L]ist [P]oint [C]ircle [A]rea [R]Bstereo balls: [H]ard [F]uzzy [D]ithered [G]lossy [S]tereodup(off) [?,]esc ========================================================================== and lets you choose between different representations. Here in "Design (Hm)" the characters in brackets mean that the default representation of atoms was by hard-shaded balls (using a mono view). Since you want color filled circles (= areas) you press [A] after which BALSAC returns to the graphics option menu which reads ========== GRAPHICS OPTIONS ============================================== Graphs: [D]esign(Am) [S]tereo(off) [B]ackgr( 0) [P]alstart( 1) [M]ode(L) [C]link( 0) [L]ayout(L-/T-F) c[T]abl [W]orkb [?,]esc ========================================================================== where "[D]esign(Am)" confirms your choice. Next you define your plot layout. Pressing [L] shows the layout menu [T]itl(on ) [B]as(off) [F]ram(on ) [P]aint(layer) [L]abl(none) [?,]esc where all options parameter values ("on", "off", "layer", "none") are given in brackets after each entry. Here the defaults show that each plot comes with a title line at the top, no lattice vectors (basis) are shown, the lattice section is enclosed by a wire frame, atoms of different lattice planes (layers) will be discriminated by different colors, and atoms will not be labelled. You can change the above options by pressing the respective keys [T], [B], [F], [P], [L] as many times as you like. Each key press is confirmed by a new option line which shows the updated selection. You want lattice vectors to be shown and press [B]. You further want to label atoms by their element names and press [L]. Now the option line reads [T]itl(on ) [B]as(on) [F]ram(on ) [P]aint(layer) [L]abl(elmnt) [?,]esc You return to the graphics option menu pressing [,] and since all parameters are set you move on by [,] which completes the initial build up sequence and shows the main option menu ========== BALSAC/LATTICE MENU =========================================== [L]attice = Znblnde(fcc+2) lattice ( 8) a= 1.00000000 file = {} [R]ad/nuc = 2 ( 2) [M]iller = ( 0 0 1 )c ( 1 1 0 ) [S]ection = 3 4 7 ; top= 1 ; rclc=on ; atoms= 0 ( 0) [C]hstruct = 0 layers: [V]iew = .0 .0 ; rot= .0 ; mag= 1.00 ; per= .00 ; foc= 0 [G]raphics = L/Am ; colr= 0/1 LE ; lout=TBF ; cnct= 0 ; shft= 0 0 [X]plot [A]nl [I]nput [O]utput stac[K] [N]ew >cl[U]str [P]arm [?]Help [,]Quit ========================================================================== which gives shorthand information about the parameters you have defined so far (a detailed explanation of this menu is given in Sec. 6.2.0.). From this menu you can generate a pretty picture on the screen (using plot option [X]) or choose any of the other main options which allows you, amongst other things, to modify all parameters defined in the initial build up. Let's try out graphics first. To produce graphics output you simply press [X] inside the main option menu (or any other menu that offers the [X]plot option). Depending on whether you sit before a PC or in front of an X.11 Windows equipped graphics workstation you can watch the screen being cleared or a graphics window being created on the screen after which the wire frame of a 3-dimensional box shows up (looking like rectangle of white lines with the present viewing parameters). All lattice plane sections shown in the following will be inside a box outlined by the wire frame. Then the first layer of atoms given by (blue) painted spheres shows on the screen. The atoms are all labelled by "Zn" since they represent zinc atoms. In addition, the screen shows a title line ( 0 0 1 )c Znblnde(fcc+2) < .0 .0> 1 A at the top indicating which lattice plane of what lattice you see. Here the Miller indices "(0 0 1)c" are given with respect to the simple cubic reciprocal lattice vectors which you asked for. The following two numbers on the title line define the actual viewing direction given by angles "<THETA PHI>" (see above) which confirms that you are viewing perpendicular to the layers. The two characters at the end, "1 A", tell you that BALSAC has generated a first lattice plane section (1) using the first subplane (A). Note that since you have chosen a non-primitive lattice there are two non-equivalent parallel subplanes, "A", "B", which are repeated periodically. In primitive lattices you would get only "A" planes. To continue you press [enter] after which the atoms of the second lattice plane shown as (green) painted spheres with their atoms labelled "S" are added to the plot. Now the last two characters on the title line read "1 B" since the program has added a lattice plane section from the first set of subplanes (1) using the second subplane (B). After you press [enter] again another layer of zinc atoms shown by (dark green) painted spheres and labelled "Zn" will be added to the plot and the lattice plane is denoted "2 A" in the title and so on. After you have added the 7th lattice plane section (denoted "4 A" showing zinc atoms ) the plot output is completed by finishing the wire frame (which you don't recognize with the present viewing parameters). In addition, three lines are drawn and labelled by "1", "2", "3" giving a graphical impression of the actual basis vectors used to create the atoms. Finally, a menu line Replot[udlrV][rRpPmM+] analyze[Q] stack[LS] trnsf[T] qmen[O] sho[EI] [?,]esc shows at the bottom of the screen listing all available fast plot key options (pressing [O] will show all options of the main option menu, don't use it at this point). Now you can inspect the lattice section with different values of viewing parameters (using one of the fast plot keys of the above list, see Sec. 6.2.6) or analyze the lattice section with/without a mouse pointer (see Sec. 3.3.4) or go back to the main option menu by pressing the escape key [,]. As an example for modifying the graphics output let us produce a more flashy view of the ZnS (001) lattice planes. You start from the main option menu with the above parameters (you may have to press the escape key [,] several times to get there) and increase the crystal section block by [S], [B], "4,5,7" + [enter], [,] returning to the main option menu and change the view and projection by [V], [T], "60.0,10.0" + [enter], [P], "65.0,10.0" + [enter], [Q], "3.0,1.0" + [enter], [,] returning to the main option menu and modify graphics (display atom-by-atom as unlabelled dither-shaded balls of different color according to their nuclear charge, no basis, no labels) by [G], [M], [A], [D], [D], [L], [B] until "[B]as(off)" shows, [C] until "[C]ol(elmnt)" shows, [L] until "[L]abl(none)" shows, [,] returning to the graphics menu. Now pressing [X] from inside the graphics submenu produces a pretty picture of the lattice section without having to go through the main option menu. While the picture is created atom-by-atom you can interrupt by pressing [enter] after which plotting stops and you can inspect the incomplete structure. This can help to orient yourself in a complicated structure. Pressing [enter] with the plot stopped resumes plotting to complete the lattice section, closing the wire frame, and showing the above option menu line at the bottom of the screen. Now you can examine the picture and then return to the main option menu by [,]. Let us save the present structure and graphics data on a backup file with the default name 'balsac.lat'. The use of separate structure files will be discussed in great detail later on, see Secs. 3.3.5-6. However, for now you simply press [O] in the main option menu to get to the file output menu and then [Q] to store. In the next plot you want to distinguish visually between different layers rather than different kinds of atoms. Thus, you modify graphics (display atoms as shaded balls of different color according to their layer position) starting from the main option menu and press [G], [L], [C] until "[C]ol(layer)" shows, [X] . After plotting has finished you try a few more things before returning to the main option menu. For instance, you can decrease the viewing angle THETA by 10 degrees and immediately repeat the plot by pressing the cursor key [arrow down] or alternatively the number key [2], see Sec. 5.5. Repeating the display process with changed viewing parameters may not require to show the complete lattice section with all atoms. You can interrupt plotting at any time by pressing [enter] followed by [,]. This finishes the plot of the (incomplete) section indicated by the menu line after which you can start the next plot with changed viewing parameters. Working with incomplete plots can speed up the initial orientation in unknown structures considerably. After you have tried out the fast view change with a few plots you return to the main option menu by pressing [,] after a plot has completed. So far, the topmost lattice plane consists of positive Zn ions shown as small balls which accounts for one of two possible terminations of ZnS(001) surfaces. To see how the second surface termination looks you modify the termination number. Let us start from the completed graphics and bypass the main option menu. Typing [O] keeps the graphics but shows a second option menu line Structure[LCMSRA] Graphics[VG] Files[IOK] [P]arms Cont[XNEU] [?,]esc listing all option keys of the main option menu and allowing to move immediately to the respective suboptions. After you press [S], [I], "2" + [enter], [X] BALSAC displays the lattice section starting with the second inequivalent lattice plane yielding the alternative termination where the topmost lattice plane consists of negative sulfur ions (large balls). Other surfaces like (110) would have shown both Zn and S ions within the same layer. Try it out and select Miller indices of (110) planes pressing [M], "1,1,0" + [enter], [X] from the main option menu. As a result, you see a section of the ZnS(110) surface. Try to rotate the lattice section on the screen by pressing any of the cursor keys [up/down/left/right] or [8/2/4/6] . Also try to magnify/reduce the plot size by pressing [M/m] after a plot is completed. You can study various numerical structure parameters calculated by BALSAC with the text analysis starting from the main option menu pressing [A], [B], [C], [M], [C], [,] . Further, you can inspect and change (don't at this point!) a number of internal control parameters determining BALSAC graphics starting from the main option menu pressing [P],... [,] . Finally, you can study different structures contained in the example structure files provided with BALSAC starting from the main option menu by pressing [I], "file" + [enter] where "file" is a valid file name. Try to find and visualize the high Tc superconductor crystal YBa2Cu3O7 described by file 'ybacuo.lat'. When you are tired or bored you quit the session by using the exit option [,] from the main option menu which asks you Confirm exit: [Q]uit [E]nd(save) [B]ckup( on) [?,]esc to confirm quitting the session. Pressing [Q] will simply exit BALSAC while pressing [E] stores all structural and graphics parameters of the present session on a backup file named 'balsac.lat' after which BALSAC finishes. You can use the file 'balsac.lat' as structure input to a subsequent BALSAC/LATTICE run, see Sec. 3.3.6. The safety backup flag shown with "[B]ckup( on)" in the above prompt reads "on" by default. Thus, quitting a BALSAC session will always keep a safety copy of your last session status so that you can return to it if you have left BALSAC by mistake. Recovering the last BALSAC/LATTICE session is possible with "balsac -lp" from the command line. If you don't want safety copies you simply press [B] above which will be confirmed by "[B]ackup(off)" in the prompt. next, previous Section / Table of Contents / Index