newly added old TrimSP code for 3 Layers, labelled 'with bug'

This commit is contained in:
nemu 2013-03-28 10:23:05 +00:00
parent e3fc3862b8
commit 280b770a6c
10 changed files with 7492 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,940 @@
PROGRAM DATMAKER
c dieses Programm erstellt die Eingabedateien, die mit dem Programm
c TRIMSP4L gelesen werden.
c dies ist die Version DATMAK3L(-test)
IMPLICIT LOGICAL(a-z)
INTEGER i,k,l,m,lnum
INTEGER nproj,n,lmax
INTEGER kk0,kk0r,kdee1,kdee2,ipot,ipotr,irl
REAL*4 zproj,mproj,eproj,esig,alphaproj,alphaprojsig
REAL*4 ri,ri2,ri3,cw,x0
REAL*4 ef,esb,sheath,erc,rd,ca
REAL*4 p2,p3,p4,p(5)
REAL*4 ordz(5,3),mass(5,3),elas(5,3),spower(5,5,3),conz(5,3)
REAL*4 conzlayer(3),thick(3),rho(3)
REAL*4 ck(7),sbe(5,7),be(5,7)
CHARACTER errcom*17,en*2,f*1,ausgabe*12,inpnam*4,parchar*3,inpext*4
CHARACTER batchtype*1,name*8
c
c Festlegen der für TRIMSP benötigten Modellparameter
c Bezeichnung nach Eckstein's Datei TRVMC95.text
c ef,esb,sheath,erc,rd,ca,kk0,kk0r,kdee1,kdee2,ipot,ipotr,irl
c Projektilparameter
c zproj=Ordnungszahl des Projektils == fuer myonen = 1
c mproj=Massenzahl des Projektils == fuer Myonen = 0.11
c alphaproj=Winkel zwischen Projektil und Targetnormale == 0 ist senkrecht
c eproj=Projektilenergie in eV
c esig=Breite der gaussfoermigen Energieverteilung
c thick(n)=Dicke eines Layers in Angstroem
c rho(n)=Dichte eines Layers in g/cm^3
c
c Simulationsparameter
c ri=Zufallszahleninitialisierung (muss ungerade sein)
c ri2=Zufallszahleninitialisierung, mit der die Energie gewuerfelt wird
c x0=von wo aus werden Projektile implantiert == 0 ist Probenoberflaeche
c cw=Dickeninterval in Angstroem
c Festlegen der Target-Elemente m(max. 5) in den jeweiligen Layern l(max. 7)
c p1=Ordnungszahl-->ordz(n)
c p2=Massenzahl (amu)-->mass(n)
c p3=Bindungsenergie im Festkoerper (eV)-->elas(n)
c p4=Dichte des Elementes (g/cm^3)-->rho(n)
c p(1-5)=Stoppingpowerkoeffizienten fuer H in Materie nach Andersen-Ziegler-->spower(k,m,l)
c conz(m,l)-->Konzentration eines Elementes in einem Layer
c conzlayer(n)-->Gesamasskonzentration im Layer == muss 1.0 sein
c die Parameter SBE(5) sind auf 30.0 eV und BE(5) auf 0 gesetzt (siehe TRVMC95.txt)
c die Parameter CK(3) sind auf 1 gesetzt (siehe TRVMC95.txt)
c
c April 1999: das Programm berechnet jetzt aus den Konzentrationen die stöchiometrische Dichte
c eines Layers. Wichtig: die Dichten fuer H,He,Ne,O,Ar,Kr,Xe sind die Dichten am
c Tripelpunkt fuer die fluessige Phase, die Dichten fuer
c F,Cl,Rn,Fr,Ra sind nicht bekannt und deshalb auf 0.1 gesetzt.
c
c Mai 1999 : das Programm wurde erweitert. Jetzt koennen in einer Schleife mehrere Eingabefiles
c fuer TRIMSP (ab Version TRIMSPPc4i) mit verschiedener Startenergie und verschiedenen
c Kanalgroessen fuer die Range Profile erstellt werden.
c Ausserem weden die erstellten Files auf Abfrage in eine fuer ab TRIMSPpc4h geeignete
c Batch-Datei weggeschrieben.
c Juni 1999 : die Stopkoeffizienten aus der ICRU49 Tabelle werden verwendet.
c Datei :stopicru.dat
c Dez. 1999 : Dichten fuer N2,O2, Ar,Xe,Kr,Ne nun fuer die feste Phase
c : Batchtype x eingefuegt
c ab Version datmak4k
c
c ! Eingabedateien, die mit datmak4k erzeugt werden, koennen von aelteren Versionen (vor TrimSpp4k)
c ! nicht gelesen werden.
c
c Dez. 1999 : neu Variable alphaprojsig (Breite einer Gaussverteilung der Einfallwinkel
c ri3 = seed fuer Zufallszahlengenerator fuer Einfallwinkel
c Batchtype a,b eingefuegt aber noch nicht implementiert
c Jun. 2000: fuer drei layers
c
c
DATA zproj,mproj /1.0,0.11/
DATA alphaproj,alphaprojsig /0.0,0.0/
DATA eproj,esig /1000.0,0.0/
DATA ef,esb,sheath,erc /0.50,0.00,0.00,0.00/
DATA rd,ca /50.00,1.00/
DATA kk0,kk0r,kdee1,kdee2,ipot,ipotr,irl /2,2,4,3,2,1,0/
DATA ri,x0,cw /78741.00,0.00,30.0/
DATA nproj /1000/
DATA lmax /3/
DATA errcom /'Falsche Eingabe !'/
DATA inpext /'.inp'/
DATA batchtype /'e'/
c
WRITE(*,*)' ----------------------------------------'
WRITE(*,*)' | Programm D A T M A K, Version 3L |'
WRITE(*,*)' ----------------------------------------'
WRITE(*,*)
WRITE(*,*)' Programm erstellt die Eingabedateien fuer das'
WRITE(*,*)' Programm TRIM.SP (W. Eckstein, IPP Garching)'
WRITE(*,*)' Eingabedateien koennen nur von Version'
WRITE(*,*)' TrimSp4L oder spaeter gelesen werden'
c WRITE(*,*)' Die am PSI verwendete Version dieses Programmes'
c WRITE(*,*)' heisst TRIMSPP4i (Stand 28. Mai 1999). Diese Version'
c WRITE(*,*)' laeuft auf PCs unter WIN95/98 und WIN NT4.'
PAUSE ' Weiter mit beliebiger Taste '
c
WRITE(*,*)' Genereller Name der Ausgabedatei (muss A4 sein), '
WRITE(*,*)' wird von allen erstellten Dateien verwendet. '
WRITE(*,*)' Werden mehrere Energien gerechnet (Batchtype e),'
WRITE(*,*)' dann wird die Energie als (A3) angehaengt,'
WRITE(*,*)' z.B. 30keV=300, 0.5keV=005'
WRITE(*,*)' Ansonsten muss von Hand die Dateibezeichnung als (A3)'
WRITE(*,*)' eingegeben werden.'
WRITE(*,*)' Zwischen dem generellen Namen und der speziellen'
WRITE(*,*)' Dateibezeichnung wird der Batchtype als (A1)'
WRITE(*,*)' eingefuegt.'
WRITE(*,*)' Verstaendlicherweise kann fuer die Batchdateien nur '
WRITE(*,*)' immer ein Parameter Energie, Esigma, Myonenzahl oder '
WRITE(*,*)' Layerdicken geaendert werden. '
PAUSE ' Weiter mit beliebiger Taste '
WRITE(*,*)' Extension der Ausgabedatei ist *.inp '
WRITE(*,*)
WRITE(*,*)' Gib generellen Namen ein (A4)'
READ(5,'(A4)')inpnam
c
800 WRITE(*,*)' Batchtypes ?'
WRITE(*,*)' E = Energie (default)'
WRITE(*,*)' S = Esigma'
WRITE(*,*)' N = Anzahl Myonen'
WRITE(*,*)' D = Layerdicken'
WRITE(*,*)' X = Energie und Esigma'
c WRITE(*,*)' A = Alpha und Alphasigma'
c WRITE(*,*)' B = Energie,Esigma,Alpha,Alphasigma'
c
WRITE(*,*)'Batchtype aendern (y/n)? '
READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
batchtype='e'
GOTO 806
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
805 WRITE(*,*)' Batchtype eingeben (A1) '
READ(*,'(A1)')batchtype
IF(batchtype.EQ.'e'.OR.batchtype.EQ.'E')THEN
batchtype='e'
ELSEIF(batchtype.EQ.'s'.OR.batchtype.EQ.'S')THEN
batchtype='s'
ELSEIF(batchtype.EQ.'n'.OR.batchtype.EQ.'N')THEN
batchtype='n'
ELSEIF(batchtype.EQ.'d'.OR.batchtype.EQ.'D')THEN
batchtype='d'
ELSEIF(batchtype.EQ.'x'.OR.batchtype.EQ.'X')THEN
batchtype='x'
c ELSEIF(batchtype.EQ.'a'.OR.batchtype.EQ.'A')THEN
c batchtype='a'
c ELSEIF(batchtype.EQ.'b'.OR.batchtype.EQ.'B')THEN
c batchtype='b'
ELSE
WRITE(*,*)errcom
GOTO 805
ENDIF
ELSE
WRITE(*,*)errcom
GOTO 800
ENDIF
c
806 WRITE(*,*)' Projektilparameter '
WRITE(*,'(1x,A3,F7.2,1x,A4,F7.2)')'Z: ',zproj,'M: ',mproj
WRITE(*,'(1x,A3,F7.2,1x,A6,F7.2)')'E: ',eproj,
+ 'Esig: ',esig
WRITE(*,'(1x,A8,F7.2,1x,A10,F7.2)')'alpha: ',alphaproj,
+ 'alphasig: ',alphaprojsig
WRITE(*,*)'Projektil aendern ? '
1001 READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 1000
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Atomnummer (Myon = 1)'
810 READ(5,501,ERR=810)zproj
IF(zproj.EQ.0.0) zproj=1.
WRITE(*,*)' Projektilmasse (Myon=0.113)'
811 READ(5,501,ERR=811)mproj
IF(mproj.EQ.0.0) mproj=0.113
ELSE
WRITE(*,*)errcom
GOTO 1001
ENDIF
1000 WRITE(*,*)'Projektilenergie aendern ? '
READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 10011
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Projektilenergie in eV '
814 READ(5,501,ERR=814)eproj
IF(eproj.EQ.0.0) eproj=1000.
ELSE
WRITE(*,*)errcom
GOTO 1000
ENDIF
10011 WRITE(*,*)'Sigma aendern ? '
READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 10012
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Sigma in eV '
815 READ(5,501,ERR=815)esig
esig=ABS(esig)
ELSE
WRITE(*,*)errcom
GOTO 10011
ENDIF
10012 WRITE(*,*)'Projektilwinkel aendern ? '
READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 10013
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Projektilwinkel (senkrecht=0)'
813 READ(5,501,ERR=813)alphaproj
alphaproj=ABS(alphaproj)
ELSE
WRITE(*,*)errcom
GOTO 10012
ENDIF
10013 WRITE(*,*)'Sigma aendern ? '
READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 10014
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Sigma Projektilwinkel '
8130 READ(5,501,ERR=8130)alphaprojsig
alphaprojsig=ABS(alphaprojsig)
ELSE
WRITE(*,*)errcom
GOTO 10013
ENDIF
c
10014 WRITE(*,*)' weitere Projektilparameter
+ (Erklaerung siehe TRVMC95.txt)'
WRITE(*,'(1x,A3,F7.2,1x,A4,F7.2,1x,A7,F7.2,1x,A4,F7.2)')
+ 'EF ',ef,'ESB ',esb,'SHEATH ',sheath,'ERC ',erc
WRITE(*,'(1x,A3,F7.2,1x,A3,F7.2)')'RD ',rd,'CA ',ca
WRITE(*,*)'Aendern ?'
1003 READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 1002
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' EF :'
820 READ(5,501,ERR=820)ef
WRITE(*,*)' ESB :'
821 READ(5,501,ERR=821)esb
WRITE(*,*)' SHEATH :'
822 READ(5,501,ERR=822)sheath
WRITE(*,*)' ERC :'
823 READ(5,501,ERR=823)erc
WRITE(*,*)' RD :'
824 READ(5,501,ERR=824)rd
WRITE(*,*)' CA :'
825 READ(5,501,ERR=825)ca
501 FORMAT(F7.0)
ELSE
WRITE(*,*)errcom
GOTO 1003
ENDIF
1002 WRITE(*,*)' Wechselwirkungsparameter
+ (Erklaerung siehe TRVMC95.txt)'
WRITE(*,'(1x,A4,I1,1x,A5,I1,1x,A6,I1,1x,A6,I1)')
+ 'KK0 ',KK0,'KK0R ',KK0R,'KDEE1 ',KDEE1,'KDEE2 ',KDEE2
WRITE(*,'(1x,A5,I1,1x,A6,I1,1x,A4,I1)')
+ 'IPOT ',IPOT,'IPOTR ',IPOTR,'IRL ',IRL
WRITE(*,*)'Aendern ?'
1005 READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 1004
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' KK0 '
830 READ(5,502,ERR=830)KK0
IF(KK0.LT.0.OR.KK0.GT.4)THEN
WRITE(*,*)' muss zwischen 0 und 4 liegen '
GOTO 830
ENDIF
WRITE(*,*)' KK0R '
831 READ(5,502,ERR=831)KK0R
IF(KK0R.LT.0.OR.KK0R.GT.4)THEN
WRITE(*,*)' muss zwischen 0 und 4 liegen '
GOTO 831
ENDIF
WRITE(*,*)' KDEE1 '
832 READ(5,502,ERR=832)KDEE1
IF(KDEE1.LT.1.OR.KDEE1.GT.5)THEN
WRITE(*,*)' muss zwischen 1 und 5 liegen '
GOTO 832
ENDIF
WRITE(*,*)' KDEE2 '
833 READ(5,502,ERR=833)KDEE2
IF(KDEE2.LT.1.OR.KDEE2.GT.3)THEN
WRITE(*,*)' muss zwischen 1 und 3 liegen '
GOTO 833
ENDIF
WRITE(*,*)' IPOT '
834 READ(5,502,ERR=834)IPOT
IF(IPOT.LT.1.OR.IPOT.GT.3)THEN
WRITE(*,*)' muss zwischen 1 und 3 liegen '
GOTO 834
ENDIF
WRITE(*,*)' IPOTR '
835 READ(5,502,ERR=835)IPOTR
IF(IPOTR.LT.1.OR.IPOTR.GT.3)THEN
WRITE(*,*)' muss zwischen 1 und 3 liegen '
GOTO 835
ENDIF
WRITE(*,*)' IRL '
836 READ(5,502,ERR=836) IRL
IF(IRL.LT.0.OR.IRL.GT.1)THEN
WRITE(*,*)' entweder 0 oder 1'
GOTO 836
ENDIF
502 FORMAT(I1)
ELSE
WRITE(*,*)errcom
GOTO 1005
ENDIF
c
1004 WRITE(*,*)' Festlegung der Simulationsparameter '
WRITE(*,'(1x,A18,I6)')'Anzahl Projektile ',nproj
WRITE(*,*)'Aendern ?'
1007 READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 1006
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' wieviele Projektile '
840 READ(5,'(I6)',ERR=840)nproj
ELSE
WRITE(*,*)errcom
GOTO 1007
ENDIF
1006 WRITE(*,'(1x,A11,F7.2)')'Starttiefe ',x0
WRITE(*,*)'Aendern ?'
1009 READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 1008
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Starttiefe '
841 READ(5,'(F7.0)',ERR=841)x0
ELSE
WRITE(*,*)errcom
GOTO 1009
ENDIF
1008 WRITE(*,'(1x,A13,F7.2)')'Schrittweite ',cw
WRITE(*,*)'Aendern ?'
1011 READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 1010
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Schrittweite des Tiefenintervals '
842 READ(5,'(F7.0)',ERR=842)cw
ELSE
WRITE(*,*)errcom
GOTO 1011
ENDIF
1010 WRITE(*,'(1x,A27,F12.5)')'Zufallszahleninitialisation',ri
WRITE(*,*)'Aendern ?'
1013 READ(5,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 1012
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,*)' Zufallszahleninitialisation :'
843 READ(5,'(F12.0)',ERR=843)ri
IF((ri/2.-FLOAT(INT(ri/2.))).ne.0.5) ri=ri+1
ELSE
WRITE(*,*)errcom
GOTO 1013
ENDIF
1012 ri2=ri
ri3=ri
WRITE(*,*)' Wieviele Layer ? <=3'
850 READ(5,'(I1)',ERR=850)lnum
IF(lnum.LE.0.OR.lnum.GT.3) THEN
WRITE(*,*)errcom
GOTO 1012
ENDIF
c
CALL NULLEN(ordz,mass,elas,rho,spower,conz,
+ conzlayer,thick,ck,sbe,be)
DO l=1,lnum
DO i=1,5
m=1
10120 WRITE(*,'(A15,I1)')'Layer Nummer ',l
WRITE(*,'(A15,I1)')'Element Nummer ',m
1014 WRITE(*,'(1x,A44)')'Gib Elementnamen (A2) ein QQ fuer Ende'
851 READ(5,'(A2)',ERR=851)en
CALL element(en,n)
c
IF(n.EQ.0) THEN
WRITE(*,*)errcom
GOTO 1014
ENDIF
IF(n.EQ.93) GOTO 1100
CALL lese(p2,p3,p,n)
ordz(m,l)=FLOAT(n)
mass(m,l)=p2
elas(m,l)=p3
sbe(m,l)=30.
DO k=1,5
spower(k,m,l)=p(k)
ENDDO
WRITE(*,*)' Konzentration des Elementes muss kleiner oder'
WRITE(*,*)' gleich 1. sein. Summe aller Konzentrationen'
WRITE(*,*)' innerhalb des Layers muss 1. sein.)'
1015 WRITE(*,*)' Gib Konzentration des Elementes ein.'
852 READ(5,'(F7.0)',ERR=852)conz(m,l)
IF(conz(m,l).LE.0.0.OR.conz(m,l).GT.1.0) THEN
WRITE(*,*)erccom
GOTO 1015
ENDIF
conzlayer(l)=conz(m,l)+conzlayer(l)
IF(conzlayer(l).GT.1.0) THEN
WRITE(*,*)' Summe der Konzentrationen innerhalb des '
WRITE(*,'(1x,I1,1x,A29)')l,'. Layers ist groesser als 1. '
WRITE(*,*)' Programm abgebrochen !'
STOP
ENDIF
CALL dichte(p4,n)
rho(l)=rho(l)+p4*conz(m,l)
IF(m.EQ.5) GOTO 1100
1016 WRITE(*,*)' Noch ein anderes Element im Layer ?'
READ(5,'(A1)')f
IF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
m=m+1
GOTO 10120
ELSEIF(f.EQ.'n'.OR.f.EQ.'N') THEN
ordz(m+1,l)=0.0
mass(m+1,l)=0.0
elas(m+1,l)=0.0
DO k=1,5
spower(k,m+1,l)=0.0
ENDDO
IF(m.EQ.1) THEN
CALL dichte(p4,n)
rho(l)=p4
GOTO 1101
ENDIF
GOTO 1100
ELSE
WRITE(*,*)errcom
GOTO 1016
ENDIF
ENDDO
1100 WRITE(*,*)'Dichte des Layers ? ',rho(l)
WRITE(*,*)'Dichte in Ordnung ?'
READ(5,'(A1)')f
IF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
GOTO 1101
ELSEIF(f.EQ.'n'.OR.f.EQ.'N') THEN
WRITE(*,*)'Dichte des Layers ? '
860 READ(5,'(F7.0)',ERR=860)rho(l)
ELSE
WRITE(*,*)errcom
GOTO 1100
ENDIF
1101 WRITE(*,*)'Dicke des Layers ?'
861 READ(5,'(F7.0)',ERR=861)thick(l)
ENDDO
c WRITE(*,*)' Ausgabe der Layerzusammensetzung auf Bildschirm'
c DO l=1,lnum
c WRITE(*,'(A15,I1)')'Layer Nummer ',l
c DO m=1,5
c IF(ordz(m,l).EQ.0.0) GOTO 1200
c WRITE(*,'(A15,I1)')'Element Nummer ',m
c WRITE(*,'(A3,F12.5)')'Z: ',ordz(m,l)
c WRITE(*,'(A3,F12.5)')'M: ',mass(m,l)
c WRITE(*,'(A5,F12.5)')'E-E: ',elas(m,l)
c DO k=1,5
c WRITE(*,'(A17,I1,1x,F12.5)')
c + 'Stoppkoeffizient ',k,spower(k,m,l)
c ENDDO
c WRITE(*,'(A20,F7.3)')'Konzentration: ',conz(m,l)
c ENDDO
c1200 WRITE(*,'(A43,F7.3)')
c + 'Gesamtmassenkonzentration Layer ->muss 1. sein !',conzlayer(l)
c WRITE(*,'(A30,F7.3)')'Dichte des Layers :',rho(l)
c WRITE(*,'(A30,F12.3)')'Dicke des Layers :',thick(l)
c ENDDO
c
c hier faengt die Schleife fuer die Erstellung verschiedener Dateien
c mit unterschiedlicher Energie und unterschiedlicher Schrittweite an
c
DO 1,n=1,100
c
IF(n.EQ.1)THEN
IF(batchtype.EQ.'e')THEN
CALL ausgabenam(eproj,parchar)
ELSE
1499 WRITE(*,*)' spezieller Dateiname (A3) '
READ(*,'(A3)',ERR=1499)parchar
ENDIF
ENDIF
c
1500 ausgabe=inpnam//batchtype//parchar//inpext
1501 OPEN(UNIT=11,file=ausgabe,STATUS='NEW',ERR=3000)
CALL batchcreater(inpnam,batchtype,parchar,inpext)
C
WRITE(11,2010)zproj,mproj,eproj,esig,alphaproj,alphaprojsig,
# ef,esb,sheath,erc
WRITE(11,2011)nproj,ri,ri2,ri3,x0,rd,cw,ca,kk0,kk0r,kdee1,kdee2,
# ipot,ipotr,irl
WRITE(11,2012) thick(1),thick(2),thick(3),
# rho(1),rho(2),rho(3),
# ck(1),ck(2),ck(3)
DO 2000 I=1,lmax
WRITE(11,2013) ordz(1,I),ordz(2,I),ordz(3,I),ordz(4,I),ordz(5,I)
WRITE(11,2013) mass(1,I),mass(2,I),mass(3,I),mass(4,I),mass(5,I)
WRITE(11,2013) conz(1,I),conz(2,I),conz(3,I),conz(4,I),conz(5,I)
WRITE(11,2013) elas(1,I),elas(2,I),elas(3,I),elas(4,I),elas(5,I)
WRITE(11,2013) sbe(1,I),sbe(2,I),sbe(3,I),sbe(4,I),sbe(5,I)
WRITE(11,2013) be(1,I),be(2,I),be(3,I),be(4,I),be(5,I)
c
WRITE(11,2017) spower(1,1,I),spower(1,2,I),spower(1,3,I),
+ spower(1,4,I),spower(1,5,I)
WRITE(11,2017) spower(2,1,I),spower(2,2,I),spower(2,3,I),
+ spower(2,4,I),spower(2,5,I)
WRITE(11,2017) spower(3,1,I),spower(3,2,I),spower(3,3,I),
+ spower(3,4,I),spower(3,5,I)
WRITE(11,2017) spower(4,1,I),spower(4,2,I),spower(4,3,I),
+ spower(4,4,I),spower(4,5,I)
WRITE(11,2017) spower(5,1,I),spower(5,2,I),spower(5,3,I),
+ spower(5,4,I),spower(5,5,I)
2000 CONTINUE
c
CLOSE(UNIT=11)
1502 WRITE(*,*)' Noch eine weitere Datei mit anderen Parametern ?'
READ(*,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 9000
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
c1507 WRITE(*,*)' Welche Parameter sollen geaendert werden ?'
c WRITE(*,*)' E = Energie (default)'
c WRITE(*,*)' S = Esigma'
c WRITE(*,*)' N = Anzahl Myonen'
c WRITE(*,*)' D = Layerdicken'
c READ(*,'(A1)')batchtype
IF(batchtype.EQ.'e'.OR.batchtype.EQ.'E'.or.batchtype.EQ.'')
+ THEN
CALL changE(eproj,cw)
CALL ausgabenam(eproj,parchar)
ELSEIF(batchtype.EQ.'s'.OR.batchtype.EQ.'S') THEN
CALL changS(esig)
1520 WRITE(*,*)' spezieller Dateiname (A3) '
READ(*,'(A3)',ERR=1520)parchar
ELSEIF(batchtype.EQ.'n'.OR.batchtype.EQ.'N') THEN
CALL changN(nproj)
1521 WRITE(*,*)' spezieller Dateiname (A3) '
READ(*,'(A3)',ERR=1521)parchar
ELSEIF(batchtype.EQ.'d'.OR.batchtype.EQ.'D') THEN
CALL changD(thick,cw,lnum)
1522 WRITE(*,*)' spezieller Dateiname (A3) '
READ(*,'(A3)',ERR=1522)parchar
ELSEIF(batchtype.EQ.'x'.OR.batchtype.EQ.'X') THEN
CALL changX(eproj,esig)
1523 WRITE(*,*)' spezieller Dateiname (A3) '
READ(*,'(A3)',ERR=1523)parchar
ELSE
WRITE(*,*)errcom
STOP
ENDIF
GOTO 1500
ELSE
WRITE(*,*)errcom
GOTO 1502
ENDIF
3000 WRITE(*,*)' Fehler beim Oeffnen der Datei '
WRITE(*,*)' Gib neuen Dateinamen ein '
READ(*,'(A8)')name
ausgabe=name//inpext
GOTO 1501
c
1 CONTINUE
c
2010 FORMAT(2F7.2,1F12.2,7F9.2)
2011 FORMAT(I9,3F8.0,1F7.2,1F7.0,2F7.2,6I4,I3)
2012 FORMAT(7F9.2,14F7.2)
2013 FORMAT(5F9.4)
2017 FORMAT(5F12.6)
c
9000 CALL batchexit(inpnam,batchtype)
END
c
c hier werden die Parameter der Elemente eingelesen
c
SUBROUTINE param
c
INTEGER i,n
REAL p2,p3,p4
REAL p(5)
CHARACTER str2*17,str3*17,str4*69,str5*12
c Masse der Elemente, Stoppingpowerdaten nach Andersen-Ziegler und Bindungsenergie
c der Elemente im bulk
ENTRY lese(p2,p3,p,n)
c
OPEN(UNIT=31,FILE='masse.dat',STATUS='OLD')
OPEN(UNIT=32,FILE='elast.dat',STATUS='OLD')
OPEN(UNIT=33,FILE='stopicru.dat',STATUS='OLD')
c
DO i=1,n
READ(31,'(A17)')str2
READ(32,'(A17)')str3
READ(33,'(A69)')str4
ENDDO
c
READ(str2(8:16),'(F12.0)')p2
READ(str3(9:16),'(F12.0)')p3
READ(str4(4:16),'(F12.0)')p(1)
READ(str4(17:29),'(F12.0)')p(2)
READ(str4(30:42),'(F12.0)')p(3)
READ(str4(43:55),'(F12.0)')p(4)
READ(str4(56:68),'(F12.0)')p(5)
c
CLOSE(UNIT=31)
CLOSE(UNIT=32)
CLOSE(UNIT=33)
c
c OPEN(UNIT=31,POSITION='rewind')
c OPEN(UNIT=32,POSITION='rewind')
c OPEN(UNIT=33,POSITION='rewind')
c
RETURN
c
c die elementaren Dichten
c
ENTRY dichte(p4,n)
c
OPEN(UNIT=34,FILE='dichte.dat',STATUS='OLD')
c
DO i=1,n
READ(34,'(A12)')str5
ENDDO
c
READ(str5(4:11),'(F12.0)')p4
c
CLOSE(UNIT=34)
c
RETURN
END
c
c diese Subroutine erkennt das/die Elemente
c
SUBROUTINE element(en,n)
c
INTEGER n
CHARACTER en*2
c
n=0
c
IF(en.EQ.' H'.OR.en.EQ.'H') n=1
IF(en.EQ.'He') n=2
IF(en.EQ.'Li') n=3
IF(en.EQ.'Be') n=4
IF(en.EQ.' B'.OR.en.EQ.'B') n=5
IF(en.EQ.' C'.OR.en.EQ.'C') n=6
IF(en.EQ.' N'.OR.en.EQ.'N') n=7
IF(en.EQ.' O'.OR.en.EQ.'O') n=8
IF(en.EQ.' F'.OR.en.EQ.'F') n=9
IF(en.EQ.'Ne') n=10
IF(en.EQ.'Na') n=11
IF(en.EQ.'Mg') n=12
IF(en.EQ.'Al') n=13
IF(en.EQ.'Si') n=14
IF(en.EQ.' P'.OR.en.EQ.'P') n=15
IF(en.EQ.' S'.OR.en.EQ.'S') n=16
IF(en.EQ.'Cl') n=17
IF(en.EQ.'Ar') n=18
IF(en.EQ.' K'.OR.en.EQ.'K') n=19
IF(en.EQ.'Ca') n=20
IF(en.EQ.'Sc') n=21
IF(en.EQ.'Ti') n=22
IF(en.EQ.' V'.OR.en.EQ.'V') n=23
IF(en.EQ.'Cr') n=24
IF(en.EQ.'Mn') n=25
IF(en.EQ.'Fe') n=26
IF(en.EQ.'Co') n=27
IF(en.EQ.'Ni') n=28
IF(en.EQ.'Cu') n=29
IF(en.EQ.'Zn') n=30
IF(en.EQ.'Ga') n=31
IF(en.EQ.'Ge') n=32
IF(en.EQ.'As') n=33
IF(en.EQ.'Se') n=34
IF(en.EQ.'Br') n=35
IF(en.EQ.'Kr') n=36
IF(en.EQ.'Rb') n=37
IF(en.EQ.'Sr') n=38
IF(en.EQ.' Y'.OR.en.EQ.'Y') n=39
IF(en.EQ.'Zr') n=40
IF(en.EQ.'Nb') n=41
IF(en.EQ.'Mo') n=42
IF(en.EQ.'Tc') n=43
IF(en.EQ.'Ru') n=44
IF(en.EQ.'Rh') n=45
IF(en.EQ.'Pd') n=46
IF(en.EQ.'Ag') n=47
IF(en.EQ.'Cd') n=48
IF(en.EQ.'In') n=49
IF(en.EQ.'Sn') n=50
IF(en.EQ.'Sb') n=51
IF(en.EQ.'Te') n=52
IF(en.EQ.' I'.OR.en.EQ.'I') n=53
IF(en.EQ.'Xe') n=54
IF(en.EQ.'Cs') n=55
IF(en.EQ.'Ba') n=56
IF(en.EQ.'La') n=57
IF(en.EQ.'Ce') n=58
IF(en.EQ.'Pr') n=59
IF(en.EQ.'Nd') n=60
IF(en.EQ.'Pm') n=61
IF(en.EQ.'Sm') n=62
IF(en.EQ.'Eu') n=63
IF(en.EQ.'Gd') n=64
IF(en.EQ.'Tb') n=65
IF(en.EQ.'Dy') n=66
IF(en.EQ.'Ho') n=67
IF(en.EQ.'Er') n=68
IF(en.EQ.'Tm') n=69
IF(en.EQ.'Yb') n=70
IF(en.EQ.'Lu') n=71
IF(en.EQ.'Hf') n=72
IF(en.EQ.'Ta') n=73
IF(en.EQ.' W'.OR.en.EQ.'W') n=74
IF(en.EQ.'Re') n=75
IF(en.EQ.'Os') n=76
IF(en.EQ.'Ir') n=77
IF(en.EQ.'Pt') n=78
IF(en.EQ.'Au') n=79
IF(en.EQ.'Hg') n=80
IF(en.EQ.'Tl') n=81
IF(en.EQ.'Pb') n=82
IF(en.EQ.'Bi') n=83
IF(en.EQ.'Po') n=84
IF(en.EQ.'At') n=85
IF(en.EQ.'Rn') n=86
IF(en.EQ.'Fr') n=87
IF(en.EQ.'Ra') n=88
IF(en.EQ.'Ac') n=89
IF(en.EQ.'Th') n=90
IF(en.EQ.'Pa') n=91
IF(en.EQ.' U'.OR.en.EQ.'U') n=92
IF(en.EQ.'qq'.OR.en.EQ.'QQ') n=93
c
RETURN
END
c
c fuers gute Gewissen, die Subroutine nullt alle Parameter
c
SUBROUTINE NULLEN(ordz,mass,elas,rho,spower,conz,
+ conzlayer,thick,ck,sbe,be)
c
INTEGER i,k,l
REAL*4 ordz(5,3),mass(5,3),elas(5,3),spower(5,5,3),conz(5,3)
REAL*4 conzlayer(3),thick(3),rho(3)
REAL*4 ck(3),sbe(5,3),be(5,3)
c
DO 10 i=1,3
conzlayer(i)=0.0
thick(i)=0.0
rho(i)=0.0
ck(i)=1.0
DO 11 k=1,5
ordz(k,i)=0.0
mass(k,i)=0.0
elas(k,i)=0.0
conz(k,i)=0.0
sbe(k,i)=0.0
be(k,i)=0.0
DO 12 l=1,5
spower(l,k,i)=0.0
12 ENDDO
11 ENDDO
10 ENDDO
c
RETURN
END
c
c Subroutine, die die Energie in ein 3zeichigen Character umwandelt
c
SUBROUTINE AUSGABENAM(eproj,parchar)
c
REAL eproj
INTEGER etmp
CHARACTER parchar*3,c1*1,c2*1
c
DATA c1/'0'/,c2/'0'/
c
etmp=INT(eproj/1.E2)
IF(etmp.LT.100) THEN
IF(etmp.LT.10) THEN
WRITE(99,'(A1,A1,I1)')c1,c2,etmp
GOTO 10
ENDIF
WRITE(99,'(A1,I2)')c1,etmp
GOTO 10
ENDIF
WRITE(99,'(I3)')etmp
10 CLOSE(99)
READ(99,'(A3)')parchar
WRITE(*,'(A3)')parchar
CLOSE(99,STATUS='DELETE')
c
RETURN
END
c
c Subroutine, in der die Parameter Energie, SigmaE, Teilchenanzahl,
c Kanalweite und Schichtdicken geaendert werden koennen
c (nicht aber die Layerzusammensetzung !)
c
SUBROUTINE changes
c
INTEGER i,lnum,nproj
REAL eproj,esig,thick(3),cw
CHARACTER errcom*21,f*1
c
DATA errcom/'Fehlerhafte Eingabe !'/
c andere Energie und/oder Kanalweite
ENTRY changE(eproj,cw)
WRITE(*,'(A15,F9.2)')' alte Energie: ',eproj
100 WRITE(*,*)' neue Energie (E < 100.000 eV)'
READ(*,'(F7.0)',ERR=100)eproj
110 WRITE(*,*)' Andere Kanalschrittweite ?'
READ(*,'(A1)')f
IF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,'(A25,F7.2)')' alte Kanalschrittweite: ',cw
115 WRITE(*,*)' neue Kanalschrittweite'
READ(*,'(F7.0)',ERR=115)cw
ELSEIF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
RETURN
ELSE
WRITE(*,*)errcom
GOTO 110
ENDIF
RETURN
c andere Energie und anderes Sigma
ENTRY changX(eproj,esig)
WRITE(*,'(A15,F9.2)')' alte Energie: ',eproj
105 WRITE(*,*)' neue Energie (E < 100.000 eV)'
READ(*,'(F7.0)',ERR=105)eproj
WRITE(*,'(A15,F7.2)')' altes Esigma: ',esig
106 WRITE(*,*)' neues Esigma'
READ(*,'(F7.0)',ERR=106)esig
RETURN
c anderes Esigma
ENTRY changS(esig)
WRITE(*,'(A15,F7.2)')' altes Esigma: ',esig
120 WRITE(*,*)' neues Esigma'
READ(*,'(F7.0)',ERR=120)esig
RETURN
c andere Anzahl Myonen
ENTRY changN(nproj)
WRITE(*,'(A20,I6)')' alte Myonenanzahl: ',nproj
130 WRITE(*,*)' neue Myonenanzahl'
READ(*,'(I6)',ERR=130)nproj
RETURN
c andere Layerdicken und/oder Kanalweite
ENTRY changD(thick,cw,lnum)
WRITE(*,*)lnum
DO i=1,lnum
WRITE(*,'(A23,I1,2x,F7.2)')' alte Layerdicke Layer ',i,thick(i)
140 WRITE(*,'(A23,I1)')' neue Layerdicke Layer ',i
READ(*,'(F7.0)',ERR=140)thick(i)
150 WRITE(*,*)' Soll die Dicke der anderen Layer geaendert werden '
READ(*,'(A1)')f
IF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
GOTO 160
ELSEIF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
CONTINUE
ELSE
WRITE(*,*)errcom
GOTO 150
ENDIF
ENDDO
160 WRITE(*,*)' Andere Kanalschrittweite ?'
READ(*,'(A1)')f
IF(f.EQ.'y'.OR.f.EQ.'Y'.OR.f.EQ.'j'.OR.f.EQ.'J') THEN
WRITE(*,'(A25,F7.2)')' alte Kanalschrittweite: ',cw
WRITE(*,*)' neue Kanalschrittweite'
READ(*,'(F7.0)',ERR=130)cw
ELSEIF(f.EQ.'n'.OR.f.EQ.'N'.OR.f.EQ.'') THEN
RETURN
ELSE
WRITE(*,*)errcom
GOTO 160
ENDIF
RETURN
END
c
c Subroutine, in der die Batchkommandos in die Batch-Datei
c geschrieben werden
c
SUBROUTINE batchcreater(inpnam,batchtype,parchar,inpext)
CHARACTER inpnam*4,parchar*3,batchtype*1
CHARACTER inpext*4,rgeext*4,outext*4,batext*4
CHARACTER batchnam*9
c
DATA rgeext /'.rge'/
DATA outext /'.out'/
DATA errext /'.err'/
DATA batext /'.bat'/
100 batchnam=inpnam//batchtype//batext
OPEN(UNIT=19,FILE=batchnam,STATUS='NEW',ERR=900)
GOTO 200
900 WRITE(*,*)' Batchdatei existiert schon, gib neuen Namen (A4) ein.'
READ(*,'(A4)')inpnam
GOTO 100
c
200 WRITE(19,500)'copy',inpnam,batchtype,parchar,inpext,'eingabe1.inp'
WRITE(19,501)'TrimSp3L'
WRITE(19,502)'copy ausgabe1.out',inpnam,batchtype,parchar,outext
WRITE(19,502)'copy ausgabe1.rge',inpnam,batchtype,parchar,rgeext
WRITE(19,502)'copy ausgabe1.err',inpnam,batchtype,parchar,errext
WRITE(19,505)'del ausgabe1.out'
WRITE(19,505)'del ausgabe1.rge'
WRITE(19,505)'del ausgabe1.err'
RETURN
c
ENTRY batchexit(inpnam,batchtype)
WRITE(19,510)'ren fort.33',inpnam,batchtype,'.dat'
WRITE(19,505)'del eingabe1.inp'
WRITE(19,506)'del edist'
WRITE(19,511)'exit'
RETURN
c
500 FORMAT(A4,1x,A4,A1,A3,A4,1x,A12)
501 FORMAT(A8)
502 FORMAT(A17,1x,A4,A1,A3,A4)
505 FORMAT(A16)
506 FORMAT(A9)
510 FORMAT(A11,1x,A4,A1,A4)
511 FORMAT(A4)
END

View File

@ -0,0 +1,92 @@
H 0.08
He 0.12
Li 0.53
Be 1.85
B 2.35
C 3.51
N 1.03
O 2.00
F 1.11
Ne 1.50
Na 0.97
Mg 1.74
Al 2.70
Si 2.33
P 1.00
S 2.07
Cl 2.03
Ar 1.77
K 0.86
Ca 1.54
Sc 2.99
Ti 4.51
V 6.09
Cr 7.14
Mn 7.44
Fe 7.87
Co 8.89
Ni 8.91
Cu 8.92
Zn 7.14
Ga 5.91
Ge 5.32
As 5.72
Se 4.19
Br 3.14
Kr 3.10
Rb 1.53
Sr 2.63
Y 4.47
Zr 6.51
Nb 8.58
Mo 10.28
Tc 11.49
Ru 12.45
Rh 12.41
Pd 12.02
Ag 10.49
Cd 8.64
In 7.31
Sn 7.29
Sb 6.69
Te 6.25
I 4.94
Xe 3.80
Cs 1.90
Ba 3.65
La 6.16
Ce 6.77
Pr 6.48
Nd 7.00
Pm 7.22
Sm 7.54
Eu 5.25
Gd 7.89
Tb 8.25
Dy 8.56
Ho 8.78
Er 9.05
Tm 9.32
Yb 6.97
Lu 9.84
Hf 13.31
Ta 16.68
W 19.26
Re 21.03
Os 22.61
Ir 22.65
Pt 21.45
Au 19.32
Hg 13.55
Tl 11.85
Pb 11.34
Bi 9.80
Po 9.20
At 0.10
Rn 0.10
Fr 0.10
Ra 5.50
Ac 10.07
Th 11.72
Pa 15.37
U 18.97

View File

@ -0,0 +1,93 @@
H 0.10000
He 0.10000
Li 1.63000
Be 3.32000
B 5.77000
C 7.37000
N 4.92000
O 2.60000
F 0.84000
Ne 0.02000
Na 1.11000
Mg 1.51000
Al 3.39000
Si 4.63000
P 3.43000
S 2.85000
Cl 1.40000
Ar 0.08000
K 0.93000
Ca 1.84000
Sc 3.90000
Ti 4.85000
V 5.31000
Cr 4.10000
Mn 2.92000
Fe 4.28000
Co 4.39000
Ni 4.44000
Cu 3.49000
Zn 1.35000
Ga 2.81000
Ge 3.85000
As 2.96000
Se 2.25000
Br 1.22000
Kr 0.12000
Rb 0.85000
Sr 1.72000
Y 4.37000
Zr 6.25000
Nb 7.57000
Mo 6.82000
Tc 6.85000
Ru 6.74000
Rh 5.75000
Pd 3.89000
Ag 2.95000
Cd 1.16000
In 2.52000
Sn 3.14000
Sb 2.75000
Te 2.23000
I 1.11000
Xe 0.16000
Cs 0.80000
Ba 1.90000
La 4.47000
Ce 4.32000
Pr 3.70000
Nd 3.40000
Pm 0.10000
Sm 2.14000
Eu 1.86000
Gd 4.14000
Tb 4.05000
Dy 3.04000
Ho 3.14000
Er 3.29000
Tm 2.42000
Yb 1.60000
Lu 4.43000
Hf 6.44000
Ta 8.10000
W 8.90000
Re 8.03000
Os 8.17000
Ir 6.94000
Pt 5.84000
Au 3.81000
Hg 0.67000
Tl 1.88000
Pb 2.03000
Bi 2.18000
Po 1.50000
At 0.10000
Rn 0.20000
Fr 0.10000
Ra 1.66000
Ac 4.25000
Th 6.20000
Pa 0.10000
U 5.55000
0.00000

View File

@ -0,0 +1,92 @@
H 1.00800
He 4.00300
Li 6.93900
Be 9.01200
B 10.81100
C 12.01100
N 14.00700
O 15.99900
F 18.99800
Ne 20.18300
Na 22.99000
Mg 24.31200
Al 26.98200
Si 28.08600
P 30.97400
S 32.06400
Cl 35.45300
Ar 39.94800
K 39.10200
Ca 40.08000
Sc 44.95600
Ti 47.90000
V 50.94200
Cr 51.99600
Mn 54.93800
Fe 55.84700
Co 58.93300
Ni 58.71000
Cu 63.54000
Zn 65.37000
Ga 69.72000
Ge 72.59000
As 74.92200
Se 78.96000
Br 79.90900
Kr 83.80000
Rb 85.47000
Sr 87.62000
Y 88.90500
Zr 91.22000
Nb 92.90600
Mo 95.94000
Tc 98.00000
Ru 101.07000
Rh 102.90500
Pd 106.40000
Ag 107.87000
Cd 112.40000
In 114.82000
Sn 118.69000
Sb 121.75000
Te 127.60000
I 126.90400
Xe 131.30000
Cs 132.90500
Ba 137.34000
La 138.91000
Ce 140.12000
Pr 140.90700
Nd 144.24001
Pm 147.00000
Sm 150.35001
Eu 151.96001
Gd 157.25000
Tb 158.92400
Dy 162.50000
Ho 164.92999
Er 167.25999
Tm 168.93401
Yb 173.03999
Lu 174.97000
Hf 178.49001
Ta 180.94800
W 183.85001
Re 186.20000
Os 190.20000
Ir 192.20000
Pt 195.09000
Au 196.96700
Hg 200.59000
Tl 204.37000
Pb 207.19000
Bi 208.98000
Po 210.00000
At 210.00000
Rn 222.00000
Fr 223.00000
Ra 226.00000
Ac 227.00000
Th 232.03799
Pa 231.00000
U 238.03000

View File

@ -0,0 +1,19 @@
Dateienverzeichnis
TrimSp3L.f : Fortran Code von TrimSp
rechnet 3 Layer mit jeweils maximal 5 Elementen
100 Stuetzstellen
TrimSp3L.exe : executable
Datmak3L : Fortran Code zum Erstellen von input Dateien fuer TrimSp3L Rechnungen
benutzt Stopping power nach ICRU (DateiL Stopicru.dat)
wenn man andere Stopping powers nehmen moechte, muss man das im
Fortran Code aendern
dichte.dat : Dichte der Elemente
masse.dat : Masse der Elemente
elast.dat : Festkoerperbindungsenergie der Elemente
stopicru : Energieverlust von p in den Elementen, hier nach ICRU
stopping : Energieverlust von p in den Elementen, hier nach AZ
generelle Beschreibung von TrimSp findet man in der Datei TRVMC95-3L.txt

View File

@ -0,0 +1,92 @@
H 1.25400 1.44000 242.60001 12000.00000 0.11590
He 1.22900 1.39700 484.50000 5873.00000 0.05225
Li 1.41100 1.60000 725.59998 3013.00000 0.04578
Be 2.24800 2.59000 966.00000 153.80000 0.03475
B 2.47400 2.81500 1206.00000 1060.00000 0.02855
C 0.00000 2.60100 1701.00000 1279.00000 0.01638
N 2.95400 3.35000 1683.00000 1900.00000 0.02513
O 2.65200 3.00000 1920.00000 2000.00000 0.02230
F 2.08500 2.35200 2157.00000 2634.00000 0.01816
Ne 1.95100 2.19900 2393.00000 2699.00000 0.01568
Na 2.54200 2.86900 2628.00000 1854.00000 0.01472
Mg 3.79100 4.29300 2862.00000 1009.00000 0.01397
Al 4.15400 4.73900 2766.00000 164.50000 0.02023
Si 4.91400 5.59800 3193.00000 232.70000 0.01419
P 3.23200 3.64700 3561.00000 1560.00000 0.01267
S 3.44700 3.89100 3792.00000 1219.00000 0.01211
Cl 5.30100 6.00800 3969.00000 645.09998 0.01183
Ar 5.73100 6.50000 4253.00000 530.00000 0.01123
K 5.15200 5.83300 4482.00000 545.70001 0.01129
Ca 5.52100 6.25200 4710.00000 553.29999 0.01120
Sc 5.20100 5.88400 4938.00000 560.90002 0.01000
Ti 4.85800 5.48900 5260.00000 651.09998 0.00893
V 4.47900 5.05500 5391.00000 952.29999 0.00912
Cr 3.98300 4.48900 5616.00000 1336.00000 0.00841
Mn 3.46900 3.90700 5725.00000 1461.00000 0.00883
Fe 3.51900 3.96300 6065.00000 1243.00000 0.00778
Co 3.14000 3.53500 6288.00000 1372.00000 0.00736
Ni 3.55300 4.00400 6205.00000 555.09998 0.00876
Cu 3.69600 4.19400 4649.00000 81.13000 0.02242
Zn 4.21000 4.75000 6953.00000 295.20001 0.00681
Ga 5.04100 5.69700 7137.00000 202.60001 0.00673
Ge 5.55400 6.30000 6496.00000 110.00000 0.00969
As 5.32300 6.01200 7611.00000 292.50000 0.00645
Se 5.87400 6.65600 7395.00000 117.50000 0.00768
Br 6.65800 7.53600 7694.00000 222.30000 0.00651
Kr 6.41300 7.24000 11850.00000 153.70000 0.00288
Rb 5.69400 6.42900 8478.00000 292.89999 0.00609
Sr 6.33900 7.15900 8693.00000 330.29999 0.00600
Y 6.40700 7.23400 8907.00000 367.79999 0.00589
Zr 6.73400 7.60300 9120.00000 405.20001 0.00576
Nb 6.90100 7.79100 9333.00000 442.70001 0.00559
Mo 6.42400 7.24800 9545.00000 480.20001 0.00538
Tc 6.79900 7.67100 9756.00000 517.59998 0.00532
Ru 6.10900 6.88700 9966.00000 555.09998 0.00515
Rh 5.92400 6.67700 10180.00000 592.50000 0.00492
Pd 5.23800 5.90000 10380.00000 630.00000 0.00476
Ag 5.34500 6.03800 6790.00000 397.79999 0.01676
Cd 5.81400 6.55400 10800.00000 355.50000 0.00463
In 6.22900 7.02400 11010.00000 370.89999 0.00454
Sn 6.40900 7.22700 11210.00000 386.39999 0.00447
Sb 7.50000 8.48000 8608.00000 348.00000 0.00907
Te 6.97900 7.87100 11620.00000 392.39999 0.00440
I 7.72500 8.71600 11830.00000 394.79999 0.00438
Xe 8.33700 9.42500 10510.00000 269.60001 0.00621
Cs 7.28700 8.21800 12230.00000 399.70001 0.00445
Ba 7.89900 8.91100 12430.00000 402.10001 0.00451
La 8.04100 9.07100 12630.00000 404.50000 0.00454
Ce 7.48800 8.44400 12830.00000 406.89999 0.00442
Pr 7.29100 8.21900 13030.00000 409.29999 0.00430
Nd 7.09800 8.00000 13230.00000 411.79999 0.00418
Pm 6.90900 7.78600 13430.00000 414.20001 0.00406
Sm 6.72800 7.58000 13620.00000 416.60001 0.00398
Eu 6.55100 7.38000 13820.00000 419.00000 0.00388
Gd 6.73900 7.59200 14020.00000 421.39999 0.00386
Tb 6.21200 6.99600 14210.00000 423.89999 0.00372
Dy 5.51700 6.21000 14400.00000 426.29999 0.00363
Ho 5.22000 5.87400 14600.00000 428.70001 0.00350
Er 5.07100 5.70600 14790.00000 433.00000 0.00341
Tm 4.92600 5.54200 14980.00000 433.50000 0.00334
Yb 4.78800 5.38600 15170.00000 435.89999 0.00329
Lu 4.89300 5.50500 15360.00000 438.29999 0.00324
Hf 5.02800 5.65700 15550.00000 440.79999 0.00320
Ta 4.73800 5.32900 15740.00000 443.20001 0.00319
W 4.58700 5.16000 15410.00000 415.29999 0.00341
Re 5.20100 5.85100 16120.00000 441.60001 0.00312
Os 5.07100 5.70400 16300.00000 440.89999 0.00308
Ir 4.94600 5.56300 16490.00000 440.10001 0.00296
Pt 4.47700 5.03400 16670.00000 439.29999 0.00287
Au 6.35587 7.45642 5645.27000 996.16230 0.04881
Hg 4.30700 4.84300 17040.00000 487.79999 0.00288
Tl 4.72300 5.31100 17220.00000 537.00000 0.00291
Pb 5.31900 5.98200 17400.00000 586.29999 0.00287
Bi 5.95600 6.70000 17800.00000 677.00000 0.00266
Po 6.15800 6.92800 17770.00000 586.29999 0.00281
At 6.20300 6.97900 17950.00000 586.29999 0.00278
Rn 6.18100 6.95400 18120.00000 586.29999 0.00275
Fr 6.94900 7.82000 18300.00000 586.29999 0.00274
Ra 7.50600 8.44800 18480.00000 586.29999 0.00273
Ac 7.64800 8.60900 18660.00000 586.29999 0.00270
Th 7.71100 8.67900 18830.00000 586.29999 0.00264
Pa 7.40700 8.33600 19010.00000 586.29999 0.00260
U 7.29000 8.20400 19180.00000 586.29999 0.00267

View File

@ -0,0 +1,92 @@
H 1.25400 1.44000 242.60001 12000.00000 0.11590
He 1.22900 1.39700 484.50000 5873.00000 0.05225
Li 1.41100 1.60000 725.59998 3013.00000 0.04578
Be 2.24800 2.59000 966.00000 153.80000 0.03475
B 2.47400 2.81500 1206.00000 1060.00000 0.02855
C 0.00000 2.60100 1701.00000 1279.00000 0.01638
N 2.95400 3.35000 1683.00000 1900.00000 0.02513
O 2.65200 3.00000 1920.00000 2000.00000 0.02230
F 2.08500 2.35200 2157.00000 2634.00000 0.01816
Ne 1.95100 2.19900 2393.00000 2699.00000 0.01568
Na 2.54200 2.86900 2628.00000 1854.00000 0.01472
Mg 3.79100 4.29300 2862.00000 1009.00000 0.01397
Al 4.15400 4.73900 2766.00000 164.50000 0.02023
Si 4.91400 5.59800 3193.00000 232.70000 0.01419
P 3.23200 3.64700 3561.00000 1560.00000 0.01267
S 3.44700 3.89100 3792.00000 1219.00000 0.01211
Cl 5.30100 6.00800 3969.00000 645.09998 0.01183
Ar 5.73100 6.50000 4253.00000 530.00000 0.01123
K 5.15200 5.83300 4482.00000 545.70001 0.01129
Ca 5.52100 6.25200 4710.00000 553.29999 0.01120
Sc 5.20100 5.88400 4938.00000 560.90002 0.01000
Ti 4.85800 5.48900 5260.00000 651.09998 0.00893
V 4.47900 5.05500 5391.00000 952.29999 0.00912
Cr 3.98300 4.48900 5616.00000 1336.00000 0.00841
Mn 3.46900 3.90700 5725.00000 1461.00000 0.00883
Fe 3.51900 3.96300 6065.00000 1243.00000 0.00778
Co 3.14000 3.53500 6288.00000 1372.00000 0.00736
Ni 3.55300 4.00400 6205.00000 555.09998 0.00876
Cu 3.69600 4.19400 4649.00000 81.13000 0.02242
Zn 4.21000 4.75000 6953.00000 295.20001 0.00681
Ga 5.04100 5.69700 7137.00000 202.60001 0.00673
Ge 5.55400 6.30000 6496.00000 110.00000 0.00969
As 5.32300 6.01200 7611.00000 292.50000 0.00645
Se 5.87400 6.65600 7395.00000 117.50000 0.00768
Br 6.65800 7.53600 7694.00000 222.30000 0.00651
Kr 6.41300 7.24000 11850.00000 153.70000 0.00288
Rb 5.69400 6.42900 8478.00000 292.89999 0.00609
Sr 6.33900 7.15900 8693.00000 330.29999 0.00600
Y 6.40700 7.23400 8907.00000 367.79999 0.00589
Zr 6.73400 7.60300 9120.00000 405.20001 0.00576
Nb 6.90100 7.79100 9333.00000 442.70001 0.00559
Mo 6.42400 7.24800 9545.00000 480.20001 0.00538
Tc 6.79900 7.67100 9756.00000 517.59998 0.00532
Ru 6.10900 6.88700 9966.00000 555.09998 0.00515
Rh 5.92400 6.67700 10180.00000 592.50000 0.00492
Pd 5.23800 5.90000 10380.00000 630.00000 0.00476
Ag 5.34500 6.03800 6790.00000 397.79999 0.01676
Cd 5.81400 6.55400 10800.00000 355.50000 0.00463
In 6.22900 7.02400 11010.00000 370.89999 0.00454
Sn 6.40900 7.22700 11210.00000 386.39999 0.00447
Sb 7.50000 8.48000 8608.00000 348.00000 0.00907
Te 6.97900 7.87100 11620.00000 392.39999 0.00440
I 7.72500 8.71600 11830.00000 394.79999 0.00438
Xe 8.33700 9.42500 10510.00000 269.60001 0.00621
Cs 7.28700 8.21800 12230.00000 399.70001 0.00445
Ba 7.89900 8.91100 12430.00000 402.10001 0.00451
La 8.04100 9.07100 12630.00000 404.50000 0.00454
Ce 7.48800 8.44400 12830.00000 406.89999 0.00442
Pr 7.29100 8.21900 13030.00000 409.29999 0.00430
Nd 7.09800 8.00000 13230.00000 411.79999 0.00418
Pm 6.90900 7.78600 13430.00000 414.20001 0.00406
Sm 6.72800 7.58000 13620.00000 416.60001 0.00398
Eu 6.55100 7.38000 13820.00000 419.00000 0.00388
Gd 6.73900 7.59200 14020.00000 421.39999 0.00386
Tb 6.21200 6.99600 14210.00000 423.89999 0.00372
Dy 5.51700 6.21000 14400.00000 426.29999 0.00363
Ho 5.22000 5.87400 14600.00000 428.70001 0.00350
Er 5.07100 5.70600 14790.00000 433.00000 0.00341
Tm 4.92600 5.54200 14980.00000 433.50000 0.00334
Yb 4.78800 5.38600 15170.00000 435.89999 0.00329
Lu 4.89300 5.50500 15360.00000 438.29999 0.00324
Hf 5.02800 5.65700 15550.00000 440.79999 0.00320
Ta 4.73800 5.32900 15740.00000 443.20001 0.00319
W 4.58700 5.16000 15410.00000 415.29999 0.00341
Re 5.20100 5.85100 16120.00000 441.60001 0.00312
Os 5.07100 5.70400 16300.00000 440.89999 0.00308
Ir 4.94600 5.56300 16490.00000 440.10001 0.00296
Pt 4.47700 5.03400 16670.00000 439.29999 0.00287
Au 4.84400 5.45800 7852.00000 975.79999 0.02077
Hg 4.30700 4.84300 17040.00000 487.79999 0.00288
Tl 4.72300 5.31100 17220.00000 537.00000 0.00291
Pb 5.31900 5.98200 17400.00000 586.29999 0.00287
Bi 5.95600 6.70000 17800.00000 677.00000 0.00266
Po 6.15800 6.92800 17770.00000 586.29999 0.00281
At 6.20300 6.97900 17950.00000 586.29999 0.00278
Rn 6.18100 6.95400 18120.00000 586.29999 0.00275
Fr 6.94900 7.82000 18300.00000 586.29999 0.00274
Ra 7.50600 8.44800 18480.00000 586.29999 0.00273
Ac 7.64800 8.60900 18660.00000 586.29999 0.00270
Th 7.71100 8.67900 18830.00000 586.29999 0.00264
Pa 7.40700 8.33600 19010.00000 586.29999 0.00260
U 7.29000 8.20400 19180.00000 586.29999 0.00267

View File

@ -0,0 +1,92 @@
H 1.26200 1.44000 242.60001 12000.00000 0.11590
He 1.22900 1.39700 484.50000 5873.00000 0.05225
Li 1.41100 1.60000 725.59998 3013.00000 0.04578
Be 2.24800 2.59000 966.00000 153.80000 0.03475
B 2.47400 2.81500 1206.00000 1060.00000 0.02855
C 2.63100 2.98900 1445.00000 957.20001 0.02819
N 2.95400 3.35000 1683.00000 1900.00000 0.02513
O 2.65200 3.00000 1920.00000 2000.00000 0.02230
F 2.08500 2.35200 2157.00000 2634.00000 0.01816
Ne 1.95100 2.19900 2393.00000 2699.00000 0.01568
Na 2.54200 2.86900 2628.00000 1854.00000 0.01472
Mg 3.79200 4.29300 2862.00000 1009.00000 0.01397
Al 4.15400 4.73900 2766.00000 164.50000 0.02023
Si 4.15000 4.70000 3329.00000 550.00000 0.01321
P 3.23200 3.64700 3561.00000 1560.00000 0.01267
S 3.44700 3.89100 3792.00000 1219.00000 0.01211
Cl 5.04700 5.71400 4023.00000 878.59998 0.01178
Ar 5.73100 6.50000 4253.00000 530.00000 0.01123
K 5.15100 5.83300 4482.00000 545.70001 0.01129
Ca 5.52100 6.25200 4710.00000 553.29999 0.01112
Sc 5.20100 5.88400 4938.00000 560.90002 0.01000
Ti 4.86200 5.49600 5165.00000 568.50000 0.00947
V 4.48000 5.05500 5391.00000 952.29999 0.00912
Cr 3.98300 4.48900 5616.00000 1336.00000 0.00841
Mn 3.46900 3.90700 5725.00000 1461.00000 0.00883
Fe 3.51900 3.96300 6065.00000 1243.00000 0.00778
Co 3.14000 3.53500 6288.00000 1372.00000 0.00736
Ni 3.55300 4.00400 6205.00000 555.09998 0.00876
Cu 3.69600 4.17500 4673.00000 387.79999 0.02188
Zn 4.21000 4.75000 6953.00000 295.20001 0.00681
Ga 5.04100 5.69700 7173.00000 202.60001 0.00673
Ge 5.55400 6.30000 6496.00000 110.00000 0.00969
As 5.32300 6.01200 7611.00000 292.50000 0.00645
Se 5.87400 6.65600 7395.00000 117.50000 0.00768
Br 5.61100 6.33500 8046.00000 365.20001 0.00624
Kr 6.41100 7.25000 8262.00000 220.00000 0.00609
Rb 5.69400 6.42900 8478.00000 292.89999 0.00609
Sr 6.33900 7.15900 8693.00000 330.29999 0.00600
Y 6.40700 7.23400 8907.00000 367.79999 0.00589
Zr 6.73400 7.60300 9120.00000 405.20001 0.00576
Nb 6.90200 7.79100 9333.00000 442.70001 0.00559
Mo 6.42500 7.24800 9545.00000 480.20001 0.00532
Tc 6.79900 7.67100 9756.00000 517.59998 0.00532
Ru 6.10800 6.88700 9966.00000 555.09998 0.00515
Rh 5.92400 6.67700 10180.00000 592.50000 0.00492
Pd 5.23800 5.90000 10380.00000 630.00000 0.00476
Ag 5.62300 6.35400 7160.00000 337.60001 0.01394
Cd 5.81400 6.55400 10800.00000 355.50000 0.00463
In 6.23000 7.02400 11010.00000 370.89999 0.00454
Sn 6.41000 7.22700 11210.00000 386.39999 0.00447
Sb 7.50000 8.48000 8608.00000 348.00000 0.00907
Te 6.97900 7.87100 11620.00000 392.39999 0.00440
I 7.72500 8.71600 11830.00000 394.79999 0.00438
Xe 8.23100 9.28900 12030.00000 397.29999 0.00438
Cs 7.28700 8.21800 12230.00000 399.70001 0.00445
Ba 7.89900 8.91100 12430.00000 402.10001 0.00451
La 8.04100 9.07100 12630.00000 404.50000 0.00454
Ce 7.48900 8.44400 12830.00000 406.89999 0.00442
Pr 7.29100 8.21900 13030.00000 409.29999 0.00430
Nd 7.09800 8.00000 13230.00000 411.79999 0.00418
Pm 6.91000 7.78600 13430.00000 414.20001 0.00406
Sm 6.72800 7.58000 13620.00000 416.60001 0.00398
Eu 6.55100 7.38000 13820.00000 419.00000 0.00388
Gd 6.73900 7.59200 14020.00000 421.39999 0.00386
Tb 6.21200 6.99600 14120.00000 423.89999 0.00372
Dy 5.51700 6.21000 14400.00000 426.29999 0.00363
Ho 5.21900 5.87400 14600.00000 428.70001 0.00350
Er 5.07100 5.70600 14790.00000 433.00000 0.00341
Tm 4.92600 5.54200 14980.00000 433.50000 0.00334
Yb 4.78700 5.38600 15170.00000 435.89999 0.00329
Lu 4.89300 5.50500 15360.00000 438.39999 0.00324
Hf 5.02800 5.65700 15550.00000 440.79999 0.00320
Ta 4.73800 5.32900 15740.00000 443.20001 0.00319
W 4.57400 5.14400 15930.00000 442.39999 0.00314
Re 5.20000 5.85100 16120.00000 441.60001 0.00312
Os 5.07000 5.70400 16300.00000 440.89999 0.00308
Ir 4.94500 5.56300 16490.00000 440.10001 0.00296
Pt 4.47600 5.03400 16670.00000 439.29999 0.00287
Au 4.85600 5.46000 18320.00000 438.50000 0.00254
Hg 4.30800 4.84300 17040.00000 487.79999 0.00288
Tl 4.72300 5.31100 17220.00000 537.00000 0.00291
Pb 5.31900 5.98200 17400.00000 586.29999 0.00287
Bi 5.95600 6.70000 17800.00000 677.00000 0.00266
Po 6.15800 6.92800 17770.00000 586.29999 0.00281
At 6.20400 6.97900 17950.00000 586.29999 0.00278
Rn 6.18100 6.95400 18120.00000 586.29999 0.00275
Fr 6.94900 7.82000 18300.00000 586.29999 0.00274
Ra 7.50600 8.44800 18480.00000 586.29999 0.00273
Ac 7.64900 8.60900 18660.00000 586.29999 0.00270
Th 7.71000 8.67900 18830.00000 586.29999 0.00264
Pa 7.40700 8.33600 19010.00000 586.29999 0.00260
U 7.29000 8.20400 19180.00000 586.29999 0.00257

File diff suppressed because it is too large Load Diff