i DISSERTATION ABSTRACT A new nanoscale technique for measurement of stresses has been developed for use in crystalline structures of arbitrary complexity. This has been accomplished by utilizing transmission electron microscopy (TEM) and focused ion beam (FIB) technology in conjunction with an ensemble of computer programs which include finite element modeling (FEM), electron diffraction strain contrast simulation, and image manipulation. Stresses in semiconductor devices have been measured quantitatively with a spatial resolution on the order of nanometers (nm) and a relative sensitivity on the order of tens of Mega Pascals (MPa). This technique has been applied to Si/GeSi/Si heterojunction bipolar transistor (HBT) device structures and InAs quantum dots embedded in a GaAs matrix. The stress measurement process consists of first obtaining a sample by FIB micromachining which results in a thin cross sectional membrane of known geometry through the selected device structure, a HBT. An experimental image obtained via TEM is then used to build the geometry of a finite element structure with ANSYS software. FEM is then used to obtain a simulated stress field throughout the HBT of the actual thin membrane structure, where the intrinsic stresses of polycrystalline and amorphous materials contained within the device structure were determined by wafer curvature measurements. A program which simulates electron diffraction contrast from FEM stress field data by the application of the dynamic electron diffraction Howie-Whelan Equations is then used to create a simulated TEM image. The two images, experimental and simulated, are then normalized to each other such that their intensities and gray levels fall along the same dynamic range. Subtraction of one image from the other on a pixel by ii pixel basis can then be performed, which creates a difference map of changes in grayscale. Once the relative stress sensitivity per gray level is determined, it becomes possible to quantify the stresses in the experimental structure by using the simulated device as a starting point. Areas of higher stress within the device structure have been quantified. These include single crystalline regions in close proximity to tungsten (W) vias, material immediately adjacent to thin thermal SiO 2 layers, and oxide trenches. Understanding the nature of stress relaxation due to surface relaxation in the thin film FIB membrane structures is quantified as this can cause stress relaxation on the order of 30-50% compared to the bulk device structure. Additionally, to verify the overall accuracy of the described quantitative procedure, the strain fields due to lattice mismatch strain around InAs quantum dots embedded in a GaAs matrix are quantified and compared to an independently derived analytical solution for the identical structure. Finally, initial implementation of a portable multidimensional minimization and interpolation algorithm is discussed that independently varies the stress levels in different materials composing the structure. This serves to improve the stress quantification algorithm by finding the global minimum for matching of experimental and simulated image intensities. iii ACKNOWLEDGEMENTS Ø First and foremost I must thank my mentor, advisor, and friend during this endeavor: Dr. Robert Hull (a.k.a. the Devil’s advocate). I could not have asked for a nicer or more intelligent guide for my graduate experience and not a week has gone by where I have not considered myself truly lucky to tutored by him at this stage of my career. Robert, you taught me to attempt to think and understand, and I thank you. Ø My family (particularly my parents) deserve a place here as well. For without them, I would not be here today and certainly would not have my interest or predisposition to science. And I would certainly not have my stubbornness and tenacity. Ø To those truly wonderful people that I count among my friends—particularly my close ones upon whom I base my self and I’m certain you know who you are—my thanks for putting up with my complaints during the bad times (of which there were few), sharing in my elation during the good, and providing vacation spots throughout the U.S. and beyond. Ø I must then thank the people at IBM (K. Schonenberg in particular), and the company itself (for funding this project through a research grant and fellowship award), without whose help I would not have been able to accomplish this work. Ø Koen Janssens and Leo Zhigilei deserve an acknowledgement for their help and patience as a programming gurus. Ø Finally I would like to thank everyone at the Materials Science Department at the University of Virginia, because all of you have touched my life and made my experience here extraordinary. iv Statements which reach to the core of my being: Happiness was just around the corner, a corner they never turned. And the source of it all was the human mind. Dan Milman, The Way of the Peaceful Warrior Try, fail, and learn. Do things for your own approval and no one else’s. My friendships are the foundation upon which I build my self. v TABLE OF CONTENTS DISSERTATION ABSTRACT...................................................................................................................................I ACKNOWLEDGEMENTS.......................................................................................................................................III TABLE OF CONTENTS ............................................................................................................................................ V LIST OF FIGURES................................................................................................................................................. XIII LIST OF TABLES ..................................................................................................................................................XXII LIST OF SYMBOLS............................................................................................................................................ XXIII CHAPTER 1: INTRODUCTION..............................................................................................................................1 1.1 INTRODUCTION OF PROJECT ............................................................................................................................... 1 1.1.1 INTRODUCTION.................................................................................................................................................. 1 1.1.2 M OTIVATION AND BRIEF BACKGROUND ........................................................................................................ 2 1.1.3 SIGNIFICANCE OF THIS WORK.......................................................................................................................... 4 1.1.4 CURRENT LIMITS OF STRAIN CHARACTERIZATION ....................................................................................... 5 1.2 INTRODUCTION TO THE PRIMARY EXPERIMENTAL SYSTEM STUDIED: GESI/SI HETEROJUNCTION BIPOLAR TRANSISTORS .............................................................................................................................................. 8 1.2.1 INTRODUCTION.................................................................................................................................................. 8 1.2.2.1 THE BIPOLAR JUNCTION TRANSISTOR ......................................................................................................... 9 1.2.2.2 THE HETEROJUNCTION BIPOLAR TRANSISTOR ......................................................................................... 10 1.2.3 F RONT END HBT FABRICATION PROCESS .................................................................................................... 13 1.2.3.1 OXIDE GROWTH ........................................................................................................................................... 13 1.2.3.2 SI GE HETEROEPITAXY ................................................................................................................................ 15 1.2.4 EMITTER STRUCTURE ..................................................................................................................................... 17 vi 1.2.5 BACKEND PROCESSING ................................................................................................................................... 17 1.3 CONCLUSIONS ..................................................................................................................................................... 19 CHAPTER 2: EXPERIMENTAL TECHNIQUES ............................................................................................21 2.1 FOCUSED ION BEAMS......................................................................................................................................... 21 2.1.1 INTRODUCTION................................................................................................................................................ 21 2.1.2 P RINCIPLES OF OPERATION ............................................................................................................................ 23 2.1.2.1 LIQUID METAL ION SOURCE (LMIS).......................................................................................................... 23 2.1.2.2 SUPPRESSOR/EXTRACTOR ASSEMBLY ....................................................................................................... 24 2.1.2.3 LENS 1 AND THE BEAM DEFINING APERTURE .......................................................................................... 25 2.1.2.4 LENS 2 AND THE DEFLECTION OCTUPOLE................................................................................................. 26 2.1.2.5 IMAGE GENERATION .................................................................................................................................... 26 2.1.3 FIB APPLICATIONS.......................................................................................................................................... 28 2.1.3.1 M ATERIAL REMOVAL .................................................................................................................................. 28 2.1.3.2 DEPOSITION .................................................................................................................................................. 29 2.1.4 FIB SAMPLE PREPARATION ............................................................................................................................ 30 2.2 TRANSMISSION ELECTRON M ICROSCOPY....................................................................................................... 35 2.2.1 INTRODUCTION................................................................................................................................................ 35 2.2.2 DIFFRACTION................................................................................................................................................... 36 2.2.2.1 ELASTIC SCATTERING.................................................................................................................................. 36 2.2.2.2 INELASTIC SCATTERING45 ........................................................................................................................... 37 2.2.2.3 BRAGG DIFFRACTION .................................................................................................................................. 38 2.2.2.4 DIFFRACTION VECTOR ................................................................................................................................ 39 2.2.2.5 DEVIATION PARAMETER............................................................................................................................. 40 2.2.2.6 STRUCTURE FACTOR.................................................................................................................................... 40 2.2.2.7 EXTINCTION DISTANCE ............................................................................................................................... 41 2.2.2.8 M EASUREMENT OF DEVIATION PARAMETER............................................................................................ 42 2.2.2.9 THE TWO BEAM CONDITION ....................................................................................................................... 43 2.2.2.10 KINEMATICAL DIFFRACTION.................................................................................................................... 45 vii 2.2.2.11 DYNAMICAL DIFFRACTION....................................................................................................................... 45 2.2.3 IMAGE CONTRAST MECHANISMS ................................................................................................................... 47 2.2.3.1 DIFFRACTION CONTRAST ............................................................................................................................ 47 2.2.3.2 PHASE CONTRAST ........................................................................................................................................ 50 2.2.3.3 A BSORPTION CONTRAST ............................................................................................................................. 51 2.2.4 THE TRANSMISSION ELECTRON MICROSCOPE ............................................................................................. 52 2.2.4.1 THE ELECTRON GUN .................................................................................................................................... 52 2.2.4.2 W EHNELT CUP .............................................................................................................................................. 52 2.2.4.3 CONDENSER LENSES .................................................................................................................................... 53 2.2.4.4 SPECIMEN REGION ....................................................................................................................................... 53 2.2.4.5 OBJECTIVE LENS........................................................................................................................................... 53 2.2.4.6 OBJECTIVE APERTURE ................................................................................................................................. 55 2.2.4.7 INTERMEDIATE AND PROJECTOR LENS ASSEMBLY .................................................................................. 55 2.2.4.8 SELECTED AREA APERTURE ........................................................................................................................ 55 2.2.4.9 VIEWING CHAMBER..................................................................................................................................... 56 2.2.4.10 SLOW SCAN CAMERA ................................................................................................................................ 56 2.2.5 EXPERIMENTAL DETAILS CONCERNING TEM TECHNIQUES EMPLOYED ................................................. 56 2.2.5.1 A LIGNMENT ROUTINE FOR AN FIB/TEM SAMPLE CONTAINING A SEMICONDUCTOR DEVICE STRUCTURE ................................................................................................................................................................ 57 2.2.5.2 IMAGE RECORDING VIA THE SSC............................................................................................................... 59 2.2.5.3 THICKNESS DETERMINATION OF SPECIMENS............................................................................................ 60 2.2.6 CONVENTIONAL TEM CROSS SECTION SAMPLE PREPARATION ............................................................... 62 2.3 CONCLUSIONS ..................................................................................................................................................... 63 CHAPTER 3: SIMULATION AND MODELING TECHNIQUES ..............................................................64 3.1 FINITE ELEMENT ANALYSIS.............................................................................................................................. 64 3.1.1 INTRODUCTION................................................................................................................................................ 64 3.1.2 P RINCIPLES OF THE FINITE ELEMENT METHOD ............................................................................................ 65 3.1.2.1 TENSOR NOMENCLATURE ........................................................................................................................... 66 viii 3.1.2.2 THE STIFFNESS MATRIX .............................................................................................................................. 66 3.1.2.2.1 P RINCIPLE OF VIRTUAL WORK ................................................................................................................ 69 3.1.3 FINITE ELEMENT MODEL CONSTRUCTION .................................................................................................... 72 3.1.3.1 EXPERIMENTAL IMAGE ............................................................................................................................... 72 3.1.3.2 KEY POINTS................................................................................................................................................... 73 3.1.3.2 LINES.............................................................................................................................................................. 74 3.1.3.3 A REAS............................................................................................................................................................ 75 3.1.3.4 VOLUMES ...................................................................................................................................................... 76 3.1.4 FINITE ELEMENT MODEL MESHING ............................................................................................................... 76 3.1.4.1 ELEMENT TYPES........................................................................................................................................... 76 3.1.4.2 ELEMENT SHAPE CHECKING ....................................................................................................................... 77 3.1.4.3 ELEMENT MESH DENSITY............................................................................................................................ 78 3.1.5 M ATERIAL PARAMETERS................................................................................................................................ 78 3.1.5.1 COEFFICIENT OF THERMAL EXPANSION.................................................................................................... 82 3.1.5.2 INTRINSIC STRESS MEASUREMENTS.......................................................................................................... 82 3.1.6.1 FINITE ELEMENT MODEL BOUNDARY CONDITIONS.................................................................................. 84 3.1.6.2 EXPERIMENTAL STRUCTURE ...................................................................................................................... 84 3.1.6.3 SAINT VENANT ’S PRINCIPLE 75&54 .............................................................................................................. 84 3.1.6.4 STRUCTURAL SYMMETRY54 ........................................................................................................................ 85 3.1.6.5 BOUNDARY CONDITION CONCLUSIONS..................................................................................................... 86 3.1.7 A PPLYING LOADS AND SOLVING THE MODEL .............................................................................................. 87 3.1.8 RESULTS OF THE FEM .................................................................................................................................... 87 3.1.9 OUTPUT FILES FOR THE SIMCON PROGRAM.............................................................................................. 87 3.1.10 M ODEL ACCURACY....................................................................................................................................... 88 3.1.11 H-CONVERGENCE VERSUS P -CONVERGENCE ............................................................................................. 88 3.1.12 HARDWARE .................................................................................................................................................... 89 3.2 ELECTRON DIFFRACTION CONTRAST SIMULATION ...................................................................................... 90 3.2.1 INTRODUCTION TO SIMCON......................................................................................................................... 90 ix 3.1.2 THE SIMCON APPROACH ............................................................................................................................. 91 3.2.2 SIMCON MODIFICATIONS (A PPENDIX A) .................................................................................................. 91 3.2.3 OPERATION OF THE SIMCON P ROGRAM .................................................................................................... 92 3.2.3.1 SIMCON_FE_MM ..................................................................................................................................... 94 3.2.3.1.1 IMAGEIN ..................................................................................................................................................... 94 3.2.3.1.2 COORDINATE_ SYSTEMS ........................................................................................................................... 97 3.2.3.1.3 FE_ FILE_ DATA .......................................................................................................................................... 98 3.2.3.1.4 EXECUTION OF THE SIMCON ROUTINE ............................................................................................... 99 3.2.3.2 POST PROCESSOR.......................................................................................................................................... 99 3.3 IMAGE COMPARISON........................................................................................................................................101 3.3.1 IMAGE COMPARISON SOFTWARE .................................................................................................................101 3.3.2 P REPROCESSING.............................................................................................................................................101 3.3.2.1 EXPERIMENTAL PREPROCESSING .............................................................................................................101 3.3.2.2 SIMULATION PREPROCESSING ..................................................................................................................103 3.3.2.3 P REPROCESSING RESULTS........................................................................................................................104 3.3.3 AVS IMAGE ALIGNMENT .............................................................................................................................107 CHAPTER 4: QUANTIFICATION OF STRESSES IN SI/SIGE/SI HETEROJUNCTION BIPOLAR TRANSISTORS ................................................................................................................................... 110 4.1 EXPERIMENTAL PROCEDURES ........................................................................................................................110 4.1.1 INTRODUCTION..............................................................................................................................................110 4.1.2 THE QUANTIFICATION PROCEDURE AS APPLIED TO THE SHALLOW ISOLATION TRENCH GEOMETRY 111 4.1.3 RESULTS OF DIFFERENT TWO BEAM CONDITIONS.....................................................................................119 4.1.4 VARYING THE DEVIATION PARAMETER, W , FOR A CONSTANT FEM MODEL .......................................122 4.1.5 FRESNEL CONTRAST 46,86&87 .........................................................................................................................124 4.1.5.1 EXPERIMENTAL ANALYSIS........................................................................................................................125 4.2 RESULTS.............................................................................................................................................................127 4.2.1 VARYING FEM LOADS TO OBTAIN THE BEST IMAGE MATCH .................................................................127 4.2.1.1 ORIGIN OF THE OBSERVED STRESS DISTRIBUTION IN THE SHALLOW ISOLATION TRENCH...............133 x 4.2.1.2 STRESSES CORRESPONDING TO GEOMETRICALLY SQUARE AND ELLIPTICAL ISOLATION TRENCH GEOMETRIES.............................................................................................................................................................135 4.2.2 COLLECTOR CONTACT ANALYSIS................................................................................................................136 4.2.3 QUANTIFICATION OF STRESSES IN STRUCTURES WITH MULTIPLE SINGLE CRYSTAL MATERIALS (HBT EMITTER/ BASE STRUCTURE )—AN EXPLORATION OF THE LIMITS OF OUR QUANTITATIVE TECHNIQUES.....141 4.2.3.1 QUANTITATIVE ANALYSIS.........................................................................................................................142 4.2.3.2 BASE STRESS VARIATION..........................................................................................................................147 4.2.3.3 SUMMARY OF BASE -EMITTER ANALYSIS; IMPLICATIONS FOR STRESS QUANTIFICATION OF VERY COMPLEX STRUCTURES...........................................................................................................................................148 4.3 STRESS IN THE EXPERIMENTAL SAMPLE VERSUS THE BULK STRUCTURE ..............................................152 4.3.1 SURFACE STRESS RELAXATION IN THE EXPERIMENTAL SAMPLE ............................................................152 4.3.2 DIFFERENT FEM MODELS USED .................................................................................................................153 4.3.3 M ETHOD OF QUERYING RESULTS OF FEM.................................................................................................157 4.3.4 EXAMINATION OF MODEL A ........................................................................................................................159 4.3.5 EFFECT OF CHANGING THE THICKNESS OF THE CROSS SECTIONAL MEMBRANE (M ODEL B)..............160 4.3.6 EFFECT OF MODEL GEOMETRY AND APPLIED BOUNDARY CONDITIONS.................................................162 4.3.7 EFFECT OF MODEL GEOMETRICAL EXTENT UPON STRESS ........................................................................163 4.3.9 RELATING QUANTIFIED STRESSES TO THE REAL STRUCTURE .................................................................166 4.4 CONCLUSIONS ...................................................................................................................................................168 4.4.1 GENERAL STATEMENTS................................................................................................................................168 4.4.2 RESULTS.........................................................................................................................................................168 4.4.3 EXPERIMENTAL AND MODELING ISSUES.....................................................................................................170 4.4.4 SURFACE RELAXATION.................................................................................................................................171 CHAPTER 5: QUANTIFICATION OF LATTICE MISMATCH STRAINS IN NANOSTRUCTURED SYSTEMS ...................................................................................................................... 172 5.1 INTRODUCTION .................................................................................................................................................172 5.2 FINITE ELEMENT MODELING OF THE QD GEOMETRY..................................................................................174 5.3 TRANSMISSION ELECTRON MICROSCOPY OF QUANTUM DOTS...................................................................176 xi 5.3.1 TEM PARAMETERS .......................................................................................................................................176 5.3.2 EFFECT OF QD POSITION WITHIN THE THICKNESS OF THE SAMPLE .......................................................177 5.3.3 EXPERIMENTAL ANALYSIS ...........................................................................................................................182 5.4 QUANTIFICATION OF STRAIN AROUND QD ...................................................................................................182 5.4.1 STOLERU ANALYTICAL SOLUTION ..............................................................................................................183 5.4.2 QUANTIFICATION OF STRAINS VIA THE METHOD DESCRIBED IN THIS DISSERTATION .........................184 5.5 EXPERIMENTAL EVIDENCE THAT THE QD COMPOSITION MAY NOT BE UNIFORM ...................................187 5.6 CONCLUSIONS ...................................................................................................................................................188 CHAPTER 6: GENERAL CONCLUSIONS AND FUTURE WORK....................................................... 190 6.1 GENERAL CONCLUSIONS..................................................................................................................................190 6.2 FUTURE WORK ..................................................................................................................................................195 6.2.1 M ULTI-MATERIAL MINIMIZATION AND INTERPOLATION ALGORITHM ...................................................195 6.2.2 A PPLICATION OF THE MINIMIZATION AND INTERPOLATION ALGORITHM .............................................197 6.2.3 COMPARISON OF QUANTIFIED STRESS TO CBED RESULTS.....................................................................202 6.3 OTHER AVENUES FOR FUTURE WORK ............................................................................................................203 APPENDIX A: MODIFICATIONS TO SIMCON SOURCE CODE......................................................... 205 A.1 ANSYS_ PREPROCESSOR_ MM_3D................................................................................................................205 A.2 DETERMINE_ MAT _PAR.F.................................................................................................................................205 A.3 DETERMINE_ ZONE.F ........................................................................................................................................207 A.4 GETRUNCOPY ...................................................................................................................................................211 A.5 PREFIELD_SOLID92_10.F ..............................................................................................................................215 A.6 PREFIELD_STIF2.F...........................................................................................................................................232 A.7 RESUME.............................................................................................................................................................234 A.8 SAVE RESULTS..................................................................................................................................................237 A.9 SIMCON..............................................................................................................................................................239 A.10 SIMCON.COMPILE ...........................................................................................................................................242 A.11 SIMCON.DECLARATIONS ...............................................................................................................................244 xii A.12 SIMCON.EDCI................................................................................................................................................249 A.13 SIMCON.INPUT ................................................................................................................................................251 A.14 SIMCON.NAMELISTS.......................................................................................................................................254 A.15 SIMCON_ FE_MM.COMPILE .LIBRARY ...........................................................................................................255 A.16 SIMCON_ FE_MM_3D.....................................................................................................................................256 A.17 SSIMCON .........................................................................................................................................................257 APPENDIX B: MULTI-MATERIAL MINIMIZATION AND INTERPOLATION SOURCE CODE ........................................................................................................................................................................................ 259 APPENDIX C: SUMMARY OF EXPERIMENTAL AND SIMULATION CONDITIONS............... 272 REFERENCES .......................................................................................................................................................... 274 xiii LIST OF FIGURES FIGURE 1: F LOW CHART OF THE STRESS QUANTIFICATION PROCESS DESCRIBED IN CHAPTER 4 FIGURE 2: S CHEMATIC BJT (A) AND HBT (B) ENERGY BAND DIAGRAMS HIGHLIGHTING THE DIFFERENCE BETWEEN THE TWO TYPES OF TRANSISTORS. AFTER REFERENCE 20 FIGURE 3: BJT SCHEMATIC DEPICTION (A) AND A HBT (400) TEM/FIB CROSS SECTION (B) FIGURE 4: HBT FABRICATION SCHEMATIC: (A) ISOLATION TRENCH FABIRCATION, (B) BASE CONTACT , (C) EMITTER PEDESTAL, (D) BACKEND PROCESSING FIGURE 5: SI GE BASE FACET SCHEMATIC (CROSS SECTIONAL VIEW ) FIGURE 6: FIB SCHEMATIC DIAGRAM SHOWING PRINCIPLE ION COLUMN FEATURES 36 FIGURE 7: S CHEMATIC OF FIB LMIS SHOWING RESERVOIR AND WETTED NEEDLE AND TIP FIGURE 8: FIB SECONDARY ELECTRON IMAGE (A) AND SECONDARY ION IMAGE (B) OF THE SAME AREA ON A SPECIMEN FIGURE 9: FIB/TEM SAMPLE SCHEMATIC SHOWING BOTH IN SITU TEM AND FIB BEAM ORIENTATIONS FIGURE 10: FIB MILLING SCHEMATIC (½ OF A MIRROR IMAGE—MIRROR PLANE IS X- Y) FOR TEM SAMPLE PREPARATION FIGURE 11: S ECTION 2.2 FLOW CHART SHOWING PROGRESSION OF THE REMAINING CHAPTER FIGURE 12: BRAGG'S LAW GEOMETRY FOR TEM THIN FOIL SPECIMENS FIGURE 13: DIFFRACTION VECTOR AND THE EWALD SPHERE CONSTRUCTION xiv FIGURE 14: DEVIATION PARAMETER SHOWING DEVIATION FROM EXACT BRAGG CONDITION FIGURE 15: (400) TWO BEAM DIFFRACTION PATTERNS OF SI APPROXIMATELY 280 NM THICK. COMPARISON OF PATTERN WITHOUT INTENSITY LIMITING OBJECTIVE APERTURE (A) TO INTENSITY ARISING JUST FROM THE TRANSMITTED AND DIFFRACTED BEAMS (B) INDICATES ~85% OF ELECTRON INTENSITY IS CONTAINED WITHIN THE TWO BEAMS FIGURE 16: INTENSITY IN DIFFRACTED BEAM AS A FUNCTION OF DEVIATION PARAMETER46 FIGURE 17: CONVENTIONAL (A) AND FIB (B) SAMPLE GEOMETRIES IN CROSS SECTION FIGURE 18: TEM SCHEMATIC OF THE JEOL 2000 FX USED DURING THIS STUDY47 FIGURE 19: S CHEMATIC VIEW OF FIB SPECIMEN AT LOW MAGNIFICATION IN THE TEM TO ILLUSTRATE LOCATING THE THIN MEMBRANE FIGURE 20: DEFINITION OF THE COMPONENTS OF THE STRESS TENSOR FIGURE 21: 2D FEM MODEL ( LEFT) AND CORRESPONDING (400) TEM IMAGE (RIGHT ) FIGURE 22: FEM KEY POINTS (A), LINES (B), AND AREAS (C) SHOWING DEVELOPMENT OF FEM MODEL CONSTRUCTION FOR THE SHALLOW ISOLATION TRENCH GEOMETRY FIGURE 23: FEM ELEMENTS FORMING A MESH OF THE SHALLOW ISOLATION TRENCH STRUCTURE DESCRIBED IN FIGURE 21 FIGURE 24: (400) TEM IMAGE SHOWING REPEATING HBT STRUCTURE FIGURE 25: SIMCON_FE_MM INPUT FILE CONTAINING EXPERIMENTAL AND SIMULATION PARAMETERS FIGURE 26: DIFFERENT SIMCON COORDINATE SYSTEMS FIGURE 27: GL NORMALIZED IMAGES —(400) SIMCON (LEFT) AND (400) TEM ( RIGHT) xv FIGURE 28: AVS IMAGE ALIGNMENT VIEWER. SIMULATED IMAGE ( LEFT), EXPERIMENTAL IMAGE (CENTER ), COMPOSITE IMAGE WITH THE SIMULATED AND EXPERIMENTAL IMAGES EACH CONTRIBUTING 50% TO THE IMAGE INTENSITY. X- SHIFT DISPLACES ONE IMAGE BY 1 PIXEL COLUMN WITH RESPECT TO THE OTHER IMAGE, Y- SHIFT DISPLACES ONE IMAGE BY 1 PIXEL ROW WITH RESPECT TO THE OTHER FIGURE 29: AVS DIFFERENCE MAP WITH THE SCALE REPRESENTING DIFFERENCES IN GL FIGURE 30: SURFACE MAP (A) AND PLANE SLICE PLOT (B) WITH SCALE BARS SHOWING DIFFERENCES IN GL FIGURE 31: (400) SIMULATED (A) AND (400) TEM EXPERIMENTAL (B) IMAGES OF THE ROUND CORNERED TRENCH FIGURE 32: GL DIFFERENCE MAPS-- LARGE FIELD OF VIEW (A) AND MAGNIFICATION OF REGION OF INTEREST (B) FIGURE 33: GL (400) INTENSITY PROFILES OF SIMCON SIMULATION (I) AND EXPERIMENTAL TEM IMAGE (II) FIGURE 34: ANSYS σYY STRESS MAPS-- LARGE FIELD OF VIEW (A) AND MAGNIFIED VIEW OF REGION OF INTEREST (B). (POSITIVE STRESS IS TENSILE AND σYY IS VERTICAL IN THE PLANE OF THE PAGE ) FIGURE 35: SIMULATED ( LEFT) AND EXPERIMENTAL (RIGHT) (022) IMAGES FIGURE 36: (022) DIFFERENCE MAP (A) AND SLICE PLOT (B) WITH SCALE BAR REPRESENTING GL DIFFERENCE FIGURE 37: σXX DIRECTION ( HORIZONTAL) STRESS TENSOR COMPONENT FROM FEM ANALYSIS xvi FIGURE 38: EFFECT OF W UPON QUANTITATIVE PROCEDURE FOR THE SQUARE SHALLOW ISOLATION TRENCH SHOWING REGION OF INSENSITIVITY TO THIS PARAMETER (TOP) AND (400) DIFFRACTION PATTERN WITH K IKUCHI LINE USED TO EXPERIMENTALLY MEASURE W (BOTTOM ) FIGURE 39: M EASURED SIO2 /SI IMAGE INTENSITIES AS A FUNCTION OF OBJECTIVE LENS DEFOCUS. SAMPLE THICKNESS IS 280 NM FIGURE 40: RELATIVE CHANGE IN NORMALIZED INTENSITY AS A FUNCTION OF OBJECTIVE LENS DEFOCUS. SAMPLE THICKNESS IS 280 NM . ZERO DEFOCUS WAS DEFINED BY THE DISAPPEARANCE OF THE BRIGHT/ DARK FRESNEL FRINGE DURING THE ASTIGMATISM ALIGNMENT. NON- ZERO DEFOCUS VALUES WERE OBTAINED FROM THE MICROSCOPE DISPLAY FIGURE 41: STRESS DIFFERENCE BETWEEN EXPERIMENTAL AND CALCULATED IMAGES AS FUNCTIONS OF AREA COMPARED AND STRESS LOAD. LEGEND AREAS (A) DEFINED IN PIXELS ARISE FROM DIFFERENCES IN THE EXPERIMENTAL AND SIMULATED IMAGES , WHILE AREAS DEFINED IN NODES ARE DUE TO DIFFERENCES IN CALCULATED FEM RESULTS COMPARED TO THE 0.7 STRESS LOAD FIGURE 42: BEST MATCHED (400) EXPERIMENTAL (TOP)- SIMULATED ( BOTTOM ) IMAGE PAIR FOR SQUARE SHALLOW ISOLATION TRENCH, WHERE 1 PIXEL IS 24 NM FIGURE 43: STRESS SENSITIVITY PLOT AND LOCATION OF COMPARED AREA FIGURE 44: SQUARE AND ROUND BEST MATCH σYY PLOTS WITH THEIR CORRESPONDING SIMCON IMAGE FIGURE 45: FEM σYY STRESS PLOT FOR SHALLOW ISOLATION TRENCH AS ALL CVD OXIDE AND SIMULATED (400) IMAGE xvii FIGURE 46: FEM σYY STRESS PLOT FOR SHALLOW ISOLATION TRENCH AS ALL THERMAL OXIDE AND SIMULATED (400) IMAGE FIGURE 47: GEOMETRICALLY SQUARE (A) AND ELLIPTICAL (B) σYY SHALLOW ISOLATION TRENCH STRESS PLOTS FOR A 0.65 LOAD FIGURE 48: THREE DIFFERENT (400) TEM COLLECTOR STRUCTURES AND THEIR SIMULATED IMAGES . FULL DEVICE STRUCTURE (A), NO W VIA (B), NO BACKEND PROCESSING (C). ARROWS INDICATE DISPARITIES IN EDC BETWEEN EXPERIMENTAL AND SIMULATED DATA FIGURE 49: QUANTITATIVE ANALYSIS FOR COLLECTOR CONTACTS A AND B USED TO DETERMINE THE BEST MATCHED STRESS STATE FIGURE 50: SAMPLE A FEA σYY STRESS PLOT FOR 0.6 LOAD TAKEN AS A BEST REPRESENTATION OF THE STRESS FIELD UNDER THE COLLECTOR CONTACT FIGURE 51: COLLECTOR CONTACT σYY STRESSES MEASURED BY THE DESCRIBED QUANTITATIVE PROCEDURE (QP) AND FINITE ELEMENT ANALYSIS (FE) FIGURE 52: (400) TEM IMAGE OF THE EMITTER /BASE STRUCTURE SHOWING STRAIN CONTRAST FROM THE SI GE BASE AS WELL AS THE LOCATION OF THE THREE ANALYSIS REGIONS FIGURE 53: EMITTER AVERAGE GL DIFFERENCE PER PIXEL OVER THREE DIFFERENT ANALYSIS REGIONS SHOWN IN THE NEXT FIGURE VIA THE QUANTITATIVE PROCEDURE DESCRIBED IN THIS TEXT AS A FUNCTION OF NORMALIZED LOAD. UNDER EMITTER (A), ABOVE EMITTER (B), SI G E FACET REGION (C) FIGURE 54: EMITTER STRUCTURE. ANSYS MODEL (A), 0.6 σYY STRESS STATE (B), AND 0.8 σYY STRESS STATE (C) xviii FIGURE 55: FEM MODELS ( LOAD OF 0.8) OF σYY : WITH RECTANGULAR W VIA (A), ANSYS MODEL WITH RECTANGULAR W VIA AND CLOSED EMITTER WINDOW FOR AID IN ORIENTING THE READER IN THE STRESS PLOTS (B), WITH RECTANGULAR W VIA AND CLOSED EMITTER WINDOW (C) SHOWING IMPROVED CONSISTENCY OF THE STRESSES THROUGH THE BASE IN CONFIGURATION OF (B) FIGURE 56: STRESS STATES . (A) BULK WAFER/CHIP. (B) POST FIB/TEM FIGURE 57: FEM MODELS A AND B FIGURE 58: FEM MODELS C AND D, USED IN EXAMINATION OF MEMBRANE RELAXATION EFFECTS. BOUNDARY CONDITIONS APPLIED TO SIDES A , B, AND C OF MODEL D MIMIC GEOMETRY OF MODEL B FIGURE 59: FEM M ODEL E USED IN EXAMINATION OF MEMBRANE RELAXATION EFFECTS AND PRIOR QUANTITATIVE ANALYSIS OF THE COLLECTOR CONTACT FIGURE 60: (400) BF SIMULATED IMAGES OF THE EDC NEAR THE COLLECTOR CONTACT SHOWING THE PRESENCE OF EDC ARTIFACTS DUE TO FEM MESH DENSITY. COARSE MESH (A) AND REFINED MESH (B) WITH IDENTICAL SIMULATION PARAMETERS. EFFECTS GREATLY REDUCED WITH REFINED MESH OF B FIGURE 61: σYY FEM PLOT OF THROUGH THICKNESS STRESS UNDER THE W COLLECTOR CONTACT FIGURE 62: M ODEL A COLLECTOR CONTACT σYY AS A FUNCTION OF DISTANCE FROM THE CONTACT INTERFACE FOR TWO DIFFERENT LOADS FIGURE 63: RATIO OF σYY FROM COLLECTOR CONTACT INTERFACE TAKEN FROM THE TWO DIFFERENT LOADING CONDITIONS IN FIGURE 62 xix FIGURE 64: σYY AS A FUNCTION OF DISTANCE FROM THE COLLECTOR CONTACT INTERFACE FOR MODEL B WITH CHANGING MEMBRANE THICKNESS FIGURE 65: % OF BULK STRUCTURE σYY STRESS AS A FUNCTION OF MEMBRANE THICKNESS FOR STRESSES BELOW THE COLLECTOR CONTACT AND THE SHALLOW ISOLATION TRENCH STRUCTURES EXPLORED PREVIOUSLY. THE DATA INDICATE AN APPROXIMATELY 35% REDUCTION IN STRESS FROM THE BULK DUE TO THE EXPERIMENTAL SAMPLE GEOMETRY. ALSO INCLUDED ARE RESULTS OF A SIMILAR 2 PLANE STRAIN ANALYSIS PERFORMED BY JANSSENS FOR A LASER STRIPE FIGURE 66: σYY RESULTS FOR MODEL A, B, AND D FOR A MEMBRANE OF 500 NM THICKNESS. DEMONSTRATING THAT THE STRESS REDUCTION WHICH OCCURS WHEN CHANGING FROM MODEL A TO MODEL B IS DUE ONLY TO THE INTRODUCTION OF THE FIB TRENCH FIGURE 67: σYY AS A FUNCTION OF DISTANCE FROM THE COLLECTOR CONTACT FOR DIFFERENT MODEL GEOMETRIES FIGURE 68: AVERAGE CHANGE IN GL PER PIXEL (5000 PIXEL ANALYSIS AREA UNDER COLLECTOR CONTACT ) VERSUS NORMALIZED LOAD FOR MODEL C. THE SIMULATED AND EXPERIMENTAL IMAGES USED FOR QUANTIFICATION WERE FOR THE BEAM CONDITION CORRESPONDING TO THE σYY STRESS COMPONENT. (400) TWO BEST MATCH OCCURS AT A NORMALIZED LOAD OF 0.5 AS OPPOSED TO PREVIOUSLY DETERMINED 0.6 FOR MODEL E FIGURE 69: QD FEM MODELS . QD IN “SEMI- INFINITE” MATRIX (A) AND QD IN TEM SAMPLE CONFIGURATION (B) xx FIGURE 70: THREE DIFFERENT EDC SIMULATIONS VARYING QD POSITION. (A) QD NEAR BOTTOM OF TEM SAMPLE THICKNESS, (B) QD AT THE CENTER OF TME SAMPLE THICKNESS, (C) QD NEAR TOP OF TEM SAMPLE THICKNESS FIGURE 71: QD (400) IMAGE USED FOR QUANTIFICATION FIGURE 72: S CHEMATIC DIAGRAM OF I0 AND IG AND THE EFFECT OF QD POSITION UPON IMAGE INTENSITY FIGURE 73: POLAR REPRESENTATION OF REAL AND IMAGINARY PARTS OF THE RESULTANT WAVE VECTOR, ψ, WHERE THE WAVE INTENSITY, ψψ * , IS REAL AND UNITY (A). PAD FOR IG FOR A MATERIAL WITH A CONSTANT W , AND THE END LOCATION REPRESENTS A SPECIMEN THICKNESS OF ALMOST ½ ξG (B) FIGURE 74: (A) PAD FOR IG FOR A MATERIAL WITH A CONSTANT W THAT IS DIFFERENT THAN IN FIGURE 74 (B). (B) PAD FOR THE QD NEAR THE TOP SURFACE OF THE SAMPLE FIGURE 75: PAD FOR THE QD NEAR THE EXIT SURFACE OF THE SAMPLE FIGURE 76: (400) EXPERIMENTAL QD IN NORMAL SAMPLE ORIENTATION (A) AND IN INVERTED ORIENTATION UNDER SIMILAR IMAGING CONDITIONS (B) FIGURE 77: P REPROCESSED (400) QUANTIFICATION IMAGES : EXPERIMENTAL (LEFT) AND SIMULATION BASED ON LATTICE MISMATCH STRAIN (RIGHT) FIGURE 78: DIFFERENCE MAP GENERATED FROM IMAGES IN FIGURE 78. SCALE SHOWING DIFFERENCE IN GL BETWEEN THE TWO IMAGES FIGURE 79: ε YY PLOTS. STOLERU DATA (A) AND FEM MODELING (B) FIGURE 80: ε YY AS A FUNCTION OF DISTANCE FROM THE TOP OF THE QD xxi FIGURE 81: (400) BF TEM QD IMAGE (A) AND (200) DF TEM QD SUPER LATTICE REFLECTION IMAGE (B). (B) IS COMPOSITIONALLY SENSITIVE TO THE DIFFERENCE IN ATOMIC SCATTERING FACTORS OF GA AND IN ON THE HOST AS LATTICE. I NSERT DIFFRACTION PATTERN INCLUDED TO SHOW DIFFRACTION CONDITION UNDER WHICH EACH IMAGE WAS OBTAINED FIGURE 82: S CHEMATIC ILLUSTRATION OF REQUIRED GRID OF DATA POINTS FOR THE MULTI MATERIAL MINIMIZATION AND INTERPOLATION ALGORITHM FOR THREE MATERIALS . EACH GRID INTERSECTION REPRESENTS A REQUIRED IMAGE COMPARISON DATA POINT FOR THE INTERPOLATION ALGORITHM (SEE TABLE 8) FIGURE 83: COLLECTOR MODEL USED IN MULTI- MATERIAL MINIMIZATION TREATING TISI2 , TIN, AND W AS SEPARATE MATERIALS FIGURE 84: σYY STRESS PLOTS FOR THE 0.6 LOAD STATE OF THE SIMPLIFIED COLLECTOR CONTACT MODEL PRESENTED IN CHAPTER 4 (A) AND THE REFINED MULTI- MATERIAL INDEPENDENT MINIMIZATION STRESS STATE ANALYZED HERE (B) FIGURE 85: COLLECTOR CONTACT σYY STRESSES MEASURED BY THE DESCRIBED QUANTITATIVE PROCEDURE (QP), FINITE ELEMENT ANALYSIS (FE), CONVERGENT BEAM ELECTRON DIFFRACTION (CBED), AND FINITE ELEMENT ANALYSIS WITH MULTIMATERIAL MINIMIZATION (FE FIG. 84 B) xxii LIST OF TABLES TABLE 1: COMPARISON OF STRAIN QUANTIFICATION TECHNIQUES ...................................... 7 TABLE 2: FEI FIB 200 APERTURE PROPERTIES .................................................................. 26 TABLE 3: ANSYS MATERIAL PARAMETERS USED IN THIS EXAMINATION .......................... 81 TABLE 4: STRESS AND GL RANGES FOR THE SHALLOW ISOLATION TRENCH EXPERIMENTAL IMAGE ...................................................................................................................... 116 TABLE 5: COLLECTOR CONTACT SAMPLE EXPERIMENTAL TEM PARAMETERS................. 138 TABLE 6: QD FEM MATERIAL PARAMETERS ................................................................... 176 TABLE 7: EXPERIMENTAL AND SIMULATION TEM PARAMETERS FOR GA AS MATRIX ...... 177 TABLE 8: DATA FOR INDEPENDENT STRESS MINIMIZATION PROGRAM WHERE VALUES REPRESENT CHANGES IN GL BETWEEN THE EXPERIMENTAL AND SIMULATED IMAGES FOR THE COLLECTOR CONTACT STRUCTURE. ANALYSIS REGION SHOWN IN FIGURE 83. ................................................................................................................................. 199 TABLE 9: S UMMARY OF EXPERIMENTAL AND SIMULATION CONDITIONS OF THE QUANTITATIVE ANALYSES PRESENTED ..................................................................... 272 xxiii LIST OF SYMBOLS A AL AVS AMPERES ALUMINUM AVS/EXPRESS B INCIDENT BEAM DIRECTION BDA BEAM DEFINING APERTURE BF BJT C CBED BRIGHT FIELD BIPOLAR JUNCTION TRANSISTOR CARBON CONVERGENT BEAM ELECTRON DIFFRACTION CCD CHARGE COUPLED DEVICE CEM CHANNEL ELECTRON MULTIPLIER CU CVD DHKL DF E EDC EELS EV F FHKL COPPER CHEMICAL VAPOR DEPOSITION INTER PLANAR SPACING DARK FIELD ELASTIC MODULUS ELECTRON DIFFRACTION CONTRAST ELECTRON ENERGY LOSS SPECTROSCOPY ELECTRON VOLT FOIL NORMAL STRUCTURE FACTOR xxiv FEM FIB GA GA AS GA + GE GHKL GL HBT HKL HOLZ FINITE ELEMENT METHOD FOCUSED ION BEAM GALLIUM GALLIUM ARSENIDE GALLIUM IONS GERMANIUM DIFFRACTION VECTOR GRAY LEVEL HETEROJUNCTION BIPOLAR TRANSISTOR GENERIC MILLER INDICES HIGHER ORDER LAUE ZONE I0 INCIDENT BEAM INTENSITY IG DIFFRACTED BEAM INTENSITY INAS KEV KV K0 KHKL L INDIUM ARSENIDE KILOELECTRON VOLT KILOVOLT WAVE VECTOR OF INCIDENT ELECTRON BEAM WAVE VECTOR OF HKL DIFFRACTED BEAM CAMERA LENGTH LA B6 LANTHANUM HEXABORIDE MPA MEGA PASCALS N NA ORDER OF DIFFRACTION NANOAMPERE xxv NK NM AN INTEGER NANOMETERS O PA PAD PT QD R R S SI SEC SEM SI SIMS OXYGEN PICOAMPERE PHASE- AMPLITUDE DIAGRAM PLATINUM QUANTUM DOT RADIUS OF CURVATURE MATHEMATICAL DESCRIPTION OF STRAIN FIELD DEVIATION PARAMETER TH DEVIATION FOR I FRINGE SECONDS SCANNING ELECTRON MICROSCOPE SILICON SECONDARY ION MASS SPECTROMETRY SIO2 SILICON DIOXIDE SSC SLOW SCAN CAMERA STEM SCANNING TRANSMISSION ELECTRON MICROSCOPE T TEMPERATURE T SAMPLE THICKNESS TF TS TEM FILM THICKNESS SUBSTRATE THICKNESS TRANSMISSION ELECTRON MICROSCOPY xxvi TEOS TETRAORTHOETHYLSILICATE TIN TITANIUM NITRIDE TIS2 TITANIUM DISILICIDE UVA V VC UNIVERSITY OF VIRGINIA VOLTS VOLUME OF UNIT CELL W TUNGSTEN W AN ADDITIONAL DEVIATION PARAMETER Y YS Z ZA ° °C α ∆θI DISTANCE BETWEEN THE K IKUCHI LINE AND THE DIFFRACTION SPOT BIAXIAL ELASTIC MODULUS OF THE SUBSTRATE SAMPLE THICKNESS ZONE AXIS DEGREES DEGREES C ELSIUS COEFFICIENT OF THERMAL EXPANSION ANGLE CORRESPONDING TO FRINGE SPACINGS φ ELECTRON WAVE AMPLITUDE λ WAVELENGTH µM ν θB MICROMETER POISSON’S RATIO BRAGG ANGLE σXX STRESS ACTING NORMAL TO THE Y- Z PLANE IN THE X DIRECTION σYY STRESS ACTING NORMAL TO THE X- Z PLANE IN THE Y DIRECTION xxvii ξG EXTINCTION DISTANCE ψ ELECTRON WAVE FUNCTION 1 N ANOSCALE C HARACTERIZATION OF S TRESSES IN SEMICONDUCTOR D EVICES CHAPTER 1: INTRODUCTION 1.1 Introduction of Project 1.1.1 Introduction Understanding and characterizing the behavior of materials has long been one of the major goals of science. In particular, the semiconductor industry has needed the development of characterization techniques at continually reduced scales as the dimensions of microelectronic devices shrink. Techniques which determine stresses at the nanoscale level in advanced semiconductor devices are much sought after as a fundamental understanding of the nature of stresses and strains is paramount in fabricating properly operating and reliable devices and circuits. A stress characterization technique which could quantify stresses and strains at a resolution of tens of nanometers (nm) and a sensitivity on the order of tens of Mega Pascals (MPa) applicable to structures of arbitrary complexity, would be of great industrial and scientific significance. A technique which holds the promise of meeting these specifications is described in this dissertation. This technique quantitatively measures stresses in semiconductor devices with nanoscale (~10 nm) resolution and a relative sensitivity approaching ±10 MPa in bulk regions of large constant crystallographic orientation. This has been done by using carefully controlled experimental measurements via transmission electron microscopy (TEM) and computer modeling of the strain fields in the structures. The developed 2 technique can also be applied to structures of arbitrary complexity which demonstrate strain contrast while under investigation in a transmission electron microscope (i.e. any crystalline structure, with specific examples here comprising semiconductor devices and semiconductor quantum dots). 1.1.2 Motivation and brief background The prime impetus behind this work has been the desire to develop the ability to quantify stresses in complex semiconductor device structures with a sensitivity on the order of ±10 MPa and a resolution on the order of a few nanometers. Although we have used a GeSi/Si heterojunction bipolar transistor (HBT) structure as the primary test structure in this work, the technique can readily be applied to any structure from which a thin membrane can be manufactured through the focused ion beam (FIB) sample preparation process (described in Chapter 2) and which provides electron diffraction contrast (EDC) from single crystal materials. The technique we have employed consists of two principle stages. The first step is the experimental process where test structures are cross sectioned in the FIB and then imaged by TEM. In the single crystal regions of the structure, EDC is sensitive to atomic column displacement fields within the material, which gives us strain/stress information. Using known specimen geometry, known mechanical property data, and measured intrinsic stresses (stresses inherent to different material layers due to fabrication conditions or arising from lattice mismatches) an accurate computer model of stresses within the structure can be built using conventional finite element analysis techniques (in this case ANSYS versions 5.X).1 The ANSYS model is then exported to a program called SIMCON which was developed by Dr. 3 Koenraad G.F. Janssens as his Ph.D. thesis at IMEC and University of Leuven, Belgium and enhanced significantly over the course of this project (Appendix A).2&3 The SIMCON program mathematically passes an electron beam through the computerized structure taking into account parameters such as specimen crystallographic orientation and microscope experimental variables. The appropriate dynamical electron diffraction equations (i.e. the Howie Whelan equations4 for two beam electron diffraction) are solved within SIMCON, creating a simulated TEM image which is then digitally compared to the experimental result. Matching of the simulated and experimental images for the postulated stress fields then forms the basis of the stress mapping technique. This allows us to predict and verify stresses in single crystalline materials used in semiconductor electronic devices by comparing experimental and theoretical EDC distributions. An outline of this procedure is shown in Figure 1. Figure 1: Flow chart of the stress quantification process described in Chapter 4 4 1.1.3 Significance of this work In a HBT, stress analysis via finite element method (FEM) models predict stresses from zero to about 1.5 Giga Pascals (GPa). Stresses of these magnitudes arise from device fabrication processes such as growing a thermal silicon dioxide (SiO 2 ) layer (volume expansion of original single crystalline material), depositing tungsten (W) vias (intrinsic stress), or adding a few percent of germanium (Ge) into an epitaxial grown SiGe layer (lattice strain due to substitutional occupation of silicon (Si) lattice sites by Ge atoms). Understanding and predicting stresses within semiconductor devices is extraordinarily important with respect to defect formation. If the geometry of a structure is such that it causes stresses in single crystal material which approach the critical stress levels required to form or move (10-50 MPa in Si) 5,6&7 defects, such as dislocations, it would be much better to realize this effect before building the structure than it would be to discover it in hindsight following process development costing the company hundreds of thousands to millions of dollars. The concern with generating or moving dislocations is due the fact that their presence through the active area of the device will act as efficient carrier recombination or generation centers, degrading the desired electrical properties of the structure, as well as providing possible rapid diffusion paths for dopant diffusion, thereby perturbing the locations of p-n junctions in the structure. It thus becomes much more cost effective to test a new structure through available computer tools and confirming the results with a few test structures before making potentially costly fabrication runs as is done with process simulation programs such as SUPREM (Stanford University process developed by Robert Dutton and collaborators), which combines modeling and measurements of fundamental front-end processing stages such as 5 implantation, diffusion, oxidation, etc. to simulate device performance for a given process sequence.8 1.1.4 Current limits of strain characterization Existing experimental techniques for measuring stresses are generally limited in either resolution, sensitivity, or both whereas the technique described here simultaneously has good spatial resolution and sensitivity over a finite field of view. Summarizing existing techniques, X-ray diffraction techniques measure the change in lattice parameter through the development of Bragg’s Law. In particular X-ray micro-diffraction can measure strains of order 10-4 with a resolution approaching 1 µm.9 Micro-Raman techniques measure the frequency shifts of optical phonons and correlate these into lattice strains via the material’s deformation potential. 10 The stress in the material can be derived with a sensitivity of ±50 MPa and a spatial resolution of about 1 µm.11&12 Convergent beam electron diffraction (CBED) measurements are performed by examining the displacement of Higher Order Laue Zone (HOLZ) lines in electron diffraction patterns. Such measurements are point-by-point in nature and strains as small as 2x10-4 can be detected with a spatial resolution on the order of 20 nm. 13&14 Large angle CBED (LACBED) can measure strains in a parallel imaging mode through the generation of rocking curves, and is capable of determining strain to about 10-3 with a spatial resolution of 5-10 nm.13,15,&18 In general both the CBED and LACBED technique’s spatial resolution is defined by the probe size of the microscope used. Also their strain sensitivity is determined by the accuracy of their simulation and comparison algorithm. LACBED thus, in principle, provides the “closest competition” to the 6 techniques developed here. LACBED does have difficulty analyzing regions containing high strain gradients (due to pattern distortion—for example, the presence of a dislocation causes a splitting of certain HOLZ lines) and also has special instrument requirements (i.e. STEM detector). Specialized STEM detectors are required for this technique as CCD or photodiode arrays are too slow for pattern acquisition. An advantage EDC quantification thus has over LACBED is that it can be performed with a standard transmission electron microscope as only conventional bright field (or dark field) images are required while achieving the comparable spatial resolutions and strain sensitivity. Accurate determinations of strains from thin foil electron microscopy techniques requires quantitative analysis of surface relaxation effects. This in turn requires an accurate knowledge of the TEM sample geometry if the strain mapping is to be performed over extended fields of view. This requirement is satisfied by the focused ion beam sample fabrication techniques described herein. Additionally, EDC quantification can adequately quantify stresses in regions containing high strain gradients as long as they are smooth functions. Further, elastic strains can be measured directly by examining the spacing between lattice planes in high resolution transmission electron microscope images.16&17 Essentially deviations from the average lattice spacing is determined and thus the strain in the crystal is determined. This technique can measure strains from 10-2-10-3 with a spatial resolution better than 1 nm. However, this method can only be applied to very thin specimens (of order 10 nm), and for very thin specimens significant surface relaxation occurs that will greatly complicate such analysis. Table 1 summarizes the various analytical techniques for strain quantification. 7 Table 1: Comparison of strain quantification techniques Technique Spatial Resolution Strain Sensitivity X-ray diffraction Raman Lattice imaging CBED LACBED EDC Quantification 1 µm 1 µm <1 nm 20 nm 5-10 nm 10 nm 10-4 10-3 10-2-10-3 2x10-4 10-3 2x10-4 Thin Foil Required? No No Yes Yes Yes Yes 8 1.2 Introduction to the Primary Experimental System Studied: GeSi/Si Heterojunction Bipolar Transistors 1.2.1 Introduction The development of this section is oriented towards giving the reader a platform upon which to understand how stresses are introduced into semiconductor devices (specifically a GeSi/Si heterojunction bipolar transistor) and why such knowledge is necessary for successful device fabrication (with particular emphasis on the control of stress which can lead to crystalline defect generation and motion). This is performed by a brief introduction to the operation of bipolar transistors and a summary of the most important front end (i.e. before deposition of metalization contact layers) and back end (post metalization) stress producing processing steps in device manufacture. For fuller descriptions of these processes see standard texts such as references 19 & 20. Figure 2: Schematic BJT (A) and HBT (B) energy band diagrams highlighting the difference between the two types of transistors. After reference 20 9 1.2.2.1 The bipolar junction transistor The bipolar junction transistor (BJT) is one of the most important three terminal devices of the semiconductor industry. The idea behind the BJT is to be able to control the current through two of the terminals (emitter and collector) by making small changes in the current of the third terminal (base). This allows the transistor to be turned “on or off” very easily, thus presenting the 0 or 1 state of binary language, as well as current and/or voltage amplification. Figure 2 shows the change in energy levels across a n-p-n BJT as compared to the analogous structure in a HBT. When the n-p emitter/base junction is forward biased in a BJT, the potential barrier between the emitter and base for both electrons and holes are Figure 3: BJT schematic depiction (A) and a HBT (400) TEM/FIB cross section (B) 10 identical. As will be shown later, this has significant limitations for simultaneous optimization of frequency response and gain of the device. 1.2.2.2 The heterojunction bipolar transistor The primary difference between the BJT and the HBT is that the base of the HBT device is fabricated from a different material of smaller band gap. In this work, the HBT has a SiGe base with a Si collector and a polycrystalline/single crystal Si emitter. A schematic depiction of the BJT structure (Figure 3: A) along with a TEM cross sectional image of the HBT is shown in Figure 3: B in the (400) two beam condition (defined in Chapter 2). The basic operation of a HBT is similar to that of the BJT. However, HBTs take advantage of the fact that the two different materials being used to fabricate the junction have different band gaps which relaxes the emitter/base/collector dopant constraints compared to a BJT, which as shown below, has importance for enabling both high gain and high frequency operation. Three terminal devices, such as the case with BJTs and HBTs, are significant to the electronics industry as a large variation in current through the device (emitter to collector) is possible with small current or voltage changes at the third terminal (base). Basic transistor operation consists of the emitter injecting the majority charge carrier through the base into the collector. The collector then receives these charge carriers and thus current flows. The third terminal, the base, is sandwiched between the emitter and collector as shown in Figure 3. For a completely efficient transistor, all the majority carriers would cross the base region of the device. However, some of the majority 11 carriers recombine within the base and additionally the charge of the majority carriers as they cross the base must be compensated for by an equivalent number of minority charge carriers flowing into the device from the base terminal. The total emitter current is composed of the majority carriers flowing from the emitter through the base and the minority carriers injected from the base into the emitter. The majority carriers spend a very small amount of time in the base region of the device as they flow from the emitter to the collector, and providing the base is kept sufficiently thin (less than the diffusion length of the majority carrier), very few of the majority carriers recombine within the base. Thus only a small number of minority carriers are required to enter the device from the base terminal to compensate for a relatively large number of majority carriers traversing through the structure. Current amplification or gain (β) of the device is equal to the ratio of the collector current (IC ) to the base current (IB ). See equation 1: β= IC IB 1 The relationship between the change in band gap and the dopant concentrations as they effect the ratio of the emitter-base majority and minority currents (which translates into the maximum attainable current gain of the device as Imaj/Imin is proportional to the ratio of the emitter doping to the base doping) is: I maj ∝ N maj ∆Eg e kT 2 I min N min Where Imaj and Imin are the majority and minority currents crossing the emitter-base junction respectively. Nmaj is the concentration of dopant atoms in the emitter and Nmin is the concentration of dopant atoms in the base. ∆Eg is the band gap difference between 12 the emitter and base band gaps. In a BJT the gain of the device is controlled largely by the dopant concentrations in the base and emitter regions of the structure. This limitation necessitates light doping in the base and a high doping of the emitter to obtain a high emitter injection efficiency, the former leading to a high base resistance. Due to the band gap difference in a HBT, a significant advantage in device design is obtained as the band gap term appears in the exponential of equation 2. This occurs due to the difference in conduction versus valence band discontinuity at the emitter-base heterojunction. This allows the doping concentrations in the HBT structure to be optimized for a lower base resistance by increasing the base dopant concentration and decreasing the emitter doping to reduce the junction capacitance. This enables higher frequency operation of the device, while maintaining current gain. The HBT structure, therefore, allows better optimization of frequency and gain than the BJT. (In SiGe technology, if the base is graded in composition such that it decreases from the emitter side to the collector side of the base, an electric field forms which also accelerates the electrons across the graded region, reducing the base transit time, and further improving the maximum operation frequency.)20 As a result of forming a HBT with a 0.15 eV difference in band gap, the exponential term in equation 2 increases the ratio by a factor of 320 at room temperature.21,22,&23 This allows for state-of-the-art SiGe HBT to have a gain on the order of 250-35024 (dependant upon Ge concentration profiles across the base) and a cut off frequency of about 55 GHz (base-emitter voltage of 0.7 V)24 —160 GHz25 while a comparable Si BJT has a gain on the order of 7024 and a cut off frequency of 38 GHz24 — 100 GHz. 26,27 13 1.2.3 Front end HBT fabrication process For more detail of the structure and fabrication of Si/SiGe HBTs, see the extensive reviews by D. L. Harame et al. 28&29 1.2.3.1 Oxide growth The basic design process starts with a n-type doped Si wafer. The next stage of device design is performed by the relevant masking, etching, and deposition techniques to Figure 4: HBT fabrication schematic: (A) isolation trench fabircation, (B) base contact, (C) emitter pedestal, (D) backend processing 14 construct the deep and shallow SiO 2 isolation trenches where the deep isolation trenches consist of a SiO 2 shell filled with a polycrystalline Si core (Figure 4 A). During the processing which creates the oxide isolation trenches, a thin (15 nm) layer of thermal oxide is grown into the single crystalline substrate after the trench geometry has been defined with the appropriate etching steps. This thermal oxide has a high intrinsic stress of about 300 MPa and is incorporated because it possesses a lower oxide trap density and interface state density than a CVD oxide.7 Next tetraorthoethylsilicate (TEOS) deposited oxide by chemical vapor deposition (CVD).29 TEOS is used for most of the insulator material because it readily fills the exposed surface geometry which incorporates high aspect ratio features. Another advantage of TEOS is that it has a much lower intrinsic stress (~60 MPa) than the thermal oxide.29 Hu (reference 7) provides a detailed review of stress related issues in silicon device technology. The salient stress generating mechanisms in oxide isolation trenches arise from the thermal oxidation of non planar surfaces, mismatch of thermal expansion coefficients between Si and SiO 2 during subsequent changes in temperature, and intrinsic stresses in the deposited oxide and polycrystalline Si layers. Later, in Chapter 4, the stresses surrounding the shallow isolation trench structure in the examined HBT are studied as the test vehicle for establishing the quantitative procedure which is the primary topic of this dissertation. It will be shown that the significant stress producing agent around the shallow isolation trench structure is the thermal oxide. Of particular interest are the stresses at the trench corners as the oxidation of rounded, non planar corners occurs here and typically (sharp) corners act as stress concentrators, thus becoming potential dislocation generators. 15 1.2.3.2 SiGe heteroepitaxy The single crystal SiGe base is grown next by ultra-high vacuum chemical vapor deposition (UHV-CVD) epitaxy. 31 The UHV-CVD process offers the ability to grow high purity and very uniform thickness and composition material over large areas. The growth rate for typical UHV-CVD processes is on the order of tens of nm/min (700<T<850 °C). The SiGe polycrystalline base contact is also produced at this time (Figure 4 B). (Note: masking and etching steps are not shown in Figure 4, just the resulting device features.) With the incorporation of even a small amount of Ge into the base structure into the fabrication process, the three dimensional base structure becomes faceted such that it looks like a pyramid with a flat top. The flat top of the pyramid consists of the (001) plane while the sides of the pyramid are of the {113} orientation (Figure 5: facet seen in cross section). The facet occurs because {113} planes have a slower growth rate than the {001}, although the growth rate of {113} planes is higher than that of the {111}planes.32 Figure 5: SiGe base facet schematic (cross sectional view) 16 As a consequence, any device using SiGe/Si UHV-CVD single crystal regions must take the facet structure into account both during design and fabrication. Additionally the sharp corners of the facet must be acknowledged as stress concentrators and potential defect generators. There exists about 4% difference in lattice constant between Si and Ge at room temperature. During hetero-epitaxial growth the material grown (Six Ge1-x) initially acquires a elastically strained lattice to match that of the substrate (Si). As the epitaxial material increases in thickness a critical thickness is reached where it is more energetically favorable for dislocations to form rather than accommodate the strain by elastic deformation. This critical thickness decreases rapidly with the concentration of Ge being incorporated into the growth layer. Thus the upper limit of the concentration of Ge in the base of the structure is limited by the thickness of the base. This relationship has been investigated by People and Bean33 and several other authors. The relationship between the Ge composition in the base and the magnitude of the band gap discontinuity has been experimentally examined by Lang et al.34 and shows a reduction in the band gap of a Si0.9Ge0.1 alloy in comparison to pure Si of about 0.05 eV at 90 K. A 10% Ge concentration in the base is approximately the average composition of the base structure studied here. A change in band gap at room temperature of 0.05 eV correlates into a change in gain of a factor of about 7. The stress concentrating geometry of the Six Ge1-x facet, and the inherent lattice mismatch stresses associated with the Six Ge1-x layer make the base a potential source for dislocation generation. Additionally, any dislocation generated in this area will most likely have deleterious effects upon the electrical characteristics of the structure as this is 17 the most important electrically active area of the device. However, the rewards obtained from enhanced gain and frequency of Ge incorporation make characterization and understanding of stresses in the region of the device important. 1.2.4 Emitter Structure A brief synopsis of the fabrication of the emitter structure now follows, whereby a single crystal Si layer is grown on top of the SiGe base by CVD. The emitter window is defined by depositing SiO 2 and Si3 N4 (Figure 4: C). A polycrystalline Si emitter which is doped with As is placed on top of the SiO 2 /Si3 N4 emitter window and the As is diffused a short distance into the single crystal Si below the window. The principle enhancement this configuration yields is a device that can achieve higher current gain as it reduces the minority carrier injection across the polycrystalline/single crystal Si interface. This injection current results from the presence of the native oxide formed at the single crystal emitter surface prior to polycrystalline Si growth. 35 1.2.5 Backend processing At this point, the front end processing is completed and the backend processing commences with the creation of the emitter, base, and collector contacts through the use of tungsten (W) vias and aluminum (Al) metalization lines, encased in Ti/TiN adhesion layers/diffusion barriers which can have an associated intrinsic stress of 1 GPa or more (see Table 3). Interconnect structure stresses can arise from the different coefficients of thermal expansion between adjacent materials and the resulting decrease in temperature 18 from processing temperatures (typically several hundreds of degrees C) to room temperature.7 These interconnect structures (Figure 4: D) are surrounded by a low temperature plasma-enhanced chemical vapor deposition (PECVD) oxide (intrinsic stress of 10 MPa). 19 1.3 Conclusions It has been summarized in this chapter how significant amounts of stress are incorporated into GeSi/Si HBT device structures through their fabrication process. These stresses range from a few MPa to more than 1.0 GPa and arise essentially from four sources: lattice mismatch via epitaxy, thermal oxidation, differences in coefficients of thermal expansion and the corresponding reduction in temperature from processing temperatures to room temperature, and stresses arising from intrinsic deposition stresses. This chapter has introduced the primary experimental system examined: the GeSi/Si heterojunction bipolar transistor. This follows with a discussion of the experimental techniques used throughout this work (Chapter 2). Namely, focused ion beam technology and transmission electron microscopy. Subsequent to this, a discussion of the computer programs (finite element modeling: ANSYS, EDC simulation: SIMCON (source code changes include as Appendix A), and image comparison: AVS/Express) used to develop the described quantitative procedure is presented (Chapter 3). The quantitative procedure for determination of local strains through measurement and modeling of electron diffraction contrast, which is the focus of this dissertation is then described, as well as the effect of relevant parameters upon its results (Chapter 4). Additionally strain quantification of an InAs/GaAs quantum dot with verification of the results by an independent analytical solution is addressed (Chapter 5). Chapter 6 discusses the general conclusions of the work presented here which demonstrates a stress quantification procedure with a resolution on the order of 10 nm and a relative sensitivity of about ±10 MPa. Also extracted from the work presented in Chapter 4, the complexity of the modeled structure (i.e. shallow isolation trench, collector 20 contact, emitter/base pedestal) can ultimately limit the stress quantification procedure. Relating the quantified stresses in the thin membrane structure to the bulk device is additionally discussed. This analysis indicates the quantified stresses in the membrane structure are about 30-50% less than those predicted to occur in the bulk structure by finite element modeling. Further in Chapter 6, a multi material minimization and interpolation algorithm (Fortran source code included as Appendix B) is discussed and a demonstration of improved results on stress quantification applied to the collector contact is presented as Future Work. 21 CHAPTER 2: EXPERIMENTAL TECHNIQUES The primary experimental tools used in this research are the focused ion beam and the transmission electron microscope. A brief summary of their principles of operation and specific experimental techniques employed in this thesis are now presented. 2.1 Focused Ion Beams 2.1.1 Introduction A FIB is a field ion emission and focusing tool which exploits the properties of high energy ions to modify (sputter and deposit upon) and gain information (imaging and spectroscopy) from the experimental sample at high spatial resolution. The FIB uses a liquid metal ion source, generally made from gallium (Ga). The Ga ions (Ga+) are extracted from the source by field emission from a very sharp tip. They are then accelerated down the evacuated column by a potential difference (typically 30 kV) through a series of electrostatic lenses. These lenses, along with mechanical apertures, are used to focus the ion beam such that the machine is capable of beam currents ranging from 1 picoampere (pA) to 11.5 nanoamperes (nA). The corresponding final beam diameters on the sample of the FIB range from 8 nm to 500 nm. A simplified lens diagram of a FIB is shown in Figure 6. Typical uses for FIBs in the semiconductor industry are rewiring circuits, mask repair, and failure analysis. All of these can be done by removing material with the tool’s ion beam, depositing material (for example platinum (Pt) or SiO 2 ) by decomposing a 22 gaseous compound, or using secondary electron or ion imaging techniques. Although the FIB used in this work was principally used for thin membrane fabrication for TEM imaging, its potential and power as an analytical and nanofabrication tool deserves some mention here. The FIB at the University of Virginia (UVA), a FEI 200 FIB, has state-of-the-art capabilities. These include detection of secondary electrons and ions, deposition of Pt and SiO 2 , secondary ion mass spectroscopy (SIMS), a charge neutralization system, and a specimen stage which can maintain specimen temperatures spanning liquid nitrogen Figure 6: FIB schematic diagram showing principle ion column features36 23 temperature to several hundred degrees Celsius (°C). (See Table 2 for ion beam spot sizes and beam currents.) 2.1.2 Principles of operation 2.1.2.1 Liquid metal ion source (LMIS) The essence of the FIB is the generation of a focused beam of Ga+ which are extracted off of the ion source and accelerated down the instrument column ultimately interacting with the specimen. Ga metal is stored in a reservoir with a “wetable” W tip extending below it with a 49° half angle at the tip (Figure 7)36 About once every two weeks for a typical source installed in the FIB 200 at UVA this reservoir of Ga is heated by a current of about 3.1 amperes (A) for 45 seconds (sec). This process liquefies the Ga metal which then flows down the W needle to the sharpened tip (diameter of about 20 Figure 7: Schematic of FIB LMIS showing reservoir and wetted needle and tip 24 µm) wetting the surface in the process.37 The Ga then remains in the liquid state for a long period of time as it slowly cools. A tiny cusp or incipient jet forms around the tip during source operation. The end diameter of the cusp is approximately 2 nm and it is here that ion emission due to field evaporation occurs.36 Two articles by D. Kingham and L. Swanson discuss the source geometry in greater detail and are listed as references 40 and 41. 2.1.2.2 Suppressor/extractor assembly An accelerating voltage of 30 kV is applied to the Ga+. In this work, 30 kV was the only accelerating voltage used, however the FIB at UVA is able to go as low as 3 kV accelerating voltage while maintaining imaging capabilities at sub-micron resolution. The accelerating voltage is the potential difference seen by the Ga+ between the source and Lens 1 after they have been extracted off of the LMIS. Ion extraction is performed and controlled by the suppressor/extractor assembly. The extractor, which sits directly under the LMIS, creates a potential difference on the order of 7 kV. As its name suggests, it is what actually extracts the Ga+ from the tip of the source, thus allowing them to be accelerated down the FIB column. The extractor field causes the metal to deform on the tip of the needle such that it forms a cusp profile (Figure 7). The suppressor surrounds the LMIS and uses a smaller retarding potential difference (0.8-2.0 kV) to maintain a stable source emission current (under normal operating conditions) as well as confine the Ga+ along the optic axis of the instrument. This design provides a source brightness of approximately 106 A/cm2 /sr with the tip of the cusp protrusion having a diameter of about 4 nm. 36 25 2.1.2.3 Lens 1 and the beam defining aperture After passing through the suppressor/extractor assembly, the ion beam diameter begins to diverge. The next major feature of the column the ions encounter is the electrostatic Lens 1. Lens 1 serves to focus the broad beam of ions coming down the column back onto the optic axis. The focal point of Lens 1 coincides with the location of the beam defining aperture (BDA). The BDA, which is electronically controlled on UVA’s FIB, consists of a rectangular aperture strip containing ten principle circular apertures. These apertures allow beam currents from 1 pA to 11.5 nA to be used to image, sputter, and deposit material on the sample (Table 2). The BDA serves to block different percentages of the incident beam thus defining the amount of beam current which is allowed to pass into Lens 2 (Table 2 and Figure 6). As well, the BDA plays a significant role in defining the final spot size of the ion beam (in this column configuration) when it interacts with the sample, and thus is a major factor in determining the resolution of the instrument (Table 2). 26 Table 2: FEI FIB 200 aperture properties Aperture Diameter Beam Current (pA) Spot Size Diameter (nm) (µm) 10 1 8 20 4 12 30 11 15 70 70 25 100 150 35 150 350 55 250 1000 80 400 2700 120 600 6600 220 825 11500 500 2.1.2.4 lens 2 and the deflection octupole The principle purpose of Lens 2 is to focus the ion beam on the specimen after the beam has passed through the BDA. The deflection octupole is used to make small shifts in beam raster area, ion beam scanning, and to make beam astigmatism corrections. 2.1.2.5 Image generation The FIB has the ability to detect and form images from both secondary electrons and secondary ions via the channel electron multiplier (CEM). The type of charged particle is selected by controlling the grid bias and front end voltage of the CEM. Independent control of the two voltages enables optimum image contrast and detector 27 lifetime to be achieved. Typical values for secondary electron detection are a front end voltage of 250 volts (V) and a grid bias of 200 V. These values vary somewhat from CEM to CEM as well as with the age of the CEM. Biases for secondary ion detection tend to be much more variable, and detector conditions for a satisfactory image are found by trial and error (Figure 8). People familiar with scanning electron microscope (SEM) images are generally very impressed when they see secondary electron images taken with the FIB. This arises from the high quality of the images due to the large signal to noise ratio in comparison to SEM micrographs. This results from using ions as the incident species. Ions in the keV range typically lose their energy through atomic nuclei interactions over short ranges (tens of nm). Thus ions lose more energy within the secondary electron escape depth than primary electrons of a similar energy. The yield of secondary electrons per incident ion from a typical FIB Ga+ beam is on the order of unity, while the yield of secondary ions is usually two to four orders of magnitude less.37 Figure 8: FIB secondary electron image (A) and secondary ion image (B) of the same area on a specimen 28 2.1.3 FIB applications 2.1.3.1 Material removal One of the primary uses of the FIB is to sputter material from samples to expose structures which lie underneath the surface. Material removal can be done over a range of beam currents (~1 pA—11.5 nA), with a corresponding difference in beam resolution (~8—500 nm) with the actual size of sputtered features for significant aspect ratios (e.g. depth to width ratios of > 1:1) being several times larger than the beam diameter as the beam interacts with a sample volume which is larger than that defined solely by the beam diameter due primarily to the (approximately) Gaussian beam profile and the lateral scattering of the high energy ions as they penetrate the surface of the sample. The typical Figure 9: FIB/TEM sample schematic showing both in situ TEM and FIB beam orientations 29 sputter rate for Si normal to a Ga+ beam at 30 kV is of order 0.5 µm3 /sec/nA for a beam normally incident to the sample surface. 2.1.3.2 Deposition Deposition of a variety of materials can also be accomplished in the FIB. At UVA, the machine is currently configured to deposit Pt and SiO 2 . The precursor for the Pt deposition material consists of a organometallic compound: (methylcyclopentadienyl) trimethyl platinum. The deposited material has been shown via TEM to have a composition of roughly 46% Pt, 24% carbon (C), 28% Ga (from the ion beam), and 2% oxygen (O)42 and a resistivity as low as 400 µâ„¦ cm. 43 The SiO 2 insulator deposition precursor material, TEOS, is a commonly used gas in the semiconductor industry for CVD of SiO 2 and is used in the FIB for insulator deposition. Typical resistivities for SiO 2 deposited in this manner range from 108 to 109 Ω cm with a composition of 11 at. % Si, 64 at. % O, 11 at. % C, and 13 at. % Ga.44 The precursor material is delivered to the sample surface by first slightly heating the crucible containing the material by a few °C to increase the vapor pressure within the delivery system. Once the crucible temperature has stabilized at the correct temperature rage (32-40 °C for Pt and 21-26 °C for SiO 2 ) an injection needle is inserted into the sample chamber such that the tip of the needle lies within 50 µm of the sample’s surface. The valve separating the deposition gas from the vacuum is opened and the gas flows into the specimen chamber due to the difference in vapor pressure. After waiting a few seconds to allow the gas flow to stabilize, the Ga+ beam is then turned on so that it scans the deposition pattern. The ion beam decomposes the deposition gas depositing the desired material onto the surface of the sample with a 30 resolution on the order several times the beam diameter due to the beam profile and the range of interaction between the Ga+ beam and the deposition source material in contact with the sample surface.37 On UVA’s FIB, the deposition rate for Pt with a 150 pA beam is approximately 0.05 µm3 /sec or about 0.5 µm3 /sec/nA. 2.1.4 FIB sample preparation To achieve the FIB/TEM sample configuration, the as received wafer is cleaved using a diamond tip scribe. The scribe marks are placed on the backside of the wafer, which is then cleaved between two glass slides. Once the area of interest has been removed, usually about 2.5 millimeters (mm) by 2.5 mm square, from the bulk wafer it is mounted on to a brass grinding stub with an acetone soluble wax. The wax mounting procedure takes place on a VWR Dylatherm hot plate at a temperature of 124 °C (setting #3). The stub is then placed in a Gatan disc-grinder (623) and mechanically ground on 3M 411Q Wetordry Tri-M-ite 600 grit abrasive silicon carbide paper with water acting as both a coolant and lubricant. Once the device of interest is within 100 µm of the newly ground surface (measured with an optical microscope) the specimen is removed from the brass stub, cleaned in acetone, and mounted (ground surface down) onto one half of a copper (Cu) TEM specimen disk, which initially had a 2 mm by 0.5 mm oval hole in the middle of it. This is done with a conductive epoxy (Gatan G-1 Epoxy and Hardener) and cured on the aforementioned hot plate. In this case, the surface of the Si wafer containing the devices of interest is mounted such that it is normal to the Cu disk surface and slightly overhanging the cut edge of the Cu support. Thus, in the FIB, the original wafer surface is normal to the incident ion beam direction. The sample is then remounted with wax 31 such that the Cu grid is in the wax and the remainder of the sample is ground in a similar manner as before, such that less than 100 µm of thickness remain. Once this is achieved, the sample is removed from the brass stub and cleaned with acetone. A specimen of this size is now suited to FIB sputtering and TEM without additional changes in its macroscopic dimensions (Figure 9). With the specimen properly mounted, device cross sectioning within the FIB can commence. For the HBT structure, location of the W vias in conjunction with the Al metal lines has proven to be a very efficient means for obtaining the proper orientation and location of the devices. Generally, once the specimen is in the FIB, a region of material is sputtered off with the ion beam (1 nA beam) until a recognizable feature is uncovered (via or metalization line). Triangulation of features is then used to deposit a Pt layer with a 150 pA beam over the region of interest to serve as a protective barrier to the ion beam, and material is removed on either side of the device to create a channel for the electron beam to travel through when the sample is placed in the transmission electron microscope. The first of the sputtering steps used to create the channel is performed with a 11.5 nA beam (Figure 10 [half a milling pattern]: region A) to a depth of 8 µm. The channel is then extended with a 2.7 nA beam to the same depth (Figure 10: region B). This is followed by a 150 pA cut (Figure 10: region C) into the deposited Pt layer (Figure 10: region D). A 70 pA beam current is used to clean the final faces of the FIB membrane such that the final thickness of the membrane is typically between 0.1-0.3 µm. Throughout the FIB milling process a tradeoff is made between the speed of material removal over the dimensions of interest versus the condition of the membrane surface. For example, larger final beam currents (>150 pA) tend to leave characteristic damage 32 due to differences in sputter rates of adjacent materials causing a “streaked” appearance when viewed via TEM. This is due to uneven milling of the surface of the membrane due to different material sputter rates and can interfere with the image contrast of interest for strain quantification. Due to use of high energy ions for the FIB membrane fabrication process, some surface amorphization occurs on both sides of the Si samples studied here. The amorphization layer has been quantitatively measured by Walker and Broom on an FEI FIB for 30 keV Ga+ ions impinging normal to the Si sample surface and experimentally determined by TEM to be 28 nm.38 It should be noted that the data by Walker and Broom does not measure the lateral amorphization into the surface of a FIB/TEM membrane. The damage typically observed in TEM membranes should be less, however it will occur on both sides of the membrane. 30 keV Ga+ ion implantation upon Si was simulated (via Monte Carlo simulations) for a FIB/TEM membrane and compared to experimental data by Ishitani et al. The Ga+ ions were determined to be concentrated to within 10 nm of each membrane surface.39 Given that the typical sample thickness examined in this study is about 250 nm (as determined by CBED), in the worse case less than about 20% of the sample thickness studied is composed of amorphized material. For the quantitative procedure described in this study (Chapter 4) the amorphized material impacts the electron diffraction contrast obtained experimentally by reducing the magnitude of electron diffraction contrast image intensity. This loss of image intensity is due to the electrons being scattered out of the transmitted and diffracted beams composing the experimentally defined two beam condition (defined and discussed later in this chapter). The SIMCON diffraction contrast simulation program described in the next chapter, does not account for this effect, producing a source of error 33 between the experimental TEM image and the simulation thus arises from sample preparation which at best causes about 10% and at worst causes 20% error in the analysis. This will largely be accounted for by normalizing the background intensity in the image comparisons described in subsequent chapters. Sample thicknesses in this study are usually measured through CBED. This technique measures the thickness of the crystalline material and does not incorporate the amorphized material noted previously. In addition SIMCON only calculates EDC arising from the single crystal material. The correlation between the CBED thickness measurement and that of the SIMCON calculation is thus appropriate. The surface amorphization on both sides of the membrane places these surfaces under stress (with respect to crystalline Si) due to the implantation of Ga ions. This additional source of stress has not been taken into account in this quantification technique and would occur independent of the ion-implant species. The effect of this stress is inferred to be not large in comparison to the stresses in the device structure as the stresses Figure 10: : FIB milling schematic (½ of a mirror image—mirror plane is x-y) for TEM sample preparation 34 in the device which arise from fabrication as these fabrication stresses are observed to dominate EDC in the experimental image The smaller beam currents (<150 pA) take an appreciably longer time to remove material over a significant area. Rarely is it necessary to use extremely small beam currents (<11 pA) for final milling procedures, yet this is sometimes needed when extraordinarily thin samples (<100 nm) have to be produced such as in the case of samples for electron energy loss spectroscopy (EELS) analysis. 35 2.2 Transmission Electron Microscopy 2.2.1 Introduction Transmission electron microscopes are perhaps the most powerful analytical tool available to materials scientists. They have the ability to give us information about the microstructure, crystallography, and chemistry on an extraordinarily fine scale and sensitivity. The fundamental principles of TEM are well understood and specific experimental conditions can be simulated using computer modeling, but many aspects of electron diffraction, imaging, and spectroscopy still remain to be explored, studied, and refined. Briefly, a transmission electron microscope operates by exciting electrons from a source. The electrons are focused and collimated along the optic axis of the microscope and then passed through a thin specimen (less than 1 µm). Transmitted electrons are then used to form an image, diffraction pattern, or chemical spectrum of the specimen. Figure 11: Section 2.2 flow chart showing progression of the remaining chapter 36 For this work, TEM was performed principally on a JOEL 2000 FXII operated at 200 kV using a thermionic lanthanum hexaboride (LaB6 ) source. This microscope is capable of a spatial resolution of about 0.3 nm and has a slow scan camera (SSC) which permits digital recording of experimental images. These features make this microscope ideally suited for quantitative strain contrast experimentation. This section introduces a large amount of information and as a result a flow chart of the section is provided for the reader in Figure 11. 2.2.2 Diffraction Electrons possess the properties of both particles and waves. Consequently, electrons can experience diffraction when they pass through a diffraction grating of appropriate size. A periodic crystal lattice (the diamond centered cubic lattice parameter for Si being 0.543 nm) works as a diffraction grating for high energy electrons (wavelength, λ = 0.0025 nm for 200 kV electrons), thus the wave nature of electrons causes them to diffract from the periodic atomic lattice. 2.2.2.1 Elastic scattering As electrons pass through the material they experience Coulombic forces arising from the charged nuclei and electron clouds of the atoms which make up the sample. When an electron passes close enough to the nucleus of atom to experience its electric field, the electron will change direction due to the attractive force between the positively charged nucleus and the negatively charged electron. If the electron passes very close to 37 the nucleus and is ‘scattered’ through a high angle it is known as Rutherford scattering.45 If, on the other hand, the electron passes through an atom while being close enough to the nucleus to experience the attractive positive force, but still far enough away from the atom center that it is partly shielded by some of the inner shell electrons, it experiences a smaller scattering force so that its change in direction is less. This second case, is much more likely an event and the electrons typically experience a scatter of less than 1° from the incident electron beam direction. It is this small angle elastic scattering which gives rise to Bragg diffraction events. 2.2.2.2 Inelastic scattering45 A major component of inelastic scattering arises from the incident electron interacting with the electrons surrounding the nucleus of the atom (a few electron volts (eV) to tens of kiloelectron volts (keV) loss). If an incident electron interacts with one of the inner shell electrons such that there is a energy transfer between the incident electron and the inner shell electron, the inner shell electron gains energy and is excited out of its shell. Conversely the incident electron correspondingly looses an identical amount of energy (conservation of energy), which is typically in the range hundreds to thousands of eV. The atom is left in an excited energy state as one of its inner shell electrons is missing. A higher shell electron will then loose energy (by X-ray emission) and fall into the inner shell state to stabilize the energy configuration of the atom. Such events may be detected by energy loss spectroscopy of the incident electrons and/or X-ray spectroscopy of the photons created by the inner shell excitations. These signals in conjunction with the high spatial resolution and fine probe size of transmission electron microscopes 38 allows for accurate high spatial resolution analytical electron microscopy. An additional important inelastic scattering mechanism arises from plasmon scattering which involves an energy loss which is typically in the range of 5-30 eV. Also, phonon scattering (vibration of atoms about their lattice sites) can act as a source of electron scatter. Typically however, energy losses due to this mechanism are below 0.1 eV. 45 As the ratio between the elastic and inelastic scattering intensities generally increase with the massthickness of the sample, as the thicker the sample becomes the higher the probability an electron will be scattered inelastically. The anomalous and normal absorption parameters (discussed later in this chapter and also in Chapter 3) and image preprocessing steps (discussed in Chapter 4) largely account for inelastic scattering effects on the simulated diffraction contrast images. 2.2.2.3 Bragg diffraction Bragg’s Law describes electron diffraction: nλ = 2dhkl sinθ hkl 3 where n is the order of diffraction (a positive integer), λ is the wavelength of the electrons, d is the distance between the reflecting planes which in Miller notation are given by the indices: hkl, and θ is the Bragg angle which is the angle the diffracted electron’s path makes with the incident electron beam (Figure 12). Thus when Bragg’s Law is satisfied, there is constructive interference of the waves when they exit the crystal. At all other angles, the exiting waves destructively interfere. 39 2.2.2.4 Diffraction vector Typically in electron diffraction the wave vector of the incident (non-diffracted) electron beam is referred to as k0 (k0  = 1/λ), while that of the diffracted beams are labeled khkl . The vector ghkl is known as the diffraction vector and its magnitude is equal to 1/dhkl (Figure 13). The Ewald sphere is a spherical construction in reciprocal space that has a radius of 1/λ. When this surface exactly intersects a reciprocal lattice point the Bragg condition is satisfied, and when the sphere intersects a reciprocal lattice rod (relrod—in three dimensional reciprocal space a rod represents the shape transform of a sample of finite thickness), but not the corresponding reciprocal lattice point, a diffraction spot is still visible (for a more extensive definition of the Ewald sphere and relrods see reference 4 or 46). Figure 12: Bragg's law geometry for TEM thin foil specimens 40 2.2.2.5 Deviation parameter When the Ewald sphere intersects a relrod without satisfying the Bragg condition exactly, the deviation parameter, s, describes the amount of deviation from the exact Bragg condition (Figure 14). As well, the diffraction contrast observed in the transmission electron microscope depends strongly on the magnitude of s, with the strongest contrast condition in the viewed image occurring when s is slightly greater than zero (Figure 14).46 This leads to the necessity of not only understanding what s represents, but also being able to measure it. It is important to note that in a transmission electron microscope, k0 (~1012 m-1) is much greater than g (~1010 m-1), which is much greater than s (~10-14 m-1). 2.2.2.6 Structure factor The structure factor, Fhkl, of a material describes the amplitude of electron Figure 13: Diffraction vector and the Ewald sphere construction 41 scattering from a particular hkl set of crystallographic planes. It is calculated by summation of the appropriate angular distributions of the atomic scattering amplitudes over the unit cell. Therefore the Fhkl intensity of electron scattering is dependent upon the type (i.e. atomic number) of atom(s) which makes up the material and the atom positions within the crystallographic unit cell. 2.2.2.7 Extinction distance An additional important concept in electron diffraction is the extinction distance, ξg . Mathematically the ξ g is described as: πVc cos θB 4 λFg Here, g is the operative defined diffraction vector, Vc is the volume of the unit cell of the ξg = material, θB is the Bragg angle, λ is the wavelength of the electrons and Fg is the structure Figure 14: Deviation parameter showing deviation from exact Bragg condition 42 factor of the material for a particular g. In a two beam condition, intensity oscillations occur as a function of specimen thickness. These oscillations are due to the difference in wavelength between the diffracted and transmitted beams.4&46 Thus for certain specimen thicknesses the incident and diffracted electrons will destructively interfere when the specimen has a thickness of the order of a multiple of the ξ g (ξ 400 = 186.9 nm for Si with 200 kV electrons). This creates the diffraction phenomenon known as thickness fringes in samples. The ξ g is material and diffraction condition dependent which is important to remember when simulation of EDC occurs with the SIMCON program (discussed later in Chapter 3). 2.2.2.8 Measurement of deviation parameter For practical experimental measurement, a dimensionless deviation parameter w, is determined: w = sξg 5 In future chapters, particularly when dealing with the SIMCON program, w will be used as an input parameter as it can readily be obtained and recorded experimentally. To measure w, one needs a diffraction pattern obtained from the single crystal material in the given two beam condition which also shows the Kikuchi lines (lines of inelastically scattered and then Bragg diffracted electron intensity which form cones of diffraction intensity) 46 associated with the two beam condition. It is also necessary to know the camera length of the microscope (L). Measurement of the deviation from the exact Bragg condition can then be performed by measuring the distance between the Kikuchi line and the diffraction spot (y). (An accurate way of performing this measurement is to 43 measure the distance from the incident beam spot to the Kikuchi line and also the distance from the incident beam spot to the diffraction spot and subtracting the two values.) Then using the following two equations, w is obtained as: y dg L 6 w = sξg 7 s = 2.2.2.9 The two beam condition As the electron beam passes through the sample, electrons undergo scattering events and change direction and/or energy. One such process is Bragg diffraction, which is essentially elastic. It is possible to tilt the sample such that only the incident beam and one diffracted beam are strongly excited, such that the diffracted beam is almost exactly in the Bragg diffraction condition. This condition is known as the two beam condition as only two beams, the incident and one diffracted beam, contribute to the great majority of the transmitted electron intensity. For typical sample conditions used here [(400) two beam condition and a Si thickness of about 280 nm], about 85% of the total diffracted intensity is contained within the transmitted and diffracted beam. This experimental measurement was performed on the JEOL 2000 FXII. Using the CCD camera, with the selected area aperture typically used and a diffraction camera length of 12 cm, a (400) diffraction pattern was captured which was composed primarily of the transmitted beam and the diffracted beam (with some additional background intensity captured between these two diffraction peaks) by using the objective aperture of appropriate size to block extraneous diffraction intensity 44 (Figure 15: B). A second diffraction pattern was recorded without the intensity limiting presence of the objective aperture (Figure 15: A). Within Digital Micrograph the first diffraction pattern was subtracted from the second with the resulting image being divided by the second. The resulting intensity was then summed and divided by the total number of pixels used to acquire the images. The resultant ratio was multiplied by 100 to obtain the percentage of intensity (86.2%) contained within the transmitted and diffracted beams. One of the advantages of tilting the sample so that it is in a known two beam condition is that it makes the mathematics of calculating electron diffraction problems much simpler because the diffraction intensity is coming from only one set of crystallographic planes. This also allows one to measure the variation in electron diffraction intensity as a function of crystallographic direction, by imaging with different diffraction vectors. Figure 15: (400) two beam diffraction patterns of Si approximately 280 nm thick. Comparison of pattern without intensity limiting objective aperture (A) to intensity arising just from the transmitted and diffracted beams (B) indicates ~85% of electron intensity is contained within the two beams 45 2.2.2.10 Kinematical diffraction The kinematical diffraction of electrons is based upon three primary assumptions: the deviation parameter is such that the diffraction condition is not at the exact Bragg condition, the sample is thin enough such that the electrons only undergo a maximum of one scattering event as they pass through the specimen, and all the electrons which initially entered the specimen, leave the specimen in either the incident or diffracted beam (no absorption of electrons). These assumptions give rise to the kinematical intensity relationship between the incident and diffracted beam intensities of:46 Ig I0 = π 2 sin 2 πt s ξg2 (πs )2 2.2.2.11 Dynamical diffraction Figure 16: Intensity in diffracted beam as a function of deviation parameter46 8 46 Dynamical diffraction is the treatment of multiple diffraction events of the same electron as it passes through the sample. The Howie-Whelan equations 4 were formulated in 1961 to mathematically describe dynamical electron diffraction through a crystal. When the sample is oriented in a two beam condition, one only has to consider two equations: the incident and diffracted beam equations. The Howie-Whelan equations describe the change in the electron wave amplitude (φ) with respect to the thickness (z) of the sample. One form of the equations for a two beam condition of g, are given by the following equations: dφ0 πi πi = φ0 + φg exp (2πisz + 2πig • R ) dz ξ0 ξg dφg 9 πi πi 10 φg + φ0 exp (− 2πisz − 2πig • R ) dz ξ0 ξg The subscripts 0 and g refer to the incident and diffracted beams respectively, with R = incorporating the strain field, as R(z) gives the atomic displacements from the perfect crystal positions at a depth z for an imperfect crystal of thickness, t. These two equations describe the dynamical diffraction of electrons as they pass through a crystalline lattice for a given two beam condition, with the intensities of the diffracted and direct beams oscillating, due to multiple diffraction with a period ξ. Thus it is possible to predict the intensity of the diffracted beam for given crystallographic conditions—as |φ|2 is proportional to beam intensity. Figure 16 shows the intensity in a diffracted beam as a function of deviation parameter.46 47 2.2.3 Image contrast mechanisms There are three ways image contrast occurs in TEM: diffraction contrast, phase contrast, and absorption contrast. Each of these three mechanisms provides information about the sample. The most important of these, as far as this thesis is concerned, is diffraction contrast. 2.2.3.1 Diffraction contrast Ultimately, the strain quantification technique used in this work simulates and compares EDC. The strain contrast mechanism under investigation here arises from atomic column displacements due to stresses within the device structure. This displacement is mathematically incorporated in the Howie-Whelan equations as the R term, which is the vector displacement of the atoms from their perfect crystal position. As the atom columns deviate from their periodic positions, the local Bragg conditions are changed. This causes a change in the constructive and destructive interference of the electron waves resulting in image contrast variation. Diffraction contrast is generally studied in a two beam condition. Thus one is examining the contrast which arises from a specific set of crystalline planes. If this EDC can be modeled with a computer program, like SIMCON, then it is possible to quantify the strain and stress fields corresponding to distortions on the set of planes producing the two beam condition. The two beam condition is achieved by tilting the sample so that only the transmitted and one strongly diffracting beam are excited. The objective aperture is then used to select either the transmitted beam for bright field (BF) microscopy or the diffracted beam for dark field (DF) microscopy. The DF microscopy 48 discussed later in Chapter 4 was performed via the centered dark field imaging technique such that the incident beam is tilted to allow the desired diffracted beam to lie along the optic axis of the microscope.46 Other factors also contribute to the resulting EDC besides strain contrast. Crystal orientation, specimen thickness, and defects all affect EDC. Crystal orientation (i.e. which zone axis is chosen to align the incident electron beam) determines which crystallographic planes can be selected for Bragg diffraction. Hence in a (100) oriented single crystal Si wafer, the <400> and <022> two beam conditions provide radically different information. The <400> two beam condition gives information about the strain fields which change the spacing between the (400) planes, while the orthogonal <022> two beam condition provides information about the displacement between the (022) planes. As well, conventionally prepared TEM samples (ion milled or electro-polished) can buckle and bend due to internal stresses. This also occurs, to a much lesser extent, in Figure 17: Conventional (A) and FIB (B) sample geometries in cross section 49 FIB prepared samples. The crystalline lattice bends with the sample causing a change in the orientation of the crystal in comparison to another area in the specimen. Thus for these “bent” regions, the sample orientation changes and it falls out of the two beam condition set up elsewhere on the sample. Conventional TEM specimens are “wedge” shaped, and as a result they vary in thickness (Figure 17: A). The thinnest part of the sample is near the hole with the thickness increasing over the distance removed from the thin region. This variation in thickness leads to the diffraction effect known as thickness fringes which result from the ξg parameter. Extended defects (e.g. dislocations) have strong local strain fields which cause sharp local changes in EDC. These fields produce additional EDC upon the existing strain EDC thus changing the observed image contrast. Contrast from dislocations is a extremely powerful aspect of electron microscopy, however their presence in samples where this work is concerned can mask the contrast of interest. The way to minimize these effects as much as possible is with the FIB sample geometry (Figure 17: B). This method produces a nearly parallel sided specimen which is rigidly supported on either side by bulk material (Figure 9). This minimizes the effects of variations of thickness and inhibits buckling due to internal stresses. Bowing of the FIB membrane is still possible and is occasionally observed when the sample is fabricated. This effect is further discussed in Chapter 4. 50 2.2.3.2 Phase contrast Experimentally, the primary difference between diffraction contrast and phase contrast is that phase contrast requires more than one beam to form the image. The phase contrast mechanism is extremely sensitive to experimental condition, and is used primarily for atomic column imaging. Phase contrast is based on the difference in the Figure 18: TEM schematic of the JEOL 2000 FX used during this study47 51 different diffracted and incident beams’ phases which produces variations in image intensity according to the local projected potential in the sample. This provides the ability for lattice resolution imaging. Interpretation of such lattice images requires detailed analysis of the instrumental conditions, but will not be discussed further here as lattice imaging is not employed in this study. Additionally, elastic strains in epitaxial layers have been determined through measuring the displacements of lattice planes in HRTEM images with accuracy on the order of fractions of a percent.16&17 Fresnel contrast, which is also a form of phase contrast, may modify the experimental image intensities examined in this work. It will be discussed in detail in Chapter 4, but Briefly, it arises from interference between electrons which have passed through different regions of different electrostatic potential, (i.e. two different materials, one of which can be been vacuum) when the sample is out of focus. 2.2.3.3 Absorption contrast Absorption or “mass/thickness” contrast is a high angle scattering phenomenon. The denser (more massive) an atom is, the more likely it is to scatter an incoming electron to a high angle. Correspondingly, the thicker the sample is, the better the chances are for an incoming electron to scatter to high angles. Such electrons are scattered out of the image collection system (most typically by the objective aperture) and thus a region of low intensity would appear in the image. 52 2.2.4 The transmission electron microscope Now that many of the terms and methods by which EDC is generated have been discussed, it remains to describe the instrument itself. 2.2.4.1 The electron gun Figure 18 is a schematic diagram of the JOEL 2000 FXII highlighting the main components of the instrument. At the very top of the diagram is the location of the electron gun. The gun for this microscope consists of a LaB6 filament which has a brightness of on the order of 5 x 1010 A/m2 /sr, an electron energy spread around 1.5 eV, and a current density of 106 A/m2 .46 The LaB6 filament works by thermionic emission of electrons. This means the filament is heated such that the electrons contained within the source gain enough energy to overcome the work function of the surface. The work function is 2.4 eV for this type of filament. Between the filament and the anode there exists a potential difference of 200 kV, which is used to accelerate the electrons down the microscope column. 2.2.4.2 Wehnelt cup As can be seen from Figure 18, the Wehnelt cup lies between the filament and the anode in the path of the 200 kV accelerating potential. The cup is used to focus the electrons emitted from the source on to the optic axis of the instrument with a small negative bias. 53 2.2.4.3 Condenser lenses The first electromagnetic lenses the electrons encounter as they travel down the microscope column are the two condenser lenses. These lenses are used to focus electrons which have passed through the Wehnelt cup along the optic axis of the microscope, thus effectively controlling the “brightness” of the image. 2.2.4.4 Specimen region After passing through the condenser lens, the electrons enter into the specimen region. Here they pass through the thin specimen and are either directly transmitted through the sample or scattered. They then exit the sample carrying all the useful information discussed previously in this chapter and continue on down the microscope column. 2.2.4.5 Objective lens The objective lens is the electromagnetic lens which is responsible for focusing the electrons after they have passed through the specimen. Aberrations in this lens have the greatest impact upon the final image out of all the other lenses in the microscope, as the angles of the diffracted electrons off of the optic axis are greatest as they enter into the objective lens, compared to subsequent image forming lenses. Electromagnetic lenses used in construction of transmission electron microscopes are of very poor optical quality when compared to analogous lenses used in light microscopy. The principle imperfections are spherical aberration (a dependence of the focal length upon the angle 54 declined to the optic axis), chromatic aberration (a dependence of the focal length upon the energy of the imaging electrons), and astigmatism (a radial dependence of the focal length). The spatial resolution for the JEOL 2000 FXII used during this study is about 0.3 nm. A brief description of these different aberrations now follows. Spherical aberration causes a point source in the sample plane to become a disk with a radius of r sph=CSβ3 in the image plane. Where C S is the spherical aberration coefficient (a constant for a given lens) and β is the semiangle of collection of the objective lens aperture. For the objective lens polepiece used in this work (JEOL: AHP20L) C S is 3.4 mm. Spherical aberration is a fixed property of a given magnetic lens, and cannot be corrected by the operator. The amount of image distortion formed by a point source in the sample plane due to chromatic aberration is: rchr=CC(∆E/E0 )β. With CC being the chromatic aberration coefficient of the lens (of order of the focal length of the lens; for the polepiece used CC is 3.1 mm), ∆E is the energy spread of the electrons caused by energy losses as they pass through the sample and by instabilities in the objective lens current and the high tension supply, and E0 is the mean electron energy. The chromatic aberration coefficient is a fixed property of a given magnetic lens, and cannot be corrected by the operator. Astigmatism, is corrected by the operator by introducing correction fields via an electromagnetic (in the case of the JEOL 2000 FXII) stigmator. The experimental method used for minimizing the effects of objective lens astigmatism upon the sample are discussed later in section 2.2.5.1. The amount of image distortion from astigmatism, rast , is equal to β∆f with ∆f describing the maximum difference in focal lengths along orthogonal directions in the image plane. 55 For more detailed descriptions of the aberrations encountered in electron optics see references 4, 46, or other standard texts on electron microscopy 2.2.4.6 Objective aperture The objective aperture is inserted into the back focal plane of the objective lens and is used to select which diffracted or incident beam(s) is to be used for imaging the specimen. By inserting the objective aperture, image contrast is also increased as it blocks background intensity from other diffracted beams, and from high angle inelastically scattered electrons. 2.2.4.7 Intermediate and projector lens assembly The intermediate and projector lenses are used predominately to control the final magnification of the image or diffraction pattern on the viewing screen. The first intermediate lens can also be controlled to focus upon the back focal plane or the image plane of the objective lens, thus allowing the user to select either the diffraction pattern or image produced from the specimen. 2.2.4.8 Selected area aperture The selected area aperture is used to select specific regions of the sample from which to obtain diffraction information. The aperture is inserted into the first image plane below the objective lens of the microscope. 56 2.2.4.9 Viewing chamber The viewing chamber contains both a large and small viewing screen which is made up of an electron sensitive phosphor. When electrons come into contact with the screen it causes light emission in the visible spectrum. The emission increases with the number of electrons hitting the screen in that particular location, therefore the more intense the light the more electrons that are interacting with that particular area. 2.2.4.10 Slow scan camera The 2000 FXII has a SSC (Gatan retractable slow scan camera model 694) which can be used to digitally record images from the microscope. The image capture software which is used to control the SSC is Digital Micrograph 2.5.48 The part of the SSC which is actually inserted into the microscope and is designed to detect electrons is an electron scintillator (See the SSC manual for specifications).49 This signal is then processed by Digital Micrograph and displayed on the attached computer monitor as an image. Capturing images in this manner allows one to avoid the effects of processing variables in photographic negative development upon image intensities which could complicate later image comparison routines. 2.2.5 Experimental details concerning TEM techniques employed The following section will briefly describe how various experimental results were obtained on the principle TEM used for this work. It will be assumed that the reader is capable of aligning their particular microscope, so that procedure will not be outlined 57 here. Also, it will be assumed that the reader is familiar with obtaining certain diffraction conditions from the sample such as zone axis (ZA), BF, DF imaging conditions, as well as use of the SSC. 2.2.5.1 Alignment routine for an FIB/TEM sample containing a semiconductor device structure When the FIB sample is first inserted into the microscope, it immediately becomes apparent that the membrane of electron transparency can only be found along one edge of the sample. Therefore, picture the shape of the sample as if one were looking down on top of it in the holder. Once the edge of the original wafer is within the field of view, it is relatively straightforward to move along this edge until the membrane shows up (Figure 19). On rare occasions the sample may be mounted at an angle such that the wafer surface is not perpendicular to the copper grid. If this occurs, having a scanning Figure 19: Schematic view of FIB specimen at low magnification in the TEM to illustrate locating the thin membrane 58 transmission microscope (STEM) attached to the TEM makes locating the membrane much easier as the STEM can be used to align the FIB membrane perpendicular to the incident TEM electron beam by operating the microscope temporarily as a SEM. The objective astigmatism is, perhaps, the most difficult of all the alignment procedures to perform upon an FIB manufactured sample due to the absence of extremely thin amorphous material. There are three features which can be useful when performing this alignment step. First, if you have a small hole located within the boundaries of the membrane, use it. This feature is by far the best in practice for FIB membranes due to the high radius of curvature (and the fact that it is a circular feature) which generates Fresnel fringes46 spanning all directions in the image plane (the effect of Fresnel contrast on quantitative analysis will be discussed later). The Fresnel fringe (whose intensity and polarity depends upon the magnitude and sign of defocus, as discussed in Chapter 4) should be adjusted to have uniform intensity. The specimen can then be brought into focus by adjusting the objective lens until the fringe disappears between its light/dark transition corresponding to under/over focus. Lacking a suitable hole within the membrane itself, the next best feature upon which to perform this procedure is locating an area of high curvature along the Pt/vacuum boundary of the membrane. Again, working with the Fresnel fringe on this feature, the objective astigmatism can be accurately corrected. The last suggested feature to use is a thin region of the deposited Pt layer lying along the Pt/vacuum interface. Here one should try to remove any directionality observed in the image of amorphous Pt material, thus properly correcting the astigmatism. 59 Images shown in this work were obtained at close (± 100 nm) to Gaussian focus and at magnifications ranging from 20,000-400,000 times. The intensity of BF images which were recorded on film were generally adjusted so that the exposure time was about two seconds. 2.2.5.2 Image recording via the SSC It was found through observation that the <022> two beam condition for the samples studied in this research project generally showed EDC arising from differences in composition, while the orthogonal <400> two beam condition was found to be significantly more sensitive to the strain contrast within the single crystalline material. Two additional sets of data need to be recorded to have all the necessary information for generating a SIMCON image comparison. The BF image, which is formed with the incident electron beam, has to be captured digitally with the SSC and the diffraction pattern showing the necessary features for measuring w, g, and the orientation of the electron beam with respect to the zone axis, also has to be recorded (film tends to work better than the SSC in this case, as the charge coupled device (CCD) array could be damaged by saturation at the diffraction and incident beam spots, and Kikuchi lines do not show up as well on a CCD image). The SSC recorded EDC image has the added advantage that there are no additional processing steps required after capturing the TEM image. Negatives exposed in the microscope, on the other hand, need to be subsequently developed and, if necessary, prints need to be made from the negative. This additional work for negatives incorporates a host of processing variables (chemical bath temperature, print exposure 60 time, etc.) which would need to be accounted for in a quantitative process for measurement of image intensities. The SSC images can therefore be taken almost ‘as is’ into the quantitative comparison routine, except for a scaling procedure to adjust the CCD image dynamic grayscale range onto the same range as that of the simulated image (described in Chapter 3). For CCD obtained images, the microscope magnification was typically set to 6,000 times as the CCD has a built in increase in magnification of approximately 10 times. As well, the brightness of the BF image was adjusted to keep the maximum number of counts at the brightest pixel location at approximately 15,000 counts as the saturation point of any given pixel within the CCD array is about 16,000 counts. This experimental condition provided the largest dynamic range of counts possible for the subsequent grayscale image. 2.2.5.3 Thickness determination of specimens The thickness of the specimens examined in this work were determined principally through standard CBED techniques.46&50 Typically the sample was tilted into the <400> two beam condition and a CBED pattern was obtained by condensing the electron beam onto the sample at a location slightly removed from the region of interest and containing no significant EDC other than the normal background intensity in the single crystal material. In the above configuration the CBED disks contain parallel intensity variations which allow for the determination of the crystalline sample thickness by the following equations (providing the ξ g is known): 61 si = λ ∆θ i 2θ B d 2 si2 1 1 + 2 2= 2 2 nk ξ g n k t 11 12 Where si is the deviation for the ith fringe, ∆θi are the angles which correspond to the fringe spacings, and nk is an integer. A DOS based computer program called Off-Line CBED Thickness Measurement Program was used to facilitate these calculations.51 In the case of unusually thin samples (<<ξ) the thickness was measured via the Log-Ratio method using the electron energy loss spectrometer on the JEOL 2010 F at UVA. 45 This technique compares the area under the zero loss peak to that of the whole energy loss spectrum and for this study was only performed on the quantum dot sample discussed in Chapter 5. The Log-Ratio method measures the entire thickness of the sample (crystalline plus amorphized material on the membrane surfaces created by the FIB thinning method, and thus does lead to a source of error when this thickness is used as the crystalline sample thickness in SIMCON). The relationship between the thickness of the sample and the ratio of intensities is: I t = ln  t λ ï£ I0    13 Where It is the total area under the whole energy spectrum and I0 is the area under the zero loss peak. λ is the total mean free path for all inelastic scattering for the material (156 nm for Si at 197 kV).52 62 2.2.6 Conventional TEM cross section sample preparation The conventional TEM cross sectional sample preparation employed to fabricate the InAs/GaAs quantum dot examined in Chapter 5 was performed by Dr. S. Chen of UVA. This process consisted of mechanically polishing the sample in a manner similar to that employed during the FIB polishing process using SiC paper. However, the final mechanical polish was with a 0.5 µm 3M diamond lapping film. The sample was then ion milled (Gatan model 600 dual ion mill) with Ar as the incident species at an angle of 12 degrees to the sample surface. This occurred at a 5 kV voltage and 1 mA of current at approximately liquid nitrogen temperature. 63 2.3 Conclusions By utilizing the FIB and transmission electron microscopy samples of semiconductor devices (or virtually any other system) a sample can be fabricated in such a manner that factors which influence EDC (i.e. thickness variation and specimen bowing) are minimized. This permits the quantification of strains/stresses in the specimen due purely to EDC through accurate simulation of the experimental system the methodology of which is described in Chapters 3 & 4. 64 CHAPTER 3: SIMULATION AND MODELING TECHNIQUES 3.1 Finite Element Analysis 3.1.1 Introduction The FEM is a widely used analysis tool in engineering fields for calculating how a given structure will respond to applied physical loads such as forces or temperatures, as well as having broader applications such as calculating electric and magnetic fields and analyzing fluid flow. The concept behind FEM is to take a physical structure, in this case a HBT, and build it in computer space in either two or three dimensions. The computer model is then divided into small areas or volumes of a given shape and size, a process called meshing the model. Once the model has been meshed, a particular load can be applied to the model, for example a force of 200 MPa can be applied to one node contained in the structure. The computer program will then mathematically solve for the resulting reaction of the structure to this applied load by using the nodes of the elements as the reaction points within the model. Physical data, such as stress in a particular model direction, can then be graphically displayed or listed for interpretation. Due to the constraints imposed upon the FEM output data by the SIMCON program (Section 3.2) the commercially available FEM program used in this project has been ANSYS (versions 5.X).1 SIMCON currently interfaces with the ANSYS and SYSTUS FEM programs. It is possible to adapt the SIMCON program to interface with other FEM programs, but would require considerable coding in both the FORTRAN and UNIX programming languages. 65 This section describes the basic principles of how the FEM method works and how to construct a finite element model from an experimental image utilizing the ANSYS program. 3.1.2 Principles of the finite element method The FEM takes a model of a structure and discretizes it into volume elements. These elements have specific point locations associated with them called nodes. Analysis of the response of these nodes to the applied loads is the basis behind the FEM method. The mathematical essence of the FEM is to obtain a highly accurate approximation to differential equations (described later in this section) through the use of linear algebra. Many books currently are available which describe the FEM in great detail from a mathematical standpoint. Three of these books are The Finite Element Method: Basic Concepts and Applications by Pepper and Heirnrich, 53 Mechanics of Figure 20: Definition of the components of the stress tensor 66 Structures: Variational and Computational Methods by Pilkey and Wunderlich, 54 and the ANSYS Theory Manual.55 These texts contain detailed derivations and explanations of how different types of elements are treated mathematically within the FEM. 3.1.2.1 Tensor nomenclature Figure 20 schematically shows the standard convention for defining the various components of the stress tensor as it acts upon a small volume of material. As shown in the figure, the first subscript corresponds to the plane upon which the vector acts, while the second subscript denotes the direction. This tensor convention is also applicable to other tensors such as the strain tensor, ε . 3.1.2.2 The stiffness matrix When the force and displacement relationship, which is also known as the stiffness matrix (K), is known at each node point it is possible to create a stiffness matrix for the entire finite element model. The responses of the individual node points to applied loads can then be calculated as the stiffness matrix relates the applied stresses to the displacements experienced by the node points. In other words the stiffness matrix is analogous to the spring constant of a simple spring under a load. To derive K, we first start with a stress-strain relationship for linear materials subjected to thermal and mechanical loading. {ε} = {ε th } + [ D] −1 {σ} 14 67 {ε} is the strain tensor describing displacements of the nodes from their original positions within the model: ε xx  εxx  ε  ε   yy   yy  ε  ε  {ε} =  zz  =  zz  2εxy  γ xy      2εxz  γ xz  2εyz  γ yz  With 2ε ij = γij, as γ is the engineering shear strain. 15 {ε th } is the thermal strain tensor, which describes the behavior of the nodes with respect to a change in applied temperature: {ε } th αxx  α   yy  α  = ∆T  zz  0  0    0  16 ∆T represents the change in temperature in °C and α is the coefficient of thermal expansion, which is how strains are introduced into the FEM model in this study (discussed in a later section of this chapter). All materials used in the finite element analysis covered in this research were treated as elastically isotropic, so α xx = α yy = α zz. [D]-1 is the inverted elasticity matrix: 68 [D] −1 −ν xy  1  E  xx  −ν yx  E  yy  − ν zx  E =  zz   0    0    0  −ν xz E xx − ν yz E xx 1 E yy − ν zy E yy 1 E zz E zz 0 0 0 0 0 0 0 0 1 Gxy 0 0 0 1 G yz 0 0 0 0 0  0    0    0    0    0   1  Gxz  17 Gij is the shear modulus of the material. Due to the fact that all materials examined in this study are considered here are isotropic; E11 =E22 =E33 , ν12 =ν13 =…, and G12 =G23 =G13 . {σ} is the stress tensor: σ xx  σ   yy  σ  {σ} =  zz  σ xy    σ xz  σ yz  18 Because [D]-1 is required to be positive definite (the variable values are never negative) and we are treating all the materials in the model as isotropic: ν ji Eii = νij E jj ⇒ ν E 19 69 3.1.2.2.1 Principle of virtual work Extremely small displacements that also do not violate any operative boundary conditions are commonly referred to as virtual displacements. The principle of virtual work refers to the work done on a system by these small virtual displacements. This is mathematically expressed as: δU = δV 20 With the internal work experienced by the system composed of the strain energy U=U1 +U2 (i.e. the virtual strain energy + energy due to a surface moving against a distributed resistance), and the external work upon the system symbolized by V=V1 +V2 +V3 (i.e. inertial effects + pressure force vector + nodal forces applied to the element). δU 1 = {δu} T ∫ [B] [D][B]dV {u} − {δu} ∫ [B ] [D]{ε }dV T T V T th 21 V Where {u} is the nodal displacement vector, T represents the transpose of the original matrix, [B] is the strain—displacement matrix which is based upon the element shape functions: a polynomial describing the displacement behavior of a particular element type, and V symbolizes volume. [B] and {u} are related to the strain tensor by the following function: {ε} = [B]{u} 22 The second component of the internal work which describes the energy due to a surface moving against a distributed resistance is: δU 2 = {δu} k ∫ [ N n ] [N n ]dA{u} T T A 23 70 Such that k is the foundation stiffness: an expression of force in terms of displacements, [N n ] is the matrix of shape functions for normal motions at the surface, and A symbolizes area. [N n ] and k are related by the stress and displacement tensors: {σ} = k [N n ]{u} 24 The inertial effects of the external virtual work, V1 are given by: ∂2 {u} 25 ∂t 2 V Here, ρ is the density, [N] is a matrix of shape functions based upon the displacement of δV1 = −{δu}T ρ∫ [ N ]T [N ]dV a general point, and t is time. The pressure force vector, V2 is: δV2 = {δu} T ∫ [N ] {P}dA 26 T n A With {P} being the applied pressure vector. Nodal forces applied to the element are described by, V3 : T 27 δV3 = {δu} {Fe } Where {F e} are the nodal forces applied to the element. These five equations can be substituted into the principle of virtual work to yield the equilibrium equation for one element: ([K ] + [K ]){u} − {F } = [M ]{&u&} + {F }+ {F } f e e th e pr e e nd e 28 The components of which give: The element stiffness matrix: [K e ] = ∫ [B]T [D][B]dV V 29 71 The element foundation stiffness matrix: [K ] = k ∫ [N ] [N ]dA T f e n n 30 A The element thermal load vector: {F } = ∫ [B ] [D]{ε }dV T th th e 31 V The element mass matrix: [M e ] = ρ∫ [ N ]T [N ]dV 32 V The acceleration vector: ∂2 {u} ∂t 2 The element pressure vector: {u&&} = 33 {F } = ∫ [N ] {P}dA T pr e n 34 Depending on the type of analysis being performed with the FEM, some of the above A components may be equal to zero. For example, if there are no acceleration effects (e.g. gravity) then the acceleration vector is equal to zero. For the FEM analysis used in this work, the acceleration vector and the initial element pressure vector were zero. To summarize the preceding section, once the FEM model has been constructed the nodal displacements (thus the strain field) can be determined throughout the entire structure. This is accomplished by utilizing the principle of virtual work, which is a mathematical quantification of the work done upon a system by small displacements of certain key points (i.e. the nodes), in conjunction with the stiffness matrix, which describes the mathematical relationship between the small displacements and the forces which created them. This can all be determined by providing the FEM program with the 72 relevant mechanical properties of the individual materials and the appropriate loading condition. 3.1.3 Finite element model construction The ANSYS graphical user interface consists of three principle menu systems which enable the user to build and mesh the finite element model: (i) preprocessor— model construction and material property assignment, (ii) solution processor—apply the appropriate boundary conditions and loads, and (iii) general postprocessor—graphically view the results of the finite element calculation. 3.1.3.1 Experimental image To build a model of the HBT structure suitable for strain quantification by the finite element analysis method, one first needs to prepare the experimental sample by the Figure 21: 2D FEM model (left) and corresponding (400) TEM image (right) 73 FIB procedure described in Chapter 2. An experimental image of the FIB sample then must be recorded by TEM. Such an image is show in Figure 21 along with the corresponding FEM model. The particular electron diffraction conditions are only important in building the FEM model insofar as all the relevant features can be observed. For example; the (400) two beam diffraction condition typically demonstrates strong strain contrast effects in the single crystalline region of the device. This can mask the location of the actual SiGe base structure due to the strain contrast which arises in this area from the presence of the lattice-mismatched SiGe material. The SiGe base location is then more readily identifiable in the (022) two beam condition as strain contrast effects are not as visible and the atomic number difference between the pure Si region and the SiGe base can more easily be discerned. 3.1.3.2 Key points There are two basic ways of constructing a model in the ANSYS environment: bottom up or top down. The bottom up method will be described here, top down is Figure 22: FEM key points (A), lines (B), and areas (C) showing development of FEM model construction for the shallow isolation trench geometry 74 basically reversing this process. A fundamental concept of the bottom up method are the features known as key points. Key points are specific point locations within the computer model (x, y, z for the Cartesian coordinate system) which represent a location of interest (a corner of a material region or a point along a boundary where there is a change in direction of a line, for example). The key point locations for an ANSYS model of a geometrically square shallow isolation trench are shown in Figure 22: A. As a suggested method for determining key point location, take the experimental image and enlarge it such that it fits entirely onto an 8.5 inch by 11 inch piece of paper. The large image can then be fixed to a drafting board or a digitizing tablet and the key point positions can be transferred either by measuring and entering their coordinates by hand (drafting board) or storing the acquired key point locations in a data file (digitizing tablet) and importing them into the ANSYS program. Individual material volumes are described with as few points as possible while maintaining the desired level of accuracy for depicting the experimental structure. Minimizing the number of key points facilitates the meshing procedure as key points become node points. Extraneous key points have the potential to affect the mesh density locally, by using extra nodes when not necessary. However, key points may also be introduced into regions of interest as a way to increase the local mesh density, and thus accuracy of the FEM simulations. 3.1.3.2 Lines While still within the preprocessing module of the ANSYS program, it is necessary to build the desired structure out of the key points. This is done by connecting 75 the key points with lines where appropriate (i.e. along material boundaries) (Figure 22: B). 3.1.3.3 Areas Lines, in turn, can be used to define areas within the model (Figure 22: C). These areas constitute the different materials as observed in the original experimental image, and as such, can be assigned different physical properties. Experience teaches that ANSYS is best adapted to regular geometrical areas for later meshing procedures. Therefore, if a larger irregularly shaped region of the model which is designated as all one material can be broken up into smaller more regularly shaped areas, doing so increases computational efficiency (Figure 22: C). Figure 23: FEM elements forming a mesh of the shallow isolation trench structure described in Figure 21 76 3.1.3.4 Volumes Areas, in turn, can be used to construct volumes for three dimensional models. In the case of the FIB prepared HBTs studied here, the dimensions of the cross sectional features are almost constant through the thickness of the specimen. It therefore becomes possible to take advantage of the ‘extrude’ option during volume construction. ANSYS allows a two dimensional area (or set of areas) to be extruded a set distance along one of the three major Cartesian axis directions. If the thickness of the original FIB/TEM specimen is known, a three dimensional model can quickly be acquired from an existing two dimensional model. 3.1.4 Finite element model meshing 3.1.4.1 Element types The SIMCON/ANSYS interface was written for two particular element types: a 6 node two dimensional triangular element called PLANE2 and a 10 node three dimensional tetrahedral element called SOLID92. Consequently, the only element types used for finite element modeling with ANSYS were these two elements. The PLANE2 element has node points at each corner of the triangle as well as a node at the midpoint along each side of the triangle, with each node having two degrees of freedom (translation in the x and y directions). The SOLID92 element is configured such that there is a node at each corner of the tetrahedral as well as at the midpoint of each line connecting the corners, with each node having three degrees of freedom (translation in 77 the x, y, and z directions). The principle reason the creator of the SIMCON program selected these two element types for use was because they can be used to accurately mesh most two and three dimensional models of arbitrary complexity. An example of a meshed structure is shown in Figure 23. 3.1.4.2 Element shape checking ANSYS possesses an internal checking routine which will determine whether the regions that have been meshed have elements that fall out of the acceptable range of shape constraints as defined by the individual element descriptions (i.e. for the three dimensional element type used here the aspect ratio of the element can not exceed 20 without generating an ANSYS warning message). Should such an error be encountered, it is possible to visually check which elements are creating a problem with the ‘check elements’ command in the preprocessor. If “bad” or “warning” elements exist within the model, the user can use their judgement to either refine the mesh locally, clear the mesh in that particular area and attempt meshing again, or if the elements are sufficiently removed from the region of interest their presence can be tolerated within the model. The chances of successful meshing are greatly increased if one starts with the smallest and/or most complicated material region. Doing this relaxes the nodal position constraints at adjacent interfaces allowing the larger areas to absorb the lack of tolerance of the smaller regions, as smaller regions necessarily demand smaller elements and correspondingly smaller nodal spacings. After a valid initial mesh is achieved with the supplied auto meshing routine in the ANSYS program, the mesh can be further refined in regions of 78 particular interest, complexity, or possessing rapidly varying stress fields within the finite element model. 3.1.4.3 Element mesh density This work routinely increased the element density in the region of the SiGe base. The number of available nodes is limited by the software license agreement with ANSYS Inc. Throughout this thesis when ANSYS 5.3 is referred to, there is a 16,000 node limitation. Correspondingly when ANSYS 5.4 or higher is identified, there is a 128,000 node limitation. Two dimensional models of the full HBT structure routinely had about 10,000 nodes distributed throughout the model, while the three dimensional models had considerably more node points (15,000-80,000). 3.1.5 Material parameters In the HBT structure there are twelve different materials which need to have their physical properties inputted into the ANSYS finite element model. These materials are single crystal Si, polycrystalline Si (which potentially can have different elastic properties than single crystal silicon—although this is not addressed in this study), CVD SiO 2 , PECVD SiO 2 , thermal SiO 2 , W, Al, titanium nitride (TiN), Si3 N4 , single crystal Si0.9Ge0.1, polycrystalline Si0.9Ge0.1 , and titanium disilicide (TiSi2 ). The material properties are listed in Table 3 where E is the elastic modulus, ν is Poisson’s ratio, and α is the coefficient of thermal expansion. 79 In the instances where wafer curvature stress data was unavailable for films deposited at IBM, the intrinsic stresses in the various materials were obtained from the literature. PECVD stress values described in the literature30 indicate a low stress range of (+0.01 GPa--tensile [+] to –0.018 GPa—compressive [-]) in this material. The room temperature value of the cited stress range of –0.009 GPa was utilized in this examination. Values for the intrinsic stress for thermal SiO 2 from journal literature range from –0.2 to –0.34 GPa stress.7,30,57,69 The value of –0.3 GPa was used in this study as it was the most common value obtained for the intrinsic stress in thermal oxide generated at processing temperatures between 900—1050 °C (the IBM processing temperature range). The literature value obtained for Al’s intrinsic stress (0.145 GPa) was obtained from Al-2% Cu patterned line (which is similar in composition and dimension to IBM’s line studied here).60 The interconnect line was fabricated upon SiO 2 on Si and further capped with SiO 2 . The value used for the intrinsic stress of Al is also similar to that obtained for a blanket film of Al without passivation obtained by Greenebaum et al. (0.16 GPa).61 Utilization of an intrinsic stress for Al near the blanket film stress value was done in an attempt to preserve consistency with other experimentally obtained intrinsic stress values via blanket film wafer curvature measurements. The intrinsic stress associated with TiSi2 , offers an interesting dilemma. Hu (reference 7) quotes stress levels ranging from +0.4 GPa for as deposited PECVD to +1.2 GPa for annealed PECVD TiSi2 , with a value of +2.3 GPa for sputtered TiSi2 . The IBM process for forming TiSi2 involves depositing Ti upon the existing Si wafer surface and 80 reacting it to form the desired phase of the material. The obtained wafer curvature measurement indicates an intrinsic stress of +2.96 GPa. Additionally there is some question to the validity of this measurement as this particular blanket film wafer received additional processing steps prior to its removal from the fabrication line. These additional layers consisted of a PECVD Si3 N4 and a PECVD borophosphosilicate glass (BPSG) and were removed prior to the stress measurement although their presence and subsequent removal may have affected the intrinsic stress measurement. Neither of the additional processes exceeded 450 °C. The BPSG was removed by a hyrdofloric etch and the Si3 N4 was removed via a reaction ion etch. The +2.96 GPa measured value was used in FEM calculations containing this material as it represents the experimentally obtained value for the process used to form the TiSi2 in the device examined here. Polycrystalline Si stress levels were determined from the literature to range from –0.1 to -0.4 GPa.7,67-71 The value of –0.35 GPa was used for this material as it represents an upper limit (only one source67 claimed a measured value higher than –0.35 GPa). The polycrystalline SiGe material stress values were obtained by applying the rule of mixtures for a 10% polycrystalline Ge composition to the data reported by Kawata et al67 and Floro et al. which are for pure polycrystalline Si and pure polycrystalline Ge.71 This calculation yielded an intrinsic stress of –0.32 GPa. 81 Table 3: ANSYS material parameters used in this examination Material E (Chemical (GPa) ν α Wafer Curvature Modified α (10-6 °C-1) Measurement of (10-6 °C-1) To Intrinsic Stress Reproduce (GPa) Intrinsic Stress Symbol) (∆T = 1000°C) Single crystal 150 0.27 2.6  0# 72.7 0.17 0.5 +0.01 to –0.01830 -0.125 Si56 PECVD SiO 2 30 -0.009 used CVD SiO 2 30 72.7 0.17 0.5 -0.062 -0.853 Thermal 72.7 0.17 0.5 -0.2 to -0.347,30,57- -4.126 SiO 2 7,30,&57 59,69 0.3 used W56 400 0.27 4.5 +1.21 3.0 Al56 72.4 0.31 23.6 +0.07 to +0.5460-62 2.0 +0.145 Si3 N4 63 366 0.24 2.8 +0.067 0.183 Single crystal 145.2 0.27 2.91  4.0 TiN 64 616 0.25 9.35 -0.745 -1.21 TiSi2 65 142 0.27 10.9 +0.4 to +2.37,65&66 20.8 Si0.9Ge0.156 * +2.96 (measured) Polycrystalline 150 0.27 2.6 Si56 -0.1 to -0.47,67-71 -2.3 -0.35 used Polycrystalline 145.2 0.27 2.91 -0.3267&71 used -2.2 Si0.9Ge0.156 * # Single crystalline Si acts as a ‘reference’ material for the surrounding strain fields and as such does not experience ∆T strain inducing load effect. * Values calculated by rule of mixtures formulation assuming a 10% Ge concentration throughout the SiGe regions of the HBT structure. 82 3.1.5.1 Coefficient of thermal expansion Strains are introduced to the finite element model by applying a temperature change to the structure. This temperature change causes the various materials contained within the model to expand (or contract) according to their coefficient of thermal expansion as: ε = α(∆T ) 35 Note, that the goal of applying the change in temperature to the model is not to simulate the actual thermal condition that the real structure experiences. The goal is to induce the appropriate strains into the single crystal regions of the model. Consequently, the single crystal Si is assigned an α of zero so that it imposes no strain upon itself. 3.1.5.2 Intrinsic stress measurements K. Schonenberg of IBM performed wafer curvature measurements upon thin, unpatterned films deposited over broad areas of single crystal Si substrates. This experiment is a way of measuring the intrinsic stress in a deposited material by measuring the amount of change in curvature of the wafer due to compressive or tensile stress. The wafer curvature measurements were performed on an ADE UltraGage 9700 system. Stoney’s equation72 is then used to determine the intrinsic stress within the deposited material (assuming elastic deformation) by relating the radius of curvature of the wafer to the stress: σ= Ys t s2 1 6 tf R 36 83 Where Ys is the biaxial elastic modulus of the substrate, t s is the substrate thickness, tf is the film thickness, and R is the radius of curvature.73&74 The analysis presented in this study does need to acknowledge that polycrystalline layers in the HBT structure may be of a thickness equivalent to the grain size. This may differ from the microstructure of the blanket films used for the wafer curvature measurements as final layer thickness in the device structures can be determined by subsequent processing steps which the blanket films did not undergo. The experimentally measured wafer curvature stresses must therefore be regarded as an approximation to the final stress state within the structure. However, a primary goal of this thesis is to vary these stresses to see how matching between simulated and experimental EDC values can be improved. Thus the wafer curvature values represent only initial estimates of the material stresses in this quantitative procedure. Figure 24: (400) TEM image showing repeating HBT structure 84 3.1.6.1 Finite element model boundary conditions Perhaps the most important aspect of applying the FEM is determining which boundary conditions to apply to the model of the structure. Boundary conditions can represent a variety of physical situations and act to fix certain physical variables, such as displacement, stress, or temperature. Specifically, the following sections will describe in detail the choices and decisions made when building the FEM model used in this work, and the approximations involved. The effect of TEM sample thickness and its correlation with the stresses in the actual three-dimensional device geometry will also be addressed in Chapter 4. 3.1.6.2 Experimental structure The principal structure that has been examined throughout this work has been a Si/GeSi/Si HBT. These devices are commonly manufactured in a repeating array consisting of a pair of HBTs with a mirror plane of symmetry dividing the two (Figure 24). The membrane shown in Figure 24 is about twice as wide (~20 µm) and thick (~400 nm) in comparison with most samples used in this work. 3.1.6.3 Saint Venant’s principle75&54 St. Venant’s principle states that a forces acting on a small region of the surface of an elastic body can be replaced by a statically equivalent set of forces. The resulting changes in the stress distribution are only significant in the region local to the loading. Stresses are essentially the same in the body at large (2-3 times the size of the loading 85 feature) distances removed from the applied loading. For example, taking the single isolation trench structure (which will be discussed in more detail in the next chapter) a thin 15 nm thermal oxide layer between the CVD oxide of the trench and the single crystal Si only causes significant changes in the stress distribution near the thermal oxide layer, and has virtually no effect upon stresses in the materials at significant distances (approximately 10 or more times the layer thickness) from this feature. 3.1.6.4 Structural symmetry54 Structures to be analyzed using FEM can often be simplified by exploiting geometric symmetries. The primary benefit of using the symmetrical properties of the structure is the reduction in computational cost. When examining the full HBT structure, the long axis of the deep isolation trench has been used as a symmetry plane although it does not rigorously meet the definition of a structural symmetry element (Figure 24). However, it has proved adequate for the current geometry for two reasons. First the FIB prepared samples generally have a deep isolation trench at the limit of the membrane and thus are anchored to the bulk wafer (due to experimental sample geometry) and can therefore act as fixed points in the finite element model. Second, from the preceding section on St. Venant’s principle and the observed TEM strain contrast the dominant strain inducing components of the structure (i.e. the thermal oxide for the shallow isolation trench and the W, TiN, and TiSi2 materials for the collector contact geometry concentrated upon in the next chapter) are generally those in the immediate vicinity of the single crystal Si under examination. Thus stress producing components of the sample 86 reasonably removed (>1 µm) from the area of examination generally do not have a significant impact upon the stresses in that region. 3.1.6.5 Boundary condition conclusions From the above arguments a balance has been struck between precise application of FEM theory and the experimental limitations to achieve the best practical engineering solution to the problem at hand. Namely by applying St. Venant’s principle, which is justified by the extent of experimentally observed TEM strain contrast, the resulting stress quantification is not significantly affected (less than a few percent difference, as determined by inspection of the shallow isolation trench and collector contact FEM models) and further allows finite element models of significant detail and relatively large spatial extent to be constructed and examined. Thus when applying boundary conditions to the FEM model, fixing the edges of the model when it does not encompass the entire membrane structure is reasonable. For simpler strained systems (i.e. single quantum dots) the arguments of Saint Venant and symmetry are rigorously applied. Consequently, the boundary conditions applied to the models discussed in this study (unless otherwise noted) consist of fixing all the degrees of freedom for a given node (three translation degrees for the SOLID 92 element) at zero when the node lies at the limits of the FEM model and Saint Venant’s principle and/or symmetry can be invoked. If the node falls upon the limit of the finite element model and that limiting surface represents a free edge (i.e. the top of the wafer or the face of the FIB membrane) in the experimental configuration, then the nodes falling on those free surfaces are free to translate in all degrees of freedom. 87 3.1.7 Applying loads and solving the model Once the finite element model has been constructed and meshed, it is necessary to exit the preprocessor and enter into the solution processor of the ANSYS software package. The solution processor allows one to apply loads to specific nodes or elements or uniformly to the entire model, as well as defining the boundary conditions of the model. The ANSYS software then determines and solves the shape function for the entire model which then yields the nodal displacements for the applied load. 3.1.8 Results of the FEM The results of the FEM calculation can then be graphically displayed through ANSYS’ general postprocessor. The postprocessor offers a variety of options for viewing the calculated result—they range from looking at components of the stress or strain tensor to changing the number of color contours which are used to view the data, as well as examining the results along different planes through the model. 3.1.9 Output files for the SIMCON program The SIMCON program (section 3.2) requires three files from the ANSYS program to calculate the EDC arising from the strain present in the single crystalline material regions of the finite element model. These files are a list of the FEM element numbers and their associated nodes, a list of the nodes and their original positions, and a list of the nodes and their displacement vector. These files can be found by using the list 88 command found on the ANSYS menu bar in graphical user interface mode. The elements and nodes must also be sequentially numbered from one to the maximum number of nodes or elements contained within the model without any numerical discontinuities in the numbering process. This can be checked by executing the compress numbers command prior to solving the model. 3.1.10 Model accuracy To check the accuracy of the results from the finite element calculation it is common practice to take the existing model and progressively increase the mesh density throughout the entire model, and then solve under the same conditions as the first. If the results of the two calculations do not differ appreciably, then the mesh of the first model is adequate. Rarely were differences noted between the default ANSYS mesh and a further refined mesh. However, the default mesh was typically refined in the region of interest to provide more data points and more accurate results for subsequent analysis. The typical result of increasing mesh density by increasing the number of nodes by a factor of four used in the analysis was about a five percent a change in results in the most highly strained regions. 3.1.11 h-convergence versus p-convergence There are two ways to perform FEM calculations: h-convergence and pconvergence. The h-convergence method is the practice of increasing mesh density to 89 increase model accuracy, while p-convergence method uses higher order shape functions to improve accuracy. Only h-convergence calculations were used in this work. 3.1.12 Hardware The computer used to perform the FEM calculations in this work, as well as the SIMCON calculations and image manipulations via AVS (Section 3.2 and 3.3) was an IBM RISC System/6000 43P-240 workstation running AIX with two 166 MHz processors, 192 Mega Bytes of random access memory, and with 13 GB of hard disk space. Typical times for 2-D FEM calculations with about 15,000 nodes range from 3060 minutes (frontal solver), while 3-D FEM calculations required times on the order of 10 minutes (50,000 nodes: PCG solver). The time difference being due to the different equation solvers used, as the frontal solver is physical disk space intensive while the PCG solver is RAM intensive. SIMCON calculation times were primarily determined by the desired image resolution. The higher the resolution the longer the time of the calculation, which could be upwards of 3 to 4 hours (for 400 by 400 pixels), but multiple image calculations can be run in parallel over night. During the final year of this research, it was necessary to shift the computer programs to an alternative platform. ANSYS and AVS/Express were moved to a Silicon Graphics machine, while SIMCON was run upon an IBM SP system. Calculation times on the new platforms were comparable to those quoted earlier in this section. 90 3.2 Electron Diffraction Contrast Simulation 3.2.1 Introduction to SIMCON As was previously mentioned in Chapter 1, the SIMCON program was created by Dr. Koenraad G. F. Janssens as his Ph.D. thesis work at IMEC and the University of Leuven, Belgium.2 The goal behind the SIMCON program was to be able to characterize localized strain using electron diffraction contrast simulation. SIMCON was written in the FORTRAN programming language with a UNIX control script. In its original version, SIMCON consisted of three contrast modeling subprograms along with a data postprocessor. The first of these subprograms is SIMCON_DA which is used when a direct analytical expression for the derivative of the displacement vector in the direction of the electron beams is known. If, on the other hand, an expression for the displacement field itself is known, then it is possible to use SIMCON_DISP to calculate EDC arising from strain. The third and most powerful subprogram is SIMCON_FE which allows one to build an arbitrary structure in a finite element program, obtain a list of nodal displacements determined from applied loading conditions, and then simulate EDC from this strain information. It is this subprogram which has been used and modified in the research presented here. 91 3.1.2 The SIMCON approach SIMCON has been developed to solve the Howie-Whelan equations for dynamical electron diffraction in a two beam case. It does this through execution of the column approximation. At its essence, the column approximation allows for independent numerical integration of image intensities based upon localized displacement field data. This can occur if adjacent columns represent parts of an electron beam which are separated by a given distance (for typical calculations used in this work, pixel size and thus column size was around 5 nm and adjacent pixels represent different column approximation calculations) and the displacement field variation between the columns is smooth. Thus for a given image simulation described in this study, one image pixel corresponds to one column of the column approximation, and the displacement field at that location is given by the data from the FEM. SIMCON utilizes the Bulirsch-Stoer77 (extrapolates a result to the value the result would have had if the step size had been much smaller) method and a fifth order Runge-Kutta77 (extend a solution over a range by combining several Euler-style steps) method to solve the Howie-Whelan equations. For a more detailed discussion of SIMCON see Dr. K. Janssens’ thesis: Localized Strain Characterization Using Electron Diffraction Contrast Imaging.2 3.2.2 SIMCON modifications (Appendix A) The major change to the SIMCON program made during this research was enabling the code to accept multiple single crystal materials for EDC simulation. At the same time SIMCON was also modified to give a user defined intensity for non single crystal material regions from which no quantitative information can be acquired using 92 this technique. With the help of Dr. K. Janssens the SIMCON multiple materials (SIMCON_MM) subprogram was created which allowed multiple material EDC simulation in two dimensions to be performed. The key to enabling this process was placing a check within the calculation code to reference the ANSYS material number associated with a particular element. If this check showed that the particular element was located within a single crystal material then the EDC calculation would proceed normally as in SIMCON_FE. Of course when changing between one single crystal material to another, the appropriate simulation parameters (ξ g , w, etc.) are modified appropriately. These values are stored within the program as the material_par input parameter along with the ANSYS material number. However, if the element material number registers to be a non crystalline material, then the EDC calculation is not performed and the program references a file (fix_intensities.f) in which is stored the default intensity associated with that particular material. Fix_intensities.f is a user defined file, in that the operator must manually provide the default non-single crystal intensity. SIMCON was also further modified to perform the multiple materials calculation for three dimensional finite element models which takes place in the subprogram SIMCON_MM_3D and follows the same procedures as the SIMCON_MM module. 3.2.3 Operation of the SIMCON Program The SIMCON program can be obtained fr om the world wide web at www.mtm.kuleuven.ac.be/~simcon. Once installed, the program is activated by typing the command: simcon (executable commands will be shown in italics). This will bring forth a short note from the program’s creator, which ultimately ends at the SIMCON’s 93 main menu system. To enter into either of the two multiple material subprograms, type: simcon_fe_mm (for the two dimensional version) or simcon_fe_mm_3D (for the three dimensional version). &imagein calculate_image = .true., resx = 488, resy = 488, outfile = 'bright', darkfile = 'dark', core_correction = .false., corefile = 'core.data', disp_correction = .false., max_disp_value = 0.d0, g = -4.0d0,0.0d0,0.0d0, d = 1.3557d0, exdi = 1869.d0, w = 1.076d0, noabs = 2.22d-2, anabs = 2.22d-2, material_par = 1869.,1779.,500.,500.,500.,500.,500.,500.,500.,500., 2.22d-2,2.22d-2,1.,1.,1.,1.,1.,1.,1.,1., 2.22d-2,2.22d-2,1.,1.,1.,1.,1.,1.,1.,1., 1.076,0.354,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7, 1,6,2,4,3,8,7,5,9,10, thickness = 2750.0d0, topnormal = 0.0d0,0.d0,1.0d0, bottomnormal = 0.0d0,0.d0,1.0d0, visualize = .false., Rxfile = 'Rx', Ryfile = 'Ry', Rzfile = 'Rz', Rfile = 'R', dgRfile = 'dgR', referencefile = 'coordinates.reference', error = 1.0d-5, / &end &coordinate_systems B = 0.0d0,1.0d0,1.0d0, TEMx = 1.,0.,0., F = 0.0,0.8098,1.0724, modx_spec = 1.,0.,0., mody_spec = 0.,1.,0., modz_spec = 0.,0.,1., z_translation_spec = 0., height = 20000., width = 20000., pos_choice = 'mm', / &end &fe_file_data nodedispfile = 'nodedisp_10_27_98.lis', nodeposfile = 'nodepos_10_27_98.lis', elemnodefile = 'elemnode_10_27_98.lis', nodes_per_element = 6, good_blocksize = 0, block_div = 2,2,1, / &end Figure 25: SIMCON_FE_MM input file containing experimental and simulation parameters 94 3.2.3.1 SIMCON_FE_MM The SIMCON_FE_MM module takes displacement field data from the ANSYS FEM program and generates a simulated TEM image based on strain contrast for multiple single crystal materials. Once the SIMCON_FE_MM subprogram has been activated, the user is presented with a set of menu options. As a general rule, these menu commands need to be executed in order (top down) to successfully complete a simulation. The first of these commands is ansys. The ansys command is simply a way of letting SIMCON know which finite element program was used to generate the displacement data and what type of elements were used to form the FEM mesh. This subprogram was designed to deal with just the two dimensional input element option for SIMCON_FE: plane2 (1). It is then necessary to specify the particular experimental conditions the simulation should attempt to duplicate. This can be done by either opening a new input parameters file with the crin command (short for create input) or by editing an existing input file in the operational directory: edin (short for edit input). A sample version of the standard (400) input file which contains the microscope, material parameters, and calculation specifications, is shown in Figure 25. 3.2.3.1.1 imagein The SIMCON program actually recognizes three separate files of information contained within the input file. The first of these is the imagein file which contains information on how the output image is to be calculated as well as specific TEM parameters. The first line of the input file identifies the first of the “sub-files” as imagein. The next line sets up the value of the logical variable .calculate_image., which in this 95 case is .true. as we want an image to be calculated by the SIMCON program. Calculated image pixel dimensions (essentially the resolution of the calculated image and also the number of actual image intensity calculations which have to be performed by the SIMCON program is equivalent to resx multiplied by resy) are defined by the resx and resy variables. Resx and resy can range from 1 to 1200. The maximum resolution of 1200 can be changed by performing internal code modifications where the maxres parameter is modified from its current value to the desired maximum resolution. The outfile (bright field) and darkfile (dark field) identify the file names where the calculated image intensities are to be stored prior to their conversion to GIF image format. The three logical variables which follow are not used within this subprogram (hence their value of .false.). They are, instead, used with the SIMCON_DA and SIMCON_DISP subprograms which are not used in this work. The max_disp_value variable also is not used within the SIMCON_FE_MM subprogram as the displacement field data comes from the finite element calculations. The diffraction vector g was defined in Chapter 2, and signifies the two beam dynamical diffraction condition which was obtained in the experimental TEM image. Variable d is the inter atomic spacing between crystallographic planes (also defined in Chapter 2) for the given material and diffraction condition. The unit of length used globally throughout the SIMCON program is Angstroms. ξ g (exdi) is the next experimental parameter defined in the imagein “subfile” and can also be obtained through calculation (defined in Chapter 2). The deviation parameter, w, must be measured experimentally (Chapter 2). Absorption coefficients for the single crystalline material are also accounted for within this file. The noabs and anabs parameters are the normal and anomalous 96 absorption coefficients respectively. Normal absorption is the process by which electrons are inelastically scattered to angles greater than those accepted by the image collection system. Anomalous absorption accounts for the difference in intensities of the two Block electron wave functions if they are more likely to be found along the atomic planes of the given crystal structure or between the atom planes.2&4 The normal absorption coefficient has an impact upon the level of background intensity in the simulated image (thus adjusting background intensity to match that of the experimental image effectively eliminates any dependence upon this parameter for quantification). The normal absorption coefficient should be set to the value of the anomalous absorption coefficient due to numerical considerations which arise in SIMCON, as indicated by Janssens in reference 2. Additionally, Janssens did an extensive examination of errors in various parameters, which demonstrated that an error of 0.1 in determining w or a 10% error in determining ξ g affects the quantification process 50 times as much as an error of 0.01 in determining the anomalous absorption coefficient, thus the EDC calculations are shown not to be very sensitive to this parameter.2 Throughout this work a value of 0.022 was used for both the normal and anomalous absorption coefficients. This value was obtained by Janssens for Si and agrees within 0.01 error of values (i.e. 0.027 for Si with g = (400) at 200 kV) obtained by Voss et al.78 For more discussion of these coefficients see Janssens,2 Williams and Carter,46 or Hirsch et al. 4 The material_par array consists of rows of material specific data: ξ g , normal absorption coefficient, anomalous absorption coefficient, w, and the ANSYS material number that corresponds to the SIMCON material number in fix_intensities.f and the columns of data which correspond to the specific materials. 97 Thickness is the measured crystalline thickness (as determined experimentally by CBED measurements) of the specimen (see earlier discussion in Chapter 2) which is either defined directly in the input file for two dimensional FEM analysis or by the FEM model dimensions for three dimensional models. The thickness of specimens used in this research were determined through CBED near the region of interest (Chapter 2). The topnormal and botomnormal variables represent the normal direction to both the top and bottom surfaces of the specimen in crystallographic Miller notation. The remaining variables in the imagein “sub-file” are not used with this subprogram except for the error variable which is an indication of allowable error on the calculated intensity levels (typically 10-3). 3.2.3.1.2 coordinate_systems The second “sub-file” is called coordinate_systems. Here B is the incident Figure 26: Different SIMCON coordinate systems 98 electron beam direction in Miller notation (Figure 26). TEMx is used to define the TEM coordinate system within SIMCON which corresponds to the orientation of the simulated image (Figure 26). F is the normal direction to the specimen surface in Miller notation (Figure 26). The modx_spec, mody_spec, and modz_spec are the FEM model x, y, and z axis directions respectively in specimen coordinates (Figure 26). The position of the FEM model origin within the FEM model is identified by z_translation_spec. Height and width represent the height and width of the simulated image in Angstroms. Pos_choice indicates the position of the FEM model origin in relation to the final image calculation. 3.2.3.1.3 fe_file_data The final “sub-file” (fe_file_data) contains information regarding the finite element output files and how SIMCON should store them internally. The nodeposfile (in ANSYS: List/Nodes), nodedispfile (in ANSYS: List/Results/Vector Data/Degrees of Freedom/Translation), and elemnodefile (in ANSYS: List/Elements) indicate the names of the files in which the nodal positions, nodal displacement vectors, and element and node numbers which were obtained from solving the finite element model are stored. The number of nodes per element must also be indicated by the nodes_per_element variable (either 6 or 10). The good_block_size (0 for two dimensional finite element models, typically 2 for three dimensional calculations) and the block_div variables specify an internal organizational scheme for keeping track of the elements and nodes efficiently. 99 3.2.3.1.4 Execution of the SIMCON routine Once the desired input variables have been entered, the input file can be copied to a file with the coin command or saved with the sain command. The SIMCON program can then be executed with the run command which first runs through some internal coordinate system checks, such as making sure B is perpendicular to g. The program is also capable of running in the operating system background using the batch command. Once the calculations are finished, the results can be saved (save) and one can back out one menu level with exit. 3.2.3.2 Post processor When results have been obtained through the execution of one of the subprograms, it is necessary to enter into SIMCON’s post processor (post) to convert the acquired data into a standard GIF image format. Through the enabling of the gif menu option, the user is prompted to enter the file name which contains the BF data. The default file name is bright. The resolution (resx, resy) of the image to be created must also be entered (without a comma between the numbers, but with a space). The same must also be done for the DF data. At this point the user will be asked if they would like to scale the image intensities. The scaling process takes the calculated GLs, determines the maximum and minimum values contained within the image, and then expands the range such that it covers the full 0-255 spectrum of values. This process is recommended for later quantification comparison steps if the full dynamic range of experimental intensities is scaled to be contained within the single crystalline material. Providing the XV image viewing software76 for X windows is available on the host computer, the 100 calculated image can be viewed through the use of the xv command. The image can then also be saved with the save command. 101 3.3 Image Comparison 3.3.1 Image comparison software To quantify the stresses contained within the HBT devices it is necessary to compare the experimental and simulated images. This procedure is principally performed using a commercial image processing software package: AVS/Express (AVS), which is marketed by Advanced Visual Systems Inc.79 AVS is a visual programming language used for visualizing large amounts of data. AVS consists of a workspace with over 100 library functions which can be connected together to perform specific tasks. 3.3.2 Preprocessing Before the simulated SIMCON image and the experimental TEM image can be compared from one another several steps of preprocessing must be performed. 3.3.2.1 Experimental preprocessing Once the TEM CCD has been used to obtain the initial image via Digital Micrograph, the image must be saved as a GIF image file. To save the file properly one must be aware that Digital Micrograph has several display options and the Save As command from the File menu must be set up correctly before saving the file. Digital Micrograph has several different contrast modes which can be viewed by accessing the Display menu option and choosing Display Info. It is necessary that the Contrast Mode 102 be changed to Linear, as this linearly scales the intensities within the image and thus matches the SIMCON scaling process described in the next section. A critical parameter to check is the Survey Method in Digital Micrograph. This parameter is viewed by again choosing Display Info under the Display menu. The Digital Micrograph default setting is the Cross-Wire survey mode. In this condition the software program attempts to approximate the minimum and maximum intensity in the image by looking along a cross-wire pattern which only examines the pixels which run along the center of the image in both the x and y axis’s. This method can quite easily miss a (relatively) small bright or dark region contained within the image, such as a small hole in the sample. An error of this type will change the scaling of the GLs throughout the image. To correct this condition the Survey of image intensities must be conducted over the Entire Image, thus the true maximum and minimum intensities in the image will be used when the counts image is saved in GIF format. To verify that the image has been saved correctly in GIF format, divide the “counts” image by its maximum pixel intensity and the GIF image by 255 through the Simple Math image manipulation found under the Process menu. This will generate two new images which will appear to be identical to the two images they were formed from, except that their intensity ranges will cover the same dynamic range (0.0-1.0). The new images can then be subtracted which should result in an image field which, has an intensity of zero everywhere. The experimental GIF image can then be transferred to a commercial image manipulation software package (e.g. Adobe Photoshop80 ) and the GLs throughout the image can be readjusted to expand those GLs which are contained within the single crystalline region of the image to the 0-255 dynamic range by the adjust levels command. 103 The canvass size of the image can then be increased so that there is a border of pixels around the image which do not contain any relevant information for stress mapping, but does provide necessary pixels for image alignment in AVS. Typical CCD images contain 512 by 512 pixels and a canvass size of 600 by 600 pixels has been found to be sufficient in this research. 3.3.2.2 Simulation preprocessing The SIMCON image next needs to have its intensities scaled with the internal scaling routine which expands the calculated intensities such that they cover the full dynamic GL range (0-255). This scaling is only useful if both the brightest and darkest intensities lie within the single crystalline material of the simulation. If this is not the case, the user defined non crystalline default intensity file (fix_intensities.f) can be adjusted such that this requirement is satisfied. The SIMCON image in GIF format can then be brought into Adobe PhotoShop and the location of the minimum and maximum intensities in the single crystal material can be visually identified. These two extremes are then used to expand the gray levels in the single crystal material to cover the full dynamic gray level range. Also, it is necessary to match the “background” GL intensity with that of the experimental image which serves to remove the dependence of the simulation upon the normal absorption coefficient as intensity loss from this mechanism is essentially uniform over a sample of constant thickness (see prior discussion of this parameter). After the scaling has been performed on the experimental image, an average intensity over a large region removed from obvious stress related intensity fluctuations can be determined. Then the GLs of the 104 simulation can be remapped such that the simulation matches the experimental through the adjust levels command in Adobe PhotoShop. This scaling and background normalization of GLs serves to adjust the full dynamic range of GLs to a common reference point and subsequent image comparison examines the difference in EDC distribution and magnitude allowing for quantitative image comparison. Also the canvass size of the image must be increased by several hundred pixels so that image alignment can be performed later in AVS. For a simulated image of roughly 400 by 400 pixels, expanding the canvass size to 600 by 600 pixels and leaving the original image centered on the new canvass has been found to be adequate. Note the canvass pixel dimensions of both the experimental and simulated images must be the same. 3.3.2.3 Preprocessing Results By following the above procedure, the simulated and experimental images have had their GLs adjusted in such a way that they are as closely matched as possible Figure 27: GL normalized images—(400) SIMCON (left) and (400) TEM (right) 105 throughout the single crystalline region without loosing GL information or distorting the GL relationship within each image. An example of a matched pair of images which have undergone this process are show in Figure 27. The principle EDC feature of interest in Figure 27 over which stress quantification will take place (Chapter 4) is the diffraction contrast under the shallow isolation trench (arrows in Figure 27). Because this quantitative procedure involves comparing an idealized simulation based on an experimental structure, there will usually be EDC intensity variations which occur due to differences between the two structures. Such as the extraneous background variations in the experimental image intensity removed from the shallow isolation trench / single crystal Si interface (circled area in experimental image of Figure 27). The most significant of these is the formation of bend contours, which occur from a bowing of the experimental membrane, and are readily identifiable as they translate when the sample is tilted. Due to the bowing of the sample (which can lead to deflections of several degrees in the worse case), differences in local crystallographic orientation arise over the single crystal region of the sample. This leads to those areas having a different deviation parameter than in the analysis region. For example, a 0.5° change in orientation between the single crystal and the electron beam can cause a change in w on the order of a factor 7. A change in deviation parameter of this order is more than enough to move the crystal out of a strong two beam condition. In this study no samples were used for quantitative analysis which demonstrated visible bowing after fabrication (as observed by secondary electron imaging in the FIB). It is therefore assumed that bowing within samples used was much less than 1°. However, once a bend contour has been identified, its effects can be dealt with by orienting the sample in such a manner that the EDC associated with the 106 bend contour is removed from the region of interest, and obtaining the experimental parameters (w, thickness, etc.) within the region of interest only. Additionally, even though the FIB has been used to fabricate experimental samples during this study which greatly minimizes changes in intensity due to variations in sample thickness, there is a slight increase in thickness (on the order of a few degrees from constant thickness) the further from the wafer surface one goes. The analysis region used is typically on the order 0.25 µm by 0.25 µm or less. Over this length scale a 2° increase in thickness translates to a thickness increase of about 9 nm (about 5% of the (400) extinction distance). The values used for the extinction distance in Si come from reference 4 and are reported to be accurate within 10% (the error being attributed to the accuracy of the atomic scattering amplitude values for electrons). Therefore the Figure 28: AVS image alignment viewer. Simulated image (left), experimental image (center), composite image with the simulated and experimental images each contributing 50% to the image intensity. Xshift displaces one image by 1 pixel column with respect to the other image, Y-shift displaces one image by 1 pixel row with respect to the other 107 uncertainty in sample thickness does not play a significant role in the quantification process described in this study. 3.3.3 AVS image alignment The two images to be compared now have the same number of pixels, are at equivalent magnifications, and have properly expanded GLs such that the two images can be legitimately compared with the highest sensitivity possible as the full 0-255 GL range is present in the single crystalline material. An AVS program has been created (by AVS customer support and by the author of this thesis) which reads the two images in GIF format, allows the user to shift one image with respect to the other on a pixel by pixel basis by displacing one image with respect to the other a single pixel column or row at a time, and then subtracts one image Figure 29: AVS difference map with the scale representing differences in GL 108 from the other creating a difference map of GL intensities. Visual inspection of the resulting difference map of image intensities confirms when the images are aligned with respect to each other by using reference features such as the shallow isolation trench (Figure 28). The program then subtracts one aligned image from the other on a pixel by pixel basis. The resultant difference map is cropped to cut out extraneous detail contained at the periphery of the image as well as to study small areas of the difference map in greater detail. The result of the subtraction process is displayed in two separate viewers (2D and 3D). An example of a difference image created from the images already discussed in this section is shown in Figure 29 with the scale representing differences in GL between experimental and simulated images. The AVS network can also create a three dimensional surface plot of the difference image which can highlight differences between the two images more readily Figure 30: Surface map (A) and plane slice plot (B) with scale bars showing differences in GL 109 than the two dimensional display. AVS allows a three dimensional surface of this type to be rotated and displayed from any angle showing a topographical view of any variations between the two images. The AVS program is additionally designed to take plane slices of one pixel width through the surface map parallel to either the x or y axis of the image. This allows one to examine the variation along a single line of data to find locations with relatively small variations in GL which signify regions of a good match between the two images (this will be discussed further in Chapter 4 where the quantitative procedure is described in detail). Sample images of what these two viewers display is demonstrated in Figure 30. 110 CHAPTER 4: QUANTIFICATION OF STRESSES IN SI/S IGE/SI HETEROJUNCTION BIPOLAR TRANSISTORS 4.1 Experimental Procedures 4.1.1 Introduction The challenge addressed in this chapter is quantification of stresses with nanoscale resolution and a sensitivity on the order of tens of MPa. This chapter describes the quantification procedure and its application to nanoscale stress measurements of high stress components critical to bipolar technology: (i) shallow isolation trenches, (ii) collector contacts, and (iii) the emitter/base pedestal. This is accomplished by first describing the quantification procedure and is followed by the examination of the effects of various experimental parameters upon the results of the described procedure (section 4.1). Then the quantification procedure is applied to three different fundamentally important aspects of the HBT structure indicated above (section 4.2). This chapter concludes with an in depth examination of the role of surface stress relaxation in the experimental sample geometry (section 4.3). As an item of note: bright field imaging is used throughout this thesis. Although in principle strain / stress sensitivity may be greater for dark field imaging, due to the lower background, we used bright field imaging because of the extra ancillary information (e.g. imaging of full range of structures including crystalline, amorphous, polycrystalline) it provides. 111 4.1.2 The quantification procedure as applied to the shallow isolation trench geometry The data presented here accomp lishes two purposes. First, the stress quantification procedure is explained. Second, the shallow isolation trenches studied have two differing geometries. One trench has a more rounded corner profile, and will be referred to as the “round” sample. The other has a sharper corner and will appropriately be called the “square” sample. Sharp corners are known to be stress concentrators, and as such, higher stresses in the square sample are anticipated. As described in the previous chapter, a correctly scaled simulated image and the corresponding experimental image, can be used to generate an intensity difference map. In this case we consider a three dimensional simulation where the thickness, w, F (the specimen foil normal), B (the incident electron beam vector taken to be the zone axis from which the two-beam conditions are defined), and two beam condition have been experimentally determined as 220 nm, 1.398, [0.0, 1.0176, 1.0913], [011], and [400] Figure 31: (400) Simulated (A) and (400) TEM experimental (B) images of the round cornered trench 112 respectively with a FEM temperature load of 1000 °C (which was used as a first approximation to generate a stress field in the individual structure components corresponding to the actual measured values from wafer curvature measurements, or to appropriate literature values as defined in Table 3). F is determined by measuring the angular deviation of the specimen between the zone axis diffraction condition and the two beam imaging condition read from the goniometer. The angular relationship between B and F can then be worked out from the crystallography of the unit cell. For example, with B equal to [011], the angular difference between B and F experimentally measured using the double title specimen holder to be -8° (one tilt axis) by 0° (second tilt axis), then F is [0, 0.753, 1.0] as the tan (45-8) is 0.753. The two images are show in Figure 31. Note a simplified FEM model has been used here where the entire geometry of the HBT structure has not been recreated, to enable concentrating on the area of interest (see earlier discussion of boundary conditions in section 3.1). Here we are most interested in the stress distributions located along the bottom surface and corners of the isolation trench as the stress in these locations is most likely to Figure 32: GL difference maps--large field of view (A) and magnification of region of interest (B) 113 nucleate crystalline defects, due to the structural discontinuities at those points. Visual inspection of the simulated (Figure 31: A) and experimental (Figure 31: B) images shows strong similarities. Above the circled area in Figure 31: B there is a bend contour. The specimen was tilted in such a manner as to isolate the effect of the bend contour to the right side of the image as much as possible. Thus the bottom left corner of the isolation trench is examined in detail as this region is furthest removed from the bend contour’s intensity effects (w was measured in the area of interest away from the bend contour). Once inspection of the two images indicates good visual correlation of GLs between the simulated SIMCON image and the experimental image, the AVS program is used to align and subtract one image from the other, and to compare the two images on a pixel by pixel basis (Chapter 3). Performing this operation yields a difference map which is shown in Figure 32. Figure 32: A shows the difference between the two images over a large field of view, while B shows the region around the lower left corner of the trench. All the stresses and GLs are known in the SIMCON image, where FEM analysis was used to create the stress/strain distribution, and quantitative EDC theory was used to calculate the resulting intensity distribution. Also, of course, the intensity (image GL) distribution is known in the experimental image. We then need to combine this information to determine the stress distribution in the experimental image. The difference maps tell us where the two images (experimental vs. SIMCON simulation) are different and by what GL magnitude. The images are regarded as being “matching” where there is a region of the difference map over which there is a good match between the experimental and simulated images (i.e. a GL variation of no more than ±10), and 114 both the SIMCON and experimental images show a dynamic range of 100-150 GLs. This region can then be used to calibrate the GLs in the experimental image to stress differences, by comparing with calculated stress distributions arising from different FEM loads. The lower left corner of the isolation trench in Figures 31 and 32 satisfies these conditions of good matching. Within this region of the difference map, the proposed criterion of a small variation in GLs between the two images is met, as experimental and simulated images match within 10 ±10 GLs. The second criterion of a large dynamic range of GLs through the same region is also met. This can be seen in Figure 33 which shows the experimental and simulated images and line profiles from the same positions in each of the images. Next, we examine the stresses from the FEM model in this region of the structure. As we are using the (400) two beam condition, the stress fields which cause EDC in the Figure 33: GL (400) intensity profiles of SIMCON simulation (i) and experimental TEM image (ii) 115 single crystal region arise from planes which are perpendicular to the wafer’s [100] growth direction. The normal to these planes lies along the vertical axis of the paper this document is printed on. Consequently the planar displacements which generate the EDC correspond to stresses lying in the y direction of FEM models presented throughout this text. An ANSYS plot of stress in the y (σyy ) direction of the simulation presented here is shown in Figure 34. A calibration of the stresses in the experimental image can be made for regions of the difference map where a good match (as defined above) between the SIMCON and TEM images is observed, by recognizing that the GLs in the experimental are produced by the corresponding stresses in the simulated image. Table 4 summarizes the data contained in the preceding two figures. Figure 34: ANSYS σyy stress maps--large field of view (A) and magnified view of region of interest (B). (Positive stress is tensile and σyy is vertical in the plane of the page) 116 Table 4: Stress and GL ranges for the shallow isolation trench experimental image Distance From GL Minimum Intensity Stress Average Average Ratio of Difference (MPa) GL Stress in Ave. GL to (MPa) Difference in Ave. (Si/SiO 2 Interface) (Pixels) Stress 50-37 214-206 5-33 210 19 --- 36-19 206-199 33-61 203 47 -0.25 18-10 199-148 61-88 174 75 -1.04 9-5 148-112 88-116 130 102 -1.63 4-0 112-78 116- 95 130 -1.25 144 Figure 35: Simulated (left) and experimental (right) (022) images 117 Using the average values for the stress and GL ranges presented in Table 4, the change in stress per GL for the experimental image is of order –1 MPa / GL. The relationship between stress and GL is not completely linear as evidenced by the ratio of difference in average GL to difference in average stress column in Table 4, but interpolation between the measured stress-intensity values is performed by linear interpolation between measured values which is a reasonable approximation over the interpolation range. Furthermore, there is typically about ±5 GLs of noise in a nominally uniform region of intensity. Due to this experimental effect, we loose stress sensitivity and at best can only know the stresses in this particular image set to within ±5 MPa. Now that the stresses and GLs are known in both the simulated and experimental images it is possible to determine the change in stress per GL of the difference map, providing regions of obviously distorted EDC (i.e. regions containing bend contour contrast) are avoided. This process can also be made iterative by running multiple FEM model temperature loads to get a range of simulated images to find the one which has the best stress match to the experimental image. For the analysis presented here, the resolution of the quantitative procedure is Figure 36: (022) difference map (A) and slice plot (B) with scale bar representing GL difference 118 limited by the pixel size of the experimental and simulated images, which is of order of 5 nm for the experimental magnifications and calculation sizes used. More fundamental limits to the resolution, which sum to of order a few nm, of this quantification process are defined by lateral spreading of Bragg diffracted electrons through the thickness of the sample, and by the objective aperture size employed in BF imaging (as this will limit the maximum spatial frequency allowed to contribute to the image). FEM stress plots will be used throughout the discussions in this chapter, rather than strain plots (equally obtainable in ANSYS), principally because the blanket film wafer curvature measurements experimentally quantify stress through Stoney’s equation (equation 36). This then allows for the most logical comparison to be made between the stress load imposed upon the FEM model and the original intrinsic values for the stresses in the individual blanket film materials. Plots of strain, extensively used in Chapter 5 because of comparison to independently derived analytical strain field distributions, have Figure 37: σxx direction (horizontal) stress tensor component from FEM analysis 119 the benefit of displaying information of a unitless parameter (strain), which gives precise information about the distortion of the crystalline material’s lattice. In this case, the difference in the lattice parameter between the two materials was used as the initial starting point for generating the strain field in the system, thus making the use of strain plots more pertinent to that discussion. 4.1.3 Results of different two beam conditions A previous section described the quantification procedure of the stresses in the round corner specimen in one two beam condition, g=[400]. In this following section, the same procedure will be applied to the round specimen for the g=[022] two beam. Doing this serves to measure the stresses measured under two different orthogonal two beam conditions—thus correlating with FEM stress data from orthogonal stress tensor components. As mentioned earlier in this text, the (400) demonstrates more strain contrast in the single crystal material than the (022) two beam condition. Consequently image comparison between the experimental and simulated images becomes much more difficult in the latter condition as large changes in GL (>80) from strain contrast are not present in either the experimental or simulated images. Another way of thinking about this problem is understanding that when large changes in the stress/GL relationship are not present, as in the (022) condition, it takes a larger change in stress to cause a change of one GL than in a comparable (400) image contrast. The simulated and experimental results of the (022) two beam condition with a w of 1.02, a Si ξ 022 of 111.6 nm, and a F 120 of (0.0, 0.885, 0.983) are shown in Figure 35. All other parameters are the same as for the (400) analysis. The two images were aligned so that the lower right corner of the isolation trench was matched as well as possible via visual inspection of the difference map as described in Chapter 3. Subtraction of the two images indicates that the region of the line profiles shown in Figure 35 provides a reasonable match in variation of GL, however there is a constant difference between these two images of about 30 GLs. The 30 GL difference represents the best match of the simulated and experimental images. Image matching is further complicated due to the fact that the stress sensitivity of the (400) condition is significantly better than that of the (022). Figure 36 shows a difference map and a linescan through the difference map in the region of interest. A plot of stress in the x direction (σxx ) (corresponding to the planar displacements of to the (022) planes) from FEM analysis is displayed in Figure 37. Figure 37 demonstrates that in the area of interest there is a change in stress (based on FEM calculations) on the order of 200 MPa, while we only see a change in GL of about 20. In comparison, the (400) analysis showed a change in GL of more than 100 over an equivalent stress range. 121 Average Change in GL / Pixel Vs. Deviation Parameter, w 70 Average 60 Change in 50 GL / 40 Pixel in 30 Difference 20 Map 10 0 A=546 pixels A=1326 pixels 0.9 1.1 1.3 1.5 1.7 1.9 2.1 w (Unitless) Figure 38: Effect of w upon quantitative procedure for the square shallow isolation trench showing region of insensitivity to this parameter (top) and (400) selected area diffraction pattern with Kikuchi line used to experimentally measure w obtained in the bulk single crystal Si removed from EDC generated by the shallow isolation trench (bottom) 122 4.1.4 Varying the deviation parameter, w, for a constant FEM model The deviation parameter, w, has a significant impact upon simulated image contrast. There is some degree of error in determining the deviation parameter from experimental data. The measurement process for the deviation parameter requires an experimentally recorded diffraction pattern of the two beam condition in which the Kikuchi line indicating the deviation from the exact Bragg condition is visible. Such a diffraction pattern is shown in Figure 38. The vertical axis in the top figure of Figure 38 represents the average difference in GL per pixel over the analysis region of the difference map where the simulated and experimental images are subtracted from one another. The problem with determining w arises from the Kikuchi line having a finite Effect of Frenel Contrast as a Function of Focus 1.2 1 Normalized Intensity 0.8 f=-2560 nm f=0 nm 0.6 f=+2560 nm 0.4 0.2 0 0 50 100 150 200 250 300 350 Distance (nm) Figure 39: Measured SiO 2 /Si image intensities as a function of objective lens defocus. Sample thickness is 280 nm 123 thickness on the photographic negative of the order of 1.0 mm. Depending upon the camera length used to record the diffraction pattern, a variance of 0.2 mm (at a camera length of 150 cm) can mean a difference in w of about 0.12. Such a broad range of possible values for w can generate a significant variation in calculated images. The first step in determining the best w to use for a simulation lies with a visual inspection of the simulated images with different deviation parameters covering the range of values represented by the uncertainty in the position of the Kikuchi line. Quite often the range of values of w to be considered can be reduced in size due to features showing up in the calculated image which are not present in the experimental image. It then remains to change the deviation parameter by a small increment and look at the change in absolute difference volume (i.e. the sum of the pixel difference values between simulated and experimental images, integrated over the area analyzed) as is described later in section 4.2 for changing FEM temperature loads. A plot of such data is shown in Figure 38, for the square FEM model with a stress load of 0.7. Note that the w of about 1.4 used in earlier calculations in this chapter does indeed represent the best match of deviation parameter for this data set. Principally, however, it should be noted that the quantitative analysis is essentially insensitive to changes in w of ± 0.3 around this value with an estimated experimental measurement error of w of ± 0.06 124 4.1.5 Fresnel contrast 46,86&87 Fresnel contrast is a form of phase contrast, which arises when the sample is out of focus. It arises from interference between electrons which have passed through different regions of different electrostatic potential, i.e. two different materials, one of which may be vacuum. The resultant phase differences produce Fresnel contrast, which can be applied to examining interfacial structures, voids, etc. However, here the concern is oriented towards how profound an effect Fresnel contrast has upon EDC and determining the range of experimental conditions over which it has a significant effect. The sign and magnitude of Fresnel contrast are dependent upon the objective lens current, i.e. the degree of defocus of the specimen plane with respect to the back focal plane of Change in Normalized Intensity vs. Change in Focus % Change in Normalized Intensity 16 14 12 10 8 6 4 2 -3000 -2000 -1000 0 1000 2000 0 3000 Change in Focus (nm) Figure 40: Relative change in normalized intensity as a function of objective lens defocus. Sample thickness is 280 nm. Zero defocus was defined by the disappearance of the bright/dark Fresnel fringe during the astigmatism alignment. Non-zero defocus values were obtained from the microscope display 125 the objective lens. When the objective lens is over focused relative to Gaussian focus a dark fringe occurs, and when it is under focused a light fringe occurs. The Fresnel fringe width is proportional to the square root of the defocus. 4.1.5.1 Experimental analysis Examination of the change in measured image intensities due to Fresnel contrast was carried out upon the HBT sample by examining the area under the shallow isolation trench structure. The (400) two beam condition was used during the TEM analysis while keeping the experimental parameters as similar as possible to normal quantitative EDC imaging. The data was obtained by maintaining all imaging conditions as a constant, except objective lens defocus which was varied ±2560 nm about the focal point. Intensity line profiles were obtained via Digital Micrograph normal to the plane of the Si/SiO 2 interface and averaged over a 10 pixel width. The left side of the interface (at 190 nm) in Figure 39 corresponds to the single crystal Si, while the right side of the interface is SiO 2 . The intensity values over the line scan were normalized to the intensity observed in the SiO 2 material 100 nm away from the interface. The largest dynamic range of intensity was observed at Gaussian focus (0 nm) and the lower the normalized intensity, the darker the region in the BF image. Over focus (+ focus) corresponded to a dark Fresnel fringe which accounts for the slight broadening of the curve (decrease of intensity) into the SiO 2 , while under focus (- focus) correlates to a light Fresnel fringe and shows the opposite behavior for the same reason. By utilizing the minimum of the intensity curves at each defocus step; the change in normalized intensity as a function of defocus is shown in Figure 40. From this it can 126 be determined that there is a 500 nm window of defocus over which the normalized intensity does not vary by more than 2%. This indicates that as long as the image is taken within ±250 nm of Gaussian focus, the effect upon EDC within the experimental image due to Fresnel contrast is less than 2%. Additionally, Fresnel contrast depends upon sample thickness. In particular local variations in sample thickness where the fringe is generated can play a substantial role in fringe contrast. However, due to the FIB/TEM sample preparation process used, the sample is essentially uniformly thick. The experiment described here occurred on a sample which was approximately 280 nm thick. 127 4.2 Results 4.2.1 Varying FEM loads to obtain the best image match As the previous analysis has demonstrated the (400) two beam condition shows greater strain contrast sensitivity in both the experimental and simulated images, this section works exclusively with the (400) condition for the square shallow isolation trench sample. So far the FEM temperature loads have all been 1000 °C (the stress state chosen, via appropriate scaling of the thermal expansion coefficients, to correspond to the measured wafer curvature stresses). This stress state was chosen as an initial value, and now we wish to find the temperature load (and hence magnitude of stress) which produces the best match between experimental and simulated images. This will then be a better estimate of the real device stresses, at least as they are manifested in the FIB membrane geometry. For the shallow isolation trench model, the stress in the CVD oxide (~60 MPa) was measured by wafer curvature and the thermal oxide stress (300 MPa) was taken from the literature.30 The FEM model has coefficients of thermal expansion for the two materials such that these stresses are generated by a temperature change of 1000 °C, which is represented in the following stress sensitivity plots as a Load / Wafer Curvature Load of 1. As the temperature load is increased or decreased, the resulting stresses in the FEM model change correspondingly. The FEM model of the square sample was used to generate stress fields over the range of 0.4-1.0. A small section of the region of interest in the difference map that incorporated only single crystal material was examined. The corresponding differences in stress distributions (experimental versus calculated) as both 128 a function of the stress state and size of the areas compared in the experimental and simulated images were determined, as shown in Figure 41 where 1 pixel corresponds to a lateral dimension of 24 nm in the image. The plot in Figure 41 displays a great deal of information. First it shows the improving accuracy of the quantification procedure as the number of pixels decreases. This effect is caused by a larger fraction of pixels (in the smaller areas) contributing to the EDC features of interest, i.e. those that reflect the stress distributions arising from the trench / crystal interface. FEM stress data from node points correlating to the smallest (234 pixels) and third smallest (1326 pixels) analyzed areas in Figure 41 confirm the procedure and show good agreement between stress differences determined through the quantitative procedure. This procedure consists of the experimental image subtracted σExp -σFEA (MPa) Stress Sensivity Vs. Load 40 30 20 10 0 A=234 pixels A=546 pixels A=1326 pixels A=2886 pixels A=28 nodes (FEA) A=113 nodes (FEA) 0.4 0.6 0.8 1 Load / Wafer Curvature Load Figure 41: Stress difference between experimental and calculated images as functions of area compared and stress load. Legend areas (A) defined in pixels arise from differences in the experimental and simulated images, while areas defined in nodes are due to differences in calculated FEM results compared to the 0.7 stress load 129 from the simulated image (pixel area). Whereas the FEM calculations arise from determining the absolute stress difference between the nodal σyy stress at a given node for a given stress state and the nodal σyy stress at the same node for the reference stress load of 0.7 (node area). Thus the FEM node curves correspond directly to differences in FEM nodal stress values (labeled “FEA” in Figure 41) and agree nicely with the results determined by the quantitative image comparison technique over equivalent analysis regions. The agreement shown between the quantitative procedure data and the FEM data in Figure 41 serves validate the quantitative procedure minimization curves as arising from stress differences contained in intensity variation of the simulated image in comparison to the experimental image. The experimental curves shown in Figure 41 (i.e. those in units of pixels) are not symmetric about the best matched stress state, as the FEM data (those measured in nodes) Figure 42: Best matched (400) experimental (top)- simulated (bottom) image pair for square shallow isolation trench, where 1 pixel is 24 nm 130 appear. This is due to the increased significance of image noise in the lower stress states (<0.5). The best matched pair of the experimental image and the simulated image occur for a stress load of 0.7 (i.e. 70% of the wafer curvature stresses); these images are shown in Figure 42. The “blip” in the experimental line scan profiles at the SiO 2 /Si interface likely arises from the fact that the interface is not atomically smooth and the specimen is tilted slightly such that the interface is not exactly parallel to the incident electron beam, thus causing superposition of the Si and SiO 2 in projection through the sample thickness. Due to the relatively complex nature of Figure 41, a simplified version containing only the data of the highest stress sensitivity (i.e. smallest compared area between simulated and experimental images) is shown in Figure 43, with the compared area indicated by the black rectangle in both the difference map and the FEM model. Stress Exp. Stress FEA (MPa) Stress Sensitivity Vs. Load 40 Experimental 20 FEM 0 0.4 0.6 0.8 1 Load / Wafer Curvature Load Figure 43: Stress sensitivity plot and location of compared area 131 An identical analysis was performed on the round corner trench sample, and the best stress match was found to occur at 0.6 of the wafer curvature stresses in that case. ANSYS σyy plots are shown in Figure 44 for both round and square samples along with their corresponding SIMCON images. The difference in best matched stress load between the two different structures can be attributed to two principle reasons: physical differences between the samples, and the fact that the different intrinsic stresses within the materials are not varied independently of each other. The FIB/TEM sample fabrication process does not have exact reproducibility and thus variations in specimen thickness and also the cross sectional location of the membrane structure within the HBT may influence the final quantitative result for best matched stress state. Cross sectional Figure 44: Square and round best match σyy plots with their corresponding SIMCON image 132 location of the membrane is important as EDC can be influenced by variations in strain fields due to changing geometry through the thickness of the membrane, which may not be apparent through TEM observations. Section 4.3 addresses the effects of introducing the FIB trenches upon the stress in the sample; which is shown to produce an approximately 40% reduction in the stress state of the structure, depending on the thickness of the membrane (of order 15% reduction in predicted stress when the membrane thickness is reduced from 500 nm thickness to 100 nm, as discussed in section 4.3). Although the attempt was made to preserve the same thickness between both the round (280 nm) and square (220 nm) shallow isolation trench experimental membranes, there was a difference between the two of approximately 60 nm. Section 4.3 further discusses an additional 15% reduction in predicted stress when the membrane thickness is reduced from 500 nm thickness to 100 nm. Also related to sample preparation is the position of the FIB/TEM membrane location within the device structure itself. Membrane misalignment between the two samples could also cause a variation in the best matched stress load. For both samples, the attempt was made to place the membrane in the same location in the shallow isolation trench. However, it is possible that one membrane may have been closer to one side of the isolation trench and due to the different stress state brought about by the trench edge being partially incorporated into the experimental sample a variation in the best match could occur. Chapter 5 addresses the positional dependence of non-uniform structures within the membrane thickness and the subsequent effects upon EDC through the examination of a quantum dot structure. The current analysis also only applies a uniform stress load throughout the structure, relating the change in load to the wafer curvature stresses. 133 Independent variation of the stresses within each material, could lead to a further improvement in quantitative matching consistency between samples. Multi material independent stress variation is addressed in Chapter 6. Despite these potential complications, all the best matched stress states fall within the load range of 0.7 ±0.1. This corresponds to a stress variation of ±10-15% of the wafer curvature stresses about the 0.7 load. However, relative stress variation within a given sample can be measured to within ±10 MPa. 4.2.1.1 Origin of the observed stress distribution in the shallow isolation trench Now that we have shown the ability to match the simulated and experimental images, along with quantifying the stresses present , it remains to discuss quantification of stresses in the shallow isolation trench itself. In particular we focus upon the necessity of incorporating the thin thermal oxide layer into the FEM model, as its presence (or lack thereof) has a significant impact upon the simulated SIMCON image. The models used thus far in this chapter have all incorporated a thin 15 nm Figure 45: FEM σyy stress plot for shallow isolation trench as all CVD oxide and simulated (400) image 134 thermal oxide layer into the modeling of stress fields in the underlying single crystal Si. Such a thin layer might not be expected to have significant effects upon the strain field in the surrounding material. So to explore this further, the FEM model was converted to a two material system: single crystal Si and CVD oxide. The results of a 0.7 load on the square geometry (using the experimental conditions previously discussed in this chapter) are presented in Figure 45. This figure displays an image of σyy for the new model, along with a SIMCON image for the resulting strain field. To examine both extremes we also consider the configuration where the oxide is assumed to be all thermal oxide. The results of such a calculation for the identical conditions as that of the data presented in Figure 45 is shown in Figure 46. The elevated stress levels about the oxide perimeter in Figures 45 and 46 are due to the imposed boundary conditions upon the FEM model. A more than 200 MPa difference between the stresses directly under the shallow isolation trench of the all CVD and all thermal oxide models can be seen in both the stress plots and the intensity distribution in the simulated image. As expected, the magnitude of the stresses in the original three material model (i.e. silicon plus thermal Figure 46: FEM σyy stress plot for shallow isolation trench as all thermal oxide and simulated (400) image 135 oxide plus CVD oxide) fall in between the two extremes shown here. Thus, origins of the stress distribution can be explored by inclusion, exclusion, or modification of the geometrical extent of different materials in the model. 4.2.1.2 Stresses corresponding to geometrically square and elliptical isolation trench geometries The purpose of this experiment is to explore the effect of idealized trench geometries on the stresses in the surrounding single crystal material, particularly on how large an impact sharp trench corners have upon the stress in comparison to lower curvature geometry. The geometrically square and elliptical isolation trench geometries Figure 47: Geometrically square (A) and elliptical (B) σyy shallow isolation trench stress plots for a 0.65 load 136 examined here have approximately the same dimensions as the two real square and round trenches which have been examined previously. As there exists a difference between the applied loads where best agreement was observed for experimental and simulated images (0.6 for the round and 0.7 for the square), these simplified geometry models underwent a temperature load of 0.65. These models also contained a 15 nm thermal oxide layer. Plots of σyy stress are shown in Figure 47. From this we conclude the magnitude of the stresses are about the same while the stress gradient is lower for the elliptical profile than in the square. This demonstrates once quantification matching is established, effects in variation of geometry can be explored through subsequent FEM modeling. 4.2.2 Collector contact analysis Significant EDC appears in the single crystal Si under the collector contact in almost all of the samples examined during the course of this work. This section examines and measures the stresses adjacent to the collector contact in three different samples. Sample A consists of a collector contact included in a full HBT structure with complete backend processing. This structure thus has a W via (with appropriate TiN diffusion barrier and TiSi2 contact layer) adjoining the single crystal Si. However, the FEM model for sample A treats the W, TiN, and TiSi2 as all W. Improved FEM model refinement of this structure is addressed in Chapter 6 where stresses in different materials are varied independently of one another and a multidimensional minimization and interpolation algorithm is developed and employed to improve quantitative matching. Wafer curvature measurements show tensile intrinsic stress in the blanket W in excess of 1 GPa. The second sample studied, B, did not possess the W via, but did have the TiSi2 ohmic contact 137 layer and was included in the FEM model. Typical values in the literature for intrinsic stress in TiSi2 are of the order 1.0 GPa tensile (see also Table 3).82 Sample C has no backend processing at all except for a CVD deposited oxide. A (400) TEM image and its corresponding SIMCON simulation for each of the three samples is shown in Figure 48 along with the best match stress load listed to the right of each pair. Note that the simulated images do not show completely identical EDC features as those represented in the experimental images. In particular, sample A shows a more convex EDC distribution experimentally than in the simulation. Sample B has some lateral variations in experimental intensity which are not present in the simulation (see arrows on figure). Possible explanations for these discrepancies are the FEM model does not contain the full detail of the structures (most relevant for sample A as W, TiN, and TiSi2 , are treated as all W), experimental parameters assumed in the simulations are not exactly correct due to error in experimental measurements which typically are on the order of 5.0% (Table 5). Also, the stresses in the individual layers have not been independently varied at this stage of the analysis (see Chapter 6 for further refinement). As well, the FIB membrane itself, is not exactly planar (discussed previously in section 3.3). Finally, the polycrystalline nature of some of the materials in the experimental structure may effect the stresses in a manner not accounted for via FEM modeling used here. (For example, grain growth due to subsequent processing steps after film fabrication may alter the intrinsic stress within a particular material in comparison to the wafer curvature stress measurements. Note that the non-single crystal materials in the simulated images have been set to the same default intensity in the SIMCON images. 138 Table 5: Collector contact sample experimental TEM parameters Sample Two Beam w (unitless) F Thickness (nm) Condition Error: ±5.0% Error: ±2.0% Error: ±5.0% A (400) 1.37 (0, 0.9657, 0.9004) 280 B (400) 1.82 (0, 1.0, 0.8541) 370 C (400) 2.70 (0, 1.192, 0.9657) 240 Performing the quantitative procedure that has been described previously in this document on A and B of the above three collector structures yields the plots shown in Figure 49. From this graph, the best stress matches for the three structures occur at a 0.6 load condition for sample A and at 0.8 for sample B. This again shows agreement between the best matched stress state occurring over the range 0.7 ±0.1. The stresses in sample C are lower than the detection limits of this process as there is not a significant source of stress to generate a sufficiently large change in EDC (~100 GL) within the single crystal material. This large change in GL, as discussed previously, is one of the requirements for the quantification procedure to work properly. It is now possible to take a FEA stress plot for sample A at the best matched stress state of 0.6 and regard it as an estimate of the stresses within the single crystal material (Figure 50). The resulting variation of the stress as a function of distance from the collector contact interface is shown in Figure 51. From these data we see that the maximum experimental stress gradient is 1.9 MPa/nm while the predicted maximum stress gradient by FE is 1.2 MPa/nm. The higher stress gradient in the experimental structure has significance for crystalline defect motion 139 as dislocation velocity is proportional to the magnitude of the shear stress they experience. Shear stresses for sample A with a load of 0.6 range from –0.2 to 0.3 GPa in the single crystal Si under the collector contact. These values for the corresponding shear stress predicted in the single crystal Si are higher than the critical resolved shear stress for dislocation motion in single crystal Si quoted by Hu. 6 140 Figure 48: Three different (400) TEM collector structures and their simulated images. Full device structure (A), no W via (B), no backend processing (C). Arrows indicate disparities in EDC between experimental and simulated data 141 4.2.3 Quantification of stresses in structures with multiple single crystal materials (HBT emitter/base structure)—an exploration of the limits of our quantitative techniques A goal of this project has been to quantitatively measure stresses in the base region of the HBT. The difficulty in performing this task is increased by the presence of a heterogeneous SiGe base and the general complexity of the structure surrounding the base. Applying the quantitative procedure as developed in this chapter to the base region of the HBT device is the focus of this section, as understanding the maximum allowable stress (defined by the critical stresses for defect generation and/or motion as discussed in Chapter 1) in this area has a direct correlation upon the maximum concentration of Ge which can be incorporated into the base. The higher the concentration of Ge, the higher the gain and cut-off frequency of the device due to band gap and dopant considerations 100 σyy Stress 75 Exp - σyy 50 Stress FEA (MPa) 25 Sq (Col.) A Sq (No Col.) B 0 0.5 0.6 0.7 0.8 0.9 1 Load / Wafer Curvature Load [Increasing Stress in Model] Figure 49: Quantitative analysis for collector contacts A and B used to determine the best matched stress state 142 described in Chapter 1. The cross sectional geometry of the HBT emitter/base region is shown in Figure 52. As described earlier (Chapter 1) the structure contains a contact to the emitter region consisting of polycrystalline and single crystal material with a SiGe base. The emitter window, schematically illustrated in Figure 4, is defined by an opening in a Si3 N4 and a SiO 2 insulating layers between the polycrystalline Si emitter and the single crystal Si emitter in the emitter pedestal. 4.2.3.1 Quantitative analysis Quantitative analysis of the structure, was performed with the resulting best matched stress state corresponding to a ∆T of 800 °C in the FEM analysis (Figure 52 and Figure 50: Sample A FEA σyy stress plot for 0.6 load taken as a best representation of the stress field under the collector contact 143 55: A), i.e. a load of 0.8. This indicates a closer agreement to the wafer curvature stress than previous analyses presented in this section, but still falling within a 0.7 ±0.1 range. Independent variation of material intrinsic stress levels leads to a further refinement of the stress fields within the experimental structure as will be described in Chapter 6. An area of 315 pixels was examined in the single crystal Si centered directly underneath the SiGe base. Two other areas of the difference map were examined, one which consisted of 315 pixels and was located within the single crystal Si emitter (Figure 52 and 53: B), and the other was located in the single crystal faceted region of the base (1650 pixels) (Figure 52 and 53: C). Both of these analyses indicated a stress match corresponding to a ∆T of 600 °C. However area C does not show a strong minimum due to poor quantitative matching which is complicated by the varying composition of the SiGe base. (The base was modeled as having a constant composition of Si0.9Ge0.1 to approximate the average composition of the base. This was done as SIMCON is Stress Vs. Distance from Collector Contact 0 50 100 150 200 250 0 -0.1 Stress -0.2 (GPa) -0.3 QP FE -0.4 Distance (nm) Figure 51: Collector contact σyy stresses measured by the described quantitative procedure (QP) and finite element analysis (FE) 144 configured to calculate EDC for two single crystal materials only.) The difference between the results of B and C are attributed to the polycrystalline grain orientation in the emitter structure (due to elastic isotropy considerations and preferential grain growth during device processing, which might alter the stress state compared to wafer curvature measurements), the geometrical complexity of this structure, and the fact that the base was modeled as having a constant Ge concentration when this is not the case in the experimental structure. ANSYS σyy plots are shown in Figure 54 for both the 600 and 800 °C temperature loads along with the FEM model used for the analysis with the location of the areas corresponding to Figure 52 and 53. The y axis of Figure 53 shows GL difference as opposed to stress sensitivity shown in earlier similar plots because the stress sensitivity can not be determined as the two images lack a region where they match over a large range of GLs. Thus three different cases have been presented where the described quantitative procedure has been applied with varying degrees of success: the shallow isolation trench, the collector contact, and the emitter/base region. The shallow isolation trench (composed of three materials) offers the simplest geometry examined and acted as the test vehicle for establishing the quantitative procedure. This first study resulted in the establishment of the quantitative criteria for determining a good match between the experimental and simulated images, serving as the “best case” scenario. The second structure examined, the collector contact (initially treated as a four material system and further expanded to an eight material system in Chapter 6), is of significant geometric complexity and in addition has several high intrinsic stress materials associated with it. Diffraction contrast was readily apparent at the interface of the single crystal Si with the 145 collector contact and fulfilled all the necessary experimental criteria established by the shallow isolation trench case. The third case of the emitter/base region offers the highest level of geometric complexity and in addition is composed of multiple single crystal materials. However, this last case defines the apparent limits of this technique at this time for several reasons. This is defined by the failure to obtain a good match between the experimental and simulated images over a large dynamic change in GLs. Without Figure 52: (400) TEM image of the emitter/base structure showing strain contrast from the SiGe base as well as the location of the three analysis regions 146 fulfilling this criteria, stress quantification cannot take place. The reason this failure has occurred is linked to the difficulties in dealing with the complexity of the structure. First, the Six Ge1-x base is composed of a graded composition. This fact makes accurate FEM modeling of the base itself and obtaining the proper simulated EDC impossible as SIMCON currently allows for only two single crystal materials. With proper extensive source code modifications, SIMCON could be adapted to allow for a larger number of single crystal materials. FEM modeling of a graded base would require a series of thin “sheets” of appropriate Six Ge1-x composition, which would increase the number of nodes required to mesh this structure. Also, the geometric complexity of the emitter/base structure with ten different materials in the surrounding region, all with different stresses associated with them, has the potential to distort the simulated stress field if one or more of the intrinsic stress values are in error. Multi material minimization as described in Chapter 6 has the potential to identify erroneous stress values and act to correct them. However, for a 10 material (and thus 10 dimensional minimization) system taking 0.25 load steps over the range from 0 to 1.0 (1.0 representing the wafer curvature stresses) would necessitate 510 data points, which given the lack of existing automation of the described procedure, is currently impractical. Finally, the technique is currently limited by the number of nodes the SIMCON operating platform can handle. This limitation, necessitates a simplification of the extent and geometrical accuracy of the FEM model used to portray the emitter/base structure—further adding to the difficulties of dealing with a structure of this complexity. 147 4.2.3.2 Base stress variation It can be seen in Figure 54 that there exists a variation in the predicted σyy stresses in the base—specifically a decrease in the magnitude of the stresses in the base directly under the center of the emitter pedestal. The ANSYS model indicates the highest compressive stresses to be found at the center of the base as opposed to near the faceted region. By examining the geometry of the structure it can be seen that the emitter window and a dip (arrow on figure) in the W/TiN via directly over the window are the likely causes of the stress increase (W and TiN both having a high intrinsic stress). To explore the causes of the stress field variation in the base, the dip in the via structure was removed from the ANSYS simulation and a 0.8 normalized stress state (representing the best matched stress load for analysis region A shown in Figure 55: A, which is directly below the dip in the via and the emitter window) was imposed upon the model. No significant changes in the simulated base stress was observed (Figure 55: A), thus GL Difference / Pixel Emitter Average GL Difference 60 A B C 40 20 0 0.5 0.6 0.7 0.8 0.9 1 Normalized Load Figure 53: Emitter average GL difference between experiment and simulation per pixel over three different analysis regions shown in the next figure via the quantitative procedure described in this text as a function of normalized load. Under emitter (A), above emitter (B), SiGe facet region (C) 148 indicating the via geometry is not the primary cause of the variation in base stress. The emitter window was then replaced by a SiO 2 layer of a thickness equivalent to the Si3 N4 and SiO 2 material which defined the emitter window. This had a significant impact upon the simulated stresses in the base of the device, causing a much more uniform distribution of stresses over the entire base cross section(Figure 55: B and C), identifying the emitter window as the primary cause of the variation in stress in the base. This analysis demonstrates how once the approximate magnitudes of the component materials stresses have been experimentally verified, further refinement in understanding of observed stress distributions can then be pursued using the FEM model. In this example, it is shown how the stresses within the base are directly influenced by relatively minor changes in the complex geometry of the structure surrounding it. 4.2.3.3 Summary of base-emitter analysis; implications for stress quantification of very complex structures Quantification of the emitter structure is greatly complicated due to the complex geometry of the surrounding device structure. However, even though precise stresses within the experimental specimen cannot be obtained, the closest match between the simulated stress fields and the experimental TEM image can be obtained through the procedure described in this chapter. This then allows further exploration of the causes of the stress distributions within the emitter-base region using the FEM model. For the sample shown in this section, the stresses throughout the device match best in a range between the 0.6 and 0.8 (i.e. again within the range of 0.7 ±0.1) normalized stress fields achieved via the ANSYS simulation. The highest stresses in the single crystal 149 material making up the emitter structure are located in the single crystal part of the emitter structure as this region is contained between the high stress arising from the W via and the SiGe base containing approximately 10% Ge. Within the base itself, the lowest stress, as indicated by the FEM models, is located on the facets. The highest stresses in the base are located in the center of the structure, this is due to the geometry of the emitter window located above the base as opposed to a function of the faceted base structure itself. A salient conclusion which can be drawn from this analysis is that the stress level within the base can be controlled to some extent by the definition of the emitter window. Supplied with this knowledge the additional compressive stress generated in the base region could conceivably be used to further modify the strain within the Six Ge1-x base to achieve higher gains and frequencies to increase device performance. However, if uniformity of stress over the emitter/base region is more desirable, the dimensions of the emitter window can be used to help achieve this. This second viewpoint may prove preferable if the stresses in the base become high enough (due to, for example, increased Ge composition) to begin generating defects, as any defect which occurs in this area of the device will destroy the transistor’s electrical device properties. 150 Figure 54: Emitter structure. ANSYS model (A), 0.6 σyy stress state (B), and 0.8 σyy stress state (C) 151 Figure 55: FEM models (load of 0.8) of σyy: With rectangular W via (A), ANSYS model with rectangular W via and closed emitter window for aid in orienting the reader in the stress plots (B), with rectangular W via and closed emitter window (C) showing improved consistency of the stresses through the base in configuration of (B) 152 4.3 Stress in the Experimental Sample Versus the Bulk Structure 4.3.1 Surface stress relaxation in the experimental sample Our ultimate goal in this work is to understand stresses in actual device structures, so we need to understand how the stresses we determine in the thin membrane geometry relate to stress distributions in actual devices processed on a Si wafer. It is apparent that when one uses the FIB/TEM sample preparation technique to create the cross sectional membrane, the stress state is radically altered, due to relaxation perpendicular to the membranes surfaces. Figure 56 is a schematic diagram illustrating the effect of FIB/TEM sample preparation (B) on a small volume element of material initially in equilibrium in the bulk wafer/chip (A). As shown in the figure, the stress state on the volume element is significantly changed due to the sample preparation process as the through thickness stresses are no longer counterbalanced by surrounding material, thus relaxation occurs. This section addresses this issue. Figure 56: Stress states. (A) bulk wafer/chip. (B) post FIB/TEM 153 4.3.2 Different FEM models used Several different FEM models were used to study the behavior of stresses in transitioning from the HBT as it exists in the bulk Si wafer (i.e. Figure 56) to FEM models similar to those used previously in this chapter for stress quantification. Model A, shown in Figure 57 was fabricated to represent the full HBT structure as it exists in the as manufactured state. The boundary conditions are such that all external faces of the model are fixed in space with the exception of the top surface. On these faces the three displacement degrees of freedom for the nodes are set to a fixed displacement of zero. The emitter, base, and collector pedestals are included in the model, and the mirror plane of symmetry through the center of the deep isolation trench was used to delineate the boundary of the model. This model consists of about 75,000 nodes and took more than 100 hours to construct. Model B of Figure 57 is Model A with Figure 57: FEM models A and B 154 FIB trenches incorporated into the model, thus simulating the experimental sample’s configuration. The nodes on the exterior surfaces of Model B that correspond to those of Model A (except for the nodes on the surfaces of the FIB trenches, which are free to translate in all three dimensions) were set to a fixed displacement of zero for the three degrees of freedom allowed by the element type. Again the top surface of the model was left unconstrained. Figure 58 displays Model C, which consists of just the thin membrane structure of Model B. The boundary conditions of this model were such that the nodes lying upon the left, right, and bottom thin edges of the model were set to a fixed displacement of zero for all three of their degrees of freedom. Model C was principally used to determine if the inclusion of the external support structure of the membrane had a significant impact upon Figure 58: FEM models C and D, used in examination of membrane relaxation effects. Boundary conditions applied to sides a, b, and c of model D mimic geometry of model B 155 the stresses in the area of interest. Also included in Figure 58 is Model D. This model was designed to explore the relationship between Model A and Model B. This was performed by applying the boundary conditions imposed on Model B by its geometry (allowing nodal displacements along the FIB/TEM trenches), to the structure of Model A. The sides of Model D denoted by “a” have the all the translation degrees of freedom of the nodes falling on that face set to a fixed zero displacement. The same boundary condition was applied to sides “b” and “c” excluding the nodes where FIB/TEM trenches would be placed as shown in Model B. Model E is typical of the size and extent of the ANSYS models used for previous quantification of stresses and strains in the experimental structure (Figure 59). The boundary conditions for this model (and others like it used previously) consisted of fixing Figure 59: FEM Model E used in examination of membrane relaxation effects and prior quantitative analysis of the collector contact 156 the displacement degrees of freedom of the nodes which fall on all four thin sides of the model to zero. The nodes occurring on the largest sides (labeled “A” in Figure 59) of the model are left free to translate in all three dimensions. The justification for these conditions is discussed in Chapter 3. As also described previously, it was necessary to reduce the model size for actual quantification due to the limitation of the operating system SIMCON runs under. This limitation required the model to have no more than 25,000 nodes, otherwise available memory was exhausted and the calculation failed. Also a reasonable element density in the region of interest for quantification must be preserved otherwise the simulated image possesses triangular features of intensity which correlate to the tetrahedral elements used in the FEM model and thus the simulated image fails the first criteria for quantification: visual similarity. These triangular features can be observed in Figure 60: A (indicated by arrow), and shown greatly reduced in effect upon image contrast in Figure 60: B which possesses a finer element mesh than Figure 60: A, while preserving identical simulation parameters. Figure 60: (400) BF simulated images of the EDC near the collector contact showing the presence of EDC artifacts due to FEM mesh density. Coarse mesh (A) and refined mesh (B) with identical simulation parameters. Effects greatly reduced with refined mesh of B 157 4.3.3 Method of querying results of FEM Up until this point the stress results which have been displayed have been derived from the averaged stresses through the thickness of a given FEM model. For the quantified geometries so far, this has simulated the stress distribution in a thin FIB membrane and has not considered how these stresses relate to those where the device is contained within the bulk wafer. We know that substantial surface relaxations occur at the membrane surfaces, and this section addresses the degree of relaxation when transitioning from the bulk HBT structure to the thin TEM sample. Note that typical membrane thicknesses used through this thesis are ~200 nm which is relatively thick by the standard of TEM samples, but we still expect significant surface relaxation effects to occur. Figure 61 shows σyy stress through the thickness of a membrane structure under the collector contact for a 280 nm thick membrane. From this figure we deduce that there is relatively little change in σyy through the thickness of the membrane. Analysis of the collector contact has focused upon the region under the W via in the single crystal Si indicated in Figure 61. The display mode within ANSYS has thus been the default Z-buffered configuration (utilizing the Power Graphics [see /TYPE command in the ANSYS Commands Reference on-line manual] averaging method for the exterior surfaces of the model) which has a very rapid rate of graphical presentation. However, with large Figure 61: σyy FEM plot of through thickness stress under the W collector contact 158 non-uniform cross section models it is necessary to access information from a plane within the model. Consequently a different mode of displaying data in ANSYS becomes necessary. Thus when it is needed, the Q-slice (Query slice) Z-buffered data display mode [see /TYPE command in the ANSYS Commands Reference on-line manual] is utilized. This mode is particularly useful when examining data in Model A in the plane of the membrane. The differences between the two types of data display do lead to different results (~5% difference in the displayed stresses), however the differences can be explained by recognizing that Q-slice Z-buffered data comes from one planar slice through the model, while Z-buffered data averages the results through the orthogonal direction to the observed plane of the model. Thus small changes in stress through the thickness of the membrane will cause differences between the two display types as the averaged through thickness stress values do not exactly correspond to the stress values at a precise slice through the thickness of the model. Model A Collector Contact Stress as a Function of Distance From the Collector Contact for Two Different Loads Stress (MPa) 0 500 1000 1500 0 -200 -400 -600 Model A 1.0 Model A 0.6 -800 -1000 -1200 Distance (nm) Figure 62: Model A collector contact σyy as a function of distance from the contact interface for two different loads 159 4.3.4 Examination of model A To confirm the anticipated behavior with applied load in the FEM model, the stresses under the collector contact obtained from Q-slice Z-buffered data, are plotted in Figures 62 and 63 for Model A as a function of distance from the collector contact interface for two different load states: the wafer curvature / literature stresses (1.0 = a ∆T of 1000 °C) and the best matched stress state determined for the collector contact of Model E (0.6 = a ∆T of 600 °C). As would be expected the higher load state (1.0) has higher stresses. The ratio of the two curves shown in Figure 62 is plotted in Figure 63 demonstrating an approximately constant ratio between the two. The ratio was obtained by using second order polynomial trend lines to fit the curves in Figure 62 yielding an averaged ratio of ~1.6 over the plotted range indicating a near constant difference between the stresses in the two models. A ratio 1.0 / 0.6 ~ 1.6 is expected due to the difference in load states imposed upon the two models except at distances far from the Ratio of Data from Two Different Load States in Model A 2 Ratio 1.75 1.5 1.25 1 0 250 500 750 1000 Distance from interface (nm) Figure 63: Ratio of σyy from collector contact interface taken from the two different loading conditions in Figure 62 160 collector contact where a the ratio should converge to 1.0. Thus the difference in the stress fields between the two different loading conditions is due to the difference in the applied load. 4.3.5 Effect of changing the thickness of the cross sectional membrane (Model B) We now examine Model B, to study the effect of changing the thickness of the membrane upon the resulting stresses. The stresses obtained from a Z-buffered display as a function of membrane thickness are compared to the Q-slice Z-buffered results of Model A for a constant relative load of 0.6 are shown in Figure 64. The difference in shape and magnitude of the 1 µm thick membrane data is due to the loss of constant cross sectional geometry within the model as the W via is slightly less than 1 µm thick at this point. The main factor contributing to the decrease in predicted stress is attributed to the different boundary conditions between Model A and Model B, as will be discussed in the Stress as a Function of Distance from Collector Contact for Chaging Membrane Thickness in Model B Stress (Mpa) 0 200 400 600 0 -100 -200 -300 -400 -500 -600 -700 800 1000 Model A 0.6 Model B 280 nm 0.6 Model B 500 nm 0.6 Model B 100 nm 0.6 Model B 1000 nm 0.6 Distance (nm) Figure 64: σyy as a function of distance from the collector contact interface for Model B with changing membrane thickness 161 next section. Note that Model B data show a stress decrease in stress near the collector contact interface. This aspect of the stress profile was confirmed by observation of a similar change in experimental image intensity in this region of the structure. The data shown in Figure 65, which plots the percentage of the predicted bulk structure σyy stress as a function of membrane thickness for stresses near the collector contact and under the shallow isolation trench, indicate a rule of thumb for relating quantified stresses to the stresses found in the bulk structure. Stresses are reduced by about 30-50% as soon as FIB trenches are introduced into the model configuration. This indicates that the quantified stresses from the experimental sample under estimate the stresses in the as fabricated structure by the same order. There is also a further additional 5-20% reduction in stresses as the membrane thickness decreases from 500 nm to 100 nm. We can therefore say that the quantified stresses through the procedure developed in this dissertation for samples with thicknesses on the order of 100-500 nm will under predict the stresses in the bulk structure by about 30-50%. Janssens in reference 2 compared results between a two dimensional plane strain FEM model and a three dimensional FEM model of a InGaAsP laser stripe in an InP matrix. In comparing the results of both of these models he concluded that for specimen thickness ranging from 100 nm to 500 nm the stress/strain levels of the three dimensional model were 30% to 10% less (respectively) than the plane strain prediction (Figure 65). This result is similar to what is observed when transitioning from the in wafer structure to a model which incorporates FIB/TEM induced trenches in this work. The trends of this result are similar to what is observed when transitioning from the in wafer structure to a model which incorporates FIB/TEM induced trenches in this work. The laser stripe 162 structure examined in Janssens’ work was substantially more uniform and less complex in terms of geometry (one uniform planar layer embedded in the surrounding InP matrix) and number of materials (two) composing the system, than those examined here. 4.3.6 Effect of model geometry and applied boundary conditions This section deals with understanding the significant reduction in stress whe n changing from Model A to Model B. This analysis is facilitated by Model D which is a hybridization of A and B, as Model D has the geometry of A, but the boundary conditions % of predicted bluk σyy stress 100 80 collector contact 60 shallow isolation trench Janssens data (plane strain) 40 20 0 100 200 300 400 500 Membrane thicknes (nm) Figure 65: % of bulk structure σyy stress as a function of membrane thickness for stresses below the collector contact and the shallow isolation trench structures explored previously. The data indicate an approximately 40% reduction in stress from the bulk due to the experimental sample geometry. Also included are results of a similar plane strain analysis performed by Janssens2 for a laser stripe 163 of B—thus simulating FIB/TEM trenches. In Figure 66, the difference between the predicted stresses of Models A and B is demonstrated to be only due to the introduction of the FIB/TEM trench. This is accomplished by using analysis of Model D which is equivalent to Model A, except that it has boundary conditions applied in such a way that it mimics the geometrical configuration of Model B. This allows for examination of the effect of the FIB trenches in Model B while preserving the geometrical configuration of Model A. As can be seen in Figure 66, the stress results of Model B and D are virtually identical except in the region nearest to the collector contact interface. Thus the large reduction in stress (~40%) between Models A and B is attributed to the introduction of FIB trenches. The FIB trenches remove the boundary constraints of fixed nodal displacement degrees of freedom at the edges of the FEM model. As a result, stress can be relaxed through nodal displacement in the FEM model where previously (Model A) relaxation was not permitted to occur due to the application of St. Venant’s principle and symmetry conditions discussed in Chapter 3. 4.3.7 Effect of model geometrical extent upon stress Understanding the effect of changing the extent of the model geometry is also important, particular as the small model (Model E) is typically used for the quantitative analysis earlier in this chapter. Figure 67 plots the stress as a function of distance from the collector interface for three different model types (B, C, and E). These models represent the full HBT structure with FIB trenches incorporated into the model (B), just the membrane structure without the surrounding support material (C), and the small model of just the collector contact region (E). In particular this plot indicates that model 164 B and model C have nearly identical results. This means the structure incorporated in Model B external to the membrane itself does not play a major role in determining the stresses in the region of interest in the experimental sample, providing the correct boundary conditions are applied. This can effectively save tens of thousands of nodes in the model or allow for an increased final mesh density in the region of interest. The second major conclusion which can be extrapolated from this figure is that the shape and gradient of the stresses in Model E correspond well to those present in Models B and C, however the magnitude of the stresses is about 20% less. This difference is discussed in the next section. The magnitude of the stresses in the FEM model E are correct for the given model geometry and boundary / loading conditions. The magnitude of the strain/stress field in the model is then varied until it best matches the experimental image within a large load range. Obtaining the same stresses with the other models is to be expected, the load Difference Between Model A and B via Model D 0 200 400 600 800 1000 Stress (MPa) 0 -100 -200 -300 Model D 500 nm 0.6 Model A 0.6 Model B 500 nm 0.6 -400 -500 -600 -700 -800 Distance (nm) Figure 66: σyy results for model A, B, and D for a membrane of 500 nm thickness. Demonstrating that the stress reduction which occurs when changing from model A to model B is due only to the introduction of the FIB trench 165 would just be different (in this case smaller) as the FEM models which are more extensive than Model E have higher σyy values (Figure 67). In fact, performing the quantitative procedure with Model C upon the collector contact structure with the same imaging conditions and experimental image as that used for Model E (in Figure 48, the average difference in GL per pixel at the best matched stress state was 29 GLs) results in a best matched stress state of 0.5 (Figure 68). The best matched stress state for Model E was 0.6 and had an analysis area approximately three times smaller than that used for Figure 68. In an ideal world it is desirable to have a large model rigorously applying accepted boundary conditions with a high number of nodes through the region of interest. In reality we are limited to no more than 25,000 nodes due to the operating platform SIMCON runs on and we need to have a high enough density of nodes so that we obtain a decent visual inspection of the simulated image, and to provided sufficient FEM model accuracy. The practical compromise is to construct a smaller model (Model E) for Stress Under the Collector Contact as a Function of Model Geometry 0 200 400 600 800 1000 Stress (MPa) 0 -100 Model B 500 nm 0.6 -200 Model C 500 nm 0.6 -300 Model E 500 nm 0.6 -400 -500 Distance (nm) Figure 67: σyy as a function of distance from the collector contact for different model geometries 166 quantitative analysis while also creating a larger model to explore the predicted stresses throughout the membrane structure (Model B or C). The difficulty in running a model, such as Model C (providing FEM model accuracy is sufficient), through SIMCON for quantitative analysis is the low mesh density in the region of interest. If sufficient mesh density is not maintained then the simulated image acquires large simulated diffraction contrast regions with the odd characteristic of triangular shapes. The triangular features, which are not present in the experimental image, then arise directly from the elements used to mesh the model. 4.3.9 Relating quantified stresses to the real structure As stated in the previous section, the magnitude of the quantified stresses are Ave. Change in GL (5000 pixel area) Average change in GL per Pixel in Analysis Area vs. Normalized Load for Model C 34 33 32 31 30 29 28 0.3 0.4 0.5 0.6 Normalized Load Figure 68: Average change in GL per pixel (5000 pixel analysis area under collector contact) versus normalized load for Model C. The simulated and experimental images used for quantification were for the (400) two beam condition corresponding to the σyy stress component. Best match occurs at a normalized load of 0.5 as opposed to previously determined 0.6 for Model E 167 correct for the experimental thin membrane structure. The stresses have been quantitatively matched to the experimental image, and increasing the dimensions of the model results in matching of similar stress profiles as the small model, but with a lower best matched normalized load. These experimentally matched and quantified stresses under predict (with respect to the stresses in the bulk structure) the stresses in a FIB/TEM membrane by 30-50%, depending upon the membrane thickness. In this chapter, the effect of incorporation of the FIB trenches into the model as it would exist in the bulk wafer results in an approximately 40% reduction in predicted stress for the quantified model’s load. Hence the stresses in the real structure are about 30-50% higher than the quantified stresses in the experimental TEM sample due to surface relaxations in the FIB membrane. This phenomenon has been examined for both the collector contact, a large compressive stress feature(~-500 MPa), and the shallow isolation trench structure, a small tensile stress feature (~+150 MPa) (Figure 65). Janssens has also shown stress relaxation on the order of 30% for much less complex structures when taking the two dimensional plane strain finite element calculation to represent the bulk structure stresses. Therefore, in general, the quantified stresses by this procedure described in this thesis can be used to evaluate the stresses in the bulk structure by increasing the measured stresses by of order 40 ±10%. 168 4.4 Conclusions Many important conclusions can be drawn from the data presented in this chapter. 4.4.1 General statements 1. A quantitative procedure for mapping stresses with ~10 nanometers resolution and approximately ±10 MPa relative stress sensitivity has been demonstrated for specific specimen geometries. Relatively complex geometrical structures can be modeled with accurate results. 4.4.2 Results 2. There is no significant variation in stresses around shallow isolation trenches of different geometries (≤ 10 MPa difference). 3. Quantified stresses in 200 nm thick FIB membranes of the shallow trench structures are determined to be about 0.7 of the measured blanket film wafer curvature stresses, i.e. stresses are about 30-50% less than the wafer curvature measurements indicate. 4. The presence of a thin (15 nm) thermal oxide layer has a significant impact upon the stresses in the local single crystal material for the shallow isolation trench structure. Changing the thickness of the thermal oxide layer does impact the range over which the strain field acts, but does not significantly impact the maximum value the stresses over the oxide thickness’ examined. 169 5. The maximum stresses in the three collector contact structures are: 500 MPa compressive for sample A (full backend processing) experimentally evaluated within a thin TEM membrane, 450 MPa compressive for sample B (TiSi2 layer only) experimentally evaluated within a thin TEM membrane, and less than 150 MPa compressive for sample C (no backend processing) based upon finite element predictions for a thin TEM membrane. It is concluded that both W and TiSi2 have a significant impact upon the stresses in the single crystal material under the collector contact due to the intrinsic stresses associated with these materials. 6. Experimental stresses determined from 200 nm thick FIB membranes in the collector contact structures are less than FEM predictions for the membrane geometry by ~25 MPa. Experimental stress fields in the collector contact structures decay somewhat more rapidly than from FEM predictions (1.9 vs. 1.2 MPa/nm). 7. Quantification of the emitter structure is greatly complicated due to the surrounding geometry of the device as well as the presence of the SiGe base. However, even though precise stresses within the experimental specimen cannot be obtained, the closest match between the simulated stress fields and the experimental TEM image can be obtained through the procedure described in this chapter. 8. For the emitter sample, the stresses throughout 200 nm thick FIB membranes fabricated from the device match best in a range between the 0.7 ±0.1 normalized (with respect to wafer curvature stresses from blanket films) stress loads achieved via the ANSYS simulation. The highest σyy stresses in the single crystal material making up the emitter structure are located in the single crystal part of the emitter structure as this region is effectively sandwiched between the high stress arising from the via and 170 the SiGe base containing approximately 10% Ge. Within the base itself, the lowest stress, as indicated by the FEM models, is located on the facets. The highest stresses in the base are located in the center of the structure, and we have shown that this is due to the geometry of the emitter window located above the base as opposed to a function of the geometry of the faceted base structure itself. 4.4.3 Experimental and modeling issues 9. The (400) two beam condition has been shown to have a higher sensitivity to EDC for this experimental system than the (022). Consequently (400) imaging is predominantly used throughout this examination. 10. The measurement of the deviation parameter, w, has a significant impact upon simulated image intensities, unless the measured value falls within a defined range of ±0.3 about its experimentally evaluated value with an estimated experimental measurement error of w of ± 0.06. This analysis examined a rage of simulated images with 2.1≥w≥0.9 to a constant experimental image, without modifying any other simulation parameter. 11. Fresnel contrast at interfaces does influence the EDC recorded in experimental images, however there is a ±250 nm range about Gaussian focus where the effect upon EDC intensity is within 2.0% for an SiO 2 /Si interface. 171 4.4.4 Surface relaxation 12. Fabrication of a FIB/TEM sample significantly alters the stress state of the device. Using FEM modeling, it is shown that introducing the FIB/TEM trenches into the FEM model geometry results in about 30-50% reduction in predicted stresses for the collector contact geometry studied. 13. Decreasing the thickness of the membrane causes a reduction in predicted stress of 15% when varying the thickness from 500 nm to 100 nm for the collector contact geometry studied (Figure 65). 14. Once cross sectional consistency (constant FEM geometry through the thickness of the simulated membrane) is lost in the membrane structure, the predicted stress gradient varies from that predicted by uniform models. 15. To extrapolate the quantified stresses in the thin experimental sample to the full device as it exists in the as fabricated wafer, it is necessary to increase the quantified stresses by about 30-50% (Figure 64). 172 CHAPTER 5: QUANTIFICATION OF LATTICE MISMATCH STRAINS IN NANOSTRUCTURED SYSTEMS 5.1 Introduction This chapter describes the application of the developed quantitative procedure to a different material system (InAs quantum dots embedded in a GaAs matrix) than previously examined. The application to a new material system illustrates the diversity of the technique and its portability providing relevant sample conditions are met (i.e. large (greater than ten times the stress generating feature) single crystal region exhibiting significant strain contrast, essentially uniform thickness over the region studied). More significantly, the analysis in section 5.4 where the quantified strain field around the quantum dot (QD) is compared with an independently derived analytical solution for the same structure, provides an absolute verification of the accuracy of the procedure developed in this thesis, the agreement between the two results for the strain field surrounding the QD being relatively close. Also, this chapter addresses applying strain quantification to a sample geometry which is not uniform through the thickness of the TEM specimen. Semiconductor QD systems consist of small three dimensional nanoparticles of a low band gap semiconductor (here InAs) embedded in a large band gap semiconductor (here GaAs). The resulting alignment of the valence and conduction bands create three dimensional potential wells for the associated charge carriers. Such systems have great potential for novel electronic and optoelectronic device applications (i.e. transistors or lasers).90 173 The InAs/GaAs QD system studied here is fabricated by molecular beam epitaxy (Riber 32P solid source molecular beam epitaxy system) and forms via the StranskiKrastanow growth mode.91 A 1.7 monolayer planar film of InAs first forms and serves as a two dimensional wetting layer over the GaAs (100) substrate. Further deposition of InAs leads to the strain induced growth of epitaxial InAs island (QD) structures, with the physical dimensions of the QD defined by the growth temperature, species flux ratios, and growth rates. The structure used in this study consists of 250 nm of GaAs as a buffer layer grown at 580 °C, followed by five InAs quantum dot layers grown at 500 °C with GaAs spacer layers. The growth rate for InAs was 0.1 monolayer/second for an equivalent thickness of 2 monolayers in each QD layer. The GaAs spacer layer thickness was approximately 27 nm. The entire structure was capped by GaAs layer with a thickness of approximately 0.1 µm. The dot density, determined from atomic force microscopy observations from an uncapped sample grown at the same conditions was about 4 x 1010 cm-2. Understanding the nature of the strain fields around QD structures is very important as it directly influences the energy level structure.93 The strain field depends upon the shape of the QD and previous work has largely concentrated on solutions for idealized shapes (e.g. spheres, cones, pyramids, etc.) in an infinite matrix for isotropic materials.94 FEM modeling95 , continuum mechanics93 , and valence force field atomistic92,93,&96 calculations have been used to determine the strain fields around QDs of idealized geometry. However, InAs QD structures observed via TEM investigations have shown the dots to have a geometry for the growth conditions considered here of truncated 174 pyramids, with a base to height ratio of about 4. The faces of the pyramid are composed of {101} planes. This chapter deals with quantification of strain around a single truncated pyramidal InAs QD in a GaAs matrix by assuming isotropic elastic material parameters, and accounts correctly for the TEM specimen geometry. The quantified results will be related to FEM predictions for the QD embedded in the as grown wafer, and further correlated to an independent numerical analysis derived by V. G. Stoleru and E. Towe of the Electrical Engineering Department of the University of Virginia. Due to the nature of the analysis of the Stoleru/Towe study, strain field plots will be the common graphical data display in this chapter rather than the previously used stress field. 5.2 Finite element modeling of the QD geometry The FEM modeling material parameters for the QD structure are summarized in Table 6. The modeled InAs QD dimensions consisted of a square base of 13.8 nm x 13.8 Figure 69: QD FEM models. QD in “semi-infinite” matrix (A) and QD in TEM sample configuration (B) 175 nm, a height of 3.4 nm, and a square top of 3.4 nm x 3.4 nm which correlate to observed TEM dimensions. The crystallography of the QD structure consist of bottom and top faces composed of (100) planes with the sides of the truncated pyramid made up of {101} planes. This was embedded in a GaAs matrix extending 200 nm in all three directions for Model A (Figure 69). 200 nm was found to be sufficient for the strain to be essentially completely relaxed and thus accurately approximating Saint Venant’s principle by simulating a boundary at an infinite distance. The modified thermal expansion coefficient was chosen to reflect a 6.7% lattice mismatch between the two materials. Model A had boundary conditions imposed upon it such that all the nodes falling on an exterior surface of the cube of GaAs had all three nodal displacement degrees of freedom fixed at a zero displacement. Model B of Figure 68 correlates to the observed TEM sample geometry with GaAs dimensions of 200 nm x 140 nm x 42 nm where 42 nm represents the thickness of the sample and the edge of the hole due to TEM sample preparation was approximately 40 nm from the QD. The thickness of the sample was determined through the log ratio method (Chapter 2) utilizing EELS on the JEOL 2010 F. As with past FEM analysis discussed in this thesis all three of the displacement degrees of freedom were fixed at zero displacement for the nodes falling on the edges of the model excluding those edges which occur as free surfaces in the experimental sample (i.e. the edge corresponding to the hole due to TEM sample preparation in the sample and the top and bottom surfaces of the thin foil). 176 Table 6: QD FEM material parameters Material E (GPa) ν Modified α x 10-4 /°C Lattice parameter (nm) GaAs97 75.398 0.31 0 0.565 InAs97 51.4 0.35 0.668 0.606 5.3 Transmission electron microscopy of quantum dots 5.3.1 TEM parameters The QD was imaged in the 2000 FXII as described in previous analyses in this thesis, close to the [011] zone axis in the (400) two beam condition. The experimental parameters are summarized in Table 7. The thickness of the experimental sample was determined via the log ratio method (described previously in Chapter 2) utilizing the EELS and GIF on the 2010 F and is accurate to within 15%.45 Figure 70: Three different EDC simulations varying QD position. (A) QD near bottom of TEM sample thickness, (B) QD at the center of TME sample thickness, (C) QD near top of TEM sample thickness 177 Table 7: Experimental and simulation TEM parameters for GaAs matrix g d400 (nm) ξ400 (nm) w t (nm) B F (400) 0.1413 96.3 1.136 42 (011) (0,0.839,1.11) 5.3.2 Effect of QD position within the thickness of the sample Initially the QD was assumed to be centered within the thickness in both the experimental sample and the FEM model. This resulted in the simulated image observed in Figure 70 (B). Visually the simulated image did not match the experimental image well (Figure 71), and the QD was repositioned in the FEM models such that the QD was centered 10 nm from both the bottom (Figure 70 (A)) and the top (Figure 70 (C)) surfaces. With the QD located near the top surface of the TEM foil thickness in the Figure 71: QD (400) image used for quantification 178 model, a much improved visual match between the experimental and simulated images was achieved. This model configuration corresponds to that in Figure 69 (B). There are two linked ways in which the effect of the QD position in the thickness of the FEM model upon the predicted image intensity can be explained. Figure 72 schematically illustrates the transmitted (I0 ) beam and the diffracted (I g) beam intensities as they pass through the experimental sample in cross section. The thickness (t) of the sample is almost one half of the extinction distance so the position of the QD necessarily impacts the exiting beam’s intensity as the QD can be thought of as a local distortion in the lattice (thus a different local w). The resulting intensity in the image then depends upon the intensity of the respective beams when they encounter the QD. As can be seen in the schematic figure, the I0 beam dominates when the QD is near the top of the sample and conversely the I g beam dominates when the QD is near the bottom of the sample. Intuitively, one can see that the image forming intensity will depend upon the location of the QD in the sample, as the transmitted and diffracted beams amplitudes will have Figure 72: Schematic diagram of I0 and Ig and the effect of QD position upon image intensity 179 different magnitudes when they encounter the QD. Correspondingly, this effects the I0 and I g amplitudes when they exit the sample and are used to form the TEM image. Recall from Chapter 2 that the magnitude of the amplitude squared is proportional to the beam intensity and is principally dependent upon the thickness of the sample (t), the deviation parameter (s and thus w), and the description of the strain in the sample (R). Thus a different strain field, as with the case of different positions of the QD in the thickness of the sample, will cause a different EDC intensity in the image. This phenomenon had not been encountered previously in analysis in this thesis as all structures examined up to this point were uniform through the thickness of the model. A more rigorous method of understanding this effect is through the use of phaseamplitude diagrams (PAD).99 Figure 73 (A) schematically illustrates the real and imaginary parts of the wave function, ψ. A PAD for Ig is shown in Figure 73 (B) for Figure 73: Polar representation of real and imaginary parts of the resultant wave vector, ψ, where the wave intensity, ψψ * , is real and unity (A). PAD for Ig for a material with a constant w, and the end location represents a specimen thickness of almost ½ ξ g (B) 180 single crystal GaAs with a fixed w. One complete trace of the circle in Figure 73 corresponds to one extinction length. The phase of the wave function is defined as zero as the electrons enter the sample and reaches its final value when the electrons exit out of the bottom of the sample (i.e. slightly less than ½ξ for the experimental sample studied here). The radius of the circle in a PAD is governed by w as the angular displacement of the summation of the wave function around the circle is a function of s and thus w (as defined in Chapter 2). ψ is a vector from the origin of the PAD to the edge of the circle. Where ψ falls on the circle corresponds to a specific location within the thickness of the sample. ψ consequently represents a summation of relative phase factors at increasing depths in the specimen. Mathematically ψ (s) is described as: Ψ (s ) = Fg Σ nrg =1 e + i 2 πs⋅ rg 37 Figure 74 (A) describes a PAD for a material of a different w than that shown in Figure 74: (A) PAD for Ig for a material with a constant w that is different than in Figure 75 (B). (B) PAD for the QD near the top surface of the sample 181 Figure 73 (B), corresponding to a local strain distortion surrounding the QD in the GaAs matrix, and possessing a correspondingly different PAD radius. The effect of the QD strain does not extend through the entire thickness of the sample, thus when traversing the circuit around the perimeter of the circle (summing ψ), we do not travel as far as in the first case, as the thickness over which the strain field acts is small in comparison to the thickness of the sample. Figure 74 (B) is an illustration of a PAD for a situation where w abruptly changes in the material soon after the electrons enter the sample (i.e. QD near the top of the sample). Then the material returns to its original condition for the remainder of its path. The net results of the trace is shown as a dashed line, and the corresponding ψ1. Figure 75 is similar to that of Figure 74 (B), however w does not change until near the exit surface of the sample, resulting in ψ2. The important conclusion is that ψ1 is not equal to ψ2 which describes the observed simulation results in that the calculated image intensities for various positions of the QD are not equal. Figure 75: PAD for the QD near the exit surface of the sample 182 5.3.3 Experimental analysis To verify experimentally that the QD was not located in the middle of the sample, a very simple experiment was performed. A specific QD was imaged in the TEM (Figure 76 (A)). Then the sample was removed and inverted in the specimen holder. The same QD was then located in the new orientation and imaged under identical conditions. The result was a QD of different strain contrast characteristics, and is shown in Figure 76 (B). Comparison of Figure 76 to Figure 70 indicates reasonable visual similarities assuming the QD is located at different depths within the sample. When the QD is near the exit surface of the sample, it has light center lobes followed by larger darker ones. The reverse of this contrast pattern is observed when the QD is near the entry surface of the sample. This is borne out in both the experimental and simulated images. 5.4 Quantification of strain around QD Figure 76: (400) experimental QD in normal sample orientation (A) and in inverted orientation under similar imaging conditions (B) 183 5.4.1 Stoleru analytical solution V. G. Stoleru and E. Towe of the Electrical Engineering Department at the University of Virginia have developed an analytical solution for determination of the strain distribution around pyramidal and truncated pyramidal shaped QDs. The strain field due to a pyramidal shaped, uniformly lattice mismatched InAs QD contained within an isotropic, elastic medium (GaAs) is obtained by evaluating an integral over the surface of the QD, following Downes et al.100 As defined in the Stoleru solution, the misfit strain is negative for a material under compression. Once the strain tensor is obtained, it is used as input for electronic structure calculation. The results of the calculations, for both {101} faceted pyramid101 and truncated pyramid geometries102&103 are in good agreement with the quantification of strain about the QD examined here. Figure 77: Preprocessed (400) quantification images: experimental (left) and simulation based on lattice mismatch strain (right) 184 5.4.2 Quantification of strains via the method described in this dissertation Application of the developed quantitative procedure for measuring strain was applied to the QD structure shown in Figure 71 with the experimental parameters listed in Table 7. The preprocessed images are shown in Figure 77. Two analysis regions were used, the first of which consisted of the strain lobe closest to the GaAs substrate and contained 10200 pixels. The second region, which was the strain lobe closed to the surface of the sample, had 3000 pixels. The difference map obtained with the 1.0 load condition (matching the predicted lattice mismatch strain field) along with the analysis regions are shown in Figure 78. The best matched strain simulation occurred at 1.0 for Figure 78: Difference map generated from images in Figure 79. Scale showing difference in GL between the two images 185 the 10200 pixel region and 0.9 for the 3000 pixel region. Note that bottom corners of the QD structure (arrows in figure) in the difference map show a greater difference (25-35 GLs) between the two images than the central portions (~0 GL). This might be due to compositional segregation within the QD structure, which would affect the surrounding strain field or might be due to the FEM model geometry as the modeled QD has a sharp edge here which might be over emphasizing the strain due to the sharp corner strain concentrator. The FEM was significantly increased in node density (by about a factor of three) with the highest increase in nodes about the dot corners without observing a significant change in predicted strains. From this, it is possible to conclude that the mesh density surrounding the QD does not significantly impact the results presented in the difference map of Figure 78. As a result the variation in intensity at the corners of the QD as highlighted by the difference map is attributed to compositional segregation of In within the QD. The nature of the compositional segregation is addressed in section 5.5. Figure 79: ε yy plots. Stoleru data (A) and FEM modeling (B) 186 Figure 79 shows ε yy strain plots from the Stoleru analytical solution (A) and the FEM prediction for pure lattice mismatch (B). As can be seen in the figure there is reasonable agreement between the independent calculations. Further, ε yy as a function of distance along the center axis of the InAs QD into the GaAs matrix starting at the base (0 nm) of the QD was determined and plotted in Figure 80. This data was generated for the Stoleru analytical solution, Demarest quantitative procedure,104 QD imbedded in an semi-infinite GaAs matrix, and QD in the GaAs TEM sample configuration. There is very strong correlation between all four data sets. The maximum strain, which is located at the InAs/GaAs interface (3.4 nm) is about 4% in all four cases and the strain is essentially completely relaxed (±10-5) 15 nm beyond the QD dimensions. Note the Stoleru data can be brought into better agreement with the data from our quantitative procedure by a 0.5-1.0 nm offset in the position of the QD. This error can readily be attributed to uncertainty in determining the location of the top of the QD structure via the difference map technique employed here. Strain as a function of Distance from Base of QD 2 FEM TEM Model Strain (%) 1 0 Stoleru Analytical Solution -1 Demarest Quantitative Procedure FEM Semi-Infinite Model -2 -3 -4 -5 4 5 6 7 8 9 10 11 12 13 14 15 Distance (nm) Figure 80: ε yy as a function of distance from the top of the QD 187 5.5 Experimental evidence that the QD composition may not be uniform In an attempt to determine if there was experimental evidence supporting compositional variation in the QD, the QD was imaged in the (200) condition. This diffraction state arises from the difference in scattering intensity between Column III and V sub-lattices, and is therefore very composition sensitive. Evidence of a non uniform composition profiles through the QD structure has previously been reported by Liu et al. 105 If the zincblende atoms were all the same (or the atomic scattering factors of the two FCC sublattices were identical) the (200) reflection would be a kinematically forbidden reflection. However, as the two sublattices (Ga and In on one, As on the other) Figure 81: (400) BF TEM QD image (A) and (200) DF TEM QD super lattice reflection image (B). (B) is compositionally sensitive to the difference in atomic scattering factors of Ga and In on the host As lattice. Insert diffraction pattern included to show diffraction condition under which each image was obtained 188 have different atomic scattering factors, the (200) two beam condition yields chemically sensitive information about the composition of the observed structure. For this system, In (atomic number 49) replaces Ga (atomic number 31) on the column III sublattice. The atomic number of As on the column V sublattice is 33. The replacement of Ga with In increases the mean scattering factor of the column III sublattice relative to the column V sublattice), thus causing In rich regions to have higher (200) DF intensity than Ga rich areas. Figure 81 shows experimental TEM images of a QD in the (400) BF imaging condition (A) and a (200) DF imaging condition (B). It is noted that the InAs QD is darker than the surrounding GaAs matrix in the (200) DF condition. This cannot be explained on the basis of the (200) structure factors, but rather must be an effect of greater high angle scattering (i.e. absorption contrast) from the higher atomic number InAs material, and/or strain contrast effects. The latter is deemed to be more likely the dominant factor, as the relatively small dimensions of the InAs QD are unlikely to cause large amounts of high angle scattering. Thus, compositional mapping using (200) DF intensity was not found to be practical for this configuration. 5.6 Conclusions This chapter has demonstrated several fundamental aspects of the quantitative procedure described in this dissertation. 1. The quantitative procedure has been used to quantify strains in a quantum dot system where strain is generated purely through lattice mismatch. 189 2. Independent verification of the strains surrounding a InAs QD in a GaAs matrix as determined by the quantification procedure developed here has been accomplished by comparison to the analytical solution of Stoleru and Towe. 3. A description of contrast inversion due to the position of the QD within the thickness of the experimental sample has been correlated to the QD position within the FEM/SIMCON models, due to the behavior of the electrons as they encounter a non uniform strain field through the thickness of both the experimental sample and the simulated model. 190 CHAPTER 6: GENERAL CONCLUSIONS AND FUTURE WORK 6.1 General conclusions The present study has addressed an important problem in the semiconductor industry; characterizing stress in complex device structures with both high spatial resolution and relative sensitivity. The procedure described herein has achieved a spatial resolution on the order of tens of nanometers and a relative stress sensitivity on the order of ±10 MPa. This method has been applied to structures of varying levels of complexity with the best obtained matches between experiment and simulation for the simplest structure studied (a shallow isolation trench), acceptable matches (i.e. showing significant minima in the difference volume between experiment and simulation) for a more complex structure (a collector contact), while a limit to the applicability of the quantitative procedure was reached for the most complex configuration studied, the emitter/base region of a HBT. In all three of these structures the quantified stresses were found to be of a magnitude 0.7 ±0.1 of the “reference” measured wafer curvature stresses for uniform thin films. The role of relevant experimental parameters and contrast mechanisms have been explored and quantified. To this end the deviation parameter, w, was found to be insensitive to changes of ±0.30 about its experimentally evaluated value of 1.37 with an estimated experimental measurement error of ±0.06. The (400) two beam condition was found to have a higher sensitivity to strain contrast than its orthogonal counterpart the (022). The DF TEM imaging condition was shown to have a slightly better stress 191 quantification sensitivity (and less sensitivity to changes in w) than the BF corollary. BF images were predominately used throughout this work as they contain more overall information about the device microstructure and are easier for people not intimately familiar with transmission electron microscopy to understand and interpret. The effect of Fresnel contrast was explored. This lead to the conclusion that Fresnel contrast has little effect upon our EDC measurements at material interfaces as long as the specimen is within ±250 nm of Gaussian focus. Within this range the effect upon EDC within the experimental image due to Fresnel contrast is less than 2%. These analyses established that accurate stress quantification procedures could be applied within the limits of experimental measurement and error. Further it was demonstrated that once the best stress load for the model was achieved, the effects of variations in the structural geometry upon stress fields in the device could be subsequently explored by finite element modeling. This approach was applied to the geometry of the shallow isolation trench as well as within the emitter/base model. With respect to the extrapolation of stresses in the thin FIB membrane to the actual stresses in the “bulk device”, careful experimental and FEM analysis of the stress distributions as a function of the FIB membrane thickness (from 100 nm to bulk), enabled correlations between membrane and bulk stresses to be derived. An approximate “rule of thumb” was developed where the quantified stresses in the experimental thin membrane structure are approximately 30-50% of those predicted in the bulk structure over the range of membrane thicknesses examined (100-500 nm). However, more accurate correlations for a specific structure require FEM modeling of that structure. 192 The developed quantitative procedure has also been verified against the independently obtained form of an analytical solution for the strain field surrounding an InAs quantum dot encapsulated in a coherent GaAs matrix. The agreement between the two predicted strain fields around such a structure are good. Additionally, application of the quantitative procedure to the QD structure, which because of its small dimensions is not uniform through the thickness of the experimental sample, was performed. This analysis demonstrated that in the limits where the predicted strain field is known, the quantitative procedure developed here can accurately reproduce the primary features of that strain/stress field (with residual uncertainties arising from the effects of In diffusion from the dot into the GaAs matrix). The limitations of this quantitative procedure are important to also address. As noted earlier the emitter/base region represented a sufficiently complex level of device structure that significant minima in the difference volume between experiment and simulation could not be obtained. A more practical issue, which is linked to the complexity of structure than can be adequately modeled, is the 25000 node limitation currently imposed by the operating system SIMCON runs on. One would like to have the highest detailed and most accurate finite element model of the entire experimental membrane. However, in practice this is not currently possible as an adequate mesh density in the region of interest of such a large model encompassing roughly ten materials, requires significantly more than 25000 nodes. Therefore simplification of the finite element model is required in both level of detail and the extent of the real structure which reduces the accuracy of the results. Additionally, in the work presented thus far in this thesis, a uniform load has been applied to the different materials in the finite element 193 models. Varying and minimizing each material independently of each other would also serve to improve the results of the quantitative procedure. A possible method for performing this task is presented in the Future Work section of this dissertation. Finally it must be emphasized that this procedure is developed and ideally suited for the semiconductor community, but general application to other material systems is entirely possible. The general criteria which must be met for a system to be analyzed by this quantitative procedure are: 1. A single crystal region that is at least a factor of ten larger than the dimensions of the strain generating feature(s). 2. A known specimen geometry which approximates parallel sided faces, i.e. is approximately uniform in thickness over the region of interest. 3. An initial estimation for the stresses in the various materials in the system should be obtained from an alternative quantitative method, such as the wafer curvature measurements of blanket films used here, or appropriate values used from the literature. 4. There must be a significant change in gray level (of order 100 gray levels) in both the experimental TEM and simulated SIMCON images due to strain contrast. 5. The intensity distributions of the gray levels are similar both spatially and in magnitude in the region of interest and should not vary by more than ±15 gray levels. Further it must also be noted that the quantification of stresses and strains described here is only valid when examining the strain corresponding to the specific crystallographic planes observed via TEM. The solutions presented here could, in principle, be duplicated by other sets of lattice distortions between the observed atomic 194 planes. The shear stresses, which are no doubt present in the structure, cannot be commented upon unless appropriate two beam diffraction conditions are obtained through TEM to examine them (i.e. examining the EDC corresponding to the {400}, {022}, and {111} as this would explore the two orthogonal components and a combination thereof for a <011> zone axis). Therefore the stress/strain fields presented here may not represent the unique solution for the studied structure. 195 6.2 Future work In preceding chapters of this thesis the potential improvements in the quantitative procedure from a multi-material minimization and interpolation algorithm has been discussed. The principle purpose of this section is to outline a possible methodology to implement such an algorithm. 6.2.1 Multi-material minimization and interpolation algorithm Appendix B contains the Fortran source code for a multi-material minimization and interpolation algorithm, which enables loads to be independently varied for each material contained in the model, and the global minimum (i.e. smallest difference volume between experiment and simulation) to be identified. These techniques follow established methodologies for handling such problems as described in Numerical Recipes: The Art of Scientific Computing. 77 The direction set method (Powell’s method), which is the minimization method employed by the program presented here, can be described relatively simply. The program requires an initial starting point (or best guess for the minimum), P0 =(m1 ,m2 ,m3 ), where each mx represents a dimension/material under investigation, and an initial matrix (XI) composed of the first step vectors for the normalized loads in each dimension. For example: 0.1 0.0 0.0  XI = 0.0 0.1 0.0  0.0 0.0 0.1 38 196 The source code included in Appendix B has been developed for a three dimensional (three material) system. Powell’s method also requires a function, or a way to evaluate P0 , and then compares that value to P1 =(m1 +δm1 ,m2 +δm2 ,m3 +δm3 ), which is the function value at some small displacement to P0 along the different dimensions. The algorithm then replaces P0 with P1 , providing P1 is the smaller of the two, and proceeds to iterate through the various small changes in P until the returned value of P is the smallest within in any dimensional step δm. The final returned value of P represents the minimum point in multidimensional space of the multidimensional surface described by the data. Providing m1 , m2 , and m3 represent stress loads for individual materials, they can be used to generate the proper stress state for the corresponding material in the finite element model through adjusting the coefficient of thermal expansion for a given material to generate the proper stress level at a given uniform change in temperature. The finite element data can then be passed into SIMCON, and then the comparison routine to Figure 82: Schematic illustration of required grid of data points for the multi material minimization and interpolation algorithm for three materials. Each grid intersection represents a required image comparison data point for the interpolation algorithm (see Table 8) 197 determine if a better match between simulated stress fields and experimentally observed ones occurs. The interpolation routine for this code is also taken from Numerical Recipes for interpolation in two or more dimensions. This consists of obtaining a set of data points over a regularly spaced array of values. For example, obtaining data points over the load of range 0.0 to 1.0 (1.0 representing wafer curvature stresses) at steps of 0.25 for each of three materials (this step interval is probably too coarse for sufficiently accurate identification of the global minimum, but the preliminary goal here is to illustrate a method for the multi-parameter minimization rather than to accurately apply it to a given configuration). This necessitates obtaining 53 data points for the interpolation function (Figure 82). The interpolation code employs bilinear interpolation (see reference 77). 6.2.2 Application of the minimization and interpolation algorithm Figure 83: Collector model used in multi-material minimization incorporating TiSi2 , TiN, and W as separate materials 198 The minimization and interpolation routine was applied to the collector contact structure with the experimental conditions discussed previously in Chapter 4. However, the finite element model was further refined to include an accurate representation of both the TiSi2 and TiN materials in the structure (the prior model treated these regions as being composed of W). This model is shown in Figure 83. In this model W has a large intrinsic tensile stress of +1.21 GPa, TiSi2 has a large tensile stress of +2.96 GPa, and TiN has a large compressive stress of -0.745 GPa all determined through wafer curvature measurements of blanket films. Independently varying the stresses in the three highest stress materials (TiSi2 , TiN, and W) for the model in Figure 83, to obtain the 125 grid points for the interpolation of the Fortran code, resulted in the data displayed in Table 8. Generation of the data in Table 8 took approximately 150 hours of computation time. The time required to generate these data points could be greatly decreased by running more than two SIMCON calculations at a time. This limitation is imposed by university administered SP system currently being used for these SIMCON calculations. An independent workstation, for example an RS/6000, could run a multitude of these calculations simultaneously. 199 Table 8: Data for independent stress minimization program where values represent changes in GL between the experimental and simulated images for the collector contact structure. Analysis region shown in Figure 83. TiN=0.0 TiN=0.25 TiN=0.5 TiN=0.75 TiN=1.0 W=0.0 TiSi2 =0.0 85.31866 84.20291 84.80616 85.29042 85.91566 W=0.0 TiSi2 =0.25 28.35923 28.86998 29.44523 30.54997 31.54172 W=0.0 TiSi2 =0.5 34.07246 33.39421 33.04446 32.47723 32.23598 W=0.0 TiSi2 =0.75 51.70796 51.59296 52.01995 52.07721 52.74821 W=0.0 TiSi2 =1.0 58.82971 58.65271 58.6047 59.03446 58.25771 W=0.25 TiSi2 =0.0 90.80816 90.36841 90.23467 89.18117 88.36842 W=0.25 TiSi2 =0.25 31.26072 31.75997 32.12272 32.25072 32.83671 W=0.25 TiSi2 =0.5 37.26696 37.40046 36.98521 36.06598 36.47048 W=0.25 TiSi2 =0.75 55.59521 55.69496 55.46971 55.85421 56.95546 W=0.25 TiSi2 =1.0 63.31821 63.14121 62.85596 62.8812 63.2262 W=0.5 TiSi2 =0.0 93.37141 93.36941 94.13491 93.64091 91.17341 W=0.5 TiSi2 =0.25 33.73947 35.17096 34.96821 35.37396 35.48172 W=0.5 TiSi2 =0.5 38.85021 38.53121 38.01971 37.64546 37.25696 W=0.5 TiSi2 =0.75 56.30147 56.07522 56.60821 57.10971 57.30821 W=0.5 TiSi2 =1.0 65.46345 65.14946 65.57795 65.18146 65.50421 W=0.75 TiSi2 =0.0 94.66815 97.00841 96.16766 96.86791 96.36166 W=0.75 TiSi2 =0.25 35.33871 35.78147 36.77498 37.06622 38.03397 W=0.75 TiSi2 =0.5 38.82846 38.50846 37.65996 38.13521 38.01121 W=0.75 TiSi2 =0.75 56.09223 56.52247 56.29071 56.74221 56.09223 W=0.75 TiSi2 =1.0 66.66744 66.18995 66.18396 66.20721 66.01646 W=1.0 TiSi2 =0.0 101.2299 98.87692 99.48292 99.68218 99.33592 W=1.0 TiSi2 =0.25 38.58422 38.55322 41.35447 40.18523 40.85298 W=1.0 TiSi2 =0.5 39.6377 37.78596 38.9882 37.87671 38.43846 W=1.0 TiSi2 =0.75 55.43748 55.32773 55.70447 56.29996 56.09196 W=1.0 TiSi2 =1.0 66.50195 66.6882 66.6917 66.79595 66.5342 200 Starting with P0 = (TiN, TiSi2 , W) = (1.0, 1.0, 1.0) the minimization routine returns a value of P = (0.8, 0.4, 0.5). Using this as a new starting point for the program returns a value of P = (0.8, 0.34, 0.53). Subsequent iterations demonstrated little deviation (less than 0.01) from this returned point. Modifying the coefficients of thermal expansion for TiN, TiSi2 , and W to reflect stress loads of 0.8, 0.34, and 0.53 respectively for a uniform temperature load of 1000 °C (the wafer curvature stress for the other materials in the model) returned an average difference in GL per pixel over the analysis region composed of 1000 pixels (Figure 83) of 27.9. This value is less than any value in Table 8 and also represents an improved GL match over the 0.6 load condition for the uniform W contact model previously analyzed in Chapter 4. Thus it can be concluded that independent material minimization of the stresses in the individual materials can offer a substantial improvement in the quantitative matching procedure described here. σyy plots for the 0.6 load state of the previous simplified (i.e. all W) collector contact model and that of P = (0.8, 0.34, 0.53) for the current refined analysis are shown in Figure 84: σyy stress plots for the 0.6 load state of the simplified collector contact model presented in Chapter 4 (A) and the refined multi-material independent minimization stress state analyzed here (B) 201 Figure 84. A substantial factor in the improved results is attributed to the inclusion of the TiSi2 material. Even though the stress minimization routine indicates that the stress state of the TiSi2 it about 2 GPa less than was measured via wafer curvature, it is recalled that there was some mistrust of the value of this particular wafer curvature measurement. Additionally, a stress level of about 1 GPa is still within the measured values for intrinsic stress of this material in the literature. Further, the independent variation of stresses in each material results in a higher maximum stress in the finite element model, which is consistent with the results of the CBED analysis of local stresses described later in this section (Figure 85). There are currently two major issues which need to be addressed in regards to the minimization and interpolation code presented here. First, the initial starting values of P0 do have the potential to influence the final output of the program. One can easily imaging a three dimensional surface which has both a global minimum value and a local minimum value over the defined data range. If P0 is selected near the local minimum value it can return the local minimum rather than the global minimum. Also, both minimization code and the interpolation algorithm begin with changes along one dimension and then move the next subsequent dimension during its iterative process. This can lead to possible erroneous results as the first dimension explored by the code can influence the region explored in the other dimensions. To refine the initial choice of P0 , the algorithm’s code should be adapted such that once a minimum value is obtained, the program iterates again choosing a new starting point (i.e. Pnew = |P0 -range| where range is the range of data points for the interpolation algorithm along one dimension). The second returned minimum with starting point Pnew 202 would then be compared to the minimum obtained with a starting point of P0 . Providing the returned values are sufficiently close (within about 5%) in their dimensional coordinates, then it can reasonably be inferred that only one minimum exists over the data range. If they are sufficiently different, two local minima have been identified. To further adapt the existing program to address the dimensional dependence of the code, additional sets of interpolation ‘do loops’ in subroutine polin2 (changing the dimensional order of the interpolation function) should be introduced. The result of this second interpolation would be returned along with the first to the main program and displayed as additional output. This would allow one to check the dimensional bias of the interpolation algorithm. 6.2.3 Comparison of quantified stress to CBED results Preliminary CBED data shown in Figure 85 is used as an independent experimental measurement of the stresses measured under the collector contact.13 CBED has previously been used in conjunction with SIMCON results.83&84 CBED patterns were obtained on the JOEL 2010F operated at 197 keV utilizing the energy filter and GIF. The patterns were obtained along the Si [013] zone axis using a double tilt cold stage holder so that the sample was maintained at liquid nitrogen temperatures (~-183°C). The higher order Laue zone (HOLZ) within the central disk of the pattern were examined as small displacements of the HOLZ lines can be related to the strain in the probe area (50 nm in diameter). The CBED HOLZ pattern was then simulated given the known microscope and specimen parameters with Desktop Microscopist.85 The relative length change of the intersection of the (11 11 -3) and (15 7 3) lines upon the (-15 5 1) line was examined as a 203 function of changing strain. The CBED stress measurements obtained through this method agree with the EDC stress measurements to within about 20% except near the contact/Si interface. The systematic difference between the CBED data and the others is most likely due to the preliminary nature of this particular experimental analysis. However the results of this analysis are encouraging, and suggest a further route for parallel experimental verification of the procedures developed in this thesis. 6.3 Other avenues for future work Other avenues which could be explored include: 1. Automation of the quantitative procedure with regards to the three principal computer programs (ANSYS, SIMCON, and AVS) would greatly speed up the process of Stress Vs. Distance from Collector Contact 0 50 100 150 200 250 0 -0.11 QP FE CBED FE Fig. 86 B Stress -0.22 (GPa) -0.33 -0.44 -0.55 Distance (nm) Figure 85: Collector contact σyy stresses measured by the described quantitative procedure (QP), finite element analysis (FE), convergent beam electron diffraction (CBED), and finite element analysis with multi-material minimization (FE Fig. 85 B) 204 quantification. This would, however, be a significant undertaking as two of these programs (ANSYS and AVS) are commercial software packages and undergo regular revisions. 2. Generalizing the overall geometry of the finite element model that SIMCON can use to allow for non parallel sided finite element models would be a significant enhancement. This would increase its general applicability and allow for strain quantification upon TEM samples which were prepared by more conventional methods such as electropolishing or ion milling. Specific knowledge of the geometry of the conventional samples, would still need to be known. 3. Experimental quantification of the absorption parameters for the materials studied would also prove beneficial, as it would aid in confidence of the values utilized here. 4. Adaptation of SIMCON to allow for a greater number of single crystal materials would also be a valued addition as this would facilitate EDC simulation of single crystal materials with a graded composition. For example, the Six Ge1-x base examined in this study and approximated with a 10% Ge concentration. 5. Application of analytical electron microscopy techniques (i.e. EELS, energy dispersive spectrometry, and energy filtered imaging) to the InAs QD embedded in a GaAs matrix would further aid in understanding this structure in regards to In segregation within the QD. Implementation of these techniques, however may prove to be somewhat difficult due to the small size of the QD. Chemical sensitivities on the order of 1 atomic percent with probe sizes of about 1 nm are possible. 205 APPENDIX A: MODIFICATIONS TO SIMCON SOURCE CODE The following SIMCON files are those which have either created or modified to some extent during the course of developing this work. The are provided in alphabetical order by file name. Changes within existing original files are designed in comments by a “jjd” notation. A.1 ANSYS_preprocessor_mm_3D #! /bin/sh ####created by jjd for fe_mm subprogram clear echo echo "ANSYS preprocessing for multiple materials--3D ONLY" echo "-------------------" echo echo "Available element types:" echo " 1 : SOLID92 quadratic" echo echo "Enter element used:" read et case $et in 1) ${F77} ${F77COMPLINKOPT} -o simcon_fe_mm_3D_exec\ ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/prefield_SOLID92_10.o \ ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/field_SOLID92_10.o \ ${SIMCON_HOME}/source/simcon_fe_mm_3D/lib/simcon_fe_mm.a;; *) echo "Error: element type not recognized.";; esac echo echo "... exiting ANSYS preprocessing for multiple materials" sleep 2 exit A.2 determine_mat_par.f subroutine determine_mat_par(zone,mat_par,exdi, c noabs,anabs,w,x,y) implicit none integer zone real*8 mat_par(10,5),exdi,noabs,anabs,w,x,y 206 c material 1 is Si if (idint(mat_par(1,5)).eq.zone) then exdi = mat_par(1,1) noabs = mat_par(1,2) anabs = mat_par(1,3) w = mat_par(1,4) c material 2 is SiGe elseif (idint(mat_par(2,5)).eq.zone) then exdi = mat_par(2,1) noabs = mat_par(2,2) anabs = mat_par(2,3) w = mat_par(2,4) c material 3 is SiO2 elseif (idint(mat_par(3,5)).eq.zone) then exdi = mat_par(3,1) noabs = mat_par(3,2) anabs = mat_par(3,3) w = mat_par(3,4) c material 4 is Al elseif (idint(mat_par(4,5)).eq.zone) then exdi = mat_par(4,1) noabs = mat_par(4,2) anabs = mat_par(4,3) w = mat_par(4,4) c material 5 is W elseif (idint(mat_par(5,5)).eq.zone) then exdi = mat_par(5,1) noabs = mat_par(5,2) anabs = mat_par(5,3) w = mat_par(5,4) c material 6 is TiN elseif (idint(mat_par(6,5)).eq.zone) then exdi = mat_par(6,1) noabs = mat_par(6,2) anabs = mat_par(6,3) w = mat_par(6,4) c material 7 is TiSi2 elseif (idint(mat_par(7,5)).eq.zone) then exdi = mat_par(7,1) noabs = mat_par(7,2) anabs = mat_par(7,3) w = mat_par(7,4) c material 8 is Si3N4 elseif (idint(mat_par(8,5)).eq.zone) then exdi = mat_par(8,1) noabs = mat_par(8,2) anabs = mat_par(8,3) w = mat_par(8,4) c material 9 is Poly Si elseif (idint(mat_par(9,5)).eq.zone) then exdi = mat_par(9,1) noabs = mat_par(9,2) anabs = mat_par(9,3) w = mat_par(9,4) c material 10 is Poly SiGe 207 elseif (idint(mat_par(10,5)).eq.zone) then exdi = mat_par(10,1) noabs = mat_par(10,2) anabs = mat_par(10,3) w = mat_par(10,4) c material error else print *,'zone = ', zone print *,'x position = ', x print *,'y position = ', y stop'Error: Material not defined in determine_mat_par.f' endif return end A.3 determine_zone.f integer function determine_zone(x,y) c This version of field works for 3D FE data on external files implicit none c c c c c integer nout parameter (nout=6) logical ok,notinblock integer i,j,k real*8 large_number parameter (large_number=1.d20) integer max_elements,nodes_per_element,max_nodes,max_npe parameter (max_elements=128000,max_nodes=128000, max_npe=10) external distance3d,get_child_bid integer get_child_bid real*8 distance3d real*8 xyz(3),disp(3),x,y,z logical eac integer numof_elements_checked,elem,numofelements,numofnodes, previous_elem save previous_elem integer elements_checked(max_elements), elemnode(max_elements,max_npe),material_nr(max_elements) real*8 dist,dist2elem real*8 AL(4),blbc(3),trfc(3),ublbc(3),utrfc(3) real*8 elempos(max_elements,3),nodepos(max_nodes,3), nodedisp(max_nodes,3) integer max_bdr,max_epb,max_id parameter (max_bdr=4,max_id=10000,max_epb=1000) integer block_div(3),nuof_times_nib integer next_free_id,bid,bi,bj,bk,good_blocksize integer block(max_id,max_epb),pointer(max_id,max_bdr**3+3) common /fld/ nodepos,nodedisp,elempos,elemnode,blbc,trfc, numofelements,numofnodes,nodes_per_element,material_nr common /block/ block,pointer,next_free_id,block_div,good_blocksize common /statistics/ nuof_times_nib 208 C Initializing some of the variables xyz(1) = x xyz(2) = y xyz(3) = z numof_elements_checked = 0 c Checking whether position of requested data point is within finite c element data file boundaries. if ((xyz(1).lt.blbc(1)).or.(xyz(1).gt.trfc(1)).or. c (xyz(2).lt.blbc(2)).or.(xyz(2).gt.trfc(2)).or. c (xyz(3).lt.blbc(3)).or.(xyz(3).gt.trfc(3))) then write (nout,*) 'Requested data out of range in finite element c data files' write (nout,*) xyz(1),xyz(2),xyz(3) stop'Error not recoverable in subroutine field.' endif C Checking element used in previous call. C previous_elem saved by save statement in declarations C if statement used to prevent problems on the first call to field. if ((previous_elem.ge.1).and.(previous_elem.le.numofelements)) c then elem = previous_elem call point_in_element_SOLID92_10(xyz,elem,ok,AL) if (ok) then determine_zone = material_nr(elem) return endif endif c Locating block to which xyz belongs c Starting at the parent of all blocks notinblock = .false. bid = 1 bi = 1 bj = 1 bk = 1 do 10 i = 1,3 ublbc(i) = blbc(i) utrfc(i) = trfc(i) 10 continue 11 continue if (pointer(bid,2).eq.1) then c Descending ... i = min0(int( (xyz(1)-ublbc(1)) / c ((utrfc(1)-ublbc(1))/block_div(1)))+1,block_div(1)) j = min0(int( (xyz(2)-ublbc(2)) / c ((utrfc(2)-ublbc(2))/block_div(2)))+1,block_div(2)) k = min0(int( (xyz(3)-ublbc(3)) / c ((utrfc(3)-ublbc(3))/block_div(3)))+1,block_div(3)) bid = get_child_bid(bi,bj,bk,i,j,k,bid) bi = i bj = j 209 bk = k call subcorners(bi,bj,bk,utrfc,ublbc,utrfc,ublbc,block_div) goto 11 elseif (pointer(bid,2).ne.0) then stop'undefined block status in field routine' endif c Locating element in this block to which xyz belongs c Determining element with nearest mean position if (pointer(bid,1).ne.0) then numof_elements_checked = 0 57 continue dist2elem = large_number do 55 k = 1,pointer(bid,1) i = block(bid,k) dist = distance3D(xyz(1),xyz(2),xyz(3), c elempos(i,1),elempos(i,2),elempos(i,3)) if (dist.lt.dist2elem) then eac = .false. do 60 j = 1,numof_elements_checked if (elements_checked(j).eq.i) eac = .true. 60 continue if (.not.(eac)) then elem = i dist2elem = dist endif endif 55 continue call point_in_element_SOLID92_10(xyz,elem,ok,AL) if (ok) then determine_zone = material_nr(elem) previous_elem = elem return else c Moving to neighbouring element numof_elements_checked = numof_elements_checked + 1 elements_checked(numof_elements_checked) = elem if ( (numof_elements_checked.gt.pointer(bid,1)) ) then nuof_times_nib = nuof_times_nib + 1 notinblock = .true. endif if (.not.notinblock) goto 57 endif endif if ((pointer(bid,1).eq.0).or.notinblock) then c The selected block is empty or the point was not found in block space c We try to find the element anyways c Determining element with nearest mean position numof_elements_checked = 0 957 continue 210 dist2elem = large_number do 955 k = 1,numofelements i=k dist = distance3D(xyz(1),xyz(2),xyz(3), c elempos(i,1),elempos(i,2),elempos(i,3)) if (dist.lt.dist2elem) then eac = .false. do 960 j = 1,numof_elements_checked if (elements_checked(j).eq.i) eac = .true. 960 continue if (.not.(eac)) then elem = i dist2elem = dist endif endif 955 continue call point_in_element_SOLID92_10(xyz,elem,ok,AL) if (ok) then determine_zone = material_nr(elem) previous_elem = elem return else c Moving to neighbouring element numof_elements_checked = numof_elements_checked + 1 elements_checked(numof_elements_checked) = elem if (numof_elements_checked.gt.numofelements) then write (nout,*) 'Trouble point: ',xyz stop'Error: Element not found at all, I am totally lost ...' endif goto 957 endif endif return end subroutine point_in_element_SOLID92_10(xyz,elem,ok,AL) implicit none logical ok integer elem real*8 xyz(3),AL(4) integer i real*8 tmpa(4,4),tmpb(4) integer max_nodes,max_elements,max_npe,numofelements,numofnodes parameter (max_nodes=128000,max_elements=128000,max_npe=10) integer nodes_per_element integer elemnode(max_elements,max_npe),material_nr(max_elements) real*8 nodepos(max_nodes,3),nodedisp(max_nodes,3) real*8 blbc(3),trfc(3),elempos(max_elements,3) real*8 n(max_npe,4) common /fld/ nodepos,nodedisp,elempos,elemnode,blbc,trfc, c numofelements,numofnodes,nodes_per_element,material_nr 211 c Loading positions of nodes connected to element in temporary do 1 i = 1,nodes_per_element n(i,1) = nodepos(elemnode(elem,i),1) n(i,2) = nodepos(elemnode(elem,i),2) n(i,3) = nodepos(elemnode(elem,i),3) 1 continue c Calculating area coordinates (AL) : tmpa(1,1) = n(1,1) tmpa(1,2) = n(2,1) tmpa(1,3) = n(3,1) tmpa(1,4) = n(4,1) tmpa(2,1) = n(1,2) tmpa(2,2) = n(2,2) tmpa(2,3) = n(3,2) tmpa(2,4) = n(4,2) tmpa(3,1) = n(1,3) tmpa(3,2) = n(2,3) tmpa(3,3) = n(3,3) tmpa(3,4) = n(4,3) tmpa(4,1) = 1.d0 tmpa(4,2) = 1.d0 tmpa(4,3) = 1.d0 tmpa(4,4) = 1.d0 tmpb(1) = xyz(1) tmpb(2) = xyz(2) tmpb(3) = xyz(3) tmpb(4) = 1.d0 call opl_stel(4,tmpa,tmpb,AL) c Checking whether position lies in this element if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) then ok = .true. else ok = .false. endif return end A.4 getruncopy #! /bin/sh CWD=`pwd` export CWD echo $CWD if [ "$SIMCON_HOME" != "$CWD" ] then echo "First set SIMCON_HOME to this one ..." exit fi # checking destination directory if [ "$1" = "" ] 212 then echo "Use: getsourcecopy [destination directory]" echo " USE FULL PATHNAME !!!" exit elif [ -r "$1" ] then echo "The destination directory must be non-existant." exit fi echo "Resetting security" $SIMCON_HOME/etc/global700 ${SIMCON_HOME} NEWSOURCE=$1 echo "Creating destination directory" echo $NEWSOURCE mkdir $NEWSOURCE echo "Copying user interface" cp ${SIMCON_HOME}/ANSYS_preprocessor $NEWSOURCE cp ${SIMCON_HOME}/PostSIMCON $NEWSOURCE cp ${SIMCON_HOME}/Resume $NEWSOURCE cp ${SIMCON_HOME}/SaveResults $NEWSOURCE cp ${SIMCON_HOME}/simcon $NEWSOURCE cp ${SIMCON_HOME}/simcon_da $NEWSOURCE cp ${SIMCON_HOME}/simcon_disp $NEWSOURCE cp ${SIMCON_HOME}/simcon_fe $NEWSOURCE ####added by jjd cp ${SIMCON_HOME}/simcon_fe_mm $NEWSOURCE cp ${SIMCON_HOME}/simcon_fe_mm_3D $NEWSOURCE ####jjd echo "Copying etc" cd $NEWSOURCE mkdir etc cd etc cp ${SIMCON_HOME}/etc/global700 . cp ${SIMCON_HOME}/etc/hosttype . echo "Creating source directory" cd $NEWSOURCE mkdir source echo "Creating Post directory" cd ${NEWSOURCE}/source mkdir Post cd Post cp ${SIMCON_HOME}/source/Post/qms . cp ${SIMCON_HOME}/source/Post/qmsin.dat.standard . cp ${SIMCON_HOME}/source/Post/sim2gif . echo "Warning: xv should be set up by yourself" echo "Creating PostAVS" cd ${NEWSOURCE}/source/Post 213 mkdir PostAVS cd PostAVS cp ${SIMCON_HOME}/source/Post/PostAVS/AVSsetupscript . cp ${SIMCON_HOME}/source/Post/PostAVS/S2A . cp ${SIMCON_HOME}/source/Post/PostAVS/S2A_3D . cp ${SIMCON_HOME}/source/Post/PostAVS/image.header . echo "Creating comparison" cd ${NEWSOURCE}/source mkdir comparison cd comparison cp ${SIMCON_HOME}/source/comparison/comparison . echo "Creating simcon_basic_subroutines" cd ${NEWSOURCE}/source mkdir simcon_basic_subroutines cd simcon_basic_subroutines cp ${SIMCON_HOME}/source/simcon_basic_subroutines/libsecure.a . cp ${SIMCON_HOME}/source/simcon_basic_subroutines/simcon.a . echo "Creating simcon_da" cd ${NEWSOURCE}/source mkdir simcon_da cd simcon_da cp ${SIMCON_HOME}/source/simcon_da/analytic_function.example . cp ${SIMCON_HOME}/source/simcon_da/analytic_function.variables.example . cp ${SIMCON_HOME}/source/simcon_da/simcon.EDCI . cp ${SIMCON_HOME}/source/simcon_da/simcon.commonblocks . cp ${SIMCON_HOME}/source/simcon_da/simcon.coordinates . cp ${SIMCON_HOME}/source/simcon_da/simcon.declarations . cp ${SIMCON_HOME}/source/simcon_da/simcon.initialize . cp ${SIMCON_HOME}/source/simcon_da/simcon.input . cp ${SIMCON_HOME}/source/simcon_da/simcon.namelists . cp ${SIMCON_HOME}/source/simcon_da/simcon.output . cp ${SIMCON_HOME}/source/simcon_da/simcon.visualize . cp ${SIMCON_HOME}/source/simcon_da/simcon_da.a . cd ${NEWSOURCE}/source/simcon_da mkdir derfield cd derfield cp ${SIMCON_HOME}/source/simcon_da/derfield/derfield.part1 . cp ${SIMCON_HOME}/source/simcon_da/derfield/derfield.part4 . cd ${NEWSOURCE}/source/simcon_da mkdir input cd input cp ${SIMCON_HOME}/source/simcon_da/input/input.example . cp ${SIMCON_HOME}/source/simcon_da/input/input.global . echo "Creating simcon_disp" cd ${NEWSOURCE}/source mkdir simcon_disp cd simcon_disp cp ${SIMCON_HOME}/source/simcon_disp/analytic_function.example . cp ${SIMCON_HOME}/source/simcon_disp/analytic_function.variables.example . 214 cd ${NEWSOURCE}/source/simcon_disp mkdir field cd field cp ${SIMCON_HOME}/source/simcon_disp/field/field.part1 . cp ${SIMCON_HOME}/source/simcon_disp/field/field.part4 . cd ${NEWSOURCE}/source/simcon_disp mkdir lib cd lib cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon_disp.a . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.EDCI . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.commonblocks . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.coordinates . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.declarations . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.initialize . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.input . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.namelists . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.output . cp ${SIMCON_HOME}/source/simcon_disp/lib/simcon.visualize . echo "Creating simcon_fe" cd ${NEWSOURCE}/source mkdir simcon_fe cd ${NEWSOURCE}/source/simcon_fe mkdir ANSYS cd ANSYS cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/field_PLANE2_6.o . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/field_SOLID92.o . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/field_SOLID92_10.o . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/field_STIF2.o . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/input . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/input.example . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/prefield_PLANE2_6.o . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/prefield_SOLID92.o . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/prefield_SOLID92_10.o . cp ${SIMCON_HOME}/source/simcon_fe/ANSYS/prefield_STIF2.o . cd ${NEWSOURCE}/source/simcon_fe mkdir lib cd lib cp ${SIMCON_HOME}/source/simcon_fe/lib/simcon_fe.a . ####added by jjd echo "Creating simcon_fe_mm" cd ${NEWSOURCE}/source mkdir simcon_fe_mm cd ${NEWSOURCE}/source/simcon_fe_mm mkdir ANSYS cd ANSYS cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/field_PLANE2_6.o . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/field_SOLID92.o . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/field_SOLID92_10.o . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/field_STIF2.o . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/input . 215 cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/input.example . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/prefield_PLANE2_6.o . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/prefield_SOLID92.o . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/prefield_SOLID92_10.o . cp ${SIMCON_HOME}/source/simcon_fe_mm/ANSYS/prefield_STIF2.o . cd ${NEWSOURCE}/source/simcon_fe_mm mkdir lib cd lib cp ${SIMCON_HOME}/source/simcon_fe_mm/lib/simcon_fe.a . cd ${NEWSOURCE}/source/simcon_fe_mm_3D mkdir ANSYS cd ANSYS cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/field_PLANE2_6.o . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/field_SOLID92.o . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/field_SOLID92_10.o . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/field_STIF2.o . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/input . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/input.example . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/prefield_PLANE2_6.o . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/prefield_SOLID92.o . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/prefield_SOLID92_10.o . cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/prefield_STIF2.o . cd ${NEWSOURCE}/source/simcon_fe_mm_3D mkdir lib cd lib cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/lib/simcon_fe.a . ####jjd echo "Creating demo directory" cd $NEWSOURCE mkdir demo cd demo cp -r ${SIMCON_HOME}/demo/* . cd $SIMCON_HOME ssimcon $SIMCON_HOME A.5 prefield_SOLID92_10.f c Version of prefield for ANSYS finite element program c for quadratic tetrahedric element (SOLID92) (10 nodes) subroutine prefield(nodedispunit,nodeposunit, c elemnodeunit,nodedispfile,nodeposfile,elemnodefile) implicit none logical war_cont integer nodedispunit,nodeposunit,elemnodeunit,nout parameter (nout=6) character*50 nodedispfile,nodeposfile,elemnodefile integer max_nodes,max_elements,corner_nodes_per_element,max_npe, 216 1 nodes_per_element,max_node_number parameter (max_nodes=128000,max_elements=128000, corner_nodes_per_element=4,max_npe=10,max_node_number=128000) 1 integer bi,bj,bk,i,j,iosn real*8 dummy2,dummy3,dummy4 real*8 dummy5 c dummy5 variable added in due to change in ansys55 output list c format --jjd 8/16/00 integer numofnodes,numofelements integer ar_elemnode(max_elements,max_npe+2) integer elemnode(max_elements,max_npe),material_nr(max_elements) integer index(max_node_number) real*8 ar_nodedisp(max_nodes,4),ar_nodepos(max_nodes,4) real*8 nodedisp(max_nodes,3),nodepos(max_nodes,3) real*8 blbc(3),trfc(3),sblbc(3),strfc(3),elempos(max_elements,3) integer list(0:max_elements) logical max_epb_exceeded integer max_bdr,max_epb,max_id,good_blocksize parameter (max_bdr=4,max_id=10000, max_epb=1000) integer block_div(3),belem,elem,rank integer next_free_id,bid integer block(max_id,max_epb),pointer(max_id,max_bdr**3+3) c integer min_nob,max_nob,mean_nob integer blocks_in_wire real*8 block_wire(max_id,7) common /fld/ nodepos,nodedisp,elempos,elemnode,blbc,trfc, numofelements,numofnodes,nodes_per_element,material_nr c common /block/ block,pointer,next_free_id,block_div,good_blocksize common /wire/ block_wire,blocks_in_wire c Part I : reading the tables produced by ANSYS c ============================================= open (UNIT=nodedispunit,FILE=nodedispfile,STATUS='OLD') open (UNIT=nodeposunit,FILE=nodeposfile,STATUS='OLD') open (UNIT=elemnodeunit,FILE=elemnodefile,STATUS='OLD') c Before continuing remove headers from ansys data files and only c leave the numbers 1 9991 1 i=0 war_cont = .false. continue i=i+1 continue read (nodedispunit,*,ERR=9991,END=10,IOSTAT=iosn) ar_nodedisp(i,1), 217 2 ar_nodedisp(i,2),ar_nodedisp(i,3),ar_nodedisp(i,4) c node number cannot be zero, so must be an empty line c if error occurs, this must be a comment line ... so read the next one if (ar_nodedisp(i,1).eq.0.) goto 9991 if ((.not.war_cont).and.(i.ne.ar_nodedisp(i,1))) then write (nout,*) c 'Warning: node numbering not continuous in nodedisp' write (nout,*) 'Warning: current node number:',i war_cont = .true. endif goto 1 10 continue numofnodes = i - 1 write (nout,*) c 'Number of nodes in displacement file : ',numofnodes if (numofnodes.gt.max_nodes) then stop'Error : adjust max_nodes parameter' endif i=0 war_cont = .false. 2 continue i=i+1 9992 continue read (nodeposunit,*,ERR=9992,END=11,IOSTAT=iosn) ar_nodepos(i,1), 1 ar_nodepos(i,2),ar_nodepos(i,3),ar_nodepos(i,4) if (ar_nodepos(i,1).eq.0.) goto 9992 if ((.not.war_cont).and.(i.ne.ar_nodepos(i,1))) then write (nout,*) c 'Warning: node numbering not continuous in nodepos' write (nout,*) 'Warning: current node number:',i war_cont = .true. endif goto 2 11 continue i=i-1 write (nout,*) 'Number of nodes in position file : ',i if (numofnodes.ne.i) then write (nout,*) 'Not the same number of nodes in position and c displacement files' stop endif i=0 war_cont = .false. 3 continue i=i+1 9993 continue read (elemnodeunit,*,ERR=9993,END=12,IOSTAT=iosn) 1 ar_elemnode(i,1),ar_elemnode(i,nodes_per_element+2), 2 dummy2,dummy3,dummy4,dummy5, 3 (ar_elemnode(i,j),j=2,nodes_per_element+1) if (ar_elemnode(i,1).eq.0) goto 9993 if ((.not.war_cont).and.(i.ne.ar_elemnode(i,1))) then write (nout,*) c 'Warning: node numbering not continuous in elemnode' 218 12 write (nout,*) 'Warning: current element number:',i war_cont = .true. endif goto 3 continue numofelements = i - 1 write (nout,*) 'Number of elements detected : ',numofelements if (numofelements.gt.max_elements) then stop'Error : adjust max_elements parameter' endif close (UNIT=nodedispunit,STATUS='KEEP') close (UNIT=nodeposunit,STATUS='KEEP') close (UNIT=elemnodeunit,STATUS='KEEP') c Reordering nodes and elements c Sorting nodes in increasing order call hpsort2(numofnodes,max_nodes,4,ar_nodepos,ar_nodedisp) c Renumbering nodes from 1 to numofnodes and saving index map of changes do 500 i = 1,numofnodes index(idnint(ar_nodepos(i,1))) = i nodepos(i,1) = ar_nodepos(i,2) nodepos(i,2) = ar_nodepos(i,3) nodepos(i,3) = ar_nodepos(i,4) nodedisp(i,1) = ar_nodedisp(i,2) nodedisp(i,2) = ar_nodedisp(i,3) nodedisp(i,3) = ar_nodedisp(i,4) 500 continue c Sorting elements in increasing order call ihpsort(numofelements,max_elements,nodes_per_element+2, c max_npe+2,ar_elemnode) c Renumbering elements do 501 i = 1,numofelements material_nr(i) = ar_elemnode(i,nodes_per_element+2) do 502 j = 1,nodes_per_element elemnode(i,j) = ar_elemnode(i,j+1) 502 continue 501 continue c Rectifying elemnode connection table do 503 i = 1,numofelements do 504 j = 1,nodes_per_element ele mnode(i,j) = index(elemnode(i,j)) 504 continue 503 continue c ANSYS element to node connection numbering not standard c Therefore: reordering numbering ... (using ar_elemnode as tmp variable) do 505 i = 1,numofelements do 506 j = 1,nodes_per_element ar_elemnode(i,j) = elemnode(i,j) if (elemnode(i,j).eq.0) stop'zero node number found.' 506 continue 505 continue do 507 i = 1,numofelements 219 elemnode(i,1) = ar_elemnode(i,1) elemnode(i,2) = ar_elemnode(i,2) elemnode(i,3) = ar_elemnode(i,3) elemnode(i,4) = ar_elemnode(i,4) elemnode(i,5) = ar_elemnode(i,5) elemnode(i,6) = ar_elemnode(i,7) elemnode(i,7) = ar_elemnode(i,8) elemnode(i,8) = ar_elemnode(i,6) elemnode(i,9) = ar_elemnode(i,10) elemnode(i,10) = ar_elemnode(i,9) 507 continue write (nout,*) 'Element and node numbering reordered' c Part II : Transforming data into orthogonal table c Finding minimum and maximum coordinate values in ANSYS data 50 c c blbc(1) = nodepos(1,1) blbc(2) = nodepos(1,2) blbc(3) = nodepos(1,3) trfc(1) = nodepos(1,1) trfc(2) = nodepos(1,2) trfc(3) = nodepos(1,3) do 50 i = 1,numofnodes blbc(1) = dmin1(blbc(1),nodepos(i,1)) blbc(2) = dmin1(blbc(2),nodepos(i,2)) blbc(3) = dmin1(blbc(3),nodepos(i,3)) trfc(1) = dmax1(trfc(1),nodepos(i,1)) trfc(2) = dmax1(trfc(2),nodepos(i,2)) trfc(3) = dmax1(trfc(3),nodepos(i,3)) continue write (nout,*) 'ANSYS data :' write (nout,*) '------------' write (nout,*) 'Bottom left back corner : ', blbc(1),blbc(2),blbc(3) write (nout,*) 'Top right front corner : ', trfc(1),trfc(2),trfc(3) c Creating table (element number, element position) c Element position defined as the mean of the surrounding elements. 52 51 do 51 i = 1,numofelements elempos(i,1) = nodepos(elemnode(i,1),1) elempos(i,2) = nodepos(elemnode(i,1),2) elempos(i,3) = nodepos(elemnode(i,1),3) do 52 j = 2,corner_nodes_per_element elempos(i,1) = elempos(i,1) + nodepos(elemnode(i,j),1) elempos(i,2) = elempos(i,2) + nodepos(elemnode(i,j),2) elempos(i,3) = elempos(i,3) + nodepos(elemnode(i,j),3) continue elempos(i,1) = elempos(i,1) / dfloat(corner_nodes_per_element) elempos(i,2) = elempos(i,2) / dfloat(corner_nodes_per_element) elempos(i,3) = elempos(i,3) / dfloat(corner_nodes_per_element) continue 220 write (nout,*) 'Mean position of elements determined.' c Creating block table c ==================== c Creating block of rank zero (the superparent of all subdivisions) c Initializing bi = 1 bj = 1 bk = 1 rank = 0 next_free_id = 1 c has block id one bid = next_free_id next_free_id = next_free_id + 1 c starting of with numofelements elements pointer(bid,1) = numofelements c is not yet subdivided pointer(bid,2) = 0 c is of rank 0 pointer(bid,3) = rank c Constructing block table c Do we have to continue at all ? max_epb_exceeded = .false. if (pointer(bid,1).gt.good_blocksize) then do 205 i = 1,3 sblbc(i) = blbc(i) strfc(i) = trfc(i) 205 continue max_epb_exceeded = .true. call divide_block(bi,bj,bk,bid,sblbc,strfc,max_epb_exceeded) else c The superparent contains all elements do 204 elem = 1,numofelements block(bid,elem) = elem 204 continue blocks_in_wire = 1 block_wire(blocks_in_wire,1) = blbc(1) block_wire(blocks_in_wire,2) = blbc(2) block_wire(blocks_in_wire,3) = blbc(3) block_wire(blocks_in_wire,4) = trfc(1) block_wire(blocks_in_wire,5) = trfc(2) block_wire(blocks_in_wire,6) = trfc(3) block_wire(blocks_in_wire,7) = numofelements endif write (nout,*) 'Verifying ...' if (next_free_id.eq.2) then write (nout,*) 'Warning: no subdivisions made!' else write (nout,*) 'Number of blocks:',next_free_id-1 write (nout,*) 'Some blocktree statistics:' min_nob = max_epb max_nob = 0 221 mean_nob = 0 do 303 bid = 1,next_free_id-1 if (pointer(bid,2).eq.0) then mean_nob = pointer(bid,1) + mean_nob min_nob = min0(min_nob,pointer(bid,1)) max_nob = max0(max_nob,pointer(bid,1)) endif 303 continue mean_nob = mean_nob/(next_free_id-1) write (nout,*) 'Minimum nuof elements in a block:',min_nob write (nout,*) 'Maximum nuof elements in a block:',max_nob write (nout,*) 'Mean nuof elements in a block:',mean_nob c Checking whether block table contains all elements: list(0) = numofelements do 300 elem=1,numofelements list(elem) = 0 300 continue do 299 bid = 1,next_free_id-1 if (pointer(bid,2).eq.0) then do 304 belem = 1,pointer(bid,1) elem = block(bid,belem) if (list(elem).eq.0) list(0) = list(0) - 1 list(elem) = 1 304 continue elseif (pointer(bid,2).ne.1) then stop'Inconsistent pointer value for block.' endif 299 continue if (list(0).ne.0) then write (nout,*) 'Warning: not all elements found in block table.' write (nout,*) 'list of missing ones:' do 301 i = 1,numofelements if (list(i).eq.0) write (nout,*) i 301 continue endif c Empty blocks ? i=0 do 305 bid = 1,next_free_id-1 if (pointer(bid,1).eq.0) then i = i+1 endif 305 continue if (i.ne.0) write (nout,*) 'Warning: empty blocks (',i,')' endif write (nout,*) '... constructed!' c writing block table write (nout,*) 'Saving block table ...' call save_block(block_wire,blocks_in_wire) return end 222 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c subroutine divide_block(cp_bi,cp_bj,cp_bk,cp_parent_id,cp_tblbc, cp_ttrfc,cp_max_epb_exceeded) implicit none implicit automatic (a-z) external get_child_bid integer get_child_bid integer nout parameter (nout=6) integer bi,bj,bk,bid,i,j,k,max_rank,ii,jj,kk,bbi,bbj,bbk parameter (max_rank=5) logical max_epb_exceeded,yes external elem_in_block,node_in_block,corn_in_elem logical elem_in_block,node_in_block,corn_in_elem integer max_nodes,max_elements,max_npe,nodes_per_element parameter (max_nodes=128000,ma x_elements=128000,max_npe=10) integer numofnodes,numofelements integer elemnode(max_elements,max_npe) real*8 nodedisp(max_nodes,3),nodepos(max_nodes,3) real*8 tblbc(3),ttrfc(3),sblbc(3),strfc(3),elempos(max_elements,3) real*8 blbc(3),trfc(3) c integer max_bdr,max_epb,max_id,good_blocksize parameter (max_bdr=4,max_id=10000, max_epb=1000) logical m_e_e(max_bdr,max_bdr,max_bdr) integer block_div(3),belem,elem,rank,rank_saved save rank_saved integer next_free_id,parent_id,pparent_id,node integer block(max_id,max_epb),pointer(max_id,max_bdr**3+3) integer cnt,cp_bi,cp_bj,cp_bk,cp_parent_id logical cp_max_epb_exceeded real*8 cp_tblbc(3),cp_ttrfc(3) integer blocks_in_wire real*8 block_wire(max_id,7) c common /fld/ nodepos,nodedisp,elempos,elemnode,blbc,trfc, numofelements,numofnodes,nodes_per_element common /block/ block,pointer,next_free_id,block_div,good_blocksize common /wire/ block_wire,blocks_in_wire 223 c !Recursive call c Address transfer, so provide a copy ! bi = cp_bi bj = cp_bj bk = cp_bk parent_id = cp_parent_id max_epb_exceeded = cp_max_epb_exceeded do 207 cnt = 1,3 tblbc(cnt) = cp_tblbc(cnt) ttrfc(cnt) = cp_ttrfc(cnt) 207 continue rank = pointer(parent_id,3) if (rank.ge.max_rank) then if (max_epb_exceeded) then stop'Cannot recover, enlarge max_epb or max_rank ??' endif c Indicating this block is NOT subdivided pointer(parent_id,2) = 0 return endif c Indicating this block is now subdivided pointer(parent_id,2) = 1 c Assign an id to its children and Initializing them rank = rank + 1 if (rank.gt.rank_saved) then rank_saved = rank write (nout,*) 'Rank:',rank endif do 200 i = 1,block_div(1) do 200 j = 1,block_div(2) do 200 k = 1,block_div(3) bid = next_free_id next_free_id = next_free_id + 1 if (next_free_id.gt.max_id) stop'Maximum bid exceeded.' pointer(parent_id, c k+block_div(1)*((j-1)+block_div(2)*(i-1)) +3) = bid pointer(bid,1) = 0 pointer(bid,2) = 0 pointer(bid,3) = rank m_e_e(i,j,k) = .false. 200 continue c Constructing block table do 201 i = 1,block_div(1) do 202 j = 1,block_div(2) do 203 k = 1,block_div(3) bid = get_child_bid(bi,bj,bk,i,j,k,parent_id) call subcorners(i,j,k,ttrfc,tblbc,strfc,sblbc,block_div) c If max_epb_exceeded we have to check all elements if (max_epb_exceeded) then do 204 elem = 1,numofelements node = 1 yes = .false. 205 continue 224 c An element must be in the block list if: c one of its nodes is inside the block if ( node_in_block(elem,node,sblbc,strfc) ) yes = .true. c one of the block corners is inside the element if (.not.yes) then if ( corn_in_elem(sblbc,strfc,elem)) yes = .true. endif c The following ones would make the list complete c one of the block ribs runs through the element c if (.not.yes) then c if ( rib_through_element(sblbc,strfc,elem)) yes = .true. c endif c one of the element ribs runs through the block c if (.not.yes) then c if ( erib_through_element(sblbc,strfc,elem)) yes = .true. c endif node = node + 1 if ((.not.yes).and.(node.le.nodes_per_element)) goto 205 if (yes) then if (pointer(bid,1).ge.max_epb) then if (.not.m_e_e(i,j,k)) then m_e_e(i,j,k) = .true. endif elseif (.not.elem_in_block(e lem,i,j,k,bid)) then pointer(bid,1) = pointer(bid,1) + 1 block(bid,pointer(bid,1)) = elem endif endif 204 continue else do 304 belem = 1,pointer(parent_id,1) elem = block(parent_id,belem) node = 1 yes = .false. 305 continue c An element must be in the block list if: c one of its nodes is inside the block if ( node_in_block(elem,node,sblbc,strfc) ) yes = .true. c one of the block corners is inside the element if (.not.yes) then if ( corn_in_elem(sblbc,strfc,elem)) yes = .true. endif c The following ones would make the list complete c one of the block ribs runs through the element c if (.not.yes) then c if ( rib_through_element(sblbc,strfc,elem)) yes = .true. c endif c one of the element ribs runs through the block c if (.not.yes) then c if ( erib_through_element(sblbc,strfc,elem)) yes = .true. c endif node = node + 1 if ((.not.yes).and.(node.le.nodes_per_element)) goto 305 if ( yes ) then 225 203 202 201 if (pointer(bid,1).ge.max_epb) then if (.not.m_e_e(i,j,k)) then m_e_e(i,j,k) = .true. endif elseif (.not.elem_in_block(elem,i,j,k,bid)) then pointer(bid,1) = pointer(bid,1) + 1 block(bid,pointer(bid,1)) = elem endif endif continue endif continue continue continue 206 do 206 i = 1,block_div(1) do 206 j = 1,block_div(2) do 206 k = 1,block_div(3) ii=i jj=j kk=k pparent_id = parent_id bbi = bi bbj = bj bbk = bk bid = get_child_bid(bi,bj,bk,i,j,k,parent_id) call subcorners(i,j,k,ttrfc,tblbc,strfc,sblbc,block_div) if (pointer(bid,1).gt.good_blocksize) then if (rank.eq.2) write (6,*) 'Rank 2, subdivision of :',bi,bj,bk call divide_block(ii,jj,kk,bid,sblbc,strfc,m_ e_e(i,j,k)) else blocks_in_wire = blocks_in_wire + 1 block_wire(blocks_in_wire,1) = sblbc(1) block_wire(blocks_in_wire,2) = sblbc(2) block_wire(blocks_in_wire,3) = sblbc(3) block_wire(blocks_in_wire,4) = strfc(1) block_wire(blocks_in_wire,5) = strfc(2) block_wire(blocks_in_wire,6) = strfc(3) block_wire(blocks_in_wire,7) = pointer(bid,1) endif continue 304 return end ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc logical function elem_in_block(elem,i,j,k,bid) implicit none 226 integer elem,i,j,k,cnt,bid integer max_nodes,max_elements,max_npe,nodes_per_element parameter (max_nodes=128000,max_elements=128000,max_npe=10) integer numofnodes,numofelements integer elemnode(max_elements,max_npe) real*8 nodedisp(max_nodes,3),nodepos(max_nodes,3) real*8 blbc(3),trfc(3),elempos(max_elements,3) c c integer max_bdr,max_epb,max_id,good_blocksize parameter (max_bdr=4,max_id=10000, max_epb=1000) integer block_div(3) integer next_free_id integer block(max_id,max_epb),pointer(max_id,max_bdr**3+3) common /fld/ nodepos,nodedisp,elempos,elemnode,blbc,trfc, numofelements,numofnodes,nodes_per_element common /block/ block,pointer,next_free_id,block_div,good_blocksize 1 if (pointer(bid,1).eq.0) then elem_in_block = .false. return endif cnt = 1 continue if (block(bid,cnt).eq.elem) then elem_in_block = .true. return endif cnt = cnt + 1 if (cnt.le.pointer(bid,1)) goto 1 elem_in_block = .false. return end subroutine subcorners(i,j,k,ttrfc,tblbc,strfc,sblbc,block_div) implicit none integer l integer i,j,k,block_div(3) real*8 tblbc(3),ttrfc(3),sblbc(3),strfc(3),ublbc(3),utrfc(3) ublbc(1) = tblbc(1)+(i-1)*( (ttrfc(1)-tblbc(1))/block_div(1) ) utrfc(1) = tblbc(1)+(i)*( (ttrfc(1)-tblbc(1))/block_div(1) ) ublbc(2) = tblbc(2)+(j-1)*( (ttrfc(2)-tblbc(2))/block_div(2) ) utrfc(2) = tblbc(2)+(j)*( (ttrfc(2)-tblbc(2))/block_div(2) ) ublbc(3) = tblbc(3)+(k-1)*( (ttrfc(3)-tblbc(3))/block_div(3) ) utrfc(3) = tblbc(3)+(k)*( (ttrfc(3)-tblbc(3))/block_div(3) ) do 1 l = 1,3 227 sblbc(l) = ublbc(l) strfc(l) = utrfc(l) continue return end 1 integer function get_child_bid(bi,bj,bk,i,j,k,parent_id) implicit none integer bi,bj,bk,i,j,k,parent_id,block_div(3),result c integer max_bdr,max_epb,max_id,good_blocksize parameter (max_bdr=4,max_id=10000, max_epb=1000) integer next_free_id integer block(max_id,max_epb),pointer(max_id,max_bdr**3+3) common /block/ block,pointer,next_free_id,block_div,good_blocksize if (parent_id.eq.1) then if ( (bi.ne.1).or.(bj.ne.1).or.(bk.ne.1) ) then stop'Fatal error in get_child_bid.' endif endif c result = pointer(parent_id, k+block_div(1)*((j-1)+block_div(2)*(i-1)) +3) get_child_bid = result return end logical function node_in_block(elem,node,tblbc,ttrfc) implicit none logical outside integer elem,node real*8 tblbc(3),ttrfc(3) integer max_elements,max_npe,max_nodes parameter (max_nodes=128000,max_elements=128000,max_npe=10) integer numofelements,numofnodes,nodes_per_element integer elemnode(max_elements,max_npe) real*8 nodepos(max_nodes,3),nodedisp(max_nodes,3) real*8 elempos(max_elements,3),blbc(3),trfc(3) common /fld/ nodepos,nodedisp,elempos,elemnode,blbc,trfc, c numofelements,numofnodes,nodes_per_element 228 outside = .false. if (nodepos(elemnode(elem,node),1).lt.tblbc(1)) outside = .true. if (nodepos(elemnode(elem,node),1).gt.ttrfc(1)) outside = .true. if (nodepos(elemnode(elem,node),2).lt.tblbc(2)) outside = .true. if (nodepos(elemnode(elem,node),2).gt.ttrfc(2)) outside = .true. if (nodepos(elemnode(elem,node),3).lt.tblbc(3)) outside = .true. if (nodepos(elemnode(elem,node),3).gt.ttrfc(3)) outside = .true. if (outside) then node_in_block = .false. else node_in_block = .true. endif return end subroutine calc_AL_tetra(x,y,z,AL,elem) implicit none real*8 x,y,z,AL(4) real*8 tmpa(4,4),tmpb(4) integer max_nodes,max_elements,max_npe,numofelements,numofnodes parameter (max_nodes=128000,max_elements=128000,max_npe=10) integer nodes_per_element integer elemnode(max_elements,max_npe) real*8 nodepos(max_nodes,3),nodedisp(max_nodes,3) real*8 blbc(3),trfc(3),elempos(max_elements,3) real*8 n(max_npe,4) integer i,elem common /fld/ nodepos,nodedisp,elempos,elemn ode,blbc,trfc, c numofelements,numofnodes,nodes_per_element c Loading positions of nodes connected to element in temporary do 1 i = 1,nodes_per_element n(i,1) = nodepos(elemnode(elem,i),1) n(i,2) = nodepos(elemnode(elem,i),2) n(i,3) = nodepos(elemnode(elem,i),3) 1 continue c Calculating area coordinates (AL) : tmpa(1,1) = n(1,1) tmpa(1,2) = n(2,1) tmpa(1,3) = n(3,1) tmpa(1,4) = n(4,1) tmpa(2,1) = n(1,2) tmpa(2,2) = n(2,2) tmpa(2,3) = n(3,2) tmpa(2,4) = n(4,2) tmpa(3,1) = n(1,3) tmpa(3,2) = n(2,3) 229 tmpa(3,3) = n(3,3) tmpa(3,4) = n(4,3) tmpa(4,1) = 1.d0 tmpa(4,2) = 1.d0 tmpa(4,3) = 1.d0 tmpa(4,4) = 1.d0 tmpb(1) = x tmpb(2) = y tmpb(3) = z tmpb(4) = 1.d0 call opl_stel(4,tmpa,tmpb,AL) return end logical function corn_in_elem(blbc,trfc,elem) implicit none integer elem real*8 blbc(3),trfc(3) real*8 AL(4) logical result result = .false. call calc_AL_tetra(blbc(1),blbc(2),blbc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. if (.not.result) then call calc_AL_tetra(trfc(1),blbc(2),blbc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. if (.not.result) then call calc_AL_tetra(blbc(1),trfc(2),blbc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. if (.not.result) then call calc_AL_tetra(trfc(1),trfc(2),blbc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. if (.not.result) then call calc_AL_tetra(blbc(1),blbc(2),trfc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. if (.not.result) then call calc_AL_tetra(trfc(1),blbc(2),trfc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. 230 c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. if (.not.result) then call calc_AL_tetra(blbc(1),trfc(2),trfc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. if (.not.result) then call calc_AL_tetra(trfc(1),trfc(2),trfc(3),AL,elem) if ((AL(1).ge.-1.d-14).and.(AL(2).ge.-1.d-14).and. c (AL(3).ge.-1.d-14).and.(AL(4).ge.-1.d-14)) result = .true. endif endif endif endif endif endif endif corn_in_elem = result return end subroutine save_block(block_wire,blocks_in_wire) c somewhat structured towards AVS UCD file format (ASCII) implicit none integer nout parameter (nout=60) integer i,block_id,node_id,mat_id integer blocks_in_wire integer overall_structure(5) integer max_id parameter (max_id=10000) integer cellnode(max_id,8) real*8 block_wire(max_id,7) open (UNIT=60,FILE='block.inp') c the number of cells (=block): overall_structure(2) = blocks_in_wire c the number of nodes: overall_structure(1) = overall_structure(2) * 8 c no data connected to node: overall_structure(3) = 0 c one cell data: number of elements in block 231 overall_structure(4) = 1 c no data connected to global structure: overall_structure(5) = 0 write (nout,*) overall_structure node_id = 0 c order important , see AVS E-6 in the developers guide do 1 block_id = 1,overall_structure(2) node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,1)), c real(block_wire(block_id,2)),real(block_wire(block_id,6)) cellnode(block_id,1) = node_id c c c c c c c node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,4)), real(block_wire(block_id,2)),real(block_wire(block_id,6)) cellnode(block_id,2) = node_id node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,4)), real(block_wire(block_id,5)),real(block_wire(block_id,6)) cellnode(block_id,3) = node_id node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,1)), real(block_wire(block_id,5)),real(block_wire(block_id,6)) cellnode(block_id,4) = node_id node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,1)), real(block_wire(block_id,2)),real(block_wire(block_id,3)) cellnode(block_id,5) = node_id node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,4)), real(block_wire(block_id,2)),real(block_wire(block_id,3)) cellnode(block_id,6) = node_id node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,4)), real(block_wire(block_id,5)),real(block_wire(block_id,3)) cellnode(block_id,7) = node_id node_id = node_id + 1 write (nout,*) node_id,real(block_wire(block_id,1)), real(block_wire(block_id,5)),real(block_wire(block_id,3)) cellnode(block_id,8) = node_id 1 continue 2 mat_id = 1 do 2 block_id = 1,overall_structure(2) write (nout,*) block_id,mat_id,' hex',(cellnode(block_id,i),i=1,8) continue c 232 write (nout,*) overall_structure(4),1 write (nout,*) 'elements/block,' do 3 block_id = 1,overall_structure(2) write (nout,*) block_id,real(block_wire(block_id,7)) continue 3 close (UNIT=60,STATUS='KEEP') end A.6 prefield_STIF2.f c Version of prefield for ANSYS finite element program c for quadratic triangular element (STIF2) (6 nodes) subroutine prefield(nodedispunit,nodeposunit, c elemnodeunit,nodedispfile,nodeposfile,elemnodefile) implicit none integer nodedispunit,nodeposunit,elemnodeunit,nout parameter (nout=6) character*50 nodedispfile,nodeposfile,elemnodefile 1 1 integer max_nodes,max_elements,corner_nodes_per_element,max_npe, nodes_per_element,max_node_number parameter (max_nodes=128000,max_elements=128000, corner_nodes_per_element=3,max_npe=10,max_node_number=128000) integer i,j,iosn real*8 dummy 1,dummy2,dummy3,dummy4 real*8 dummy5 c dummy5 added to make routine compatible with ansys 55 + --jjd 8/16/00 integer numofnodes,numofelements integer ar_elemnode(max_elements,max_npe+1) integer elemnode(max_elements,max_npe) integer index( max_node_number) real*8 ar_nodedisp(max_nodes,3),ar_nodepos(max_nodes,3) real*8 nodedisp(max_nodes,3),nodepos(max_nodes,3) real*8 blbc(3),trfc(3),elempos(max_elements,3) c common /fld/ nodepos,nodedisp,elempos,elemnode,blbc,trfc, numofelements,numofnodes,nodes_per_element c Part I : reading the tables produced by ANSYS c ============================================= open (UNIT=nodedispunit,FILE=nodedispfile,STATUS='OLD') open (UNIT=nodeposunit,FILE=nodeposfile,STATUS='OLD') open (UNIT=elemnodeunit,FILE=elemnodefile,STATUS='OLD') c Before continuing remove headers from ansys data files and only c leave the numbers i=0 233 1 1 10 1 2 continue i=i+1 read (nodedispunit,*,ERR=9999,END=10,IOSTAT=iosn) ar_nodedisp(i,1), ar_nodedisp(i,2),ar_nodedisp(i,3) goto 1 continue numofnodes = i - 1 write (nout,*) 'Number of nodes detected : ',numofnodes if (numofnodes.gt.max_nodes) stop'Error : adjust max_nodes parameter' do 2 i = 1,numofnodes read (nodeposunit,*,ERR=9999,IOSTAT=iosn) ar_nodepos(i,1), ar_nodepos(i,2),ar_nodepos(i,3) continue i=0 continue i=i+1 read (elemnodeunit,*,ERR=9999,END=11,IOSTAT=iosn) ar_elemnode(i,1), 1 dummy1,dummy2,dummy3,dummy4,dummy5,(ar_elemnode(i,j), c j=2,nodes_per_element+1) goto 3 11 continue numofelements = i - 1 write (nout,*) 'Number of elements detected : ',numofelements if (numofelements.gt.max_elements) then stop'Error : adjust max_elements parameter' endif 3 close (UNIT=nodedispunit,STATUS='KEEP') close (UNIT=nodeposunit,STATUS='KEEP') close (UNIT=elemnodeunit,STATUS='KEEP') c Reordering nodes and elements c Sorting nodes in increasing order call hpsort2(numofnodes,max_nodes,3,ar_nodepos,ar_nodedisp) c Renumbering nodes from 1 to numofnodes and saving index map of changes do 500 i = 1,numofnodes index(idnint(ar_nodepos(i,1))) = i nodepos(i,1) = ar_nodepos(i,2) nodepos(i,2) = ar_nodepos(i,3) nodedisp(i,1) = ar_nodedisp(i,2) nodedisp(i,2) = ar_nodedisp(i,3) 500 continue c Sorting elements in increasing order call ihpsort(numofelements,max_elements,nodes_per_element+1, c max_npe,ar_elemnode) c Renumbering elements do 501 i = 1,numofelements do 502 j = 1,nodes_per_element elemnode(i,j) = ar_elemnode(i,j+1) 502 continue 501 continue c Rectifying elemnode connection table do 503 i = 1,numofelements do 504 j = 1,nodes_per_element 234 504 503 elemnode(i,j) = index(elemnode(i,j)) continue continue write (nout,*) 'Element and node numbering reordered' c Part II : Transforming data into orthogonal table c Finding minimum and maximum coordinate values in ANSYS data 50 blbc(1) = nodepos(1,1) blbc(2) = nodepos(1,2) trfc(1) = nodepos(1,1) trfc(2) = nodepos(1,2) do 50 i = 1,numofnodes blbc(1) = dmin1(blbc(1),nodepos(i,1)) blbc(2) = dmin1(blbc(2),nodepos(i,2)) trfc(1) = dmax1(trfc(1),nodepos(i,1)) trfc(2) = dmax1(trfc(2),nodepos(i,2)) continue write (nout,*) 'ANSYS data :' write (nout,*) '------------' write (nout,*) 'Bottom left corner : ',blbc(1),blbc(2) write (nout,*) 'Top right corner : ',trfc(1),trfc(2) c Creating table (element number, element position) c Element position defined as the mean of the surrounding elements. 52 51 do 51 i = 1,numofelements elempos(i,1) = nodepos(elemnode(i,1),1) elempos(i,2) = nodepos(elemnode(i,1),2) do 52 j = 2,corner_nodes_per_element elempos(i,1) = elempos(i,1) + nodepos(elemnode(i,j),1) elempos(i,2) = elempos(i,2) + nodepos(elemnode(i,j),2) continue elempos(i,1) = elempos(i,1) / dfloat(corner_nodes_per_element) elempos(i,2) = elempos(i,2) / dfloat(corner_nodes_per_element) continue write (nout,*) 'Mean position of elements determined.' return 9999 c write (nout,*) 'I/O error # ',iosn write (nout,*) 'Are your finite element data files correctly organized?' return end A.7 Resume #! /bin/sh echo "Enter name of results:" read resultdir 235 if [ -f ${resultdir}/simcon_da_exec ] then cp ${resultdir}/simcon_da_exec $CWD fi if [ -f ${resultdir}/qmsout.ps ] then cp ${resultdir}/qmsout.ps $CWD fi if [ -f ${resultdir}/qmsin.dat ] then cp ${resultdir}/qmsin.dat $CWD fi if [ -f ${resultdir}/input ] then cp ${resultdir}/input $CWD fi if [ -f ${resultdir}/dgR.vff ] then cp ${resultdir}/dgR.vff $CWD fi if [ -f ${resultdir}/dgR.column_analysis ] then cp ${resultdir}/dgR.column_analysis $CWD fi if [ -f ${resultdir}/dgR.analysis ] then cp ${resultdir}/dgR.analysis $CWD fi if [ -f ${resultdir}/dgR ] then cp ${resultdir}/dgR $CWD fi if [ -f ${resultdir}/dark.vff ] then cp ${resultdir}/dark.vff $CWD fi if [ -f ${resultdir}/bright ] then cp ${resultdir}/bright $CWD fi if [ -f ${resultdir}/bright.vff ] then cp ${resultdir}/bright.vff $CWD fi if [ -f ${resultdir}/R ] then cp ${resultdir}/R $CWD fi if [ -f ${resultdir}/R.vff ] then cp ${resultdir}/R.vff $CWD fi if [ -f ${resultdir}/Rx ] then cp ${resultdir}/Rx $CWD fi if [ -f ${resultdir}/Rx.vff ] then cp ${resultdir}/Rx.vff $CWD fi if [ -f ${resultdir}/Ry ] then cp ${resultdir}/Ry $CWD fi if [ -f ${resultdir}/Ry.vff ] then cp ${resultdir}/Ry.vff $CWD fi if [ -f ${resultdir}/Rz ] then cp ${resultdir}/Rz $CWD fi if [ -f ${resultdir}/Rz.vff ] then cp ${resultdir}/Rz.vff $CWD 236 fi if [ -f ${resultdir}/analytic_function ] then cp ${resultdir}/analytic_function $CWD fi if [ -f ${resultdir}/coordinates.reference ] then cp ${resultdir}/coordinates.reference $CWD fi if [ -f ${resultdir}/R.analysis ] then cp ${resultdir}/R.analysis $CWD fi if [ -f ${resultdir}/R.column_analysis ] then cp ${resultdir}/R.column_analysis $CWD fi if [ -f ${resultdir}/analytic_function.variables ] then cp ${resultdir}/analytic_function.variables $CWD fi if [ -f ${resultdir}/dark ] then cp ${resultdir}/dark $CWD fi if [ -f ${resultdir}/coordinates.reference.vff ] then cp ${resultdir}/coordinates.reference.vff $CWD fi if [ -f ${resultdir}/node.pos ] then cp ${resultdir}/node.pos $CWD fi if [ -f ${resultdir}/node.disp ] then cp ${resultdir}/node.disp $CWD fi if [ -f ${resultdir}/elem.node ] then cp ${resultdir}/elem.node $CWD fi if [ -f ${resultdir}/simcon_fe_exec ] then cp ${resultdir}/simcon_fe_exec $CWD fi if [ -f ${resultdir}/simcon_disp_exec ] then cp ${resultdir}/simcon_disp_exec $CWD fi if [ -f ${resultdir}/materials_function ] then cp ${resultdir}/materials_function $CWD fi if [ -f ${resultdir}/materials_function.variables ] then cp ${resultdir}/materials_function.variables $CWD fi if [ -f ${resultdir}/bright.gif ] then cp ${resultdir}/bright.gif $CWD fi if [ -f ${resultdir}/dark.gif ] then cp ${resultdir}/dark.gif $CWD fi if [ -f ${resultdir}/derfield.f ] then cp ${resultdir}/derfield.f $CWD fi if [ -f ${resultdir}/field.f ] then cp ${resultdir}/field.f $CWD fi if [ -f ${resultdir}/simcon_da_mm_exec ] 237 then cp ${resultdir}/simcon_da_mm_exec $CWD fi ####added by jjd if [ -f ${resultdir}/simcon_fe_mm_exec ] then cp ${resultdir}/simcon_fe_mm_exec $CWD fi if [ -f ${resultdir}/simcon_fe_mm_3D_exec ] then cp ${resultdir}/simcon_fe_mm_3D_exec $CWD fi ####jjd A.8 SaveResults #! /bin/sh echo "Enter name of results:" read resultdir mkdir $resultdir if [ -f simcon_da_exec ] then cp simcon_da_exec $resultdir fi if [ -f qmsout.ps ] then cp qmsout.ps $resultdir fi if [ -f qmsin.dat ] then cp qmsin.dat $resultdir fi if [ -f input ] then cp input $resultdir fi if [ -f dgR.vff ] then cp dgR.vff $resultdir fi if [ -f dgR.column_analysis ] then cp dgR.column_analysis $resultdir fi if [ -f dgR.analysis ] then cp dgR.analysis $resultdir fi if [ -f dgR ] then cp dgR $resultdir fi if [ -f dark.vff ] then cp dark.vff $resultdir fi if [ -f bright ] then cp bright $resultdir fi if [ -f bright.vff ] then cp bright.vff $resultdir fi if [ -f R ] then cp R $resultdir fi if [ -f R.vff ] then cp R.vff $resultdir 238 fi if [ -f Rx ] then cp Rx $resultdir fi if [ -f Rx.vff ] then cp Rx.vff $resultdir fi if [ -f Ry ] then cp Ry $resultdir fi if [ -f Ry.vff ] then cp Ry.vff $resultdir fi if [ -f Rz ] then cp Rz $resultdir fi if [ -f Rz.vff ] then cp Rz.vff $resultdir fi if [ -f analytic_function ] then cp analytic_function $resultdir fi if [ -f coordinates.reference ] then cp coordinates.reference $resultdir fi if [ -f R.analysis ] then cp R.analysis $resultdir fi if [ -f R.column_analysis ] then cp R.column_analysis $resultdir fi if [ -f analytic_function.variables ] then cp analytic_function.variables $resultdir fi if [ -f dark ] then cp dark $resultdir fi if [ -f coordinates.reference.vff ] then cp coordinates.reference.vff $resultdir fi if [ -f node.disp ] then cp node.disp $resultdir fi if [ -f node.pos ] then cp node.pos $resultdir fi if [ -f elem.node ] then cp elem.node $resultdir fi if [ -f simcon_fe_exec ] then cp simcon_fe_exec $resultdir fi *********** if [ -f simcon_fe_exec ] then cp simcon_fe_exec $resultdir fi 239 *********** if [ -f simcon_disp_exec ] then cp simcon_disp_exec $resultdir fi if [ -f materials_function ] then cp materials_function $resultdir fi if [ -f materials_function.variables ] then cp materials_function.variables $resultdir fi if [ -f bright.gif ] then cp bright.gif $resultdir fi if [ -f dark.gif ] then cp dark.gif $resultdir fi if [ -f derfield.f ] then cp derfield.f $resultdir fi if [ -f field.f ] then cp field.f $resultdir fi if [ -f simcon_da_mm_exec ] then cp simcon_da_mm_exec $resultdir fi ####added by jjd if [ -f simcon_fe_mm_exec ] then cp simcon_fe_mm_exec $resultdir fi if [ -f simcon_fe_mm_3D_exec ] then cp simcon_fe_mm_3D_exec $resultdir fi ####jjd A.9 simcon #! /bin/sh # Set the SIMCON home directory in the next line SIMCON_HOME=/h1/j/jj/jjd2e/simcon export SIMCON_HOME # uncomment next line for use of security file #IMEC_TCAD=$SIMCON_HOME #export IMEC_TCAD # The current work directory is autmatically set in the next line CWD=`pwd` export CWD # "Setting compiler options:" F77="f77" # "F77 : $F77" F77COMPOPT="-O3 -c" 240 # "F77COMPOPT : $F77COMPOPT" F77COMPLINKOPT="-O3" # "F77COMPLINKOPT : $F77COMPLINKOPT" CC="cc" # "CC : $CC" CCCOMPOPT="-c -O3" # "CCCOMPOPT : $CCCOMPOPT" CCCOMPLINKOPT="-O3" # "CCCOMPLINKOPT : $CCCOMPLINKOPT" export F77 export F77COMPOPT export F77COMPLINKOPT export CC export CCCOMPOPT export CCCOMPLINKOPT # Just another comment line clear echo "Welcome to SIMCON" echo "=================" echo "" echo "Thank you for downloading SIMCON, a software package for the simulation of Electron Diffraction Contrast Images (EDC images) resulting from specimens with localized strain fields of arbitrary geometry. SIMCON has been developed by Koenraad G. F. Janssens at the department of Metallurgy and Materials Engineering (MTM) of Leuven University (KUL) and at the Interuniversity Micro-Electronics Center (IMEC), Belgium." echo "" echo "CopyRight note:" echo "===============" echo "" echo "SIMCON is freeware, and as such it is delivered without any warranty. The most recent version can be downloaded from http://www.mtm.kuleuven.ac.be/~simcon/" echo "You are free to distribute the version you have, on the condition that this welcome note is not removed." echo "" echo "SIMCON IS FREEWARE FOR NON-COMMERCIAL USE ONLY. SIMCON or any part of it MAY NOT be sold nor may it be included into any commercial product without prior and written agreement of the author (Koenraad G. F. Janssens) or the institutes where it has been developed (MTM or IMEC)." echo "" echo "Using this software implies that you have read and accept this note." echo "" echo "[Type return to continue]" #read x clear echo "Some things you may need" echo "========================" echo "" echo "All you need to know about SIMCON can be found at http://www.mtm.kuleuven.ac.be/~simcon/" echo "If you have trouble reaching this address here is where you can find the author:" echo " Koenraad Janssens" echo " OCAS" 241 echo " John F. Kennedylaan 3, B-9060 Zelzate, Belgium" echo " e-mail: simcon@mars.sunmtm.kuleuven.ac.be or kja@ocas.be" echo " Tel: +32-9-3451342 Fax: +32-9-3451204" echo "" echo "In case you want to adapt the source code please do so, but please notify the author so that your extensions can be added to the original software and other users can benefit from your effort. (The same goes for BUGS you may stumble on ...). Your name will be added to this note." echo "" echo "[Type return to continue]" #read x clear echo "Welcome to SIMCON" while [ "$choice" != "exit" ] do #if [ `${SIMCON_HOME}/etc/hosttype` = "SUN5" ] #then # banner "simcon" #fi echo "" echo " simcon_da : simcon_direct_analytic" echo " simcon_da_mm : simcon_direct_analytic multi material mode" echo " simcon_disp : simcon_displacement" echo " simcon_fe : simcon_finite_elements" ####added by jjd echo " simcon_fe_mm : simcon_finite_elements multi material mode (2D)" echo " simcon_fe_mm_3D : simcon_finite_elements multi material mode (3D)" ####jjd echo " post : SIMCON postprocessor" echo " resume : Resume earlier calculations" echo " save : Save results" echo " dir : List current directory" echo " cwd : Change work directory" echo " clear : Clear current files" echo " exit : Exit from SIMCON" read choice case $choice in simcon_da) ${SIMCON_HOME}/simcon_da ;; simcon_da_mm) ${SIMCON_HOME}/simcon_da_mm ;; simcon_disp) ${SIMCON_HOME}/simcon_disp ;; simcon_fe) ${SIMCON_HOME}/simcon_fe ;; ####added by jjd simcon_fe_mm) ${SIMCON_HOME}/simcon_fe_mm ;; simcon_fe_mm_3D) ${SIMCON_HOME}/simcon_fe_mm_3D ;; ####jjd post) ${SIMCON_HOME}/PostSIMCON;; resume) ${SIMCON_HOME}/Resume;; save) ${SIMCON_HOME}/SaveResults; echo "[Type return to continue]"; read x;; dir) ls -l ${CWD} | more; echo [Hit return to continue]; read x;; cwd) echo "Enter new work directory:"; 242 read NEWCWD; cd $NEWCWD; CWD=`pwd`;; clear) echo "OK to delete all current results ? (y/n)"; read answer; if [ "$answer" = "y" ] then rm -f simcon_da_exec qmsout.ps qmsin.dat input \ dgR.vff dgR.column_analysis dgR.analysis dgR dark.vff bright bright.vff \ R R.vff Rx Rx.vff Ry Ry.vff Rz Rz.vff analytic_function \ coordinates.reference R.analysis \ R.column_analysis analytic_function.variables dark \ coordinates.reference.vff; rm -f elem.node node.disp node.pos simcon_fe_exec; ####added by jjd rm -f elem.node node.disp node.pos simcon_fe_mm_exec; rm -f elem.node node.disp node.pos simcon_fe_mm_3D_exec; ####jjd rm -f simcon_disp_exec; rm -f materials_function materials_function.variables simcon_da_mm_exec; rm -f bright.gif dark.gif derfield.f field.f; fi;; exit) echo "Exiting does not save automatically, continue? (y/n)" read answer if [ "$answer" != "y" ] then choice=noexit; els e echo "Good Bye" ; sleep 1 ; rm -f simcon_da_exec qmsout.ps qmsin.dat input \ dgR.vff dgR.column_analysis dgR.analysis dgR dark.vff bright bright.vff \ R R.vff Rx Rx.vff Ry Ry.vff Rz Rz.vff analytic_function \ CCval.txt CCvalc.txt LSnor.txt LSnorc.txt LSpix.txt LSpixc.txt \ R.fld bright.fld dark.fld \ coordinates.reference R.analysis \ R.column_analysis analytic_function.variables dark \ coordinates.reference.vff; rm -f elem.node node.disp node.pos simcon_fe_exec; ####added by jjd rm -f elem.node node.disp node.pos simcon_fe_mm_exec; rm -f elem.node node.disp node.pos simcon_fe_mm_3D_exec; ####jjd rm -f simcon_disp_exec; rm -f materials_function materials_function.variables simcon_da_mm_exec; rm -f bright.gif dark.gif derfield.f field.f; rm -f *.o simcon_main.f ; fi;; *) echo "Error: invalid choice." ; sleep 1 ;; esac clear done A.10 simcon.compile #! /bin/sh CWD=`pwd` export CWD echo $CWD 243 if [ "$SIMCON_HOME" != "$CWD" ] then echo "First set SIMCON_HOME to this one ..." exit fi echo "Setting compiler options:" F77="f77" echo "F77 : $F77" F77COMPOPT="-O3 -c" echo "F77COMPOPT : $F77COMPOPT" F77COMPLINKOPT="-O3" echo "F77COMPLINKOPT : $F77COMPLINKOPT" CC="cc" echo "CC : $CC" CCCOMPOPT="-c -O3" echo "CCCOMPOPT : $CCCOMPOPT" CCCOMPLINKOPT="-O3" echo "CCCOMPLINKOPT : $CCCOMPLINKOPT" export F77 export F77COMPOPT export F77COMPLINKOPT export CC export CCCOMPOPT export CCCOMPLINKOPT echo "Resetting security" ${SIMCON_HOME}/etc/global700 source echo "Compilation of PostAVS ..." cd ${CWD}/source/Post/PostAVS sh compile.PostAVS echo "Compilation of Post ..." cd ${CWD}/source/Post sh compile.Post echo "Compilation of Comparison ..." cd ${CWD}/source/comparison sh compile.comparison ################################ # The Simcon patch_a written by Koen changed the .library file names below to .aray # This was fixed with the help of Dave C. (CS-UVA) by jjd2e 6/18/97 ################################ echo "Compilation of basic subroutines ..." cd ${CWD}/source/simcon_basic_subroutines sh simcon.compile.library echo "Compilation of simcon_da ..." cd ${CWD}/source/simcon_da sh simcon_da.compile.library echo "Compilation of simcon_disp ..." 244 cd ${CWD}/source/simcon_disp/lib sh simcon_disp.compile.library echo "Compilation of simcon_fe ..." cd ${CWD}/source/simcon_fe/ANSYS sh simcon_fe.precompile cd ${CWD}/source/simcon_fe/lib sh simcon_fe.compile.library ####added by jjd echo "Compilation of simcon_fe_mm ..." cd ${CWD}/source/simcon_fe_mm/ANSYS sh simcon_fe_mm.precompile cd ${CWD}/source/simcon_fe_mm/lib sh simcon_fe_mm.compile.library ####the sh command should work as it is now inside the fe_mm_3D dir echo "Compilation of simcon_fe_mm_3D ..." cd ${CWD}/source/simcon_fe_mm_3D/ANSYS sh simcon_fe.precompile cd ${CWD}/source/simcon_fe_mm_3D/lib sh simcon_fe_mm.compile.library ####jjd vi ${CWD}/simcon cd $CWD ssimcon $CWD echo "... Hope it works out!" A.11 simcon.declarations program simcon_finite_elements_direct cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Part One : c Variable and Parameter Declarations cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc implicit none c timing ... c real elapsed,dtime,t(2) c declaration of external functions external compv,dot,cosin,check_perpendicularity,determine_zone logical compv,check_perpendicularity integer determine_zone real*8 dot,cosin 245 c input and output stream units c c c c c c c integer nin,nout,infile_unit,corefile_unit,outfile_unit integer nodedispunit,nodeposunit,elemnodeunit,darkfile_unit integer Rxfile_unit,Ryfile_unit,Rzfile_unit,Rfile_unit, dgRfile_unit,reference_unit,intfile_unit integer za_unit,gR_unit,dgR_unit,nos_unit, sza_unit,sgR_unit,sdgR_unit,snos_unit parameter (nin=5,nout=6,infile_unit=1,outfile_unit=2, corefile_unit=4, darkfile_unit=3,nodedispunit=7,nodeposunit=8,elemnodeunit=9, Rxfile_unit=10,Ryfile_unit=11,Rzfile_unit=12,Rfile_unit=13, dgRfile_unit=14,reference_unit=15,sza_unit=16,sgR_unit=17, sdgR_unit=18,snos_unit=19,intfile_unit=20) c statistics of calculation c nuof_times_nib : the number of times a integration position was not found c in an element of the block selected in the field function. integer nuof_times_nib c loop counters, temporaries, other junk integer i,j,x,y,recordlength,locator real*4 progress real*8 tmpa(3),tmpb(3),def_test,TEMxyz(3),kronecker(3,3) real*8 largissimo parameter (largissimo=1.d30) c external filenames c c c logical calculate_image,save_on_disc,disp_from_disc character*50 infile,outfile,corefile,darkfile,nodedispfile, nodeposfile,intfile, elemnodefile,Rxfile,Ryfile,Rzfile,Rfile,dgRfile,referencefile, szafile,sgRfile,sdgRfile,snosfile c program resolution limits integer maxresx,maxresy,max_samples,max_samples_used parameter (maxresx=1000,maxresy=1000,max_samples=10000) c general parameters real*8 pi parameter (pi=3.14159265359d0) c experimental parameters c all parameters in crystal coordinate system unless specified c Experimental parameters: Scalars c d = distance between diffracting atom planes c exdi = extinction distance (depends on g) c w = Bragg deviation parameter (w = exdi*s) c noabs = normal absorption c anabs = anomalous absorption 246 real*8 d,exdi,w,noabs,anabs c Experimental parameters: Vectors c g = diffraction vector real*8 g(3) c model parameters c Positioning parameters c translation = translation from the origin of the TEM coordinate system to c the origin of the model system in TEM coordinates. This parameter c is automatically calculated from using z_translation_spec, the c positioning choice (see pos_choice) and the height and width of the c image. c translation3atorigin = self explaining name c pos_choice = User supplied parameter determining the position of the c projection of the origin of the specimen coordinate system in the image c plane. c 'mm' = middle of the image c 'tr' = top right corner of the image c 'tl' = top left c 'br' = bottom right c 'bl' = bottom left c 'tm' = top middle c 'bm' = bottom middle c 'rm' = right middle c 'lm' = left middle c z_translation_spec = to position the displacement field somewhere in the c specimen a translation along the z_axis of the specimen system is c specified. character*2 pos_choice real*8 z_translation_spec real*8 translation(3),translation3atorigin c coordinate system arrays c relative to crystal coordinate system 1 2 real*8 TEM2cryst(3,3),cryst2TEM(3,3), model2cryst(3,3),cryst2model(3,3), specimen2cryst(3,3),cryst2specimen(3,3) c relative to one another 1 2 real*8 TEM2model(3,3),model2TEM(3,3), TEM2specimen(3,3),specimen2TEM(3,3), model2specimen(3,3),specimen2model(3,3) c Vectors, supplied by the user in namelist /coordinate_systems/ for c setting up the transformations. All vector with respect to the c crystal system, unless specified. c B = incident electron beam c TEMx = Orientation of x-axis (horizontal) c F = Foil normal c modx_spec = orientation of x-axis of displacement field model in specimen 247 c coordinates system. c mody_spec, modz_spec = ... self evident, like modx_spec. real*8 B(3),TEMx(3),F(3),modx_spec(3),mody_spec(3),modz_spec(3) c Vectors used as workspace for constructing transformation matrices real*8 TEMy(3),specx(3),specy(3) c memorized vectors in other coordinate systems c prefix TEM = vector in TEM coordinate system c prefix mod = vector in model coordinate system c prefix spec = vector in specimen coordinate system real*8 TEMB(3),modB(3), 1 TEMg(3),modg(3), 2 TEMtopnormal(3),TEMbottomnormal(3) c tables c simulation parameters c simulation parameters : from input c core_correction = .true. when corrective actions are necessary in the c process of calcluating the displacement field, used together with c subroutine overflow_corrector c resx,resy = resolution of simulated image c thickness = specimen thickness measured through origin of specimen c coordinate system along specimen-z-axis. c width = width of the image, along TEM-x-coordinate axis c height = height of the image, along TEM-y-coordinate axis c topnormal = normal of top specimen plane (specimen coordinates) c bottomnormal = normal of bottom specimen plane (specimen coordinates) c error = estimate of the integration error c disp_correction = .true. when you do not want the displacement vector c to exceed a certain value c max_disp_value = maximum allowed length of the displacement vector logical core_correction,disp_correction integer resx,resy real*8 thickness,width,height,error,max_disp_value real*8 topnormal(3),bottomnormal(3) c simulation parameters : only used internally c columnlength = thickness of specimen along a integration column c toppos = position of beginning of column c TEMthickness = specimen thickness measured through origin of TEM c coordinate system along TEM-z-axis. c HWV = Howie & Whelen equations in a real array format c The next variables are used when R is used instead of dRdZ. c za = z-position of sampled points along an integration column c gR = g.R at positions in za c dgR = spline coefficients used for calculating derivative c nos = number of sampled points in a column integer nos,max_nos real*8 columnlength,TEMthickness,toppos 248 real*8 HWV(4,4) real*8 za(max_samples),gR(max_samples),dgR(max_samples) c Finite element parameters: c blbc, trfc = bottom left back corner and top right front corner of finite c element data in external files integer max_nodes,max_elements,max_npe parameter (max_nodes=128000,max_elements=128000,max_npe=10) integer numofelements,numofnodes,nodes_per_element integer elemnode(max_elements,max_npe) real*8 blbc(3),trfc(3) real*8 nodepos(max_nodes,3),nodedisp(max_nodes,3), c elemp os(max_elements,3) c Block table variables: c block_div(3) = one-dimensional division rate for block table c max_epb = maximum elements per block. c block = the block table, position determined by first 3 indices and id c pointer = per block_id: numofelements in block c subdivided (1) or not (0) c rank c block_wire = for drawing the block afterwards with AVS c (only not subdivided blocks of course) c id_number c 1-6 : blbc and trfc c 7 : number of elements in block integer max_bdr,max_epb,max_id parameter (max_bdr=4,max_id=10000,max_epb=1000) integer block_div(3),next_free_id,good_blocksize,blocks_in_wire integer block(max_id,max_epb),pointer(max_id,max_bdr**3+3) real*8 block_wire c Zone parameters (zone defines Si or SiGe) integer zone real*8 material_par(10,5) integer material_nr(max_elements) c Result variables c tt = bright field intensity distribution c ss = dark field intensity distribution c mincor = minimum distance from dislocation core for a column 1 real*8 tt(maxresx,maxresy),ss(maxresx,maxresy), mincor(maxresx,maxresy) c Visualization parameters logical visualize integer visual_resolution,vr3 parameter (visual_resolution=64,vr3=64*64*64) real*8 Rx(visual_resolution),Ry(visual_resolution), c Rz(visual_resolution),R(visual_resolution), c dgRV(visual_resolution), c VRx(vr3),VRy(vr3),VRz(vr3),VR(vr3),VdgRV(vr3),Vco(vr3), c minRx,maxRx,minRy,maxRy,minRz,maxRz,minR,maxR,mindgR,maxdgR c Material_data variables added by jjd 6/23/97 to allow simcon to c calculate for more than just one material. This will allow simcon 249 c to handle up to 10 different materials crystalline, amorphous, or c polycrystalline based on the assigned material number from the c ansys input file elem.node. The crystal* variable is logical in c that if it is defined as .true. then simcon will treat all elements c with that material number as crystalline. If it is .false. then c simcon will calculate a uniform intensity based on the supplied c density of the material. These are all specified in the 'input' c file. c integer crystal1,crystal2,crystal3,crystal4,crystal5, c c crystal6,crystal7,crystal8,crystal9,crystal10 c real*8 matdens1,matdens2,matdens3,matdens4,matdens5, c c matdens6,matdens7,matdens8,matdens9,matdens10,mat cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c End of Part One. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc A.12 simcon.EDCI cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Part Seven : c This is the main loop of the EDCI simulation cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c call prefield(nodedispunit,nodeposunit, elemnodeunit,nodedispfile,nodeposfile,elemnodefile) if (calculate_image) then c multimaterials addition jjd/kj====================================== c Determining material parameters dependent on ANSYS material number c Memorizing default material (Si) material_par(1,1) = exdi material_par(1,2) = noabs material_par(1,3) = anabs material_par(1,4) = w material_par(1,5) = 1 c multimaterials addition jjd/kj====================================== write (nout,*) write (nout,*) 'entering calculation loop ...' do 71 y = 1,resy do 72 x = 1,resx locator = x + ( resx * ( y - 1 ) ) TEMxyz(1) = (dfloat(x - 1)*width)/dfloat(resx - 1) TEMxyz(2) = (dfloat(y - 1)*height)/dfloat(resy - 1) TEMxyz(1) = TEMxyz(1) - translation(1) TEMxyz(2) = TEMxyz(2) - translation(2) call thick(TEMxyz(1),TEMxyz(2),TEMtopnormal, c TEMbottomnormal,TEMthickness,columnlength,toppos) c toppos must be added, translation3atorigin subtracted (see also c sample_col_var routine 250 c multimaterials addition jjd/kj====================================== c Determining material parameters dependent on ANSYS material number c Determining ANSYS material number of the element where the column starts zone = determine_zone(TEMxyz(1),TEMxyz(2)) c Retrieving material parameters for this material call determine_mat_par(zone,material_par, c exdi,noabs,anabs,w,TEMxyz(1),TEMxyz(2)) c multimaterials addition jjd/kj====================================== c c c if (zone.ne.idint(material_par(1,5)).and. zone.ne.idint(material_par(2,5))) then call fix_intensities(material_par,zone, tt(x,y),ss(x,y)) else translation(3) = translation3atorigin - toppos if (disp_from_disc) then call read_column(locator,columnlength,za,gR,dgR,nos,ma x_samples) else call sample_col_var(columnlength,za,gR,dgR, max_samples,nos) if (save_on_disc) then call save_column(locator,columnlength,za,gR,dgR,nos,max_samples) endif endif max_nos=max(max_nos,nos) call howe(tt(x,y),ss(x,y)) endif cccc if (tt(x,y).gt.1.000001) then write (nout,*) 'TT : ',tt(x,y) write (nout,*) 'SS : ',ss(x,y) write (nout,*) 'x,y : ',x,y pause'error - overflow' write (nout,*) 'Setting TT=1 and SS=0' tt(x,y) = 1.d0 ss(x,y) = 0.d0 elseif ((tt(x,y).gt.1.0).or.(ss(x,y).gt.1.0)) then write (nout,*) 'warning :' write (nout,*) 'TT : ',tt(x,y) write (nout,*) 'SS : ',ss(x,y) write (nout,*) 'x,y : ',x,y endif if (tt(x,y).lt.-0.000001) then write (nout,*) 'TT : ',tt(x,y) write (nout,*) 'SS : ',ss(x,y) write (nout,*) 'x,y : ',x,y pause'error - overflow' write (nout,*) 'Setting TT=0 and SS=1' tt(x,y) = 0.d0 ss(x,y) = 1.d0 elseif ((tt(x,y).lt.0.0).or.(ss(x,y).lt.0.0)) then write (nout,*) 'warning :' 251 write (nout,*) 'TT : ',tt(x,y) write (nout,*) 'SS : ',ss(x,y) write (nout,*) 'x,y : ',x,y endif 72 continue progress = 100. * float(y)/float(resy) call percentage_done(progress) 71 continue write (nout,*) '... ok!' write (nout,*) 'Maximum samples used along a column: ',max_nos endif cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c End of Part Seven. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc A.13 simcon.input cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Part Four : c Executable Statements c Reading Initial Input, checking consistency and opening standard external c files cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c interactive input : the name of the input file containing the initial data c c write (6,*) 'Enter name of file containing initial input list :' read (5,*) infile infile = 'input' if (nout.ne.6) then open (UNIT=nout,FILE='simcon.out',STATUS='NEW') endif c opening file containing initial input, reading input and closing file open (UNIT=infile_unit,FILE=infile,STATUS='OLD') read (1,imagein) write (nout,*) 'imagein read succesfully' read (1,coordinate_systems) write (nout,*) 'coordinate_sytems read succesfully' read (1,fe_file_data) write (nout,*) 'fe_file_data read succesfully' ccccccccccccccccccccccccccccccccjjd c read (1,material_data) c write (nout,*) 'material_data read succesfully' cccccccccccccccccccccccccccccccc close (UNIT=infile_unit,STATUS='KEEP') 252 c checking initial input on consistency if (save_on_disc.and.disp_from_disc) then write (nout,*) c 'There is not much sence in saving and using from disc' write (nout,*) 'at the same time, exiting dummy!' stop endif if (resx.gt.maxresx) stop'resx above maximum limit.' if (resy.gt.maxresy) stop'resy above maximum limit.' c c c c def_test = ((dfloat(resx)/dfloat(resy)) - width/height)/ (width/height) if (dabs(def_test).ge.5.d-2) then write (nout,*) 'Warning : Resolution does not fit with specimensize,' write (nout,*) 'The resulting deformation is', 100.e0*real(def_test),' %' pause else write (nout,*) 'Image deformation is', 100.e0*real(def_test),' %' endif c g must be perpendicular to B ... call normalize(B) call normalize(g) if (dot(B,g).ne.0.d0) then write (nout,*) 'Warning:' write (nout,*) 'B is not exactly perpendicular to g,' write (nout,*) 'B . g = ',dot(B,g) endif c nodes_per_element must be >0 if (nodes_per_element.eq.0) stop'nodes_per_element must be > zero' c Consistency of block table: if (good_blocksize.eq.0) then write (6,*) write (6,*) 'Values set for 2D Finite Element Mesh.' write (6,*) else if (good_blocksize.lt.2) then stop'Your blocksize preferences are doubtfull.' endif if (block_div(1).eq.0) stop'[MAIN]:block_div cannot be zero.' if (block_div(2).eq.0) stop'[MAIN]:block_div cannot be zero.' if (block_div(3).eq.0) stop'[MAIN]:block_div cannot be zero.' if (block_div(1).gt.max_bdr) then if (block_div(2).gt.max_bdr) then if (block_div(3).gt.max_bdr) then write (nout,*) '[MAIN]:block_div > ',max_bdr stop'Fatal error.' endif 253 endif endif endif c opening input files if (core_correction) then c recordlength set for real*8 on Sun Sparc Station 10 recordlength = 8*resx open (UNIT=corefile_unit,FILE=corefile,ACCESS='DIRECT', c RECL=recordlength,STATUS='UNKNOWN') endif c opening output files c recordlength set for real*8 on Sun Sparc Station 10 C intfile='intensity_file' if (calculate_image) then recordlength = 8*resx open (UNIT=outfile_unit,FILE=outfile,STATUS='NEW', 1 ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=darkfile_unit,FILE=darkfile,STATUS='NEW', 1 ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') C open (UNIT=intfile_unit,FILE=intfile,STATUS='NEW', C 1 ACCESS='SEQUENTIAL',RECL=recordlength) endif 1 1 1 1 1 1 if (visualize) then recordlength = 4*vr3 open (UNIT=Rxfile_unit,FILE=Rxfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=Ryfile_unit,FILE=Ryfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=Rzfile_unit,FILE=Rzfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=Rfile_unit,FILE=Rfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=dgRfile_unit,FILE=dgRfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=reference_unit,FILE=referencefile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') endif szafile='sampled_z' sgRfile='sampled_gR' sdgRfile='sampled_dgR' snosfile='sampled_nos' za_unit=sza_unit gR_unit=sgR_unit dgR_unit=sdgR_unit nos_unit=snos_unit if (save_on_disc) then if (max_samples_used.eq.0) then stop'Error: max_samples_used not defined in input file' endif 254 1 1 1 1 1 1 1 1 recordlength = 8*max_samples_used open (UNIT=za_unit,FILE=szafile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=gR_unit,FILE=sgRfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=dgR_unit,FILE=sdgRfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') recordlength = 4 open (UNIT=nos_unit,FILE=snosfile,STATUS='NEW', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') elseif (disp_from_disc) then recordlength = 8*max_samples_used open (UNIT=za_unit,FILE=szafile,STATUS='OLD', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=gR_unit,FILE=sgRfile,STATUS='OLD', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') open (UNIT=dgR_unit,FILE=sdgRfile,STATUS='OLD', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') recordlength = 4 open (UNIT=nos_unit,FILE=snosfile,STATUS='OLD', ACCESS='DIRECT',RECL=recordlength,FORM='UNFORMATTED') endif cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c End of Part Four. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc A.14 simcon.namelists cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Part Three : c Setting input and output namelists cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Initial input namelist /imagein/ c Experimental Parameters : d,exdi,w,noabs,anabs,g c Simulation Parameters : resx,resy,thickness,topnormal, c bottomnormal,core_correction,error c Model Parameters : particle_radius,misfit, c External Files : outfile,corefile namelist /imagein/ d,exdi,w,noabs,anabs,g, 1 resx,resy,thickness,topnormal,bottomnormal, 2 core_correction,error,disp_correction,max_disp_value, 3 calculate_image,outfile,corefile,darkfile, 4 visualize,Rxfile,Ryfile,Rzfile,Rfile,dgRfile,referencefile, 5 save_on_disc,disp_from_disc,max_samples_used, 6 material_par c Coordinate systems namelist /coordinate_systems/ c This namelist containes all data concerning the definition of the 255 c coordinate systems c All vectors are given with respect to the crystal system, unless c specified c namelist /coordinate_systems/ B,TEMx,F,modx_spec, mody_spec,modz_spec,z_translation_spec,height,width,pos_choice namelist /fe_file_data/ nodes_per_element,block_div, c nodedispfile,nodeposfile,elemnodefile,good_blocksize c This namelist was added by jjd 6/23/97 to allow simcon to handle c more than one material at a time. The crystal* variables are logical c to allow for the option of calculating the EDCI based on a single c crystalline material, while the matdens* variables allow for the c treatment of polycrystalline and amorphous materials based on their c respective densities. c c c c namelist /material_data/ crystal1,crystal2,crystal3,crystal4, c crystal5,crystal6,crystal7,crystal8,crystal9,crystal10, c matdens1,matdens2,matdens3,matdens4,matdens5,matdens6, c matdens7,matdens8,matdens9,matdens10 cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c End of Part Three. cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc A.15 simcon_fe_mm.compile.library rm simcon_main.f F77=f77 F77COMPOPT=-c SIMCONHOME=/lv1/users/jj2de/simcon cat simcon.declarations simcon.commonblocks simcon.namelists simcon.input \ simcon.coordinates simcon.initialize simcon.EDCI simcon.visualize \ simcon.output > simcon_main.f ${F77} ${F77COMPOPT} simcon_main.f ${F77} ${F77COMPOPT} betaa.f ${F77} ${F77COMPOPT} determine_mat_par.f ${F77} ${F77COMPOPT} determine_zone.f ${F77} ${F77COMPOPT} dfield_gR_s.f ${F77} ${F77COMPOPT} distance.f ${F77} ${F77COMPOPT} distance3D.f ${F77} ${F77COMPOPT} dsplint.f ${F77} ${F77COMPOPT} fix_intensities.f ${F77} ${F77COMPOPT} heapsort.f ${F77} ${F77COMPOPT} reorder.f ${F77} ${F77COMPOPT} s_c_f_r.f ${F77} ${F77COMPOPT} s_c_v.f ${F77} ${F77COMPOPT} spline.f ${F77} ${F77COMPOPT} splint.f rm simcon_fe_mm.a rm simcon.a ln ${SIMCON_HOME}/source/simcon_basic_subroutines/simcon.a . ar x simcon.a 256 ar cr simcon_fe_mm.a simcon_main.o betaa.o \ determine_mat_par.o determine_zone.o \ dfield_gR_s.o distance.o \ distance3D.o dsplint.o fix_intensities.o heapsort.o reorder.o s_c_f_r.o \ s_c_v.o spline.o splint.o bsstep.o check_perp.o cofac.o compv.o cosin.o \ cross.o derivs.o det.o dot.o equalize.o equalvec.o howe.o initstep.o \ ludcmp-lubksb.o mat.o mmid.o norm.o normalize.o odeintbs.o odeintrk.o \ opl_stel.o pos_image.o pvect.o rk5.o rkqc.o rzextr.o thick.o transpose3.o \ perc_done.o read_col.o save_col.o if [ `${SIMCON_HOME}/etc/hosttype` != "SUN5" ] then ranlib simcon_fe_mm.a fi rm *.o exit A.16 simcon_fe_mm_3D #! /bin/sh echo "You are now running simcon_fe_mm_3D" sleep 1 while [ "$choice" != "exit" ] do clear echo if [ `${SIMCON_HOME}/etc/hosttype` = "SUN5" ] then banner simcon_fe_mm_3D fi echo echo " ansys : ANSYS preprocessing for SIMCON" echo " systus : SYSTUS preprocessing for SIMCON" echo " crin : Create and empty input parameters file" echo " edin : Edit the input parameters file" echo " coin : Copy the input parameters from an external file" echo " sain : Save the input parameters to an external file" echo " run : Run simcon_fe_mm_3D" echo " batch : Run simcon_fe_mm_3D in background" echo " save : Save results" echo " exit : Exit from simcon_fe_mm_3D" read choice case $choice in ansys) ${SIMCON_HOME}/ANSYS_preprocessor_mm_3D;; systus) ${SIMCON_HOME}/SYSTUS_preprocessor_mm_3D;; crin) cp ${SIMCON_HOME}/source/simcon_fe_mm_3D/ANSYS/input $CWD; chmod u+w input;; edin) vi input;; coin) echo "Enter the name of the file to be read from:" read simcon_da_inputfile; cp -i $simcon_da_inputfile input;; sain) echo "Enter the name of the file to be saved on:" read simcon_da_inputfile; cp -i input $simcon_da_inputfile;; run) rm -f R Rx Ry Rz dgR bright dark coordinates.reference; ${CWD}/simcon_fe_mm_3D_exec; 257 echo "[Type return to continue]"; read x;; batch) rm -f R Rx Ry Rz dgR bright dark coordinates.reference; echo "Enter logfile:"; read logfile; nohup simcon_fe_mm_3D_exec ">& $logfile" & echo "[Hit Return to Continue]"; read x;; save) ${SIMCON_HOME}/SaveResults; echo "[Type return to continue]"; read x;; dir) ls -l ${CWD} | more; echo [Hit return to continue]; read x;; exit) echo "Exiting from simcon_fe_mm_3D ...";; *) echo "Error: invalid choice.";; esac sleep 1 done A.17 ssimcon #! /bin/sh if [ "$1" = "" ] then echo "Use: ssimcon [directory name]" echo " USE FULL PATHNAME!!" exit fi # set security for simcon to readonly # chmod 500 $1 cd $1 find $1 -type d -exec chmod 500 {} \; find $1 -type f -exec chmod 400 {} \; chmod 500 ANSYS_preprocessor ####jjd chmod 500 ANSYS_preprocessor_mm chmod 500 ANSYS_preprocessor_mm_3D ####jjd chmod 500 PostSIMCON chmod 500 Resume chmod 500 SaveResults chmod 500 simcon chmod 500 simcon_da chmod 500 simcon_da_mm chmod 500 simcon_disp chmod 500 simcon_fe ####added by jjd chmod 500 simcon_fe_mm chmod 500 simcon_fe_mm_3D ####jjd chmod 500 ${SIMCON_HOME}/source/Post/PostAVS/AVSsetupscript chmod 100 source/Post/qms chmod 100 source/Post/sim2gif 258 if [ -r "source/Post/xv" ] then chmod 100 source/Post/xv fi chmod 100 source/Post/PostAVS/S2A chmod 100 source/Post/PostAVS/S2A_3D chmod 500 etc/hosttype chmod 500 etc/global700 find $1/demo -type d -exec chmod 700 {} \; find $1/demo -type f -exec chmod 600 {} \; chmod 500 $1/ssimcon chmod 500 $1/getruncopy 259 APPENDIX B: MULTI-MATERIAL MINIMIZATION AND INTERPOLATION SOURCE CODE program powell CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC main program CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C Program powell basically sets up the situation to call pow (subroutine C powell from Numerical Recipes). C N = number of variables in the function, FUNC. If there are 6 C materials in the system under study, N=6 C NP = the physical dimensions of the initial XI matrix. NP = N C P is the initial starting point of the program and is a vector of length N C Additionally P acts as the current query point for the program and the C location of the interpolation calculation. P is also the returned stress C minimizing location. C FTOL is the fractional tolerance in the function value such that failure to C decrease by more than this amount on one iteration signals doneness. integer N,NP real XI(3,3),P(3) real FTOL N=3 NP = 3 FTOL=0.00001 C Building P: the initial starting point that is a vector of length N C Best results obtained if initial guess of P(N) is close to actual C global minimum C C C 10 do 10 J=1,N P(J)=0.2 continue P(1)=0.1 P(2)=0.1 P(3)=0.1 C Building initial matrix XI(N,N) whose logical dimensions are N by N, physical C dimensions NP by NP, and whose columns contain the initial set of directions C (usually the N unit vectors) do 12 K=1,N do 13 L=1,N if (K .eq. L) then XI(K,L) = 0.1 260 13 12 else XI(K,L) = 0.0 endif continue continue C calling subroutine to perform calculation: call pow(P,XI,N,NP,FTOL,ITER,FRET) C printing results to screen: print *, 'The number of iterations taken:' print *, ITER print * print *, 'Returned function value at P:' print *, FRET print * print *, 'Minimization occurs at P, and P is:' print '(3(1X,F9.6))', P print * print *, 'XI (last direction set) is:' print '(3(1X,F9.6))', XI end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC end main CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC start powell minimization program CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCC start pow CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC subroutine pow(P,XI,N,NP,FTOL,ITER,FRET) C Minimization of a function FUNC of N variables. (FUNC is not an argument C it is a fixed function name.) Input consists of an initial starting point P C that is a vector of length N; an initial matrix XI whose logical dimensions C are N by N, physical dimensions NP by NP, and whose columns contain the C initial set of directions (usually the N unit vectors); and FTOL, the C fractional tolerance in the function value such that failure to decrease C by more than this amount on one iteration signals doneness. On output, C P is set to the best point found, XI is the then-current direction set, C FRET is the returned function value at P, and ITER is the number of iterations C taken. The routine LINMIN is used. This subroutine was taken from Numerical Recipes. parameter (NMAX=20,ITMAX=200) C Maximum expected value of N and maximum allowed iterations dimension P(NP),XI(NP,NP),PT(NMAX),PTT(NMAX),XIT(NMAX) FRET=FUNC(P) C Saving the initial point 261 11 do 11 J=1,N PT(J) = P(J) continue ITER = 0 1 ITER = ITER + 1 FP = FRET IBIG = 0 DEL = 0 C Will be the biggest function decrease. In each iteration, loop over all C directions in the set. Copy the direction. 12 do 13 I=1,N do 12 J=1,N XIT(J) = XI(J,I) continue FPTT = FRET C Calling LINMIN to minimize along function and record it if it is the largest decrease so far call linmin(P,XIT,N,FRET) if (abs(FPTT-FRET) .gt. DEL) then DEL = abs(FPTT-FRET) IBIG = I endif 13 continue C Termination criterion if (2.*abs(FP-FRET) .le. FTOL*(abs(FP)+abs(FRET))) return if (ITER .eq. ITMAX) pause 'Powell exceeding maximum iterations.' C Construct the extrapolated point and the average direction moved. Save the old starting point 14 do 14 J=1,N PTT(J)=2.*P(J)-PT(J) XIT(J)=P(J)-PT(J) PT(J)=P(J) continue C Function value at extrapolated point. FPTT = FUNC(PTT) C One reason not to use new direction if (FPTT .ge. FP) go to 1 T=2.*(FP-2.*FRET+FPTT)*(FP-FRET-DEL)**2-DEL*(FP-FPTT)**2 C Other reason not to use new direction if (T .ge. 0.) go to 1 C Move to the minimum of the new direction and save the new direction 262 15 call linmin(P,XIT,N,FRET) do 15 J=1,N XI(J,IBIG)=XIT(J) continue C Back for another iteration go to 1 end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC end of pow CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC function FUNC(P) C This function takes the point P in N dimensional space and evaluates it C based on the interpolation subroutine obtained from Numerical Recipes. dimension P(3) real y call interpolation(P,y) FUNC = y return end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCC end of function FUNC CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCC start interpolation function CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC subroutine interpolation(P,y) C This is used to find the interpolated value (y) of FUNC(P) in multidimensional space C for the independent stress minimization process. Where P is an array describing C the location in multidimensional space. C The array data(j,k,...) (ya(j,k,...) in numerical recipes) are the functional measured values C where j varies from 1 to m and k varies from 1 to n, etc. C Also necessary are the arrays x1a of length m and array x2a of length n such that C data(j,k)=y(x1a(j),x2a(k)). These arrays (more for more dimensions) describe the C grid over which the data was obtained. In other words, x1a x2a etc define the spacing C between the obtained data points. If the first data point is at (0,0) and the second is at C (0.2,0.2), x1a and x2a are arrays of length 2 consisting of (0.0,0.2). 'data' has 4 values C in the file evaluated at (0.0,0.0 0.0,0.2 0.2,0.0 and 0.2,0.2) thus allowing interpolation C within the extent of the data set. dimension P(3) C Variable declarations integer m,mr,n real x1a(5),x2a(5),x3a(5),ya(5,5,5) 263 real data(5,5,5) real dy real x1,x2,x3 m=5 n=5 mr = 5 C Opening data files to create data array: open (UNIT=15, FILE='data', STATUS='OLD') C Reading and storing data files in data array C Data file should be set up such that m and n provide the primary grid C plane (columns and rows of data file) and r is the repeat index corresponding C to a step on the third axis C i = column number, j = row number, k = rank number read (15, *) (((data(i,j,k), i=1,m), j=1,n), k=1,mr) close (15) i=0 j=0 k=0 l=0 C Creating grid of data points--defining data point location C In other words the spacing between data points along each dimensional C axis of the grid... 10 do 10 j=1,m x1a(j)=(j*0.25)-0.25 continue 15 do 15 k=1,n x2a(k)=(k*0.25)-0.25 continue 16 do 16 l=1,mr x3a(l)=(l*0.25)-0.25 continue C likewise for additional dimensions... C Creating the x1,x2,etc data for polin2...which are the values of P C Thus polin2 returns an estimate, by interpolation of the function y C at x1,x2,etc... C xi=P(i) x1=P(1) x2=P(2) x3=P(3) call polin2(x1a,x2a,x3a,data,m,n,mr,x1,x2,x3,y,dy) 264 end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC end interpolation CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC start polin2 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC subroutine polin2(x1a,x2a,x3a,ya,m,n,mr,x1,x2,x3,y,dy) C Given arrays x1a (length m) and x2a (length n) of independent variables etc., and an (m,n,r) C array of function values ya, tabulated at the grid points defined by x1a x2a x3a etc.; and C given values x1 x2 x3 etc of the independent variables; this routine returns an interpolated C function value y, and an accuracy indication dy (based only on the interpolation in the C x1 direction, however). C x1 x2 x3 etc are the incoming points (P) to be calculated parameter (nmax=20,mmax=20,mrmax=20) C Maximum expected values of n and m, change as desired dimension x1a(m),x2a(n),x3a(mr),ya(m,n,mr),yntmp(nmax) dimension ymtmp(mmax),yrtmp(mrmax) C Loop over indexes do 12 j=1,m do 11 k=1,n do 10 l=1,mr C Note rmax parameter may need to be adjusted if increasing dimensions of array to allow for C increased size of yrtmp(l) yrtmp(l)=ya(j,k,l) 10 continue call polint(x3a,yrtmp,mr,x3,yntmp(k),dy) C print *, yntmp(k) 11 continue call polint(x2a,yntmp,n,x2,ymtmp(j),dy) 12 continue call polint(x1a,ymtmp,m,x1,y,dy) return end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC end polin2 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC start polint CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 265 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC subroutine polint(xa,ya,n,x,y,dy) C Given arrays xa and ya, each of length n, and given a value x, this routine returns a C value y, and an error estimate dy. If P(x) is the polynomial of degree n-1 such that C P(xai)=yai, i=1,...,n, then the returned value y = P(x). C Change nmax as desired to be the largest anticipated value of n. parameter (nmax=20) dimension xa(n),ya(n),c(nmax),d(nmax) ns=1 dif=abs(x-xa(1)) C Here we find the index ns of the closest table entry do 11 i=1,n dift=abs(x-xa(i)) if (dift .lt. dif) then ns=i dif=dift endif C And initialize the tableau of c's and d's 11 c(i)=ya(i) d(i)=ya(i) continue C This is the initial approximation to y y=ya(ns) ns=ns-1 C For each column of the tableau, we loop over the current c's and d's and update them do 13 m=1,n-1 do 12 i=1,n-m ho=xa(i)-x hp=xa(i+m)-x w=c(i+1)-d(i) den=ho-hp C This error can occur only if two input xa's are (to within roudoff) identical if (den .eq. 0.) pause 'Minimum may be on grid point' den=w/den C Here the C's and D's are updated d(i)=hp*den c(i)=ho*den 12 continue 266 C After each column in the tableau is completed, we decide which correction, C or D, we C want to add to our accumulating value of y, i.e. which path to take through the C tableau--forking up or down. We do this in such a way as to take the most 'straight-line' C route through the tableau to its apex, updating ns accordingly to keep track of where C we are. this route keeps the partial approximations centered (insofar as possible) on C the target x. The last dy added is thus the error indication. 13 if (2*ns .lt. n-m) then dy=c(ns+1) else dy=d(ns) ns=ns-1 endif y=y+dy continue return end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC end polint CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCC end interpolation code CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCC start linmin CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC subroutine linmin(P,XI,N,FRET) C Given an N dimensional point P and an N dimensional direction XI, moves and resets P C to where the function FUNC(P) takes on an minimum along the direction XI from P, and C replaces XI by the actual vector displacement that P was moved. Also returns as FRET C the value of FUNC at the returned location P. This is actually al accomplished by calling C the routines MNBRAK and BRENT. Taken from Numerical Recipes. parameter (NMAX=50,TOL=1.E-4) C Maximum anticipated N and TOL passed to BRENT external F1DIM dimension P(N),XI(N) common /F1COM/ NCOM,PCOM(NMAX),XICOM(NMAX) C Set up the common block 11 NCOM = N do 11 J=1,N PCOM(J)=P(J) XICOM(J)=XI(J) continue C Initial guess for brackets AX=0. XX=1. call mnbrak(AX,XX,BX,FA,FX,FB,F1DIM) 267 FRET=brent(AX,XX,BX,F1DIM,TOL,XMIN) C Construct the vector results to return 12 do 12 J=1,N XI(J)=XMIN*XI(J) P(J)=P(J)+XI(J) continue return end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC end linmin CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC start function F1DIM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC function F1DIM(X) C Must accompany linmin. Taken from Numerical Recipes. parameter (NMAX=6) common /F1COM/ NCOM,PCOM(NMAX),XICOM(NMAX) dimension XT(NMAX) 11 do 11 J=1,NCOM XT(J)=PCOM(J)+X+XICOM(J) continue F1DIM=FUNC(XT) return end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCC end function F1DIM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCC start mnbrak CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC subroutine mnbrak(AX,BX,CX,FA,FB,FC,FUNC) C Given a function FUNC, and given distinct initial points AX and BX, this routine searches C in the downhill direction (defined by the function as evaluated at the initial points and C returns new points AX, BX, CX which bracket a minimum of the function. Also returned C are the function values at the three points FA, FB, and FC. Taken from Numerical Recipes. parameter (GOLD=1.618034, GLIMIT=100., TINY=1.E-20) C The first parameter is the default ratio by which successive intervals are magnified; the C second is the maximum magnification allowed for a parabolic-fit step FA=FUNC(AX) FB=FUNC(BX) C Switch roles of A and B so that we can go downhill in the direction from A to B if(FB .gt. FA) then 268 DUM=AX AX=BX BX=DUM DUM=FB FB=FA FA=DUM endif C First guess for C CX=BX+GOLD*(BX-AX) FC=FUNC(CX) C Do while keep returning here until we bracket 1 if (FB .ge. FC) then C Compute U by parabolic extrapolation from A,B,C. TINY is used to prevent any possible division by zero R=(BX-AX)*(FB-FC) Q=(BX-CX)*(FB-FA) U=BX-((BX-CX)*Q-(BX-AX)*R)/(2.*sign(max(abs(Q-R),TINY),Q-R)) C We won't go farther than this. Now to test various possibilities ULIM=BX+GLIMIT*(CX-BX) C Parabolic U is between B and C: try it if ((BX-U)*(U-CX) .gt. 0.) then FU=FUNC(U) C Got a minimum between B and C if (FU .lt. FC) then AX=BX FA=FB BX=U FB=FU go to 1 C Which exits. Otherwise, have a minimum between A and U else if (FU .gt. FB) then CX=U FC=FU go to 1 endif C Parabolic fit was no use. Use default magnification U=CX+GOLD*(CX-BX) FU=FUNC(U) C Parabolic fit is between C and its allowed limit 269 else if ((CX-U)*(U-ULIM) .gt. 0.) then FU=FUNC(U) if (FU .lt. FC) then BX=CX CX=U U=CX+GOLD*(CX-BX) FB=FC FC=FU FU=FUNC(U) endif C Limit parabolic U to maximum allowed value else if ((U-ULIM)*(ULIM-CX) .ge. 0.) then U=ULIM FU=FUNC(U) C Reject parabolic U, use default magnification else U=CX+GOLD*(CX-BX) FU=FUNC(U) endif C Eliminate oldest point and continue AX=BX BX=CX CX=U FA=FB FB=FC FC=FU go to 1 endif return end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC end mbrak CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC start brent CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC function brent(AX,BX,CX,F,TOL,XMIN) C Given a function F and given a bracketing triplet of abscissas AX, BX, CX (such that BX is C between AX and CX and F(BX) is less than both F(AX) and F(CX)), this routine isolates C the minimum to a fractional precision of about TOL using Brent's method. The abscissa of C the minimum is returned as XMIN, and the minimum function value is returned as BRENT, C the returned function value. parameter (ITMAX=100,CGOLD=0.3819660,ZEPS=1.0E-10) C Maximum allowed number of iterations; golden ratio; and a small number which protects C against trying to achieve fractional accurate for a minimum that happens to be exactly C zero 270 C A and B must be in ascending order, though the input abscissas need not be + initializations A=MIN(AX,CX) B=MAX(AX,CX) V=BX W=V X=V C This will be the distance moved on the step before last E=0. FX=F(X) FV=FX FW=FX C Main program loop do 11 ITER=1,ITMAX XM=0.5*(A+B) TOL1=TOL*abs(X)+ZEPS TOL2=2.*TOL1 C Test for done here. Construct a trial parabolic fit. c if (abs(X-XM) .le. (TOL2-0.5*(B-A))) goto 3 if (abs(E) .gt. TOL1) then R=(X-W)*(FX-FV) Q=(X-V)*(FX-FW) P=(X-V)*Q-(X-W)*R Q=2.*(Q-R) if (Q .gt. 0.) P=-P Q=abs(Q) ETEMP=E E=D if (abs(P) .ge. abs(0.5*Q*ETEMP) .or. P .le. Q*(A-X) .or. P .ge. Q*(B-X)) goto 1 C The above condition determine the acceptability of the parabolic fit. Here it is ok. Take the parabolic step: D=P/Q U=X+D if (U-A .lt. TOL2 .or. B-U .lt. TOL2) D=sign(TOL1,XM-X) C Skip over the golden step goto 2 endif C We arrive here for a golden section step, which we take into the larger of the two segments 1 if (X .ge. XM) then E=A-X else E=B-X endif 271 C Take the golden section step D=CGOLD*E C Arrive here with D computed either from parabolic fit or else form golden section 2 if (abs(D) .ge. TOL1) then U=X+D else U=X+sign(TOL1,D) endif C This is the one function evaluation per iteration and then have to decide what to do with our function evaluation 11 3 FU=F(U) if (FU .le. FX) then if (U .ge. X) then A=X else B=X endif V=W FV=FW W=X FW=FX X=U FX=FU else if (U .lt. X) then A=U else B=U endif if (FU .le. FW .or. W .eq. X) then V=W FV=FW W=U FW=FU else if (FU .le. FV .or. V .eq. X .or. V .eq. W) then V=U FV=FU endif endif continue Pause 'Brent exceeded maximum iterations.' XMIN=X brent=FX return end CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC end brent CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC end powell code CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC end program CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 272 APPENDIX C: SUMMARY OF EXPERIMENTAL AND SIMULATION CONDITIONS Table 9: Summary of experimental and simulation conditions of the quantitative analyses presented Parameter Square Round Round Collector Collector Collector Emitter Quantum Shallow Shallow Shallow Contact Contact Contact (No Isolatio Isolation Isolation (Full (No W Backend n Trench Trench Structure) Via) Processing 200 200 200 200 200 200 200 200 120 120 120 120 120 120 120 120 50-100 50-100 50-100 50-100 50-100 50-100 50-100 50-100 Zone Axis 011 011 011 011 011 011 011 011 g 400 022 400 400 400 400 400 400 B 011 011 011 011 011 011 011 011 F 0, 0, 0.885, 0, 1.018, 0, 0.9657, 0, 1.0, 0, 1.192, 0, 1.0, 0, 0.839, 0.932, 0.983 1.0913 0.8541 0.8541 0.9657 0.9004 1.11 Dot Trench Accelerating Voltage (kV) Condenser Aperture (µm) Objective Aperture # (µm) 1.072 w 0.372 1.02 1.398 1.37 1.82 2.7 1.366 1.136 Camera 100 100 100 100 100 100 100 100 280 220 220 280 370 240 280 42 CBED CBED CBED CBED CBED CBED CBED Log- Length (cm) TEM Sample Thickness (nm) Thickness Measurement Ratio Technique ξg (nm) 186.9 111.6 186.9 186.9 186.9 186.9 186.9 96.3 273 Anabs 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 0.0222 Top normal 001 001 001 001 001 001 001 001 Bottom 001 001 001 001 001 001 001 001 15000 15000 15000 15000 15000 15000 15000 15000 0.1356 0.192 0.1356 0.1356 0.1356 0.1356 0.1356 0.1413 Noabs * * normal Approx. Max Counts Per Pixel in CCD Image dg (nm) * # Defined in section 3.2.3.1.1 Middle objective aperture on JEOL 2000 FXII 274 REFERENCES 1. ANSYS, Inc. Southpointe, 275 Technology Drive, Canonsburg, PA 15317. 2. Janssens, K. G. F. Localized Strain Characterization Using Electron Diffraction Contrast Imaging. Leuven. 1996. 3. Janssens, K. G. F. Assessment of the Quantitative Characterization of Localized Strain Using Electron Diffraction Contrast Imaging. Ultramicroscopy. 69, 151 (1997). 4. Hirsch, P. B. et al. Electron Microscopy of Thin Crystals. Butterworths: Washington. 1965. 5. Hirth, J. and J. Lothe. Theory of Dislocations. Krieger Publishing Co.: Florida 1982. 6. Hu, S. A Method for Finding Critical Stresses of Dislocation Movement. Applied Physics Letters. 31, 139 (1977). 7. Hu, S. Stress-Related Problems in Silicon Technology. J. of Applied Physics. 70 R53 (1991). 8. Dutton, R. SUPREM. suprem4@gloworm.stanford.edu. AEL 113, Stanford University, Stanford, CA 94306-4055. 9. Solak, H., et al. Measurement of Strain in Al-Cu Interconnect Lines with X-ray Microdiffraction. J. of Applied Physics. 86, 884 (1999). 10. Anastassakis, E. et al. Effect of Static Uniaxial Stress on the Raman Spectrum of Silicon. Solid State Communications. 8, 133 (1970). 275 11. Mohrbacher, H., et al. Comparative Measurement of Residual Stress in Diamond Coatings by Low-Incident-Beam-Angle-Diffraction and Micro-Raman Spectroscopy. J. Material Research Bulletin. 11, 1776 (1996). 12. Vanhellemont, J., et al., On the Assessment of Local Stress Distributions in Integrated Circuits. Applied Surface Science. 63, 119 (1993). 13. Spence, J. and J. Zuo. Electron Microdiffraction. Plenum Press: New York. 1992. 14. Spence, J. and J. Zuo. Quantitative Convergent Beam Electron Diffraction. MSA Bulletin. 23, 80 (1993). 15. Cherns, D. and A. Preston. Convergent Beam Diffraction Studies of Interfaces, Defects, and Multilayers. Journal of Electron Microscopy Techniques. 13, 111 (1989). 16. Robertson, M. et al. Determination of Elastic Strains in Epitaxial Layers by HREM. Ultramicroscopy. 58, 175 (1995). 17. Kisielowski, C. et al. Atomic Scale Aluminum and Strain Distribution in a GaN/AlxGa1-xN Heterostructure. Materials Research Society Symposium Proceedings. 482, 369 (1998). 18. Tanaka, M. et al. Large-Angle Convergent-Beam Electron Diffraction. J. of Electron Microscopy. 29, 408 (1980). 19. Sze, S. Physics of Semiconductor Devices. John Wiley and Sons: New York, 1981. 20. Streetman, B. Solid State Electronic Devices. Prentice Hall: New Jersey, 1995. 21. Mayer, J. and S. Lau. Electronic Materials Science: For Integrated Circuits in Si and GaAs. Macmillan Publishing Co.: New York, 1990. 276 22. O’Reilly, E. Valence Band Engineering in Strained-Layer Structures. Semiconductor Science and Technology. 4, 121 (1989). 23. People, R. and J. Bean. Band Alignments of Coherently Strained GexSi1-x/Si Heterostructures on <001> GeySi1-y Substrates. Applied Physics Letters. 48, 538 (1986). 24. Niu, G. et al. SiGe Profile Design Tradeoffs for RF Circuit Applications. IEEE Transactions on Electron Devices. 47, 2037 (2000). 25. Gruhle, A. and A. Schuppen. Recent Advances with SiGe Heterojunction Bipolar Transistors. Thin Solid Films. 294, 246 (1997). 26. Ohue, E. et al. 100-GHz FT Si Homojunction Bipolar Technology. 1996 Symposium on VLSI Technology. 106 (1996). 27. Crabbe, E. et al. Vertical Profile Optimization of Very High Frequency Epitaxial Si and SiGe Base Bipolar Transistors. International Electron devices Meeting 1993. 83 (1993). 28. Harame, D. L., et al. Si/SiGe Epitaxial-Base Transistors—Part I: Materials, Physics, and Circuits. IEEE Transactions on Electron Devices. 42, 445 (1995). 29. Harame, D. L., et al. Si/SiGe Epitaxial-Base Transistors—Part II: Process Integration and Analog Applications. IEEE Transactions on Electron Devices. 42, 469 (1995). 30. Bhushan, B., et al. Stress in Silicon Dioxide Films Deposited Using Chemical Vapor Deposition Techniques and the Effect of Annealing on These Stresses. Journal of Vacuum Science and Technology B. 8, 1068 (1990). 277 31. Meyerson, B. S. Low-Temperature Silicon Epitaxy by Ultrahigh Vacuum/Chemical Vapor Deposition. Applied Physics Letters. 48, 797 (1986). 32. Drowley, C. I., et al. Model for Facet and Sidewall Defect Formation During Selective Epitaxial Growth of (001) Silicon. Applied Physics Letters. 52, 546 (1988). 33. People, R. and J. Bean. Calculation of Critical Layer Thickness Versus Lattice Mismatch for GexSi1-x /Si Strained-Layer Heterostructures. Applied Physics Letters. 47, 322 (1985). 34. Lang, D. V., et al. Measurement of the Band Gap of GeXSi1-X/Si Strained-Layer Heterostructures. Applied Physics Letters. 47, 1333 (1985). 35. Patton, G. L., et al. Physics, Technology, and Modeling of Polysilicon Emitter Contacts for VLSI Bipolar Transistors. IEEE Transactions on Electron Devices. ED33, 1754 (1986). 36. FIB 200 Series Workstation User’s Guide. FIE Company. Hillsboro, OR. 1994. 37. Orloff, J. High-Resolution Focused Ion Beams. Review of Scientific Instruments. 64, 1105 (1993). 38. Walker, J. and R. Broom. Surface Damage of Semiconductor TEM Samples Prepared by Focused Ion Beams. Microscopy of Semiconductor Materials Conference. IOP Publishing Ltd. 473 (1997). 39. Ishitani, T. et al. Implated Gallium-Ion Concentrations of Focused-Ion-Beam Prepared Cross Sections. Journal of Vacuum Science and Technology B. 16, 1907 (1998). 40. Kingham, D. and L. Swanson. Shape of a Liquid Metal Ion Source. Applied Physics A. 34, 123 (1984). 278 41. Kingham, D. and L. Swanson. A Theoretical Model of a Liquid Metal Ion Source. Vacuum. 34, 941 (1984). 42. Tao, T. et al. Focused Ion Beam Induced Deposition of Platinum. Journal of Vacuum Science and Technology B. 8, 1826 (1990). 43. Puretz, J. and L. Swanson. Focused Ion Beam Deposition of Pt Containing Films. Journal of Vacuum Science and Technology B. 10, 2695 (1992). 44. Young, R. and J. Puretz. Focused Ion Beam Insulator Deposition. Journal of Vacuum Science and Technology B. 13, 2576 (1995). 45. Egerton, R. Electron Energy –Loss Spectroscopy in the Electron Microscope. Plenum Press: New York. 1996 46. Williams, D. B. and C. B. Carter. Transmission Electron Microscopy. Plenum Press: New York. 1996. 47. JEOL JEM—2000FXII Electron Microscope Manual. JEOL Ltd. Japan 48. Gatan, Inc. 6678 Owens Drive, Pleaseanton, CA 94588-3344. 49. Gatan Instruction Manual Model 694: Retractable Slow-Scan CCD Camera. Gatan Inc. Warrendale, PA. 50. Allen, S. Foil thickness Measurements From Convergent-Beam Diffraction Patterns. Philosophical Magazine A. 43, 325 (1981). 51. Otten, M. Off-Line CBED Thickness Measurement Program. Phillips Electronics Optics—Applications Laboratory. 5600 MD Eindhoven, The Netherlands. 1993. 52. Kimoto, K. et al. Chemical Shift Mapping of Si L and K Edges Using Spatially Resolved EELS and Energy-Filtering TEM. Journal of Electron Microscopy. 46, 369 (1997). 279 53. Pepper, D. W. and J. C. Heinrich. The Finite Element Method: Basic Concepts and Applications. Hemisphere Publishing Corporation. 1992. 54. Pilkey, W. D. and W. Wunderlich. Mechanics of Structures: Variational and Computational Methods. CRC Press: Ann Arbor. 1994. 55. ANSYS Theory Manual. ANSYS Inc. 56. D. Lide, Handbook of Chemistry and Physics. CRC Press: London. 1994. 57. Jaccodine, R. and W. Schlegel. Measurement of Strains at Si-SiO2 Interface. Journal of Applied Physics. 37, 2429 (1966). 58. Whelan, M. et al. Residual Stresses at an Oxide-Silicon Interface. Applied Physics Letters. 10, 262 (1967). 59. Sunami, H. et al. Stress and Thermal-Expansion Coefficient of Chemical-VaporDeposited Glass Films. Journal of Applied Physics. 41, 5115 (1970). 60. Solak, H. et al. Measurement of strain in Al-Cu Interconnect Lines with X-ray Microdiffraction. Journal of Applied Physics. 86, 884 (1999). 61. Greenebaum, B. et al. Stress in Metal Lines Under Passivation; Comparison of Experiment with Finite Element Calculations. Applied Physics Letters. 58, 1845 (1991). 62. Besser, P. et al. An X-ray Method for Direct Determination of the Strain State and Strain Relaxation in Micron-scale Passivated Metallization Lines During Thermal Cycling. Journal of Materials Research. 9, 13 (1994). 63. Tabata, O. et al. Control of Internal Stress and Young’s Modulus of Si3 N4 and Polycrystalline Silicon Films Using the Ion Implantation Technique. Applied Physics Letters. 56, 1314 (1990). 280 64. Wang, H. F. et al. Two-Dimensional Finite Element Method Simulation of Vickers Indentation of Hardness Measurements on TiN-Coated Steel. Thin Solid Films. 214, 68 (1992). 65. Jongste, J. F. et al. Elastic Constants and Thermal Expansion Coefficient of Metastable C49 TiSi2 . Journal of Applied Physics. 73, 2816 (1993). 66. Hemmes, D. Properties of Titanium Silicide Films Deposited by Plasma-Enhanced Chemical Vapor Deposition. Journal of Vacuum Science and Technology B. 4, 1332 (1986). 67. Kawata, M. and T. Katoda. Characterization of Stress Generated in Polycrystalline Silicon During Thermal Oxidation by Laser Raman Spectroscopy. Journal of Applied Physics. 75, 7456 (1994). 68. Kawata, M. et al. Characterization of Stress in Doped and Undoped Polycrystalline Silicon Before and After Annealing or Oxidation with Laser Raman Spectroscopy. Journal of Electronic Materials. 19, 407 (1990). 69. Murarka, S. and T. Retzjczyk. Effect of Phosphorus Doping on Stress in Silicon and Polycrystalline Silicon. Journal of Applied Physics. 54, 2069 (1983). 70. Koleshko, V. et al. Stresses in Thin Polycrystalline Silicon Films. Thin Solid Films. 162, 365 (1988). 71. Floro, J. et al. The Dynamic competition Between Stress Generation and Relaxation Mechanisms During Coalescence of Volmer-Weber Thin Films. Journal of Applied Physics. 89, 4886 (2001). 72. Stoney, G. The Tension of Metallic Films Deposited by Electrolysis. Philosophical Transactions of the Royal Society of London, Series A. 82, 172 (1909). 281 73. Windt, D.L. et al. Variation in Stress with Background Pressure in Sputtered Mo/Si Multilayer Films. Journal of Applied Physics. 78, 2423 (1995). 74. Volkert, C. A. et al. Strain Relaxation in Ge0.09Si0.91 Epitaxial Thin Films Measured by Wafer Curvature. Journal of Electronic Materials. 20, 833 (1991). 75. Eringen, A. Linear Theory of Nonlocal Elasticity and Dispersion of Plane Waves. International Journal of Engineering Science. 10, 425 (1971). 76. Bradly, J. 1053 Floyd Terrace. Bryn Mawr, PA 19010. 1994. 77. Press, W. et al. Numerical Recipes: The Art of Scientific Computing. Cambridge University Press: New York. 1986. 78. Voss, R. et al. Influence of Doping on the Crystal Potential of Silicon Investigated by the Convergent Beam Electron Diffraction Technique. Zeitschrift Fur Naturforschung. 35a, 973 (1980). 79. AVS/Express. Advanced Visual Systems Inc. Waltham, MA. 1997. 80. Adobe Systems Incorporated. 345 Park Avenue. San Jose, CA. 1996. 81. Chen, Z. et al. Band Structure of Al/Si/n-type GaAs with a Strained Si Interfacial Layer. Physical Review B. 53, 3879 (1996). 82. Muraka, S. P. and D. B. Fraser. Thin Film Interaction Between Titanium and Polycrystalline Silicon. Journal of Applied Physics. 51, 342 (1980). 83. Vanhellemont, J., et al. Transmission Electron Diffraction Techniques for Nm Scale Strain Measurement in Semiconductors. Materials Research Society Symposium Proceedings. 405, 435 (1996). 84. Vanhellemont, J., et al. On the Assessment of Local Stress Distributions in Integrated Circuits. Applied Surface Science. 63, 119 (1993). 282 85. Desktop Microscopist 1.0. Virtual laboratories. Ukiah, CA. 86. Ross, F. and W. Stobbs. A Study of the Initial Stages of the Oxidation of Silicon Using the Fresnel Method. Philosophical Magazine A. 63, 1 (1991). 87. Ross, F. and W. Stobbs. Computer Modeling of Fresnel Contrast Analysis. Philosophical Magazine A. 63, 37 (1991). 88. Perovic, D. et al. Transmission Electron Microcopy of Elastic Relaxation Effects in Si-Ge Strained Layer Superlattice Structures. Journal of Vacuum Science and Technology A. 6, 1333 (1988). 89. Hull, R. Finite Element Analysis of Stress Relaxation in Thin Foil Plan-View Transmision Electron Microscopy Specimens. Applied Physics Letters. 63, 2291 (1993). 90. Moll, N. et al. Influence of Surface Stress on the Equilibrium Shape of Strained Quantum Dots. Physical Review B. 58, 4566 (1998). 91. Carlsson, N. et al. MOVPE Growth of InP/GaInAs and GaAs/GaInP Heterostructures for Electronic Transport Applications. Journal of Crystal Growth. 170, 127 (1997). 92. Williamson, A. and A. Zunger. InAs Quantum Dots: Predicted Electronic Structure of Free-Standing Versus GaAs-Embedded Structures. Physical Review B. 59, 15819 (1999). 93. Stier, O. et al. Electronic and Optical Properties of Strain Quantum Dots Modeled by 8-Band k• p Theory. Physical Review B. 59, 5688 (1999). 94. Davies, J. Elastic and Piezoelectric Fields Around a Buried Quantum Dot: A Simple Picture. Journal of Applied Physics. 84, 1358 (1998). 283 95. Benabbas, T. et al. Stress Relaxation in Highly Strained InAs/GaAs Structures as Studied by Finite Element Analysis and Transmission Electron Microscopy. Journal of Applied Physics. 80, 2763 (1996). 96. Sun, S. et al. Modeling Self-Assembled Quantum Dots by the Effective Bond-Orbital Method. Physical Review B. 62, 13631 (2000). 97. Swaminathan, V. and A. Macrander. Materials Aspects of GaAs and InP Based Structures. Prentice Hall: New Jersey. 1991. 98. Brozel, M. and G. Stillman. Properties of Gallium Arsenide. Inspec: London. 1996. 99. Fultz, B. and J. Howe. Transmission Electron Microscopy and Diffractometry of Materials. Springer: 2000. 100. Downes, J. et al. A Simple Method for Calculating Strain Distributions in Quantum Dot Structures. Journal of Applied Physics. 81, 6700 (1997). 101. Stoleru, V. G. and E. Towe, Proceedings of the 27th International Symposium on Compound Semiconductors, Monterey, CA, October 2000. 102. Pal, D. et al. Japanese Journal of Applied Phys. (2001)-submitted. 103. Stoleru, V. G. et al. Journal of Applied Physics (2001)-submitted. 104. Demarest, J. et al. Nanoscale Characterization of Stresses in Semiconductor Devices by Quantitative Electron Diffraction. Applied Physics Letters. 77, 412 (2000). 105. Liu, N. et al. Nonuniform Composition Profile in In0.5Ga0.5As Alloy Quantum Dots. Physical Review Letters. 84, 334 (2000). 284