10 COLOR 15,0: CLS 20 PRINT "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» 30 PRINT "º SUM = Sums up ASCII outputs of TRIM calculation. º 40 PRINT "ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ 50 PRINT "º (C)-1989, J. F. Ziegler, IBM-Research, Yorktown, NY 10598 º 60 PRINT "ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ 70 C1$= "º Reading file VACANCY.TXT -- Distribution of Vacancies º 80 C2$= "º Reading file IONIZ.TXT -- Distribution of Ionization º 90 C3$= "º Reading file PHONON.TXT -- Distribution of Phonons º 100 C4$= "º Reading file E2RECOIL.TXT-- Distribution of Energy to Recoils.º 110 C5$= "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ 120 DIM DEPTH(100), VAC1(100), VAC2(100), IONIZ1(100), IONIZ2(100) 130 DIM PHONON1(100), PHONON2(100), E2REC1(100), E2REC2(100) 140 ' 150 'ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Getting VACANCY.TXT ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 160 OPEN "VACANCY.TXT" FOR INPUT AS #1 170 PRINT C1$ 180 J=1 ' This input style is used to 190 FOR I=1 TO 200 ' get rid of Comments in file. 200 A=EOF(1): IF A=-1 GOTO 250 210 LINE INPUT#1,A$ 220 A=VAL(MID$(A$,1,11)): B=VAL(MID$(A$,13,12)): C=VAL(MID$(A$,26,12)) 230 IF A>0 THEN DEPTH(J)=A: VAC1(J)=B: VAC2(J)=C: J=J+1 240 NEXT I : 250 CLOSE #1 260 'ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Getting IONIZ.TXT ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 270 OPEN "IONIZ.TXT" FOR INPUT AS #1 280 PRINT C2$ 290 J=1 ' This input style is used to 300 FOR I=1 TO 200 ' get rid of Comments in file. 310 A=EOF(1): IF A=-1 GOTO 360 320 LINE INPUT#1,A$ 330 A=VAL(MID$(A$,1,11)): B=VAL(MID$(A$,13,12)): C=VAL(MID$(A$,26,12)) 340 IF A>0 THEN DEPTH(J)=A: IONIZ1(J)=B: IONIZ2(J)=C: J=J+1 350 NEXT I : 360 CLOSE #1 370 'ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Getting PHONON.TXT ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 380 OPEN "PHONON.TXT" FOR INPUT AS #1 390 PRINT C3$ 400 J=1 ' This input style is used to 410 FOR I=1 TO 200 ' get rid of Comments in file. 420 A=EOF(1): IF A=-1 GOTO 470 430 LINE INPUT#1,A$ 440 A=VAL(MID$(A$,1,11)): B=VAL(MID$(A$,13,12)): C=VAL(MID$(A$,26,12)) 450 IF A>0 THEN DEPTH(J)=A: PHONON1(J)=B: PHONON2(J)=C: J=J+1 460 NEXT I : 470 CLOSE #1 480 'ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Getting E2RECOIL.TXT ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 490 OPEN "E2RECOIL.TXT" FOR INPUT AS #1 'Energy Transferred to Recoils 500 PRINT C4$ 510 J=1 ' This input style is used to 520 FOR I=1 TO 200 ' get rid of Comments in file. 530 A=EOF(1): IF A=-1 GOTO 580 540 LINE INPUT#1,A$ 550 A=VAL(MID$(A$,1,11)): B=VAL(MID$(A$,13,12)): C=VAL(MID$(A$,26,12)) 560 IF A>0 THEN DEPTH(J)=A: E2REC1(J)=B: E2REC2(J)=C: J=J+1 570 NEXT I : 580 CLOSE #1 590 PRINT C5$ 600 COLOR 13 'ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 610 INPUT "What was the Original Ion Energy (keV) ? [100] "; E0KEV 620 IF E0KEV = 0 THEN E0KEV=100 630 INPUT "What is the Target Binding Energy (eV) ? [ 2]"; EB 640 IF EB = 0 THEN EB=2 650 CW=DEPTH(2)-DEPTH(1) 660 FOR I= 1 TO 100 670 VAC1 = VAC1+VAC1(I) : VAC2 = VAC2+VAC2(I) 680 IONIZ1 = IONIZ1+IONIZ1(I) : IONIZ2 = IONIZ2+IONIZ2(I) 690 PHONON1= PHONON1+PHONON1(I): PHONON2= PHONON2+PHONON2(I) 700 E2REC1 = E2REC1+E2REC1(I) : E2REC2 = E2REC2+E2REC2(I) 710 NEXT I 720 VAC1 =VAC1*CW*EB: VAC2=VAC2*CW*EB 730 IONIZ1 =IONIZ1*CW : IONIZ2=IONIZ2*CW 740 PHONON1=PHONON1*CW: PHONON2=PHONON2*CW 750 E2REC1 =E2REC1*CW : E2REC2=E2REC2*CW 760 TOTLOSS = VAC1+VAC2+IONIZ1+IONIZ2+PHONON1+PHONON2 770 TOTAL = E0KEV*1000 780 COLOR 14 790 PRINT "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» 800 PRINT "º PERCENTAGE LOSS º ENERGY LOSS (keV) º" 810 PRINT "º IONS RECOILS º IONS RECOILS º" 820 PRINT "º ÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄ º ÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄ º" 830 I1=IONIZ1*100/TOTLOSS : I2=IONIZ2*100/TOTLOSS 840 V1=VAC1*100/TOTLOSS : V2=VAC2*100/TOTLOSS 850 P1=PHONON1*100/TOTLOSS: P2=PHONON2*100/TOTLOSS 860 PRINT USING"º Ioniz = ##.### ##.### º ######.### ######.### º";I1;I2,IONIZ1/1000;IONIZ2/1000 870 PRINT USING"º Vac. = ##.### ##.### º ######.### ######.### º";V1;V2;VAC1/1000;VAC2/1000 880 PRINT USING"º Phonon= ##.### ##.### º ######.### ######.### º";P1;P2;PHONON1/1000;PHONON2/1000 890 PRINT "º ÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍ º ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ º" 900 TOTAL1=(IONIZ1+VAC1+PHONON1)*100/TOTLOSS 910 TOTAL2=(IONIZ2+VAC2+PHONON2)*100/TOTLOSS 920 TOTAL3=(IONIZ1+VAC1+PHONON1)/1000 930 TOTAL4=(IONIZ2+VAC2+PHONON2)/1000 940 PRINT USING"º Totals= ###.###% ###.###% º ######.### ######.### º";TOTAL1;TOTAL2;TOTAL3;TOTAL4 950 PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" 960 PRINT " ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" 970 PRINT USING" º TOTAL ENERGY LOSS = ######.### keV º";TOTLOSS/1000 980 PRINT " ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" 990 VAC1=CINT(VAC1/EB) : VAC2=CINT(VAC2/EB) 1000 PRINT "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" 1010 PRINT USING"º Energy Transferred to Recoils =######.### keV º";E2REC1/1000 1020 ''' PRINT USING"º Energy Received by Recoils =######.### keV º";E2REC2/1000 1030 PRINT USING"º Ion Vacancies = ###### , Recoil Vacancies = ###### º";VAC1;VAC2 1040 PRINT USING"º Total Vacancies/Ion = ####### º";VAC1+VAC2 1050 PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" 1060 COLOR 15: PRINT "NOTE : Totals may be in error if final ion is not yet stopped," 1070 COLOR 15: PRINT " or if Ions or Recoils leave the Plotting Wondow." 1080 COLOR 15: PRINT "NOTE : Summation currently valid only for single element targets."