D A

advertisement
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
Download