Welcome to Degrad! This program can be used to give cluster size distribution and primary cluster distribution in gas mixtures for ionising particles. The spatial distribution of the thermalised electron is given and plotted as a cumulated sum. The individual events can also be output using control word, IWRITE, so that a more detailed analysis can be performed with other detector simulation programs.
Ionising particle clusters are created with a start position of the primart electron in X Y and Z of (0,0,0). It is easy to transform and pace the generated clusters on a track with the calculated primary cluster spacing along the track given by a poisson distribution.
There is at the moment no facility to allow the density effect, which may change the cluster size at energies above minimum ionising. However, the density effect is expected to be small above minimum ionising. The dE/dX is also calculated for the ionising particle energy.
We have language bindings in Shell, Fortran, and Python! You can view code in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
# to run fortran code
gfortran degrad3.3.f
./a.out
# to run python
python3 test_degrad.py
# With shell, you can just run the input interface if you have python3 and qt5 installed on your machinecd UI/
python3 MAIN.py
Make sure you're in the same directory as the file you're executing.
The input interface for degrad UI has been written in pyqt-5. main.ui contains the ui structure of the interface, created in the qt-designer.
Kittn uses API keys to allow access to the API. You can register a new Kittn API key at our developer portal.
Kittn expects for the API key to be included in all API requests to the server in a header that looks like the following:
defDEGRADE():# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)globalTMAX,SMALL,API,ESTART,THETA,PHIglobalTCFMAX#array size 10globalTCFMAX1,RSTART,EFIELD,ETHRM,ECUT,NEVENT,IMIP,IWRITE,EOVB,WB,BTHETA,BMAGSETUP(LAST)if(LAST==1):sys.exit()DENSITY()CASCDAT()MIXERC()MIXER()# CALCULATE FLUORESCENCE ABSORPTION DISTANCES FLDIST()PRINTER()if(IMIP==1):MIPCALC()# if MIP OR ELECTRON BEAM SKIP DIRECT CASCADE CALCULATIONif(IMIP<=2):PASSINGelse:ICON=IMIP-2# ICON=1 XRAY, ICON=2 BETA DECAY , ICON=3 DOUBLE BETA DECAY CONTROL0(NEVENT,ESTART,ICON)# CALCULATE AND OUTPUT AVERAGES FROM SHELLSOUTPUTC(NEVENT,IMIP)# AFTER ALL SHELL EMISSIONS THERMALISE ELECTRONSif(BMAG==0.00):MONTEFE()if(BMAG!=0.00):if(BTHETA==0.00orBTHETA==180.00):MONTEFA()elseif(BTHETA==90.00):MONTEFB()else:MONTEFC()# endif# endifSTATS2()OUTPUT()DEGRADE()sys.exit()# end
This is the main function which calls all the subroutines.
Arguments
Argument
Description
no arguments
MIXER()
The function fills arrays of collision frequency
Store counting ionisation X-Section in array CMINIXSC[6] at minimum ionising energy
Set angle cuts on angular distribution and renormalize forward scattering probability.
Can have a mixture of upto 6 gases.
Arguments
Argument
Description
NONE
-
Pseudo Code
Initialisations
Store couting ionisation X-Section in array CMINIXSC at minimum ionising energy.
Calculate and store energy grid(X-Ray,Beta or Particles)
Calls the Gasmix function which in turn calls the Gasn functions which are the characteristic functions for each gas to calculate gas cross-sections
SUBROUTINEMIXERIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*25NAMEG,NAME1,NAME2,NAME3,NAME4,NAME5,NAME6COMMON/RATIO/AN1,AN2,AN3,AN4,AN5,AN6,AN,FRAC(6)CHARACTER*50DSCRPT,SCRP1(300),SCRP2(300),SCRP3(300),SCRP4(300),/SCRP5(300),SCRP6(300)CHARACTER*50DSCRPTN,SCRPN1(10),SCRPN2(10),SCRPN3(10),SCRPN4(10),/SCRPN5(10),SCRPN6(10)COMMON/GASN/NGASN(6)COMMON/MIX1/QELM(20000),QSUM(20000),QION(6,20000),QIN1(250,20000),/QIN2(250,20000),QIN3(250,20000),QIN4(250,20000),QIN5(250,20000),/QIN6(250,20000),QSATT(20000)COMMON/MIX2/E(20000),EROOT(20000),QTOT(20000),QREL(20000),/QINEL(20000),QEL(20000)COMMON/MIX3/NIN1,NIN2,NIN3,NIN4,NIN5,NIN6,LION(6),LIN1(250),/LIN2(250),LIN3(250),LIN4(250),LIN5(250),LIN6(250),ALION(6),/ALIN1(250),ALIN2(250),ALIN3(250),ALIN4(250),ALIN5(250),ALIN6(250)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/CNSTS1/CONST1,CONST2,CONST3,CONST4,CONST5COMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITECOMMON/LARGE/CF(20000,512),EIN(512),TCF(20000),IARRY(512),/RGAS(512),IPN(512),WPL(512),IZBR(512),IPLAST,PENFRA(3,512)COMMON/LARGEN/CFN(20000,60),TCFN(20000),SCLENUL(60),NPLASTCOMMON/ANIS/PSCT(20000,512),ANGCT(20000,512),INDEX(512),NISOCOMMON/FRED/FCION(20000),FCATT(20000)COMMON/ECASC/NEGAS(512),LEGAS(512),IESHELL(512),IECASCCOMMON/MRATIO/VAN1,VAN2,VAN3,VAN4,VAN5,VAN6,VANCOMMON/IONC/DOUBLE(6,20000),CMINIXSC(6),CMINEXSC(6),ECLOSS(6),/WPLN(6),ICOUNT,AVPFRAC(3,6)COMMON/IONFL/NC0(512),EC0(512),NG1(512),EG1(512),NG2(512),EG2(512)/,WKLM(512),EFL(512)COMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/NAMES/NAMEG(6)COMMON/IDEXC/NGEXC1,NGEXC2,NGEXC3,NGEXC4,NGEXC5,NGEXC6,IDG1,IDG2,/IDG3,IDG4,IDG5,IDG6COMMON/SCRIP/DSCRPT(512),DSCRPTN(60)COMMON/IONMOD/ESPLIT(512,20),IONMODEL(512)COMMON/RLTVY/BET(20000),GAM(20000),VC,EMSDIMENSIONQ1(6,20000),Q2(6,20000),Q3(6,20000),Q4(6,20000),/Q5(6,20000),Q6(6,20000)DIMENSIONE1(6),E2(6),E3(6),E4(6),E5(6),E6(6),EI1(250),EI2(250),/EI3(250),EI4(250),EI5(250),EI6(250)DIMENSIONQATT(6,20000),EION(6)DIMENSIONPEQEL1(6,20000),PEQEL2(6,20000),PEQEL3(6,20000),/PEQEL4(6,20000),PEQEL5(6,20000),PEQEL6(6,20000)DIMENSIONPEQIN1(250,20000),PEQIN2(250,20000),PEQIN3(250,20000),/PEQIN4(250,20000),PEQIN5(250,20000),PEQIN6(250,20000)DIMENSIONPENFRA1(3,250),PENFRA2(3,250),PENFRA3(3,250),/PENFRA4(3,250),PENFRA5(3,250),PENFRA6(3,250)DIMENSIONKIN1(250),KIN2(250),KIN3(250),KIN4(250),KIN5(250),/KIN6(250)DIMENSIONKEL1(6),KEL2(6),KEL3(6),KEL4(6),KEL5(6),KEL6(6)DIMENSIONEION1(30),EION2(30),EION3(30),EION4(30),EION5(30),/EION6(30)DIMENSIONQION1(30,20000),QION2(30,20000),QION3(30,20000),/QION4(30,20000),QION5(30,20000),QION6(30,20000)DIMENSIONPEQION1(30,20000),PEQION2(30,20000),PEQION3(30,20000),/PEQION4(30,20000),PEQION5(30,20000),PEQION6(30,20000)DIMENSIONLEGAS1(30),LEGAS2(30),LEGAS3(30),LEGAS4(30),LEGAS5(30),/LEGAS6(30)DIMENSIONIESHEL1(30),IESHEL2(30),IESHEL3(30),IESHEL4(30),/IESHEL5(30),IESHEL6(30)DIMENSIONEB1(30),EB2(30),EB3(30),EB4(30),EB5(30),EB6(30)DIMENSIONNC01(30),NC02(30),NC03(30),NC04(30),NC05(30),NC06(30)DIMENSIONEC01(30),EC02(30),EC03(30),EC04(30),EC05(30),EC06(30)DIMENSIONNG11(30),NG12(30),NG13(30),NG14(30),NG15(30),NG16(30)DIMENSIONEG11(30),EG12(30),EG13(30),EG14(30),EG15(30),EG16(30)DIMENSIONNG21(30),NG22(30),NG23(30),NG24(30),NG25(30),NG26(30)DIMENSIONEG21(30),EG22(30),EG23(30),EG24(30),EG25(30),EG26(30)DIMENSIONWK1(30),WK2(30),WK3(30),WK4(30),WK5(30),WK6(30)DIMENSIONEFL1(30),EFL2(30),EFL3(30),EFL4(30),EFL5(30),EFL6(30)DIMENSIONIZBR1(250),IZBR2(250),IZBR3(250),IZBR4(250),IZBR5(250),/IZBR6(250)DIMENSIONQATT1(8,20000),QATT2(8,20000),QATT3(8,20000),/QATT4(8,20000),QATT5(8,20000),QATT6(8,20000)DIMENSIONQNUL1(10,20000),QNUL2(10,20000),QNUL3(10,20000),/QNUL4(10,20000),QNUL5(10,20000),QNUL6(10,20000),SCLN1(10),/SCLN2(10),SCLN3(10),SCLN4(10),SCLN5(10),SCLN6(10)DIMENSIONESPLIT1(5,20),ESPLIT2(5,20),ESPLIT3(5,20),ESPLIT4(5,20),/ESPLIT5(5,20),ESPLIT6(5,20)CC---------------------------------------------------------------------CCSUBROUTINEMIXERFILLSARRAYSOFCOLLISIONFREQUENCYCCANHAVEAMIXTUREOFUPTO6GASESCCMOD:STORECOUNTINGIONISATIONX-SECTIONINARRAYCMINIXSC(6)CATMINIMUMIONISINGENERGYC---------------------------------------------------------------------CNISO=0NIN1=0NIN2=0NIN3=0NIN4=0NIN5=0NIN6=0NION1=0NION2=0NION3=0NION4=0NION5=0NION6=0NATT1=0NATT2=0NATT3=0NATT4=0NATT5=0NATT6=0NUL1=0NUL2=0NUL3=0NUL4=0NUL5=0NUL6=0DO2J=1,6NAMEG(J)='-------------------------'KEL1(J)=0KEL2(J)=0KEL3(J)=0KEL4(J)=0KEL5(J)=0KEL6(J)=0DO1I=1,20000Q1(J,I)=0.0D0Q2(J,I)=0.0D0Q3(J,I)=0.0D0Q4(J,I)=0.0D0Q5(J,I)=0.0D0Q6(J,I)=0.0D0DOUBLE(J,I)=0.0D01CONTINUEE1(J)=0.0D0E2(J)=0.0D0E3(J)=0.0D0E4(J)=0.0D0E5(J)=0.0D02E6(J)=0.0D0DO222J=1,30IESHEL1(J)=0IESHEL2(J)=0IESHEL3(J)=0IESHEL4(J)=0IESHEL5(J)=0IESHEL6(J)=0LEGAS1(J)=0LEGAS2(J)=0LEGAS3(J)=0LEGAS4(J)=0LEGAS5(J)=0LEGAS6(J)=0EION1(J)=0.0D0EION2(J)=0.0D0EION3(J)=0.0D0EION4(J)=0.0D0EION5(J)=0.0D0EION6(J)=0.0D0EB1(J)=0.0D0EB2(J)=0.0D0EB3(J)=0.0D0EB4(J)=0.0D0EB5(J)=0.0D0EB6(J)=0.0D0EC01(J)=0.0D0EC02(J)=0.0D0EC03(J)=0.0D0EC04(J)=0.0D0EC05(J)=0.0D0EC06(J)=0.0D0EG11(J)=0.0D0EG12(J)=0.0D0EG13(J)=0.0D0EG14(J)=0.0D0EG15(J)=0.0D0EG16(J)=0.0D0EG21(J)=0.0D0EG22(J)=0.0D0EG23(J)=0.0D0EG24(J)=0.0D0EG25(J)=0.0D0EG26(J)=0.0D0WK1(J)=0.0D0WK2(J)=0.0D0WK3(J)=0.0D0WK4(J)=0.0D0WK5(J)=0.0D0WK6(J)=0.0D0EFL1(J)=0.0D0EFL2(J)=0.0D0EFL3(J)=0.0D0EFL4(J)=0.0D0EFL5(J)=0.0D0EFL6(J)=0.0D0NC01(J)=0NC02(J)=0NC03(J)=0NC04(J)=0NC05(J)=0NC06(J)=0NG11(J)=0NG12(J)=0NG13(J)=0NG14(J)=0NG15(J)=0NG16(J)=0NG21(J)=0NG22(J)=0NG23(J)=0NG24(J)=0NG25(J)=0NG26(J)=0DO222I=1,20000QION1(J,I)=0.0D0QION2(J,I)=0.0D0QION3(J,I)=0.0D0QION4(J,I)=0.0D0QION5(J,I)=0.0D0QION6(J,I)=0.0D0222CONTINUEDO223K=1,8DO223I=1,20000QATT1(K,I)=0.0QATT2(K,I)=0.0QATT3(K,I)=0.0QATT4(K,I)=0.0QATT5(K,I)=0.0QATT6(K,I)=0.0223CONTINUEDO224K=1,10DO224I=1,20000QNUL1(K,I)=0.0QNUL2(K,I)=0.0QNUL3(K,I)=0.0QNUL4(K,I)=0.0QNUL5(K,I)=0.0QNUL6(K,I)=0.0224CONTINUEDO225I=1,512IONMODEL(I)=0DO225K=1,20ESPLIT(I,K)=0.0225CONTINUECCALCULATEANDSTOREENERGYGRIDFORXRAYSBETASORPARTICLESIF(EFINAL.LE.20000.0)THENESTEP=EFINAL/DFLOAT(NSTEP)EHALF=ESTEP/2.0D0E(1)=EHALFGAM(1)=(EMS+E(1))/EMSBET(1)=DSQRT(1.0D0-1.0D0/(GAM(1)*GAM(1)))DO3I=2,20000AJ=DFLOAT(I-1)E(I)=EHALF+ESTEP*AJGAM(I)=(EMS+E(I))/EMSBET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))3EROOT(I)=DSQRT(E(I))EROOT(1)=DSQRT(EHALF)ELSEIF(EFINAL.GT.20000.0.AND.EFINAL.LE.140000.)THENESTEP=1.0EHALF=0.5E(1)=EHALFGAM(1)=(EMS+E(1))/EMSBET(1)=DSQRT(1.0D0-1.0D0/(GAM(1)*GAM(1)))DO31I=2,16000AJ=DFLOAT(I-1)E(I)=EHALF+ESTEP*AJGAM(I)=(EMS+E(I))/EMSBET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))31EROOT(I)=DSQRT(E(I))EROOT(1)=DSQRT(EHALF)ESTEP1=(EFINAL-16000.0)/DFLOAT(4000)DO32I=16001,20000AJ=DFLOAT(I-16000)E(I)=16000.0+AJ*ESTEP1GAM(I)=(EMS+E(I))/EMSBET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))32EROOT(I)=DSQRT(E(I))ELSEESTEP=1.0EHALF=0.5E(1)=EHALFGAM(1)=(EMS+E(1))/EMSBET(1)=DSQRT(1.0D0-1.0D0/(GAM(1)*GAM(1)))DO33I=2,12000AJ=DFLOAT(I-1)E(I)=EHALF+ESTEP*AJGAM(I)=(EMS+E(I))/EMSBET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))33EROOT(I)=DSQRT(E(I))EROOT(1)=DSQRT(EHALF)ESTEP1=20.0DO34I=12001,16000AJ=DFLOAT(I-12000)E(I)=12000.0+AJ*ESTEP1GAM(I)=(EMS+E(I))/EMSBET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))34EROOT(I)=DSQRT(E(I))ESTEP2=(EFINAL-92000.0)/DFLOAT(4000)DO35I=16001,20000AJ=DFLOAT(I-16000)E(I)=92000.0+AJ*ESTEP2GAM(I)=(EMS+E(I))/EMSBET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))35EROOT(I)=DSQRT(E(I))ENDIFCDO4I=1,250IZBR1(I)=0IZBR2(I)=0IZBR3(I)=0IZBR4(I)=0IZBR5(I)=0IZBR6(I)=0KIN1(I)=0KIN2(I)=0KIN3(I)=0KIN4(I)=0KIN5(I)=04KIN6(I)=0DO6I=1,5126INDEX(I)=0CCCALLGASCROSS-SECTIONSCALLGASMIX(NGASN(1),Q1,QIN1,NIN1,E1,EI1,NAME1,VIRIAL1,EB1,/PEQEL1,PEQIN1,PENFRA1,KEL1,KIN1,QION1,PEQION1,EION1,NION1,QATT1,/NATT1,QNUL1,NUL1,SCLN1,NC01,EC01,WK1,EFL1,NG11,EG11,NG21,EG21,/IZBR1,LEGAS1,IESHEL1,IONMODL1,ESPLIT1,SCRP1,SCRPN1)IF(NGAS.EQ.1)GOTO10CALLGASMIX(NGASN(2),Q2,QIN2,NIN2,E2,EI2,NAME2,VIRIAL2,EB2,/PEQEL2,PEQIN2,PENFRA2,KEL2,KIN2,QION2,PEQION2,EION2,NION2,QATT2,/NATT2,QNUL2,NUL2,SCLN2,NC02,EC02,WK2,EFL2,NG12,EG12,NG22,EG22,/IZBR2,LEGAS2,IESHEL2,IONMODL2,ESPLIT2,SCRP2,SCRPN2)IF(NGAS.EQ.2)GOTO10CALLGASMIX(NGASN(3),Q3,QIN3,NIN3,E3,EI3,NAME3,VIRIAL3,EB3,/PEQEL3,PEQIN3,PENFRA3,KEL3,KIN3,QION3,PEQION3,EION3,NION3,QATT3,/NATT3,QNUL3,NUL3,SCLN3,NC03,EC03,WK3,EFL3,NG13,EG13,NG23,EG23,/IZBR3,LEGAS3,IESHEL3,IONMODL3,ESPLIT3,SCRP3,SCRPN3)IF(NGAS.EQ.3)GOTO10CALLGASMIX(NGASN(4),Q4,QIN4,NIN4,E4,EI4,NAME4,VIRIAL4,EB4,/PEQEL4,PEQIN4,PENFRA4,KEL4,KIN4,QION4,PEQION4,EION4,NION4,QATT4,/NATT4,QNUL4,NUL4,SCLN4,NC04,EC04,WK4,EFL4,NG14,EG14,NG24,EG24,/IZBR4,LEGAS4,IESHEL4,IONMODL4,ESPLIT4,SCRP4,SCRPN4)IF(NGAS.EQ.4)GOTO10CALLGASMIX(NGASN(5),Q5,QIN5,NIN5,E5,EI5,NAME5,VIRIAL5,EB5,/PEQEL5,PEQIN5,PENFRA5,KEL5,KIN5,QION5,PEQION5,EION5,NION5,QATT5,/NATT5,QNUL5,NUL5,SCLN5,NC05,EC05,WK5,EFL5,NG15,EG15,NG25,EG25,/IZBR5,LEGAS5,IESHEL5,IONMODL5,ESPLIT5,SCRP5,SCRPN5)IF(NGAS.EQ.5)GOTO10CALLGASMIX(NGASN(6),Q6,QIN6,NIN6,E6,EI6,NAME6,VIRIAL6,EB6,/PEQEL6,PEQIN6,PENFRA6,KEL6,KIN6,QION6,PEQION6,EION6,NION6,QATT6,/NATT6,QNUL6,NUL6,SCLN6,NC06,EC06,WK6,EFL6,NG16,EG16,NG26,EG26,/IZBR6,LEGAS6,IESHEL6,IONMODL6,ESPLIT6,SCRP6,SCRPN6)10CONTINUEC---------------------------------------------------------------CCORRECTIONOFNUMBERDENSITYDUETOVIRIALCOEFFICIENTCCANBEPROGRAMMEDHERENOTYETIMPLEMENTED.C-----------------------------------------------------------------C-----------------------------------------------------------------CCALCULATIONOFCOLLISIONFREQUENCIESFORANARRAYOFCELECTRONENERGIESINTHERANGEZEROTOEFINALCCL=5*N-4ELASTICNTHGASCL=5*N-3IONISATIONNTHGASCL=5*N-2ATTACHMENTNTHGASCL=5*N-1INELASTICNTHGASCL=5*NSUPERELASTICNTHGASC---------------------------------------------------------------DO700IE=1,20000FCION(IE)=0.0D0FCATT(IE)=0.0D0CNP=1IDG1=1NEGAS(NP)=1LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=Q1(2,IE)*VAN1*BET(IE)PSCT(IE,NP)=0.5D0ANGCT(IE,NP)=1.0D0INDEX(NP)=0CELASTICANGIF(KEL1(2).EQ.1)THENPSCT1=PEQEL1(2,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL1(2).EQ.2)THENPSCT(IE,NP)=PEQEL1(2,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO12RGAS1=1.0D0+E1(2)/2.0D0RGAS(NP)=RGAS1EIN(NP)=0.0D0IPN(NP)=0L=1IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP1(2)NAMEG(1)=NAME1PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0AVPFRAC(1,1)=0.0AVPFRAC(2,1)=0.0AVPFRAC(3,1)=0.0CMINEXSC(1)=E1(4)*AN1CMINIXSC(1)=E1(5)*AN1ECLOSS(1)=E1(3)WPLN(1)=E1(6)12IF(EFINAL.LT.E1(3))GOTO30IF(NION1.GT.1)GOTO20NP=NP+1IDG1=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONIF(ICOUNT.EQ.1)THENCF(IE,NP)=Q1(5,IE)*VAN1*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)DOUBLE(1,IE)=Q1(3,IE)/Q1(5,IE)-1.0D0ELSECF(IE,NP)=Q1(3,IE)*VAN1*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)ENDIFNEGAS(NP)=1LEGAS(NP)=0IESHELL(NP)=0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(ICOUNT.EQ.1)THENIF(KEL1(5).EQ.1)THENPSCT1=PEQEL1(5,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL1(5).EQ.2)THENPSCT(IE,NP)=PEQEL1(5,IE)INDEX(NP)=2ENDIFELSEIF(KEL1(3).EQ.1)THENPSCT1=PEQEL1(3,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL1(3).EQ.2)THENPSCT(IE,NP)=PEQEL1(3,IE)INDEX(NP)=2ENDIFENDIFCWPL(NP)=EB1(1)NC0(NP)=NC01(1)EC0(NP)=EC01(1)NG1(NP)=NG11(1)EG1(NP)=EG11(1)NG2(NP)=NG21(1)EG2(NP)=EG21(1)WKLM(NP)=WK1(1)EFL(NP)=EFL1(1)IF(IE.GT.1)GOTO30RGAS(NP)=RGAS1EIN(NP)=E1(3)/RGAS1IPN(NP)=1L=2IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP1(3)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL1DO19K=1,2019ESPLIT(NP,K)=ESPLIT1(IONMODL1,K)GOTO3020DO25KION=1,NION1NP=NP+1IDG1=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONCF(IE,NP)=QION1(KION,IE)*VAN1*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)PSCT(IE,NP)=0.5D0ANGCT(IE,NP)=1.0D0INDEX(NP)=0NEGAS(NP)=1LEGAS(NP)=LEGAS1(KION)IESHELL(NP)=IESHEL1(KION)CIF(KEL1(3).EQ.1)THENPSCT1=PEQION1(KION,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL1(3).EQ.2)THENPSCT(IE,NP)=PEQION1(KION,IE)INDEX(NP)=2ENDIFCWPL(NP)=EB1(KION)NC0(NP)=NC01(KION)EC0(NP)=EC01(KION)NG1(NP)=NG11(KION)EG1(NP)=EG11(KION)NG2(NP)=NG21(KION)EG2(NP)=EG21(KION)WKLM(NP)=WK1(KION)EFL(NP)=EFL1(KION)IF(IE.GT.1)GOTO25RGAS(NP)=RGAS1EIN(NP)=EION1(KION)/RGAS1CIPN(NP)=1L=2IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP1(2+KION)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL1DO24K=1,2024ESPLIT(NP,K)=ESPLIT1(IONMODL1,K)25CONTINUE30IF(EFINAL.LT.E1(4))GOTO40IF(NATT1.GT.1)GOTO551NP=NP+1IDG1=NPCF(IE,NP)=Q1(4,IE)*VAN1*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO40NEGAS(NP)=1LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS1EIN(NP)=0.0D0IPN(NP)=-1L=3IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP1(3+NION1)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0GOTO40551DO552JJ=1,NATT1NP=NP+1IDG1=NPCF(IE,NP)=QATT1(JJ,IE)*VAN1*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO552NEGAS(NP)=1LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS1EIN(NP)=0.0D0IPN(NP)=-1L=3IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP1(2+NION1+JJ)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0552CONTINUE40IF(NIN1.EQ.0)GOTO60DO50J=1,NIN1NP=NP+1IDG1=NPNEGAS(NP)=1LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=QIN1(J,IE)*VAN1*BET(IE)CNOX-SECTIONFORBREMSSTRAHLUNGIFLBRM=0IF(IZBR1(J).NE.0.AND.LBRM.EQ.0)CF(IE,NP)=0.0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KIN1(J).EQ.1)THENPSCT1=PEQIN1(J,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KIN1(J).EQ.2)THENPSCT(IE,NP)=PEQIN1(J,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO50RGAS(NP)=RGAS1EIN(NP)=EI1(J)/RGAS1L=4IF(EI1(J).LT.0.0D0)L=5IPN(NP)=0IARRY(NP)=LIZBR(NP)=IZBR1(J)DSCRPT(NP)=SCRP1(4+NION1+NATT1+J)PENFRA(1,NP)=PENFRA1(1,J)PENFRA(2,NP)=PENFRA1(2,J)*1.D-6/DSQRT(3.0D0)PENFRA(3,NP)=PENFRA1(3,J)IF(PENFRA(1,NP).GT.AVPFRAC(1,1))THENAVPFRAC(1,1)=PENFRA(1,NP)AVPFRAC(2,1)=PENFRA(2,NP)AVPFRAC(3,1)=PENFRA(3,NP)ENDIFIF(J.EQ.NIN1)CMINEXSC(1)=CMINEXSC(1)*AVPFRAC(1,1)50CONTINUEC60IF(NGAS.EQ.1)GOTO600NP=NP+1IDG2=NPNEGAS(NP)=2LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=Q2(2,IE)*VAN2*BET(IE)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KEL2(2).EQ.1)THENPSCT1=PEQEL2(2,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL2(2).EQ.2)THENPSCT(IE,NP)=PEQEL2(2,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO62RGAS2=1.0D0+E2(2)/2.0D0RGAS(NP)=RGAS2EIN(NP)=0.0D0IPN(NP)=0L=6IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP2(2)NAMEG(2)=NAME2PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0AVPFRAC(1,2)=0.0AVPFRAC(2,2)=0.0AVPFRAC(3,2)=0.0CMINEXSC(2)=E2(4)*AN2CMINIXSC(2)=E2(5)*AN2ECLOSS(2)=E2(3)WPLN(2)=E2(6)62IF(EFINAL.LT.E2(3))GOTO130IF(NION2.GT.1)GOTO70NP=NP+1IDG2=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONIF(ICOUNT.EQ.1)THENCF(IE,NP)=Q2(5,IE)*VAN2*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)DOUBLE(2,IE)=Q2(3,IE)/Q2(5,IE)-1.0D0ELSECF(IE,NP)=Q2(3,IE)*VAN2*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)ENDIFNEGAS(NP)=2LEGAS(NP)=0IESHELL(NP)=0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(ICOUNT.EQ.1)THENIF(KEL2(5).EQ.1)THENPSCT1=PEQEL2(5,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL2(5).EQ.2)THENPSCT(IE,NP)=PEQEL2(5,IE)INDEX(NP)=2ENDIFELSEIF(KEL2(3).EQ.1)THENPSCT1=PEQEL2(3,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL2(3).EQ.2)THENPSCT(IE,NP)=PEQEL2(3,IE)INDEX(NP)=2ENDIFENDIFCWPL(NP)=EB2(1)NC0(NP)=NC02(1)EC0(NP)=EC02(1)NG1(NP)=NG12(1)EG1(NP)=EG12(1)NG2(NP)=NG22(1)EG2(NP)=EG22(1)WKLM(NP)=WK2(1)EFL(NP)=EFL2(1)IF(IE.GT.1)GOTO130RGAS(NP)=RGAS2EIN(NP)=E2(3)/RGAS2IPN(NP)=1L=7IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP2(3)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL2DO69K=1,2069ESPLIT(NP,K)=ESPLIT2(IONMODL2,K)GOTO13070DO80KION=1,NION2NP=NP+1IDG2=NPCF(IE,NP)=QION2(KION,IE)*VAN2*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0NEGAS(NP)=2LEGAS(NP)=LEGAS2(KION)IESHELL(NP)=IESHEL2(KION)CIF(KEL2(3).EQ.1)THENPSCT1=PEQION2(KION,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL2(3).EQ.2)THENPSCT(IE,NP)=PEQION2(KION,IE)INDEX(NP)=2ENDIFCWPL(NP)=EB2(KION)NC0(NP)=NC02(KION)EC0(NP)=EC02(KION)NG1(NP)=NG12(KION)EG1(NP)=EG12(KION)NG2(NP)=NG22(KION)EG2(NP)=EG22(KION)WKLM(NP)=WK2(KION)EFL(NP)=EFL2(KION)IF(IE.GT.1)GOTO80RGAS(NP)=RGAS2EIN(NP)=EION2(KION)/RGAS2CIPN(NP)=1L=7IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP2(2+KION)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL2DO79K=1,2079ESPLIT(NP,K)=ESPLIT2(IONMODL2,K)80CONTINUE130IF(EFINAL.LT.E2(4))GOTO140IF(NATT2.GT.1)GOTO561NP=NP+1IDG2=NPCF(IE,NP)=Q2(4,IE)*VAN2*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO140NEGAS(NP)=2LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS2EIN(NP)=0.0D0IPN(NP)=-1L=8IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP2(3+NION2)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0GOTO140561DO562JJ=1,NATT2NP=NP+1IDG2=NPCF(IE,NP)=QATT2(JJ,IE)*VAN2*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO562NEGAS(NP)=2LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS2EIN(NP)=0.0D0IPN(NP)=-1L=8IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP2(2+NION2+JJ)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0562CONTINUE140IF(NIN2.EQ.0)GOTO160DO150J=1,NIN2NP=NP+1IDG2=NPNEGAS(NP)=2LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=QIN2(J,IE)*VAN2*BET(IE)CNOX-SECTIONFORBREMSSTRAHLUNGIFLBRM=0IF(IZBR2(J).NE.0.AND.LBRM.EQ.0)CF(IE,NP)=0.0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KIN2(J).EQ.1)THENPSCT1=PEQIN2(J,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KIN2(J).EQ.2)THENPSCT(IE,NP)=PEQIN2(J,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO150RGAS(NP)=RGAS2EIN(NP)=EI2(J)/RGAS2L=9IF(EI2(J).LT.0.0D0)L=10IPN(NP)=0IARRY(NP)=LIZBR(NP)=IZBR2(J)DSCRPT(NP)=SCRP2(4+NION2+NATT2+J)PENFRA(1,NP)=PENFRA2(1,J)PENFRA(2,NP)=PENFRA2(2,J)*1.D-6/DSQRT(3.0D0)PENFRA(3,NP)=PENFRA2(3,J)IF(PENFRA(1,NP).GT.AVPFRAC(1,2))THENAVPFRAC(1,2)=PENFRA(1,NP)AVPFRAC(2,2)=PENFRA(2,NP)AVPFRAC(3,2)=PENFRA(3,NP)ENDIFIF(J.EQ.NIN2)CMINEXSC(2)=CMINEXSC(2)*AVPFRAC(1,2)150CONTINUEC160IF(NGAS.EQ.2)GOTO600NP=NP+1IDG3=NPNEGAS(NP)=3LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=Q3(2,IE)*VAN3*BET(IE)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KEL3(2).EQ.1)THENPSCT1=PEQEL3(2,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL3(2).EQ.2)THENPSCT(IE,NP)=PEQEL3(2,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO162RGAS3=1.0D0+E3(2)/2.0D0RGAS(NP)=RGAS3EIN(NP)=0.0D0IPN(NP)=0L=11IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP3(2)NAMEG(3)=NAME3PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0AVPFRAC(1,3)=0.0AVPFRAC(2,3)=0.0AVPFRAC(3,3)=0.0CMINEXSC(3)=E3(4)*AN3CMINIXSC(3)=E3(5)*AN3ECLOSS(3)=E3(3)WPLN(3)=E3(6)162IF(EFINAL.LT.E3(3))GOTO230IF(NION3.GT.1)GOTO170NP=NP+1IDG3=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONIF(ICOUNT.EQ.1)THENCF(IE,NP)=Q3(5,IE)*VAN3*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)DOUBLE(3,IE)=Q3(3,IE)/Q3(5,IE)-1.0D0ELSECF(IE,NP)=Q3(3,IE)*VAN3*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)ENDIFNEGAS(NP)=3LEGAS(NP)=0IESHELL(NP)=0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(ICOUNT.EQ.1)THENIF(KEL3(5).EQ.1)THENPSCT1=PEQEL3(5,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL3(5).EQ.2)THENPSCT(IE,NP)=PEQEL3(5,IE)INDEX(NP)=2ENDIFELSEIF(KEL3(3).EQ.1)THENPSCT1=PEQEL3(3,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL3(3).EQ.2)THENPSCT(IE,NP)=PEQEL3(3,IE)INDEX(NP)=2ENDIFENDIFCWPL(NP)=EB3(1)NC0(NP)=NC03(1)EC0(NP)=EC03(1)NG1(NP)=NG13(1)EG1(NP)=EG13(1)NG2(NP)=NG23(1)EG2(NP)=EG23(1)WKLM(NP)=WK3(1)EFL(NP)=EFL3(1)IF(IE.GT.1)GOTO230RGAS(NP)=RGAS3EIN(NP)=E3(3)/RGAS3IPN(NP)=1L=12IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP3(3)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL3DO169K=1,20169ESPLIT(NP,K)=ESPLIT3(IONMODL3,K)GOTO230170DO180KION=1,NION3NP=NP+1IDG3=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONCF(IE,NP)=QION3(KION,IE)*VAN3*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0NEGAS(NP)=3LEGAS(NP)=LEGAS3(KION)IESHELL(NP)=IESHEL3(KION)CIF(KEL3(3).EQ.1)THENPSCT1=PEQION3(3,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL3(3).EQ.2)THENPSCT(IE,NP)=PEQION3(KION,IE)INDEX(NP)=2ENDIFCWPL(NP)=EB3(KION)NC0(NP)=NC03(KION)EC0(NP)=EC03(KION)NG1(NP)=NG13(KION)EG1(NP)=EG13(KION)NG2(NP)=NG23(KION)EG2(NP)=EG23(KION)WKLM(NP)=WK3(KION)EFL(NP)=EFL3(KION)IF(IE.GT.1)GOTO180RGAS(NP)=RGAS3EIN(NP)=EION3(KION)/RGAS3CIPN(NP)=1L=12IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP3(2+KION)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL3DO179K=1,20179ESPLIT(NP,K)=ESPLIT3(IONMODL3,K)180CONTINUE230IF(EFINAL.LT.E3(4))GOTO240IF(NATT3.GT.1)GOTO571NP=NP+1IDG3=NPCF(IE,NP)=Q3(4,IE)*VAN3*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO240NEGAS(NP)=3LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS3EIN(NP)=0.0D0IPN(NP)=-1L=13IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP3(3+NION3)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0GOTO240571CONTINUEDO572JJ=1,NATT3NP=NP+1IDG3=NPCF(IE,NP)=QATT3(JJ,IE)*VAN3*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO572NEGAS(NP)=3LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS3EIN(NP)=0.0D0IPN(NP)=-1L=13IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP3(2+NION3+JJ)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0572CONTINUE240IF(NIN3.EQ.0)GOTO260DO250J=1,NIN3NP=NP+1IDG3=NPNEGAS(NP)=3LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=QIN3(J,IE)*VAN3*BET(IE)CNOX-SECTIONFORBREMSSTRAHLUNGIFLBRM=0IF(IZBR3(J).NE.0.AND.LBRM.EQ.0)CF(IE,NP)=0.0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KIN3(J).EQ.1)THENPSCT1=PEQIN3(J,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KIN3(J).EQ.2)THENPSCT(IE,NP)=PEQIN3(J,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO250RGAS(NP)=RGAS3EIN(NP)=EI3(J)/RGAS3L=14IF(EI3(J).LT.0.0D0)L=15IPN(NP)=0IARRY(NP)=LIZBR(NP)=IZBR3(J)DSCRPT(NP)=SCRP3(4+NION3+NATT3+J)PENFRA(1,NP)=PENFRA3(1,J)PENFRA(2,NP)=PENFRA3(2,J)*1.D-6/DSQRT(3.0D0)PENFRA(3,NP)=PENFRA3(3,J)IF(PENFRA(1,NP).GT.AVPFRAC(1,3))THENAVPFRAC(1,3)=PENFRA(1,NP)AVPFRAC(2,3)=PENFRA(2,NP)AVPFRAC(3,3)=PENFRA(3,NP)ENDIFIF(J.EQ.NIN3)CMINEXSC(3)=CMINEXSC(3)*AVPFRAC(1,3)250CONTINUEC260IF(NGAS.EQ.3)GOTO600NP=NP+1IDG4=NPNEGAS(NP)=4LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=Q4(2,IE)*VAN4*BET(IE)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KEL4(2).EQ.1)THENPSCT1=PEQEL4(2,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL4(2).EQ.2)THENPSCT(IE,NP)=PEQEL4(2,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO262RGAS4=1.0D0+E4(2)/2.0D0RGAS(NP)=RGAS4EIN(NP)=0.0D0IPN(NP)=0L=16IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP4(2)NAMEG(4)=NAME4PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0AVPFRAC(1,4)=0.0AVPFRAC(2,4)=0.0AVPFRAC(3,4)=0.0CMINEXSC(4)=E4(4)*AN4CMINIXSC(4)=E4(5)*AN4ECLOSS(4)=E4(3)WPLN(4)=E4(6)262IF(EFINAL.LT.E4(3))GOTO330IF(NION4.GT.1)GOTO270NP=NP+1IDG4=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONIF(ICOUNT.EQ.1)THENCF(IE,NP)=Q4(5,IE)*VAN4*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)DOUBLE(4,IE)=Q4(3,IE)/Q4(5,IE)-1.0D0ELSECF(IE,NP)=Q4(3,IE)*VAN4*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)ENDIFNEGAS(NP)=4LEGAS(NP)=0IESHELL(NP)=0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(ICOUNT.EQ.1)THENIF(KEL4(5).EQ.1)THENPSCT1=PEQEL4(5,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL4(5).EQ.2)THENPSCT(IE,NP)=PEQEL4(5,IE)INDEX(NP)=2ENDIFELSEIF(KEL4(3).EQ.1)THENPSCT1=PEQEL4(3,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL4(3).EQ.2)THENPSCT(IE,NP)=PEQEL4(3,IE)INDEX(NP)=2ENDIFENDIFCWPL(NP)=EB4(1)NC0(NP)=NC04(1)EC0(NP)=EC04(1)NG1(NP)=NG14(1)EG1(NP)=EG14(1)NG2(NP)=NG24(1)EG2(NP)=EG24(1)WKLM(NP)=WK4(1)EFL(NP)=EFL4(1)IF(IE.GT.1)GOTO330RGAS(NP)=RGAS4EIN(NP)=E4(3)/RGAS4IPN(NP)=1L=17IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP4(3)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL4DO269K=1,20269ESPLIT(NP,K)=ESPLIT4(IONMODL4,K)GOTO330270DO280KION=1,NION4NP=NP+1IDG4=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONCF(IE,NP)=QION4(KION,IE)*VAN4*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0NEGAS(NP)=4LEGAS(NP)=LEGAS4(KION)IESHELL(NP)=IESHEL4(KION)CIF(KEL4(3).EQ.1)THENPSCT1=PEQION4(KION,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL4(3).EQ.2)THENPSCT(IE,NP)=PEQION4(KION,IE)INDEX(NP)=2ENDIFCWPL(NP)=EB4(KION)NC0(NP)=NC04(KION)EC0(NP)=EC04(KION)NG1(NP)=NG14(KION)EG1(NP)=EG14(KION)NG2(NP)=NG24(KION)EG2(NP)=EG24(KION)WKLM(NP)=WK4(KION)EFL(NP)=EFL4(KION)IF(IE.GT.1)GOTO280RGAS(NP)=RGAS4EIN(NP)=EION4(KION)/RGAS4CIPN(NP)=1L=17IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP4(2+KION)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL4DO279K=1,20279ESPLIT(NP,K)=ESPLIT4(IONMODL4,K)280CONTINUE330IF(EFINAL.LT.E4(4))GOTO340IF(NATT4.GT.1)GOTO581NP=NP+1IDG4=NPCF(IE,NP)=Q4(4,IE)*VAN4*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO340NEGAS(NP)=4LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS4EIN(NP)=0.0D0IPN(NP)=-1L=18IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP4(3+NION4)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0GOTO340581DO582JJ=1,NATT4NP=NP+1IDG4=NPCF(IE,NP)=QATT4(JJ,IE)*VAN4*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO582NEGAS(NP)=4LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS4EIN(NP)=0.0D0IPN(NP)=-1L=18IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP4(2+NION4+JJ)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0582CONTINUE340IF(NIN4.EQ.0)GOTO360DO350J=1,NIN4NP=NP+1IDG4=NPNEGAS(NP)=4LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=QIN4(J,IE)*VAN4*BET(IE)CNOX-SECTIONFORBREMSSTRAHLUNGIFLBRM=0IF(IZBR4(J).NE.0.AND.LBRM.EQ.0)CF(IE,NP)=0.0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KIN4(J).EQ.1)THENPSCT1=PEQIN4(J,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KIN4(J).EQ.2)THENPSCT(IE,NP)=PEQIN4(J,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO350RGAS(NP)=RGAS4EIN(NP)=EI4(J)/RGAS4L=19IF(EI4(J).LT.0.0D0)L=20IPN(NP)=0IARRY(NP)=LIZBR(NP)=IZBR4(J)DSCRPT(NP)=SCRP4(4+NION4+NATT4+J)PENFRA(1,NP)=PENFRA4(1,J)PENFRA(2,NP)=PENFRA4(2,J)*1.D-6/DSQRT(3.0D0)PENFRA(3,NP)=PENFRA4(3,J)IF(PENFRA(1,NP).GT.AVPFRAC(1,4))THENAVPFRAC(1,4)=PENFRA(1,NP)AVPFRAC(2,4)=PENFRA(2,NP)AVPFRAC(3,4)=PENFRA(3,NP)ENDIFIF(J.EQ.NIN4)CMINEXSC(4)=CMINEXSC(4)*AVPFRAC(1,4)350CONTINUEC360IF(NGAS.EQ.4)GOTO600NP=NP+1IDG5=NPNEGAS(NP)=5LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=Q5(2,IE)*VAN5*BET(IE)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KEL5(2).EQ.1)THENPSCT1=PEQEL5(2,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL5(2).EQ.2)THENPSCT(IE,NP)=PEQEL5(2,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO362RGAS5=1.0D0+E5(2)/2.0D0RGAS(NP)=RGAS5EIN(NP)=0.0D0IPN(NP)=0L=21IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP5(2)NAMEG(5)=NAME5PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0AVPFRAC(1,5)=0.0AVPFRAC(2,5)=0.0AVPFRAC(3,5)=0.0CMINEXSC(5)=E5(4)*AN5CMINIXSC(5)=E5(5)*AN5ECLOSS(5)=E5(3)WPLN(5)=E5(6)362IF(EFINAL.LT.E5(3))GOTO430IF(NION5.GT.1)GOTO370NP=NP+1IDG5=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONIF(ICOUNT.EQ.1)THENCF(IE,NP)=Q5(5,IE)*VAN5*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)DOUBLE(5,IE)=Q5(3,IE)/Q5(5,IE)-1.0D0ELSECF(IE,NP)=Q5(3,IE)*VAN5*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)ENDIFNEGAS(NP)=5LEGAS(NP)=0IESHELL(NP)=0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(ICOUNT.EQ.1)THENIF(KEL5(5).EQ.1)THENPSCT1=PEQEL5(5,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL5(5).EQ.2)THENPSCT(IE,NP)=PEQEL5(5,IE)INDEX(NP)=2ENDIFELSEIF(KEL5(3).EQ.1)THENPSCT1=PEQEL5(3,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL5(3).EQ.2)THENPSCT(IE,NP)=PEQEL5(3,IE)INDEX(NP)=2ENDIFENDIFCWPL(NP)=EB5(1)NC0(NP)=NC05(1)EC0(NP)=EC05(1)NG1(NP)=NG15(1)EG1(NP)=EG15(1)NG2(NP)=NG25(1)EG2(NP)=EG25(1)WKLM(NP)=WK5(1)EFL(NP)=EFL5(1)IF(IE.GT.1)GOTO430RGAS(NP)=RGAS5EIN(NP)=E5(3)/RGAS5IPN(NP)=1L=22IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP5(3)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL5DO369K=1,20369ESPLIT(NP,K)=ESPLIT5(IONMODL5,K)GOTO430370DO380KION=1,NION5NP=NP+1IDG5=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONCF(IE,NP)=QION5(KION,IE)*VAN5*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0NEGAS(NP)=5LEGAS(NP)=LEGAS5(KION)IESHELL(NP)=IESHEL5(KION)CIF(KEL5(3).EQ.1)THENPSCT1=PEQION5(KION,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL5(3).EQ.2)THENPSCT(IE,NP)=PEQION5(KION,IE)INDEX(NP)=2ENDIFCWPL(NP)=EB5(KION)NC0(NP)=NC05(KION)EC0(NP)=EC05(KION)NG1(NP)=NG15(KION)EG1(NP)=EG15(KION)NG2(NP)=NG25(KION)EG2(NP)=EG25(KION)WKLM(NP)=WK5(KION)EFL(NP)=EFL5(KION)IF(IE.GT.1)GOTO380RGAS(NP)=RGAS5EIN(NP)=EION5(KION)/RGAS5CIPN(NP)=1L=22IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP5(2+KION)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL5DO379K=1,20379ESPLIT(NP,K)=ESPLIT5(IONMODL5,K)380CONTINUE430IF(EFINAL.LT.E5(4))GOTO440IF(NATT5.GT.1)GOTO591NP=NP+1IDG5=NPCF(IE,NP)=Q5(4,IE)*VAN5*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO440NEGAS(NP)=5LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS5EIN(NP)=0.0D0IPN(NP)=-1L=23IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP5(3+NION5)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0GOTO440591DO592JJ=1,NATT5NP=NP+1IDG5=NPCF(IE,NP)=QATT5(JJ,IE)*VAN5*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO592NEGAS(NP)=5LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS5EIN(NP)=0.0D0IPN(NP)=-1L=23IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP5(2+NION5+JJ)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0592CONTINUE440IF(NIN5.EQ.0)GOTO460DO450J=1,NIN5NP=NP+1IDG5=NPNEGAS(NP)=5LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=QIN5(J,IE)*VAN5*BET(IE)CNOX-SECTIONFORBREMSSTRAHLUNGIFLBRM=0IF(IZBR5(J).NE.0.AND.LBRM.EQ.0)CF(IE,NP)=0.0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KIN5(J).EQ.1)THENPSCT1=PEQIN5(J,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KIN5(J).EQ.2)THENPSCT(IE,NP)=PEQIN5(J,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO450RGAS(NP)=RGAS5EIN(NP)=EI5(J)/RGAS5L=24IF(EI5(J).LT.0.0D0)L=25IPN(NP)=0IARRY(NP)=LIZBR(NP)=IZBR5(J)DSCRPT(NP)=SCRP5(4+NION5+NATT5+J)PENFRA(1,NP)=PENFRA5(1,J)PENFRA(2,NP)=PENFRA5(2,J)*1.D-6/DSQRT(3.0D0)PENFRA(3,NP)=PENFRA5(3,J)IF(PENFRA(1,NP).GT.AVPFRAC(1,5))THENAVPFRAC(1,5)=PENFRA(1,NP)AVPFRAC(2,5)=PENFRA(2,NP)AVPFRAC(3,5)=PENFRA(3,NP)ENDIFIF(J.EQ.NIN5)CMINEXSC(5)=CMINEXSC(5)*AVPFRAC(1,5)450CONTINUEC460IF(NGAS.EQ.5)GOTO600NP=NP+1IDG6=NPNEGAS(NP)=6LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=Q6(2,IE)*VAN6*BET(IE)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KEL6(2).EQ.1)THENPSCT1=PEQEL6(2,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL6(2).EQ.2)THENPSCT(IE,NP)=PEQEL6(2,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO462RGAS6=1.0D0+E6(2)/2.0D0RGAS(NP)=RGAS6EIN(NP)=0.0D0IPN(NP)=0L=26IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP6(2)NAMEG(6)=NAME6PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0AVPFRAC(1,6)=0.0AVPFRAC(2,6)=0.0AVPFRAC(3,6)=0.0CMINEXSC(6)=E6(4)*AN6CMINIXSC(6)=E6(5)*AN6ECLOSS(6)=E6(3)WPLN(6)=E6(6)462IF(EFINAL.LT.E6(3))GOTO530IF(NION6.GT.1)GOTO470NP=NP+1IDG6=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONIF(ICOUNT.EQ.1)THENCF(IE,NP)=Q6(5,IE)*VAN6*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)DOUBLE(6,IE)=Q6(3,IE)/Q6(5,IE)-1.0D0ELSECF(IE,NP)=Q6(3,IE)*VAN6*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)ENDIFNEGAS(NP)=6LEGAS(NP)=0IESHELL(NP)=0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(ICOUNT.EQ.1)THENIF(KEL6(5).EQ.1)THENPSCT1=PEQEL6(5,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL6(5).EQ.2)THENPSCT(IE,NP)=PEQEL6(5,IE)INDEX(NP)=2ENDIFELSEIF(KEL6(3).EQ.1)THENPSCT1=PEQEL6(3,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL6(3).EQ.2)THENPSCT(IE,NP)=PEQEL6(3,IE)INDEX(NP)=2ENDIFENDIFCWPL(NP)=EB6(1)NC0(NP)=NC06(1)EC0(NP)=EC06(1)NG1(NP)=NG16(1)EG1(NP)=EG16(1)NG2(NP)=NG26(1)EG2(NP)=EG26(1)WKLM(NP)=WK6(1)EFL(NP)=EFL6(1)IF(IE.GT.1)GOTO530RGAS(NP)=RGAS6EIN(NP)=E6(3)/RGAS6IPN(NP)=1L=27IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP6(3)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0GOTO530470DO480KION=1,NION6NP=NP+1IDG6=NPCCHOOSEBETWEENCOUNTINGANDGROSSIONISATIONX-SECTIONCF(IE,NP)=QION6(KION,IE)*VAN6*BET(IE)FCION(IE)=FCION(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0NEGAS(NP)=6LEGAS(NP)=LEGAS6(KION)IESHELL(NP)=IESHEL6(KION)CIF(KEL6(3).EQ.1)THENPSCT1=PEQION6(KION,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KEL6(3).EQ.2)THENPSCT(IE,NP)=PEQION6(KION,IE)INDEX(NP)=2ENDIFCWPL(NP)=EB6(KION)NC0(NP)=NC06(KION)EC0(NP)=EC06(KION)NG1(NP)=NG16(KION)EG1(NP)=EG16(KION)NG2(NP)=NG26(KION)EG2(NP)=EG26(KION)WKLM(NP)=WK6(KION)EFL(NP)=EFL6(KION)IF(IE.GT.1)GOTO480RGAS(NP)=RGAS6EIN(NP)=EION6(KION)/RGAS6IPN(NP)=1L=27IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP6(2+KION)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL6DO479K=1,20479ESPLIT(NP,K)=ESPLIT6(IONMODL6,K)480CONTINUE530IF(EFINAL.LT.E6(4))GOTO540IF(NATT6.GT.1)GOTO590NP=NP+1IDG6=NPCF(IE,NP)=Q6(4,IE)*VAN6*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO540NEGAS(NP)=6LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS6EIN(NP)=0.0D0IPN(NP)=-1L=28IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP6(3+NION6)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0GOTO540590DO602JJ=1,NATT6NP=NP+1IDG6=NPCF(IE,NP)=QATT6(JJ,IE)*VAN6*BET(IE)FCATT(IE)=FCATT(IE)+CF(IE,NP)PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0IF(IE.GT.1)GOTO602NEGAS(NP)=6LEGAS(NP)=0IESHELL(NP)=0INDEX(NP)=0RGAS(NP)=RGAS6EIN(NP)=0.0D0IPN(NP)=-1L=28IARRY(NP)=LIZBR(NP)=0DSCRPT(NP)=SCRP6(2+NION6+JJ)PENFRA(1,NP)=0.0PENFRA(2,NP)=0.0PENFRA(3,NP)=0.0IONMODEL(NP)=IONMODL6DO601K=1,20601ESPLIT(NP,K)=ESPLIT6(IONMODL6,K)602CONTINUE540IF(NIN6.EQ.0)GOTO560DO550J=1,NIN6NP=NP+1IDG6=NPNEGAS(NP)=6LEGAS(NP)=0IESHELL(NP)=0CF(IE,NP)=QIN6(J,IE)*VAN6*BET(IE)CNOX-SECTIONFORBREMSSTRAHLUNGIFLBRM=0IF(IZBR6(J).NE.0.AND.LBRM.EQ.0)CF(IE,NP)=0.0PSCT(IE,NP)=0.5ANGCT(IE,NP)=1.0INDEX(NP)=0CIF(KIN6(J).EQ.1)THENPSCT1=PEQIN6(J,IE)CALLANGCUT(PSCT1,ANGC,PSCT2)ANGCT(IE,NP)=ANGCPSCT(IE,NP)=PSCT2INDEX(NP)=1ENDIFIF(KIN6(J).EQ.2)THENPSCT(IE,NP)=PEQIN6(J,IE)INDEX(NP)=2ENDIFCIF(IE.GT.1)GOTO550RGAS(NP)=RGAS6EIN(NP)=EI6(J)/RGAS6L=29IF(EI6(J).LT.0.0D0)L=30IPN(NP)=0IARRY(NP)=LIZBR(NP)=IZBR6(J)DSCRPT(NP)=SCRP6(4+NION6+NATT6+J)PENFRA(1,NP)=PENFRA6(1,J)PENFRA(2,NP)=PENFRA6(2,J)*1.D-6/DSQRT(3.0D0)PENFRA(3,NP)=PENFRA6(3,J)IF(PENFRA(1,NP).GT.AVPFRAC(1,6))THENAVPFRAC(1,6)=PENFRA(1,NP)AVPFRAC(2,6)=PENFRA(2,NP)AVPFRAC(3,6)=PENFRA(3,NP)ENDIFIF(J.EQ.NIN6)CMINEXSC(6)=CMINEXSC(6)*AVPFRAC(1,6)550CONTINUE560CONTINUEC600CONTINUEIPLAST=NPC----------------------------------------------------------------CCANINCREASEARRAYSIZEUPTO1740IFMORECOMPLEXMIXTURESUSED.C1740=6*290(6=MAXNOOFGASES.290=MAXNOOFLEVELS)C------------------------------------------------------------------IF(IPLAST.GT.512)WRITE(6,992)992FORMAT(/,/,6X,'WARNING TOO MANY LEVELS IN CALCULATION. CAN INCREAS
/E THE ARRAY SIZES FROM 512 UP TO 1740 MAXIMUM',/)IF(IPLAST.GT.512)STOPC--------------------------------------------------------------------CCALCULATIONOFTOTALCOLLISIONFREQUENCYC---------------------------------------------------------------------TCF(IE)=0.0D0DO610IL=1,IPLASTTCF(IE)=TCF(IE)+CF(IE,IL)IF(CF(IE,IL).LT.0.0D0)WRITE(6,776)CF(IE,IL),IE,IL,IARRY(IL),EIN/(IL),E(IE)776FORMAT('MODI WARNING NEGATIVE COLLISION FREQUENCY =',D12.3,' IE =',I6,/' IL =',I3,' IARRY=',I5,' EIN=',D12.4,' ENERGY=',D12.4)610CONTINUEDO620IL=1,IPLASTIF(TCF(IE).EQ.0.0D0)GOTO615CF(IE,IL)=CF(IE,IL)/TCF(IE)GOTO620615CF(IE,IL)=0.0D0620CONTINUEDO630IL=2,IPLASTCF(IE,IL)=CF(IE,IL)+CF(IE,IL-1)630CONTINUECFIXROUNDINGERRORSATHIGHESTVALUECF(IE,IPLAST)=1.0D0CCFCATT(IE)=FCATT(IE)*EROOT(IE)CFCION(IE)=FCION(IE)*EROOT(IE)CTCF(IE)=TCF(IE)*EROOT(IE)FCATT(IE)=FCATT(IE)*1.0D-10FCION(IE)=FCION(IE)*1.0D-10TCF(IE)=TCF(IE)*1.0D-10CCALCULATIONOFNULLCOLLISIONFREQUENCIESNP=0NPLAST=0IF((NUL1+NUL2+NUL3+NUL4+NUL5+NUL6).EQ.0)GOTO699IF(NUL1.GT.0)THENDO631J=1,NUL1NP=NP+1SCLENUL(NP)=SCLN1(J)DSCRPTN(NP)=SCRPN1(J)631CFN(IE,NP)=QNUL1(J,IE)*VAN1*SCLENUL(NP)*BET(IE)ENDIFIF(NUL2.GT.0)THENDO632J=1,NUL2NP=NP+1SCLENUL(NP)=SCLN2(J)DSCRPTN(NP)=SCRPN2(J)632CFN(IE,NP)=QNUL2(J,IE)*VAN2*SCLENUL(NP)*BET(IE)ENDIFIF(NUL3.GT.0)THENDO633J=1,NUL3NP=NP+1SCLENUL(NP)=SCLN3(J)DSCRPTN(NP)=SCRPN3(J)633CFN(IE,NP)=QNUL3(J,IE)*VAN3*SCLENUL(NP)*BET(IE)ENDIFIF(NUL4.GT.0)THENDO634J=1,NUL4NP=NP+1SCLENUL(NP)=SCLN4(J)DSCRPTN(NP)=SCRPN4(J)634CFN(IE,NP)=QNUL4(J,IE)*VAN4*SCLENUL(NP)*BET(IE)ENDIFIF(NUL5.GT.0)THENDO635J=1,NUL5NP=NP+1SCLENUL(NP)=SCLN5(J)DSCRPTN(NP)=SCRPN5(J)635CFN(IE,NP)=QNUL5(J,IE)*VAN5*SCLENUL(NP)*BET(IE)ENDIFIF(NUL6.GT.0)THENDO636J=1,NUL6NP=NP+1SCLENUL(NP)=SCLN6(J)DSCRPTN(NP)=SCRPN6(J)636CFN(IE,NP)=QNUL6(J,IE)*VAN6*SCLENUL(NP)*BET(IE)ENDIFNPLAST=NPCSUMNULLCOLLISIONSTCFN(IE)=0.0DO640IL=1,NPLASTTCFN(IE)=TCFN(IE)+CFN(IE,IL)IF(CFN(IE,IL).LT.0.0)WRITE(6,779)CFN(IE,IL),IE,IL779FORMAT(' WARNING NEGATIVE NULL COLLISION REQUENCY =',D12.3,/' IE =',I6,' IL =',I3)640CONTINUEDO642IL=1,NPLASTIF(TCFN(IE).EQ.0.0D0)GOTO641CFN(IE,IL)=CFN(IE,IL)/TCFN(IE)GOTO642641CFN(IE,IL)=0.0D0642CONTINUETCFN(IE)=TCFN(IE)*1.0D-10IF(NPLAST.EQ.1)GOTO699DO643IL=2,NPLASTCFN(IE,IL)=CFN(IE,IL)+CFN(IE,IL-1)643CONTINUECFIXROUNDINGERRORSATHIGHESTVALUECFN(IE,NPLAST)=1.0D0699CONTINUE700CONTINUECWRITE(6,841)(INDEX(J),J,J=1,IPLAST)C841FORMAT(2X,' INDEX=',I3,' J=',I3)CSETANISOTROPICFLAGIFANISOTROPICSCATTERINGDATAISDETECTEDKELSUM=0DO701J=1,6701KELSUM=KELSUM+KEL1(J)+KEL2(J)+KEL3(J)+KEL4(J)+KEL5(J)+KEL6(J)DO702J=1,250702KELSUM=KELSUM+KIN1(J)+KIN2(J)+KIN3(J)+KIN4(J)+KIN5(J)+KIN6(J)IF(KELSUM.GT.0)NISO=1CIF(NISO.EQ.1)WRITE(6,7765)NISOC7765FORMAT(3X,' ANISOTROPIC SCATTERING DETECTED NISO=',I5)C-------------------------------------------------------------------CCALCULATENULLCOLLISIONFREQUENCYC-------------------------------------------------------------------BP=EFIELD*EFIELD*CONST1F2=EFIELD*CONST3ELOW=TMAX*(TMAX*BP-F2*DSQRT(0.5D0*EFINAL))/ESTEP-1.0D0ELOW=DMIN1(ELOW,SMALL)EHI=TMAX*(TMAX*BP+F2*DSQRT(0.5D0*EFINAL))/ESTEP+1.0D0IF(EHI.GT.20000.0)EHI=20000.0JONE=1JLARGE=20000DO810I=1,10JLOW=20000-2000*(11-I)+1+DINT(ELOW)JHI=20000-2000*(10-I)+DINT(EHI)JLOW=DMAX0(JLOW,JONE)JHI=DMIN0(JHI,JLARGE)DO800J=JLOW,JHIIF(TCF(J).GE.TCFMAX(I))TCFMAX(I)=TCF(J)800CONTINUE810CONTINUEC---------------------------------------------------------------------CFINDMAXIMUMCOLLISIONFREQUENCYCTLIM=TCFMAX(1)CDO835I=1,10C835IF(TLIM.LT.TCFMAX(I))TLIM=TCFMAX(I)CTCFMAX1=TLIMTLIM=0.0DO835I=1,20000835IF(TLIM.LT.TCF(I))TLIM=TCF(I)TCFMAX1=TLIMC-------------------------------------------------------------------CCROSSSECTIONDATAFORINTEGRALSINOUTPUTC---------------------------------------------------------------------DO900I=1,NSTEPQTOT(I)=AN1*Q1(1,I)+AN2*Q2(1,I)+AN3*Q3(1,I)+AN4*Q4(1,I)+/AN5*Q5(1,I)+AN6*Q6(1,I)QEL(I)=AN1*Q1(2,I)+AN2*Q2(2,I)+AN3*Q3(2,I)+AN4*Q4(2,I)+/AN5*Q5(2,I)+AN6*Q6(2,I)CQION(1,I)=Q1(3,I)*AN1IF(NION1.GT.1)THENDO811KION=1,NION1811QION(1,I)=QION1(KION,I)*AN1ENDIFQION(2,I)=Q2(3,I)*AN2IF(NION2.GT.1)THENDO812KION=1,NION2812QION(2,I)=QION2(KION,I)*AN2ENDIFQION(3,I)=Q3(3,I)*AN3IF(NION3.GT.1)THENDO813KION=1,NION3813QION(3,I)=QION3(KION,I)*AN3ENDIFQION(4,I)=Q4(3,I)*AN4IF(NION4.GT.1)THENDO814KION=1,NION4814QION(4,I)=QION4(KION,I)*AN4ENDIFQION(5,I)=Q5(3,I)*AN5IF(NION5.GT.1)THENDO815KION=1,NION5815QION(5,I)=QION5(KION,I)*AN5ENDIFQION(6,I)=Q6(3,I)*AN6IF(NION6.GT.1)THENDO816KION=1,NION6816QION(6,I)=QION6(KION,I)*AN6ENDIFQATT(1,I)=Q1(4,I)*AN1QATT(2,I)=Q2(4,I)*AN2QATT(3,I)=Q3(4,I)*AN3QATT(4,I)=Q4(4,I)*AN4QATT(5,I)=Q5(4,I)*AN5QATT(6,I)=Q6(4,I)*AN6CQREL(I)=0.0D0QSATT(I)=0.0D0QSUM(I)=0.0D0DO855J=1,NGASQSUM(I)=QSUM(I)+QION(J,I)+QATT(J,I)QSATT(I)=QSATT(I)+QATT(J,I)855QREL(I)=QREL(I)+QION(J,I)-QATT(J,I)CIF(NIN1.EQ.0)GOTO865DO860J=1,NIN1860QSUM(I)=QSUM(I)+QIN1(J,I)*AN1865IF(NIN2.EQ.0)GOTO875DO870J=1,NIN2870QSUM(I)=QSUM(I)+QIN2(J,I)*AN2875IF(NIN3.EQ.0)GOTO885DO880J=1,NIN3880QSUM(I)=QSUM(I)+QIN3(J,I)*AN3885IF(NIN4.EQ.0)GOTO895DO890J=1,NIN4890QSUM(I)=QSUM(I)+QIN4(J,I)*AN4895IF(NIN5.EQ.0)GOTO898DO896J=1,NIN5896QSUM(I)=QSUM(I)+QIN5(J,I)*AN5898IF(NIN6.EQ.0)GOTO900DO899J=1,NIN6899QSUM(I)=QSUM(I)+QIN6(J,I)*AN6C900CONTINUECRETURNEND
SETUP()
SUBROUTINESETUP(LAST)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)INTEGER*4NSEEDCOMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/CNSTS/ECHARG,EMASS,AMU,PIR2COMMON/INPT2/KGAS,LGAS,DETEFF,EXCWGHTCOMMON/INPT1/NDVECCOMMON/CNSTS1/CONST1,CONST2,CONST3,CONST4,CONST5COMMON/RATIO/AN1,AN2,AN3,AN4,AN5,AN6,AN,FRAC(6)COMMON/GASN/NGASN(6)COMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NEVENT,IMIP,IWRITECOMMON/SET2/DRXINIT,DRYINIT,DRZINITCOMMON/BFLD/EOVB,WB,BTHETA,BMAGCOMMON/IONC/DOUBLE(6,20000),CMINIXSC(6),CMINEXSC(6),ECLOSS(6),/WPLN(6),ICOUNT,AVPFRAC(3,6)COMMON/MRATIO/VAN1,VAN2,VAN3,VAN4,VAN5,VAN6,VANCOMMON/OUTPT/ICOLL(30),NETOT,NPRIME,TMAX1,TIME(300),NNULL,/NITOT,ICOLN(512),ICOLNN(60),NREAL,NEXCTOTCOMMON/PRIM3/MSUM(10000),MCOMP(10000),MRAYL(10000),MPAIR(10000),/MPHOT(10000),MVAC(10000)COMMON/RLTVY/BET(20000),GAM(20000),VC,EMSCOMMON/COMP/ICMP,ICFLG,IRAY,IRFLG,IPAP,IPFLG,IBRM,IBFLG,LPEFLGCOMMON/MIX2/E(20000),EROOT(20000),QTOT(20000),QREL(20000),/QINEL(20000),QEL(20000)COMMON/PLOT/NXPL10(31),NYPL10(31),NZPL10(31),NXPL40(31),/NYPL40(31),NZPL40(31),NXPL100(31),NYPL100(31),NZPL100(31),/NXPL400(31),NYPL400(31),NZPL400(31),NXPL1000(31),NYPL1000(31),/NZPL1000(31),NXPL2(31),NYPL2(31),NZPL2(31),NXPL4000(31),/NYPL4000(31),NZPL4000(31),NXPL10000(31),NYPL10000(31),/NZPL10000(31),NXPL40000(31),NYPL40000(31),NZPL40000(31),/NXPL100000(31),NYPL100000(31),NZPL100000(31),NRPL2(31),NRPL10(31),/NRPL40(31),NRPL100(31),NRPL400(31),NRPL1000(31),NRPL4000(31),/NRPL10000(31),NRPL40000(31),NRPL100000(31),NEPL1(100),/NEPL10(100),NEPL100(100),MELEC(1000),MELEC3(1000),MELEC10(1000),/MELEC30(1000),MELEC100(1000),MELEC300(1000)COMMON/BREMG/EBRGAM(10),BRDCOSX(10),BRDCOSY(10),BRDCOSZ(10),/BRX(10),BRY(10),BRZ(10),BRT(10),EBRTOT(6),NBREM(6)COMMON/CLUS/XAV(100000),YAV(100000),ZAV(100000),TAV(100000),/XYAV(100000),XYZAV(100000),DX(100000),DY(100000),DZ(100000),/DT(100000),DXY(100000),DXYZ(100000),NCL(100000),FARX1(100000)/,FARY1(100000),FARZ1(100000),FARXY1(100000),RMAX1(100000),/TSUM(100000),XNEG(100000),/YNEG(100000),ZNEG(100000),EDELTA(100000),EDELTA2(100000),/NCLEXC(100000)COMMON/KSEED/NSEEDCOMMON/ECASC/NEGAS(512),LEGAS(512),IESHELL(512),IECASCCCNEWUPDATEOFCONSTANTS2010CAPI=DACOS(-1.0D0)ARY=13.60569253D0PIR2=8.7973554297D-17ECHARG=1.602176565D-19EMASS=9.10938291D-31EMS=510998.928D0VC=299792458.0D0AMU=1.660538921D-27BOLTZ=8.6173324D-5BOLTZJ=1.3806488D-23AWB=1.758820088D10ALOSCH=2.6867805D19RE=2.8179403267D-13ALPH=137.035999074HBAR=6.58211928D-16EOVM=DSQRT(2.0D0*ECHARG/EMASS)*100.0D0ABZERO=273.15D0ATMOS=760.0D0CONST1=AWB/2.0D0*1.0D-19CONST2=CONST1*1.0D-02CONST3=DSQRT(0.2D0*AWB)*1.0D-09CONST4=CONST3*ALOSCH*1.0D-15CONST5=CONST3/2.0D0TWOPI=2.0D0*APINANISO=2DO55K=1,6NBREM(K)=0EBRTOT(K)=0.055CONTINUEICFLG=0IRFLG=0IPFLG=0IBFLG=0LPEFLG=0C--------------------------------------------CCREADINOUTPUTCONTROLANDINTEGRATIONDATACREAD(5,2)NGAS,NEVENT,IMIP,NDVEC,NSEED,ESTART,ETHRM,ECUT2FORMAT(5I10,3F10.5)ICOUNT=0IF(IMIP.EQ.1)ICOUNT=1IF(NGAS.EQ.0)GOTO99IF(ESTART.GT.3.0D6.AND.IMIP.EQ.3)THENWRITE(6,664)ESTART664FORMAT(' PROGRAM STOPPED: X-RAY ENERGY=',D12.3,'EV. MAXIMUM ENERGY
/ 3.0MEV')STOPENDIFIF(IMIP.NE.1.AND.NEVENT.GT.10000)THENWRITE(6,665)NEVENT665FORMAT(' PROGRAM STOPPED NUMBER OF EVENTS =',I7,' LARGER THAN ARR
/AY LIMIT OF 10000')STOPENDIFIF(IMIP.EQ.1.AND.NEVENT.GT.100000)THENWRITE(6,666)NEVENT666FORMAT(' PROGRAM STOPPED NUMBER OF EVENTS =',I7,' LARGER THAN ARR
/AY LIMIT OF 100000')STOPENDIFCCGASIDENTIFIERSCREAD(5,3)NGASN(1),NGASN(2),NGASN(3),NGASN(4),NGASN(5),NGASN(6)3FORMAT(6I5)CCGASPARAMETERSCREAD(5,4)FRAC(1),FRAC(2),FRAC(3),FRAC(4),FRAC(5),FRAC(6),TEMPC,/TORR4FORMAT(8F10.4)CCFIELDVALUESCREAD(5,5)EFIELD,BMAG,BTHETA,IWRITE,IPEN5FORMAT(3F10.3,2I5)READ(5,6)DETEFF,EXCWGHT,KGAS,LGAS,ICMP,IRAY,IPAP,IBRM,IECASC6FORMAT(2F10.3,7I5)CWRITE(6,656)IWRITEC656FORMAT(' IWRITE=',I3)IF(IWRITE.NE.0)OPEN(UNIT=50,FILE='DEGRAD.OUT')CCALCULATEEFINALFORDELTASORXRAYSCINCREASEDEFINALCAUSEDBYELECTRICFIELDEBIG=0.05*ESTART/1000.EFINAL=ESTART*1.0001+760.0*EBIG/TORR*(TEMPC+ABZERO)/293.15*EFIELDIF(EFINAL.LT.(1.01*ESTART))EFINAL=1.01*ESTARTCCHECKINPUTTOTFRAC=0.0D0IF(NGAS.EQ.0.OR.NGAS.GT.6)GOTO999DO10J=1,NGASIF(NGASN(J).EQ.0.OR.FRAC(J).EQ.0.0D0)GOTO99910TOTFRAC=TOTFRAC+FRAC(J)IF(DABS(TOTFRAC-100.0D0).GT.1.D-6)GOTO999LAST=0TMAX=100.0D0NOUT=10NSTEP=20000CINITIALANGLESIF(NDVEC.EQ.1)THENPHI=0.0D0THETA=0.0D0ELSEIF(NDVEC.EQ.(-1))THENPHI=0.0D0THETA=DACOS(-1.D0)ELSEIF(NDVEC.EQ.0)THENPHI=0.0D0THETA=API/2.0ELSEIF(NDVEC.EQ.2)THENR3=drand48(RDUM)CSelfAddedCPRINT*,RDUMPHI=TWOPI*R3R4=drand48(RDUM)THETA=DACOS(1.0D0-2.0D0*R4)ELSEWRITE(6,992)NDVEC992FORMAT(/,2X,'DIRECTION OF BEAM NOT DEFINED NDVEC =',I5)STOPENDIFCINITIALDIRECTIONCOSINESFORCASCADECALCULATIONDRZINIT=DCOS(THETA)DRXINIT=DSIN(THETA)*DCOS(PHI)DRYINIT=DSIN(THETA)*DSIN(PHI)CZEROCOMMONBLOCKSOFOUTPUTRESULTSDO64J=1,10000MSUM(J)=0MCOMP(J)=0MRAYL(J)=0MPAIR(J)=0MPHOT(J)=064MVAC(J)=0DO65J=1,30065TIME(J)=0.0D0DO70K=1,3070ICOLL(K)=0DO80K=1,51280ICOLN(K)=0DO81K=1,6081ICOLNN(K)=0DO100K=1,10100TCFMAX(K)=0.0D0CZEROPLOTARRAYSDO110K=1,31NXPL2(K)=0NYPL2(K)=0NZPL2(K)=0NXPL10(K)=0NYPL10(K)=0NZPL10(K)=0NXPL40(K)=0NYPL40(K)=0NZPL40(K)=0NXPL100(K)=0NYPL100(K)=0NZPL100(K)=0NXPL400(K)=0NYPL400(K)=0NZPL400(K)=0NXPL1000(K)=0NYPL1000(K)=0NZPL1000(K)=0NXPL4000(K)=0NYPL4000(K)=0NZPL4000(K)=0NXPL10000(K)=0NYPL10000(K)=0NZPL10000(K)=0NXPL40000(K)=0NYPL40000(K)=0NZPL40000(K)=0NXPL100000(K)=0NYPL100000(K)=0NZPL100000(K)=0NRPL2(K)=0NRPL10(K)=0NRPL40(K)=0NRPL100(K)=0NRPL400(K)=0NRPL1000(K)=0NRPL4000(K)=0NRPL10000(K)=0NRPL40000(K)=0110NRPL100000(K)=0DO111K=1,100NEPL1(K)=0NEPL10(K)=0111NEPL100(K)=0DO112K=1,1000MELEC(K)=0MELEC3(K)=0MELEC10(K)=0MELEC30(K)=0MELEC100(K)=0112MELEC300(K)=0CZEROARRAYSDO113KS=1,100000XAV(KS)=0.0YAV(KS)=0.0ZAV(KS)=0.0TAV(KS)=0.0XYAV(KS)=0.0XYZAV(KS)=0.0DX(KS)=0.0DY(KS)=0.0DZ(KS)=0.0DT(KS)=0.0DXY(KS)=0.0DXYZ(KS)=0.0FARX1(KS)=0.0FARY1(KS)=0.0FARZ1(KS)=0.0FARXY1(KS)=0.0RMAX1(KS)=0.0TSUM(KS)=0.0XNEG(KS)=0.0YNEG(KS)=0.0ZNEG(KS)=0.0EDELTA(KS)=0.0EDELTA2(KS)=0.0NCL(KS)=0NCLEXC(KS)=0113CONTINUEC----------------------------------------------------CIFNSEED=0THENUSESTANDARDSEEDVALUE=54217137IF(NSEED.NE.0)CALLRM48IN(NSEED,0,0)C-----------------------------------------------CCORR=ABZERO*TORR/(ATMOS*(ABZERO+TEMPC)*100.0D0)AKT=(ABZERO+TEMPC)*BOLTZAN1=FRAC(1)*CORR*ALOSCHAN2=FRAC(2)*CORR*ALOSCHAN3=FRAC(3)*CORR*ALOSCHAN4=FRAC(4)*CORR*ALOSCHAN5=FRAC(5)*CORR*ALOSCHAN6=FRAC(6)*CORR*ALOSCHAN=100.0D0*CORR*ALOSCHCVAN1=FRAC(1)*CORR*CONST4*1.0D15CVAN2=FRAC(2)*CORR*CONST4*1.0D15CVAN3=FRAC(3)*CORR*CONST4*1.0D15CVAN4=FRAC(4)*CORR*CONST4*1.0D15CVAN5=FRAC(5)*CORR*CONST4*1.0D15CVAN6=FRAC(6)*CORR*CONST4*1.0D15CVAN=100.0D0*CORR*CONST4*1.0D15VAN1=FRAC(1)*CORR*ALOSCH*VCVAN2=FRAC(2)*CORR*ALOSCH*VCVAN3=FRAC(3)*CORR*ALOSCH*VCVAN4=FRAC(4)*CORR*ALOSCH*VCVAN5=FRAC(5)*CORR*ALOSCH*VCVAN6=FRAC(6)*CORR*ALOSCH*VCVAN=100.0D0*CORR*ALOSCH*VCCCALCULATEANDSTOREENERGYGRIDFORXRAYSBETASORPARTICLESIF(EFINAL.LE.20000.0)THENESTEP=EFINAL/DFLOAT(NSTEP)EHALF=ESTEP/2.0D0E(1)=EHALFGAM(1)=(EMS+E(1))/EMSBET(1)=DSQRT(1.0D0-1.0D0/(GAM(1)*GAM(1)))DO203I=2,20000AJ=DFLOAT(I-1)E(I)=EHALF+ESTEP*AJGAM(I)=(EMS+E(I))/EMS203BET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))ELSEIF(EFINAL.GT.20000.0.AND.EFINAL.LE.140000.)THENESTEP=1.0EHALF=0.5E(1)=EHALFGAM(1)=(EMS+E(1))/EMSBET(1)=DSQRT(1.0D0-1.0D0/(GAM(1)*GAM(1)))DO231I=2,16000AJ=DFLOAT(I-1)E(I)=EHALF+ESTEP*AJGAM(I)=(EMS+E(I))/EMS231BET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))ESTEP1=(EFINAL-16000.0)/DFLOAT(4000)DO232I=16001,20000AJ=DFLOAT(I-16000)E(I)=16000.0+AJ*ESTEP1GAM(I)=(EMS+E(I))/EMS232BET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))ELSEESTEP=1.0EHALF=0.5E(1)=EHALFGAM(1)=(EMS+E(1))/EMSBET(1)=DSQRT(1.0D0-1.0D0/(GAM(1)*GAM(1)))DO233I=2,12000AJ=DFLOAT(I-1)E(I)=EHALF+ESTEP*AJGAM(I)=(EMS+E(I))/EMS233BET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))ESTEP1=20.0DO234I=12001,16000AJ=DFLOAT(I-12000)E(I)=12000.0+AJ*ESTEP1GAM(I)=(EMS+E(I))/EMS234BET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))ESTEP2=(EFINAL-92000.0)/DFLOAT(4000)DO235I=16001,20000AJ=DFLOAT(I-16000)E(I)=92000.0+AJ*ESTEP2GAM(I)=(EMS+E(I))/EMS235BET(I)=DSQRT(1.0D0-1.0D0/(GAM(I)*GAM(I)))ENDIFCRADIANSPERPICOSECONDWB=AWB*BMAG*1.0D-12CMETRESPERPICOSECONDIF(BMAG.EQ.0.0D0)RETURNEOVB=EFIELD*1.D-9/BMAGRETURN999WRITE(6,87)NGAS,(J,NGASN(J),FRAC(J),J=1,6)87FORMAT(3(/),4X,' ERROR IN GAS INPUT : NGAS=',I5,6(/,2X,' N=',I3,'
/NGAS=',I5,' FRAC=',F8.3))99LAST=1RETURNEND
defSETUP(LAST):#IMPLICIT #real*8 (A-H,O-Z) #IMPLICIT #integer*8 (I-N) #integer*4 NSEED globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENglobalECHARG,EMASS,AMU,PIR2globalKGAS,LGAS,DETEFF,EXCWGHTglobalNDVEC,CONST1,CONST2,CONST3,CONST4,CONST5globalAN1,AN2,AN3,AN4,AN5,AN6,AN,FRAC#=[0 for x in range[6]] globalNGASN#=[0 for x in range[6]] globalTMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX#=[0 for x in range(10)]globalTCFMAX1,RSTART,EFIELD,ETHRM,ECUT,NEVENT,IMIP,IWRITEglobalDRXINIT,DRYINIT,DRZINITglobalEOVB,WB,BTHETA,BMAGglobalDOUBLE#=[[0 for x in range[6]] for y in range(20000)]globalAVPFRAC#=[[0 for x in range(3)] for y in range(6)]globalCMINIXSC#=[0 for x in range[6]]globalCMINEXSC#=[0 for x in range[6]]globalECLOSS#=[0 for x in range[6]]globalWPLN#=[0 for x in range[6]]globalICOUNTglobalOVAN1,VAN2,VAN3,VAN4,VAN5,VAN6,VANglobalICOLL#=[0 for x in range(30)]globalNETOT,NPRIME,TMAX1globalTIME#=[0 for x in range(300)]globalNNULL,NITOTglobalICOLN#=[0 for x i range(512)]globalICOLNN#=[0 for x in range(60)]globalNREAL,NEXCTOTglobalMSUM#=[0 for x in range(10000)]globalMCOMP#=[0 for x in range(10000)]globalMRAYL#=[0 for x in range(10000)]globalMPAIR#=[0 for x in range(10000)]globalMPHOT#=[0 for x in range(10000)]globalMVAC#=[0 for x in range(10000)]globalBET#=[0 for x in range(2000)]globalGAM#=[0 for x in range(20000)]globalVC,EMSglobalICMP,ICFLG,IRAY,IRFLG,IPAP,IPFLG,IBRM,IBFLG,LPEFLGglobalE#=[0 for x in range(20000)]globalEROOT#=[0 for x in range(20000)]globalQTOT#=[0 for x in range(20000)]globalQREL#=[0 for x in range(20000)]globalQINEL#=[0 for x in range(20000)]globalQEL#=[0 for x in range(20000)]globalNXPL10#=[0 for x in range(31)]globalNYPL10#=[0 for x in range(31)]globalNZPL10#=[0 for x in range(31)]globalNXPL40#=[0 for x in range(31)]globalNYPL40#=[0 for x in range(31)]globalNZPL40#=[0 for x in range(31)]globalNXPL100#=[0 for x in range(31)]globalNYPL100#=[0 for x in range(31)]globalNZPL100#=[0 for x in range(31)]globalNXPL400#=[0 for x in range(31)]globalNYPL400#=[0 for x in range(31)]globalNZPL400#=[0 for x in range(31)]globalNXPL1000#=[0 for x in range(31)]globalNYPL1000#=[0 for x in range(31)]globalNZPL1000#=[0 for x in range(31)]globalNXPL2#=[0 for x in range(31)]globalNYPL2#=[0 for x in range(31)]globalNZPL2#=[0 for x in range(31)]globalNXPL4000#=[0 for x in range(31)]globalNYPL4000#=[0 for x in range(31)]globalNZPL4000#=[0 for x in range(31)]globalNXPL10000#=[0 for x in range(31)]globalNYPL10000#=[0 for x in range(31)]globalNZPL10000#=[0 for x in range(31)]globalNXPL40000#=[0 for x in range(31)]globalNYPL40000#=[0 for x in range(31)]globalNZPL40000#=[0 for x in range(31)]globalNXPL100000#=[0 for x in range(31)]globalNYPL100000#=[0 for x in range(31)]globalNZPL100000#=[0 for x in range(31)]globalNRPL2#=[0 for x in range(31)]globalNRPL10#=[0 for x in range(31)]globalNRPL40#=[0 for x in range(31)]globalNRPL100#=[0 for x in range(31)]globalNRPL400#=[0 for x in range(31)]globalNRPL1000#=[0 for x in range(31)]globalNRPL4000#=[0 for x in range(31)]globalNRPL10000#=[0 for x in range(31)]globalNRPL40000#=[0 for x in range(31)]globalNRPL100000#=[0 for x in range(31)]globalNEPL1#=[0 for x in range(100)]globalNEPL10#=[0 for x in range(100)]globalNEPL100#=[0 for x in range(100)]globalMELEC#=[0 for x in range(1000)]globalMELEC3#=[0 for x in range(1000)]globalMELEC10#=[0 for x in range(1000)]globalMELEC30#=[0 for x in range(1000)]globalMELEC100#=[0 for x in range(1000)]globalMELEC300#=[0 for x in range(1000)]globalEBRGAM#=[0 for x in range(10)]globalBRDCOSX# =[0 for x in range(10)]globalBRDCOSY# =[0 for x in range(10)]globalBRDCOSZ# =[0 for x in range(10)]globalBRX#=[0 for x in range(10)]globalBRY#=[0 for x in range(10)]globalBRZ#=[0 for x in range(10)]globalBRT#=[0 for x in range(10)]globalEBRTOT#=[0 for x in range[6]]globalNBREM#=[0 for x in range[6]]globalXAV#=[0 for x in range(100000)]globalYAV#=[0 for x in range(100000)]globalZAV#=[0 for x in range(100000)]globalTAV#=[0 for x in range(100000)]globalXYAV#=[0 for x in range(100000)]globalXYZAV#=[0 for x in range(100000)]globalDX#=[0 for x in range(100000)]globalDY#=[0 for x in range(100000)] globalDZ#=[0 for x in range(100000)]globalDT#=[0 for x in range(100000)]globalDXY#=[0 for x in range(100000)]globalDXYZ#=[0 for x in range(100000)]globalNCL#=[0 for x in range(100000)]globalFARX1#=[0 for x in range(100000)]globalFARY1#=[0 for x in range(100000)]globalFARZ1#=[0 for x in range(100000)]globalFARXY1#=[0 for x in range(100000)]globalRMAX1#=[0 for x in range(100000)]globalTSUM#=[0 for x in range(100000)]globalXNEG#=[0 for x in range(100000)]globalYNEG#=[0 for x in range(100000)]globalZNEG#=[0 for x in range(100000)]globalEDELTA#[100000]globalEDELTA2#=[0 for x in range(100000)]globalNCLEXC#=[0 for x in range(100000)]globalNSEEDglobalNEGAS#=[0 for x in range(512)]globalLEGAS#=[0 for x in range(512)]globalIESHELL#=[0 for x in range(512)]globalIECASC# # NEW UPDATE OF CONSTANTS 2010#API=numpy.arccos(-1.00)ARY=13.605692530PIR2=8.7973554297*(10**-17)ECHARG=1.602176565*(10**-19)EMASS=9.10938291*(10**-31)EMS=510998.9280VC=299792458.00AMU=1.660538921*(10**-27)BOLTZ=8.6173324*(10**-5)BOLTZJ=1.3806488*(10**-23)AWB=1.758820088*(10**10)ALOSCH=2.6867805*(10**19)RE=2.8179403267*(10**-13)ALPH=137.035999074HBAR=6.58211928*(10**-16)EOVM=math.sqrt(2.00*ECHARG/EMASS)*100.00ABZERO=273.150ATMOS=760.00CONST1=AWB/2.00*1.0*(10**-19)CONST2=CONST1*1.0*(10**-02)CONST3=math.sqrt(0.20*AWB)*1.0*(10**-9)CONST4=CONST3*ALOSCH*1.0*(10**-15)CONST5=CONST3/2.00TWOPI=2.00*APINANISO=2forKinrange(1,6):NBREM[K]=0EBRTOT[K]=0.0ICFLG=0IRFLG=0IPFLG=0IBFLG=0LPEFLG=0# -------------------------------------------- # # READ IN OUTPUT CONTROL AND INTEGRATION DATA # NGAS=int(input())NEVENT=int(input())IMIP=int(input())NDVEC=int(input())NSEED=int(input())ESTART=float(input())ETHRM=float(input())ECUT=float(input())ICOUNT=0if(IMIP==1):ICOUNT=1if(NGAS==0):#yet to figure out LAST=1returnif(ESTART>3.0*(10**6)andIMIP==3):print(' SUBROUTINE STOPPED: X-RAY ENERGY=','%.3f'%ESTART,'EV. MAXIMUM ENERGY 3.0MEV')sys.exit()# endifif(IMIP!=1andNEVENT>10000):print(' SUBROUTINE STOPPED: NUMBER OF EVENTS =',NEVENT,' LARGER THAN ARRAY LIMIT OF 10000')sys.exit()# endifif(IMIP==1andNEVENT>100000):print(' SUBROUTINE STOPPED: NUMBER OF EVENTS =',NEVENT,' LARGER THAN ARRAY LIMIT OF 100000')sys.exit()# endif# # GAS IDENTifIERS #foriinrange(1,6):NGASN[i]=int(input())# # GAS PARAMETERS#foriinrange(1,6):FRAC[i]=round(float(input()),4)#print(8'%.4f' %) TEMPC=round(float(input()),4)#print(8'%.4f' %) TORR=round(float(input()),4)#print(8'%.4f' %) #print(8'%.4f' %) # # FIELD VALUES # EFIELD=round(float(input()),3)#print(3'%.3f' % ,2I5)BMAG=round(float(input()),3)#print(3'%.3f' % ,2I5)BTHETA=round(float(input()),3)#print(3'%.3f' % ,2I5)IWRITE=int(input())#print(3'%.3f' % ,2I5)IPEN=int(input())#print(3'%.3f' % ,2I5) DETEFF=round(float(input()),3)# print(2'%.3f' % ,7I5)EXCWGHT=round(float(input()),3)# print(2'%.3f' % ,7I5) KGAS=int(input())# print(2'%.3f' % ,7I5)LGAS=int(input())# print(2'%.3f' % ,7I5)ICMP=int(input())# print(2'%.3f' % ,7I5)IRAY=int(input())# print(2'%.3f' % ,7I5)IPAP=int(input())# print(2'%.3f' % ,7I5)IBRM=int(input())# print(2'%.3f' % ,7I5)IECASC=int(input())# print(2'%.3f' % ,7I5)# WRITE(6,656) IWRITE# 656 print(' IWRITE=',I3) if(IWRITE!=0):OPEN(UNIT=50,FILE='DEGRAD.OUT')#yet to be# CALCULATE EFINAL FOR DELTAS OR XRAYS # INCREASED EFINAL CAUSED BY ELECTRIC FIELD EBIG=0.05*ESTART/1000.EFINAL=ESTART*1.0001+760.0*EBIG/TORR*(TEMPC+ABZERO)/293.15*EFIELDif(EFINAL<(1.01*ESTART)):EFINAL=1.01*ESTART# CHECK INPUTTOTFRAC=0.00if(NGAS==0orNGAS>6):GOTO999()forJinrange(1,NGAS):if(NGASN[J]==0orFRAC[J]==0.00):GOTO999()TOTFRAC=TOTFRAC+FRAC[J]if(abs(TOTFRAC-100.00)>1*(10**-6)):GOTO999()LAST=0TMAX=100.00NOUT=10NSTEP=20000# INITIAL ANGLESif(NDVEC):#22594PHI=0THETA=0elseif(NDVEC==-1):PHI=0THETA=numpy.arccos(-1)elseif(NDVEC==0):PHI=0.0THETA=API/2.0elseif(NDVEC==2):R3=DRAND48(0.0,1.0)PHI=TWOPI*R3R4=DRAND48(1.5,1.9)THETA=numpy.arccos(1.0-2.0*R4)else:print('DIRECTION OF BEAM NOT DEFINED NDVEC =',NDVEC)sys.exit()# INITIAL DIRECTION COSINES FOR CASCADE CALCULATIONDRZINIT=numpy.cos(THETA)DRXINIT=numpy.sin(THETA)*numpy.cos(PHI)DRYINIT=numpy.sin(THETA)*numpy.sin(PHI)# ZERO COMMON BLOCKS OF OUTPUT RESULTSforJinrange(1,10000):MSUM[J]=0MCOMP[J]=0MRAYL[J]=0MPAIR[J]=0MPHOT[J]=0MVAC[J]=0forJinrange(1,300):TIME[J]=0forKinrange(1,30):ICOLL[K]=0forKinrange(1,512):ICOLN[K]=0forKinrange(1,60):ICOLNN[K]=0forinrange(1,10):TCFMAX[K]=float(0)# ZERO PLOT ARRAYSforKinrange(1,31):NXPL2[K]=0NYPL2[K]=0NZPL2[K]=0NXPL10[K]=0NYPL10[K]=0NZPL10[K]=0NXPL40[K]=0NYPL40[K]=0NZPL40[K]=0NXPL100[K]=0NYPL100[K]=0NZPL100[K]=0NXPL400[K]=0NYPL400[K]=0NZPL400[K]=0NXPL1000[K]=0NYPL1000[K]=0NZPL1000[K]=0NXPL4000[K]=0NYPL4000[K]=0NZPL4000[K]=0NXPL10000[K]=0NYPL10000[K]=0NZPL10000[K]=0NXPL40000[K]=0NYPL40000[K]=0NZPL40000[K]=0NXPL100000[K]=0NYPL100000[K]=0NZPL100000[K]=0NRPL2[K]=0NRPL10[K]=0NRPL40[K]=0NRPL100[K]=0NRPL400[K]=0NRPL1000[K]=0NRPL4000[K]=0NRPL10000[K]=0NRPL40000[K]=0NRPL100000[K]=0#22678forKinrange(1,100):NEPL1[K]=0NEPL10[K]=0NEPL100[K]=0forKinrange(1,1000):MELEC[K]=0MELEC3[K]=0MELEC10[K]=0MELEC30[K]=0MELEC100[K]=0MELEC300[K]=0#22689# C ZERO ARRAYSforKSinrange(1,100000):XAV[KS]=0.0YAV[KS]=0.0ZAV[KS]=0.0TAV[KS]=0.0XYAV[KS]=0.0XYZAV[KS]=0.0DX[KS]=0.0DY[KS]=0.0DZ[KS]=0.0DT[KS]=0.0DXY[KS]=0.0DXYZ[KS]=0.0FARX1[KS]=0.0FARY1[KS]=0.0FARZ1[KS]=0.0FARXY1[KS]=0.0RMAX1[KS]=0.0TSUM[KS]=0.0XNEG[KS]=0.0YNEG[KS]=0.0ZNEG[KS]=0.0EDELTA[KS]=0.0EDELTA2[KS]=0.0NCL[KS]=0NCLEXC[KS]=0##22716 #22915# ---------------------------------------------------- # if NSEED = 0 : USE STANDARD SEED VALUE =54217137if(NSEED!=0):RM48(NSEED,0,0)#----------------------------------------------- #CORR=ABZERO*TORR/(ATMOS*(ABZERO+TEMPC)*100.00)#check precisionAKT=(ABZERO+TEMPC)*BOLTZAN1=FRAC[1]CORR*ALOSCHAN2=FRAC[2]CORR*ALOSCHAN3=FRAC[3]CORR*ALOSCHAN4=FRAC[4]CORR*ALOSCHAN5=FRAC[5]CORR*ALOSCHAN6=FRAC[6]CORR*ALOSCHAN=float(100.00*CORR*ALOSCH)AN=100.00*CORR*ALOSCH#VAN1=FRAC[1]*CORR*CONST4*1.0D15 #VAN2=FRAC[2]*CORR*CONST4*1.0D15 #VAN3=FRAC(3)*CORR*CONST4*1.0D15 #VAN4=FRAC[4]*CORR*CONST4*1.0D15#VAN5=FRAC[5]*CORR*CONST4*1.0D15#VAN6=FRAC[6]*CORR*CONST4*1.0D15 #VAN=100.00*CORR*CONST4*1.0D15VAN1=FRAC[1]*CORR*ALOSCH*VCVAN2=FRAC[2]*CORR*ALOSCH*VCVAN3=FRAC[3]*CORR*ALOSCH*VCVAN4=FRAC[4]*CORR*ALOSCH*VCVAN5=FRAC[5]*CORR*ALOSCH*VCVAN6=FRAC[6]*CORR*ALOSCH*VCVAN=float(100.00*CORR*ALOSCH*VC)#22745 #22945# CALCULATE AND STORE ENERGY GRID FOR XRAYS BETAS OR PARTICLESif(EFINAL<=20000.0):ESTEP=float(EFINAL/float(NSTEP))EHALF=float(ESTEP/2.00)E[1]=EHALFGAM[1]=(EMS+E[1])/EMSBET[1]=math.sqrt(1.00-1.00/(GAM[1]*GAM[1]))#ifcontinuesforIinrange(2,20000):#ifcontinuesAJ=float(I-1)E[I]=EHALF+ESTEP*AJGAM[I]=(EMS+E[I])/EMSBET[I]=math.sqrt(1.00-1.00/(GAM[I]*GAM[I]))elseif(EFINAL>20000.0andEFINAL<=140000.):ESTEP=1.0EHALF=0.5E[1]=EHALFGAM[1]=(EMS+E[1])/EMSBET[1]=math.sqrt(1.00-1.00/(GAM[1]*GAM[1]))foriinrange(2,16000):AJ=float(I-1)E[I]=EHALF+ESTEP*AJGAM[I]=(EMS+E[I])/EMSBET[I]=math.sqrt(1.00-1.00/(GAM[I]*GAM[I]))#22768 #22968 ESTEP1=(EFINAL-16000.0)/float(4000)forIinrange(16001,2000):AJ=float(I-16000)E[I]=16000.0+AJ*ESTEP1GAM[I]=(EMS+E[I])/EMSBET[I]=math.sqrt(1.00-1.00/(GAM[I]*GAM[I]))else:ESTEP=1.0EHALF=0.5E[1]=EHALFGAM[1]=(EMS+E[1])/EMSBET[1]=math.sqrt(1.00-1.00/(GAM[1]*GAM[1]))forIinrange(2,12000):AJ=float(I-1)E[I]=EHALF+ESTEP*AJGAM[I]=(EMS+E[I])/EMSBET[I]math.sqrt(1.00-1.00/(GAM[I]*GAM[I]))ESTEP1=20.0forIinrange(12001,16000):AJ=float(I-12000)E[I]=12000.0+AJ*ESTEP1GAM[I]=(EMS+E[I])/EMSBET[I]math.sqrt(1.00-1.00/(GAM[I]*GAM[I]))ESTEP2=(EFINAL-92000.0)/float(4000)forIinrange(16001,20000):AJ=float(I-16000)E[I]=92000.0+AJ*ESTEP2GAM[I]=(EMS+E[I])/EMSBET[I]math.sqrt(1.00-1.00/(GAM[I]*GAM[I]))# endif# RADIANS PER PICOSECOND WB=AWB*BMAG*1.0*(10**-12)# METRES PER PICOSECONDif(BMAG==0.00):returnEOVB=EFIELD*1*(10**-9)/BMAGreturnprint(' ERROR IN GAS INPUT : NGAS=',NGAS,'\n')forJinrange(1,6):print(' N=',J,' NGAS=',NGASN[J],' FRAC=',FRAC[J])LAST=1return# end
The SETUP() function handles the gas inputs
Arguments
Argument
Description
LAST
1 -> end the program
0 -> keep the Program running
Pseudo Code
(Input Card 1)
Variables
Description
NGAS
Number of Gases
NEVENT
Event Number
IMIP
= 1 Mips Simulation (dE/dX, Clusters)
= 2 Electron Beam (Total Absorption)
= 3 X-ray
= 4 Beta Decay
= 5 Double Beta Decay
NDVEC
= 2 Mip X-ray or Beta in Random Direction
= 1 Mip X-ray or Beta Direction Parallel to E-field (Z)
=-1 Mip X-ray or Beta Direction Anti Parallel to E-field (-z)
= 0 Mip X-ray or Beta in Random Direction in X-y Plane
NSEED
= 0 Uses Standard Seed Value = 54217137
!= 0 Uses Value of NSEED as Seed Value
ESTART
Starting energy of the chosen IMIP ( MIP
electron,beta Decay or X-ray Energy in eV).
Note Double Beta Decay Energy Is to Be Entered as the
Energy of Each Beta (0.5 Times Total Decay Energy)
(if X-ray Max Energy=2.0 MeV)
ETHRM
Electrons Tracked Until They Fall to This Energy eV.
for Fast Calculation the Thermalisation Energy Should
Be Set to the Lowest Ionisation Potential in the Gas Mixture.
for More Accurate Thermalisation Range the Thermalisation
Energy Should Be Set to the Lowest Excitation Energy in
Pure Noble Gases or to 2.0 eV for Mixtures With Molecular Gas
ECUT
For Mips only. Applies Energy Cut in eV to Give the
Maximum Allowed Primary Cluster Energy ( Should Be Set
to Less Than 10000 eV to Give Maximum Primary Cluster Size)
of Typically 400 Electrons
If number of gases is 0, then LAST =1 ( and end the program)
If X-Ray and Start energy ESTART > 3 MeV then stop program
Stop if event limit NEVENT exceeded
non-MIPS Simulation:Limit for number of events = 10000
MIPS Simulation: Limit for number of events = 100000
Input Gas Identifiers (Input Card 2)
Variable
Number of Inputs
Input Type
Description
NGASN
6
int
Number to define which gas(between 1-80)
see Gas-List for identifying numbers
Input Gas Parameters (Input Card 3)
Variable
Number of Inputs
Input Type
Description
FRAC
6
float .4f
Percentage fraction of gas in mixture
TEMPC
1
float .4f
Temperature of Gas in Centigrade
TORR
1
float .4f
Pressure of Gas in Torr
Input Field values (Input Card 4)
Variable
Input Type
Description
EFIELD
float .3f
Electric Field in Volts/cm
BMAG
float .3f
Magnetic Field in Kilo Gauss
BTHETA
float .3f
Angle between electric and magnetic fields in degrees
IWRITE
int
= 0 Standard Output
= 1 then
Line 1: Output no. of electrons and no. of excitations
for each event
Line 2 : Output X,Y,Z and T for each thermalised electron
= 2 then
Line 1: Output no. of electrons and no. of excitations
for each event
Line 2: Outputs X,Y,Z and T for each thermalised electron
Line 3: Outputs X,Y,Z and T for each excitation
IPEN
int
= 0 No Penning transfers
= 1 Penning transfers allowed
(Input Card 5)
Variable
Input type
Description
DETEFF
float .3f
Detection efficiency of photons. Used for calculation of
FANO factors for combined electron and photon detection
in pure noble gases (Between 0.0 - 100.0)
EXCWGHT
float .3f
Weight given to excitation events in FANO calculation
with respect to ionisation. Typically 0.5 - 0.6
Use weight given by SQRT((Fele)/(Fexc))
Fele = Electron FANO factor
Fexc = Electron FANO factor
KGAS
int
Gas identifier for which gas in mixture has Beta decayed.
Identifier Numbers : NGAS1 etc.
LGAS
int
If molecular gas : LGAS identifies the component atom in
the molecule which has Beta decayed :
E.g. in CO2 1=Carbon 2=Oxygen
in CF4 1=Carbon 2=Fluorine
ICMP
int
=0 No Compton Scattering
=1 Include Compton Scattering
IRAY
int
=0 No Rayleigh Scattering
=1 Include Rayleigh Scattering
IPAP
int
=0 No pair production
=1 Include pair production
IBRM
int
=0 No Bremsstrahlung
=1 Include Bremsstrahlung
IECASC
int
=0 Use parameterised cascade for 2nd to n^(th) generation
of electron ionising collisions.
=1 Use exact cascade for 2nd to nth generation of
electron ionising collisions.
DENSITY()
Arguments
Argument
Description
NONE
-
Pseudo Code
Initialize data arrays
Calculate Density Correction Array DEN[20000+1]
defDENSITY():#IMPLICIT #real*8 (A-H,O-Z)#IMPLICIT #integer*8 (I-N)globalDEN#=[0 for x in range(20000)]globalAN1,AN2,AN3,AN4,AN5,AN6,AN,FRAC#=[0 for x in range(6)]globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENglobalNGASN#=[0 for x in range[6]]globalBET#=[0 for x in range(2000)]globalGAM#=[0 for x in range(20000)]globalVC,EMS###############################################DEN=conf.DENAN1=conf.AN1AN2=conf.AN2AN3=conf.AN3AN4=conf.AN4AN5=conf.AN5AN6=conf.AN6AN=conf.ANFRAC=conf.FRACNGAS=conf.NGASNSTEP=conf.NSTEPNANISO=conf.NANISOEFINAL=conf.EFINALESTEP=conf.ESTEPAKT=conf.AKTARY=conf.ARYTEMPC=conf.TEMPCTORR=conf.TORRIPEN=conf.IPENNGASN=conf.NGASNBET=conf.BETGAM=conf.GAMVC=conf.VCEMS=conf.EMS###############################################AND=numpy.zeros(6+1)EIAV=numpy.zeros(80+1)X00=numpy.zeros(80+1)X11=numpy.zeros(80+1)AKS=numpy.zeros(80+1)AAA=numpy.zeros(80+1)JELEC=numpy.zeros(80+1)# DENSITY EFFECT CONSTANTS# EIAV ENERGY IN EV# JELEC NUMBER OF ELECTRONS PER ATOM OR MOLECULEEIAV=[0,115.0,188.0,41.8,41.8,137.0,352.0,482.0,41.7,45.4,47.1,48.3,85.0,0.0,71.6,95.0,82.0,0.0,0.0,0.0,0.0,19.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,128.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,48.3,*36*[0.0]]# print(len(EIAV))JELEC=[0,42,18,2,2,10,36,54,10,18,26,34,22,0,10,16,14,0,0,0,0,2,0,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,34]+36*[0]X00=[0,1.70,1.7635,2.2017,2.2017,2.0735,1.7158,1.5630,1.6263,1.5090,1.4339,1.3788,1.6294,0.0,1.7952,1.7541,1.7378,0.0,0.0,0.0,0.0,1.8639,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.3788,*36*[0.0]]X11=[0,4.00,4.4855,3.6122,3.6122,4.6421,5.0748,4.7371,3.9716,3.8726,3.8011,3.7524,4.1825,0.0,4.3437,4.3213,4.1323,0.0,0.0,0.0,0.0,3.2718,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.7524,*36*[0.0]]AKS=[0,3.00,2.9618,5.8347,5.8347,3.5771,3.4051,2.7414,3.6257,3.6095,3.5920,3.4884,3.3227,0.0,3.5901,3.2913,3.2125,0.0,0.0,0.0,0.0,5.7273,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.4884,*36*[0.0]]AAA=[0,.18551,.19714,.13443,.13443,.08064,.07446,.23314,.09253,0.09627,0.09916,.10852,.11768,0.0,.08101,.11778,.15349,0.0,0.0,0.0,0.0,.14092,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,.177484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,.10852,*36*[0.0]]#API=numpy.arccos(-1.00)EMS=510998.9280RE=2.8179403267*(10**-13)ALPH=137.035999074ABZERO=273.150ATMOS=760.00# # DENSITY EFFECT CALCULATIONAND[1]=AN1AND[2]=AN2AND[3]=AN3AND[4]=AN4AND[5]=AN5AND[6]=AN6HSUM=0.0SUM1=0.0SUMDNOM=0.0# print(NGAS)forL1inrange(1,NGAS+1):# print("E",EIAV[int(NGASN[L1])],NGASN[L1])SUM1=SUM1+FRAC[L1]*float(JELEC[int(NGASN[L1])])*math.log(EIAV[int(NGASN[L1])])SUMDNOM=SUMDNOM+FRAC[L1]*float(JELEC[int(NGASN[L1])])HSUM=HSUM+AND[L1]*float(JELEC[int(NGASN[L1])])#22385EIBAR=math.exp(SUM1/SUMDNOM)# PLASMA ENERGYHWP1=math.sqrt(4.0*API*HSUM*RE**3)*ALPH*EMS#DELDEN=math.log(EIBAR/HWP1)CBAR=1.0+2.0*DELDENflag=0#SELF ADDEDif(NGAS==1):#22392flag=1# CALC X0 AND X1if(CBAR<10.0):X0=1.6X1=4.0elif(CBAR>=4.0andCBAR<10.5):X0=1.7X1=4.0elif(CBAR>=10.5andCBAR<11.0):X0=1.8X1=4.0elif(CBAR>=11.0andCBAR<11.5):X0=1.9X1=4.0elif(CBAR>=11.5andCBAR<12.25):X0=2.0X1=4.0elif(CBAR>=12.25andCBAR<13.804):X0=2.0X1=5.0else:X0=0.326*CBAR-1.5X1=5.0# endifif(flag==1):AKBAR=3.0ABAR=(CBAR-2.0*math.log(10.00)*X0)/((X1-X0)**3)elif(flag==0):AKBAR=AKS[int(NGASN[1])]X0=X00[int(NGASN[1])]X1=X11[int(NGASN[1])]ABAR=AAA[int(NGASN[1])]else:pass# CORRECT X0 AND X1 FOR DENSITY CHANGE FROM 20C AND 760 TORR# NB CORRECTION TO CBAR ALREADY DONEDCOR=0.5*math.log10(TORR*293.15/(760.0*(TEMPC+ABZERO)))X0=X0-DCORX1=X1-DCOR# CALCULATE DENSITY CORRECTION FACTOR ARRAY DEN(20000)AFC=2.0*math.log(10.00)forIinrange(1,20000+1):BG=BET[I]*GAM[I]X=math.log10(BG)if(X<X0):DEN[I]=0.0elif(X>X0andX<X1):DEN[I]=ABAR*math.exp(AKBAR*math.log(X1-X))+AFC*X-CBARelse:DEN[I]=AFC*X-CBAR# endif# WRITE(6,99) DEN[I]# 99 print(' DENSITY CORRECTION=',D12.5)conf.DEN=DENconf.AN1=AN1conf.AN2=AN2conf.AN3=AN3conf.AN4=AN4conf.AN5=AN5conf.AN6=AN6conf.AN=ANconf.FRAC=FRACconf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.NGASN=NGASNconf.BET=BETconf.GAM=GAMconf.VC=VCconf.EMS=EMSreturn# end
SUBROUTINEDENSITYIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/DENS/DEN(20000)COMMON/RATIO/AN1,AN2,AN3,AN4,AN5,AN6,AN,FRAC(6)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/GASN/NGASN(6)COMMON/RLTVY/BET(20000),GAM(20000),VC,EMSDIMENSIONAND(6),EIAV(80),X00(80),X11(80),AKS(80),AAA(80),/JELEC(80)CDENSITYEFFECTCONSTANTSCEIAVENERGYINEVCJELECNUMBEROFELECTRONSPERATOMORMOLECULEDATAEIAV/115.0,188.0,41.8,41.8,137.0,352.0,482.0,41.7,45.4,47.1,/48.3,85.0,0.0,71.6,95.0,82.0,0.0,0.0,0.0,0.0,/19.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,128.0,/0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,/0.0,0.0,0.0,48.3,/36*0.0/DATAJELEC/42,18,2,2,10,36,54,10,18,26,/34,22,0,10,16,14,0,0,0,0,/2,0,0,0,0,0,0,0,0,70,/0,0,0,0,0,0,0,0,0,0,/0,0,0,34,/36*0/DATAX00/1.70,1.7635,2.2017,2.2017,2.0735,1.7158,1.5630,1.6263,/1.5090,1.4339,/1.3788,1.6294,0.0,1.7952,1.7541,1.7378,0.0,0.0,0.0,0.0,/1.8639,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.6,/0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,/0.0,0.0,0.0,1.3788,/36*0.0/DATAX11/4.00,4.4855,3.6122,3.6122,4.6421,5.0748,4.7371,3.9716,/3.8726,3.8011,/3.7524,4.1825,0.0,4.3437,4.3213,4.1323,0.0,0.0,0.0,0.0,/3.2718,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,/0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,/0.0,0.0,0.0,3.7524,/36*0.0/DATAAKS/3.00,2.9618,5.8347,5.8347,3.5771,3.4051,2.7414,3.6257,/3.6095,3.5920,/3.4884,3.3227,0.0,3.5901,3.2913,3.2125,0.0,0.0,0.0,0.0,/5.7273,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,/0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,/0.0,0.0,0.0,3.4884,/36*0.0/DATAAAA/.18551,.19714,.13443,.13443,.08064,.07446,.23314,.09253,/0.09627,0.09916,/.10852,.11768,0.0,.08101,.11778,.15349,0.0,0.0,0.0,0.0,/.14092,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,.177484,/0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,/0.0,0.0,0.0,.10852,/36*0.0/CAPI=DACOS(-1.0D0)EMS=510998.928D0RE=2.8179403267D-13ALPH=137.035999074ABZERO=273.15D0ATMOS=760.0D0CCDENSITYEFFECTCALCULATIONAND(1)=AN1AND(2)=AN2AND(3)=AN3AND(4)=AN4AND(5)=AN5AND(6)=AN6HSUM=0.0SUM1=0.0SUMDNOM=0.0DO120L1=1,NGASSUM1=SUM1+FRAC(L1)*DFLOAT(JELEC(NGASN(L1)))*DLOG(EIAV(NGASN(L1)))SUMDNOM=SUMDNOM+FRAC(L1)*DFLOAT(JELEC(NGASN(L1)))120HSUM=HSUM+AND(L1)*DFLOAT(JELEC(NGASN(L1)))EIBAR=DEXP(SUM1/SUMDNOM)CPLASMAENERGYHWP1=DSQRT(4.0*API*HSUM*RE**3)*ALPH*EMSCDELDEN=DLOG(EIBAR/HWP1)CBAR=1.0+2.0*DELDENIF(NGAS.EQ.1)GOTO200CCALCX0ANDX1IF(CBAR.LT.10.0)THENX0=1.6X1=4.0ELSEIF(CBAR.GE.4.0.AND.CBAR.LT.10.5)THENX0=1.7X1=4.0ELSEIF(CBAR.GE.10.5.AND.CBAR.LT.11.0)THENX0=1.8X1=4.0ELSEIF(CBAR.GE.11.0.AND.CBAR.LT.11.5)THENX0=1.9X1=4.0ELSEIF(CBAR.GE.11.5.AND.CBAR.LT.12.25)THENX0=2.0X1=4.0ELSEIF(CBAR.GE.12.25.AND.CBAR.LT.13.804)THENX0=2.0X1=5.0ELSEX0=0.326*CBAR-1.5X1=5.0ENDIFAKBAR=3.0ABAR=(CBAR-2.0*DLOG(10.0D0)*X0)/((X1-X0)**3)GOTO201200AKBAR=AKS(NGASN(1))X0=X00(NGASN(1))X1=X11(NGASN(1))ABAR=AAA(NGASN(1))201CONTINUECCORRECTX0ANDX1FORDENSITYCHANGEFROM20CAND760TORRCNBCORRECTIONTOCBARALREADYDONEDCOR=0.5*DLOG10(TORR*293.15/(760.0*(TEMPC+ABZERO)))X0=X0-DCORX1=X1-DCORCCALCULATEDENSITYCORRECTIONFACTORARRAYDEN(20000)AFC=2.0*DLOG(10.0D0)DO236I=1,20000BG=BET(I)*GAM(I)X=DLOG10(BG)IF(X.LT.X0)THENDEN(I)=0.0ELSEIF(X.GT.X0.AND.X.LT.X1)THENDEN(I)=ABAR*DEXP(AKBAR*DLOG(X1-X))+AFC*X-CBARELSEDEN(I)=AFC*X-CBARENDIFCWRITE(6,99)DEN(I)C99FORMAT(' DENSITY CORRECTION=',D12.5)236CONTINUERETURNEND
MIXERC()
Load photoelectric and compton X-Secs
Load initial shell occupancies for each gas
Load Energy Levels
Load Transition Probabilities Auger and Radiative
Load shake-off probabilities and energies
Arguments
Argument
Description
NONE
-
Pseudo Code
defMIXERC():# IMPLICIT #real*8 (A-H,O-Z) # IMPLICIT #integer*8 (I-N)# COMMON/INPT/globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN#COMMON/MIXC/# global conf.PRSH,conf.ESH,conf.AUG,conf.RAD,conf.PRSHBT,conf.IZ,conf.INIOCC,conf.ISHLMX,conf.AMZ #COMMON/MIXPE/# global conf.XPE,conf.YPE#COMMON/MIXCN/# global conf.XCP,conf.YRY,conf.YCP,conf.YPP#COMMON/COMPTIN/# global conf.FRMFR,conf.FRMFC#COMMON/GASN/globalNGASNPRSH1=numpy.zeros((3+1,17+1,17+1))PRSH2=numpy.zeros((3+1,17+1,17+1))PRSH3=numpy.zeros((3+1,17+1,17+1))PRSH4=numpy.zeros((3+1,17+1,17+1))PRSH5=numpy.zeros((3+1,17+1,17+1))PRSH6=numpy.zeros((3+1,17+1,17+1))PRSHBT1=numpy.zeros((3+1,17+1))PRSHBT2=numpy.zeros((3+1,17+1))PRSHBT3=numpy.zeros((3+1,17+1))PRSHBT4=numpy.zeros((3+1,17+1))PRSHBT5=numpy.zeros((3+1,17+1))PRSHBT6=numpy.zeros((3+1,17+1))ESH1=numpy.zeros((3+1,17+1))ESH2=numpy.zeros((3+1,17+1))ESH3=numpy.zeros((3+1,17+1))ESH4=numpy.zeros((3+1,17+1))ESH5=numpy.zeros((3+1,17+1))ESH6=numpy.zeros((3+1,17+1))AUG1=numpy.zeros((3+1,17+1,17+1,17+1))AUG2=numpy.zeros((3+1,17+1,17+1,17+1))AUG3=numpy.zeros((3+1,17+1,17+1,17+1))AUG4=numpy.zeros((3+1,17+1,17+1,17+1))AUG5=numpy.zeros((3+1,17+1,17+1,17+1))AUG6=numpy.zeros((3+1,17+1,17+1,17+1))RAD1=numpy.zeros((3+1,17+1,17+1))RAD2=numpy.zeros((3+1,17+1,17+1))RAD3=numpy.zeros((3+1,17+1,17+1))RAD4=numpy.zeros((3+1,17+1,17+1))RAD5=numpy.zeros((3+1,17+1,17+1))RAD6=numpy.zeros((3+1,17+1,17+1))INIOCC1=numpy.zeros((3+1,17+1))INIOCC2=numpy.zeros((3+1,17+1))INIOCC3=numpy.zeros((3+1,17+1))INIOCC4=numpy.zeros((3+1,17+1))INIOCC5=numpy.zeros((3+1,17+1))INIOCC6=numpy.zeros((3+1,17+1))XP1=numpy.zeros((3+1,17+1,60+1))YP1=numpy.zeros((3+1,17+1,60+1))XP2=numpy.zeros((3+1,17+1,60+1))YP2=numpy.zeros((3+1,17+1,60+1))XP3=numpy.zeros((3+1,17+1,60+1))YP3=numpy.zeros((3+1,17+1,60+1))XP4=numpy.zeros((3+1,17+1,60+1))YP4=numpy.zeros((3+1,17+1,60+1))XP5=numpy.zeros((3+1,17+1,60+1))YP5=numpy.zeros((3+1,17+1,60+1))XP6=numpy.zeros((3+1,17+1,60+1))YP6=numpy.zeros((3+1,17+1,60+1))XC1=numpy.zeros((3+1,54+1))YR1=numpy.zeros((3+1,54+1))YC1=numpy.zeros((3+1,54+1))YPP1=numpy.zeros((3+1,54+1))XC2=numpy.zeros((3+1,54+1))YR2=numpy.zeros((3+1,54+1))YC2=numpy.zeros((3+1,54+1))YPP2=numpy.zeros((3+1,54+1))XC3=numpy.zeros((3+1,54+1))YR3=numpy.zeros((3+1,54+1))YC3=numpy.zeros((3+1,54+1))YPP3=numpy.zeros((3+1,54+1))XC4=numpy.zeros((3+1,54+1))YR4=numpy.zeros((3+1,54+1))YC4=numpy.zeros((3+1,54+1))YPP4=numpy.zeros((3+1,54+1))XC5=numpy.zeros((3+1,54+1))YR5=numpy.zeros((3+1,54+1))YC5=numpy.zeros((3+1,54+1))YPP5=numpy.zeros((3+1,54+1))XC6=numpy.zeros((3+1,54+1))YR6=numpy.zeros((3+1,54+1))YC6=numpy.zeros((3+1,54+1))YPP6=numpy.zeros((3+1,54+1))FFAC1=numpy.zeros((3+1,45+1))FFAC2=numpy.zeros((3+1,45+1))FFAC3=numpy.zeros((3+1,45+1))FFAC4=numpy.zeros((3+1,45+1))FFAC5=numpy.zeros((3+1,45+1))FFAC6=numpy.zeros((3+1,45+1))FFAR1=numpy.zeros((3+1,45+1))FFAR2=numpy.zeros((3+1,45+1))FFAR3=numpy.zeros((3+1,45+1))FFAR4=numpy.zeros((3+1,45+1))FFAR5=numpy.zeros((3+1,45+1))FFAR6=numpy.zeros((3+1,45+1))IZ1=numpy.zeros((3+1))IZ2=numpy.zeros((3+1))IZ3=numpy.zeros((3+1))IZ4=numpy.zeros((3+1))IZ5=numpy.zeros((3+1))IZ6=numpy.zeros((3+1))AMZ1=numpy.zeros((3+1))AMZ2=numpy.zeros((3+1))AMZ3=numpy.zeros((3+1))AMZ4=numpy.zeros((3+1))AMZ5=numpy.zeros((3+1))AMZ6=numpy.zeros((3+1))# LOAD PHOTOELECTRIC AND COMPTON X-SECS# LOAD INITIAL SHELL OCCUPANCIES FOR EACH GAS# LOAD ENERGY LEVELS# LOAD TRANSITION PROBABILITIES AUGER AND RADIATIVE# LOAD SHAKE OFF PROBABILITIES AND ENERGIESforIinrange(1,6+1):forMinrange(1,3+1):conf.IZ[I][M]=0conf.AMZ[I][M]=0.00forJinrange(1,17+1):conf.ESH[I][M][J]=0.0conf.INIOCC[I][M][J]=0conf.PRSHBT[I][M][J]=0.0forKinrange(1,17+1):conf.PRSH[I][M][J][K]=0.0conf.RAD[I][M][J][K]=0.0forLinrange(1,17+1):conf.AUG[I][M][J][K][L]=0.0GASMIXC(conf.NGASN[1],PRSH1,PRSHBT1,ESH1,AUG1,RAD1,XP1,YP1,XC1,YR1,YC1,YPP1,FFAR1,FFAC1,IZ1,AMZ1,INIOCC1)if(conf.NGAS==1):passelse:GASMIXC(conf.NGASN[2],PRSH2,PRSHBT2,ESH2,AUG2,RAD2,XP2,YP2,XC2,YR2,YC2,YPP2,FFAR2,FFAC2,IZ2,AMZ2,INIOCC2)if(conf.NGAS==2):passelse:GASMIXC(conf.NGASN[3],PRSH3,PRSHBT3,ESH3,AUG3,RAD3,XP3,YP3,XC3,YR3,YC3,YPP3,FFAR3,FFAC3,IZ3,AMZ3,INIOCC3)if(conf.NGAS==3):passelse:GASMIXC(conf.NGASN[4],PRSH4,PRSHBT4,ESH4,AUG4,RAD4,XP4,YP4,XC4,YR4,YC4,YPP4,FFAR4,FFAC4,IZ4,AMZ4,INIOCC4)if(conf.NGAS==4):passelse:GASMIXC(conf.NGASN[5],PRSH5,PRSHBT5,ESH5,AUG5,RAD5,XP5,YP5,XC5,YR5,YC5,YPP5,FFAR5,FFAC5,IZ5,AMZ5,INIOCC5)if(conf.NGAS==5):passelse:GASMIXC(conf.NGASN[6],PRSH6,PRSHBT6,ESH6,AUG6,RAD6,XP6,YP6,XC6,YR6,YC6,YPP6,FFAR6,FFAC6,IZ6,AMZ6,INIOCC6)if(conf.NGAS==6):pass# 10 CONTINUEI=1print(conf.XPE.shape,XP1.shape)forJ1inrange(1,3+1):conf.IZ[I][J1]=IZ1[J1]conf.AMZ[I][J1]=AMZ1[J1]forJinrange(1,17+1):forMinrange(1,60+1):conf.XPE[1][J1][J][M]=XP1[J1][J][M]conf.YPE[1][J1][J][M]=YP1[J1][J][M]conf.ESH[I][J1][J]=ESH1[J1][J]conf.INIOCC[I][J1][J]=INIOCC1[J1][J]if(INIOCC1[J1][J]!=0):conf.ISHLMX[1][J1]=Jconf.PRSHBT[I][J1][J]=PRSHBT1[J1][J]forKinrange(1,17+1):conf.PRSH[I][J1][J][K]=PRSH1[J1][J][K]conf.RAD[I,J1,J,K]=RAD1[J1][J][K]forLinrange(1,17+1):conf.AUG[I][J1][J][K][L]=AUG1[J1][J][K][L]forJinrange(1,3+1):forMinrange(1,54+1):conf.XCP[1][J][M]=XC1[J][M]conf.YRY[1][J][M]=YR1[J][M]conf.YCP[1][J][M]=YC1[J][M]conf.YPP[1][J][M]=YPP1[J][M]forJinrange(1,3+1):forKinrange(1,45+1):conf.FRMFR[1][J][K]=FFAR1[J][K]conf.FRMFC[1][J][K]=FFAC1[J][K]if(conf.NGAS==1):returnI=2forJ1inrange(1,3+1):conf.IZ[I][J1]=IZ2[J1]conf.AMZ[I][J1]=AMZ2[J1]forJinrange(1,17+1):forMinrange(1,60+1):conf.XPE[2][J1][J][M]=XP2[J1][J][M]conf.YPE[2][J1][J][M]=YP2[J1][J][M]conf.ESH[I][J1][J]=ESH2[J1][J]conf.INIOCC[I][J1][J]=INIOCC2[J1][J]if(INIOCC2[J1][J]!=0):conf.ISHLMX[2][J1]=Jconf.PRSHBT[I][J1][J]=PRSHBT2[J1][J]forKinrange(1,17+1):conf.PRSH[I][J1][J][K]=PRSH2[J1][J][K]conf.RAD[I,J1,J,K]=RAD2[J1][J][K]forLinrange(1,17+1):conf.AUG[I][J1][J][K][L]=AUG2[J1][J][K][L]forJinrange(1,3+1):forMinrange(1,54+1):conf.XCP[2][J][M]=XC2[J][M]conf.YRY[2][J][M]=YR2[J][M]conf.YCP[2][J][M]=YC2[J][M]conf.YPP[2][J][M]=YPP2[J][M]forJinrange(1,3+1):forKinrange(1,45+1):conf.FRMFR[2][J][K]=FFAR2[J][K]conf.FRMFC[2][J][K]=FFAC2[J][K]if(conf.NGAS==2):returnI=3forJ1inrange(1,3+1):conf.IZ[I][J1]=IZ3[J1]conf.AMZ[I][J1]=AMZ3[J1]forJinrange(1,17+1):forMinrange(1,60+1):conf.XPE[3][J1][J][M]=XP3[J1][J][M]conf.YPE[3][J1][J][M]=YP3[J1][J][M]conf.ESH[I][J1][J]=ESH3[J1][J]conf.INIOCC[I][J1][J]=INIOCC3[J1][J]if(INIOCC3[J1][J]!=0):conf.ISHLMX[3][J1]=Jconf.PRSHBT[I][J1][J]=PRSHBT3[J1][J]forKinrange(1,17+1):conf.PRSH[I][J1][J][K]=PRSH3[J1][J][K]conf.RAD[I,J1,J,K]=RAD3[J1][J][K]forLinrange(1,17+1):conf.AUG[I][J1][J][K][L]=AUG3[J1][J][K][L]forJinrange(1,3+1):forMinrange(1,54+1):conf.XCP[3][J][M]=XC3[J][M]conf.YRY[3][J][M]=YR3[J][M]conf.YCP[3][J][M]=YC3[J][M]conf.YPP[3][J][M]=YPP3[J][M]forJinrange(1,3+1):forKinrange(1,45+1):conf.FRMFR[3][J][K]=FFAR3[J][K]conf.FRMFC[3][J][K]=FFAC3[J][K]if(conf.NGAS==3):returnI=4forJ1inrange(1,3+1):conf.IZ[I][J1]=IZ4[J1]conf.AMZ[I][J1]=AMZ4[J1]forJinrange(1,17+1):forMinrange(1,60+1):conf.XPE[4][J1][J][M]=XP4[J1][J][M]conf.YPE[4][J1][J][M]=YP4[J1][J][M]conf.ESH[I][J1][J]=ESH4[J1][J]conf.INIOCC[I][J1][J]=INIOCC4[J1][J]if(INIOCC4[J1][J]!=0):conf.ISHLMX[4][J1]=Jconf.PRSHBT[I][J1][J]=PRSHBT4[J1][J]forKinrange(1,17+1):conf.PRSH[I][J1][J][K]=PRSH4[J1][J][K]conf.RAD[I,J1,J,K]=RAD4[J1][J][K]forLinrange(1,17+1):conf.AUG[I][J1][J][K][L]=AUG4[J1][J][K][L]forJinrange(1,3+1):forMinrange(1,54+1):conf.XCP[4][J][M]=XC4[J][M]conf.YRY[4][J][M]=YR4[J][M]conf.YCP[4][J][M]=YC4[J][M]conf.YPP[4][J][M]=YPP4[J][M]forJinrange(1,3+1):forKinrange(1,45+1):conf.FRMFR[4][J][K]=FFAR4[J][K]conf.FRMFC[4][J][K]=FFAC4[J][K]if(conf.NGAS==4):returnI=5forJ1inrange(1,3+1):conf.IZ[I][J1]=IZ5[J1]conf.AMZ[I][J1]=AMZ5[J1]forJinrange(1,17+1):forMinrange(1,60+1):conf.XPE[5][J1][J][M]=XP5[J1][J][M]conf.YPE[5][J1][J][M]=YP5[J1][J][M]conf.ESH[I][J1][J]=ESH5[J1][J]conf.INIOCC[I][J1][J]=INIOCC5[J1][J]if(INIOCC5[J1][J]!=0):conf.ISHLMX[5][J1]=Jconf.PRSHBT[I][J1][J]=PRSHBT5[J1][J]forKinrange(1,17+1):conf.PRSH[I][J1][J][K]=PRSH5[J1][J][K]conf.RAD[I,J1,J,K]=RAD5[J1][J][K]forLinrange(1,17+1):conf.AUG[I][J1][J][K][L]=AUG5[J1][J][K][L]forJinrange(1,3+1):forMinrange(1,54+1):conf.XCP[5][J][M]=XC5[J][M]conf.YRY[5][J][M]=YR5[J][M]conf.YCP[5][J][M]=YC5[J][M]conf.YPP[5][J][M]=YPP5[J][M]forJinrange(1,3+1):forKinrange(1,45+1):conf.FRMFR[5][J][K]=FFAR5[J][K]conf.FRMFC[5][J][K]=FFAC5[J][K]if(conf.NGAS==5):returnI=6forJ1inrange(1,3+1):conf.IZ[I][J1]=IZ6[J1]conf.AMZ[I][J1]=AMZ6[J1]forJinrange(1,17+1):forMinrange(1,60+1):conf.XPE[6][J1][J][M]=XP6[J1][J][M]conf.YPE[6][J1][J][M]=YP6[J1][J][M]conf.ESH[I][J1][J]=ESH6[J1][J]conf.INIOCC[I][J1][J]=INIOCC6[J1][J]if(INIOCC6[J1][J]!=0):conf.ISHLMX[6][J1]=Jconf.PRSHBT[I][J1][J]=PRSHBT6[J1][J]forKinrange(1,17+1):conf.PRSH[I][J1][J][K]=PRSH6[J1][J][K]conf.RAD[I,J1,J,K]=RAD6[J1][J][K]forLinrange(1,17+1):conf.AUG[I][J1][J][K][L]=AUG6[J1][J][K][L]forJinrange(1,3+1):forMinrange(1,54+1):conf.XCP[6][J][M]=XC6[J][M]conf.YRY[6][J][M]=YR6[J][M]conf.YCP[6][J][M]=YC6[J][M]conf.YPP[6][J][M]=YPP6[J][M]forJinrange(1,3+1):forKinrange(1,45+1):conf.FRMFR[6][J][K]=FFAR6[J][K]conf.FRMFC[6][J][K]=FFAC6[J][K]if(conf.NGAS>6):print(' subroutine STOPPED: NGAS=',conf.NGAS,' IN MIXERC')sys.exit()# endif# 1000 CONTINUEreturn# end
SUBROUTINEMIXERCIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/MIXPE/XPE(6,3,17,60),YPE(6,3,17,60)COMMON/MIXCN/XCP(6,3,54),YRY(6,3,54),YCP(6,3,54),YPP(6,3,54)COMMON/COMPTIN/FRMFR(6,3,45),FRMFC(6,3,45)COMMON/GASN/NGASN(6)DIMENSIONPRSH1(3,17,17),PRSH2(3,17,17),PRSH3(3,17,17),/PRSH4(3,17,17),PRSH5(3,17,17),PRSH6(3,17,17)DIMENSIONPRSHBT1(3,17),PRSHBT2(3,17),PRSHBT3(3,17),PRSHBT4(3,17),/PRSHBT5(3,17),PRSHBT6(3,17)DIMENSIONESH1(3,17),ESH2(3,17),ESH3(3,17),ESH4(3,17),ESH5(3,17),/ESH6(3,17)DIMENSIONAUG1(3,17,17,17),AUG2(3,17,17,17),AUG3(3,17,17,17),/AUG4(3,17,17,17),AUG5(3,17,17,17),AUG6(3,17,17,17)DIMENSIONRAD1(3,17,17),RAD2(3,17,17),RAD3(3,17,17),RAD4(3,17,17),/RAD5(3,17,17),RAD6(3,17,17)DIMENSIONINIOCC1(3,17),INIOCC2(3,17),INIOCC3(3,17),INIOCC4(3,17),/INIOCC5(3,17),INIOCC6(3,17)DIMENSIONXP1(3,17,60),YP1(3,17,60),XP2(3,17,60),YP2(3,17,60),/XP3(3,17,60),YP3(3,17,60),XP4(3,17,60),YP4(3,17,60),/XP5(3,17,60),YP5(3,17,60),XP6(3,17,60),YP6(3,17,60)DIMENSIONXC1(3,54),YR1(3,54),YC1(3,54),YPP1(3,54),/XC2(3,54),YR2(3,54),YC2(3,54),YPP2(3,54),/XC3(3,54),YR3(3,54),YC3(3,54),YPP3(3,54),/XC4(3,54),YR4(3,54),YC4(3,54),YPP4(3,54),/XC5(3,54),YR5(3,54),YC5(3,54),YPP5(3,54),/XC6(3,54),YR6(3,54),YC6(3,54),YPP6(3,54)DIMENSIONFFAC1(3,45),FFAC2(3,45),FFAC3(3,45),FFAC4(3,45),/FFAC5(3,45),FFAC6(3,45)DIMENSIONFFAR1(3,45),FFAR2(3,45),FFAR3(3,45),FFAR4(3,45),/FFAR5(3,45),FFAR6(3,45)DIMENSIONIZ1(3),IZ2(3),IZ3(3),IZ4(3),IZ5(3),IZ6(3)DIMENSIONAMZ1(3),AMZ2(3),AMZ3(3),AMZ4(3),AMZ5(3),AMZ6(3)CLOADPHOTOELECTRICANDCOMPTONX-SECSCLOADINITIALSHELLOCCUPANCIESFOREACHGASCLOADENERGYLEVELSCLOADTRANSITIONPROBABILITIESAUGERANDRADIATIVECLOADSHAKEOFFPROBABILITIESANDENERGIESDO1I=1,6DO1M=1,3IZ(I,M)=0AMZ(I,M)=0.0D0DO1J=1,17ESH(I,M,J)=0.0INIOCC(I,M,J)=0PRSHBT(I,M,J)=0.0DO1K=1,17PRSH(I,M,J,K)=0.0RAD(I,M,J,K)=0.0DO1L=1,17AUG(I,M,J,K,L)=0.01CONTINUECALLGASMIXC(NGASN(1),PRSH1,PRSHBT1,ESH1,AUG1,RAD1,XP1,YP1,XC1,/YR1,YC1,YPP1,FFAR1,FFAC1,IZ1,AMZ1,INIOCC1)IF(NGAS.EQ.1)GOTO10CALLGASMIXC(NGASN(2),PRSH2,PRSHBT2,ESH2,AUG2,RAD2,XP2,YP2,XC2,/YR2,YC2,YPP2,FFAR2,FFAC2,IZ2,AMZ2,INIOCC2)IF(NGAS.EQ.2)GOTO10CALLGASMIXC(NGASN(3),PRSH3,PRSHBT3,ESH3,AUG3,RAD3,XP3,YP3,XC3,/YR3,YC3,YPP3,FFAR3,FFAC3,IZ3,AMZ3,INIOCC3)IF(NGAS.EQ.3)GOTO10CALLGASMIXC(NGASN(4),PRSH4,PRSHBT4,ESH4,AUG4,RAD4,XP4,YP4,XC4,/YR4,YC4,YPP4,FFAR4,FFAC4,IZ4,AMZ4,INIOCC4)IF(NGAS.EQ.4)GOTO10CALLGASMIXC(NGASN(5),PRSH5,PRSHBT5,ESH5,AUG5,RAD5,XP5,YP5,XC5,/YR5,YC5,YPP5,FFAR5,FFAC5,IZ5,AMZ5,INIOCC5)IF(NGAS.EQ.5)GOTO10CALLGASMIXC(NGASN(6),PRSH6,PRSHBT6,ESH6,AUG6,RAD6,XP6,YP6,XC6,/YR6,YC6,YPP6,FFAR6,FFAC6,IZ6,AMZ6,INIOCC6)IF(NGAS.EQ.6)GOTO1010CONTINUEI=1DO30J1=1,3IZ(I,J1)=IZ1(J1)AMZ(I,J1)=AMZ1(J1)DO30J=1,17DO20M=1,60XPE(1,J1,J,M)=XP1(J1,J,M)YPE(1,J1,J,M)=YP1(J1,J,M)20CONTINUEESH(I,J1,J)=ESH1(J1,J)INIOCC(I,J1,J)=INIOCC1(J1,J)IF(INIOCC1(J1,J).NE.0)ISHLMX(1,J1)=JPRSHBT(I,J1,J)=PRSHBT1(J1,J)DO30K=1,17PRSH(I,J1,J,K)=PRSH1(J1,J,K)RAD(I,J1,J,K)=RAD1(J1,J,K)DO30L=1,17AUG(I,J1,J,K,L)=AUG1(J1,J,K,L)30CONTINUEDO35J=1,3DO35M=1,54XCP(1,J,M)=XC1(J,M)YRY(1,J,M)=YR1(J,M)YCP(1,J,M)=YC1(J,M)YPP(1,J,M)=YPP1(J,M)35CONTINUEDO40J=1,3DO40K=1,45FRMFR(1,J,K)=FFAR1(J,K)40FRMFC(1,J,K)=FFAC1(J,K)IF(NGAS.EQ.1)GOTO1000I=2DO60J1=1,3IZ(I,J1)=IZ2(J1)AMZ(I,J1)=AMZ2(J1)DO60J=1,17DO50M=1,60XPE(2,J1,J,M)=XP2(J1,J,M)YPE(2,J1,J,M)=YP2(J1,J,M)50CONTINUEESH(I,J1,J)=ESH2(J1,J)INIOCC(I,J1,J)=INIOCC2(J1,J)IF(INIOCC2(J1,J).NE.0)ISHLMX(2,J1)=JPRSHBT(I,J1,J)=PRSHBT2(J1,J)DO60K=1,17PRSH(I,J1,J,K)=PRSH2(J1,J,K)RAD(I,J1,J,K)=RAD2(J1,J,K)DO60L=1,17AUG(I,J1,J,K,L)=AUG2(J1,J,K,L)60CONTINUEDO65J=1,3DO65M=1,54XCP(2,J,M)=XC2(J,M)YRY(2,J,M)=YR2(J,M)YCP(2,J,M)=YC2(J,M)YPP(2,J,M)=YPP2(J,M)65CONTINUEDO70J=1,3DO70K=1,45FRMFR(2,J,K)=FFAR2(J,K)70FRMFC(2,J,K)=FFAC2(J,K)IF(NGAS.EQ.2)GOTO1000I=3DO90J1=1,3IZ(I,J1)=IZ3(J1)AMZ(I,J1)=AMZ3(J1)DO90J=1,17DO80M=1,60XPE(3,J1,J,M)=XP3(J1,J,M)YPE(3,J1,J,M)=YP3(J1,J,M)80CONTINUEESH(I,J1,J)=ESH3(J1,J)INIOCC(I,J1,J)=INIOCC3(J1,J)IF(INIOCC3(J1,J).NE.0)ISHLMX(3,J1)=JPRSHBT(I,J1,J)=PRSHBT3(J1,J)DO90K=1,17PRSH(I,J1,J,K)=PRSH3(J1,J,K)RAD(I,J1,J,K)=RAD3(J1,J,K)DO90L=1,17AUG(I,J1,J,K,L)=AUG3(J1,J,K,L)90CONTINUEDO95J=1,3DO95M=1,54XCP(3,J,M)=XC3(J,M)YRY(3,J,M)=YR3(J,M)YCP(3,J,M)=YC3(J,M)YPP(3,J,M)=YPP3(J,M)95CONTINUEDO100J=1,3DO100K=1,45FRMFR(3,J,K)=FFAR3(J,K)100FRMFC(3,J,K)=FFAC3(J,K)IF(NGAS.EQ.3)GOTO1000I=4DO120J1=1,3IZ(I,J1)=IZ4(J1)AMZ(I,J1)=AMZ4(J1)DO120J=1,17DO110M=1,60XPE(4,J1,J,M)=XP4(J1,J,M)YPE(4,J1,J,M)=YP4(J1,J,M)110CONTINUEESH(I,J1,J)=ESH4(J1,J)INIOCC(I,J1,J)=INIOCC4(J1,J)IF(INIOCC4(J1,J).NE.0)ISHLMX(4,J1)=JPRSHBT(I,J1,J)=PRSHBT4(J1,J)DO120K=1,17PRSH(I,J1,J,K)=PRSH4(J1,J,K)RAD(I,J1,J,K)=RAD4(J1,J,K)DO120L=1,17AUG(I,J1,J,K,L)=AUG4(J1,J,K,L)120CONTINUEDO125J=1,3DO125M=1,54XCP(4,J,M)=XC4(J,M)YRY(4,J,M)=YR4(J,M)YCP(4,J,M)=YC4(J,M)YPP(4,J,M)=YPP4(J,M)125CONTINUEDO130J=1,3DO130K=1,45FRMFR(4,J,K)=FFAR4(J,K)130FRMFC(4,J,K)=FFAC4(J,K)IF(NGAS.EQ.4)GOTO1000I=5DO150J1=1,3IZ(I,J1)=IZ5(J1)AMZ(I,J1)=AMZ5(J1)DO150J=1,17DO140M=1,60XPE(5,J1,J,M)=XP5(J1,J,M)YPE(5,J1,J,M)=YP5(J1,J,M)140CONTINUEESH(I,J1,J)=ESH5(J1,J)INIOCC(I,J1,J)=INIOCC5(J1,J)IF(INIOCC5(J1,J).NE.0)ISHLMX(5,J1)=JPRSHBT(I,J1,J)=PRSHBT5(J1,J)DO150K=1,17PRSH(I,J1,J,K)=PRSH5(J1,J,K)RAD(I,J1,J,K)=RAD5(J1,J,K)DO150L=1,17AUG(I,J1,J,K,L)=AUG5(J1,J,K,L)150CONTINUEDO155J=1,3DO155M=1,54XCP(5,J,M)=XC5(J,M)YRY(5,J,M)=YR5(J,M)YCP(5,J,M)=YC5(J,M)YPP(5,J,M)=YPP5(J,M)155CONTINUEDO160J=1,3DO160K=1,45FRMFR(5,J,K)=FFAR5(J,K)160FRMFC(5,J,K)=FFAC5(J,K)IF(NGAS.EQ.5)GOTO1000I=6DO180J1=1,3IZ(I,J1)=IZ6(J1)AMZ(I,J1)=AMZ6(J1)DO180J=1,17DO170M=1,60XPE(6,J1,J,M)=XP6(J1,J,M)YPE(6,J1,J,M)=YP6(J1,J,M)170CONTINUEESH(I,J1,J)=ESH6(J1,J)INIOCC(I,J1,J)=INIOCC6(J1,J)IF(INIOCC6(J1,J).NE.0)ISHLMX(6,J1)=JPRSHBT(I,J1,J)=PRSHBT6(J1,J)DO180K=1,17PRSH(I,J1,J,K)=PRSH6(J1,J,K)RAD(I,J1,J,K)=RAD6(J1,J,K)DO180L=1,17AUG(I,J1,J,K,L)=AUG6(J1,J,K,L)180CONTINUEDO185J=1,3DO185M=1,54XCP(6,J,M)=XC6(J,M)YRY(6,J,M)=YR6(J,M)YCP(6,J,M)=YC6(J,M)YPP(6,J,M)=YPP6(J,M)185CONTINUEDO190J=1,3DO190K=1,45FRMFR(6,J,K)=FFAR6(J,K)190FRMFC(6,J,K)=FFAC6(J,K)IF(NGAS.GT.6)THENWRITE(6,99)NGAS99FORMAT(' PROGRAM STOPPED NGAS=',I3,' IN MIXERC')STOPENDIF1000CONTINUERETURNEND
CASCDAT():
Initializes arrays with general atomic data.
All the arrays have been padded with an extra row in all dimensions to preserve the indexing from FORTRAN to python
Arguments
Argument
Description
NONE
-
defCASCDAT():# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# CHARACTER*6 SCRPT(17),SCRPT1(17),SCR(17),SCR1(17)SCRPT=numpy.zeros(17+1,dtype=str)SCRPT1=numpy.zeros(17+1,dtype=str)# SCR(17),SCR1(17)# COMMON/GENCAS/# global ELEV=conf.ELEVNSDEG=conf.NSDEGAA=conf.AABB=conf.BBSCR=conf.SCRSCR1=conf.SCR1NSD=numpy.zeros(17+1)# GENERAL ATOMIC DATA# adding an extra elemnt in front of arrays to maintain the indexingNSD=[0]+[2,2,2,4,2,2,4,4,6,2,2,4,4,6,2,2,4]SCRPT=[0]+[' K ',' L1 ',' L2 ',' L3 ',' M1',' M2 ',' M3 ',' M4 ',' M5 ',' N1 ',' N2 ',' N3 ',' N4 ',' N5 ',' O1 ',' O2 ',' O3 ']SCRPT1=[0]+[' 1s ',' 2s ',' 2p1/2',' 2p3/2',' 3s ',' 3p1/2',' 3p3/2',' 3d3/2',' 3d5/2',' 4s ',' 4p1/2',' 4p3/2',' 4d3/2',' 4d5/2',' 5s ',' 5p1/2',' 5p3/2']AA=[0]+[0.0,0.0,0.25,0.25,0.0,0.25,0.25,0.50,0.50,0.0,0.25,0.25,0.50,0.50,0.0,0.25,0.25]BB=[0]+[1.5,1.5,1.25,1.25,1.5,1.25,1.25,0.75,0.75,1.5,1.25,1.25,0.75,0.75,1.5,1.25,1.25]ELEV=[13.598]+16*[0.0]+[24.587]+16*[0.0]+[54.7,5.4]+15*[0.0]+[111.5,9.3]+15*[0.0]+[188.0,12.6,4.70]+14*[0.0]+[# CARBON284.2,18.0,6.40]+14*[0.0]+[401.6,24.4,14.534,14.524]+13*[0.0]+[532.0,28.5,13.618,13.618]+13*[0.0]+[685.4,34.0,16.000,16.000]+13*[0.0]+[# NEON870.2,48.475,21.661,21.565]+13*[0.0]+[1070.8,63.5,30.65,30.81,5.1]+12*[0.0]+[1303.0,88.7,49.78,49.50,7.6]+12*[0.0]+[1559.6,117.8,72.95,72.55,10.6,6.0]+11*[0.0]+[1839.0,149.7,99.82,99.42,13.5,8.1]+11*[0.0]+[2145.5,189.0,136.0,135.0,16.1,10.5]+11*[0.0]+[2472.0,230.9,163.6,162.5,20.2,10.4]+11*[0.0]+[2822.4,270.0,202.0,200.0,24.5,12.9]+11*[0.0]+[# ARGON3205.9,326.3,250.6,248.4,29.239,15.937,15.760]+10*[0.0]+[3608.4,378.6,297.3,294.6,34.8,18.3,18.2]+10*[0.0]+[4038.5,438.4,349.7,346.2,44.3,25.4,25.3]+10*[0.0]+[4492.0,498.0,403.6,398.7,51.1,28.3,28.2]+10*[0.0]+[4966.0,560.9,460.2,453.8,58.7,32.6,32.5]+10*[0.0]+[5465.0,626.7,519.8,512.1,66.3,37.2,37.1]+10*[0.0]+[5989.0,696.0,583.8,574.1,74.1,42.2,42.1]+10*[0.0]+[6539.0,769.1,649.9,638.7,82.3,47.2,47.1]+10*[0.0]+[7112.0,844.6,719.9,706.8,91.3,52.7,52.6]+10*[0.0]+[7709.0,925.1,793.2,778.1,101.0,59.8,58.9]+10*[0.0]+[8333.0,1008.6,870.0,852.7,110.8,68.0,66.2]+10*[0.0]+[8979.0,1096.7,952.3,932.7,122.5,77.3,75.1]+10*[0.0]+[9659.0,1196.2,1044.9,1021.8,139.8,91.4,88.6,10.2,10.1]+8*[0.0]+[# Z=3110367.,1299.0,1143.2,1116.4,159.5,103.5,100.0,18.7,18.6]+8*[0.0]+[11103.,1414.6,1248.1,1217.0,180.1,124.9,120.8,29.8,29.2,14.3,7.9]+6*[0.0]+[11867.,1527.0,1359.1,1323.6,204.7,146.2,141.2,41.7,41.7,17.0,9.8]+6*[0.0]+[12658.,1652.0,1474.3,1433.9,229.6,166.5,160.7,55.5,54.6,20.1,9.8]+6*[0.0]+[13474.,1782.0,1596.0,1550.0,257.0,189.0,182.0,70.0,69.0,23.8,11.8]+6*[0.0]+[# KR14327.26,1921.0,1730.9,1678.4,292.8,222.2,214.4,95.0,93.8,27.5,14.666,13.9996]+5*[0.0]+[15200.,2065.,1864.0,1804.0,326.7,248.7,239.1,113.0,112.,30.5,16.3,15.3]+5*[0.0]+[16105.,2216.,2007.,1940.0,358.7,280.3,270.0,136.0,134.2,38.9,21.3,20.1]+5*[0.0]+[17038.,2373.,2156.,2080.0,392.0,310.6,298.8,157.7,155.8,43.8,24.4,23.1]+5*[0.0]+[17998.,2532.,2307.,2223.0,430.3,343.5,329.8,181.1,178.8,50.6,28.5,27.1]+5*[0.0]+[# Z=4118986.,2698.,2465.,2371.0,466.6,376.1,360.6,205.0,202.3,56.4,32.6,30.8]+5*[0.0]+[20000.,2866.,2625.,2520.0,506.3,411.6,394.0,231.1,227.9,63.2,37.6,35.5]+5*[0.0]+[21044.,3043.,2793.,2677.0,544.0,447.6,417.7,257.6,253.9,69.5,42.3,39.9]+5*[0.0]+[22117.,3224.,2967.,2838.0,586.1,483.5,461.4,284.2,280.0,75.0,46.3,43.2]+5*[0.0]+[23220.,3412.,3146.,3004.0,628.1,521.3,496.5,311.9,307.2,81.4,50.5,47.3]+5*[0.0]+[24350.,3604.,3330.,3173.0,671.6,559.9,532.3,340.5,335.2,87.1,55.7,50.9]+5*[0.0]+[25514.,3806.,3524.,3351.0,719.0,603.8,573.0,374.0,368.3,97.0,63.7,58.3]+5*[0.0]+[26711.,4018.,3727.,3538.,772.0,652.6,618.4,411.9,405.2,109.8,63.9,63.8,11.7,10.7]+3*[0.0]+[27940.,4238.,3938.,3730.,827.2,703.2,665.3,451.4,443.9,122.9,73.6,73.5,17.7,16.9]+3*[0.0]+[29200.,4465.,4156.,3929.,884.7,756.5,714.6,493.2,484.9,137.1,83.6,83.5,24.9,23.9]+3*[0.0]+[# Z=5130491.,4698.,4380.,4132.,946.0,812.7,766.4,537.5,528.2,153.2,95.6,95.5,33.3,32.1]+3*[0.0]+[31814.,4939.,4612.,4341.,1006.,870.8,820.0,583.4,573.,169.4,103.3,103.2,41.9,40.4]+3*[0.0]+[33169.,5188.,4852.,4557.,1072.,931.0,875.0,630.8,619.3,186.,123.0,122.9,50.6,48.9]+3*[0.0]+[# XE34561.,5453.,5107.,4786.,1148.7,1002.1,940.6,689.0,676.4,213.2,146.7,145.5,69.5,67.5,23.3,13.43,12.129843,35985.,5714.,5359.,5012.,1211.,1071.0,1003.0,740.5,726.6,232.3,172.4,161.3,79.8,77.5,23.7,14.2,12.6,37441.,5989.,5624.,5247.,1293.,1137.0,1063.0,795.7,780.5,253.5,192.0,178.6,92.6,89.9,30.3,17.0,14.8,38925.,6266.,5891.,5483.,1362.,1209.0,1128.0,853.0,836.0,274.7,205.8,196.0,105.3,102.5,34.3,19.3,16.8,40443.,6549.,6164.,5723.,1436.,1274.0,1187.0,902.4,883.8,291.0,223.2,206.5,109.0,107.0,37.2,19.8,17.0,41991.,6835.,6440.,5964.,1511.,1337.0,1242.0,948.3,928.8,304.5,236.3,217.6,115.1,115.0,37.4,21.0,20.9,43569.,7126.,6722.,6208.,1575.,1403.,1297.0,1003.3,980.4,319.2,243.3,224.6,120.5,120.4,37.5,21.1,21.0,# Z=6145184.,7428.,7013.,6459.,1650.,1471.,1357.,1052.0,1027.0,332.0,251.,231.,124.,123.,37.6,21.4,21.3,46834.,7737.,7312.,6716.,1723.,1541.,1420.,1110.9,1083.4,347.2,265.6,247.4,128.,127.,37.7,21.4,21.3,48519.,8052.,7617.,6977.,1800.,1614.,1481.,1158.6,1127.5,360.0,284.0,257.0,132.,127.7,37.8,22.0,21.9,50239.,8376.,7930.,7243.,1881.,1688.,1544.,1221.9,1189.6,378.6,286.0,271.0,143.,142.6,36.0,28.0,22.0,51996.,8708.,8252.,7514.,1968.,1768.,1611.,1276.9,1241.1,396.0,322.4,284.1,150.5,150.4,45.6,28.7,22.6,53789.,9046.,8581.,7790.,2047.,1842.,1676.,1333.,1292.6,414.2,333.5,293.2,153.6,153.5,48.9,29.5,23.3,55618.,9394.,8918.,8071.,2128.,1923.,1741.,1392.,1351.,432.4,343.5,308.2,160.1,160.0,49.3,30.8,24.1,57486.,9751.,9264.,8358.,2207.,2006.,1812.,1453.,1409.,449.8,366.2,320.2,167.6,167.5,50.6,31.4,24.7,59390.,10116.,9617.,8648.,2307.,2090.,1885.,1515.,1468.,470.9,385.9,332.6,175.5,175.4,54.7,31.8,25.0,61332.,10486.,9978.,8944.,2398.,2173.,1950.,1576.,1528.,480.5,388.7,339.7,191.2,182.4,55.0,32.5,25.8,# Z=7163314.,10870.,10349.,9244.,2491.,2264.,2024.,1639.,1589.,506.8,412.4,359.2,206.1,196.3,57.3,33.6,26.7,65351.,11271.,10739.,9561.,2601.,2365.,2108.,1716.,1662.,538.0,438.2,380.7,220.0,211.5,64.2,38.0,29.9,67416.,11682.,11136.,9881.,2708.,2469.,2194.,1793.,1735.,563.4,463.4,400.9,237.9,226.4,69.7,42.2,32.7,69525.,12100.,11544.,10207.,2820.,2575.,2281.,1872.,1809.,594.1,490.4,423.6,255.9,243.5,75.6,45.3,36.8,71676.,12527.,11959.,10535.,2932.,2682.,2367.,1949.,1883.,625.4,518.7,446.8,273.9,260.5,83.0,45.6,38.0,73871.,12968.,12385.,10871.,3049.,2792.,2457.,2031.,1960.,658.2,549.1,470.7,293.1,278.5,84.0,58.0,45.0,76111.,13419.,12824.,11215.,3174.,2909.,2551.,2116.,2040.,691.1,577.8,495.8,311.9,296.3,95.2,63.0,49.0,78395.,13880.,13273.,11564.,3296.,3027.,2645.,2202.,2122.,725.4,609.1,519.4,331.6,314.6,101.7,65.3,52.0,80725.,14353.,13734.,11919.,3425.,3148.,2743.,2291.,2206.,762.1,642.7,546.3,353.2,335.1,107.2,74.2,57.2]ELEV=numpy.reshape(ELEV,(17,79))ELEV=numpy.r_[[numpy.zeros(ELEV.shape[1])],ELEV]ELEV=numpy.c_[numpy.zeros(ELEV.shape[0]),ELEV]# LOAD GENERAL DATA FOR CASCADE CALCULATIONSforIinrange(1,17+1):NSDEG[I]=NSD[I]SCR[I]=SCRPT[I]SCR1[I]=SCRPT1[I]forJinrange(1,79+1):ELEV[I][J]=ELEV[I][J]conf.ELEV=ELEVconf.NSDEG=NSDEGconf.AA=AAconf.BB=BBconf.SCR=SCRconf.SCR1=SCR1return# end
defFLDIST():# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/IONFL/globalNC0#(512)globalEC0#(512)globalNG1#(512)globalEG1#(512)globalNG2#(512)globalEG2#(512)globalWKLM#(512)globalEFL#(512) NC0=conf.NC0EC0=conf.EC0NG1=conf.NG1EG1=conf.EG1NG2=conf.NG2EG2=conf.EG2WKLM=conf.WKLMEFL=conf.EFL# CALCULATE FLUORESCENCE AVERAGE ABSORPTION DISTANCE AND LOAD INTO ARRAYforIinrange(1,512+1):EPH=EFL[I]if(EPH==0.0):continueJF=3ABSO(JF,EPH,IDUM,KDUM,LDUM,DIST)EFL[I]=DISTconf.NC0=NC0conf.EC0=EC0conf.NG1=NG1conf.EG1=EG1conf.NG2=NG2conf.EG2=EG2conf.WKLM=WKLMconf.EFL=EFLreturn# end
ABSO()
Arguments
Argument
Description
JF
EPH
For photon energy calculates interaction distance
with Gas identity, KGAS.
If compton rayleigh or pair production allowed
then calculates KGAS, LGAS
ISHELL
Absorption Shell
KGAS
Gas Identity
LGAS
DIST
Absorption distance per event in metres
Pseudo Code
defABSO(JF,EPH,ISHELL,KGAS,LGAS,DIST):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)defget_globals():#COMMON/RATIO/AN1=conf.AN1AN2=conf.AN2AN3=conf.AN3AN4=conf.AN4AN5=conf.AN5AN6=conf.AN6AN=conf.ANFRAC=conf.FRAC#(6) #COMMON/COMP/=conf.#COMMON/COMP/LCMP=conf.LCMPLCFLG=conf.LCFLGLRAY=conf.LRAYLRFLG=conf.LRFLGLPAP=conf.LPAPLPFLG=conf.LPFLGLBRM=conf.LBRMLBFLG=conf.LBFLGLPEFLG=conf.LPEFLG#COMMON/ABBS/=conf.#COMMON/ABBS/ABSXRAY=conf.ABSXRAY#COMMON/INPT/=conf.#COMMON/INPT/NGAS=conf.NGASNSTEP=conf.NSTEPNANISO=conf.NANISOEFINAL=conf.EFINALESTEP=conf.ESTEPAKT=conf.AKTARY=conf.ARYTEMPC=conf.TEMPCTORR=conf.TORRIPEN=conf.IPEN#COMMON/MIXC/=conf.#COMMON/MIXC/PRS=conf.PRSH#(6,3,17,17)ESH=conf.ESH#(6,3,17)AUG17=conf.AUG#(6,3,17,17,17)RAD=conf.RAD#(6,3,17,17)PRSHBT=conf.PRSHBT#(6,3,17)IZ=conf.IZ#(6,3)INIOCC=conf.INIOCC#(6,3,17)ISHLMX=conf.ISHLMX#(6,3)AMZ=conf.AMZ#(6,3)#COMMON/MIXPE/=conf.#COMMON/MIXPE/XPE=conf.XPE#(6,3,17,60)YPE=conf.YPE#(6,3,17,60)#COMMON/MIXCN/=conf.#COMMON/MIXCN/XEN=conf.XEN#(6,3,54)YRY=conf.YRY#(6,3,54)YCP=conf.YCP#(6,3,54)YPP=conf.YPP#(6,3,54)globals().update(locals())get_globals()# DIMENSION XSEC=numpy.zeros((306+1))XSECC=numpy.zeros((18+1))XSECR=numpy.zeros((18+1))XSECP=numpy.zeros((18+1))ANGAS=numpy.zeros((6+1))ABSL=numpy.zeros((306+1))ABSLC=numpy.zeros((18+1))ABSLR=numpy.zeros((18+1))ABSLP=numpy.zeros((18+1))XSUM=numpy.zeros((360+1))defupdate_globals():conf.AN1=AN1conf.AN2=AN2conf.AN3=AN3conf.AN4=AN4conf.AN5=AN5conf.AN6=AN6conf.AN=ANconf.FRAC=FRACconf.LCMP=LCMPconf.LCFLG=LCFLGconf.LRAY=LRAYconf.LRFLG=LRFLGconf.LPAP=LPAPconf.LPFLG=LPFLGconf.LBRM=LBRMconf.LBFLG=LBFLGconf.LPEFLG=LPEFLGconf.ABSXRAY=ABSXRAYconf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.PRSH=PRSconf.ESH=ESHconf.AUG=AUG17conf.RAD=RADconf.PRSHBT=PRSHBTconf.IZ=IZconf.INIOCC=INIOCCconf.ISHLMX=ISHLMXconf.AMZ=AMZconf.XPE=XPEconf.YPE=YPEconf.XEN=XENconf.YRY=YRYconf.YCP=YCPconf.YPP=YPP#******************************************************************# FOR PHOTON ENERGY EPH CALCULATES INTERACTION DISTANCE WITH# GAS IDENTITY,KGAS . IF MOLECULAR GAS ALSO IDENTIFIES THE # ATOMIC COMPONENT OF THE MOLECULE LGAS. # IF PHOTOELECTRIC ABSORPTION CALCULATES ABSORPTION SHELL, ISHELL# AND SETS PHOTOELECTRIC FLAG,LPEFLG=1. # IF COMPTON RAYLEIGH OR PAIR PRODUCTION ALLOWED : CALCULATES# KGAS , LGAS AND SETS COMPTON RAYLEIGH OR PAIR PRODUCTION FLAGS.#****************************************************************** ANGAS[1]=AN1ANGAS[2]=AN2ANGAS[3]=AN3ANGAS[4]=AN4ANGAS[5]=AN5ANGAS[6]=AN6LCFLG=0LRFLG=0LPFLG=0LPEFLG=0# CALCULATE PE X-SECTION FOR EACH GAS AND FIND ABS LENGTH EPHLG=math.log(EPH)IPT=0forIinrange(1,NGAS+1):forJ1inrange(1,3+1):forJinrange(1,17+1):IPT=IPT+1XSEC[IPT]=0.0ABSL[IPT]=0.0if(J>ISHLMX(I,J1)):# GO TO 1continueif(EPHLG<XPE[I][J1][J][1]):# GO TO 1continueforKinrange(2,60+1):if(EPHLG<=XPE[I][J1][J][K]):A=(YPE[I][J1][J][K]-YPE[I][J1][J][K-1])/(XPE[I][J1][J][K]-XPE[I][J1][J][K-1])B=(XPE[I][J1][J][K-1]*YPE[I][J1][J][K]-XPE[I][J1][J][K]*YPE[I][J1][J][K-1])/(XPE[I][J1][J][K-1]-XPE[I][J1][J][K])XSEC[IPT]=math.exp(A*EPHLG+B)ABSL[IPT]=XSEC[IPT]*ANGAS[I]break# endif# CALCULATE COMPTON X-SECTION FOR EACH GAS AND FIND ABS LENGTHIPT=0forIinrange(1,NGAS+1):forJ1inrange(1,3+1):IPT=IPT+1XSECC[IPT]=0.0ABSLC[IPT]=0.0# USE ONLY PE X-SECTION FOR SECOND STAGE FLUORESCENCE if(JF==3orJF==2):# GO TO 30continue# ONLY USE PE X-SECTIONif(LCMP!=1):# GO TO 30continueif(EPHLG<XEN[I][J1][1]):# GO TO 30continueforKinrange(2,54+1):if(EPHLG<=XEN[I][J1][K]):A=(YCP[I][J1][K]-YCP[I][J1][K-1])/(XEN[I][J1][K]-XEN[I][J1][K-1])B=(XEN[I][J1][K-1]*YCP[I][J1][K]-XEN[I][J1][K]*YCP[I][J1][K-1])/(XEN[I][J1][K-1]-XEN[I][J1][K])XSECC[IPT]=math.exp(A*EPHLG+B)ABSLC[IPT]=XSECC[IPT]*ANGAS[I]# GO TO 30 break# endif# 30 CONTINUE# CALCULATE RAYLEIGH X-SECTION FOR EACH GAS AND FIND ABS LENGTHIPT=0forIinrange(1,NGAS+1):forJ1inrange(1,3+1):IPT=IPT+1XSECR[IPT]=0.0ABSLR[IPT]=0.0# USE ONLY PE X-SECTION FOR SECOND STAGE FLUORESCENCE if(JF==3orJF==2):# GO TO 40continueif(LRAY!=1):# GO TO 40continueif(EPHLG<XEN[I][J1][1]):# GO TO 40continueforKinrange(2,54+1):if(EPHLG<=XEN[I][J1][K]):A=(YRY[I][J1][K]-YRY[I][J1][K-1])/(XEN[I][J1][K]-XEN[I][J1][K-1])B=(XEN[I][J1][K-1]*YRY[I][J1][K]-XEN[I][J1][K]*YRY[I][J1][K-1])/(XEN[I][J1][K-1]-XEN[I][J1][K])XSECR[IPT]=math.exp(A*EPHLG+B)ABSLR[IPT]=XSECR[IPT]*ANGAS[I]# GO TO 40break# endif# 40 CONTINUE # CALCULATE PAIR PRODUCTION X-SECTION FOR EACH GAS AND FIND ABS LENGTH IPT=0forIinrange(1,NGAS+1):forJ1inrange(1,3+1):IPT=IPT+1XSECP[IPT]=0.0ABSLP[IPT]=0.0# USE ONLY PE X-SECTION FOR SECOND STAGE FLUORESCENCE if(JF==3orJF==2):# GO TO 50continueif(LPAP!=1):# GO TO 50continueif(EPHLG<XEN[I][J1][1]):# GO TO 50continueforKinrange(2,54+1):if(EPHLG<=XEN[I][J1][K]):A=(YPP[I][J1][K]-YPP[I][J1][K-1])/(XEN[I][J1][K]-XEN[I][J1][K-1])B=(XEN[I][J1][K-1]*YPP[I][J1][K]-XEN[I][J1][K]*YPP[I][J1][K-1])/(XEN[I][J1][K-1]-XEN[I][J1][K])XSECP[IPT]=math.exp(A*EPHLG+B)ABSLP[IPT]=XSECP[IPT]*ANGAS[I]# GO TO 50break# endif# 49 CONTINUE# 50 CONTINUE # FORM CUMULATIVE SUMS IFIN=NGAS*17*3forJinrange(2,IFIN+1):XSEC[J]=XSEC[J]+XSEC[J-1]ABSL[J]=ABSL[J]+ABSL[J-1]IFINR=NGAS*3forJinrange(2,IFINR+1):XSECC[J]=XSECC[J]+XSECC[J-1]ABSLC[J]=ABSLC[J]+ABSLC[J-1]XSECR[J]=XSECR[J]+XSECR[J-1]ABSLR[J]=ABSLR[J]+ABSLR[J-1]XSECP[J]=XSECP[J]+XSECP[J-1]ABSLP[J]=ABSLP[J]+ABSLP[J-1]# TOTAL X-SECTIONXSECT=XSEC[IFIN]+XSECC[IFINR]+XSECR[IFINR]+XSECP[IFINR]# TOTAL ABS LENGTHABSTOT=ABSL[IFIN]+ABSLR[IFINR]+ABSLC[IFINR]+ABSLP[IFINR]# CALCULATE ABSORPTION DISTANCE IN METRES AND RETURNif(JF==3):DIST=1.0/(ABSTOT*100.0)return# endif# CALCULATE ABSORPTION DISTANCE IN MICRONSif(JF==-1):if(ABSTOT>0.0):ABSXRAY=1.0e4/ABSTOTif(ABSTOT==0.0):ABSXRAY=1.0e15return# endifif(ABSTOT==0.0):# PHOTON TOO LOW ENERGY TO IONISE SET ISHELL=-1ISHELL=-1return# endif# NORMALISE TO 1 forJinrange(1,IFIN+1):XSEC[J]=XSEC[J]/XSECTforJinrange(1,IFINR+1):XSECC[J]=XSECC[J]/XSECTXSECR[J]=XSECR[J]/XSECTXSECP[J]=XSECP[J]/XSECT# FORM SUM X-SECTION FOR SAMPLING ARRAY # P.E.forJinrange(1,IFIN+1):XSUM[J]=XSEC[J]IEND=IFINif(LCMP!=1):# GO TO 145 passelse:# COMPTONISTART=IFIN+1IEND=IFIN+IFINRforJinrange(ISTART,IEND+1):XSUM[J]=XSUM[ISTART-1]+XSECC[J-ISTART+1]# 145 if(LRAY!=1):# GO TO 155passelse:# RAYLEIGHif(LCMP==0):ISTART=IFIN+1IEND=IFIN+IFINRelif(LCMP==1):ISTART=IFIN+IFINR+1IEND=IFIN+IFINR+IFINR# endifforJinrange(ISTART,IEND+1):XSUM[J]=XSUM[ISTART-1]+XSECR[J-ISTART+1]# 155 if(LPAP!=1):# GO TO 165passelse:# PAIR PRODUCTIONif(LCMP==0andLRAY==0):ISTART=IFIN+1IEND=IFIN+IFINRelif(LCMP==0andLRAY==1):ISTART=IFIN+IFINR+1IEND=IFIN+IFINR+IFINRelif(LCMP==1andLRAY==0):ISTART=IFIN+IFINR+1IEND=IFIN+IFINR+IFINRelif(LCMP==1andLRAY==1):ISTART=IFIN+IFINR+IFINR+1IEND=ISTART+IFINR+IFINR+IFINRelse:print(' ERROR IN FUNCTION ABSO FLAG NOT CORRECT')sys.exit()# endifforJinrange(ISTART,IEND+1):XSUM[J]=XSUM[ISTART-1]+XSECP[J-ISTART+1]# 165 CONTINUE # FIND GAS AND SHELLR1=DRAND48(RDUM)forJinrange(1,IEND+1):if(XSUM[J]<R1):# GO TO 4continueID=J# GO TO 5break# 4 CONTINUE# LOCATE GAS AND SHELL# 5 flag200=0IPET=NGAS*3*17if(ID>IPET):# GO TO 22passelse:# PHOTO ELECTRICLPEFLG=1if(ID<=51):KGAS=1if(ID<=17):LGAS=1ISHELL=IDelif(ID<=34):LGAS=2ISHELL=ID-17else:LGAS=3ISHELL=ID-34# endif# GO TO 12 elif(ID<=102):KGAS=2if(ID<=68):LGAS=1ISHELL=ID-51elif(ID<=85):LGAS=2ISHELL=ID-68else:LGAS=3ISHELL=ID-85# endif# GO TO 12elif(ID<=153):KGAS=3if(ID<=119):LGAS=1ISHELL=ID-102elif(ID<=136):LGAS=2ISHELL=ID-119else:LGAS=3ISHELL=ID-136# endif# GO TO 12elif(ID<=204):KGAS=4if(ID<=170):LGAS=1ISHELL=ID-153elif(ID<=187):LGAS=2ISHELL=ID-170else:LGAS=3ISHELL=ID-187# endif# GO TO 12elif(ID<=255):KGAS=5if(ID<=221):LGAS=1ISHELL=ID-204elif(ID<=238):LGAS=2ISHELL=ID-221else:LGAS=3ISHELL=ID-238# endif# GO TO 12else:KGAS=6if(ID<=272):LGAS=1ISHELL=ID-255elif(ID<=289):LGAS=2ISHELL=ID-272else:LGAS=3ISHELL=ID-289# endif# endif# 12 CONTINUEflag200=1# COMPTON RAYLEIGH OR PAIR PRODUCTION# 22 if(flag200):passelse:ISHELL=0if(ID<=(IPET+IFINR)):# COMPTON RAYLEIGH OR PAIR PRODUCTION. SET : FLAG KGAS LGASif(LCMP==1):LCFLG=1if(LCMP==0andLRAY==1):LRFLG=1if(LCMP==0andLRAY==0):LPFLG=1if(ID<=IPET+3):KGAS=1LGAS=ID-IPETelif(ID<=IPET+6):KGAS=2LGAS=ID-IPET-3elif(ID<=IPET+9):KGAS=3LGAS=ID-IPET-6elif(ID<=IPET+12):KGAS=4LGAS=ID-IPET-9elif(ID<=IPET+15):KGAS=5LGAS=ID-IPET-12else:KGAS=6LGAS=ID-IPET-15# endifelif(ID<=IPET+2*IFINR):if(LRAY==1):LRFLG=1if(LRAY==0andLPAP==1):LPFLG=1if(ID<=IPET+IFINR+3):KGAS=1LGAS=ID-IPET-IFINRelif(ID<=IPET+IFINR+6):KGAS=2LGAS=ID-IPET-IFINR-3elif(ID<=IPET+IFINR+9):KGAS=3LGAS=ID-IPET-IFINR-6elif(ID<=IPET+IFINR+12):KGAS=4LGAS=ID-IPET-IFINR-9elif(ID<=IPET+IFINR+15):KGAS=5LGAS=ID-IPET-IFINR-12else:KGAS=6LGAS=ID-IPET-IFINR-15# endifelse:LPFLG=1if(ID<=IPET+3*IFINR):KGAS=1LGAS=ID-IPET-IFINR-IFINRelif(ID<=IPET+IFINR+IFINR+6):KGAS=2LGAS=ID-IPET-IFINR-IFINR-3elif(ID<=IPET+IFINR+IFINR+9):KGAS=3LGAS=ID-IPET-IFINR-IFINR-6elif(ID<=IPET+IFINR+IFINR+12):KGAS=4LGAS=ID-IPET-IFINR-IFINR-9elif(ID<=IPET+IFINR+IFINR+15):KGAS=5LGAS=ID-IPET-IFINR-IFINR-12else:KGAS=6LGAS=ID-IPET-IFINR-IFINR-15# endif# endifif(ID>(IPET+54)):print(' IDENTifIER IN FUNCTION ABSO IS GT LIMIT ID=',ID,'\n def STOPPED:')sys.exit()# endif# 200 CONTINUE# CALCULATE ABSORPTION DISTANCE PER EVENT IN METRESR1=DRAND48(RDUM)DIST=-math.log(R1)/(ABSTOT*100.0)return# end
SUBROUTINEABSO(JF,EPH,ISHELL,KGAS,LGAS,DIST)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/RATIO/AN1,AN2,AN3,AN4,AN5,AN6,AN,FRAC(6)COMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/ABBS/ABSXRAYCOMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/MIXPE/XPE(6,3,17,60),YPE(6,3,17,60)COMMON/MIXCN/XEN(6,3,54),YRY(6,3,54),YCP(6,3,54),YPP(6,3,54)DIMENSIONXSEC(306),XSECC(18),XSECR(18),XSECP(18),/ANGAS(6),ABSL(306),ABSLC(18),ABSLR(18),ABSLP(18),XSUM(360)C******************************************************************CFORPHOTONENERGYEPHCALCULATESINTERACTIONDISTANCEWITHCGASIDENTITY,KGAS.IFMOLECULARGASALSOIDENTIFIESTHECATOMICCOMPONENTOFTHEMOLECULELGAS.CIFPHOTOELECTRICABSORPTIONCALCULATESABSORPTIONSHELL,ISHELLCANDSETSPHOTOELECTRICFLAG,LPEFLG=1.CIFCOMPTONRAYLEIGHORPAIRPRODUCTIONALLOWEDTHENCALCULATESCKGAS,LGASANDSETSCOMPTONRAYLEIGHORPAIRPRODUCTIONFLAGS.C******************************************************************ANGAS(1)=AN1ANGAS(2)=AN2ANGAS(3)=AN3ANGAS(4)=AN4ANGAS(5)=AN5ANGAS(6)=AN6LCFLG=0LRFLG=0LPFLG=0LPEFLG=0CCALCULATEPEX-SECTIONFOREACHGASANDFINDABSLENGTHEPHLG=DLOG(EPH)IPT=0DO1I=1,NGASDO1J1=1,3DO1J=1,17IPT=IPT+1XSEC(IPT)=0.0ABSL(IPT)=0.0IF(J.GT.ISHLMX(I,J1))GOTO1IF(EPHLG.LT.XPE(I,J1,J,1))GOTO1DO11K=2,60IF(EPHLG.LE.XPE(I,J1,J,K))THENA=(YPE(I,J1,J,K)-YPE(I,J1,J,K-1))/(XPE(I,J1,J,K)-XPE(I,J1,J,K-1))B=(XPE(I,J1,J,K-1)*YPE(I,J1,J,K)-XPE(I,J1,J,K)*YPE(I,J1,J,K-1))//(XPE(I,J1,J,K-1)-XPE(I,J1,J,K))XSEC(IPT)=DEXP(A*EPHLG+B)ABSL(IPT)=XSEC(IPT)*ANGAS(I)GOTO1ENDIF11CONTINUE1CONTINUECCALCULATECOMPTONX-SECTIONFOREACHGASANDFINDABSLENGTHIPT=0DO30I=1,NGASDO30J1=1,3IPT=IPT+1XSECC(IPT)=0.0ABSLC(IPT)=0.0CUSEONLYPEX-SECTIONFORSECONDSTAGEFLUORESCENCEIF(JF.EQ.3.OR.JF.EQ.2)GOTO30CONLYUSEPEX-SECTIONIF(LCMP.NE.1)GOTO30IF(EPHLG.LT.XEN(I,J1,1))GOTO30DO29K=2,54IF(EPHLG.LE.XEN(I,J1,K))THENA=(YCP(I,J1,K)-YCP(I,J1,K-1))/(XEN(I,J1,K)-XEN(I,J1,K-1))B=(XEN(I,J1,K-1)*YCP(I,J1,K)-XEN(I,J1,K)*YCP(I,J1,K-1))//(XEN(I,J1,K-1)-XEN(I,J1,K))XSECC(IPT)=DEXP(A*EPHLG+B)ABSLC(IPT)=XSECC(IPT)*ANGAS(I)GOTO30ENDIF29CONTINUE30CONTINUECCALCULATERAYLEIGHX-SECTIONFOREACHGASANDFINDABSLENGTHIPT=0DO40I=1,NGASDO40J1=1,3IPT=IPT+1XSECR(IPT)=0.0ABSLR(IPT)=0.0CUSEONLYPEX-SECTIONFORSECONDSTAGEFLUORESCENCEIF(JF.EQ.3.OR.JF.EQ.2)GOTO40IF(LRAY.NE.1)GOTO40IF(EPHLG.LT.XEN(I,J1,1))GOTO40DO39K=2,54IF(EPHLG.LE.XEN(I,J1,K))THENA=(YRY(I,J1,K)-YRY(I,J1,K-1))/(XEN(I,J1,K)-XEN(I,J1,K-1))B=(XEN(I,J1,K-1)*YRY(I,J1,K)-XEN(I,J1,K)*YRY(I,J1,K-1))//(XEN(I,J1,K-1)-XEN(I,J1,K))XSECR(IPT)=DEXP(A*EPHLG+B)ABSLR(IPT)=XSECR(IPT)*ANGAS(I)GOTO40ENDIF39CONTINUE40CONTINUECCALCULATEPAIRPRODUCTIONX-SECTIONFOREACHGASANDFINDABSLENGTHIPT=0DO50I=1,NGASDO50J1=1,3IPT=IPT+1XSECP(IPT)=0.0ABSLP(IPT)=0.0CUSEONLYPEX-SECTIONFORSECONDSTAGEFLUORESCENCEIF(JF.EQ.3.OR.JF.EQ.2)GOTO50IF(LPAP.NE.1)GOTO50IF(EPHLG.LT.XEN(I,J1,1))GOTO50DO49K=2,54IF(EPHLG.LE.XEN(I,J1,K))THENA=(YPP(I,J1,K)-YPP(I,J1,K-1))/(XEN(I,J1,K)-XEN(I,J1,K-1))B=(XEN(I,J1,K-1)*YPP(I,J1,K)-XEN(I,J1,K)*YPP(I,J1,K-1))//(XEN(I,J1,K-1)-XEN(I,J1,K))XSECP(IPT)=DEXP(A*EPHLG+B)ABSLP(IPT)=XSECP(IPT)*ANGAS(I)GOTO50ENDIF49CONTINUE50CONTINUECFORMCUMULATIVESUMSIFIN=NGAS*17*3DO2J=2,IFINXSEC(J)=XSEC(J)+XSEC(J-1)ABSL(J)=ABSL(J)+ABSL(J-1)2CONTINUEIFINR=NGAS*3DO110J=2,IFINRXSECC(J)=XSECC(J)+XSECC(J-1)ABSLC(J)=ABSLC(J)+ABSLC(J-1)XSECR(J)=XSECR(J)+XSECR(J-1)ABSLR(J)=ABSLR(J)+ABSLR(J-1)XSECP(J)=XSECP(J)+XSECP(J-1)ABSLP(J)=ABSLP(J)+ABSLP(J-1)110CONTINUECTOTALX-SECTIONXSECT=XSEC(IFIN)+XSECC(IFINR)+XSECR(IFINR)+XSECP(IFINR)CTOTALABSLENGTHABSTOT=ABSL(IFIN)+ABSLR(IFINR)+ABSLC(IFINR)+ABSLP(IFINR)CCALCULATEABSORPTIONDISTANCEINMETRESANDRETURNIF(JF.EQ.3)THENDIST=1.0/(ABSTOT*100.0)RETURNENDIFCCALCULATEABSORPTIONDISTANCEINMICRONSIF(JF.EQ.-1)THENIF(ABSTOT.GT.0.0)ABSXRAY=1.0D4/ABSTOTIF(ABSTOT.EQ.0.0)ABSXRAY=1.0D15RETURNENDIFIF(ABSTOT.EQ.0.0)THENCPHOTONTOOLOWENERGYTOIONISESETISHELL=-1ISHELL=-1RETURNENDIFCNORMALISETO1DO3J=1,IFINXSEC(J)=XSEC(J)/XSECT3CONTINUEDO120J=1,IFINRXSECC(J)=XSECC(J)/XSECTXSECR(J)=XSECR(J)/XSECTXSECP(J)=XSECP(J)/XSECT120CONTINUECFORMSUMX-SECTIONFORSAMPLINGARRAYCP.E.DO130J=1,IFINXSUM(J)=XSEC(J)130CONTINUEIEND=IFINIF(LCMP.NE.1)GOTO145CCOMPTONISTART=IFIN+1IEND=IFIN+IFINRDO140J=ISTART,IENDXSUM(J)=XSUM(ISTART-1)+XSECC(J-ISTART+1)140CONTINUE145IF(LRAY.NE.1)GOTO155CRAYLEIGHIF(LCMP.EQ.0)THENISTART=IFIN+1IEND=IFIN+IFINRELSEIF(LCMP.EQ.1)THENISTART=IFIN+IFINR+1IEND=IFIN+IFINR+IFINRENDIFDO150J=ISTART,IENDXSUM(J)=XSUM(ISTART-1)+XSECR(J-ISTART+1)150CONTINUE155IF(LPAP.NE.1)GOTO165CPAIRPRODUCTIONIF(LCMP.EQ.0.AND.LRAY.EQ.0)THENISTART=IFIN+1IEND=IFIN+IFINRELSEIF(LCMP.EQ.0.AND.LRAY.EQ.1)THENISTART=IFIN+IFINR+1IEND=IFIN+IFINR+IFINRELSEIF(LCMP.EQ.1.AND.LRAY.EQ.0)THENISTART=IFIN+IFINR+1IEND=IFIN+IFINR+IFINRELSEIF(LCMP.EQ.1.AND.LRAY.EQ.1)THENISTART=IFIN+IFINR+IFINR+1IEND=ISTART+IFINR+IFINR+IFINRELSEWRITE(6,998)998FORMAT(' ERROR IN SUBROUTINE ABSO FLAG NOT CORRECT')STOPENDIFDO160J=ISTART,IENDXSUM(J)=XSUM(ISTART-1)+XSECP(J-ISTART+1)160CONTINUE165CONTINUECFINDGASANDSHELLR1=drand48(RDUM)DO4J=1,IENDIF(XSUM(J).LT.R1)GOTO4ID=JGOTO54CONTINUECLOCATEGASANDSHELL5IPET=NGAS*3*17IF(ID.GT.IPET)GOTO22CPHOTOELECTRICLPEFLG=1IF(ID.LE.51)THENKGAS=1IF(ID.LE.17)THENLGAS=1ISHELL=IDELSEIF(ID.LE.34)THENLGAS=2ISHELL=ID-17ELSELGAS=3ISHELL=ID-34ENDIFGOTO12ELSEIF(ID.LE.102)THENKGAS=2IF(ID.LE.68)THENLGAS=1ISHELL=ID-51ELSEIF(ID.LE.85)THENLGAS=2ISHELL=ID-68ELSELGAS=3ISHELL=ID-85ENDIFGOTO12ELSEIF(ID.LE.153)THENKGAS=3IF(ID.LE.119)THENLGAS=1ISHELL=ID-102ELSEIF(ID.LE.136)THENLGAS=2ISHELL=ID-119ELSELGAS=3ISHELL=ID-136ENDIFGOTO12ELSEIF(ID.LE.204)THENKGAS=4IF(ID.LE.170)THENLGAS=1ISHELL=ID-153ELSEIF(ID.LE.187)THENLGAS=2ISHELL=ID-170ELSELGAS=3ISHELL=ID-187ENDIFGOTO12ELSEIF(ID.LE.255)THENKGAS=5IF(ID.LE.221)THENLGAS=1ISHELL=ID-204ELSEIF(ID.LE.238)THENLGAS=2ISHELL=ID-221ELSELGAS=3ISHELL=ID-238ENDIFGOTO12ELSEKGAS=6IF(ID.LE.272)THENLGAS=1ISHELL=ID-255ELSEIF(ID.LE.289)THENLGAS=2ISHELL=ID-272ELSELGAS=3ISHELL=ID-289ENDIFENDIF12CONTINUEGOTO200CCOMPTONRAYLEIGHORPAIRPRODUCTION22ISHELL=0IF(ID.LE.(IPET+IFINR))THENCCOMPTONRAYLEIGHORPAIRPRODUCTION.SET:FLAGKGASLGASIF(LCMP.EQ.1)LCFLG=1IF(LCMP.EQ.0.AND.LRAY.EQ.1)LRFLG=1IF(LCMP.EQ.0.AND.LRAY.EQ.0)LPFLG=1IF(ID.LE.IPET+3)THENKGAS=1LGAS=ID-IPETELSEIF(ID.LE.IPET+6)THENKGAS=2LGAS=ID-IPET-3ELSEIF(ID.LE.IPET+9)THENKGAS=3LGAS=ID-IPET-6ELSEIF(ID.LE.IPET+12)THENKGAS=4LGAS=ID-IPET-9ELSEIF(ID.LE.IPET+15)THENKGAS=5LGAS=ID-IPET-12ELSEKGAS=6LGAS=ID-IPET-15ENDIFELSEIF(ID.LE.IPET+2*IFINR)THENIF(LRAY.EQ.1)LRFLG=1IF(LRAY.EQ.0.AND.LPAP.EQ.1)LPFLG=1IF(ID.LE.IPET+IFINR+3)THENKGAS=1LGAS=ID-IPET-IFINRELSEIF(ID.LE.IPET+IFINR+6)THENKGAS=2LGAS=ID-IPET-IFINR-3ELSEIF(ID.LE.IPET+IFINR+9)THENKGAS=3LGAS=ID-IPET-IFINR-6ELSEIF(ID.LE.IPET+IFINR+12)THENKGAS=4LGAS=ID-IPET-IFINR-9ELSEIF(ID.LE.IPET+IFINR+15)THENKGAS=5LGAS=ID-IPET-IFINR-12ELSEKGAS=6LGAS=ID-IPET-IFINR-15ENDIFELSELPFLG=1IF(ID.LE.IPET+3*IFINR)THENKGAS=1LGAS=ID-IPET-IFINR-IFINRELSEIF(ID.LE.IPET+IFINR+IFINR+6)THENKGAS=2LGAS=ID-IPET-IFINR-IFINR-3ELSEIF(ID.LE.IPET+IFINR+IFINR+9)THENKGAS=3LGAS=ID-IPET-IFINR-IFINR-6ELSEIF(ID.LE.IPET+IFINR+IFINR+12)THENKGAS=4LGAS=ID-IPET-IFINR-IFINR-9ELSEIF(ID.LE.IPET+IFINR+IFINR+15)THENKGAS=5LGAS=ID-IPET-IFINR-IFINR-12ELSEKGAS=6LGAS=ID-IPET-IFINR-IFINR-15ENDIFENDIFIF(ID.GT.(IPET+54))THENWRITE(6,999)ID999FORMAT(' IDENTIFIER IN SUBROUTINE ABSO IS GT LIMIT ID=',I5,/,'
/PROGRAM STOPPED')STOPENDIF200CONTINUECCALCULATEABSORPTIONDISTANCEPEREVENTINMETRESR1=drand48(RDUM)DIST=-DLOG(R1)/(ABSTOT*100.0)RETURNEND
STATS2()
Calculates averages over total number of events(DELTAS).
Calculates the FANO factors F0,F1,F2,F3
Calculates FANO factors for excitation
Calculates Peak FANO factors
Arguments
Argument
Description
NONE
-
Pseudo Code
importconfimportnumpyimportsysdefSTATS2():# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N) # COMMON/INPT2/KGAS=conf.KGASLGAS=conf.LGASDETEFF=conf.DETEFFEXCWGHT=conf.EXCWGHT# COMMON/SETP/=conf.# COMMON/SETP/TMAX=conf.TMAXSMALL=conf.SMALLAPI=conf.APIESTART=conf.ESTARTTHETA=conf.THETAPHI=conf.PHITCFMAX=conf.TCFMAXTCFMAX1=conf.TCFMAX1RSTART=conf.RSTARTEFIELD=conf.EFIELDETHRM=conf.ETHRMECUT=conf.ECUTNDELTA=conf.NDELTAIMIP=conf.IMIPIWRITE=conf.IWRITE# COMMON/CLUS/=conf.# COMMON/CLUS/XAV=conf.XAVYAV=conf.YAVZAV=conf.ZAVTAV=conf.TAVXYAV=conf.XYAVXYZAV=conf.XYZAVDX=conf.DXDY=conf.DYDZ=conf.DZDT=conf.DTDXY=conf.DXYDXYZ=conf.DXYZNCL=conf.NCLFARX1=conf.FARX1FARY1=conf.FARY1FARZ1=conf.FARZ1FARXY1=conf.FARXY1RMAX1=conf.RMAX1TSUM=conf.TSUMXNEG=conf.XNEGYNEG=conf.YNEGZNEG=conf.ZNEGEDELTA=conf.EDELTAEDELTA2=conf.EDELTA2NCLEXC=conf.NCLEXC# COMMON/PRIM3=conf.# COMMON/PRIM3MSUM=conf.MSUMMCOMP=conf.MCOMPMRAYL=conf.MRAYLMPAIR=conf.MPAIRMPHOT=conf.MPHOTMVAC=conf.MVAC# COMMON/FANO/=conf.# COMMON/FANO/AFAN1=conf.AFAN1AFAN2=conf.AFAN2AFAN3=conf.AFAN3AFAN4=conf.AFAN4ASKEW=conf.ASKEWAKURT=conf.AKURTAFAN1EXC=conf.AFAN1EXCAFAN2EXC=conf.AFAN2EXCAFAN3EXC=conf.AFAN3EXCAFAN4EXC=conf.AFAN4EXCASKEWEXC=conf.ASKEWEXCAKURTEXC=conf.AKURTEXCAFAN1TOT=conf.AFAN1TOTAFAN2TOT=conf.AFAN2TOTAFAN3TOT=conf.AFAN3TOTAFAN4TOT=conf.AFAN4TOTASKEWTOT=conf.ASKEWTOTAKURTTOT=conf.AKURTTOTAFAN1TOF=conf.AFAN1TOFAFAN2TOF=conf.AFAN2TOFAFAN3TOF=conf.AFAN3TOFAFAN4TOF=conf.AFAN4TOFASKEWTOF=conf.ASKEWTOFAKURTTOF=conf.AKURTTOF# COMMON/FANOE/=conf.# COMMON/FANOE/AFAN1E=conf.AFAN1EAFAN2E=conf.AFAN2EAFAN3E=conf.AFAN3EAFAN4E=conf.AFAN4EASKEWE=conf.ASKEWEAKURTE=conf.AKURTEAFAN1EXCE=conf.AFAN1EXCEAFAN2EXCE=conf.AFAN2EXCEAFAN3EXCE=conf.AFAN3EXCEAFAN4EXCE=conf.AFAN4EXCEASKEWEXCE=conf.ASKEWEXCEAKURTEXCE=conf.AKURTEXCEAFAN1TOTE=conf.AFAN1TOTEAFAN2TOTE=conf.AFAN2TOTEAFAN3TOTE=conf.AFAN3TOTEAFAN4TOTE=conf.AFAN4TOTEASKEWTOTE=conf.ASKEWTOTEAKURTTOTE=conf.AKURTTOTEAFAN1TOFE=conf.AFAN1TOFEAFAN2TOFE=conf.AFAN2TOFEAFAN3TOFE=conf.AFAN3TOFEAFAN4TOFE=conf.AFAN4TOFEASKEWTOFE=conf.ASKEWTOFEAKURTTOFE=conf.AKURTTOFENFE=conf.NFE# COMMON/RNGE/=conf.# COMMON/RNGE/XBAR=conf.XBARYBAR=conf.YBARZBAR=conf.ZBARTBAR=conf.TBARXYBAR=conf.XYBARXYZBAR=conf.XYZBARDXBAR=conf.DXBARDYBAR=conf.DYBARDZBAR=conf.DZBARDTBAR=conf.DTBARDXYBAR=conf.DXYBARDXYZBAR=conf.DXYZBARXMAX=conf.XMAXYMAX=conf.YMAXZMAX=conf.ZMAXXYMAX=conf.XYMAXRMAX=conf.RMAXSUMTT=conf.SUMTTXNEG1=conf.XNEG1YNEG1=conf.YNEG1ZNEG1=conf.ZNEG1FARXBAR=conf.FARXBARFARYBAR=conf.FARYBARFARZBAR=conf.FARZBARFARXYBAR=conf.FARXYBARRMAXBAR=conf.RMAXBAREBAR=conf.EBAREBAR2=conf.EBAR2# COMMON/PRIM1/=conf.# COMMON/PRIM1/AVRAYL=conf.AVRAYLAVCOMP=conf.AVCOMPAVPAIR=conf.AVPAIRAVPHOTO=conf.AVPHOTO# COMMON/PRIM2/=conf.# COMMON/PRIM2/CMPDST=conf.CMPDSTRYLDST=conf.RYLDST# #-----------------------------------------------------------------------# CALCULATES AVERAGES OVER TOTAL NUMBER OF DELTAS# CALCULATES FANO FACTORS FO,F1,F2 AND F3# CALCULATES FANO FACTORS FOR EXCITATION # INCLUDED MODIFICATION TO CALCULATE ESCAPE PEAK FANO FACTORS #-----------------------------------------------------------------------# ANCL1=0.00ANCL2=0.00ANCL3=0.00ANCL4=0.00ANCL1E=0.00ANCL2E=0.00ANCL3E=0.00ANCL4E=0.00ANCL1EXC=0.00ANCL2EXC=0.00ANCL3EXC=0.00ANCL4EXC=0.00ANCL1EXCE=0.00ANCL2EXCE=0.00ANCL3EXCE=0.00ANCL4EXCE=0.00ANCL1TOT=0.00ANCL2TOT=0.00ANCL3TOT=0.00ANCL4TOT=0.00ANCL1TOTE=0.00ANCL2TOTE=0.00ANCL3TOTE=0.00ANCL4TOTE=0.00ANCL1TOF=0.00ANCL2TOF=0.00ANCL3TOF=0.00ANCL4TOF=0.00ANCL1TOFE=0.00ANCL2TOFE=0.00ANCL3TOFE=0.00ANCL4TOFE=0.00ATOTR=0.00ATOTC=0.00ATOTP=0.00ATOTPE=0.00NF=0NFE=0DETFRAC=DETEFF*0.01if(DETEFF==0.0):# WRITE(6,99) # 99 print(2*'\n',' WARNING EXCITATION DETECTION EFFICIENCY WAS ZERO NOW SET TO 1.0 % ',2*'\n')DETFRAC=0.01# endifforIinrange(1,NDELTA+1):flag5=0NCLUS=NCL[I]NEXC=NCLEXC[I]if(IMIP==1):# GO TO 11 passelse:if(MPAIR[I]>2):# WRITE(6,991) MPAIR[I],I# 991 print(' ERROR IN STATS2 MPAIR GT 2 = %d EVENT NO= %d'%(MPAIR[I],I))sys.exit()# endifif(MPAIR[I]>0):flag5=1break# REMOVE EXTRA ELECTRON FOR CONSISTENCY IN CLUSTER DEF FOR DELTAS # 11 flag8=0if(flag5):passelse:NCLUS1=NCLUSif(IMIP==2):NCLUS1=NCLUS-1ANC1=float(NCLUS1)ANCL1=ANCL1+ANC1ANCL2=ANCL2+ANC1*ANC1ANCL3=ANCL3+ANC1*ANC1*ANC1ANCL4=ANCL4+ANC1*ANC1*ANC1*ANC1NTEMP=0forKinrange(1,NEXC+1):R1=DRAND48(RDUM)if(R1<DETFRAC):NTEMP=NTEMP+1# 1 CONTINUEANC1EXC=float(NEXC)ANCL1EXC=ANCL1EXC+ANC1EXCANCL2EXC=ANCL2EXC+ANC1EXC*ANC1EXCANCL3EXC=ANCL3EXC+ANC1EXC*ANC1EXC*ANC1EXCANCL4EXC=ANCL4EXC+ANC1EXC*ANC1EXC*ANC1EXC*ANC1EXCANCTOT=ANC1+float(NTEMP)*EXCWGHTANCL1TOT=ANCL1TOT+ANCTOTANCL2TOT=ANCL2TOT+ANCTOT*ANCTOTANCL3TOT=ANCL3TOT+ANCTOT*ANCTOT*ANCTOTANCL4TOT=ANCL4TOT+ANCTOT*ANCTOT*ANCTOT*ANCTOTANCTOF=ANC1+float(NEXC)*EXCWGHTANCL1TOF=ANCL1TOF+ANCTOFANCL2TOF=ANCL2TOF+ANCTOF*ANCTOFANCL3TOF=ANCL3TOF+ANCTOF*ANCTOF*ANCTOFANCL4TOF=ANCL4TOF+ANCTOF*ANCTOF*ANCTOF*ANCTOFNF=NF+1flag8=1# REMOVE EXTRA ELECTRON FOR CONSISTENCY IN CLUSTER DEF FOR DELTAS # 5 if(flag8):passelse:NCLUS1=NCLUSif(IMIP==2):NCLUS1=NCLUS-1ANC1=float(NCLUS1)ANCL1E=ANCL1E+ANC1ANCL2E=ANCL2E+ANC1*ANC1ANCL3E=ANCL3E+ANC1*ANC1*ANC1ANCL4E=ANCL4E+ANC1*ANC1*ANC1*ANC1NTEMP=0forKinrange(1,NEXC+1):R1=DRAND48(RDUM)if(R1<DETFRAC):NTEMP=NTEMP+1# 6 CONTINUEANC1EXC=float(NEXC)ANCL1EXCE=ANCL1EXCE+ANC1EXCANCL2EXCE=ANCL2EXCE+ANC1EXC*ANC1EXCANCL3EXCE=ANCL3EXCE+ANC1EXC*ANC1EXC*ANC1EXCANCL4EXCE=ANCL4EXCE+ANC1EXC*ANC1EXC*ANC1EXC*ANC1EXCANCTOT=ANC1+float(NTEMP)*EXCWGHTANCL1TOTE=ANCL1TOTE+ANCTOTANCL2TOTE=ANCL2TOTE+ANCTOT*ANCTOTANCL3TOTE=ANCL3TOTE+ANCTOT*ANCTOT*ANCTOTANCL4TOTE=ANCL4TOTE+ANCTOT*ANCTOT*ANCTOT*ANCTOTANCTOF=ANC1+float(NEXC)*EXCWGHTANCL1TOFE=ANCL1TOFE+ANCTOFANCL2TOFE=ANCL2TOFE+ANCTOF*ANCTOFANCL3TOFE=ANCL3TOFE+ANCTOF*ANCTOF*ANCTOFANCL4TOFE=ANCL4TOFE+ANCTOF*ANCTOF*ANCTOF*ANCTOFNFE=NFE+1# 8 if(IMIP==3):ATOTR=ATOTR+MRAYL[I]ATOTC=ATOTC+MCOMP[I]ATOTP=ATOTP+MPAIR[I]ATOTPE=ATOTPE+MPHOT[I]# endif# 10 CONTINUE# CALCULATE FANO FACTORSANF=float(NF)ANF1=ANF*ANFif(ANF1==0.0):ANF1=1.00AFAN1=ANCL1/ANFAFAN1EXC=ANCL1EXC/ANFAFAN1TOT=ANCL1TOT/ANFAFAN1TOF=ANCL1TOF/ANFAFAN2=math.sqrt((ANF*ANCL2-ANCL1*ANCL1)/ANF1)AFAN2EXC=math.sqrt((ANF*ANCL2EXC-ANCL1EXC*ANCL1EXC)/ANF1)AFAN2TOT=math.sqrt((ANF*ANCL2TOT-ANCL1TOT*ANCL1TOT)/ANF1)AFAN2TOF=math.sqrt((ANF*ANCL2TOF-ANCL1TOF*ANCL1TOF)/ANF1)AFAN3=(ANCL3-3.00*AFAN1*ANCL2+2.00*ANCL1*AFAN1*AFAN1)/ANFAFAN3EXC=(ANCL3EXC-3.00*AFAN1EXC*ANCL2EXC+2.00*ANCL1EXC*AFAN1EXC*AFAN1EXC)/ANFAFAN3TOT=(ANCL3TOT-3.00*AFAN1TOT*ANCL2TOT+2.00*ANCL1TOT*AFAN1TOT*AFAN1TOT)/ANFAFAN3TOF=(ANCL3TOF-3.00*AFAN1TOF*ANCL2TOF+2.00*ANCL1TOF*AFAN1TOF*AFAN1TOF)/ANFAFAN4=(ANCL4-4.00*AFAN1*ANCL3+6.00*AFAN1*AFAN1*ANCL2-3.00*AFAN1*AFAN1*AFAN1*ANCL1)/ANFAFAN4=AFAN4-3.00*AFAN2*AFAN2*AFAN2*AFAN2AFAN4EXC=(ANCL4EXC-4.00*AFAN1EXC*ANCL3EXC+6.00*AFAN1EXC*AFAN1EXC*ANCL2EXC-3.00*AFAN1EXC*AFAN1EXC*AFAN1EXC*ANCL1EXC)/ANFAFAN4EXC=AFAN4EXC-3.00*AFAN2EXC*AFAN2EXC*AFAN2EXC*AFAN2EXCAFAN4TOT=(ANCL4TOT-4.00*AFAN1TOT*ANCL3TOT+6.00*AFAN1TOT*AFAN1TOT*ANCL2TOT-3.00*AFAN1TOT*AFAN1TOT*AFAN1TOT*ANCL1TOT)/ANFAFAN4TOT=AFAN4TOT-3.00*AFAN2TOT*AFAN2TOT*AFAN2TOT*AFAN2TOTAFAN4TOF=(ANCL4TOF-4.00*AFAN1TOF*ANCL3TOF+6.00*AFAN1TOF*AFAN1TOF*ANCL2TOF-3.00*AFAN1TOF*AFAN1TOF*AFAN1TOF*ANCL1TOF)/ANFAFAN4TOF=AFAN4TOF-3.00*AFAN2TOF*AFAN2TOF*AFAN2TOF*AFAN2TOFASKEW=AFAN3/(AFAN2**3)AKURT=AFAN4/(AFAN2**4)AFAN3=AFAN3/AFAN1AFAN4=AFAN4/AFAN1ASKEWEXC=AFAN3EXC/(AFAN2EXC**3)AKURTEXC=AFAN4EXC/(AFAN2EXC**4)AFAN3EXC=AFAN3EXC/AFAN1EXCAFAN4EXC=AFAN4EXC/AFAN1EXCASKEWTOT=AFAN3TOT/(AFAN2TOT**3)AKURTTOT=AFAN4TOT/(AFAN2TOT**4)AFAN3TOT=AFAN3TOT/AFAN1TOTAFAN4TOT=AFAN4TOT/AFAN1TOTASKEWTOF=AFAN3TOF/(AFAN2TOF**3)AKURTTOF=AFAN4TOF/(AFAN2TOF**4)AFAN3TOF=AFAN3TOF/AFAN1TOFAFAN4TOF=AFAN4TOF/AFAN1TOF# CALCULATE FANO FACTORS FOR ESCAPE PEAKANFE=float(NFE)ANF1E=ANFE*ANFEif(ANF1E==0.0):ANF1E=1.00AFAN1E=ANCL1E/ANFEAFAN1EXCE=ANCL1EXCE/ANFEAFAN1TOTE=ANCL1TOTE/ANFEAFAN1TOFE=ANCL1TOFE/ANFEAFAN2E=math.sqrt((ANFE*ANCL2E-ANCL1E*ANCL1E)/ANF1E)AFAN2EXCE=math.sqrt((ANFE*ANCL2EXCE-ANCL1EXCE*ANCL1EXCE)/ANF1E)AFAN2TOTE=math.sqrt((ANFE*ANCL2TOTE-ANCL1TOTE*ANCL1TOTE)/ANF1E)AFAN2TOFE=math.sqrt((ANFE*ANCL2TOFE-ANCL1TOFE*ANCL1TOFE)/ANF1E)AFAN3E=(ANCL3E-3.00*AFAN1E*ANCL2E+2.00*ANCL1E*AFAN1E*AFAN1E)/ANFEAFAN3EXCE=(ANCL3EXCE-3.00*AFAN1EXCE*ANCL2EXCE+2.00*ANCL1EXCE*AFAN1EXCE*AFAN1EXCE)/ANFEAFAN3TOTE=(ANCL3TOTE-3.00*AFAN1TOTE*ANCL2TOTE+2.00*ANCL1TOTE*AFAN1TOTE*AFAN1TOTE)/ANFEAFAN3TOFE=(ANCL3TOFE-3.00*AFAN1TOFE*ANCL2TOFE+2.00*ANCL1TOFE*AFAN1TOFE*AFAN1TOFE)/ANFEAFAN4E=(ANCL4E-4.00*AFAN1E*ANCL3E+6.00*AFAN1E*AFAN1E*ANCL2E-3.00*AFAN1E*AFAN1E*AFAN1E*ANCL1E)/ANFEAFAN4E=AFAN4E-3.00*AFAN2E*AFAN2E*AFAN2E*AFAN2EAFAN4EXCE=(ANCL4EXCE-4.00*AFAN1EXCE*ANCL3EXCE+6.00*AFAN1EXCE*AFAN1EXCE*ANCL2EXCE-3.00*AFAN1EXCE*AFAN1EXCE*AFAN1EXCE*ANCL1EXCE)/ANFEAFAN4EXCE=AFAN4EXCE-3.00*AFAN2EXCE*AFAN2EXCE*AFAN2EXCE*AFAN2EXCEAFAN4TOTE=(ANCL4TOTE-4.00*AFAN1TOTE*ANCL3TOTE+6.00*AFAN1TOTE*AFAN1TOTE*ANCL2TOTE-3.00*AFAN1TOTE*AFAN1TOTE*AFAN1TOTE*ANCL1TOTE)/ANFEAFAN4TOTE=AFAN4TOTE-3.00*AFAN2TOTE*AFAN2TOTE*AFAN2TOTE*AFAN2TOTEAFAN4TOFE=(ANCL4TOFE-4.00*AFAN1TOFE*ANCL3TOFE+6.00*AFAN1TOFE*AFAN1TOFE*ANCL2TOFE-3.00*AFAN1TOFE*AFAN1TOFE*AFAN1TOFE*ANCL1TOFE)/ANFEAFAN4TOFE=AFAN4TOFE-3.00*AFAN2TOFE*AFAN2TOFE*AFAN2TOFE*AFAN2TOFEASKEWE=AFAN3E/(AFAN2E**3)AKURTE=AFAN4E/(AFAN2E**4)AFAN3E=AFAN3E/AFAN1EAFAN4E=AFAN4E/AFAN1EASKEWEXCE=AFAN3EXCE/(AFAN2EXCE**3)AKURTEXCE=AFAN4EXCE/(AFAN2EXCE**4)AFAN3EXCE=AFAN3EXCE/AFAN1EXCEAFAN4EXCE=AFAN4EXCE/AFAN1EXCEASKEWTOTE=AFAN3TOTE/(AFAN2TOTE**3)AKURTTOTE=AFAN4TOTE/(AFAN2TOTE**4)AFAN3TOTE=AFAN3TOTE/AFAN1TOTEAFAN4TOTE=AFAN4TOTE/AFAN1TOTEASKEWTOFE=AFAN3TOFE/(AFAN2TOFE**3)AKURTTOFE=AFAN4TOFE/(AFAN2TOFE**4)AFAN3TOFE=AFAN3TOFE/AFAN1TOFEAFAN4TOFE=AFAN4TOFE/AFAN1TOFE# CALCULATE AVERAGES OVER TOTAL NUMBER OF DELTAS XBAR=0.00YBAR=0.00ZBAR=0.00TBAR=0.00XYBAR=0.00XYZBAR=0.00DXBAR=0.00DYBAR=0.00DZBAR=0.00DTBAR=0.00DXYBAR=0.00DXYZBAR=0.00FARXBAR=0.00FARYBAR=0.00FARZBAR=0.00FARXYBAR=0.00RMAXBAR=0.00XMAX=0.00YMAX=0.00ZMAX=0.00XYMAX=0.00RMAX=0.00SUMTT=0.00XNEGSUM=0.00YNEGSUM=0.00ZNEGSUM=0.00EBAR=0.00EBAR2=0.00forIinrange(1,NDELTA+1):XBAR=XBAR+XAV[I]YBAR=YBAR+YAV[I]ZBAR=ZBAR+ZAV[I]TBAR=TBAR+TAV[I]XYBAR=XYBAR+XYAV[I]XYZBAR=XYZBAR+XYZAV[I]DXBAR=DXBAR+DX[I]DYBAR=DYBAR+DY[I]DZBAR=DZBAR+DZ[I]DTBAR=DTBAR+DT[I]DXYBAR=DXYBAR+DXY[I]DXYZBAR=DXYZBAR+DXYZ[I]SUMTT=SUMTT+TSUM[I]FARXBAR=FARXBAR+FARX1[I]if(FARX1[I]>XMAX):XMAX=FARX1[I]FARYBAR=FARYBAR+FARY1[I]if(FARY1[I]>YMAX):YMAX=FARY1[I]FARZBAR=FARZBAR+FARZ1[I]if(FARZ1[I]>ZMAX):ZMAX=FARZ1[I]FARXYBAR=FARXYBAR+FARXY1[I]if(FARXY1[I]>XYMAX):XYMAX=FARXY1[I]RMAXBAR=RMAXBAR+RMAX1[I]if(RMAX1[I]>RMAX):RMAX=RMAX1[I]XNEGSUM=XNEGSUM+XNEG[I]YNEGSUM=YNEGSUM+YNEG[I]ZNEGSUM=ZNEGSUM+ZNEG[I]EBAR=EBAR+EDELTA[I]EBAR2=EBAR2+EDELTA2[I]# 20 CONTINUEANDELTA=float(NDELTA)XBAR=XBAR/ANDELTAYBAR=YBAR/ANDELTAZBAR=ZBAR/ANDELTATBAR=TBAR/ANDELTAXYBAR=XYBAR/ANDELTAXYZBAR=XYZBAR/ANDELTADXBAR=DXBAR/ANDELTADYBAR=DYBAR/ANDELTADZBAR=DZBAR/ANDELTADTBAR=DTBAR/ANDELTADXYBAR=DXYBAR/ANDELTADXYZBAR=DXYZBAR/ANDELTAFARXBAR=FARXBAR/ANDELTAFARYBAR=FARYBAR/ANDELTAFARZBAR=FARZBAR/ANDELTAFARXYBAR=FARXYBAR/ANDELTARMAXBAR=RMAXBAR/ANDELTAXNEG1=XNEGSUM/ANDELTAYNEG1=YNEGSUM/ANDELTAZNEG1=ZNEGSUM/ANDELTAEBAR=EBAR/ANDELTAEBAR2=EBAR2/ANDELTAif(IMIP==3):AVRAYL=ATOTR/ANDELTAAVCOMP=ATOTC/ANDELTAAVPAIR=ATOTP/ANDELTAAVPHOTO=ATOTPE/ANDELTA# endifif(IMIP==3):forIinrange(1,10+1):RYLDST[I]=0.0CMPDST[I]=0.0# 29 CONTINUEforIinrange(1,NDELTA+1):if(MRAYL[I]>=10orMRAYL[I]<1):# GO TO 30passelse:RYLDST[MRAYL[I]]=RYLDST[MRAYL[I]]+1.0# 30 CONTINUEif(MCOMP[I]>=10orMCOMP[I]<1):# GO TO 31passelse:CMPDST[MCOMP[I]]=CMPDST[MCOMP[I]]+1.0# 31 CONTINUE# 32 CONTINUEforIinrange(1,10+1):RYLDST[I]=RYLDST[I]/ANDELTACMPDST[I]=CMPDST[I]/ANDELTA# 33 CONTINUE# endifif(1):conf.KGAS=KGASconf.LGAS=LGASconf.DETEFF=DETEFFconf.EXCWGHT=EXCWGHTconf.TMAX=TMAXconf.SMALL=SMALLconf.API=APIconf.ESTART=ESTARTconf.THETA=THETAconf.PHI=PHIconf.TCFMAX=TCFMAXconf.TCFMAX1=TCFMAX1conf.RSTART=RSTARTconf.EFIELD=EFIELDconf.ETHRM=ETHRMconf.ECUT=ECUTconf.NDELTA=NDELTAconf.IMIP=IMIPconf.IWRITE=IWRITEconf.XAV=XAVconf.YAV=YAVconf.ZAV=ZAVconf.TAV=TAVconf.XYAV=XYAVconf.XYZAV=XYZAVconf.DX=DXconf.DY=DYconf.DZ=DZconf.DT=DTconf.DXY=DXYconf.DXYZ=DXYZconf.NCL=NCLconf.FARX1=FARX1conf.FARY1=FARY1conf.FARZ1=FARZ1conf.FARXY1=FARXY1conf.RMAX1=RMAX1conf.TSUM=TSUMconf.XNEG=XNEGconf.YNEG=YNEGconf.ZNEG=ZNEGconf.EDELTA=EDELTAconf.EDELTA2=EDELTA2conf.NCLEXC=NCLEXCconf.MSUM=MSUMconf.MCOMP=MCOMPconf.MRAYL=MRAYLconf.MPAIR=MPAIRconf.MPHOT=MPHOTconf.MVAC=MVACconf.AFAN1=AFAN1conf.AFAN2=AFAN2conf.AFAN3=AFAN3conf.AFAN4=AFAN4conf.ASKEW=ASKEWconf.AKURT=AKURTconf.AFAN1EXC=AFAN1EXCconf.AFAN2EXC=AFAN2EXCconf.AFAN3EXC=AFAN3EXCconf.AFAN4EXC=AFAN4EXCconf.ASKEWEXC=ASKEWEXCconf.AKURTEXC=AKURTEXCconf.AFAN1TOT=AFAN1TOTconf.AFAN2TOT=AFAN2TOTconf.AFAN3TOT=AFAN3TOTconf.AFAN4TOT=AFAN4TOTconf.ASKEWTOT=ASKEWTOTconf.AKURTTOT=AKURTTOTconf.AFAN1TOF=AFAN1TOFconf.AFAN2TOF=AFAN2TOFconf.AFAN3TOF=AFAN3TOFconf.AFAN4TOF=AFAN4TOFconf.ASKEWTOF=ASKEWTOFconf.AKURTTOF=AKURTTOFconf.AFAN1E=AFAN1Econf.AFAN2E=AFAN2Econf.AFAN3E=AFAN3Econf.AFAN4E=AFAN4Econf.ASKEWE=ASKEWEconf.AKURTE=AKURTEconf.AFAN1EXCE=AFAN1EXCEconf.AFAN2EXCE=AFAN2EXCEconf.AFAN3EXCE=AFAN3EXCEconf.AFAN4EXCE=AFAN4EXCEconf.ASKEWEXCE=ASKEWEXCEconf.AKURTEXCE=AKURTEXCEconf.AFAN1TOTE=AFAN1TOTEconf.AFAN2TOTE=AFAN2TOTEconf.AFAN3TOTE=AFAN3TOTEconf.AFAN4TOTE=AFAN4TOTEconf.ASKEWTOTE=ASKEWTOTEconf.AKURTTOTE=AKURTTOTEconf.AFAN1TOFE=AFAN1TOFEconf.AFAN2TOFE=AFAN2TOFEconf.AFAN3TOFE=AFAN3TOFEconf.AFAN4TOFE=AFAN4TOFEconf.ASKEWTOFE=ASKEWTOFEconf.AKURTTOFE=AKURTTOFEconf.NFE=NFEconf.XBAR=XBARconf.YBAR=YBARconf.ZBAR=ZBARconf.TBAR=TBARconf.XYBAR=XYBARconf.XYZBAR=XYZBARconf.DXBAR=DXBARconf.DYBAR=DYBARconf.DZBAR=DZBARconf.DTBAR=DTBARconf.DXYBAR=DXYBARconf.DXYZBAR=DXYZBARconf.XMAX=XMAXconf.YMAX=YMAXconf.ZMAX=ZMAXconf.XYMAX=XYMAXconf.RMAX=RMAXconf.SUMTT=SUMTTconf.XNEG1=XNEG1conf.YNEG1=YNEG1conf.ZNEG1=ZNEG1conf.FARXBAR=FARXBARconf.FARYBAR=FARYBARconf.FARZBAR=FARZBARconf.FARXYBAR=FARXYBARconf.RMAXBAR=RMAXBARconf.EBAR=EBARconf.EBAR2=EBAR2conf.AVRAYL=AVRAYLconf.AVCOMP=AVCOMPconf.AVPAIR=AVPAIRconf.AVPHOTO=AVPHOTOconf.CMPDST=CMPDSTconf.RYLDST=RYLDSTreturn# end# DOUBLE PRECISION FUNCTIONdefDMAX0(IA,IB):#integer *8 IA,IBif(IA<IB):returnIBelse:returnIA# endifreturn# end# DOUBLE PRECISION FUNCTIONdefDMIN0(IA,IB):#integer*8 IA,IB,IONEIONE=1if(IA>IB):returnIBelif(IA<IONE):returnIONEelse:returnIA# end # DOUBLE PRECISION FUNCTIONdefDRAND48(DUMMY):# *-----------------------------------------------------------------------# * RNDM2 - returns double precision random numbers by calling RM48.# * (Last changed on 5/ 2/00.)# *-----------------------------------------------------------------------# implicit none#integer NVEC# PARAMETER(NVEC=1000)NVEC=1000# DOUBLE PRECISIONfloat(RVEC[NVEC])float(DUMMY)#integer IVECIVEC=0RVEC,IVECglobals().update(locals())# *** Now generate random number between 0 and one.if(IVEC==0orIVEC>=NVEC):RM48(RVEC,NVEC)IVEC=1else:IVEC=IVEC+1# endif# *** Assign result.# DRAND48=RVEC[IVEC]returnRVEC[IVEC]# end#CCCCCCC# *0# * $Id: rm48.F,v 1.2 1996/12/12 16:32:06 cernlib Exp $# *# * $Log: rm48.F,v $# * Revision 1.2 1996/12/12 16:32:06 cernlib# * Variables ONE and ZERO added to SAVE statement, courtesy R.Veenhof# *# * Revision 1.1.1.1 1996/04/01 15:02:55 mclareni# * Mathlib gen# *# *# *#include "gen/pilot.h"
SUBROUTINESTATS2IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT2/KGAS,LGAS,DETEFF,EXCWGHTCOMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITECOMMON/CLUS/XAV(100000),YAV(100000),ZAV(100000),TAV(100000),/XYAV(100000),XYZAV(100000),DX(100000),DY(100000),DZ(100000),/DT(100000),DXY(100000),DXYZ(100000),NCL(100000),FARX1(100000)/,FARY1(100000),FARZ1(100000),FARXY1(100000),RMAX1(100000),/TSUM(100000),XNEG(100000),/YNEG(100000),ZNEG(100000),EDELTA(100000),EDELTA2(100000),/NCLEXC(100000)COMMON/PRIM3/MSUM(10000),MCOMP(10000),MRAYL(10000),MPAIR(10000),/MPHOT(10000),MVAC(10000)COMMON/FANO/AFAN1,AFAN2,AFAN3,AFAN4,ASKEW,AKURT,AFAN1EXC,AFAN2EXC,/AFAN3EXC,AFAN4EXC,ASKEWEXC,AKURTEXC,AFAN1TOT,AFAN2TOT,AFAN3TOT,/AFAN4TOT,ASKEWTOT,AKURTTOT,AFAN1TOF,AFAN2TOF,AFAN3TOF,AFAN4TOF,/ASKEWTOF,AKURTTOFCOMMON/FANOE/AFAN1E,AFAN2E,AFAN3E,AFAN4E,ASKEWE,AKURTE,AFAN1EXCE,/AFAN2EXCE,AFAN3EXCE,AFAN4EXCE,ASKEWEXCE,AKURTEXCE,AFAN1TOTE,/AFAN2TOTE,AFAN3TOTE,AFAN4TOTE,ASKEWTOTE,AKURTTOTE,AFAN1TOFE,/AFAN2TOFE,AFAN3TOFE,AFAN4TOFE,ASKEWTOFE,AKURTTOFE,NFECOMMON/RNGE/XBAR,YBAR,ZBAR,TBAR,XYBAR,XYZBAR,DXBAR,DYBAR,DZBAR,/DTBAR,DXYBAR,DXYZBAR,XMAX,YMAX,ZMAX,XYMAX,RMAX,SUMTT,XNEG1,YNEG1,/ZNEG1,FARXBAR,FARYBAR,FARZBAR,FARXYBAR,RMAXBAR,EBAR,EBAR2COMMON/PRIM1/AVRAYL,AVCOMP,AVPAIR,AVPHOTOCOMMON/PRIM2/CMPDST(10),RYLDST(10)CC-----------------------------------------------------------------------CCALCULATESAVERAGESOVERTOTALNUMBEROFDELTASCCALCULATESFANOFACTORSFO,F1,F2ANDF3CCALCULATESFANOFACTORSFOREXCITATIONCINCLUDEDMODIFICATIONTOCALCULATEESCAPEPEAKFANOFACTORSC-----------------------------------------------------------------------CANCL1=0.0D0ANCL2=0.0D0ANCL3=0.0D0ANCL4=0.0D0ANCL1E=0.0D0ANCL2E=0.0D0ANCL3E=0.0D0ANCL4E=0.0D0ANCL1EXC=0.0D0ANCL2EXC=0.0D0ANCL3EXC=0.0D0ANCL4EXC=0.0D0ANCL1EXCE=0.0D0ANCL2EXCE=0.0D0ANCL3EXCE=0.0D0ANCL4EXCE=0.0D0ANCL1TOT=0.0D0ANCL2TOT=0.0D0ANCL3TOT=0.0D0ANCL4TOT=0.0D0ANCL1TOTE=0.0D0ANCL2TOTE=0.0D0ANCL3TOTE=0.0D0ANCL4TOTE=0.0D0ANCL1TOF=0.0D0ANCL2TOF=0.0D0ANCL3TOF=0.0D0ANCL4TOF=0.0D0ANCL1TOFE=0.0D0ANCL2TOFE=0.0D0ANCL3TOFE=0.0D0ANCL4TOFE=0.0D0ATOTR=0.0D0ATOTC=0.0D0ATOTP=0.0D0ATOTPE=0.0D0NF=0NFE=0DETFRAC=DETEFF*0.01IF(DETEFF.EQ.0.0)THENWRITE(6,99)99FORMAT(2/,' WARNING EXCITATION DETECTION EFFICIENCY WAS ZERO NOW
/ SET TO 1.0 % ',2/)DETFRAC=0.01ENDIFDO10I=1,NDELTANCLUS=NCL(I)NEXC=NCLEXC(I)IF(IMIP.EQ.1)GOTO11IF(MPAIR(I).GT.2)THENWRITE(6,991)MPAIR(I),I991FORMAT(' ERROR IN STATS2 MPAIR GT 2 =',I9,' EVENT NO=',I6)STOPENDIFIF(MPAIR(I).GT.0)GOTO5CREMOVEEXTRAELECTRONFORCONSISTENCYINCLUSTERDEFFORDELTAS11NCLUS1=NCLUSIF(IMIP.EQ.2)NCLUS1=NCLUS-1ANC1=DFLOAT(NCLUS1)ANCL1=ANCL1+ANC1ANCL2=ANCL2+ANC1*ANC1ANCL3=ANCL3+ANC1*ANC1*ANC1ANCL4=ANCL4+ANC1*ANC1*ANC1*ANC1NTEMP=0DO1K=1,NEXCR1=drand48(RDUM)IF(R1.LT.DETFRAC)NTEMP=NTEMP+11CONTINUEANC1EXC=DFLOAT(NEXC)ANCL1EXC=ANCL1EXC+ANC1EXCANCL2EXC=ANCL2EXC+ANC1EXC*ANC1EXCANCL3EXC=ANCL3EXC+ANC1EXC*ANC1EXC*ANC1EXCANCL4EXC=ANCL4EXC+ANC1EXC*ANC1EXC*ANC1EXC*ANC1EXCANCTOT=ANC1+DFLOAT(NTEMP)*EXCWGHTANCL1TOT=ANCL1TOT+ANCTOTANCL2TOT=ANCL2TOT+ANCTOT*ANCTOTANCL3TOT=ANCL3TOT+ANCTOT*ANCTOT*ANCTOTANCL4TOT=ANCL4TOT+ANCTOT*ANCTOT*ANCTOT*ANCTOTANCTOF=ANC1+DFLOAT(NEXC)*EXCWGHTANCL1TOF=ANCL1TOF+ANCTOFANCL2TOF=ANCL2TOF+ANCTOF*ANCTOFANCL3TOF=ANCL3TOF+ANCTOF*ANCTOF*ANCTOFANCL4TOF=ANCL4TOF+ANCTOF*ANCTOF*ANCTOF*ANCTOFNF=NF+1GOTO8CREMOVEEXTRAELECTRONFORCONSISTENCYINCLUSTERDEFFORDELTAS5NCLUS1=NCLUSIF(IMIP.EQ.2)NCLUS1=NCLUS-1ANC1=DFLOAT(NCLUS1)ANCL1E=ANCL1E+ANC1ANCL2E=ANCL2E+ANC1*ANC1ANCL3E=ANCL3E+ANC1*ANC1*ANC1ANCL4E=ANCL4E+ANC1*ANC1*ANC1*ANC1NTEMP=0DO6K=1,NEXCR1=drand48(RDUM)IF(R1.LT.DETFRAC)NTEMP=NTEMP+16CONTINUEANC1EXC=DFLOAT(NEXC)ANCL1EXCE=ANCL1EXCE+ANC1EXCANCL2EXCE=ANCL2EXCE+ANC1EXC*ANC1EXCANCL3EXCE=ANCL3EXCE+ANC1EXC*ANC1EXC*ANC1EXCANCL4EXCE=ANCL4EXCE+ANC1EXC*ANC1EXC*ANC1EXC*ANC1EXCANCTOT=ANC1+DFLOAT(NTEMP)*EXCWGHTANCL1TOTE=ANCL1TOTE+ANCTOTANCL2TOTE=ANCL2TOTE+ANCTOT*ANCTOTANCL3TOTE=ANCL3TOTE+ANCTOT*ANCTOT*ANCTOTANCL4TOTE=ANCL4TOTE+ANCTOT*ANCTOT*ANCTOT*ANCTOTANCTOF=ANC1+DFLOAT(NEXC)*EXCWGHTANCL1TOFE=ANCL1TOFE+ANCTOFANCL2TOFE=ANCL2TOFE+ANCTOF*ANCTOFANCL3TOFE=ANCL3TOFE+ANCTOF*ANCTOF*ANCTOFANCL4TOFE=ANCL4TOFE+ANCTOF*ANCTOF*ANCTOF*ANCTOFNFE=NFE+18IF(IMIP.EQ.3)THENATOTR=ATOTR+MRAYL(I)ATOTC=ATOTC+MCOMP(I)ATOTP=ATOTP+MPAIR(I)ATOTPE=ATOTPE+MPHOT(I)ENDIF10CONTINUECCALCULATEFANOFACTORSANF=DFLOAT(NF)ANF1=ANF*ANFIF(ANF1.EQ.0.0)ANF1=1.0D0AFAN1=ANCL1/ANFAFAN1EXC=ANCL1EXC/ANFAFAN1TOT=ANCL1TOT/ANFAFAN1TOF=ANCL1TOF/ANFAFAN2=DSQRT((ANF*ANCL2-ANCL1*ANCL1)/ANF1)AFAN2EXC=DSQRT((ANF*ANCL2EXC-ANCL1EXC*ANCL1EXC)/ANF1)AFAN2TOT=DSQRT((ANF*ANCL2TOT-ANCL1TOT*ANCL1TOT)/ANF1)AFAN2TOF=DSQRT((ANF*ANCL2TOF-ANCL1TOF*ANCL1TOF)/ANF1)AFAN3=(ANCL3-3.0D0*AFAN1*ANCL2+2.0D0*ANCL1*AFAN1*AFAN1)/ANFAFAN3EXC=(ANCL3EXC-3.0D0*AFAN1EXC*ANCL2EXC+2.0D0*ANCL1EXC*AFAN1EXC/*AFAN1EXC)/ANFAFAN3TOT=(ANCL3TOT-3.0D0*AFAN1TOT*ANCL2TOT+2.0D0*ANCL1TOT*AFAN1TOT/*AFAN1TOT)/ANFAFAN3TOF=(ANCL3TOF-3.0D0*AFAN1TOF*ANCL2TOF+2.0D0*ANCL1TOF*AFAN1TOF/*AFAN1TOF)/ANFAFAN4=(ANCL4-4.0D0*AFAN1*ANCL3+6.0D0*AFAN1*AFAN1*ANCL2-3.0D0*AFAN1/*AFAN1*AFAN1*ANCL1)/ANFAFAN4=AFAN4-3.0D0*AFAN2*AFAN2*AFAN2*AFAN2AFAN4EXC=(ANCL4EXC-4.0D0*AFAN1EXC*ANCL3EXC+6.0D0*AFAN1EXC*AFAN1EXC/*ANCL2EXC-3.0D0*AFAN1EXC*AFAN1EXC*AFAN1EXC*ANCL1EXC)/ANFAFAN4EXC=AFAN4EXC-3.0D0*AFAN2EXC*AFAN2EXC*AFAN2EXC*AFAN2EXCAFAN4TOT=(ANCL4TOT-4.0D0*AFAN1TOT*ANCL3TOT+6.0D0*AFAN1TOT*AFAN1TOT/*ANCL2TOT-3.0D0*AFAN1TOT*AFAN1TOT*AFAN1TOT*ANCL1TOT)/ANFAFAN4TOT=AFAN4TOT-3.0D0*AFAN2TOT*AFAN2TOT*AFAN2TOT*AFAN2TOTAFAN4TOF=(ANCL4TOF-4.0D0*AFAN1TOF*ANCL3TOF+6.0D0*AFAN1TOF*AFAN1TOF/*ANCL2TOF-3.0D0*AFAN1TOF*AFAN1TOF*AFAN1TOF*ANCL1TOF)/ANFAFAN4TOF=AFAN4TOF-3.0D0*AFAN2TOF*AFAN2TOF*AFAN2TOF*AFAN2TOFASKEW=AFAN3/(AFAN2**3)AKURT=AFAN4/(AFAN2**4)AFAN3=AFAN3/AFAN1AFAN4=AFAN4/AFAN1ASKEWEXC=AFAN3EXC/(AFAN2EXC**3)AKURTEXC=AFAN4EXC/(AFAN2EXC**4)AFAN3EXC=AFAN3EXC/AFAN1EXCAFAN4EXC=AFAN4EXC/AFAN1EXCASKEWTOT=AFAN3TOT/(AFAN2TOT**3)AKURTTOT=AFAN4TOT/(AFAN2TOT**4)AFAN3TOT=AFAN3TOT/AFAN1TOTAFAN4TOT=AFAN4TOT/AFAN1TOTASKEWTOF=AFAN3TOF/(AFAN2TOF**3)AKURTTOF=AFAN4TOF/(AFAN2TOF**4)AFAN3TOF=AFAN3TOF/AFAN1TOFAFAN4TOF=AFAN4TOF/AFAN1TOFCCALCULATEFANOFACTORSFORESCAPEPEAKANFE=DFLOAT(NFE)ANF1E=ANFE*ANFEIF(ANF1E.EQ.0.0)ANF1E=1.0D0AFAN1E=ANCL1E/ANFEAFAN1EXCE=ANCL1EXCE/ANFEAFAN1TOTE=ANCL1TOTE/ANFEAFAN1TOFE=ANCL1TOFE/ANFEAFAN2E=DSQRT((ANFE*ANCL2E-ANCL1E*ANCL1E)/ANF1E)AFAN2EXCE=DSQRT((ANFE*ANCL2EXCE-ANCL1EXCE*ANCL1EXCE)/ANF1E)AFAN2TOTE=DSQRT((ANFE*ANCL2TOTE-ANCL1TOTE*ANCL1TOTE)/ANF1E)AFAN2TOFE=DSQRT((ANFE*ANCL2TOFE-ANCL1TOFE*ANCL1TOFE)/ANF1E)AFAN3E=(ANCL3E-3.0D0*AFAN1E*ANCL2E+2.0D0*ANCL1E*AFAN1E*AFAN1E)//ANFEAFAN3EXCE=(ANCL3EXCE-3.0D0*AFAN1EXCE*ANCL2EXCE+2.0D0*ANCL1EXCE*/AFAN1EXCE*AFAN1EXCE)/ANFEAFAN3TOTE=(ANCL3TOTE-3.0D0*AFAN1TOTE*ANCL2TOTE+2.0D0*ANCL1TOTE*/AFAN1TOTE*AFAN1TOTE)/ANFEAFAN3TOFE=(ANCL3TOFE-3.0D0*AFAN1TOFE*ANCL2TOFE+2.0D0*ANCL1TOFE*/AFAN1TOFE*AFAN1TOFE)/ANFEAFAN4E=(ANCL4E-4.0D0*AFAN1E*ANCL3E+6.0D0*AFAN1E*AFAN1E*ANCL2E-/3.0D0*AFAN1E*AFAN1E*AFAN1E*ANCL1E)/ANFEAFAN4E=AFAN4E-3.0D0*AFAN2E*AFAN2E*AFAN2E*AFAN2EAFAN4EXCE=(ANCL4EXCE-4.0D0*AFAN1EXCE*ANCL3EXCE+6.0D0*AFAN1EXCE*/AFAN1EXCE*ANCL2EXCE-3.0D0*AFAN1EXCE*AFAN1EXCE*AFAN1EXCE*/ANCL1EXCE)/ANFEAFAN4EXCE=AFAN4EXCE-3.0D0*AFAN2EXCE*AFAN2EXCE*AFAN2EXCE*AFAN2EXCEAFAN4TOTE=(ANCL4TOTE-4.0D0*AFAN1TOTE*ANCL3TOTE+6.0D0*AFAN1TOTE*/AFAN1TOTE*ANCL2TOTE-3.0D0*AFAN1TOTE*AFAN1TOTE*AFAN1TOTE*ANCL1TOTE)//ANFEAFAN4TOTE=AFAN4TOTE-3.0D0*AFAN2TOTE*AFAN2TOTE*AFAN2TOTE*AFAN2TOTEAFAN4TOFE=(ANCL4TOFE-4.0D0*AFAN1TOFE*ANCL3TOFE+6.0D0*AFAN1TOFE*/AFAN1TOFE*ANCL2TOFE-3.0D0*AFAN1TOFE*AFAN1TOFE*AFAN1TOFE*ANCL1TOFE)//ANFEAFAN4TOFE=AFAN4TOFE-3.0D0*AFAN2TOFE*AFAN2TOFE*AFAN2TOFE*AFAN2TOFEASKEWE=AFAN3E/(AFAN2E**3)AKURTE=AFAN4E/(AFAN2E**4)AFAN3E=AFAN3E/AFAN1EAFAN4E=AFAN4E/AFAN1EASKEWEXCE=AFAN3EXCE/(AFAN2EXCE**3)AKURTEXCE=AFAN4EXCE/(AFAN2EXCE**4)AFAN3EXCE=AFAN3EXCE/AFAN1EXCEAFAN4EXCE=AFAN4EXCE/AFAN1EXCEASKEWTOTE=AFAN3TOTE/(AFAN2TOTE**3)AKURTTOTE=AFAN4TOTE/(AFAN2TOTE**4)AFAN3TOTE=AFAN3TOTE/AFAN1TOTEAFAN4TOTE=AFAN4TOTE/AFAN1TOTEASKEWTOFE=AFAN3TOFE/(AFAN2TOFE**3)AKURTTOFE=AFAN4TOFE/(AFAN2TOFE**4)AFAN3TOFE=AFAN3TOFE/AFAN1TOFEAFAN4TOFE=AFAN4TOFE/AFAN1TOFECCALCULATEAVERAGESOVERTOTALNUMBEROFDELTASXBAR=0.0D0YBAR=0.0D0ZBAR=0.0D0TBAR=0.0D0XYBAR=0.0D0XYZBAR=0.0D0DXBAR=0.0D0DYBAR=0.0D0DZBAR=0.0D0DTBAR=0.0D0DXYBAR=0.0D0DXYZBAR=0.0D0FARXBAR=0.0D0FARYBAR=0.0D0FARZBAR=0.0D0FARXYBAR=0.0D0RMAXBAR=0.0D0XMAX=0.0D0YMAX=0.0D0ZMAX=0.0D0XYMAX=0.0D0RMAX=0.0D0SUMTT=0.0D0XNEGSUM=0.0D0YNEGSUM=0.0D0ZNEGSUM=0.0D0EBAR=0.0D0EBAR2=0.0D0DO20I=1,NDELTAXBAR=XBAR+XAV(I)YBAR=YBAR+YAV(I)ZBAR=ZBAR+ZAV(I)TBAR=TBAR+TAV(I)XYBAR=XYBAR+XYAV(I)XYZBAR=XYZBAR+XYZAV(I)DXBAR=DXBAR+DX(I)DYBAR=DYBAR+DY(I)DZBAR=DZBAR+DZ(I)DTBAR=DTBAR+DT(I)DXYBAR=DXYBAR+DXY(I)DXYZBAR=DXYZBAR+DXYZ(I)SUMTT=SUMTT+TSUM(I)FARXBAR=FARXBAR+FARX1(I)IF(FARX1(I).GT.XMAX)XMAX=FARX1(I)FARYBAR=FARYBAR+FARY1(I)IF(FARY1(I).GT.YMAX)YMAX=FARY1(I)FARZBAR=FARZBAR+FARZ1(I)IF(FARZ1(I).GT.ZMAX)ZMAX=FARZ1(I)FARXYBAR=FARXYBAR+FARXY1(I)IF(FARXY1(I).GT.XYMAX)XYMAX=FARXY1(I)RMAXBAR=RMAXBAR+RMAX1(I)IF(RMAX1(I).GT.RMAX)RMAX=RMAX1(I)XNEGSUM=XNEGSUM+XNEG(I)YNEGSUM=YNEGSUM+YNEG(I)ZNEGSUM=ZNEGSUM+ZNEG(I)EBAR=EBAR+EDELTA(I)EBAR2=EBAR2+EDELTA2(I)20CONTINUEANDELTA=DFLOAT(NDELTA)XBAR=XBAR/ANDELTAYBAR=YBAR/ANDELTAZBAR=ZBAR/ANDELTATBAR=TBAR/ANDELTAXYBAR=XYBAR/ANDELTAXYZBAR=XYZBAR/ANDELTADXBAR=DXBAR/ANDELTADYBAR=DYBAR/ANDELTADZBAR=DZBAR/ANDELTADTBAR=DTBAR/ANDELTADXYBAR=DXYBAR/ANDELTADXYZBAR=DXYZBAR/ANDELTAFARXBAR=FARXBAR/ANDELTAFARYBAR=FARYBAR/ANDELTAFARZBAR=FARZBAR/ANDELTAFARXYBAR=FARXYBAR/ANDELTARMAXBAR=RMAXBAR/ANDELTAXNEG1=XNEGSUM/ANDELTAYNEG1=YNEGSUM/ANDELTAZNEG1=ZNEGSUM/ANDELTAEBAR=EBAR/ANDELTAEBAR2=EBAR2/ANDELTAIF(IMIP.EQ.3)THENAVRAYL=ATOTR/ANDELTAAVCOMP=ATOTC/ANDELTAAVPAIR=ATOTP/ANDELTAAVPHOTO=ATOTPE/ANDELTAENDIFIF(IMIP.EQ.3)THENDO29I=1,10RYLDST(I)=0.0CMPDST(I)=0.029CONTINUEDO32I=1,NDELTAIF(MRAYL(I).GE.10.OR.MRAYL(I).LT.1)GOTO30RYLDST(MRAYL(I))=RYLDST(MRAYL(I))+1.030CONTINUEIF(MCOMP(I).GE.10.OR.MCOMP(I).LT.1)GOTO31CMPDST(MCOMP(I))=CMPDST(MCOMP(I))+1.031CONTINUE32CONTINUEDO33I=1,10RYLDST(I)=RYLDST(I)/ANDELTACMPDST(I)=CMPDST(I)/ANDELTA33CONTINUEENDIFRETURNENDDOUBLEPRECISIONFUNCTIONDMAX0(IA,IB)INTEGER*8IA,IBIF(IA.LT.IB)THENDMAX0=IBELSEDMAX0=IAENDIFRETURNENDDOUBLEPRECISIONFUNCTIONDMIN0(IA,IB)INTEGER*8IA,IB,IONEIONE=1IF(IA.GT.IB)THENDMIN0=IBELSEIF(IA.LT.IONE)THENDMIN0=IONEELSEDMIN0=IAENDIFRETURNENDDOUBLEPRECISIONFUNCTIONdrand48(DUMMY)*-----------------------------------------------------------------------*RNDM2-ReturnsdoubleprecisionrandomnumbersbycallingRM48.*(Lastchangedon5/2/00.)*-----------------------------------------------------------------------implicitnoneINTEGERNVECPARAMETER(NVEC=1000)DOUBLEPRECISIONRVEC(NVEC),DUMMYINTEGERIVECDATAIVEC/0/SAVERVEC,IVEC***Nowgeneraterandomnumberbetween0andone.IF(IVEC.EQ.0.OR.IVEC.GE.NVEC)THENCALLRM48(RVEC,NVEC)IVEC=1ELSEIVEC=IVEC+1ENDIF***Assignresult.drand48=RVEC(IVEC)END
PRINTER()
Called after DENSITY, CASCDAT, MIXERC, MIXER and FLDIST have been called.
The first function printing to STDOUT
Gives a summary of the simulation
Arguments
Argument
Description
NONE
-
defPRINTER():# IMPLICIT #real*8 (A-H,O-Z) # IMPLICIT #integer*8 (I-N) #integer*4 NSEED #COMMON/INPT/globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN#COMMON/INPT2/globalKGAS,LGAS,DETEFF,EXCWGHT#COMMON/INPT1/globalNDVEC#COMMON/COMP/globalLCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG#COMMON/RATIO/globalAN1,AN2,AN3,AN4,AN5,AN6,ANglobalFRAC#(6) #COMMON/SETP/globalTMAX,SMALL,API,ESTART,THETA,PHIglobalTCFMAX#(10),globalTCFMAX1,RSTART,EFIELD,ETHRM,ECUT,NEVENT,IMIP,IWRITE#COMMON/BFLD/globalEOVB,WB,BTHETA,BMAG#COMMON/IONC/globalDOUBLE#(6,20000),globalCMINIXSC#(6),globalCMINEXSC#(6),globalECLOSS#(6),globalWPLN#(6),globalICOUNT,AVPFRAC#(3,6)#COMMON/LARGE/globalCF#(20000,512),globalEIN#(512),globalTCF#(20000),globalIARRY#(512),globalRGAS#(512),globalIPN#(512),globalWPL#(512),globalIZBR#(512),globalIPLAST,PENFRA#(3,512) #COMMON/NAMES/globalNAMEG#(6) #COMMON/KSEED/globalNSEED#COMMON/ECASC/globalNEGAS#(512),globalLEGAS#(512),globalIESHELL#(512),globalIECASCNGAS=conf.NGASNSTEP=conf.NSTEPNANISO=conf.NANISOEFINAL=conf.EFINALESTEP=conf.ESTEPAKT=conf.AKTARY=conf.ARYTEMPC=conf.TEMPCTORR=conf.TORRIPEN=conf.IPENKGAS=conf.KGASLGAS=conf.LGASDETEFF=conf.DETEFFEXCWGHT=conf.EXCWGHTNDVEC=conf.NDVECLCMP=conf.LCMPLCFLG=conf.LCFLGLRAY=conf.LRAYLRFLG=conf.LRFLGLPAP=conf.LPAPLPFLG=conf.LPFLGLBRM=conf.LBRMLBFLG=conf.LBFLGLPEFLG=conf.LPEFLGAN1=conf.AN1AN2=conf.AN2AN3=conf.AN3AN4=conf.AN4AN5=conf.AN5AN6=conf.AN6AN=conf.ANFRAC=conf.FRACTMAX=conf.TMAXSMALL=conf.SMALLAPI=conf.APIESTART=conf.ESTARTTHETA=conf.THETAPHI=conf.PHITCFMAX=conf.TCFMAXTCFMAX1=conf.TCFMAX1RSTART=conf.RSTARTEFIELD=conf.EFIELDETHRM=conf.ETHRMECUT=conf.ECUTNEVENT=conf.NEVENTIMIP=conf.IMIPIWRITE=conf.IWRITEEOVB=conf.EOVBWB=conf.WBBTHETA=conf.BTHETABMAG=conf.BMAGDOUBLE=conf.DOUBLECMINIXSC=conf.CMINIXSCCMINEXSC=conf.CMINEXSCECLOSS=conf.ECLOSSWPLN=conf.WPLNICOUNT=conf.ICOUNTAVPFRAC=conf.AVPFRACCF=conf.CFEIN=conf.EINTCF=conf.TCFIARRY=conf.IARRYRGAS=conf.RGASIPN=conf.IPNWPL=conf.WPLIZBR=conf.IZBRIPLAST=conf.IPLASTPENFRA=conf.PENFRANAMEG=conf.NAMEGNSEED=conf.NSEEDNEGAS=conf.NEGASLEGAS=conf.LEGASIESHELL=conf.IESHELLIECASC=conf.IECASC# NAMEG=numpy.zeros(25+1,dtype=str)# WRITE(6,1) print('\n DEGRAD VERSION 3.3 \n',' -----------------------------\n\n')if(IMIP==1):print(' MIP AND DE/DX SIMULATION')#2if(IMIP==2):print(' ELECTRON BEAM SIMULATION')if(IMIP==3):print(' X-RAY SIMULATION')#4if(IMIP==4):print(' BETA DECAY SIMULATION')#5if(IMIP==5):print(' DOUBLE BETA DECAY SIMULATION')#6print('----------------------------------\n\n')if(LCMP==0):print(' SIMULATION WITHOUT COMPTON SCATTERING')#7if(LCMP==1):print(' SIMULATION WITH COMPTON SCATTERING')#8if(LRAY==0):print(' SIMULATION WITHOUT RAYLEIGH SCATTERING')#9if(LRAY==1):print(' SIMULATION WITH RAYLEIGH SCATTERING')#11 if(LPAP==0):print(' SIMULATION WITHOUT PAIR PRODUCTION')#12 if(LPAP==1):print(' SIMULATION WITH PAIR PRODUCTION')#13 if(LBRM==0):print(' SIMULATION WITHOUT BREMSSTRAHLUNG')#14 if(LBRM==1):print(' SIMULATION WITH BREMSSTRAHLUNG')#15 if(IECASC==0):print(' SIMULATION WITH PARAMETERISED SHELL CASCADE')#16 if(IECASC==1):print(' SIMULATION WITH COMPLETE SHELL CASCADE')#17 print('----------------------------------\n\n')print(' MONTE CARLO SOLUTION FOR MIXTURE OF ',NGAS,' GASES.\n DEGRADATION CALCULATION ALL TIMES IN PICOSECS, DISTANCE IN MICRONS\n -----------------------------------------------------------------')# WRITE(6,30) (NAMEG[J],FRAC[J], J=1,NGAS) forJinrange(1,NGAS+1):print('\n',5*' ',' GASES USED ',15*' ',' PERCENTAGE USED ',2*'\n',6*' ',NAMEG[J],5*' ','%.4f'%FRAC[J],'\n')print('\n',' ','GAS TEMPERATURE =','%.1f'%TEMPC,' DEGREES CENTIGRADE.','\n',' ','GAS PRESSURE = ','%.1f'%TORR,' TORR.')if(NSEED!=0):# WRITE(6,51) NSEEDprint(2*'\n',' RANDOM NUMBER SEED =',NSEED)if(NSEED==0):# WRITE(6,52) print(2*'\n',' STANDARD RANDOM NUMBER SEED = 54217137')if(IPEN==0):# WRITE(6,55)print(2*'\n',' ',' PENNING IONISATION NOT ALLOWED')if(IPEN==1):# WRITE(6,56) print(2*'\n',' ',' PENNING IONISATION ALLOWED')# WRITE(6,60) EFINAL,NSTEP print(1*'\n',' ','INTEGRATION FROM 0.0 TO ','%.1f'%EFINAL,' EV. IN ',NSTEP,' STEPS. ')# WRITE(6,90) EFIELD,BMAG,BTHETA,WB print(1*'\n',' ELECTRIC FIELD =','%.4f'%EFIELD,' VOLTS/CM.','\n'' MAGNETIC FIELD =','%.4f'%BMAG,' KILOGAUSS.','\n',' ANGLE BETWEEN ELECTRIC AND MAGNETIC FIELD =','%.3f'%BTHETA,' DEGREES.','\n',' CYCLOTRON FREQ. =','%.3f'%WB,' RADIANS/PICOSECOND')# WRITE(6,43)print('\n',' USED ANISOTROPIC X-SECTIONS (OKHRIMOVSKYY ET AL) ')if(ICOUNT==1):# WRITE(6,34) print(' USED COUNTING IONISATION X-SECTIONS')else:# WRITE(6,35)print(' USE GROSS IONISATION X-SECTIONS')# endif# WRITE(6,91) ESTART,NEVENT,ETHRM # print(NEVENT,conf.NEVENT)print(1*'\n',' INITIAL ELECTRON OR X-RAY ENERGY =','%.1f'%ESTART,' EV.','\n',9*' ','NUMBER OF EVENTS =',NEVENT,'\n',4*' ','THERMALISATION ENERGY =','%.2f'%ETHRM,' EV.','\n')# WRITE(6,911) DETEFF,EXCWGHTprint(' PHOTON DETECTION EFFICIENCY USED IN FANO CALCULATION =','%.3f'%DETEFF,' %','\n',7*' ','WEIGHT GIVEN TO EXCITATION IN FANO CALCULATION =','%.3f'%EXCWGHT,'\n')# print(IMIP)if(IMIP==4orIMIP==5):if(KGAS<=0orKGAS>NGAS):# WRITE(6,990) KGASprint(' ERROR IN INPUT: BETA DECAY IDENTifIER KGAS=',KGAS,' PROGRAM STOPPED:')sys.exit()# endifif(LGAS<=0orLGAS>3):# WRITE(6,991) LGASprint(' ERROR IN INPUT: BETA DECAY IDENTIFIER LGAS=',LGAS,' PROGRAM STOPPED:')sys.exit()# endif# WRITE(6,88) KGAS,LGASprint('\n BETA DECAY IN GAS NO =',KGAS,'\n IF MOLECULE : BETA DECAY IN ATOMIC COMPONENT =',LGAS,'\n')# endifif(NDVEC==2):# WRITE(6,915)print(' BETA OR X-RAY IN RANDOM DIRECTION TO E-FIELD')passelse:# endifif(abs(numpy.cos(THETA))<1.e-9andIMIP>2):# WRITE(6,92)print(' BETA OR X-RAY PERP# endICULAR TO E-FIELD IN X-Y PLANE')if(abs(numpy.cos(THETA))<1.e-9andIMIP==2):# WRITE(6,922)print(' ELECTRON BEAM ALONG X DIRECTION')if(numpy.cos(THETA)==1.0):# WRITE(6,93)print(' E-BEAM,BETA OR X-RAY ALONG Z-AXIS IN E-FIELD DIRECTION')if(numpy.cos(THETA)==-1.0):# WRITE(6,94)print(' E-BEAM,BETA OR X-RAY ALONG Z-AXIS OPPOSITE TO E-FIELD DIRECTION')# 95 WRITE(6,96) TCFMAX1 print("TCFMAX1",TCFMAX1,type(TCFMAX1))print('\n NULL COLLISION FREQUENCY = %.4f *(10**12/SEC)\n'%(TCFMAX1))# WRITE(6,111) (TCF(L),L=500,9500,1000)forLinrange(500,9500+1,1000):print(' ','REAL COLLISION FREQUENCY AT 10 EQUALLY SPACED ENERGY INTERVALS (*10**12/SEC)','\n')print(3*' ','%.3f'%TCF[L],'\t')ifL==4500:print('\n')conf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.KGAS=KGASconf.LGAS=LGASconf.DETEFF=DETEFFconf.EXCWGHT=EXCWGHTconf.NDVEC=NDVECconf.LCMP=LCMPconf.LCFLG=LCFLGconf.LRAY=LRAYconf.LRFLG=LRFLGconf.LPAP=LPAPconf.LPFLG=LPFLGconf.LBRM=LBRMconf.LBFLG=LBFLGconf.LPEFLG=LPEFLGconf.AN1=AN1conf.AN2=AN2conf.AN3=AN3conf.AN4=AN4conf.AN5=AN5conf.AN6=AN6conf.AN=ANconf.FRAC=FRACconf.TMAX=TMAXconf.SMALL=SMALLconf.API=APIconf.ESTART=ESTARTconf.THETA=THETAconf.PHI=PHIconf.TCFMAX=TCFMAXconf.TCFMAX1=TCFMAX1conf.RSTART=RSTARTconf.EFIELD=EFIELDconf.ETHRM=ETHRMconf.ECUT=ECUTconf.NEVENT=NEVENTconf.IMIP=IMIPconf.IWRITE=IWRITEconf.EOVB=EOVBconf.WB=WBconf.BTHETA=BTHETAconf.BMAG=BMAGconf.DOUBLE=DOUBLEconf.CMINIXSC=CMINIXSCconf.CMINEXSC=CMINEXSCconf.ECLOSS=ECLOSSconf.WPLN=WPLNconf.ICOUNT=ICOUNTconf.AVPFRAC=AVPFRACconf.CF=CFconf.EIN=EINconf.TCF=TCFconf.IARRY=IARRYconf.RGAS=RGASconf.IPN=IPNconf.WPL=WPLconf.IZBR=IZBRconf.IPLAST=IPLASTconf.PENFRA=PENFRAconf.NSEED=NSEEDconf.NEGAS=NEGASconf.LEGAS=LEGASconf.IESHELL=IESHELLconf.IECASC=IECASCreturn# end
SUBROUTINEPRINTERIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)INTEGER*4NSEEDCOMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/INPT2/KGAS,LGAS,DETEFF,EXCWGHTCOMMON/INPT1/NDVECCOMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/RATIO/AN1,AN2,AN3,AN4,AN5,AN6,AN,FRAC(6)COMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITECOMMON/BFLD/EOVB,WB,BTHETA,BMAGCOMMON/IONC/DOUBLE(6,20000),CMINIXSC(6),CMINEXSC(6),ECLOSS(6),/WPLN(6),ICOUNT,AVPFRAC(3,6)COMMON/LARGE/CF(20000,512),EIN(512),TCF(20000),IARRY(512),/RGAS(512),IPN(512),WPL(512),IZBR(512),IPLAST,PENFRA(3,512)COMMON/NAMES/NAMEG(6)COMMON/KSEED/NSEEDCOMMON/ECASC/NEGAS(512),LEGAS(512),IESHELL(512),IECASCCHARACTER*25NAMEGWRITE(6,1)1FORMAT(2/,10X,' DEGRAD VERSION 3.3 ',/,6X,/'-----------------------------',2/)IF(IMIP.EQ.1)WRITE(6,2)IF(IMIP.EQ.2)WRITE(6,3)IF(IMIP.EQ.3)WRITE(6,4)IF(IMIP.EQ.4)WRITE(6,5)IF(IMIP.EQ.5)WRITE(6,6)WRITE(6,245)IF(LCMP.EQ.0)WRITE(6,7)IF(LCMP.EQ.1)WRITE(6,8)IF(LRAY.EQ.0)WRITE(6,9)IF(LRAY.EQ.1)WRITE(6,11)IF(LPAP.EQ.0)WRITE(6,12)IF(LPAP.EQ.1)WRITE(6,13)IF(LBRM.EQ.0)WRITE(6,14)IF(LBRM.EQ.1)WRITE(6,15)IF(IECASC.EQ.0)WRITE(6,16)IF(IECASC.EQ.1)WRITE(6,17)WRITE(6,245)245FORMAT('----------------------------------',2(/))2FORMAT(2X,' MIP AND DE/DX SIMULATION')3FORMAT(2X,' ELECTRON BEAM SIMULATION')4FORMAT(2X,' X-RAY SIMULATION')5FORMAT(2X,' BETA DECAY SIMULATION')6FORMAT(2X,' DOUBLE BETA DECAY SIMULATION')7FORMAT(2X,' SIMULATION WITHOUT COMPTON SCATTERING')8FORMAT(2X,' SIMULATION WITH COMPTON SCATTERING')9FORMAT(2X,' SIMULATION WITHOUT RAYLEIGH SCATTERING')11FORMAT(2X,' SIMULATION WITH RAYLEIGH SCATTERING')12FORMAT(2X,' SIMULATION WITHOUT PAIR PRODUCTION')13FORMAT(2X,' SIMULATION WITH PAIR PRODUCTION')14FORMAT(2X,' SIMULATION WITHOUT BREMSSTRAHLUNG')15FORMAT(2X,' SIMULATION WITH BREMSSTRAHLUNG')16FORMAT(2X,' SIMULATION WITH PARAMETERISED SHELL CASCADE')17FORMAT(2X,' SIMULATION WITH COMPLETE SHELL CASCADE')WRITE(6,10)NGAS10FORMAT(3X,'MONTE CARLO SOLUTION FOR MIXTURE OF ',I2,' GASES.',/,3X/,'DEGRADATION CALCULATION ALL TIMES IN PICOSECS, DISTANCE IN MICRO
/NS',/,3X,'--------------------------------------------------------
/---------')WRITE(6,30)(NAMEG(J),FRAC(J),J=1,NGAS)30FORMAT(/,5X,' GASES USED ',15X,' PERCENTAGE USED ',2(/),6(6X,A25/,5X,F9.4,/))WRITE(6,50)TEMPC,TORR50FORMAT(/,2X,'GAS TEMPERATURE =',F6.1,' DEGREES CENTIGRADE.',/,2X,'
/GAS PRESSURE = ',F7.1,' TORR.')IF(NSEED.NE.0)WRITE(6,51)NSEED51FORMAT(2(/),' RANDOM NUMBER SEED =',I10)IF(NSEED.EQ.0)WRITE(6,52)52FORMAT(2(/),' STANDARD RANDOM NUMBER SEED = 54217137')IF(IPEN.EQ.0)WRITE(6,55)55FORMAT(2(/),2X,' PENNING IONISATION NOT ALLOWED')IF(IPEN.EQ.1)WRITE(6,56)56FORMAT(2(/),2X,' PENNING IONISATION ALLOWED')WRITE(6,60)EFINAL,NSTEP60FORMAT(1(/),2X,'INTEGRATION FROM 0.0 TO ',F11.1,' EV. IN ',I5,' S
/TEPS. ')WRITE(6,90)EFIELD,BMAG,BTHETA,WB90FORMAT(1(/),' ELECTRIC FIELD =',F12.4,' VOLTS/CM.',/' MAGNETIC F
/IELD =',F11.4,' KILOGAUSS.',/,' ANGLE BETWEEN ELECTRIC AND MAGNET
/IC FIELD =',F10.3,' DEGREES.',/,' CYCLOTRON FREQ. =',E12.3,' RADI
/ANS/PICOSECOND')WRITE(6,43)43FORMAT(/,' USED ANISOTROPIC X-SECTIONS (OKHRIMOVSKYY ET AL) ')IF(ICOUNT.EQ.1)THENWRITE(6,34)34FORMAT(' USED COUNTING IONISATION X-SECTIONS')ELSEWRITE(6,35)35FORMAT(' USE GROSS IONISATION X-SECTIONS')ENDIFWRITE(6,91)ESTART,NDELTA,ETHRM91FORMAT(1(/),' INITIAL ELECTRON OR X-RAY ENERGY =',F11.1,' EV.',/,/9X,'NUMBER OF EVENTS =',I9,/,4X,'THERMALISATION ENERGY =',F6.2,/' EV.',/)WRITE(6,911)DETEFF,EXCWGHT911FORMAT(' PHOTON DETECTION EFFICIENCY USED IN FANO CALCULATION =',/F7.3,' %',/,7X,'WEIGHT GIVEN TO EXCITATION IN FANO CALCULATION =',/F7.3,/)IF(IMIP.EQ.4.OR.IMIP.EQ.5)THENIF(KGAS.LE.0.OR.KGAS.GT.NGAS)THENWRITE(6,990)KGAS990FORMAT(' ERROR IN INPUT: BETA DECAY IDENTIFIER KGAS=',I3,' PROG
/RAM STOPPED')STOPENDIFIF(LGAS.LE.0.OR.LGAS.GT.3)THENWRITE(6,991)LGAS991FORMAT(' ERROR IN INPUT: BETA DECAY IDENTIFIER LGAS=',I3,' PROG
/RAM STOPPED')STOPENDIFWRITE(6,88)KGAS,LGAS88FORMAT(/,' BETA DECAY IN GAS NO =',I2,/,' IF MOLECULE THEN BETA
/ DECAY IN ATOMIC COMPONENT =',I2,/)ENDIFIF(NDVEC.EQ.2)THENWRITE(6,915)915FORMAT(' BETA OR X-RAY IN RANDOM DIRECTION TO E-FIELD')GOTO95ENDIFIF(DABS(DCOS(THETA)).LT.1.D-9.AND.IMIP.GT.2)WRITE(6,92)IF(DABS(DCOS(THETA)).LT.1.D-9.AND.IMIP.EQ.2)WRITE(6,922)IF(DCOS(THETA).EQ.1.0)WRITE(6,93)IF(DCOS(THETA).EQ.-1.0)WRITE(6,94)922FORMAT(' ELECTRON BEAM ALONG X DIRECTION')92FORMAT(' BETA OR X-RAY PERPENDICULAR TO E-FIELD IN X-Y PLANE')93FORMAT(' E-BEAM,BETA OR X-RAY ALONG Z-AXIS IN E-FIELD DIRECTION')94FORMAT(' E-BEAM,BETA OR X-RAY ALONG Z-AXIS OPPOSITE TO E-FIELD DI
/RECTION')PRINT*,TCFMAX195WRITE(6,96)TCFMAX196FORMAT(/,2X,'NULL COLLISION FREQUENCY =',D10.3,' *(10**12/SEC)',/)WRITE(6,111)(TCF(L),L=500,9500,1000)111FORMAT(2X,'REAL COLLISION FREQUENCY AT 10 EQUALLY SPACED ENERGY IN
/TERVALS (*10**12/SEC)',/,2(5(3X,D10.3)/))RETURNEND
MIPCALC()
Calculates dE/dX and distance between primary clusters
Calculates primary electron energy and vacancy for input to thermalisation.
Adds excitation clusters with positive Penning fractions.
For Bremsstrahlung finds average energy loss over 10,000 events.
Calculates average elastic energy loss over NE events using anisotropic scattering.
Arguments
Argument
Description
NONE
-
SUBROUTINEMIPCALCIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NEVENT,IMIP,IWRITECOMMON/SET2/DRXINIT,DRYINIT,DRZINITCOMMON/LARGE/CF(20000,512),EIN(512),TCF(20000),IARRY(512),/RGAS(512),IPN(512),WPL(512),IZBR(512),IPLAST,PENFRA(3,512)COMMON/ANIS/PSCT(20000,512),ANGCT(20000,512),INDEX(512),NISOCOMMON/RLTVY/BET(20000),GAM(20000),VC,EMSCOMMON/MIPCLC/ANPRELA,ANPRATT,ANPREXC,ANPRION,ANPREXCI,ANPRBRMCOMMON/DEDX/ELOSS,ELOSEX,ELOSION,ESUM,BETAGAM,TCFHIGH,VELC,/EMAXDEL,ELOSIONC,CUTIONFRC,ELOSEXI,ELOSBREM,NREJECTCOMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/MIPOUT/ENM(100000,20),XS(100000,20),YS(100000,20),/ZS(100000,20),DIRX(100000,20),DIRY(100000,20),DIRZ(100000,20),/TS(100000,20),IEVENT(100000)COMMON/IONFL/NC0(512),EC0(512),NG1(512),EG1(512),NG2(512),/EG2(512),WKLM(512),DSTFL(512)COMMON/IONMOD/ESPLIT(512,20),IONMODEL(512)DIMENSIONCFTEMP(512),PSTEMP(512),ANTEMP(512)CCALCULATEDE/DXANDDISTANCEBETWEENPRIMARYCLUSTERSANDALSOCPRIMARYELECTRONENERGYANDVACANCYFORINPUTTOTHERMALISATIONCALSOADDSEXCITATIONCLUSTERSWHICHHAVEPENNINGFRACTIONSGT0.0CCUSEVELOCITYINMETRES/PICOSECONDVV=2.99792458D-4CMAXIMUMDELTAELECTRONENERGYALLOWEDINEVENTOUTPUTSECTION=EMAXDELCNOTENOLIMITONGLOBALDE/DXCALCULATIONCEMAXDEL=ECUTNREJECT=0NCUT=0NCUTT=0CIEVMAX=100000NPMAX=0API=DACOS(-1.0D0)TWOPI=2.0D0*APIANPRELA=0.0D0ANPRATT=0.0D0ANPREXC=0.0D0ANPREXCI=0.0D0ANPRION=0.0D0ANPRBRM=0.0D0ELOSS=0.0D0ELOSEX=0.0D0ELOSEXI=0.0D0ELOSION=0.0D0ELOSIONC=0.0D0ELOSBREM=0.0D0DO1I=1,IPLASTCFTEMP(I)=CF(20000,I)PSTEMP(I)=PSCT(20000,I)ANTEMP(I)=ANGCT(20000,I)TCFF=TCF(20000)BETA=BET(20000)GAMM=GAM(20000)1CONTINUEVEL=BETA*VCDO2J=1,IPLASTIA=IARRY(J)IF(IA.EQ.4.OR.IA.EQ.5.OR.IA.EQ.9.OR.IA.EQ.10.OR.IA.EQ.14.OR.IA.EQ./15.OR.IA.EQ.19.OR.IA.EQ.20.OR.IA.EQ.24.OR.IA.EQ.25.OR.IA.EQ.29.OR./IA.EQ.30)THENCBREMSSTRAHLUNGEXCITATIONORSUPERELASTICIF(J.NE.1)CFT=TCFF*(CFTEMP(J)-CFTEMP(J-1))IF(J.EQ.1)CFT=TCFF*CFTEMP(J)CCHECKIFBREMSSTRAHLUNGIF(LBRM.EQ.1.AND.IZBR(J).NE.0)THENCBREMSSTRAHLUNGCFINDAVERAGEBREMSSTRAHLUNGENERGYLOSSOVER10000EVENTSIATOMNO=IZBR(J)E=ESTARTESUMBR=0.0WRITE(6,997)E997FORMAT(' ENERGY=',D12.4)DO111K=1,10000CALLBREMS(IATOMNO,E,DCX2,DCY2,DCZ2,EOUT,EDCX,EDCY,EDCZ,/EGAMMA,GDCX,GDCY,GDCZ)ESUMBR=ESUMBR+EGAMMA111CONTINUEELBRM=ESUMBR/10000.0WRITE(6,998)ELBRM998FORMAT(' ELBRM=',D12.4)ANPRBRM=ANPRBRM+CFT/VELELOSBREM=ELOSBREM+CFT*ELBRM/VELENDIFIF(LBRM.EQ.1.AND.IZBR(J).NE.0)GOTO5CEXCITATIONORSUPERELASTICANPREXC=ANPREXC+CFT/VELELOSEX=ELOSEX+CFT*EIN(J)*RGAS(J)/VELIF(IPEN.EQ.1.AND.PENFRA(1,J).GT.0.0)THENCPENNINGTRANSFEROFEXCITATIONTOIONISATIONANPREXCI=ANPREXCI+PENFRA(1,J)*CFT/VELELOSEXI=ELOSEXI+PENFRA(1,J)*CFT*EIN(J)*RGAS(J)/VELENDIF5CONTINUEELSEIF(IA.EQ.1.OR.IA.EQ.6.OR.IA.EQ.11.OR.IA.EQ.16.OR.IA.EQ.21.OR./IA.EQ.26)THENCELASTICENERGYLOSSIF(J.NE.1)CFT=TCFF*(CFTEMP(J)-CFTEMP(J-1))IF(J.EQ.1)CFT=TCFF*CFTEMP(J)ANPRELA=ANPRELA+CFT/VELCCALCULATEELASTICENERGYLOSSAVERAGEDOVERNEEVENTSCUSEANISOTROPICSCATTERINGNE=10000ELAS=0.0D0RFAC=1.0D0+GAMM*(RGAS(J)-1.0D0)RFAC=(RFAC-1.0D0)/(RFAC*RFAC)DO66K=1,NER3=drand48(RDUM)IF(INDEX(J).EQ.1)THENR31=drand48(RDUM)F3=1.0D0-R3*ANTEMP(J)IF(R31.GT.PSTEMP(J))F3=-F3ELSEIF(INDEX(J).EQ.2)THENEPSI=PSTEMP(J)F3=1.0D0-(2.0D0*R3*(1.0D0-EPSI)/(1.0D0+EPSI*(1.0D0-2.0D0*R3)))ELSECISOTROPICSCATTERINGF3=1.0D0-2.0D0*R3ENDIFELAS=ELAS+(1.0D0-F3)66CONTINUEELOSS=CFT*2.0D0*RFAC*EFINAL*ELAS/VELELOSS=ELOSS/DFLOAT(NE)ELSEIF(IA.EQ.3.OR.IA.EQ.8.OR.IA.EQ.13.OR.IA.EQ.18.OR.IA.EQ.23.OR./IA.EQ.28)THENCATTACHMENTANPRATT=ANPRATT+TCFF*(CFTEMP(J)-CFTEMP(J-1))/VELELSEIF(IA.EQ.2.OR.IA.EQ.7.OR.IA.EQ.12.OR.IA.EQ.17.OR.IA.EQ.22.OR./IA.EQ.27)THENCIONISATIONANPRION=ANPRION+TCFF*(CFTEMP(J)-CFTEMP(J-1))/VELELSEWRITE(6,99)99FORMAT(' WARNING NO COLLISION TYPE IN SUBROUTINE MIPCALC')ENDIF2CONTINUECCALCULATEENERGYLOSSTOIONISATIONAVERAGEDOVERNEVEVENTSNEV=10000000ETEMP=0.0ETEMPC=0.0DO3J=1,IPLASTIA=IARRY(J)IF(IA.EQ.2.OR.IA.EQ.7.OR.IA.EQ.12.OR.IA.EQ.17.OR.IA.EQ.22.OR.IA./EQ.27)THENIF(EFINAL.LT.EIN(J))GOTO3CNEV=NOOFIONISATIONEVENTSTOAVERAGEDO4K=1,NEVIF(IONMODEL(J).GT.0)THENCCALCULATESECONDARYENERGY,ESEC,INIONISATIONCOLLISIONUSINGCFIVEDIFFERENTPOSSIBLEMODELSCALLIONSPLIT(J,ESTART,EIN(J),ETEMP1)GOTO644ENDIFR9=drand48(RDUM)ETEMP1=WPL(J)*TAN(R9*ATAN((ESTART-EIN(J))/(2.0D0*WPL(J))))ETEMP1=WPL(J)*(ETEMP1/WPL(J))**0.9524644CONTINUEETEMP=ETEMP+ETEMP1+EIN(J)*RGAS(J)NCUTT=NCUTT+1IF((ETEMP1+EIN(J)*RGAS(J)).LT.EMAXDEL)THENETEMPC=ETEMPC+ETEMP1+EIN(J)*RGAS(J)NCUT=NCUT+1ENDIF4CONTINUEIF(J.NE.1)CFT=TCFF*(CFTEMP(J)-CFTEMP(J-1))IF(J.EQ.1)CFT=TCFF*CFTEMP(J)ETEMP=CFT*ETEMP/VELETEMPC=CFT*ETEMPC/VELETEMP=ETEMP/DFLOAT(NEV)ETEMPC=ETEMPC/DFLOAT(NEV)ELOSION=ELOSION+ETEMPELOSIONC=ELOSIONC+ETEMPCELSEENDIF3CONTINUEBETAGAM=BETA*GAMMCCONVERTTOEV/CMELOSS=ELOSS*1.D10ELOSEX=ELOSEX*1.D10ELOSEXI=ELOSEXI*1.D10ELOSION=ELOSION*1.D10ELOSIONC=ELOSIONC*1.D10ELOSBREM=ELOSBREM*1.D10CCONVERTCOLLISIONS/CMANPRELA=ANPRELA*1.D10ANPRATT=ANPRATT*1.D10ANPREXC=ANPREXC*1.D10ANPREXCI=ANPREXCI*1.D10ANPRION=ANPRION*1.D10ANPRBRM=ANPRBRM*1.D10ESUM=ELOSS+ELOSEX+ELOSION+ELOSBREMVELC=VEL*100.TCFHIGH=TCF(20000)*1.D12CUTIONFRC=DFLOAT(NCUT)/DFLOAT(NCUTT)CCLOADEVENTARRAYSWITHELECTRONENERGYANDDIRECTIONCOSINESCADDSELECTRONSFROMPENNINGEXCITATIONIFALLOWEDDO100K=1,NEVENTIF(K.GT.IEVMAX)THENWRITE(6,999)IEVMAX999FORMAT(' WARNING MAXIMUM NUMBER OF EVENTS=',I6,' PROGRAM STOPPED')ENDIFNP=0CCDETERMINECOLLISIONTYPEC10R1=drand48(RDUM)I=011I=I+1IF(CFTEMP(I).LT.R1)GOTO11CFINDTYPEOFINTERACTIONIA=IARRY(I)IF(IA.EQ.2.OR.IA.EQ.7.OR.IA.EQ.12.OR.IA.EQ.17.OR.IA.EQ.22.OR.IA./EQ.27)THENCIONISATIONC-----------------------------------------------------------------12R9=drand48(RDUM)ESEC=WPL(I)*TAN(R9*ATAN((ESTART-EIN(I))/(2.0D0*WPL(I))))ESEC=WPL(I)*(ESEC/WPL(I))**0.9524IF(ESEC.GT.EMAXDEL)THENNREJECT=NREJECT+1GOTO12ENDIFCCALCULATEPRIMARYSCATTERINGANGLECANISOTROPICSCATTERINGR3=drand48(RDUM)IF(INDEX(I).EQ.1)THENR31=drand48(RDUM)F3=1.0D0-R3*ANTEMP(I)IF(R31.GT.PSTEMP(I))F3=-F3ELSEIF(INDEX(I).EQ.2)THENEPSI=PSTEMP(I)F3=1.0D0-(2.0D0*R3*(1.0D0-EPSI)/(1.0D0+EPSI*(1.0D0-2.0D0*R3)))ELSECISOTROPICSCATTERINGF3=1.0D0-2.0D0*R3ENDIFTHETAP=DACOS(F3)F5P=DSIN(THETAP)GAMSEC=(EMS+ESEC)/EMSCCALCULATESECONDARYRECOILANGLEFROMFREEKINEMATICSF5S=F5P*DSQRT(ESTART/ESEC)*GAMM/GAMSECIF(F5S.GT.1.0)F5S=1.0THETAS=DASIN(F5S)R1=drand48(RDUM)PHIS=TWOPI*R1CCALCULATENEWDIRECTIONCOSINESFROMINITIALVALUESANDSCAT.ANGLESCALLDRCOS(DRXINIT,DRYINIT,DRZINIT,THETAS,PHIS,DRXX,DRYY,DRZZ)CLOADSECONDARYELECTRONDATANP=NP+1IF(NP.GT.NPMAX)NPMAX=NPIF(NP.GT.20)WRITE(6,991)991FORMAT(' EVENT WITH N0 OF PRIMARIES GT 20 IN MIPCALC STOPPED PROG
/RAM')IF(NP.GT.20)STOPENM(K,NP)=ESECDIRX(K,NP)=DRXXDIRY(K,NP)=DRYYDIRZ(K,NP)=DRZZXS(K,NP)=0.0YS(K,NP)=0.0ZS(K,NP)=0.0TS(K,NP)=0.0IEVENT(K)=NPCCALCULATEPOSSIBLESHELLEMISSIONS:AUGERORFLUORESCENCEIFLTST=0IF(WKLM(I).GT.0.0)THENR9=drand48(RDUM)IF(R9.LT.WKLM(I))IFLTST=1ENDIFIF(IFLTST.EQ.0)THENCAUGEREMISSIONWITHOUTFLUORESCENCENAUG=NC0(I)EAVAUG=EC0(I)/DFLOAT(NAUG)DO700JFL=1,NC0(I)NP=NP+1IF(NP.GT.NPMAX)NPMAX=NPIF(NP.GT.20)WRITE(6,991)IF(NP.GT.20)STOPENM(K,NP)=EAVAUGCRANDOMEMISSIONANGLER3=drand48(RDUM)F3=1.0D0-2.0D0*R3THETAS=DACOS(F3)F6=DCOS(THETAS)F5=DSIN(THETAS)R4=drand48(RDUM)PHIS=TWOPI*R4F8=DSIN(PHIS)F9=DCOS(PHIS)DIRX(K,NP)=F9*F5DIRY(K,NP)=F8*F5DIRZ(K,NP)=F6XS(K,NP)=0.0YS(K,NP)=0.0ZS(K,NP)=0.0TS(K,NP)=0.0700CONTINUEIEVENT(K)=NPELSECAUGEREMISSIONANDFLUORESCENCEIF(NG2(I).EQ.0)GOTO702NAUG=NG2(I)EAVAUG=EG2(I)/DFLOAT(NAUG)DO701JFL=1,NG2(I)NP=NP+1IF(NP.GT.NPMAX)NPMAX=NPIF(NP.GT.20)WRITE(6,991)IF(NP.GT.20)STOPENM(K,NP)=EAVAUGCRANDOMEMISSIONANGLER3=drand48(RDUM)THETAS=DACOS(1.0-2.0*R3)F6=DCOS(THETAS)F5=DSIN(THETAS)R4=drand48(RDUM)PHIS=TWOPI*R4F8=DSIN(PHIS)F9=DCOS(PHIS)DIRX(K,NP)=F9*F5DIRY(K,NP)=F8*F5DIRZ(K,NP)=F6XS(K,NP)=0.0YS(K,NP)=0.0ZS(K,NP)=0.0TS(K,NP)=0.0701CONTINUEIEVENT(K)=NP702IF(NG1(I).EQ.0)GOTO704NAUG=NG1(I)EAVAUG=EG1(I)/DFLOAT(NAUG)R9=drand48(RDUM)CFLUORESCENCEABSORPTIONDISTANCEDFL=-DLOG(R9)*DSTFL(I)DO703JFL=1,NG1(I)NP=NP+1IF(NP.GT.NPMAX)NPMAX=NPIF(NP.GT.20)WRITE(6,991)IF(NP.GT.20)STOPENM(K,NP)=EAVAUGCRANDOMEMISSIONANGLER3=drand48(RDUM)THETAS=DACOS(1.0-2.0*R3)F6=DCOS(THETAS)F5=DSIN(THETAS)R4=drand48(RDUM)PHIS=TWOPI*R4F8=DSIN(PHIS)F9=DCOS(PHIS)DIRX(K,NP)=F9*F5DIRY(K,NP)=F8*F5DIRZ(K,NP)=F6R3=drand48(RDUM)THEFL=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHIFL=TWOPI*R4XS(K,NP)=DFL*DSIN(THEFL)*DCOS(PHIFL)YS(K,NP)=DFL*DSIN(THEFL)*DSIN(PHIFL)ZS(K,NP)=DFL*DCOS(THEFL)TS(K,NP)=DFL/VV703CONTINUEIEVENT(K)=NP704CONTINUEENDIFELSEIF(IA.EQ.4.OR.IA.EQ.9.OR.IA.EQ.14.OR.IA.EQ.14.OR.IA.EQ.19./OR.IA.EQ.24.OR.IA.EQ.29)THENCEXCITATIONC----------------------------------------------------------------IF(PENFRA(1,I).EQ.0.0.OR.IPEN.EQ.0)GOTO10CPOSSIBLEPENNINGTRANSFERR9=drand48(RDUM)IF(R9.LT.PENFRA(1,I))THENCPENNINGTRANSFERNP=NP+1IF(NP.GT.NPMAX)NPMAX=NPIF(NP.GT.20)WRITE(6,991)IF(NP.GT.20)STOPCFINITEPENNINGFIXEDELECTRONENERGYTO4.0EVENM(K,NP)=4.0CRANDOMEMISSIONANGLER3=drand48(RDUM)THETAS=DACOS(1.0-2.0*R3)F6=DCOS(THETAS)F5=DSIN(THETAS)R4=drand48(RDUM)PHIS=TWOPI*R4F8=DSIN(PHIS)F9=DCOS(PHIS)DIRX(K,NP)=F9*F5DIRY(K,NP)=F8*F5DIRZ(K,NP)=F6CPENNINGTRANSFERDISTANCEASIGN=1.0D0R1=drand48(RDUM)IF(R1.LT.0.5)ASIGN=-ASIGNR9=drand48(RDUM)XS(K,NP)=-DLOG(R9)*PENFRA(2,I)*1.D-6*ASIGNR1=drand48(RDUM)IF(R1.LT.0.5)ASIGN=-ASIGNR9=drand48(RDUM)YS(K,NP)=-DLOG(R9)*PENFRA(2,I)*1.D-6*ASIGNR1=drand48(RDUM)IF(R1.LT.0.5)ASIGN=-ASIGNR9=drand48(RDUM)ZS(K,NP)=-DLOG(R9)*PENFRA(2,I)*1.D-6*ASIGNR9=drand48(RDUM)TS(K,NP)=-DLOG(R9)*PENFRA(3,I)IEVENT(K)=NPELSEGOTO10ENDIFELSECELASTICC-----------------------------------------------------------------GOTO10ENDIF100CONTINUEWRITE(6,888)NPMAX888FORMAT(' NPMAX=',I3)RETURNEND
defMIPCALC():# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N) #/INPT/globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN#/SETP/globalTMAX,SMALL,API,ESTART,THETA,PHIglobalTCFMAX#(10)globalTCFMAX1,RSTART,EFIELD,ETHRM,ECUT,NEVENT,IMIP,IWRITE#/SET2/globalDRXINIT,DRYINIT,DRZINIT#/LARGE/globalCF#(20000,512)globalEIN#(512)globalTCF#(20000)globalIARRY#(512)globalRGAS#(512)globalIPN#(512)globalWPL#(512)globalIZBR#(512)globalIPLASTglobalPENFRA#[3][512]#/ANIS/globalPSCT#(20000,512)globalANGCT#(20000,512)globalINDEX#(512)globalNISO#/RLTVY/globalBET#[2000]globalGAM#(20000)globalVC,EMS#/MIPCLC/globalANPRELA,ANPRATT,ANPREXC,ANPRION,ANPREXCI,ANPRBRM#/DEDX/globalELOSS,ELOSEX,ELOSION,ESUM,BETAGAM,TCFHIGH,VELC,EMAXDEL,ELOSIONC,CUTIONFRC,ELOSEXI,ELOSBREM,NREJECT#/COMP/globalLCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG#/MIPOUT/globalENM#(100000,20)globalXS#(100000,20)globalYS#(100000,20)globalZS#(100000,20)globalDIRX#(100000,20)globalDIRY#(100000,20)globalDIRZ#[100000,20]globalTS#(100000,20)globalIEVENT#(100000)#/IONFL/globalNC0#(512)globalEC0#(512)globalNG1#(512)globalEG1#(512)globalNG2#(512)globalEG2#(512)globalWKLM#(512)globalDSTFL#(512)#/IONMOD/globalESPLIT#(512,20)globalIONMODEL#(512) defget_globals():NGAS=conf.NGASNSTEP=conf.NSTEPNANISO=conf.NANISOEFINAL=conf.EFINALESTEP=conf.ESTEPAKT=conf.AKTARY=conf.ARYTEMPC=conf.TEMPCTORR=conf.TORRIPEN=conf.IPENTMAX=conf.TMAXSMALL=conf.SMALLAPI=conf.APIESTART=conf.ESTARTTHETA=conf.THETAPHI=conf.PHITCFMAX=conf.TCFMAXTCFMAX1=conf.TCFMAX1RSTART=conf.RSTARTEFIELD=conf.EFIELDETHRM=conf.ETHRMECUT=conf.ECUTNEVENT=conf.NEVENTIMIP=conf.IMIPIWRITE=conf.IWRITEDRXINIT=conf.DRXINITDRYINIT=conf.DRYINITDRZINIT=conf.DRZINITCF=conf.CFEIN=conf.EINTCF=conf.TCFIARRY=conf.IARRYRGAS=conf.RGASIPN=conf.IPNWPL=conf.WPLIZBR=conf.IZBRIPLAST=conf.IPLASTPENFRA=conf.PENFRAPSCT=conf.PSCTANGCT=conf.ANGCTINDEX=conf.INDEXNISO=conf.NISOBET=conf.BETGAM=conf.GAMVC=conf.VCEMS=conf.EMSANPRELA=conf.ANPRELAANPRATT=conf.ANPRATTANPREXC=conf.ANPREXCANPRION=conf.ANPRIONANPREXCI=conf.ANPREXCIANPRBRM=conf.ANPRBRMELOSS=conf.ELOSSELOSEX=conf.ELOSEXELOSION=conf.ELOSIONESUM=conf.ESUMBETAGAM=conf.BETAGAMTCFHIGH=conf.TCFHIGHVELC=conf.VELCEMAXDEL=conf.EMAXDELELOSIONC=conf.ELOSIONCCUTIONFRC=conf.CUTIONFRCELOSEXI=conf.ELOSEXIELOSBREM=conf.ELOSBREMNREJECT=conf.NREJECTLCMP=conf.LCMPLCFLG=conf.LCFLGLRAY=conf.LRAYLRFLG=conf.LRFLGLPAP=conf.LPAPLPFLG=conf.LPFLGLBRM=conf.LBRMLBFLG=conf.LBFLGLPEFLG=conf.LPEFLGENM=conf.ENMXS=conf.XSYS=conf.YSZS=conf.ZSDIRX=conf.DIRXDIRY=conf.DIRYDIRZ=conf.DIRZTS=conf.TSIEVENT=conf.IEVENTNC0=conf.NC0EC0=conf.EC0NG1=conf.NG1EG1=conf.EG1NG2=conf.NG2EG2=conf.EG2WKLM=conf.WKLMDSTFL=conf.DSTFLESPLIT=conf.ESPLITIONMODEL=conf.IONMODELget_globals()defupdate_globals():conf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.TMAX=TMAXconf.SMALL=SMALLconf.API=APIconf.ESTART=ESTARTconf.THETA=THETAconf.PHI=PHIconf.TCFMAX=TCFMAXconf.TCFMAX1=TCFMAX1conf.RSTART=RSTARTconf.EFIELD=EFIELDconf.ETHRM=ETHRMconf.ECUT=ECUTconf.NEVENT=NEVENTconf.IMIP=IMIPconf.IWRITE=IWRITEconf.DRXINIT=DRXINITconf.DRYINIT=DRYINITconf.DRZINIT=DRZINITconf.CF=CFconf.EIN=EINconf.TCF=TCFconf.IARRY=IARRYconf.RGAS=RGASconf.IPN=IPNconf.WPL=WPLconf.IZBR=IZBRconf.IPLAST=IPLASTconf.PENFRA=PENFRAconf.PSCT=PSCTconf.ANGCT=ANGCTconf.INDEX=INDEXconf.NISO=NISOconf.BET=BETconf.GAM=GAMconf.VC=VCconf.EMS=EMSconf.ANPRELA=ANPRELAconf.ANPRATT=ANPRATTconf.ANPREXC=ANPREXCconf.ANPRION=ANPRIONconf.ANPREXCI=ANPREXCIconf.ANPRBRM=ANPRBRMconf.ELOSS=ELOSSconf.ELOSEX=ELOSEXconf.ELOSION=ELOSIONconf.ESUM=ESUMconf.BETAGAM=BETAGAMconf.TCFHIGH=TCFHIGHconf.VELC=VELCconf.EMAXDEL=EMAXDELconf.ELOSIONC=ELOSIONCconf.CUTIONFRC=CUTIONFRCconf.ELOSEXI=ELOSEXIconf.ELOSBREM=ELOSBREMconf.NREJECT=NREJECTconf.LCMP=LCMPconf.LCFLG=LCFLGconf.LRAY=LRAYconf.LRFLG=LRFLGconf.LPAP=LPAPconf.LPFLG=LPFLGconf.LBRM=LBRMconf.LBFLG=LBFLGconf.LPEFLG=LPEFLGconf.ENM=ENMconf.XS=XSconf.YS=YSconf.ZS=ZSconf.DIRX=DIRXconf.DIRY=DIRYconf.DIRZ=DIRZconf.TS=TSconf.IEVENT=IEVENTconf.NC0=NC0conf.EC0=EC0conf.NG1=NG1conf.EG1=EG1conf.NG2=NG2conf.EG2=EG2conf.WKLM=WKLMconf.DSTFL=DSTFLconf.ESPLIT=ESPLITconf.IONMODEL=IONMODELCFTEMP=numpy.zeros(512+1)#[0 for x in range(512)]PSTEMP=numpy.zeros(512+1)#[0 for x in range(512)]ANTEMP=numpy.zeros(512+1)#[0 for x in range(512)]# CALCULATE DE/DX AND DISTANCE BETWEEN PRIMARY CLUSTERS AND ALSO# PRIMARY ELECTRON ENERGY AND VACANCY FOR INPUT TO THERMALISATION# ALSO ADDS EXCITATION CLUSTERS WHICH HAVE PENNING FRACTIONS GT 0.0## USE VELOCITY IN METRES/PICOSECONDVV=2.99792458*(10**-4)# MAXIMUM DELTA ELECTRON ENERGY ALLOWED IN EVENT OUTPUT SECTION= EMAXDEL# NOTE NO LIMIT ON GLOBAL DE/DX CALCULATION#EMAXDEL=ECUTNREJECT=0NCUT=0NCUTT=0#IEVMAX=100000NPMAX=0API=numpy.arccos(-1.00)TWOPI=2.00*APIANPRELA=0.00ANPRATT=0.00ANPREXC=0.00ANPREXCI=0.00ANPRION=0.00ANPRBRM=0.00ELOSS=0.00ELOSEX=0.00ELOSEXI=0.00ELOSION=0.00ELOSIONC=0.00ELOSBREM=0.00forIinrange(1,IPLAST+1):CFTEMP[I]=CF[20000][I]PSTEMP[I]=PSCT[20000][I]ANTEMP[I]=ANGCT[20000][I]TCFF=TCF[20000]BETA=BET[2000]GAMM=GAM[20000]VEL=BETA*VCforJinrange(1,IPLAST+1):IA=IARRY[J]if(IA==4orIA==5orIA==9orIA==10orIA==14orIA==15orIA==19orIA==20orIA==24orIA==25orIA==29orIA==30):# BREMSSTRAHLUNG EXCITATION OR SUPERELASTICif(J!=1):CFT=TCFF*(CFTEMP[J]-CFTEMP[J-1])if(J==1):CFT=TCFF*CFTEMP[J]# CHECK IF BREMSSTRAHLUNGif(LBRM==1andIZBR[J]!=0):# BREMSSTRAHLUNG# FIND AVERAGE BREMSSTRAHLUNG ENERGY LOSS OVER 10000 EVENTSIATOMNO=IZBR[J]E=ESTARTESUMBR=0.0print(' ENERGY=','%.4f'%E)forKinrange(1,10000+1):BREMS(IATOMNO,E,DCX2,DCY2,DCZ2,EOUT,EDCX,EDCY,EDCZ,EGAMMA,GDCX,GDCY,GDCZ)ESUMBR=ESUMBR+EGAMMAELBRM=ESUMBR/10000.0print(' ELBRM=','%.4f'%ELBRM)ANPRBRM=ANPRBRM+CFT/VELELOSBREM=ELOSBREM+CFT*ELBRM/VEL# endifif(LBRM==1andIZBR[J]!=0):passelse:# EXCITATION OR SUPERELASTICANPREXC=ANPREXC+CFT/VELELOSEX=ELOSEX+CFT*EIN[J]*RGAS[J]/VELif(IPEN==1andPENFRA[1,J]>0.0):# PENNING TRANSFER OF EXCITATION TO IONISATIONANPREXCI=ANPREXCI+PENFRA[1,J]*CFT/VELELOSEXI=ELOSEXI+PENFRA[1,J]*CFT*EIN[J]*RGAS[J]/VEL# endifelif(IA==1orIA==6orIA==11orIA==16orIA==21orIA==26):# ELASTIC ENERGY LOSSif(J!=1):CFT=TCFF*(CFTEMP[J]-CFTEMP[J-1])if(J==1):CFT=TCFF*CFTEMP[J]ANPRELA=ANPRELA+CFT/VEL# CALCULATE ELASTIC ENERGY LOSS AVERAGED OVER NE EVENTS# USE ANISOTROPIC SCATTERINGNE=10000ELAS=0.00RFAC=1.00+GAMM*(RGAS[J]-1.00)RFAC=(RFAC-1.00)/(RFAC*RFAC)forKinrange(1,NE+1):R3=DRAND48(RDUM)if(INDEX[J]==1):R31=DRAND48(RDUM)F3=1.00-R3*ANTEMP[J]if(R31>PSTEMP[J]):F3=-F3elif(INDEX[J]==2):EPSI=PSTEMP[J]F3=1.00-(2.00*R3*(1.00-EPSI)/(1.00+EPSI*(1.00-2.00*R3)))else:# ISOTROPIC SCATTERINGF3=1.00-2.00*R3# endifELAS=ELAS+(1.00-F3)ELOSS=CFT*2.00*RFAC*EFINAL*ELAS/VELELOSS=ELOSS/float(NE)elif(IA==3orIA==8orIA==13orIA==18orIA==23orIA==28):# ATTACHMENTANPRATT=ANPRATT+TCFF*(CFTEMP[J]-CFTEMP[J-1])/VELelif(IA==2orIA==7orIA==12orIA==17orIA==22orIA==27):# IONISATIONANPRION=ANPRION+TCFF*(CFTEMP[J]-CFTEMP[J-1])/VELelse:print(' WARNING NO COLLISION TYPE IN FUNCTION MIPCALC')# endif# CALCULATE ENERGY LOSS TO IONISATION AVERAGED OVER NEV EVENTSNEV=10000000ETEMP=0.0ETEMPC=0.0forJinrange(1,IPLAST+1):IA=IARRY[J]if(IA==2orIA==7orIA==12orIA==17orIA==22orIA==27):if(EFINAL<EIN[J]):passelse:# NEV = NO OF IONISATION EVENTS TO AVERAGEforKinrange(1,NEV+1):if(IONMODEL[J]>0):# CALCULATE SECONDARY ENERGY ,ESEC, IN IONISATION COLLISION USING# FIVE DIFFERENT POSSIBLE MODELSIONSPLIT(J,ESTART,EIN[J],ETEMP1)pass# endif # doing to pass and hence the next elseelse:R9=DRAND48(RDUM)ETEMP1=WPL[J]*numpy.tan(R9*numpy.arctan((ESTART-EIN[J])/(2.00*WPL[J])))ETEMP1=WPL[J]*(ETEMP1/WPL[J])**0.9524ETEMP=ETEMP+ETEMP1+EIN[J]*RGAS[J]NCUTT=NCUTT+1if((ETEMP1+EIN[J]*RGAS[J])<EMAXDEL):ETEMPC=ETEMPC+ETEMP1+EIN[J]*RGAS[J]NCUT=NCUT+1# endifif(J!=1):CFT=TCFF*(CFTEMP[J]-CFTEMP[J-1])if(J==1):CFT=TCFF*CFTEMP[J]ETEMP=CFT*ETEMP/VELETEMPC=CFT*ETEMPC/VELETEMP=ETEMP/float(NEV)ETEMPC=ETEMPC/float(NEV)ELOSION=ELOSION+ETEMPELOSIONC=ELOSIONC+ETEMPCelse:passBETAGAM=BETA*GAMM# CONVERT TO EV/CMELOSS=ELOSS*1*(10**10)ELOSEX=ELOSEX*1*(10**10)ELOSEXI=ELOSEXI*1*(10**10)ELOSION=ELOSION*1*(10**10)ELOSIONC=ELOSIONC*1*(10**10)ELOSBREM=ELOSBREM*1*(10**10)# CONVERT COLLISIONS/CMANPRELA=ANPRELA*1*(10**10)ANPRATT=ANPRATT*1*(10**10)ANPREXC=ANPREXC*1*(10**10)ANPREXCI=ANPREXCI*1*(10**10)ANPRION=ANPRION*1*(10**10)ANPRBRM=ANPRBRM*1*(10**10)ESUM=ELOSS+ELOSEX+ELOSION+ELOSBREMVELC=VEL*100.TCFHIGH=TCF(20000)*1*(10**12)CUTIONFRC=float(NCUT)/float(NCUTT)# # LOAD EVENT ARRAYS WITH ELECTRON ENERGY AND DIRECTION COSINES# ADDS ELECTRONS FROM PENNING EXCITATION IF ALLOWEDforKinrange(1,NEVENT+1):if(K>IEVMAX):print(' WARNING MAXIMUM NUMBER OF EVENTS=',IEVMAX,' def STOPPED:')# endifNP=0## DETERMINE COLLISION TYPE ##10defGOTO10():R1=DRAND48(RDUM)I=0counter11=1while(counter11):counter11=0I=I+1if(CFTEMP[I]<R1):counter11=1# FIND TYPE OF INTERACTIONIA=IARRY[I]if(IA==2orIA==7orIA==12orIA==17orIA==22orIA==27):# IONISATION#-----------------------------------------------------------------counter12=1# self added for loopingwhile(counter12):counter12=0R9=DRAND48(RDUM)ESEC=WPL[I]*TAN(R9*ATAN((ESTART-EIN[I])/(2.00*WPL[I])))ESEC=WPL[I]*(ESEC/WPL[I])**0.9524if(ESEC>EMAXDEL):NREJECT=NREJECT+1counter12=1# endif# CALCULATE PRIMARY SCATTERING ANGLE # ANISOTROPIC SCATTERINGR3=DRAND48(RDUM)if(INDEX[I]==1):R31=DRAND48(RDUM)F3=1.00-R3*ANTEMP[I]if(R31>PSTEMP[I]):F3=-F3elif(INDEX[I]==2):EPSI=PSTEMP[I]F3=1.00-(2.00*R3*(1.00-EPSI)/(1.00+EPSI*(1.00-2.00*R3)))else:# ISOTROPIC SCATTERINGF3=1.00-2.00*R3# endifTHETAP=numpy.arccos(F3)F5P=numpy.sin(THETAP)GAMSEC=(EMS+ESEC)/EMS# CALCULATE SECONDARY RECOIL ANGLE FROM FREE KINEMATICSF5S=F5P*math.sqrt(ESTART/ESEC)*GAMM/GAMSECif(F5S>1.0):F5S=1.0THETAS=numpy.arcsin(F5S)R1=DRAND48(RDUM)PHIS=TWOPI*R1# CALCULATE NEW DIRECTION COSINES FROM INITIAL VALUES AND SCAT. ANGLESDRCOS(DRXINIT,DRYINIT,DRZINIT,THETAS,PHIS,DRXX,DRYY,DRZZ)# LOAD SECONDARY ELECTRON DATA NP=NP+1if(NP>NPMAX):NPMAX=NPif(NP>20):print(' EVENT WITH N0 OF PRIMARIES GT 20 IN MIPCALC STOPPED PROGRAM')if(NP>20):sys.exit()ENM[K][NP]=ESECDIRX[K][NP]=DRXXDIRY[K][NP]=DRYYDIRZ[K][NP]=DRZZXS[K][NP]=0.0YS[K][NP]=0.0ZS[K][NP]=0.0TS[K][NP]=0.0IEVENT[K]=NP# CALCULATE POSSIBLE SHELL EMISSIONS: AUGER OR FLUORESCENCEIFLTST=0if(WKLM[I]>0.0):R9=DRAND48(RDUM)if(R9<WKLM[I]):IFLTST=1# endifif(IFLTST==0):# AUGER EMISSION WITHOUT FLUORESCENCENAUG=NC0[I]EAVAUG=EC0[I]/float(NAUG)forJFLinrange(1,NC0[I]+1):NP=NP+1if(NP>NPMAX):NPMAX=NPif(NP>20):print(' EVENT WITH N0 OF PRIMARIES > 20 IN MIPCALC STOPPED PROGRAM')if(NP>20):sys.exit()ENM[K][NP]=EAVAUG# RANDOM EMISSION ANGLER3=DRAND48(RDUM)F3=1.00-2.00*R3THETAS=numpy.arccos(F3)F6=numpy.cos(THETAS)F5=numpy.sin(THETAS)R4=DRAND48(RDUM)PHIS=TWOPI*R4F8=numpy.sin(PHIS)F9=numpy.cos(PHIS)DIRX[K][NP]=F9*F5DIRY[K][NP]=F8*F5DIRZ[K][NP]=F6XS[K][NP]=0.0YS[K][NP]=0.0ZS[K][NP]=0.0TS[K][NP]=0.0IEVENT[K]=NPelse:# AUGER EMISSION AND FLUORESCENCEif(NG2[I]==0):passelse:NAUG=NG2[I]EAVAUG=EG2[I]/float(NAUG)forJFLinrange(1,NG2[I]+1):NP=NP+1if(NP>NPMAX):NPMAX=NPif(NP>20):print(' EVENT WITH N0 OF PRIMARIES > 20 IN MIPCALC STOPPED PROGRAM')if(NP>20):sys.exit()ENM[K][NP]=EAVAUG# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THETAS=numpy.arccos(1.0-2.0*R3)F6=numpy.cos(THETAS)F5=numpy.sin(THETAS)R4=DRAND48(RDUM)PHIS=TWOPI*R4F8=numpy.sin(PHIS)F9=numpy.cos(PHIS)DIRX[K][NP]=F9*F5DIRY[K][NP]=F8*F5DIRZ[K][NP]=F6XS[K][NP]=0.0YS[K][NP]=0.0ZS[K][NP]=0.0TS[K][NP]=0.0IEVENT[K]=NPif(NG1[I]==0):passelse:NAUG=NG1[I]EAVAUG=EG1[I]/float(NAUG)R9=DRAND48(RDUM)# FLUORESCENCE ABSORPTION DISTANCEDFL=-math.log(R9)*DSTFL[I]forJFLinrange(1,NG1[I]+1):NP=NP+1if(NP>NPMAX):NPMAX=NPif(NP>20):print(' EVENT WITH N0 OF PRIMARIES > 20 IN MIPCALC STOPPED PROGRAM')if(NP>20):sys.exit()ENM[K][NP]=EAVAUG# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THETAS=numpy.arccos(1.0-2.0*R3)F6=numpy.cos(THETAS)F5=numpy.sin(THETAS)R4=DRAND48(RDUM)PHIS=TWOPI*R4F8=numpy.sin(PHIS)F9=numpy.cos(PHIS)DIRX[K][NP]=F9*F5DIRY[K][NP]=F8*F5DIRZ[K][NP]=F6R3=DRAND48(RDUM)THEFL=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHifL=TWOPI*R4XS[K][NP]=DFL*numpy.sin(THEFL)*numpy.cos(PHifL)YS[K][NP]=DFL*numpy.sin(THEFL)*numpy.sin(PHifL)ZS[K][NP]=DFL*numpy.cos(THEFL)TS[K][NP]=DFL/VVIEVENT[K]=NP# endifelif(IA==4orIA==9orIA==14orIA==14orIA==19orIA==24orIA==29):# EXCITATION#----------------------------------------------------------------if(PENFRA[1][I]==0.0orIPEN==0):GOTO10()# POSSIBLE PENNING TRANSFERR9=DRAND48(RDUM)if(R9<PENFRA[1][I]):# PENNING TRANSFERNP=NP+1if(NP>NPMAX):NPMAX=NPif(NP>20):print(' EVENT WITH N0 OF PRIMARIES > 20 IN MIPCALC STOPPED PROGRAM')if(NP>20):sys.exit()# FINITE PENNING FIXED ELECTRON ENERGY TO 4.0EVENM[K][NP]=4.0# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THETAS=numpy.arccos(1.0-2.0*R3)F6=numpy.cos(THETAS)F5=numpy.sin(THETAS)R4=DRAND48(RDUM)PHIS=TWOPI*R4F8=numpy.sin(PHIS)F9=numpy.cos(PHIS)DIRX[K][NP]=F9*F5DIRY[K][NP]=F8*F5DIRZ[K][NP]=F6# PENNING TRANSFER DISTANCEASIGN=1.00R1=DRAND48(RDUM)if(R1<0.5):ASIGN=-ASIGNR9=DRAND48(RDUM)XS[K][NP]=-math.log(R9)*PENFRA[2,I]*1*10**-6*ASIGNR1=DRAND48(RDUM)if(R1<0.5):ASIGN=-ASIGNR9=DRAND48(RDUM)YS[K][NP]=-math.log(R9)*PENFRA[2,I]*1*10**-6*ASIGNR1=DRAND48(RDUM)if(R1<0.5):ASIGN=-ASIGNR9=DRAND48(RDUM)ZS[K][NP]=-math.log(R9)*PENFRA[2,I]*1*10**-6*ASIGNR9=DRAND48(RDUM)TS[K][NP]=-math.log(R9)*PENFRA[3,I]IEVENT[K]=NPelse:GOTO10()# endif else:# ELASTIC#-----------------------------------------------------------------GOTO10()# endifprint(' NPMAX=',NPMAX)update_globals()return# end
CSSTFBN
Stores event data for Nth generation fluorescence.
Functions in this module :
CSSTFB1()
CSSTFB2()
CSSTFB3()
CSSTFB4()
CSSTFB5()
Arguments
Argument
Description
NVAC
L1
DIST1
defCSSTFB1(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)#COMMON/CALCASB/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENB1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRXS#(10,28)globalDRYS#(10,28)globalDRZS#(10,28)#COMMON/GEN11/globalX11#(10,28)globalY11#(10,28)globalZ11#(10,28)#COMMON/GEN01/globalX01#(10)globalY01#(10)globalZ01#(10)#if(L1==0):# ZERO COUNTERIONF1[NVAC]=0forKinrange(1,28):ESTF1[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR FIRST GENERATION FLUORESCENCEif(IONSUM[NVAC]>28):print(' WARNING FIRST GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endifIONF1[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF1[NVAC][J]=ESTORE[NVAC][J]X1[NVAC][J]=X01[NVAC]+DIST1*DRX0[NVAC][L1]Y1[NVAC][J]=Y01[NVAC]+DIST1*DRY0[NVAC][L1]Z1[NVAC][J]=Z01[NVAC]+DIST1*DRZ0[NVAC][L1]X11[NVAC][L1]=X1[NVAC][J]Y11[NVAC][L1]=Y1[NVAC][J]Z11[NVAC][L1]=Z1[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTFB2(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)#COMMON/CALCAS1B/#CALCAS1B#globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS2B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GEN21/globalX21#(10,28)globalY21#(10,28)globalZ21#(10,28)#COMMON/GEN11/globalX11#(10,28)globalY11#(10,28)globalZ11#(10,28)#if(L1==0):# ZERO COUNTERIONF2[NVAC]=0forKinrange(1,28):ESTF2[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR FIRST GENERATION FLUORESCENCE# STORE EVENT DATA FOR SECOND GENERATION FLUORESCENCEif(IONSUM[NVAC]>28):print(' WARNING SECOND GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endifIONF2[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF2[NVAC][J]=ESTORE[NVAC][J]X2[NVAC][J]=X11[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y2[NVAC][J]=Y11[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z2[NVAC][J]=Z11[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X21[NVAC][L1]=X2[NVAC][J]Y21[NVAC][L1]=Y2[NVAC][J]Z21[NVAC][L1]=Z2[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTFB3(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)#COMMON/CALCAS2B/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS3B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENB3/globalIONF3#(10)globalESTF3#(10,15)globalX3#(10,15)globalY3#(10,15)globalZ3#(10,15)globalDRXS#(10,15)globalDRYS#(10,15)globalDRZS#(10,15)#COMMON/GEN31/globalX31#(10,28)globalY31#(10,28)globalZ31#(10,28)#COMMON/GEN21/globalX21#(10,28)globalY21#(10,28)globalZ21#(10,28)#if(L1==0):# ZERO COUNTERIONF3[NVAC]=0forKinrange(1,15):ESTF3[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR THIRD GENERATION FLUORESCENCEif(IONSUM[NVAC]>15):print(' WARNING THIRD GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endifIONF3[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF3[NVAC][J]=ESTORE[NVAC][J]X3[NVAC][J]=X21[NVAC][L1]+DIST1*DRX0[NVAC][L1]Z3[NVAC][J]=Y21[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z3[NVAC][J]=Z21[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X31[NVAC][L1]=X3[NVAC][J]Y31[NVAC][L1]=Z3[NVAC][J]Z31[NVAC][L1]=Z3[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTFB4(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)#COMMON/CALCAS3B/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS4B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENB4/globalIONF4#(10)globalESTF4#(10,12)globalX4#(10,12)globalY4#(10,12)globalZ4#(10,12)globalDRXS#(10,12)globalDRYS#(10,12)globalDRZS#(10,12)#COMMON/GEN31/globalX31#(10,28)globalY31#(10,28)globalZ31#(10,28)#COMMON/GEN41/globalX41#(10,28)globalY41#(10,28)globalZ41#(10,28)#if(L1==0):# ZERO COUNTERIONF4[NVAC]=0forKinrange(1,12):ESTF4[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR FOURTH GENERATION FLUORESCENCEif(IONSUM[NVAC]>12):print(' WARNING FOURTH GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endifIONF4[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF4[NVAC][J]=ESTORE[NVAC][J]X4[NVAC][J]=X31[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y4[NVAC][J]=Y31[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z4[NVAC][J]=Z31[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X41[NVAC][L1]=X4[NVAC][J]Y41[NVAC][L1]=Y4[NVAC][J]Z41[NVAC][L1]=Z4[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTFB5(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)#COMMON/CALCAS4B/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS5B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENB5/globalIONF5#(10)globalESTF5#(10,5)globalX5#(10,5)globalY5#(10,5)globalZ5#(10,5)globalDRXS#(10,5)globalDRYS#(10,5)globalDRZS#(10,5)#COMMON/GEN41/globalX41#(10,28)globalY41#(10,28)globalZ41#(10,28)#COMMON/GEN51/globalX51#(10,28)globalY51#(10,28)globalZ51#(10,28)#if(L1==0):# ZERO COUNTERIONF5[NVAC]=0forKinrange(1,5):ESTF5[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR FIFTH GENERATION FLUORESCENCEif(IONSUM[NVAC]>5):print(' WARNING FIFTH GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endifIONF5[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF5[NVAC][J]=ESTORE[NVAC][J]X5[NVAC][J]=X41[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y5[NVAC][J]=Y41[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z5[NVAC][J]=Z41[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X51[NVAC][L1]=X5[NVAC][J]Y51[NVAC][L1]=Y5[NVAC][J]Z51[NVAC][L1]=Z5[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# end
SUBROUTINECSSTFB1(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCASB/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS1B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENB1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),/DRXS(10,28),DRYS(10,28),DRZS(10,28)COMMON/GEN11/X11(10,28),Y11(10,28),Z11(10,28)COMMON/GEN01/X01(10),Y01(10),Z01(10)CIF(L1.EQ.0)THENCZEROCOUNTERIONF1(NVAC)=0DO11K=1,2811ESTF1(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORFIRSTGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING FIRST GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFIONF1(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF1(NVAC,J)=ESTORE(NVAC,J)X1(NVAC,J)=X01(NVAC)+DIST1*DRX0(NVAC,L1)Y1(NVAC,J)=Y01(NVAC)+DIST1*DRY0(NVAC,L1)Z1(NVAC,J)=Z01(NVAC)+DIST1*DRZ0(NVAC,L1)X11(NVAC,L1)=X1(NVAC,J)Y11(NVAC,L1)=Y1(NVAC,J)Z11(NVAC,L1)=Z1(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTFB2(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS1B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS2B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENB2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),/DRXS(10,28),DRYS(10,28),DRZS(10,28)COMMON/GEN21/X21(10,28),Y21(10,28),Z21(10,28)COMMON/GEN11/X11(10,28),Y11(10,28),Z11(10,28)CIF(L1.EQ.0)THENCZEROCOUNTERIONF2(NVAC)=0DO11K=1,2811ESTF2(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORFIRSTGENERATIONFLUORESCENCECSTOREEVENTDATAFORSECONDGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING SECOND GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFIONF2(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF2(NVAC,J)=ESTORE(NVAC,J)X2(NVAC,J)=X11(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y2(NVAC,J)=Y11(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z2(NVAC,J)=Z11(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X21(NVAC,L1)=X2(NVAC,J)Y21(NVAC,L1)=Y2(NVAC,J)Z21(NVAC,L1)=Z2(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTFB3(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS2B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS3B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENB3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),/DRXS(10,15),DRYS(10,15),DRZS(10,15)COMMON/GEN31/X31(10,28),Y31(10,28),Z31(10,28)COMMON/GEN21/X21(10,28),Y21(10,28),Z21(10,28)CIF(L1.EQ.0)THENCZEROCOUNTERIONF3(NVAC)=0DO11K=1,1511ESTF3(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORTHIRDGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.15)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING THIRD GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFIONF3(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF3(NVAC,J)=ESTORE(NVAC,J)X3(NVAC,J)=X21(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y3(NVAC,J)=Y21(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z3(NVAC,J)=Z21(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X31(NVAC,L1)=X3(NVAC,J)Y31(NVAC,L1)=Y3(NVAC,J)Z31(NVAC,L1)=Z3(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTFB4(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS3B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS4B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENB4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),/DRXS(10,12),DRYS(10,12),DRZS(10,12)COMMON/GEN31/X31(10,28),Y31(10,28),Z31(10,28)COMMON/GEN41/X41(10,28),Y41(10,28),Z41(10,28)CIF(L1.EQ.0)THENCZEROCOUNTERIONF4(NVAC)=0DO11K=1,1211ESTF4(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORFOURTHGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.12)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING FOURTH GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFIONF4(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF4(NVAC,J)=ESTORE(NVAC,J)X4(NVAC,J)=X31(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y4(NVAC,J)=Y31(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z4(NVAC,J)=Z31(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X41(NVAC,L1)=X4(NVAC,J)Y41(NVAC,L1)=Y4(NVAC,J)Z41(NVAC,L1)=Z4(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTFB5(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS4B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS5B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENB5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),/DRXS(10,5),DRYS(10,5),DRZS(10,5)COMMON/GEN41/X41(10,28),Y41(10,28),Z41(10,28)COMMON/GEN51/X51(10,28),Y51(10,28),Z51(10,28)CIF(L1.EQ.0)THENCZEROCOUNTERIONF5(NVAC)=0DO11K=1,511ESTF5(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORFIFTHGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.5)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING FIFTH GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFIONF5(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF5(NVAC,J)=ESTORE(NVAC,J)X5(NVAC,J)=X41(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y5(NVAC,J)=Y41(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z5(NVAC,J)=Z41(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X51(NVAC,L1)=X5(NVAC,J)Y51(NVAC,L1)=Y5(NVAC,J)Z51(NVAC,L1)=Z5(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNEND
COMPRESS
Stores Cascade Data into global array INTHRMB1
Stores Events for input to thermalisation.
Arguments
Argument
Description
IDBG
ENSUM
SUBROUTINECOMPRESS(IDBG,ENSUM)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/PRIM4/MSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1COMMON/RESB/IONSM(10),IFLSM(10),ESTOR(10,28),EPHOT(10,28),/X(10,28),Y(10,28),Z(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/GENB1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),/DRX1(10,28),DRY1(10,28),DRZ1(10,28)COMMON/GENB2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),/DRX2(10,28),DRY2(10,28),DRZ2(10,28)COMMON/GENB3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),/DRX3(10,15),DRY3(10,15),DRZ3(10,15)COMMON/GENB4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),/DRX4(10,12),DRY4(10,12),DRZ4(10,12)COMMON/GENB5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),/DRX5(10,5),DRY5(10,5),DRZ5(10,5)COMMON/INTHRMB1/NPTPE,ET(10,50),XT(10,50),YT(10,50),ZT(10,50),/DRX(10,50),DRY(10,50),DRZ(10,50),/NJFLR(10,50),IEVENTL(10)COMMON/PPSTRB/NPTP,EPPST(2),XPP(2),YPP(2),ZPP(2),/DRXPP(2),DRYPP(2),DRZPP(2)DIMENSIONESTOT(10)NPTPE=MVAC1DO1I=1,101ESTOT(I)=0.0CIF(IDBG.EQ.1)THENCWRITE(6,66)MVAC1C66FORMAT(' IN COMPRESS MVAC1=',I4)CDO67KK=1,MVAC1CWRITE(6,68)IONSM(KK),IONF1(KK),IONF2(KK),IONF3(KK),IONF4(KK),C/IONF5(KK)C68FORMAT(' IONSUM 0-5=',6I4)CWRITE(6,69)(ESTOR(KK,KKK),KKK=1,28)C69FORMAT(' ESTOR=',4(7D12.4,/))CWRITE(6,70)(ESTF1(KK,KKK),KKK=1,28)C70FORMAT(' ESTF1=',4(7D12.4,/))C67CONTINUECENDIFCCSTORECASCADEDATAINTOCOMMON/INTHRMB1/DO12K=1,MVAC1ITOT=IONSM(K)+IONF1(K)+IONF2(K)+IONF3(K)+IONF4(K)+IONF5(K)IEVENTL(K)=ITOTIF(ITOT.GT.50)THENWRITE(6,811)J811FORMAT(' NEVENT=',I5,' ITOT OVERFLOW IN OUTPUTBC')STOPENDIFCSTOREEVENTFORINPUTTOTHERMALISATIONDO6M=1,IONSM(K)ET(K,M)=ESTOR(K,M)XT(K,M)=X(K,M)YT(K,M)=Y(K,M)ZT(K,M)=Z(K,M)DRX(K,M)=DRX0(K,M)DRY(K,M)=DRY0(K,M)DRZ(K,M)=DRZ0(K,M)NJFLR(K,M)=0ESTOT(K)=ESTOT(K)+ESTOR(K,M)6CONTINUEIF(IONF1(K).EQ.0)GOTO17DO7M=1,IONF1(K)M1=M+IONSM(K)ET(K,M1)=ESTF1(K,M)XT(K,M1)=X1(K,M)YT(K,M1)=Y1(K,M)ZT(K,M1)=Z1(K,M)DRX(K,M1)=DRX1(K,M)DRY(K,M1)=DRY1(K,M)DRZ(K,M1)=DRZ1(K,M)ESTOT(K)=ESTOT(K)+ESTF1(K,M)NJFLR(K,M1)=17CONTINUE17IF(IONF2(K).EQ.0)GOTO18DO8M=1,IONF2(K)M2=M+IONSM(K)+IONF1(K)ET(K,M2)=ESTF2(K,M)XT(K,M2)=X2(K,M)YT(K,M2)=Y2(K,M)ZT(K,M2)=Z2(K,M)DRX(K,M2)=DRX2(K,M)DRY(K,M2)=DRY2(K,M)DRZ(K,M2)=DRZ2(K,M)ESTOT(K)=ESTOT(K)+ESTF2(K,M)NJFLR(K,M2)=28CONTINUE18IF(IONF3(K).EQ.0)GOTO19DO9M=1,IONF3(K)M3=M+IONSM(K)+IONF1(K)+IONF2(K)ET(K,M3)=ESTF3(K,M)XT(K,M3)=X3(K,M)YT(K,M3)=Y3(K,M)ZT(K,M3)=Z3(K,M)DRX(K,M3)=DRX3(K,M)DRY(K,M3)=DRY3(K,M)DRZ(K,M3)=DRZ3(K,M)ESTOT(K)=ESTOT(K)+ESTF3(K,M)NJFLR(K,M3)=39CONTINUE19IF(IONF4(K).EQ.0)GOTO20DO10M=1,IONF4(K)M4=M+IONSM(K)+IONF1(K)+IONF2(K)+IONF3(K)ET(K,M4)=ESTF4(K,M)XT(K,M4)=X4(K,M)YT(K,M4)=Y4(K,M)ZT(K,M4)=Z4(K,M)DRX(K,M4)=DRX4(K,M)DRY(K,M4)=DRY4(K,M)DRZ(K,M4)=DRZ4(K,M)ESTOT(K)=ESTOT(K)+ESTF4(K,M)NJFLR(K,M4)=410CONTINUE20IF(IONF5(K).EQ.0)GOTO21DO11M=1,IONF5(K)M5=M+IONSM(K)+IONF1(K)+IONF2(K)+IONF3(K)+IONF4(K)ET(K,M5)=ESTF5(K,M)XT(K,M5)=X5(K,M)YT(K,M5)=Y5(K,M)ZT(K,M5)=Z5(K,M)DRX(K,M5)=DRX5(K,M)DRY(K,M5)=DRY5(K,M)DRZ(K,M5)=DRZ5(K,M)ESTOT(K)=ESTOT(K)+ESTF5(K,M)NJFLR(K,M5)=511CONTINUE21CONTINUECPRINTSOMERAWDATACIF(J.LE.525)THENCEDUM=0.0CDO666JJ=1,IEVENTL(J)C666EDUM=EDUM+ET(JJ,J)CWRITE(6,232)JCWRITE(6,2321)EDUMC2321FORMAT(' TOT ENERGY=',D12.3)C232FORMAT(' DATA FOR EVENT=',I3)CDO234M=1,IEVENTL(J)CWRITE(6,233)ET(M,J),XT(M,J),YT(M,J),ZT(M,J),TH(M,J),PH(M,J)C233FORMAT(' E=',D12.3,' X=',D12.3,' Y=',D12.3,' Z=',D12.3,' THETA=',C/D12.3,' PHI=',D12.3)C234CONTINUECENDIFEDUM=0.012CONTINUEDO30K=1,MVAC1EDUM=EDUM+ESTOT(K)30CONTINUEEDUM=EDUM+EPPST(1)+EPPST(2)ENSUM=EDUMIF(EDUM.GT.(EFINAL+0.1))THENWRITE(6,999)EDUM999FORMAT(' ETOT =',D12.5,'EV. BAD EVENT IN COMPRESS',/)IBAD=1STOPENDIFRETURNEND
defCOMPRESS(IDBG,ENSUM):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN# COMMON/PRIM4/MSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1# COMMON/RESB/IONSM(10),IFLSM(10),ESTOR(10,28),EPHOT(10,28),X(10,28),Y(10,28),Z[10,28],DRX0(10,28),DRY0(10,28),DRZ0(10,28)# COMMON/GENB1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),DRX1(10,28),DRY1(10,28),DRZ1(10,28)# COMMON/GENB2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),DRX2(10,28),DRY2(10,28),DRZ2(10,28)# COMMON/GENB3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),DRX3(10,15),DRY3(10,15),DRZ3(10,15)# COMMON/GENB4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),DRX4(10,12),DRY4(10,12),DRZ4(10,12)# COMMON/GENB5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),DRX5(10,5),DRY5(10,5),DRZ5(10,5)# COMMON/INTHRMB1/NPTPE,ET(10,50),XT(10,50),YT(10,50),ZT(10,50),DRX(10,50),DRY(10,50),DRZ[10,50],NJFLR(10,50),IEVENTL(10) # COMMON/PPSTRB/NPTP,EPPST[2],XPP[2],YPP[2],ZPP[2],DRXPP[2],DRYPP[2],DRZPP[2]#COMMON/INPT/globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN#COMMON/PRIM4/globalMSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1#COMMON/RESB/globalIONSM#(10)globalIFLSM#(10)globalESTOR#(10,28)globalEPHOT#(10,28)globalX#(10,28)globalY#(10,28)globalZ#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/GENB1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRX1#(10,28)globalDRY1#(10,28)globalDRZ1#(10,28)#COMMON/GENB2/globalIONF2#(10)globalESTF2#(10,28)globalX2#(10,28)globalY2#(10,28)globalZ2#(10,28)globalDRX2#(10,28)globalDRY2#(10,28)globalDRZ2#(10,28)#COMMON/GENB3/globalIONF3#(10)globalESTF3#(10,15)globalX3#(10,15)globalY3#(10,15)globalZ3#(10,15)globalDRX3#(10,15)globalDRY3#(10,15)globalDRZ3#(10,15)#COMMON/GENB4/globalIONF4#(10)globalESTF4#(10,12)globalX4#(10,12)globalY4#(10,12)globalZ4#(10,12)globalDRX4#(10,12)globalDRY4#(10,12)globalDRZ4#(10,12)#COMMON/GENB5/globalIONF5#(10)globalESTF5#(10,5)globalX5#(10,5)globalY5#(10,5)globalZ5#(10,5)globalDRX5#(10,5)globalDRY5#(10,5)globalDRZ5#(10,5)#COMMON/INTHRMB1/globalNPTPEglobalET#(10,50)globalXT#(10,50)globalYT#(10,50)globalZT#(10,50)globalDRX#(10,50)globalDRY#(10,50)globalDRZ#(10,50)globalNJFLR#(10,50)globalIEVENTL#(10) #COMMON/PPSTRB/globalNPTPglobalEPPST#(2)globalXPP#(2)globalYPP#(2)globalZPP#(2)globalDRXPP#(2)globalDRYPP#(2)globalDRZPP#(2)#DIMENSION ESTOT=[0forxinrange(10)]NPTPE=MVAC1forIinrange(1,10+1):ESTOT[I]=0.0# IF(IDBG == 1) :# WRITE(6,66) MVAC1# 66 print(' IN COMPRESS MVAC1=',I4)# DO 67 KK=1,MVAC1# WRITE(6,68) IONSM(KK),IONF1(KK),IONF2(KK),IONF3(KK),IONF4(KK),# /IONF5(KK)# 68 print(' IONSUM 0-5=',6I4)# WRITE(6,69) (ESTOR(KK,KKK),KKK=1,28)# 69 print(' ESTOR=',4(7'%.4f' % ,/))# WRITE(6,70) (ESTF1(KK,KKK),KKK=1,28)# 70 print(' ESTF1=',4(7'%.4f' % ,/))# 67 CONTINUE# # endIF# # STORE CASCADE DATA INTO COMMON/INTHRMB1/forKinrange(1,MVAC1+1):ITOT=IONSM[K]+IONF1[K]+IONF2[K]+IONF3[K]+IONF4[K]+IONF5[K]IEVENTL[K]=ITOTif(ITOT>50):print(' NEVENT=',J,' ITOT OVERFLOW IN OUTPUTBC')sys.exit()# endif# STORE EVENT FOR INPUT TO THERMALISATIONforMinrange(1,IONSM[K]+1):ET[K][M]=ESTOR[K][M]XT[K][M]=X[K][M]YT[K][M]=Y[K][M]ZT[K][M]=Z[K,M]DRX[K][M]=DRX0[K][M]DRY[K][M]=DRY0[K][M]DRZ[K,M]=DRZ0[K][M]NJFLR[K][M]=0ESTOT[K]=ESTOT[K]+ESTOR[K][M]if(IONF1[K]==0):passelse:forMinrange(1,IONF1[K]+1):M1=M+IONSM[K]ET[K][M1]=ESTF1[K][M]XT[K][M1]=X1[K][M]YT[K][M1]=Y1[K][M]ZT[K][M1]=Z1[K][M]DRX[K][M1]=DRX1[K][M]DRY[K][M1]=DRY1[K][M]DRZ[K,M1]=DRZ1[K][M]ESTOT[K]=ESTOT[K]+ESTF1[K][M]NJFLR[K][M1]=1if(IONF2[K]==0):passelse:forMinrange(1,IONF2[K]+1):M2=M+IONSM[K]+IONF1[K]ET[K][M2]=ESTF2[K][M]XT[K][M2]=X2[K][M]YT[K][M2]=Y2[K][M]ZT[K][M2]=Z2[K][M]DRX[K][M2]=DRX2[K][M]DRY[K][M2]=DRY2[K][M]DRZ[K,M2]=DRZ2[K][M]ESTOT[K]=ESTOT[K]+ESTF2[K][M]NJFLR[K][M2]=2if(IONF3[K]==0):passelse:forMinrange(1,IONF3[K]+1):M3=M+IONSM[K]+IONF1[K]+IONF2[K]ET[K][M3]=ESTF3[K][M]XT[K][M3]=X3[K][M]YT[K][M3]=Y3[K][M]ZT[K][M3]=Z3[K][M]DRX[K][M3]=DRX3[K][M]DRY[K][M3]=DRY3[K][M]DRZ[K,M3]=DRZ3[K][M]ESTOT[K]=ESTOT[K]+ESTF3[K][M]NJFLR[K][M3]=3if(IONF4[K]==0):passelse:forMinrange(1,IONF4[K]+1):M4=M+IONSM[K]+IONF1[K]+IONF2[K]+IONF3[K]ET[K][M4]=ESTF4[K][M]XT[K][M4]=X4[K][M]YT[K][M4]=Y4[K][M]ZT[K][M4]=Z4[K][M]DRX[K][M4]=DRX4[K][M]DRY[K][M4]=DRY4[K][M]DRZ[K,M4]=DRZ4[K][M]ESTOT[K]=ESTOT[K]+ESTF4[K][M]NJFLR[K][M4]=4if(IONF5[K]==0):passelse:forMinrange(1,IONF5[K]+1):M5=M+IONSM[K]+IONF1[K]+IONF2[K]+IONF3[K]+IONF4[K]ET[K][M5]=ESTF5[K][M]XT[K][M5]=X5[K][M]YT[K][M5]=Y5[K][M]ZT[K][M5]=Z5[K][M]DRX[K][M5]=DRX5[K][M]DRY[K][M5]=DRY5[K][M]DRZ[K,M5]=DRZ5[K][M]ESTOT[K]=ESTOT[K]+ESTF5[K][M]NJFLR[K][M5]=5# PRINT SOME RAW DATA# IF(J <= 525) :# EDUM=0.0# DO 666 JJ=1,IEVENTL[J]# 666 EDUM=EDUM+ET(JJ,J)# WRITE(6,232) J# WRITE(6,2321) EDUM#2321 print(' TOT ENERGY=','%.3f' %)# 232 print(' DATA FOR EVENT=',I3)# DO 234 M=1,IEVENTL[J]# WRITE(6,233) ET(M,J),XT(M,J),YT(M,J),ZT(M,J),TH(M,J),PH(M,J)# 233 print(' E=','%.3f' %,' X=','%.3f' %,' Y=','%.3f' %,' Z=','%.3f' %,' THETA=',# /'%.3f' %,' PHI=','%.3f' %)# 234 CONTINUE# # endIFEDUM=0.0forKinrange(1,MVAC1+1):EDUM=EDUM+ESTOT[K]EDUM=EDUM+EPPST[1]+EPPST[2]ENSUM=EDUMif(EDUM>(EFINAL+0.1)):print(' ETOT =','%.5f'%EDUM,'EV. BAD EVENT IN COMPRESS\n')IBAD=1sys.exit()# endifreturn# end
BREMSCASC()
Bremsstrahlung Cascade tree:
Set variables or initialize variables
Create interation tree for PE compton Rayleigh and pair production.
Store electron energy direction cosines and position with shell.
Level and gas identity in COUT for each compton and PE event.
Store pair production electron and positron data in PPSTR
Store final cascade results in CASRSB
Arguments
Argument
Description
J11
EGAMMA
X0
Y0
Z0
T0
GDCX
GDCY
GDCZ
ILOW
defBREMSCASC(J11,EGAMMA,X0,Y0,Z0,T0,GDCX,GDCY,GDCZ,ILOW):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)#CHARACTER*6 SCR(17),SCR1(17)# COMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG# COMMON/COMPTOUT/EGAM,EELEC,THETAG,THETAE# COMMON/PRIM4/MSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1# COMMON/GENCAS/ELEV[17,79],NSDEG(17),AA[17],BB[17],SCR,SCR1# COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),RAD[6,3,17,17],PRSHBT(6,3,17),IZ[6,3],INIOCC(6,3,17),ISHLMX(6,3),AMZ[6,3]# COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)# COMMON/CALCASB/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/CALCAS1B/IONSUM1(10),IFLSUM1(10),ESTOR1(10,28),EPHOTG1(10,28),DRXE1(10,28),DRYE1(10,28),DRZE1(10,28),DRX1(10,28),DRY1(10,28),DRZ1(10,28)# COMMON/CALCAS2B/IONSUM2(10),IFLSUM2(10),ESTOR2(10,28),EPHOTG2(10,28),DRXE2(10,28),DRYE2(10,28),DRZE2(10,28),DRX2(10,28),DRY2(10,28),DRZ2(10,28)# COMMON/CALCAS3B/IONSUM3(10),IFLSUM3(10),ESTOR3(10,28),EPHOTG3(10,28),DRXE3(10,28),DRYE3(10,28),DRZE3(10,28),DRX3(10,28),DRY3(10,28),DRZ3(10,28)# COMMON/CALCAS4B/IONSUM4(10),IFLSUM4(10),ESTOR4(10,28),EPHOTG4(10,28),DRXE4(10,28),DRYE4(10,28),DRZE4(10,28),DRX4(10,28),DRY4(10,28),DRZ4(10,28)# COMMON/CALCAS5B/IONSUM5(10),IFLSUM5(10),ESTOR5(10,28),EPHOTG5(10,28),DRXE5(10,28),DRYE5(10,28),DRZE5(10,28),DRX5(10,28),DRY5(10,28),DRZ5(10,28)# COMMON/RESB/IONSM(10),IFLSM(10),ESTOR(10,28),EPHOT(10,28),X10(10,28),Y10(10,28),Z10(10,28),DRX01(10,28),DRY01(10,28),DRZ01(10,28)# COMMON/GENB1/IONF1(10),ESTF1(10,28),X11(10,28),Y11(10,28),Z11(10,28),DRX11(10,28),DRY11(10,28),DRZ11(10,28)# COMMON/GENB2/IONF2(10),ESTF2(10,28),X21(10,28),Y21(10,28),Z21(10,28),DRX21(10,28),DRY21(10,28),DRZ21(10,28)# COMMON/GENB3/IONF3(10),ESTF3(10,15),X31(10,15),Y31(10,15),Z31(10,15),DRX31(10,15),DRY31(10,15),DRZ31(10,15)# COMMON/GENB4/IONF4(10),ESTF4(10,12),X41(10,12),Y41(10,12),Z41(10,12),DRX41(10,12),DRY41(10,12),DRZ41(10,12)# COMMON/GENB5/IONF5(10),ESTF5(10,5),X51(10,5),Y51(10,5),Z51(10,5),DRX51(10,5),DRY51(10,5),DRZ51(10,5)# COMMON/COUTE/ECMP(10),ECDRX(10),ECDRY(10),ECDRZ[10],XCPOS(10),YCPOS(10),ZCPOS(10),KCGAS(10),LCGAS(10),ICSHELL(10)# COMMON/COUTTB/TT(10),TTP# COMMON/PPSTRB/NPTP,EPPST[2],XPP[2],YPP[2],ZPP[2],DRXPP[2],DRYPP[2],DRZPP[2]# COMMON/COMP/globalLCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG#COMMON/COMPTOUT/globalEGAM,EELEC,THETAG,THETAE#COMMON/PRIM4/globalMSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1#COMMON/GENCAS/globalELEV#(17,79)globalNSDEG#(17)globalAA#(17)globalBB#(17)globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#(6,3,17,17)globalPRSHBT#(6,3,17)globalIZ#(6,3)globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#(6,3)#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCASB/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#(10,28)#COMMON/CALCAS1B/globalIONSUM1#(10)globalIFLSUM1#(10)globalESTOR1#(10,28)globalEPHOTG1#(10,28)globalDRXE1#(10,28)globalDRYE1#(10,28)globalDRZE1#(10,28)globalDRX1#(10,28)globalDRY1#(10,28)globalDRZ1#(10,28)#COMMON/CALCAS2B/globalIONSUM2#(10)globalIFLSUM2#(10)globalESTOR2#(10,28)globalEPHOTG2#(10,28)globalDRXE2#(10,28)globalDRYE2#(10,28)globalDRZE2#(10,28)globalDRX2#(10,28)globalDRY2#(10,28)globalDRZ2#(10,28)#COMMON/CALCAS3B/globalIONSUM3#(10)globalIFLSUM3#(10)globalESTOR3#(10,28)globalEPHOTG3#(10,28)globalDRXE3#(10,28)globalDRYE3#(10,28)globalDRZE3#(10,28)globalDRX3#(10,28)globalDRY3#(10,28)globalDRZ3#(10,28)#COMMON/CALCAS4B/globalIONSUM4#(10)globalIFLSUM4#(10)globalESTOR4#(10,28)globalEPHOTG4#(10,28)globalDRXE4#(10,28)globalDRYE4#(10,28)globalDRZE4#(10,28)globalDRX4#(10,28)globalDRY4#(10,28)globalDRZ4#(10,28)#COMMON/CALCAS5B/globalIONSUM5#(10)globalIFLSUM5#(10)globalESTOR5#(10,28)globalEPHOTG5#(10,28)globalDRXE5#(10,28)globalDRYE5#(10,28)globalDRZE5#(10,28)globalDRX5#(10,28)globalDRY5#(10,28)globalDRZ5#(10,28)#COMMON/RESB/globalIONSM#(10)globalIFLSM#(10)globalESTOR#(10,28)globalEPHOT#(10,28)globalX10#(10,28)globalY10#(10,28)globalZ10#(10,28)globalDRX01#(10,28)globalDRY01#(10,28)globalDRZ01#(10,28)#COMMON/GENB1/globalIONF1#(10)globalESTF1#(10,28)globalX11#(10,28)globalY11#(10,28)globalZ11#(10,28)globalDRX11#(10,28)globalDRY11#(10,28)globalDRZ11#(10,28)#COMMON/GENB2/globalIONF2#(10)globalESTF2#(10,28)globalX21#(10,28)globalY21#(10,28)globalZ21#(10,28)globalDRX21#(10,28)globalDRY21#(10,28)globalDRZ21#(10,28)#COMMON/GENB3/globalIONF3#(10)globalESTF3#(10,15)globalX31#(10,15)globalY31#(10,15)globalZ31#(10,15)globalDRX31#(10,15)globalDRY31#(10,15)globalDRZ31#(10,15)#COMMON/GENB4/globalIONF4#(10)globalESTF4#(10,12)globalX41#(10,12)globalY41#(10,12)globalZ41#(10,12)globalDRX41#(10,12)globalDRY41#(10,12)globalDRZ41#(10,12)#COMMON/GENB5/globalIONF5#(10)globalESTF5#(10,5)globalX51#(10,5)globalY51#(10,5)globalZ51#(10,5)globalDRX51#(10,5)globalDRY51#(10,5)globalDRZ51#(10,5)#COMMON/COUTE/globalECMP#(10)globalECDRX#(10)globalECDRY#(10)globalECDRZ#(10)globalXCPOS#(10)globalYCPOS#(10)globalZCPOS#(10)globalKCGAS#(10)globalLCGAS#(10)globalICSHELL#(10)#COMMON/COUTTB/globalTT#(10)globalTTP#COMMON/PPSTRB/globalNPTPglobalEPPST#(2)globalXPP#(2)globalYPP#(2)globalZPP#(2)globalDRXPP#(2)globalDRYPP#(2)globalDRZPP#(2)#----------------------------------------------------------------------# BREMSSTRAHLUNG CASCADE TREE:# SET OR ZERO SOME VARIABLES # CREATE INTERACTION TREE FOR PE COMPTON RAYLEIGH AND PAIR PRODUCTION# STORE ELECTRON ENERGY DIRECTION COSINES AND POSITION WITH SHELL# LEVEL AND GAS IDENTITY IN COMMON/COUT/ FOR EACH COMPTON AND PE EVENT# STORE PAIR PRODUCTION ELECTRON AND POSITRON DATA IN COMMON/PPSTR/# STORE FINAL CASCADE RESULTS IN COMMON/CASRSB/#----------------------------------------------------------------------API=numpy.arccos(-1.00)TWOPI=2.00*APIIDBG=0# IF(J11 == 2) IDBG=1defGOTO5():ILOW=0# USE VELOCITY IN METRES/PICOSECONDSVV=2.99792458E-4# LFIX=0# ALLOW FLUORESCENCE CALCULATIONdefGOTO123():ICONPH=1# PHOTON ORIGINX=X0Y=Y0Z=Z0TSUM=T0# LOAD INITIAL DIRECTION COSINES BEFORE INTERACTION DRXS=GDCXDRYS=GDCYDRZS=GDCZ# INITIAL ENERGYENERGY=EGAMMA## ZERO SOME ARRAYSEPPST[1]=0.00EPPST[2]=0.00forKinrange(1,10):forJinrange(1,28):EPHOTON[K][J]=0.0EPHOTG1[K][J]=0.0EPHOTG2[K][J]=0.0EPHOTG3[K][J]=0.0EPHOTG4[K][J]=0.0EPHOTG5[K][J]=0.0ESTORE[K][J]=0.0ESTOR1[K][J]=0.0ESTOR2[K][J]=0.0ESTOR3[K][J]=0.0ESTOR4[K][J]=0.0ESTOR5[K][J]=0.0ESTOR[K][J]=0.0ESTF1[K][J]=0.0ESTF2[K][J]=0.0forJinrange(1,15):ESTF3[K][J]=0.0forJinrange(1,12):ESTF4[K][J]=0.0forJinrange(1,5):ESTF5[K][J]=0.0IFLSUM[K]=0IFLSUM1[K]=0IFLSUM2[K]=0IFLSUM3[K]=0IFLSUM4[K]=0IFLSUM5[K]=0IONSUM[K]=0IONSUM1[K]=0IONSUM2[K]=0IONSUM3[K]=0IONSUM4[K]=0IONSUM5[K]=0IONSM[K]=0IONF1[K]=0IONF2[K]=0IONF3[K]=0IONF4[K]=0IONF5[K]=0KCGAS[K]=0LCGAS[K]=0ICSHELL[K]=0ECMP[K]=0.0NCOMP=0NRAYL=0NPAIR=0NPHOT=0NVAC=0NPTP=0# IFIRST=1ISECOND=2defGOTO2():NTOTI=NCOMP+NRAYL+NPAIR+NPHOT# PHOTONSABSO(IFIRST,ENERGY,ISHELL,KGAS,LGAS,DIST)# IF(IDBG == 1) :# WRITE(6,888) ENERGY,ISHELL,J11# 888 print(' AFTER ABSO ENERGY=',D12.5,' ISHELL=',I3,' EVENT NO=',I4)# # endIFif(ISHELL==-1):# BREMSSTRAHLUNG GAMMA TOO LOW IN ENERGY TO IONISEILOW=1return# endif# # CREATE INTERACTION TREEflag=0if(LPEFLG==1):flag=100if(LCFLG==1):flag=10###############################elif(LRFLG==1):## ##flag=20## Made significant changes ##elif(LPFLG==1):## ##flag=30################################ COMPTON SCATTERINGif(flag==10orflag==0):COMPTON(KGAS,LGAS,ENERGY)NCOMP=NCOMP+1NVAC=NVAC+1if(NVAC>10):# MAXIMUM OF 10 PRIMARY INTERACTIONS# NJHIGH=NJHIGH+1GOTO123()# endif# RANDOMISE ANGLE PHIR3=DRAND48(RDUM)PHI=TWOPI*R3# CALCULATE COMPTON ELECTRON DIRECTION COSINES USING THETAE AND PHIDRCOS(DRXS,DRYS,DRZS,THETAE,PHI,DRXX,DRYY,DRZZ)# FOR COMPTON EFFECT STORE ELECTRON DIRECTION COSINESECDRX[NVAC]=DRXXECDRY[NVAC]=DRYYECDRZ[NVAC]=DRZZ# CALCULATE WHICH SHELL HAS VACANCY FROM COMPTON EVENTCVAC(KGAS,LGAS,EELEC,KSHELL,KBAD)# REJECT EVENT WITHOUT SUFFICIENT ENERGY TO IONISE SHELLSif(KBAD==1):GOTO123()# STORE ELECTRON ENERGY SHELL VACANCY ISHELL KGAS LGAS POSITION ECMP[NVAC]=EELECICSHELL[NVAC]=KSHELLKCGAS[NVAC]=KGASLCGAS[NVAC]=LGAS# INTERACTION POSITIONSXCPOS[NVAC]=X+DIST*DRXSYCPOS[NVAC]=Y+DIST*DRYSZCPOS[NVAC]=Z+DIST*DRZSTT[NVAC]=TSUM+DIST/VV# UPDATE PHOTON STARTING ENERGY POSITION AND ANGLESENERGY=EGAMX=XCPOS[NVAC]Y=YCPOS[NVAC]Z=ZCPOS[NVAC]PHIG=PHI+APIif(PHIG>=TWOPI):PHIG=PHI-APIDRCOS(DRXS,DRYS,DRZS,THETAG,PHIG,DRXX,DRYY,DRZZ)# NEW DIRECTION COSINESDRXS=DRXXDRYS=DRYYDRZS=DRZZ# LOOP BACK GOTO2()if(flag==20orflag==0):# RAYLEIGH SCATTERINGRAYLEIGH(KGAS,LGAS,ENERGY,THETAR)NRAYL=NRAYL+1# CALCULATE ENERGY LOSS IN RAYLEIGH SCATTERINGRAYLOS(KGAS,LGAS,ENERGY,THETAR,ELRAY)# IF(IDBG == 1) WRITE(6,776) ENERGY,ELRAY# 776 print(' AFTER RAYLOS ENERGY=','%.4f' % ,' ELRAY=','%.4f' % )# UPDATE X-RAY STARTING ENERGY POSITION AND ANGLESENERGY=ENERGY-ELRAYX=X+DIST*DRXSY=Y+DIST*DRYSZ=Z+DIST*DRZSTSUM=TSUM+DIST/VV# RANDOMISE ANGLE PHIR3=DRAND48(RDUM)PHIR=TWOPI*R3DRCOS(DRXS,DRYS,DRZS,THETAR,PHIR,DRXX,DRYY,DRZZ)DRXS=DRXXDRYS=DRYYDRZS=DRZZ# LOOP BACKGOTO2()if(flag==30orflag==0):# PAIR PRODUCTIONPAIR(KGAS,LGAS,ENERGY,E1,E2,THET1,PHI1,THET2,PHI2)NPAIR=NPAIR+1if(NPAIR>2):print(' ERROR NPAIR GT 2 =',NPAIR,' IN BREMSCASC EVENT NO =',J11)sys.exit()# endifNPTP=NPAIR# STORE ELECTRON AND POSITRON ENERGY POSITION AND ANGLESEPPST[1]=E1EPPST[2]=E2if(NVAC==0):# FIRST INTERACTION IS PAIR PRODUCTIONXPP[1]=XYPP[1]=YZPP[1]=ZXPP[2]=XYPP[2]=YZPP[2]=ZTTP=TSUMpass# endifelse:XPP[1]=X+DIST*DRXSYPP[1]=Y+DIST*DRYSZPP[1]=Z+DIST*DRZSXPP[2]=XPP[1]YPP[2]=YPP[1]ZPP[2]=ZPP[1]TTP=TSUM+DIST/VVDRCOS(DRXS,DRYS,DRZS,THET1,PHI1,DRXX,DRYY,DRZZ)DRXPP[1]=DRXXDRYPP[1]=DRYYDRZPP[1]=DRZZDRCOS(DRXS,DRYS,DRZS,THET2,PHI2,DRXX,DRYY,DRZZ)DRXPP[2]=DRXXDRYPP[2]=DRYYDRZPP[2]=DRZZflag=200# PHOTOELECTRIC ABSORPTION# STORE ENERGY ISHELL KGASif(flag==100orflag==0):NVAC=NVAC+1if(NVAC>10):# ONLY ALLOW MAXIMUM OF 10 PRIMARY INTERACTIONSGOTO123()sys.exit()# endifNPHOT=NPHOT+1# ECMP= TOTAL ENERGY= EGAMMA = ELECTRON KINETIC ENERGY+ VACANCY ENERGYECMP[NVAC]=ENERGYICSHELL[NVAC]=ISHELLXCPOS[NVAC]=X+DIST*DRXSYCPOS[NVAC]=Y+DIST*DRYSZCPOS[NVAC]=Z+DIST*DRZSTT[NVAC]=TSUM+DIST/VVKCGAS[NVAC]=KGASLCGAS[NVAC]=LGAS# FOR PE EFFECT STORE PHOTON INCIDENT ANGLEECDRX[NVAC]=DRXSECDRY[NVAC]=DRYSECDRZ[NVAC]=DRZS# LOOP OVER SHELL VACANCIESif(flag==200orflag==0):# STORE NUMBER AND TYPE OF PRIMARY INTERACTIONSMSUM1=NTOTIMCOMP1=NCOMPMRAYL1=NRAYLMPAIR1=NPAIRMPHOT1=NPHOTMVAC1=NVAC# LOOP OVER SHELL INTERACTIONS# IF(IDBG == 1) :# WRITE(6,54) NVAC# 54 print(' NVAC=',I3)# for 6 in range(M1=1,NVAC):# WRITE(6,55) M1, (ESTORE(M1,K1),K1=1,28)# 55 print(' M1=',I3,/,' ESTORE(M1,K)=',4(7'%.4f' % ,/))# 56 CONTINUE# for 8 in range(M1=1,NVAC):# WRITE(6,57) (EPHOTON(M1,K1),K1=1,28)# 57 print(' EPHOTON=',4(7'%.4f' % ,/))# 58 CONTINUE # # endIFforKinrange(1,NVAC):CONTROLB(IDBG,K)# COMPRESS AUGER AND FLUORESCENCE DATA INTO BLOCKSCOMPRESS(IDBG,ENSUM)# CATCH DROPPED KSHELL FLUORESCENCEif(abs(ENSUM-EGAMMA)>2200.):DIF=ENSUM-EGAMMAif(IDBG==1):print('\n Dif=','%.6f'%DIF,' J11=',J11,'\n')GOTO5()# endif# ADD PAIR DATA AND LOAD INTO COMMON/CASRSB/CASRESB()GOTO2()GOTO123()GOTO5()return# end
SUBROUTINEBREMSCASC(J11,EGAMMA,X0,Y0,Z0,T0,GDCX,GDCY,GDCZ,ILOW)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*6SCR(17),SCR1(17)COMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/COMPTOUT/EGAM,EELEC,THETAG,THETAECOMMON/PRIM4/MSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1COMMON/GENCAS/ELEV(17,79),NSDEG(17),AA(17),BB(17),SCR,SCR1COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)COMMON/CALCASB/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),/DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),/DRZ(10,28)COMMON/CALCAS1B/IONSUM1(10),IFLSUM1(10),ESTOR1(10,28),/EPHOTG1(10,28),DRXE1(10,28),DRYE1(10,28),DRZE1(10,28),DRX1(10,28),/DRY1(10,28),DRZ1(10,28)COMMON/CALCAS2B/IONSUM2(10),IFLSUM2(10),ESTOR2(10,28),/EPHOTG2(10,28),DRXE2(10,28),DRYE2(10,28),DRZE2(10,28),DRX2(10,28),/DRY2(10,28),DRZ2(10,28)COMMON/CALCAS3B/IONSUM3(10),IFLSUM3(10),ESTOR3(10,28),/EPHOTG3(10,28),DRXE3(10,28),DRYE3(10,28),DRZE3(10,28),DRX3(10,28),/DRY3(10,28),DRZ3(10,28)COMMON/CALCAS4B/IONSUM4(10),IFLSUM4(10),ESTOR4(10,28),/EPHOTG4(10,28),DRXE4(10,28),DRYE4(10,28),DRZE4(10,28),DRX4(10,28),/DRY4(10,28),DRZ4(10,28)COMMON/CALCAS5B/IONSUM5(10),IFLSUM5(10),ESTOR5(10,28),/EPHOTG5(10,28),DRXE5(10,28),DRYE5(10,28),DRZE5(10,28),DRX5(10,28),/DRY5(10,28),DRZ5(10,28)COMMON/RESB/IONSM(10),IFLSM(10),ESTOR(10,28),EPHOT(10,28),/X10(10,28),Y10(10,28),Z10(10,28),DRX01(10,28),DRY01(10,28),/DRZ01(10,28)COMMON/GENB1/IONF1(10),ESTF1(10,28),X11(10,28),Y11(10,28),/Z11(10,28),DRX11(10,28),DRY11(10,28),DRZ11(10,28)COMMON/GENB2/IONF2(10),ESTF2(10,28),X21(10,28),Y21(10,28),/Z21(10,28),DRX21(10,28),DRY21(10,28),DRZ21(10,28)COMMON/GENB3/IONF3(10),ESTF3(10,15),X31(10,15),Y31(10,15),/Z31(10,15),DRX31(10,15),DRY31(10,15),DRZ31(10,15)COMMON/GENB4/IONF4(10),ESTF4(10,12),X41(10,12),Y41(10,12),/Z41(10,12),DRX41(10,12),DRY41(10,12),DRZ41(10,12)COMMON/GENB5/IONF5(10),ESTF5(10,5),X51(10,5),Y51(10,5),/Z51(10,5),DRX51(10,5),DRY51(10,5),DRZ51(10,5)COMMON/COUTE/ECMP(10),ECDRX(10),ECDRY(10),ECDRZ(10),XCPOS(10),/YCPOS(10),ZCPOS(10),KCGAS(10),LCGAS(10),ICSHELL(10)COMMON/COUTTB/TT(10),TTPCOMMON/PPSTRB/NPTP,EPPST(2),XPP(2),YPP(2),ZPP(2),/DRXPP(2),DRYPP(2),DRZPP(2)C----------------------------------------------------------------------CBREMSSTRAHLUNGCASCADETREE:CSETORZEROSOMEVARIABLESCCREATEINTERACTIONTREEFORPECOMPTONRAYLEIGHANDPAIRPRODUCTIONCSTOREELECTRONENERGYDIRECTIONCOSINESANDPOSITIONWITHSHELLCLEVELANDGASIDENTITYINCOMMON/COUT/FOREACHCOMPTONANDPEEVENTCSTOREPAIRPRODUCTIONELECTRONANDPOSITRONDATAINCOMMON/PPSTR/CSTOREFINALCASCADERESULTSINCOMMON/CASRSB/C----------------------------------------------------------------------API=DACOS(-1.0D0)TWOPI=2.0D0*APIIDBG=0CIF(J11.EQ.2)IDBG=15ILOW=0CUSEVELOCITYINMETRES/PICOSECONDSVV=2.99792458D-4CLFIX=0CALLOWFLUORESCENCECALCULATION123ICONPH=1CPHOTONORIGINX=X0Y=Y0Z=Z0TSUM=T0CLOADINITIALDIRECTIONCOSINESBEFOREINTERACTIONDRXS=GDCXDRYS=GDCYDRZS=GDCZCINITIALENERGYENERGY=EGAMMACCZEROSOMEARRAYSEPPST(1)=0.0D0EPPST(2)=0.0D0DO11K=1,10DO1J=1,28EPHOTON(K,J)=0.0EPHOTG1(K,J)=0.0EPHOTG2(K,J)=0.0EPHOTG3(K,J)=0.0EPHOTG4(K,J)=0.0EPHOTG5(K,J)=0.0ESTORE(K,J)=0.0ESTOR1(K,J)=0.0ESTOR2(K,J)=0.0ESTOR3(K,J)=0.0ESTOR4(K,J)=0.0ESTOR5(K,J)=0.0ESTOR(K,J)=0.0ESTF1(K,J)=0.0ESTF2(K,J)=0.01CONTINUEDO120J=1,15120ESTF3(K,J)=0.0DO121J=1,12121ESTF4(K,J)=0.0DO122J=1,5122ESTF5(K,J)=0.0IFLSUM(K)=0IFLSUM1(K)=0IFLSUM2(K)=0IFLSUM3(K)=0IFLSUM4(K)=0IFLSUM5(K)=0IONSUM(K)=0IONSUM1(K)=0IONSUM2(K)=0IONSUM3(K)=0IONSUM4(K)=0IONSUM5(K)=0IONSM(K)=0IONF1(K)=0IONF2(K)=0IONF3(K)=0IONF4(K)=0IONF5(K)=0KCGAS(K)=0LCGAS(K)=0ICSHELL(K)=0ECMP(K)=0.011CONTINUENCOMP=0NRAYL=0NPAIR=0NPHOT=0NVAC=0NPTP=0CIFIRST=1ISECOND=22NTOTI=NCOMP+NRAYL+NPAIR+NPHOTCPHOTONSCALLABSO(IFIRST,ENERGY,ISHELL,KGAS,LGAS,DIST)CIF(IDBG.EQ.1)THENCWRITE(6,888)ENERGY,ISHELL,J11C888FORMAT(' AFTER ABSO ENERGY=',D12.5,' ISHELL=',I3,' EVENT NO=',I4)CENDIFIF(ISHELL.EQ.-1)THENCBREMSSTRAHLUNGGAMMATOOLOWINENERGYTOIONISEILOW=1RETURNENDIFCCCREATEINTERACTIONTREEIF(LPEFLG.EQ.1)GOTO100IF(LCFLG.EQ.1)GOTO10IF(LRFLG.EQ.1)GOTO20IF(LPFLG.EQ.1)GOTO30CCOMPTONSCATTERING10CALLCOMPTON(KGAS,LGAS,ENERGY)NCOMP=NCOMP+1NVAC=NVAC+1IF(NVAC.GT.10)THENCMAXIMUMOF10PRIMARYINTERACTIONSCNJHIGH=NJHIGH+1GOTO123ENDIFcRANDOMISEANGLEPHIR3=drand48(RDUM)PHI=TWOPI*R3CCALCULATECOMPTONELECTRONDIRECTIONCOSINESUSINGTHETAEANDPHICALLDRCOS(DRXS,DRYS,DRZS,THETAE,PHI,DRXX,DRYY,DRZZ)CFORCOMPTONEFFECTSTOREELECTRONDIRECTIONCOSINESECDRX(NVAC)=DRXXECDRY(NVAC)=DRYYECDRZ(NVAC)=DRZZCCALCULATEWHICHSHELLHASVACANCYFROMCOMPTONEVENTCALLCVAC(KGAS,LGAS,EELEC,KSHELL,KBAD)CREJECTEVENTWITHOUTSUFFICIENTENERGYTOIONISESHELLSIF(KBAD.EQ.1)GOTO123CSTOREELECTRONENERGYSHELLVACANCYISHELLKGASLGASPOSITIONECMP(NVAC)=EELECICSHELL(NVAC)=KSHELLKCGAS(NVAC)=KGASLCGAS(NVAC)=LGASCINTERACTIONPOSITIONSXCPOS(NVAC)=X+DIST*DRXSYCPOS(NVAC)=Y+DIST*DRYSZCPOS(NVAC)=Z+DIST*DRZSTT(NVAC)=TSUM+DIST/VVCUPDATEPHOTONSTARTINGENERGYPOSITIONANDANGLESENERGY=EGAMX=XCPOS(NVAC)Y=YCPOS(NVAC)Z=ZCPOS(NVAC)PHIG=PHI+APIIF(PHIG.GE.TWOPI)PHIG=PHI-APICALLDRCOS(DRXS,DRYS,DRZS,THETAG,PHIG,DRXX,DRYY,DRZZ)CNEWDIRECTIONCOSINESDRXS=DRXXDRYS=DRYYDRZS=DRZZCLOOPBACKGOTO2CRAYLEIGHSCATTERING20CALLRAYLEIGH(KGAS,LGAS,ENERGY,THETAR)NRAYL=NRAYL+1CCALCULATEENERGYLOSSINRAYLEIGHSCATTERINGCALLRAYLOS(KGAS,LGAS,ENERGY,THETAR,ELRAY)CIF(IDBG.EQ.1)WRITE(6,776)ENERGY,ELRAYC776FORMAT(' AFTER RAYLOS ENERGY=',D12.4,' ELRAY=',D12.4)CUPDATEX-RAYSTARTINGENERGYPOSITIONANDANGLESENERGY=ENERGY-ELRAYX=X+DIST*DRXSY=Y+DIST*DRYSZ=Z+DIST*DRZSTSUM=TSUM+DIST/VVcRANDOMISEANGLEPHIR3=drand48(RDUM)PHIR=TWOPI*R3CALLDRCOS(DRXS,DRYS,DRZS,THETAR,PHIR,DRXX,DRYY,DRZZ)DRXS=DRXXDRYS=DRYYDRZS=DRZZCLOOPBACKGOTO2CPAIRPRODUCTION30CALLPAIR(KGAS,LGAS,ENERGY,E1,E2,THET1,PHI1,THET2,PHI2)NPAIR=NPAIR+1IF(NPAIR.GT.2)THENWRITE(6,991)NPAIR,J11991FORMAT(' ERROR NPAIR GT 2 =',I6,' IN BREMSCASC EVENT NO =',I6)STOPENDIFNPTP=NPAIRCSTOREELECTRONANDPOSITRONENERGYPOSITIONANDANGLESEPPST(1)=E1EPPST(2)=E2IF(NVAC.EQ.0)THENCFIRSTINTERACTIONISPAIRPRODUCTIONXPP(1)=XYPP(1)=YZPP(1)=ZXPP(2)=XYPP(2)=YZPP(2)=ZTTP=TSUMGOTO40ENDIFXPP(1)=X+DIST*DRXSYPP(1)=Y+DIST*DRYSZPP(1)=Z+DIST*DRZSXPP(2)=XPP(1)YPP(2)=YPP(1)ZPP(2)=ZPP(1)TTP=TSUM+DIST/VV40CALLDRCOS(DRXS,DRYS,DRZS,THET1,PHI1,DRXX,DRYY,DRZZ)DRXPP(1)=DRXXDRYPP(1)=DRYYDRZPP(1)=DRZZCALLDRCOS(DRXS,DRYS,DRZS,THET2,PHI2,DRXX,DRYY,DRZZ)DRXPP(2)=DRXXDRYPP(2)=DRYYDRZPP(2)=DRZZGOTO200CPHOTOELECTRICABSORPTIONCSTOREENERGYISHELLKGAS100NVAC=NVAC+1IF(NVAC.GT.10)THENCONLYALLOWMAXIMUMOF10PRIMARYINTERACTIONSGOTO123STOPENDIFNPHOT=NPHOT+1CECMP=TOTALENERGY=EGAMMA=ELECTRONKINETICENERGY+VACANCYENERGYECMP(NVAC)=ENERGYICSHELL(NVAC)=ISHELLXCPOS(NVAC)=X+DIST*DRXSYCPOS(NVAC)=Y+DIST*DRYSZCPOS(NVAC)=Z+DIST*DRZSTT(NVAC)=TSUM+DIST/VVKCGAS(NVAC)=KGASLCGAS(NVAC)=LGASCFORPEEFFECTSTOREPHOTONINCIDENTANGLEECDRX(NVAC)=DRXSECDRY(NVAC)=DRYSECDRZ(NVAC)=DRZSCLOOPOVERSHELLVACANCIES200CONTINUECSTORENUMBERANDTYPEOFPRIMARYINTERACTIONSMSUM1=NTOTIMCOMP1=NCOMPMRAYL1=NRAYLMPAIR1=NPAIRMPHOT1=NPHOTMVAC1=NVACCLOOPOVERSHELLINTERACTIONSCIF(IDBG.EQ.1)THENCWRITE(6,54)NVACC54FORMAT(' NVAC=',I3)CDO56M1=1,NVACCWRITE(6,55)M1,(ESTORE(M1,K1),K1=1,28)C55FORMAT(' M1=',I3,/,' ESTORE(M1,K)=',4(7D12.4,/))C56CONTINUECDO58M1=1,NVACCWRITE(6,57)(EPHOTON(M1,K1),K1=1,28)C57FORMAT(' EPHOTON=',4(7D12.4,/))C58CONTINUECENDIFDO900K=1,NVACCALLCONTROLB(IDBG,K)900CONTINUECCOMPRESSAUGERANDFLUORESCENCEDATAINTOBLOCKSCALLCOMPRESS(IDBG,ENSUM)CCATCHDROPPEDKSHELLFLUORESCENCEIF(DABS(ENSUM-EGAMMA).GT.2200.)THENDIF=ENSUM-EGAMMAIF(IDBG.EQ.1)WRITE(6,945)DIF,J11945FORMAT(/,' DIF=',D14.6,' J11=',I5,/)GOTO5ENDIFCADDPAIRDATAANDLOADINTOCOMMON/CASRSB/CALLCASRESBRETURNEND
CONTROLB()
Calculates Auger and Fluorescence cascade for vacancy in ICSHELL
Calculates Cascade events
Arguments
Argument
Description
IDBG
NVAC
Pseudo-Code
defCONTROLB(IDBG,NVAC):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# CHARACTER*6 SCR(17),SCR1(17)# COMMON/INPT2/KGAS,LGAS,DETEFF,EXCWGHT# COMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG# COMMON/GENCAS/ELEV[17,79],NSDEG(17),AA[17],BB[17],SCR,SCR1# COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),RAD[6,3,17,17],PRSHBT(6,3,17),IZ[6,3],INIOCC(6,3,17),ISHLMX(6,3),AMZ[6,3]# COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)# COMMON/CALCASB/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/CALCAS1B/IONSUM1(10),IFLSUM1(10),ESTOR1(10,28),EPHOTG1(10,28),DRXE1(10,28),DRYE1(10,28),DRZE1(10,28),DRX1(10,28),DRY1(10,28),DRZ1(10,28)# COMMON/CALCAS2B/IONSUM2(10),IFLSUM2(10),ESTOR2(10,28),EPHOTG2(10,28),DRXE2(10,28),DRYE2(10,28),DRZE2(10,28),DRX2(10,28),DRY2(10,28),DRZ2(10,28)# COMMON/CALCAS3B/IONSUM3(10),IFLSUM3(10),ESTOR3(10,28),EPHOTG3(10,28),DRXE3(10,28),DRYE3(10,28),DRZE3(10,28),DRX3(10,28),DRY3(10,28),DRZ3(10,28)# COMMON/CALCAS4B/IONSUM4(10),IFLSUM4(10),ESTOR4(10,28),EPHOTG4(10,28),DRXE4(10,28),DRYE4(10,28),DRZE4(10,28),DRX4(10,28),DRY4(10,28),DRZ4(10,28)# COMMON/CALCAS5B/IONSUM5(10),IFLSUM5(10),ESTOR5(10,28),EPHOTG5(10,28),DRXE5(10,28),DRYE5(10,28),DRZE5(10,28),DRX5(10,28),DRY5(10,28),DRZ5(10,28)# COMMON/COUTE/ECMP(10),ECDRX(10),ECDRY(10),ECDRZ[10],XCPOS(10),YCPOS(10),ZCPOS(10),KCGAS(10),LCGAS(10),ICSHELL(10)##COMMON/COMP/globalLCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG#COMMON/GENCAS/globalELEV#(17,79)globalNSDEG#(17)globalAA#(17)globalBB#(17)globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#(6,3,17,17)globalPRSHBT#(6,3,17)globalIZ#(6,3)globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#(6,3)#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCASB/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#(10,28)#COMMON/CALCAS1B/globalIONSUM1#(10)globalIFLSUM1#(10)globalESTOR1#(10,28)globalEPHOTG1#(10,28)globalDRXE1#(10,28)globalDRYE1#(10,28)globalDRZE1#(10,28)globalDRX1#(10,28)globalDRY1#(10,28)globalDRZ1#(10,28)#COMMON/CALCAS2B/globalIONSUM2#(10)globalIFLSUM2#(10)globalESTOR2#(10,28)globalEPHOTG2#(10,28)globalDRXE2#(10,28)globalDRYE2#(10,28)globalDRZE2#(10,28)globalDRX2#(10,28)globalDRY2#(10,28)globalDRZ2#(10,28)#COMMON/CALCAS3B/globalIONSUM3#(10)globalIFLSUM3#(10)globalESTOR3#(10,28)globalEPHOTG3#(10,28)globalDRXE3#(10,28)globalDRYE3#(10,28)globalDRZE3#(10,28)globalDRX3#(10,28)globalDRY3#(10,28)globalDRZ3#(10,28)#COMMON/CALCAS4B/globalIONSUM4#(10)globalIFLSUM4#(10)globalESTOR4#(10,28)globalEPHOTG4#(10,28)globalDRXE4#(10,28)globalDRYE4#(10,28)globalDRZE4#(10,28)globalDRX4#(10,28)globalDRY4#(10,28)globalDRZ4#(10,28)#COMMON/CALCAS5B/globalIONSUM5#(10)globalIFLSUM5#(10)globalESTOR5#(10,28)globalEPHOTG5#(10,28)globalDRXE5#(10,28)globalDRYE5#(10,28)globalDRZE5#(10,28)globalDRX5#(10,28)globalDRY5#(10,28)globalDRZ5#(10,28)#COMMON/COUTE/globalECMP#(10)globalECDRX#(10)globalECDRY#(10)globalECDRZ#(10)globalXCPOS#(10)globalYCPOS#(10)globalZCPOS#(10)globalKCGAS#(10)globalLCGAS#(10)globalICSHELL#(10)# CALCULATES AUGER AND FLUORESCENCE CASCADE FOR VACANCY IN ICSHELL#IFIRST=1ISECOND=2ICONPH=1X0=XCPOS[NVAC]Y0=YCPOS[NVAC]Z0=ZCPOS[NVAC]DRXE[NVAC][1]=ECDRX[NVAC]DRYE[NVAC][1]=ECDRY[NVAC]DRZE[NVAC][1]=ECDRZ[NVAC]KDUM=KCGAS[NVAC]LDUM=LCGAS[NVAC]EDUM=ECMP[NVAC]IDUM=ICSHELL[NVAC]# # CALCULATE CASCADE EVENTCALCB(NVAC,KDUM,LDUM,EDUM,IDUM)# IF(IDBG == 1) :# DO 67 M1=1,NVAC# WRITE(6,66) EDUM,M1,(ESTORE(M1,KK),KK=1,28)# 66 print(' IN CONTROLB EDUM=','%.4f' % ,' M1=',I3,/,' ESTORE(M1,K)=',# /4(7'%.4f' % ,/))# 67 CONTINUE# WRITE(6,68) (IFLSUM(KK),KK=1,10)# 68 print(' IFLSUM=',10I4)# DO 70 M1=1,NVAC# WRITE(6,69) (EPHOTON(M1,KK),KK=1,28)# 69 print(' EPHOTON=',4(7'%.4f' % ,/))# 70 CONTINUE #C # endIF# STORE EVENT # Z0=DISTCASSTOREB(NVAC,X0,Y0,Z0)# IF INCLUDE PHOTOABSORPTION OF FLUORESENCE : if(ICONPH==1):if(IFLSUM[NVAC]==0):# ZERO COUNTERL1=0CSSTFB1(NVAC,L1,DIST1)pass# endif# LOOP AROUND FIRST GEN FLUORESCENCEelse:IFLLOW=0IFL1=IFLSUM[NVAC]forL1inrange(1,IFL1):EPH=EPHOTON[NVAC][L1]## CALC ABSORPTION POSITION X1,Y1,Z1 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL1 IN GAS KGAS1 COMPONENT LGAS1 ABSO(ISECOND,EPH,ISHELL1,KGAS1,LGAS1,DIST1)# IF(IDBG == 1) :# WRITE(6,72) EPH,ISHELL1# 72 print('IN CONTROLB EPH=','%.4f' % ,' ISHELL1=',I4)# # endIF# LOW ENERGY PHOTONif(ISHELL1==-1):IFLSUM[NVAC]=IFLSUM[NVAC]-1pass# endif## CALCULATE CASCADE IN GAS # IF(IDBG == 1) :# WRITE(6,445) L1,ISHELL1,EPH# 445 print(' CALLING CALCB1 L1=',I3,' ISHELL1=',I3,' EPH=','%.4f' % )# # endIFelse:CALCB1(NVAC,KGAS1,LGAS1,EPH,ISHELL1,L1)# STORE EVENTCSSTFB1(NVAC,L1,DIST1)# # SECOND GENERATION FLUORESCENCEif(IFLSUM1[NVAC]==0):# ZERO COUNTERL2=0CSSTFB2(NVAC,L2,DIST)pass# endif else:# LOOP AROUND SECOND GEN FLUORESCENCEIFL2=IFLSUM1[NVAC]forL2inrange(1,IFL2):EPH=EPHOTG1(NVAC,L2)## CALC ABSORPTION POSITION X2,Y2,Z2 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL2 IN GAS KGAS2 COMPONENT LGAS2ABSO(ISECOND,EPH,ISHELL2,KGAS2,LGAS2,DIST2)# LOW ENERGY PHOTONif(ISHELL2==-1):pass## CALCULATE CASCADE IN GAS else:CALCB2(NVAC,KGAS2,LGAS2,EPH,ISHELL2,L2)# STORE EVENTCSSTFB2(NVAC,L2,DIST2)# # THIRD GENERATION FLUORESCENCEif(IFLSUM2[NVAC]==0):# ZERO COUNTERL3=0CSSTFB3(NVAC,L3,DIST)pass# endif# LOOP AROUND THIRD GEN FLUORESCENCEelse:IFL3=IFLSUM2[NVAC]forL3inrange(1,IFL3):EPH=EPHOTG2[NVAC][L3]## CALC ABSORPTION POSITION X3,Y3,Z3 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL3 IN GAS KGAS3 COMPONENT LGAS3ABSO(ISECOND,EPH,ISHELL3,KGAS3,LGAS3,DIST3)# LOW ENERGY PHOTONif(ISHELL3==-1):pass## CALCULATE CASCADE IN GAS else:CALCB3(NVAC,KGAS3,LGAS3,EPH,ISHELL3,L3)# STORE EVENTCSSTFB3(NVAC,L3,DIST3)# # FOURTH GENERATION FLUORESCENCEif(IFLSUM3[NVAC]==0):# ZERO COUNTERL4=0CSSTFB4(NVAC,L4,DIST)pass# endif# LOOP AROUND FOURTH GEN FLUORESCENCEelse:IFL4=IFLSUM3[NVAC]forL4inrange(1,IFL4):EPH=EPHOTG3[NVAC][L4]## CALC ABSORPTION POSITION X4,Y4,Z4 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL4 IN GAS KGAS4 COMPONENT LGAS4ABSO(ISECOND,EPH,ISHELL4,KGAS4,LGAS4,DIST4)# LOW ENERGY PHOTONif(ISHELL4==-1):passelse:## CALCULATE CASCADE IN GAS CALCB4(NVAC,KGAS4,LGAS4,EPH,ISHELL4,L4)# STORE EVENTCSSTFB4(NVAC,L4,DIST4)# # FIFTH GENERATION FLUORESCENCEif(IFLSUM4[NVAC]==0):# ZERO COUNTERL5=0CSSTFB5(NVAC,L5,DIST)pass# endif# LOOP AROUND FIFTH GEN FLUORESCENCEelse:IFL5=IFLSUM5[NVAC]forL5inrange(1,IFL5):EPH=EPHOTG4[NVAC][L5]## CALC ABSORPTION POSITION X5,Y5,Z5 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL5 IN GAS KGAS5 COMPONENT LGAS5ABSO(ISECOND,EPH,ISHELL5,KGAS5,LGAS5,DIST5)# LOW ENERGY PHOTONif(ISHELL5==-1):passelse:## CALCULATE CASCADE IN GAS CALCB5(NVAC,KGAS5,LGAS5,EPH,ISHELL5,L5)# STORE EVENTCSSTFB5(NVAC,L5,DIST5)if(IFLSUM5[NVAC]>=1):print(' WARNING SIXTH GENERATION EXISTS IFLSUM5=',IFLSUM5)# endif# 10 CONTINUE# IF(IDBG == 1) :# DO 666 KKK=1,NVAC# WRITE(6,777) (ESTORE(KKK,K),K=1,28)# 777 print(' ESTORE=',4(7'%.4f' % ,/))# WRITE(6,778) (ESTOR1(KKK,K),K=1,28)# 778 print(' ESTOR1=',4(7'%.4f' % ,/))# WRITE(6,779) IONSUM(KKK),IONSUM1(KKK),IONSUM2(KKK),IONSUM3(KKK),# /IONSUM4(KKK),IONSUM5(KKK)# 779 print(' IONSUM 0-5=',6I4)# WRITE(6,780) IFLSUM(KKK),IFLSUM1(KKK),IFLSUM2(KKK),IFLSUM3(KKK),# /IFLSUM4(KKK),IFLSUM5(KKK)# 780 print(' IFLSUM 0-5=',6I4)# 666 CONTINUE# # endIFreturn# end
Calculate cascade in gas KGAS and molecular component LGAS with initial energy deposit elecen and shell vacancy created at ISHELL.
Arguments
Argument
Description
NVAC
KGAS
LGAS
ELECEN
ISHELL
Pseudo-Code
Variable
Description
DRX
DRY
Initial Photon Direction
DRZ
importnumpydefCALCB(NVAC,KGAS,LGAS,ELECEN,ISHELL):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# CHARACTER*6 SCR(17),SCR1(17)# COMMON/PRIM4/MSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1# COMMON/GENCAS/ELEV[17,79],NSDEG(17),AA[17],BB[17],SCR,SCR1# COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),RAD[6,3,17,17],PRSHBT(6,3,17),IZ[6,3],INIOCC(6,3,17),ISHLMX(6,3),AMZ[6,3]# COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)# COMMON/CALCASB/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]#COMMON/PRIM4/globalMSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCASB/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#DIMENSION TEMP=numpy.zeros((17+1))TEMP1=numpy.zeros((289+1))## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL## INITIAL PHOTON DIRECTION DRX, DRY AND DRZDRXINIT=DRXE[NVAC][1]DRYINIT=DRYE[NVAC][1]DRZINIT=DRZE[NVAC][1]ISHELLST=ISHELLdefGOTO100():ELEFT=ELECENISHELL=ISHELLSTAPI=numpy.arccos(-1.00)TWOPI=2.00*APIISECOND=1IFIRST=0# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]# PHOTONSIONSUM[NVAC]=1IFLSUM[NVAC]=0# STORE INITIAL PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][1]=ELECEN-ELEV[ISHELL,IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][1]ELEFT=ELEFT-ESTORE[NVAC][1]NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# ENTRY FOR COMPTON ELECTRON.....if(NVAC<=MCOMP1):# IF COMPTON EVENT ELECTRON ANGLE FROM COMPTON (ALREADY STORED)pass# endifelse:# USE PHOTOELCTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3# INITIAL PHOTON DIRECTION DRXINIT, DRYINIT AND DRZINITDRCOS(DRXINIT,DRYINIT,DRZINIT,THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][1]=DRXXDRYE[NVAC][1]=DRYYDRZE[NVAC][1]=DRZZdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFICON=1IFIRST=IFIRST+1if(IFIRST>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,ICON,IFIRST,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):GOTO2()if(IFIRST==1):# INITIAL ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]# PRIMARY ELECTRONESTORE[NVAC][IONSUM[NVAC]]=ELECN# endifif(IFIRST!=1):ESTORE[NVAC][IONSUM[NVAC]]=ESTORE[NVAC][IONSUM[NVAC]]-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]# endifIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):#WRITE(6,99) IONSUM[NVAC] #errorprint(' WARNING ION CHARGE LIMITED TO 28+ IN THIS VERSION')sys.exit()# endif# SHAKE ELECTRONESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R3=DRAND48(RDUM)PHI=TWOPI*R3DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND ANGLE : UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL,IZ[KGAS][LGAS]]-ELEV[I,IZ[KGAS][LGAS]]ELEFT=ELEFT-abs(EPHOTON[NVAC][IFLSUM[NVAC]])if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R3=DRAND48(RDUM)PHI=TWOPI*R3# CALC DIRECTION COSINES OF FLUORESCENCEDRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)# NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()flag116=1while(flag116):flag116=0R2=R1-TEMP(17)forJinrange(1,17):if(flag116==1):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL,IZ[KGAS][LGAS]]-(ELEV[I,IZ[KGAS][LGAS]]+ELEV[I,IZ[KGAS][LGAS]+1])*0.5-(ELEV[J,IZ[KGAS][LGAS]]+ELEV[J,IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONSflag117=1while(flag117):flag117=0R1=DRAND48(RDUM)if(R1<TEMP(17)):flag117=1flag116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' IONSUM LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC],' IN CALCB')sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-abs(ETEMP)if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R3=DRAND48(RDUM)PHI=TWOPI*R3DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()GOTO4()# endifGOTO100()print(' ERROR IN CASCADE 0 def CALCB')sys.exit()# end
SUBROUTINECALCB(NVAC,KGAS,LGAS,ELECEN,ISHELL)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*6SCR(17),SCR1(17)COMMON/PRIM4/MSUM1,MCOMP1,MRAYL1,MPAIR1,MPHOT1,MVAC1COMMON/GENCAS/ELEV(17,79),NSDEG(17),AA(17),BB(17),SCR,SCR1COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)COMMON/CALCASB/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),/DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),/DRZ(10,28)DIMENSIONTEMP(17),TEMP1(289)CCCALCULATECASCADEINGASKGASANDMOLECULARCOMPONENTLGASCWITHINTIALENERGYDEPOSITELECENANDSHELLVACANCYCREATEDATISHELLCCINITIALPHOTONDIRECTIONDRX,DRYANDDRZDRXINIT=DRXE(NVAC,1)DRYINIT=DRYE(NVAC,1)DRZINIT=DRZE(NVAC,1)ISHELLST=ISHELL100ELEFT=ELECENISHELL=ISHELLSTAPI=DACOS(-1.0D0)TWOPI=2.0D0*APIISECOND=1IFIRST=0CSETSTARTINGARRAYNOCCEQUALTOINIOCCDO1I=1,17NOCC(KGAS,LGAS,I)=INIOCC(KGAS,LGAS,I)1CONTINUECPHOTONSIONSUM(NVAC)=1IFLSUM(NVAC)=0CSTOREINITIALPHOTOELECTRONENERGYANDANGLEESTORE(NVAC,1)=ELECEN-ELEV(ISHELL,IZ(KGAS,LGAS))ELECN=ESTORE(NVAC,1)ELEFT=ELEFT-ESTORE(NVAC,1)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)-1CENTRYFORCOMPTONELECTRON.....IF(NVAC.LE.MCOMP1)THENCIFCOMPTONEVENTELECTRONANGLEFROMCOMPTON(ALREADYSTORED)GOTO4ENDIFCUSEPHOTOELCTRONANGULARDISTRIBUTIONAPE=AA(ISHELL)BPE=BB(ISHELL)CALLANGGEN(APE,BPE,THET)IF(THET.LT.0.0)THET=THET+APIR3=drand48(RDUM)PHI=TWOPI*R3CINITIALPHOTONDIRECTIONDRXINIT,DRYINITANDDRZINITCALLDRCOS(DRXINIT,DRYINIT,DRZINIT,THET,PHI,DRXX,DRYY,DRZZ)DRXE(NVAC,1)=DRXXDRYE(NVAC,1)=DRYYDRZE(NVAC,1)=DRZZ4CONTINUECCHECKFORELECTRONSHAKEOFFICON=1IFIRST=IFIRST+1IF(IFIRST.GT.1)ELECN=ESTORE(NVAC,IONSUM(NVAC))CALLSHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,ICON,IFIRST,JVAC)CCALCULATEENERGYOFELECTRONIF(JVAC.EQ.0)GOTO2IF(IFIRST.EQ.1)THENCINITIALELECTRON+SHAKEOFFELECN=ELECN-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))CPRIMARYELECTRONESTORE(NVAC,IONSUM(NVAC))=ELECNENDIFIF(IFIRST.NE.1)THENESTORE(NVAC,IONSUM(NVAC))=ESTORE(NVAC,IONSUM(NVAC))-ESHK-/ELEV(JVAC,IZ(KGAS,LGAS))ENDIFIONSUM(NVAC)=IONSUM(NVAC)+1CMAXIMUMIONCHARGESTATE=28IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)99FORMAT(' WARNING ION CHARGE LIMITED TO 28+ IN THIS VERSION')STOPENDIFCSHAKEELECTRONESTORE(NVAC,IONSUM(NVAC))=ESHKELEFT=ELEFT-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R3=drand48(RDUM)PHI=TWOPI*R3DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)2CONTINUECALLUPDATE(KGAS,LGAS,ISHELL)CCHOOSEFLUORESCENCEORAUGERTRANSITIONTSUM=0.0DO10I=1,17TSUM=TSUM+RADR(KGAS,LGAS,ISHELL,I)DO10J=1,17TSUM=TSUM+AUGR(KGAS,LGAS,ISHELL,I,J)10CONTINUECNOMORETRANSITIONSPOSSIBLEIF(TSUM.EQ.0.0)RETURNCNORMALISETO1.0DO11I=1,17RADR(KGAS,LGAS,ISHELL,I)=RADR(KGAS,LGAS,ISHELL,I)/TSUMDO11J=1,17AUGR(KGAS,LGAS,ISHELL,I,J)=AUGR(KGAS,LGAS,ISHELL,I,J)/TSUM11CONTINUECCREATECUMULATIVESUMARRAYTEMP(1)=RADR(KGAS,LGAS,ISHELL,1)DO12I=2,17TEMP(I)=RADR(KGAS,LGAS,ISHELL,I)+TEMP(I-1)12CONTINUETEMP1(1)=AUGR(KGAS,LGAS,ISHELL,1,1)DO13I=2,17TEMP1(I)=AUGR(KGAS,LGAS,ISHELL,I,1)+TEMP1(I-1)13CONTINUEDO14J=1,16DO14I=1,17TEMP1(I+(J*17))=AUGR(KGAS,LGAS,ISHELL,I,(J+1))+TEMP1(I+(J*17)-1)14CONTINUECFINDFLUORESCENCEORAUGERTRANSITIONR1=drand48(RDUM)DO16I=1,17IF(R1.LT.TEMP(I))THENCSTOREPHOTONENERGYANDANGLETHENUPDATENOCCIFLSUM(NVAC)=IFLSUM(NVAC)+1EPHOTON(NVAC,IFLSUM(NVAC))=ELEV(ISHELL,IZ(KGAS,LGAS))-/ELEV(I,IZ(KGAS,LGAS))ELEFT=ELEFT-DABS(EPHOTON(NVAC,IFLSUM(NVAC)))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R3=drand48(RDUM)PHI=TWOPI*R3CCALCDIRECTIONCOSINESOFFLUORESCENCEDRX(NVAC,IFLSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRY(NVAC,IFLSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZ(NVAC,IFLSUM(NVAC))=DCOS(THET)CNOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO2ENDIF16CONTINUE116CONTINUER2=R1-TEMP(17)DO27J=1,17DO27I=1,17IF(R2.LT.TEMP1(I+((J-1)*17)))THENCAUGERORCOSTERKRONIGCSTOREEJECTEDELECTRONANDUPDATENOCCETEMP=ELEV(ISHELL,IZ(KGAS,LGAS))-(ELEV(I,IZ(KGAS,LGAS))+/ELEV(I,IZ(KGAS,LGAS)+1))*0.5-/(ELEV(J,IZ(KGAS,LGAS))+ELEV(J,IZ(KGAS,LGAS)+1))*0.5IF(ETEMP.LT.0.0)THENCDONOTALLOWNEGATIVEENERGYTRANSITIONS117R1=drand48(RDUM)IF(R1.LT.TEMP(17))GOTO117GOTO116ENDIFIONSUM(NVAC)=IONSUM(NVAC)+1IF(IONSUM(NVAC).GT.28)THENWRITE(6,887)IONSUM(NVAC)887FORMAT(' IONSUM LIMITED TO 28 IN THIS VERSION IONSUM=',I3,/' IN CALCB')STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ETEMPELEFT=ELEFT-DABS(ETEMP)IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R3=drand48(RDUM)PHI=TWOPI*R3DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1NOCC(KGAS,LGAS,J)=NOCC(KGAS,LGAS,J)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO4ENDIF27CONTINUEWRITE(6,88)88FORMAT(' ERROR IN CASCADE 0 SUBROUTINE CALCB')STOPEND
CASCADEE()
Calcualte cascade from a vacancy =ISHELL in KGASLGAS
Energy of escape electron from vacancy=EINIT (needed for shake-off)
defCASCADEE(J11,KGAS,LGAS,X0,Y0,Z0,T0,EINIT,ISHELL):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# CHARACTER*6 SCR(17),SCR1(17)# COMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG# COMMON/GENCAS/ELEV[17,79],NSDEG(17),AA[17],BB[17],SCR,SCR1# COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),RAD[6,3,17,17],PRSHBT(6,3,17),IZ[6,3],INIOCC(6,3,17),ISHLMX(6,3),AMZ[6,3]# COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)# COMMON/CALCASE/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/CALCAS1E/IONSUM1(10),IFLSUM1(10),ESTOR1(10,28),EPHOTG1(10,28),DRXE1(10,28),DRYE1(10,28),DRZE1(10,28),DRX1(10,28),DRY1(10,28),DRZ1(10,28)# COMMON/CALCAS2E/IONSUM2(10),IFLSUM2(10),ESTOR2(10,28),EPHOTG2(10,28),DRXE2(10,28),DRYE2(10,28),DRZE2(10,28),DRX2(10,28),DRY2(10,28),DRZ2(10,28)# COMMON/CALCAS3E/IONSUM3(10),IFLSUM3(10),ESTOR3(10,28),EPHOTG3(10,28),DRXE3(10,28),DRYE3(10,28),DRZE3(10,28),DRX3(10,28),DRY3(10,28),DRZ3(10,28)# COMMON/CALCAS4E/IONSUM4(10),IFLSUM4(10),ESTOR4(10,28),EPHOTG4(10,28),DRXE4(10,28),DRYE4(10,28),DRZE4(10,28),DRX4(10,28),DRY4(10,28),DRZ4(10,28)# COMMON/CALCAS5E/IONSUM5(10),IFLSUM5(10),ESTOR5(10,28),EPHOTG5(10,28),DRXE5(10,28),DRYE5(10,28),DRZE5(10,28),DRX5(10,28),DRY5(10,28),DRZ5(10,28)# COMMON/RESE/IONSM(10),IFLSM(10),ESTOR(10,28),EPHOT(10,28),XN(10,28),YN(10,28),ZN(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28),TN(10,28)# COMMON/GENE1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),DRXS1(10,28),DRYS1(10,28),DRZS1(10,28),T1(10,28)# COMMON/GENE2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),DRXS2(10,28),DRYS2(10,28),DRZS2(10,28),T2(10,28)# COMMON/GENE3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),DRXS3(10,15),DRYS3(10,15),DRZS3(10,15),T3(10,15)# COMMON/GENE4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),DRXS4(10,12),DRYS4(10,12),DRZS4(10,12),T4(10,12)# COMMON/GENE5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),DRXS5(10,5),DRYS5(10,5),DRZS5(10,5),T5(10,5)#COMMON/COMP/globalLCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG#COMMON/GENCAS/globalELEV#(17,79)globalNSDEG#(17)globalAA#(17)globalBB#(17)globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#(6,3,17,17)globalPRSHBT#(6,3,17)globalIZ#(6,3)globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#(6,3)#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCASE/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#(10,28)#COMMON/CALCAS1E/globalIONSUM1#(10)globalIFLSUM1#(10)globalESTOR1#(10,28)globalEPHOTG1#(10,28)globalDRXE1#(10,28)globalDRYE1#(10,28)globalDRZE1#(10,28)globalDRX1#(10,28)globalDRY1#(10,28)globalDRZ1#(10,28)#COMMON/CALCAS2E/globalIONSUM2#(10)globalIFLSUM2#(10)globalESTOR2#(10,28)globalEPHOTG2#(10,28)globalDRXE2#(10,28)globalDRYE2#(10,28)globalDRZE2#(10,28)globalDRX2#(10,28)globalDRY2#(10,28)globalDRZ2#(10,28)#COMMON/CALCAS3E/globalIONSUM3#(10)globalIFLSUM3#(10)globalESTOR3#(10,28)globalEPHOTG3#(10,28)globalDRXE3#(10,28)globalDRYE3#(10,28)globalDRZE3#(10,28)globalDRX3#(10,28)globalDRY3#(10,28)globalDRZ3#(10,28)#COMMON/CALCAS4E/globalIONSUM4#(10)globalIFLSUM4#(10)globalESTOR4#(10,28)globalEPHOTG4#(10,28)globalDRXE4#(10,28)globalDRYE4#(10,28)globalDRZE4#(10,28)globalDRX4#(10,28)globalDRY4#(10,28)globalDRZ4#(10,28)#COMMON/CALCAS5E/globalIONSUM5#(10)globalIFLSUM5#(10)globalESTOR5#(10,28)globalEPHOTG5#(10,28)globalDRXE5#(10,28)globalDRYE5#(10,28)globalDRZE5#(10,28)globalDRX5#(10,28)globalDRY5#(10,28)globalDRZ5#(10,28)#COMMON/RESE/globalIONSM#(10)globalIFLSM#(10)globalESTOR#(10,28)globalEPHOT#(10,28)globalXN#(10,28)globalYN#(10,28)globalZN#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)globalTN#(10,28)#COMMON/GENE1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRXS1#(10,28)globalDRYS1#(10,28)globalDRZS1#(10,28)globalT1#(10,28)#COMMON/GENE2/globalIONF2#(10)globalESTF2#(10,28)globalX2#(10,28)globalY2#(10,28)globalZ2#(10,28)globalDRXS2#(10,28)globalDRYS2#(10,28)globalDRZS2#(10,28)globalT2#(10,28)#COMMON/GENE3/globalIONF3#(10)globalESTF3#(10,15)globalX3#(10,15)globalY3#(10,15)globalZ3#(10,15)globalDRXS3#(10,15)globalDRYS3#(10,15)globalDRZS3#(10,15)globalT3#(10,15)#COMMON/GENE4/globalIONF4#(10)globalESTF4#(10,12)globalX4#(10,12)globalY4#(10,12)globalZ4#(10,12)globalDRXS4#(10,12)globalDRYS4#(10,12)globalDRZS4#(10,12)globalT4#(10,12)#COMMON/GENE5/globalIONF5#(10)globalESTF5#(10,5)globalX5#(10,5)globalY5#(10,5)globalZ5#(10,5)globalDRXS5#(10,5)globalDRYS5#(10,5)globalDRZS5#(10,5)globalT5#(10,5)# COMMON/NSIZE/NJHIGH#----------------------------------------------------------------------# CALCULATE CASCADE FROM A VACANCY= ISHELL IN KGAS LGAS # ENERGY OF ESCAPE ELECTRON FROM VACANCY =EINIT ( NEEDED FOR SHAKE OFF)# ESCAPE ELECTRON NOT INCLUDED IN CASCADE SUM#----------------------------------------------------------------------# SET OR ZERO SOME VARIABLES #----------------------------------------------------------------------# WRITE(6,77) J11,KGAS,LGAS,X0,Y0,Z0,T0,EINIT,ISHELLKGASST=KGASLGASST=LGASEINITST=EINITISHELLST=ISHELLdefGOTO10():API=numpy.arccos(-1.00)NJHIGH=0KGAS=KGASSTLGAS=LGASSTEINIT=EINITSTISHELL=ISHELLST# # ZERO SOME ARRAYSforKinrange(1,10):forJinrange(1,28):EPHOTON[K][J]=0.0EPHOTG1[K][J]=0.0EPHOTG2[K][J]=0.0EPHOTG3[K][J]=0.0EPHOTG4[K][J]=0.0EPHOTG5[K][J]=0.0ESTORE[K][J]=0.0ESTOR1[K][J]=0.0ESTOR2[K][J]=0.0ESTOR3[K][J]=0.0ESTOR4[K][J]=0.0ESTOR5[K][J]=0.0ESTOR[K][J]=0.0ESTF1[K][J]=0.0ESTF2[K][J]=0.0IFLSUM[K]=0IFLSUM1[K]=0IFLSUM2[K]=0IFLSUM3[K]=0IFLSUM4[K]=0IFLSUM5[K]=0IONSUM[K]=0IONSUM1[K]=0IONSUM2[K]=0IONSUM3[K]=0IONSUM4[K]=0IONSUM5[K]=0IONSM[K]=0IONF1[K]=0IONF2[K]=0IONF3[K]=0IONF4[K]=0IONF5[K]=0# INITIAL ENERGY IN SHELLESHSTART=ELEV[ISHELL,IZ[KGAS][LGAS]]# LOOP OVER SHELL VACANCIESCONTROLE(KGAS,LGAS,X0,Y0,Z0,T0,EINIT,ISHELL)# COMPRESS AUGER AND FLUORESCENCE DATA INTO BLOCKSCOMPRESSE(ETOT)# REPEAT FOR POSSIBLE K-SHELLROUNDING ERRORif((ESHSTART-ETOT)>2200.):GOTO10()# LOAD INTO COMMON/CASRSE/CASRESE()# WRITE(6,77) J11,KGAS,LGAS,X0,Y0,Z0,T0,EINIT,ISHELL# 77 print(' J11=',I6,' KGAS=',I3,' LGAS=',I3,' X0=','%.4f' % ,' Y0=',# /'%.4f' % ,' Z0=','%.4f' % ,' T0=','%.4f' % ,/,' EINIT=','%.4f' % ,' ISHELL=',I3) GOTO10()return# end
CONTROLE()
Calculates Auger and fluorescence cascade for vacancy in ICSHELL
defCONTROLE(KGAS,LGAS,X,Y,Z,T,EINIT,ISHELL):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)#CHARACTER*6 SCR(17),SCR1(17)# COMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG# COMMON/GENCAS/ELEV[17,79],NSDEG(17),AA[17],BB[17],SCR,SCR1# COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),RAD[6,3,17,17],PRSHBT(6,3,17),IZ[6,3],INIOCC(6,3,17),ISHLMX(6,3),AMZ[6,3]# COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)# COMMON/CALCASE/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/CALCAS1E/IONSUM1(10),IFLSUM1(10),ESTOR1(10,28),EPHOTG1(10,28),DRXE1(10,28),DRYE1(10,28),DRZE1(10,28),DRX1(10,28),DRY1(10,28),DRZ1(10,28)# COMMON/CALCAS2E/IONSUM2(10),IFLSUM2(10),ESTOR2(10,28),EPHOTG2(10,28),DRXE2(10,28),DRYE2(10,28),DRZE2(10,28),DRX2(10,28),DRY2(10,28),DRZ2(10,28)# COMMON/CALCAS3E/IONSUM3(10),IFLSUM3(10),ESTOR3(10,28),EPHOTG3(10,28),DRXE3(10,28),DRYE3(10,28),DRZE3(10,28),DRX3(10,28),DRY3(10,28),DRZ3(10,28)# COMMON/CALCAS4E/IONSUM4(10),IFLSUM4(10),ESTOR4(10,28),EPHOTG4(10,28),DRXE4(10,28),DRYE4(10,28),DRZE4(10,28),DRX4(10,28),DRY4(10,28),DRZ4(10,28)# COMMON/CALCAS5E/IONSUM5(10),IFLSUM5(10),ESTOR5(10,28),EPHOTG5(10,28),DRXE5(10,28),DRYE5(10,28),DRZE5(10,28),DRX5(10,28),DRY5(10,28),DRZ5(10,28)#COMMON/COMP/globalLCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG#COMMON/GENCAS/globalELEV#(17,79)globalNSDEG#(17)globalAA#(17)globalBB#(17)globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#(6,3,17,17)globalPRSHBT#(6,3,17)globalIZ#(6,3)globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#(6,3)#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCASE/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#(10,28)#COMMON/CALCAS1E/globalIONSUM1#(10)globalIFLSUM1#(10)globalESTOR1#(10,28)globalEPHOTG1#(10,28)globalDRXE1#(10,28)globalDRYE1#(10,28)globalDRZE1#(10,28)globalDRX1#(10,28)globalDRY1#(10,28)globalDRZ1#(10,28)#COMMON/CALCAS2E/globalIONSUM2#(10)globalIFLSUM2#(10)globalESTOR2#(10,28)globalEPHOTG2#(10,28)globalDRXE2#(10,28)globalDRYE2#(10,28)globalDRZE2#(10,28)globalDRX2#(10,28)globalDRY2#(10,28)globalDRZ2#(10,28)#COMMON/CALCAS3E/globalIONSUM3#(10)globalIFLSUM3#(10)globalESTOR3#(10,28)globalEPHOTG3#(10,28)globalDRXE3#(10,28)globalDRYE3#(10,28)globalDRZE3#(10,28)globalDRX3#(10,28)globalDRY3#(10,28)globalDRZ3#(10,28)#COMMON/CALCAS4E/globalIONSUM4#(10)globalIFLSUM4#(10)globalESTOR4#(10,28)globalEPHOTG4#(10,28)globalDRXE4#(10,28)globalDRYE4#(10,28)globalDRZE4#(10,28)globalDRX4#(10,28)globalDRY4#(10,28)globalDRZ4#(10,28)#COMMON/CALCAS5E/globalIONSUM5#(10)globalIFLSUM5#(10)globalESTOR5#(10,28)globalEPHOTG5#(10,28)globalDRXE5#(10,28)globalDRYE5#(10,28)globalDRZE5#(10,28)globalDRX5#(10,28)globalDRY5#(10,28)globalDRZ5#(10,28)### CALCULATES AUGER AND FLUORESCENCE CASCADE FOR VACANCY IN ICSHELL#IFIRST=1ISECOND=2ICONPH=1NVAC=1X0=XY0=YZ0=ZT0=TIZERO=0IONE=1ADIST=0.0# # CALCULATE CASCADE EVENT# WRITE(6,991) NVAC,KGAS,LGAS,EINIT,ISHELL# 991 print(' NVAC=',I3,' KGAS=',I3,' LGAS=',I3,' EINIT=','%.4f' % ,' # /ISHELL=',I3)CALCE(NVAC,KGAS,LGAS,EINIT,ISHELL)# STORE EVENT # Z0=DISTCASSTOREE(NVAC,X0,Y0,Z0,T0)# IF INCLUDE PHOTOABSORPTION OF FLUORESENCE : if(ICONPH==1):if(IFLSUM[NVAC]==0):# ZERO COUNTERL1=0CSSTF1E(NVAC,L1,ADIST)pass# endif# LOOP AROUND FIRST GEN FLUORESCENCEelse:IFL1=IFLSUM[NVAC]forL1inrange(1,IFL1):EPH=EPHOTON[NVAC][L1]## CALC ABSORPTION POSITION X1,Y1,Z1 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL1 IN GAS KGAS1 COMPONENT LGAS1 ABSO(ISECOND,EPH,ISHELL1,KGAS1,LGAS1,DIST1)# LOW ENERGY PHOTONif(ISHELL1==-1):IFLSUM[NVAC]=IFLSUM[NVAC]-1pass# endif## CALCULATE CASCADE IN GAS else:CALC1E(NVAC,KGAS1,LGAS1,EPH,ISHELL1,L1)# STORE EVENTCSSTF1E(NVAC,L1,DIST1)## SECOND GENERATION FLUORESCENCEif(IFLSUM1[NVAC]==0):# ZERO COUNTERL2=0CSSTF2E(NVAC,L2,ADIST)pass# endif # LOOP AROUND SECOND GEN FLUORESCENCEelse:IFL2=IFLSUM1[NVAC]forL2inrange(1,IFL2):EPH=EPHOTG1(NVAC,L2)## CALC ABSORPTION POSITION X2,Y2,Z2 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL2 IN GAS KGAS2 COMPONENT LGAS2ABSO(ISECOND,EPH,ISHELL2,KGAS2,LGAS2,DIST2)# LOW ENERGY PHOTONif(ISHELL2==-1):IFLSUM1[NVAC]=IFLSUM1[NVAC]-1pass# endif## CALCULATE CASCADE IN GAS else:CALC2E(NVAC,KGAS2,LGAS2,EPH,ISHELL2,L2)# STORE EVENTCSSTF2E(NVAC,L2,DIST2)# # THIRD GENERATION FLUORESCENCEif(IFLSUM2[NVAC]==0):# ZERO COUNTERL3=0CSSTF3E(NVAC,L3,ADIST)pass# endif# LOOP AROUND THIRD GEN FLUORESCENCEelse:IFL3=IFLSUM2[NVAC]forL3inrange(1,IFL3):EPH=EPHOTG2[NVAC][L3]## CALC ABSORPTION POSITION X3,Y3,Z3 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL3 IN GAS KGAS3 COMPONENT LGAS3ABSO(ISECOND,EPH,ISHELL3,KGAS3,LGAS3,DIST3)# LOW ENERGY PHOTONif(ISHELL3==-1):IFLSUM2[NVAC]=IFLSUM2[NVAC]-1pass# endif## CALCULATE CASCADE IN GAS else:CALC3E(NVAC,KGAS3,LGAS3,EPH,ISHELL3,L3)# STORE EVENTCSSTF3E(NVAC,L3,DIST3)# # FOURTH GENERATION FLUORESCENCEif(IFLSUM3[NVAC]==0):# ZERO COUNTERL4=0CSSTF4E(NVAC,L4,ADIST)pass# endif# LOOP AROUND FOURTH GEN FLUORESCENCEelse:IFL4=IFLSUM3[NVAC]forL4inrange(1,IFL4):EPH=EPHOTG3[NVAC][L4]## CALC ABSORPTION POSITION X4,Y4,Z4 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL4 IN GAS KGAS4 COMPONENT LGAS4ABSO(ISECOND,EPH,ISHELL4,KGAS4,LGAS4,DIST4)# LOW ENERGY PHOTONif(ISHELL4==-1):IFLSUM3[NVAC]=IFLSUM3[NVAC]-1pass# endif## CALCULATE CASCADE IN GAS else:CALC4E(NVAC,KGAS4,LGAS4,EPH,ISHELL4,L4)# STORE EVENTCSSTF4E(NVAC,L4,DIST4)# # FIFTH GENERATION FLUORESCENCEif(IFLSUM4[NVAC]==0):# ZERO COUNTERL5=0CSSTF5E(NVAC,L5,ADIST)pass# endif# LOOP AROUND FIFTH GEN FLUORESCENCEelse:IFL5=IFLSUM5[NVAC]forL5inrange(1,IFL5):EPH=EPHOTG4(NVAC,L5)## CALC ABSORPTION POSITION X5,Y5,Z5 FOR FLUORESENCE PHOTON OF ENERGY EPH# WITH ABSORPTION IN SHELL ISHELL5 IN GAS KGAS5 COMPONENT LGAS5ABSO(ISECOND,EPH,ISHELL5,KGAS5,LGAS5,DIST5)# LOW ENERGY PHOTONif(ISHELL5==-1):IFLSUM5[NVAC]=IFLSUM[NVAC]-1pass# endif## CALCULATE CASCADE IN GAS else:CALC5E(NVAC,KGAS5,LGAS5,EPH,ISHELL5,L5)# STORE EVENTCSSTF5E(NVAC,L5,DIST5)if(IFLSUM5[NVAC]>=1):print(' WARNING SIXTH GENERATION EXISTS IFLSUM5=',IFLSUM5)# endifreturn# end
CALCBn
Calculates cascade in gas KGAS and Molecular component LGAS with initial energy deposit ELECEN and shell vacancy created at ISHELL.
* Contains 5 functions:
* CALCB1()
* CALCB2()
* CALCB3()
* CALCB4()
* CALCB5()
Arguments
Argument
Description
NVAC
KGAS
LGAS
ELECEN
ISHELL
L1
Pseudo-Code
SUBROUTINECALCB1(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*6SCR(17),SCR1(17)COMMON/GENCAS/ELEV(17,79),NSDEG(17),AA(17),BB(17),SCR,SCR1COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)COMMON/CALCASB/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS1B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)DIMENSIONTEMP(17),TEMP1(289)CCCALCULATECASCADEINGASKGASANDMOLECULARCOMPONENTLGASCWITHINTIALENERGYDEPOSITELECENANDSHELLVACANCYCREATEDATISHELLCISTART=IONSUM(NVAC)ISTARTF=IFLSUM(NVAC)ISHELLST=ISHELLAPI=DACOS(-1.0D0)TWOPI=2.0D0*API100ELEFT=ELECENISHELL=ISHELLSTINIT=1CSETSTARTINGARRAYNOCCEQUALTOINIOCCDO1I=1,17NOCC(KGAS,LGAS,I)=INIOCC(KGAS,LGAS,I)1CONTINUEIONSUM(NVAC)=ISTART+1IFLSUM(NVAC)=ISTARTFCSTOREPHOTOELECTRONENERGYANDANGLEESTORE(NVAC,IONSUM(NVAC))=ELECEN-ELEV(ISHELL,IZ(KGAS,LGAS))ELECN=ESTORE(NVAC,IONSUM(NVAC))ELEFT=ELEFT-ELECNNOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)-1CUSEPHOTELECTRONANGULARDISTRIBUTIONAPE=AA(ISHELL)BPE=BB(ISHELL)CALLANGGEN(APE,BPE,THET)IF(THET.LT.0.0)THET=THET+APIR3=drand48(RDUM)PHI=TWOPI*R3CALLDRCOS(DRX0(NVAC,L1),DRY0(NVAC,L1),DRZ0(NVAC,L1),THET,PHI,/DRXX,DRYY,DRZZ)DRXE(NVAC,IONSUM(NVAC))=DRXXDRYE(NVAC,IONSUM(NVAC))=DRYYDRZE(NVAC,IONSUM(NVAC))=DRZZCLOOPAROUNDCASCADE4CONTINUECCHECKFORELECTRONSHAKEOFFIDUM=1IF(INIT.GT.1)ELECN=ESTORE(NVAC,IONSUM(NVAC))INSUM=IONSUM(NVAC)CALLSHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)CCALCULATEENERGYOFELECTRONIF(JVAC.EQ.0)GOTO2CELECTRON+SHAKEOFFELECN=ELECN-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))ESTORE(NVAC,IONSUM(NVAC))=ELECNIONSUM(NVAC)=IONSUM(NVAC)+1CMAXIMUMIONCHARGESTATE=28IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)99FORMAT(' 1ST GEN LIMITED TO 28 IN THIS VERSION IONSUM=',I3)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ESHKELEFT=ELEFT-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)2CALLUPDATE(KGAS,LGAS,ISHELL)INIT=2CCHOOSEFLUORESCENCEORAUGERTRANSITIONTSUM=0.0DO10I=1,17TSUM=TSUM+RADR(KGAS,LGAS,ISHELL,I)DO10J=1,17TSUM=TSUM+AUGR(KGAS,LGAS,ISHELL,I,J)10CONTINUECNOMORETRANSITIONSPOSSIBLEIF(TSUM.EQ.0.0)RETURNCNORMALISETO1.0DO11I=1,17RADR(KGAS,LGAS,ISHELL,I)=RADR(KGAS,LGAS,ISHELL,I)/TSUMDO11J=1,17AUGR(KGAS,LGAS,ISHELL,I,J)=AUGR(KGAS,LGAS,ISHELL,I,J)/TSUM11CONTINUECCREATECUMULATIVESUMARRAYTEMP(1)=RADR(KGAS,LGAS,ISHELL,1)DO12I=2,17TEMP(I)=RADR(KGAS,LGAS,ISHELL,I)+TEMP(I-1)12CONTINUETEMP1(1)=AUGR(KGAS,LGAS,ISHELL,1,1)DO13I=2,17TEMP1(I)=AUGR(KGAS,LGAS,ISHELL,I,1)+TEMP1(I-1)13CONTINUEDO14J=1,16DO14I=1,17TEMP1(I+(J*17))=AUGR(KGAS,LGAS,ISHELL,I,(J+1))+TEMP1(I+(J*17)-1)14CONTINUECFINDFLUORESCENCEORAUGERTRANSITIONR1=drand48(RDUM)DO16I=1,17IF(R1.LT.TEMP(I))THENCSTOREPHOTONENERGYANDANGLETHENUPDATENOCCIFLSUM(NVAC)=IFLSUM(NVAC)+1EPHOTON(NVAC,IFLSUM(NVAC))=ELEV(ISHELL,IZ(KGAS,LGAS))-/ELEV(I,IZ(KGAS,LGAS))ELEFT=ELEFT-DABS(EPHOTON(NVAC,IFLSUM(NVAC)))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRX(NVAC,IFLSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRY(NVAC,IFLSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZ(NVAC,IFLSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO2ENDIF16CONTINUE116CONTINUER2=R1-TEMP(17)DO17J=1,17DO17I=1,17IF(R2.LT.TEMP1(I+((J-1)*17)))THENCAUGERORCOSTERKRONIGCSTOREEJECTEDELECTRONANDUPDATENOCCETEMP=ELEV(ISHELL,IZ(KGAS,LGAS))-(ELEV(I,IZ(KGAS,LGAS))+/ELEV(I,IZ(KGAS,LGAS)+1))*0.5-(ELEV(J,IZ(KGAS,LGAS))+/ELEV(J,IZ(KGAS,LGAS)+1))*0.5IF(ETEMP.LT.0.0)THENCDONOTALLOWNEGATIVEENERGYTRANSITIONS117R1=drand48(RDUM)IF(R1.LT.TEMP(17))GOTO117GOTO116ENDIFIONSUM(NVAC)=IONSUM(NVAC)+1IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ETEMPELEFT=ELEFT-DABS(ETEMP)IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1NOCC(KGAS,LGAS,J)=NOCC(KGAS,LGAS,J)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO4ENDIF17CONTINUEWRITE(6,88)88FORMAT(' ERROR IN CASCADE B1')STOPENDSUBROUTINECALCB2(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*6SCR(17),SCR1(17)COMMON/GENCAS/ELEV(17,79),NSDEG(17),AA(17),BB(17),SCR,SCR1COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)COMMON/CALCAS1B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS2B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)DIMENSIONTEMP(17),TEMP1(289)CCCALCULATECASCADEINGASKGASANDMOLECULARCOMPONENTLGASCWITHINTIALENERGYDEPOSITELECENANDSHELLVACANCYCREATEDATISHELLCISTART=IONSUM(NVAC)ISTARTF=IFLSUM(NVAC)ISHELLST=ISHELLAPI=DACOS(-1.0D0)TWOPI=2.0D0*API100ELEFT=ELECENISHELL=ISHELLSTINIT=1CSETSTARTINGARRAYNOCCEQUALTOINIOCCDO1I=1,17NOCC(KGAS,LGAS,I)=INIOCC(KGAS,LGAS,I)1CONTINUEIONSUM(NVAC)=ISTART+1IFLSUM(NVAC)=ISTARTFCSTOREINITIALPHOTELECTRONANDANGLEESTORE(NVAC,IONSUM(NVAC))=ELECEN-ELEV(ISHELL,IZ(KGAS,LGAS))ELECN=ESTORE(NVAC,IONSUM(NVAC))ELEFT=ELEFT-ELECNNOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)-1CUSEPHOTOELECTRONANGULARDISTRIBUTIONAPE=AA(ISHELL)BPE=BB(ISHELL)CALLANGGEN(APE,BPE,THET)IF(THET.LT.0.0)THET=THET+APIR3=drand48(RDUM)PHI=TWOPI*R3CALLDRCOS(DRX0(NVAC,L1),DRY0(NVAC,L1),DRZ0(NVAC,L1),THET,PHI,/DRXX,DRYY,DRZZ)DRXE(NVAC,IONSUM(NVAC))=DRXXDRYE(NVAC,IONSUM(NVAC))=DRYYDRZE(NVAC,IONSUM(NVAC))=DRZZCLOOPAROUNDCASCADE4CONTINUECCHECKFORELECTRONSHAKEOFFIDUM=1IF(INIT.GT.1)ELECN=ESTORE(NVAC,IONSUM(NVAC))INSUM=IONSUM(NVAC)CALLSHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)CCALCULATEENERGYOFELECTRONIF(JVAC.EQ.0)GOTO2CELECTRON+SHAKEOFFELECN=ELECN-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))ESTORE(NVAC,IONSUM(NVAC))=ELECNIONSUM(NVAC)=IONSUM(NVAC)+1CMAXIMUMIONCHARGESTATE=28IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)99FORMAT(' 2ND GEN IONS LIMITED TO 28 IN THIS VERSION IONSUM=',I3)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ESHKELEFT=ELEFT-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)2CALLUPDATE(KGAS,LGAS,ISHELL)INIT=2CCHOOSEFLUORESCENCEORAUGERTRANSITIONTSUM=0.0DO10I=1,17TSUM=TSUM+RADR(KGAS,LGAS,ISHELL,I)DO10J=1,17TSUM=TSUM+AUGR(KGAS,LGAS,ISHELL,I,J)10CONTINUECNOMORETRANSITIONSPOSSIBLEIF(TSUM.EQ.0.0)RETURNCNORMALISETO1.0DO11I=1,17RADR(KGAS,LGAS,ISHELL,I)=RADR(KGAS,LGAS,ISHELL,I)/TSUMDO11J=1,17AUGR(KGAS,LGAS,ISHELL,I,J)=AUGR(KGAS,LGAS,ISHELL,I,J)/TSUM11CONTINUECCREATECUMULATIVESUMARRAYTEMP(1)=RADR(KGAS,LGAS,ISHELL,1)DO12I=2,17TEMP(I)=RADR(KGAS,LGAS,ISHELL,I)+TEMP(I-1)12CONTINUETEMP1(1)=AUGR(KGAS,LGAS,ISHELL,1,1)DO13I=2,17TEMP1(I)=AUGR(KGAS,LGAS,ISHELL,I,1)+TEMP1(I-1)13CONTINUEDO14J=1,16DO14I=1,17TEMP1(I+(J*17))=AUGR(KGAS,LGAS,ISHELL,I,(J+1))+TEMP1(I+(J*17)-1)14CONTINUECFINDFLUORESCENCEORAUGERTRANSITIONR1=drand48(RDUM)DO16I=1,17IF(R1.LT.TEMP(I))THENCSTOREPHOTONENERGYANDUPDATENOCCIFLSUM(NVAC)=IFLSUM(NVAC)+1EPHOTON(NVAC,IFLSUM(NVAC))=ELEV(ISHELL,IZ(KGAS,LGAS))-/ELEV(I,IZ(KGAS,LGAS))ELEFT=ELEFT-DABS(EPHOTON(NVAC,IFLSUM(NVAC)))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRX(NVAC,IFLSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRY(NVAC,IFLSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZ(NVAC,IFLSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO2ENDIF16CONTINUE116CONTINUER2=R1-TEMP(17)DO17J=1,17DO17I=1,17IF(R2.LT.TEMP1(I+((J-1)*17)))THENCAUGERORCOSTERKRONIGCSTOREEJECTEDELECTRONANDUPDATENOCCETEMP=ELEV(ISHELL,IZ(KGAS,LGAS))-(ELEV(I,IZ(KGAS,LGAS))+/ELEV(I,IZ(KGAS,LGAS)+1))*0.5-(ELEV(J,IZ(KGAS,LGAS))+/ELEV(J,IZ(KGAS,LGAS)+1))*0.5IF(ETEMP.LT.0.0)THENCDONOTALLOWNEGATIVEENERGYTRANSITIONS117R1=drand48(RDUM)IF(R1.LT.TEMP(17))GOTO117GOTO116ENDIFIONSUM(NVAC)=IONSUM(NVAC)+1IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ETEMPELEFT=ELEFT-DABS(ETEMP)IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1NOCC(KGAS,LGAS,J)=NOCC(KGAS,LGAS,J)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO4ENDIF17CONTINUEWRITE(6,88)88FORMAT(' ERROR IN CASCADE B2')STOPENDSUBROUTINECALCB3(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*6SCR(17),SCR1(17)COMMON/GENCAS/ELEV(17,79),NSDEG(17),AA(17),BB(17),SCR,SCR1COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)COMMON/CALCAS2B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS3B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)DIMENSIONTEMP(17),TEMP1(289)CCCALCULATECASCADEINGASKGASANDMOLECULARCOMPONENTLGASCWITHINTIALENERGYDEPOSITELECENANDSHELLVACANCYCREATEDATISHELLCISTART=IONSUM(NVAC)ISTARTF=IFLSUM(NVAC)ISHELLST=ISHELLAPI=DACOS(-1.0D0)TWOPI=2.0D0*API100ELEFT=ELECENISHELL=ISHELLSTINIT=1CSETSTARTINGARRAYNOCCEQUALTOINIOCCDO1I=1,17NOCC(KGAS,LGAS,I)=INIOCC(KGAS,LGAS,I)1CONTINUEIONSUM(NVAC)=ISTART+1IFLSUM(NVAC)=ISTARTFCSTOREPHOTOELECTRONENERGYANDANGLEESTORE(NVAC,IONSUM(NVAC))=ELECEN-ELEV(ISHELL,IZ(KGAS,LGAS))ELECN=ESTORE(NVAC,IONSUM(NVAC))ELEFT=ELEFT-ELECNNOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)-1CUSEPHOTOELECTRONANGULARDISTRIBUTIONAPE=AA(ISHELL)BPE=BB(ISHELL)CALLANGGEN(APE,BPE,THET)IF(THET.LT.0.0)THET=THET+APIR3=drand48(RDUM)PHI=TWOPI*R3CALLDRCOS(DRX0(NVAC,L1),DRY0(NVAC,L1),DRZ0(NVAC,L1),THET,PHI,/DRXX,DRYY,DRZZ)DRXE(NVAC,IONSUM(NVAC))=DRXXDRYE(NVAC,IONSUM(NVAC))=DRYYDRZE(NVAC,IONSUM(NVAC))=DRZZCLOOPAROUNDCASCADE4CONTINUECCHECKFORELECTRONSHAKEOFFIDUM=1IF(INIT.GT.1)ELECN=ESTORE(NVAC,IONSUM(NVAC))INSUM=IONSUM(NVAC)CALLSHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)CCALCULATEENERGYOFELECTRONIF(JVAC.EQ.0)GOTO2CELECTRON+SHAKEOFFELECN=ELECN-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))ESTORE(NVAC,IONSUM(NVAC))=ELECNIONSUM(NVAC)=IONSUM(NVAC)+1CMAXIMUMIONCHARGESTATE=28IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)99FORMAT(' 3RD GEN ION CHARGE LIMITED TO 28 IONSUM=',I3)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ESHKELEFT=ELEFT-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONANGLER3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)2CALLUPDATE(KGAS,LGAS,ISHELL)INIT=2CCHOOSEFLUORESCENCEORAUGERTRANSITIONTSUM=0.0DO10I=1,17TSUM=TSUM+RADR(KGAS,LGAS,ISHELL,I)DO10J=1,17TSUM=TSUM+AUGR(KGAS,LGAS,ISHELL,I,J)10CONTINUECNOMORETRANSITIONSPOSSIBLEIF(TSUM.EQ.0.0)RETURNCNORMALISETO1.0DO11I=1,17RADR(KGAS,LGAS,ISHELL,I)=RADR(KGAS,LGAS,ISHELL,I)/TSUMDO11J=1,17AUGR(KGAS,LGAS,ISHELL,I,J)=AUGR(KGAS,LGAS,ISHELL,I,J)/TSUM11CONTINUECCREATECUMULATIVESUMARRAYTEMP(1)=RADR(KGAS,LGAS,ISHELL,1)DO12I=2,17TEMP(I)=RADR(KGAS,LGAS,ISHELL,I)+TEMP(I-1)12CONTINUETEMP1(1)=AUGR(KGAS,LGAS,ISHELL,1,1)DO13I=2,17TEMP1(I)=AUGR(KGAS,LGAS,ISHELL,I,1)+TEMP1(I-1)13CONTINUEDO14J=1,16DO14I=1,17TEMP1(I+(J*17))=AUGR(KGAS,LGAS,ISHELL,I,(J+1))+TEMP1(I+(J*17)-1)14CONTINUECFINDFLUORESCENCEORAUGERTRANSITIONR1=drand48(RDUM)DO16I=1,17IF(R1.LT.TEMP(I))THENCSTOREPHOTONENERGYANDUPDATENOCCIFLSUM(NVAC)=IFLSUM(NVAC)+1EPHOTON(NVAC,IFLSUM(NVAC))=ELEV(ISHELL,IZ(KGAS,LGAS))-/ELEV(I,IZ(KGAS,LGAS))ELEFT=ELEFT-DABS(EPHOTON(NVAC,IFLSUM(NVAC)))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRX(NVAC,IFLSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRY(NVAC,IFLSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZ(NVAC,IFLSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO2ENDIF16CONTINUE116CONTINUER2=R1-TEMP(17)DO17J=1,17DO17I=1,17IF(R2.LT.TEMP1(I+((J-1)*17)))THENCAUGERORCOSTERKRONIGCSTOREEJECTEDELECTRONANDUPDATENOCCETEMP=ELEV(ISHELL,IZ(KGAS,LGAS))-(ELEV(I,IZ(KGAS,LGAS))+/ELEV(I,IZ(KGAS,LGAS)+1))*0.5-(ELEV(J,IZ(KGAS,LGAS))+/ELEV(J,IZ(KGAS,LGAS)+1))*0.5IF(ETEMP.LT.0.0)THENCDONOTALLOWNEGATIVEENERGYTRANSITIONS117R1=drand48(RDUM)IF(R1.LT.TEMP(17))GOTO117GOTO116ENDIFIONSUM(NVAC)=IONSUM(NVAC)+1IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ETEMPELEFT=ELEFT-DABS(ETEMP)IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1NOCC(KGAS,LGAS,J)=NOCC(KGAS,LGAS,J)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO4ENDIF17CONTINUEWRITE(6,88)88FORMAT(' ERROR IN CASCADE B3')STOPENDSUBROUTINECALCB4(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*6SCR(17),SCR1(17)COMMON/GENCAS/ELEV(17,79),NSDEG(17),AA(17),BB(17),SCR,SCR1COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)COMMON/CALCAS3B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS4B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)DIMENSIONTEMP(17),TEMP1(289)CCCALCULATECASCADEINGASKGASANDMOLECULARCOMPONENTLGASCWITHINTIALENERGYDEPOSITELECENANDSHELLVACANCYCREATEDATISHELLCISTART=IONSUM(NVAC)ISTARTF=IFLSUM(NVAC)ISHELLST=ISHELLAPI=DACOS(-1.0D0)TWOPI=2.0D0*API100ELEFT=ELECENISHELL=ISHELLSTINIT=1CSETSTARTINGARRAYNOCCEQUALTOINIOCCDO1I=1,17NOCC(KGAS,LGAS,I)=INIOCC(KGAS,LGAS,I)1CONTINUEIONSUM(NVAC)=ISTART+1IFLSUM(NVAC)=ISTARTFCSTOREPHOTOELECTRONENERGYANDANGLEESTORE(NVAC,IONSUM(NVAC))=ELECEN-ELEV(ISHELL,IZ(KGAS,LGAS))ELECN=ESTORE(NVAC,IONSUM(NVAC))ELEFT=ELEFT-ELECNNOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)-1CUSEPHOTOELECTRONANGULARDISTRIBUTIONAPE=AA(ISHELL)BPE=BB(ISHELL)CALLANGGEN(APE,BPE,THET)IF(THET.LT.0.0)THET=THET+APIR3=drand48(RDUM)PHI=TWOPI*R3CALLDRCOS(DRX0(NVAC,L1),DRY0(NVAC,L1),DRZ0(NVAC,L1),THET,PHI,/DRXX,DRYY,DRZZ)DRXE(NVAC,IONSUM(NVAC))=DRXXDRYE(NVAC,IONSUM(NVAC))=DRYYDRZE(NVAC,IONSUM(NVAC))=DRZZCLOOPAROUNDCASCADE4CONTINUECCHECKFORELECTRONSHAKEOFFIDUM=1IF(INIT.GT.1)ELECN=ESTORE(NVAC,IONSUM(NVAC))INSUM=IONSUM(NVAC)CALLSHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)CCALCULATEENERGYOFELECTRONIF(JVAC.EQ.0)GOTO2CELECTRON+SHAKEOFFELECN=ELECN-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))ESTORE(NVAC,IONSUM(NVAC))=ELECNIONSUM(NVAC)=IONSUM(NVAC)+1CMAXIMUMIONCHARGESTATE=28IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)99FORMAT(' 4TH GEN ION CHARGE LIMITED TO 28 IONSUM=',I3)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ESHKELEFT=ELEFT-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONANGLER3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)2CALLUPDATE(KGAS,LGAS,ISHELL)INIT=2CCHOOSEFLUORESCENCEORAUGERTRANSITIONTSUM=0.0DO10I=1,17TSUM=TSUM+RADR(KGAS,LGAS,ISHELL,I)DO10J=1,17TSUM=TSUM+AUGR(KGAS,LGAS,ISHELL,I,J)10CONTINUECNOMORETRANSITIONSPOSSIBLEIF(TSUM.EQ.0.0)RETURNCNORMALISETO1.0DO11I=1,17RADR(KGAS,LGAS,ISHELL,I)=RADR(KGAS,LGAS,ISHELL,I)/TSUMDO11J=1,17AUGR(KGAS,LGAS,ISHELL,I,J)=AUGR(KGAS,LGAS,ISHELL,I,J)/TSUM11CONTINUECCREATECUMULATIVESUMARRAYTEMP(1)=RADR(KGAS,LGAS,ISHELL,1)DO12I=2,17TEMP(I)=RADR(KGAS,LGAS,ISHELL,I)+TEMP(I-1)12CONTINUETEMP1(1)=AUGR(KGAS,LGAS,ISHELL,1,1)DO13I=2,17TEMP1(I)=AUGR(KGAS,LGAS,ISHELL,I,1)+TEMP1(I-1)13CONTINUEDO14J=1,16DO14I=1,17TEMP1(I+(J*17))=AUGR(KGAS,LGAS,ISHELL,I,(J+1))+TEMP1(I+(J*17)-1)14CONTINUECFINDFLUORESCENCEORAUGERTRANSITIONR1=drand48(RDUM)DO16I=1,17IF(R1.LT.TEMP(I))THENCSTOREPHOTONENERGYANDUPDATENOCCIFLSUM(NVAC)=IFLSUM(NVAC)+1EPHOTON(NVAC,IFLSUM(NVAC))=ELEV(ISHELL,IZ(KGAS,LGAS))-/ELEV(I,IZ(KGAS,LGAS))ELEFT=ELEFT-DABS(EPHOTON(NVAC,IFLSUM(NVAC)))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRX(NVAC,IFLSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRY(NVAC,IFLSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZ(NVAC,IFLSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO2ENDIF16CONTINUE116CONTINUER2=R1-TEMP(17)DO17J=1,17DO17I=1,17IF(R2.LT.TEMP1(I+((J-1)*17)))THENCAUGERORCOSTERKRONIGCSTOREEJECTEDELECTRONANDUPDATENOCCETEMP=ELEV(ISHELL,IZ(KGAS,LGAS))-(ELEV(I,IZ(KGAS,LGAS))+/ELEV(I,IZ(KGAS,LGAS)+1))*0.5-(ELEV(J,IZ(KGAS,LGAS))+/ELEV(J,IZ(KGAS,LGAS)+1))*0.5IF(ETEMP.LT.0.0)THENCDONOTALLOWNEGATIVEENERGYTRANSITIONS117R1=drand48(RDUM)IF(R1.LT.TEMP(17))GOTO117GOTO116ENDIFIONSUM(NVAC)=IONSUM(NVAC)+1IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ETEMPELEFT=ELEFT-DABS(ETEMP)IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1NOCC(KGAS,LGAS,J)=NOCC(KGAS,LGAS,J)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO4ENDIF17CONTINUEWRITE(6,88)88FORMAT(' ERROR IN CASCADE B4')STOPENDSUBROUTINECALCB5(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)CHARACTER*6SCR(17),SCR1(17)COMMON/GENCAS/ELEV(17,79),NSDEG(17),AA(17),BB(17),SCR,SCR1COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),/RAD(6,3,17,17),PRSHBT(6,3,17),IZ(6,3),INIOCC(6,3,17),ISHLMX(6,3),/AMZ(6,3)COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)COMMON/CALCAS4B/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS5B/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)DIMENSIONTEMP(17),TEMP1(289)CCCALCULATECASCADEINGASKGASANDMOLECULARCOMPONENTLGASCWITHINTIALENERGYDEPOSITELECENANDSHELLVACANCYCREATEDATISHELLCISTART=IONSUM(NVAC)ISTARTF=IFLSUM(NVAC)ISHELLST=ISHELLAPI=DACOS(-1.0D0)TWOPI=2.0D0*API100ELEFT=ELECENISHELL=ISHELLSTINIT=1CSETSTARTINGARRAYNOCCEQUALTOINIOCCDO1I=1,17NOCC(KGAS,LGAS,I)=INIOCC(KGAS,LGAS,I)1CONTINUEIONSUM(NVAC)=ISTART+1IFLSUM(NVAC)=ISTARTFESTORE(NVAC,IONSUM(NVAC))=ELECEN-ELEV(ISHELL,IZ(KGAS,LGAS))ELECN=ESTORE(NVAC,IONSUM(NVAC))ELEFT=ELEFT-ELECNNOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)-1CUSEPHOTOELECTRONANGULARDISTRIBUTIONAPE=AA(ISHELL)BPE=BB(ISHELL)CALLANGGEN(APE,BPE,THET)IF(THET.LT.0.0)THET=THET+APIR3=drand48(RDUM)PHI=TWOPI*R3CALLDRCOS(DRX0(NVAC,L1),DRY0(NVAC,L1),DRZ0(NVAC,L1),THET,PHI,/DRXX,DRYY,DRZZ)DRXE(NVAC,IONSUM(NVAC))=DRXXDRYE(NVAC,IONSUM(NVAC))=DRYYDRZE(NVAC,IONSUM(NVAC))=DRZZCLOOPAROUNDCASCADE4CONTINUECCHECKFORELECTRONSHAKEOFFIDUM=1IF(INIT.GT.1)ELECN=ESTORE(NVAC,IONSUM(NVAC))INSUM=IONSUM(NVAC)CALLSHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)CCALCULATEENERGYOFELECTRONIF(JVAC.EQ.0)GOTO2CELECTRON+SHAKEOFFELECN=ELECN-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))ESTORE(NVAC,IONSUM(NVAC))=ELECNIONSUM(NVAC)=IONSUM(NVAC)+1CMAXIMUMIONCHARGESTATE=28IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)99FORMAT(' 5TH GEN ION CHARGE LIMITED TO 28 IONSUM=',I3)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ESHKELEFT=ELEFT-ESHK-ELEV(JVAC,IZ(KGAS,LGAS))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONANGLER3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)2CALLUPDATE(KGAS,LGAS,ISHELL)INIT=2CCHOOSEFLUORESCENCEORAUGERTRANSITIONTSUM=0.0DO10I=1,17TSUM=TSUM+RADR(KGAS,LGAS,ISHELL,I)DO10J=1,17TSUM=TSUM+AUGR(KGAS,LGAS,ISHELL,I,J)10CONTINUECNOMORETRANSITIONSPOSSIBLEIF(TSUM.EQ.0.0)RETURNCNORMALISETO1.0DO11I=1,17RADR(KGAS,LGAS,ISHELL,I)=RADR(KGAS,LGAS,ISHELL,I)/TSUMDO11J=1,17AUGR(KGAS,LGAS,ISHELL,I,J)=AUGR(KGAS,LGAS,ISHELL,I,J)/TSUM11CONTINUECCREATECUMULATIVESUMARRAYTEMP(1)=RADR(KGAS,LGAS,ISHELL,1)DO12I=2,17TEMP(I)=RADR(KGAS,LGAS,ISHELL,I)+TEMP(I-1)12CONTINUETEMP1(1)=AUGR(KGAS,LGAS,ISHELL,1,1)DO13I=2,17TEMP1(I)=AUGR(KGAS,LGAS,ISHELL,I,1)+TEMP1(I-1)13CONTINUEDO14J=1,16DO14I=1,17TEMP1(I+(J*17))=AUGR(KGAS,LGAS,ISHELL,I,(J+1))+TEMP1(I+(J*17)-1)14CONTINUECFINDFLUORESCENCEORAUGERTRANSITIONR1=drand48(RDUM)DO16I=1,17IF(R1.LT.TEMP(I))THENCSTOREPHOTONENERGYANDUPDATENOCCIFLSUM(NVAC)=IFLSUM(NVAC)+1EPHOTON(NVAC,IFLSUM(NVAC))=ELEV(ISHELL,IZ(KGAS,LGAS))-/ELEV(I,IZ(KGAS,LGAS))ELEFT=ELEFT-DABS(EPHOTON(NVAC,IFLSUM(NVAC)))IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=drand48(RDUM)PHI=TWOPI*R4DRX(NVAC,IFLSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRY(NVAC,IFLSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZ(NVAC,IFLSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO2ENDIF16CONTINUE116CONTINUER2=R1-TEMP(17)DO17J=1,17DO17I=1,17IF(R2.LT.TEMP1(I+((J-1)*17)))THENCAUGERORCOSTERKRONIGCSTOREEJECTEDELECTRONANDUPDATENOCCETEMP=ELEV(ISHELL,IZ(KGAS,LGAS))-(ELEV(I,IZ(KGAS,LGAS))+/ELEV(I,IZ(KGAS,LGAS)+1))*0.5-(ELEV(J,IZ(KGAS,LGAS))+/ELEV(J,IZ(KGAS,LGAS)+1))*0.5IF(ETEMP.LT.0.0)THENCDONOTALLOWNEGATIVEENERGYTRANSITIONS117R1=drand48(RDUM)IF(R1.LT.TEMP(17))GOTO117GOTO116ENDIFIONSUM(NVAC)=IONSUM(NVAC)+1IF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC)STOPENDIFESTORE(NVAC,IONSUM(NVAC))=ETEMPELEFT=ELEFT-DABS(ETEMP)IF(ELEFT.LT.0.0)GOTO100CRANDOMEMISSIONDIRECTIONR3=drand48(RDUM)THET=DACOS(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE(NVAC,IONSUM(NVAC))=DSIN(THET)*DCOS(PHI)DRYE(NVAC,IONSUM(NVAC))=DSIN(THET)*DSIN(PHI)DRZE(NVAC,IONSUM(NVAC))=DCOS(THET)NOCC(KGAS,LGAS,ISHELL)=NOCC(KGAS,LGAS,ISHELL)+1NOCC(KGAS,LGAS,I)=NOCC(KGAS,LGAS,I)-1NOCC(KGAS,LGAS,J)=NOCC(KGAS,LGAS,J)-1CFINDLOWESTVACANCYCALLVACANCY(KGAS,LGAS,ISHELL,ILAST)IF(ILAST.EQ.1)THENCNOMORETRANSITIONSPOSSIBLERETURNENDIFGOTO4ENDIF17CONTINUEWRITE(6,88)88FORMAT(' ERROR IN CASCADE B5')STOPEND
defCALCB1(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)#CHARACTER*6# SCR=""#(17)# SCR1=""#(17)#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCASB/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#DIMENSION TEMP=numpy.zeros((17+1))TEMP1=numpy.zeros((289+1))## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS # WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]ISHELLST=ISHELLAPI=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENISHELL=ISHELLSTINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL,IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 1ST GEN LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])sys.exit()# endif ESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTION R3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND ANGLE : UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL,IZ[KGAS][LGAS]]-ELEV[I,IZ[KGAS][LGAS]]ELEFT=ELEFT-abs(EPHOTON[NVAC][IFLSUM[NVAC]])if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()## calling the internal function first time counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 1ST GEN LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-abs(ETEMP)if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()print(' ERROR IN CASCADE B1')sys.exit()GOTO100()# enddefCALCB2(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)#CHARACTER*6 # SCR=""#(17)# SCR1=""#(17)#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS1B/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS2B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#DIMENSIONTEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]ISHELLST=ISHELLAPI=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENISHELL=ISHELLSTINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE INITIAL PHOTELECTRON AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL,IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 2ND GEN IONS LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL,IZ[KGAS][LGAS]]-ELEV[I,IZ[KGAS][LGAS]]ELEFT=ELEFT-abs(EPHOTON[NVAC][IFLSUM[NVAC]])if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif #16 CONTINUEGOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 2ND GEN IONS LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-abs(ETEMP)if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()print(' ERROR IN CASCADE B2')sys.exit()GOTO100()# enddefCALCB3(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)#CHARACTER*6 # SCR=""#(17)# SCR1=""#(17)#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS2B/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS3B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#DIMENSIONTEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]ISHELLST=ISHELLAPI=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENISHELL=ISHELLSTINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL,IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 3RD GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL,IZ[KGAS][LGAS]]-ELEV[I,IZ[KGAS][LGAS]]ELEFT=ELEFT-abs(EPHOTON[NVAC][IFLSUM[NVAC]])if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I,IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 3RD GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-abs(ETEMP)if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()print(' ERROR IN CASCADE B3')sys.exit()GOTO100()#enddefCALCB4(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)#CHARACTER*6 # SCR=""#(17)# SCR1=""#(17)#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS3B/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS4B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#DIMENSIONTEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]ISHELLST=ISHELLAPI=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENISHELL=ISHELLSTINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL,IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 4TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL,IZ[KGAS][LGAS]]-ELEV[I,IZ[KGAS][LGAS]]ELEFT=ELEFT-abs(EPHOTON[NVAC][IFLSUM[NVAC]])if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL,IZ[KGAS][LGAS]]-(ELEV[I,IZ[KGAS][LGAS]]+ELEV[I,IZ[KGAS][LGAS]+1])*0.5-(ELEV[J,IZ[KGAS][LGAS]]+ELEV[J,IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 4TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-abs(ETEMP)if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()print(' ERROR IN CASCADE B4')sys.exit()GOTO100()# enddefCALCB5(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# SCR=""# SCR1=""#(17)#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS4B/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS5B/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#DIMENSION TEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]ISHELLST=ISHELLAPI=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENISHELL=ISHELLSTINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTFESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL][IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 5TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC,IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]]-ELEV[I][IZ[KGAS][LGAS]]ELEFT=ELEFT-abs(EPHOTON[NVAC][IFLSUM[NVAC]])if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1(I+((J-1)*17))):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL,IZ[KGAS][LGAS]]-(ELEV[I,IZ[KGAS][LGAS]]+ELEV[I,IZ[KGAS][LGAS]+1])*0.5-(ELEV[J,IZ[KGAS][LGAS]]+ELEV[J,IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 5TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-abs(ETEMP)if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()print(' ERROR IN CASCADE B5')sys.exit()GOTO100()# end
CSSTFNE
Stores event data for N-th generation fluorescence.
Arguments
Argument
Description
NVAC
L1
DIST1
Pseudo-Code
defCSSTF1E(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/CALCASE/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28)# COMMON/CALCAS1E/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/GENE1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),DRXS(10,28),DRYS(10,28),DRZS(10,28),T1(10,28)#COMMON/CALCASE/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1E/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENE1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRXS#(10,28)globalDRYS#(10,28)globalDRZS#(10,28)globalT1#(10,28)# COMMON/GEN111/X11(10,28),Y11(10,28),Z11(10,28),T11(10,28)# COMMON/GEN101/X01(10),Y01(10),Z01(10),T01(10)# COMMON/GEN111/globalX11#(10,28)globalY11#(10,28)globalZ11#(10,28)globalT11#(10,28)# COMMON/GEN101/globalX01#(10)globalY01#(10)globalZ01#(10)globalT01#(10)if(L1==0):# ZERO COUNTERIONF1[NVAC]=0forKinrange(1,28):ESTF1[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR FIRST GENERATION FLUORESCENCEif(IONSUM[NVAC]>28):print(' WARNING FIRST GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.\n',' COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endif# VEL IN METRES/PICOSECONDVV=2.99792458*(10**-4)IONF1[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF1[NVAC][J]=ESTORE[NVAC][J]X1[NVAC][J]=X01[NVAC]+DIST1*DRX0[NVAC][L1]Y1[NVAC][J]=Y01[NVAC]+DIST1*DRY0[NVAC][L1]Z1[NVAC][J]=Z01[NVAC]+DIST1*DRZ0[NVAC][L1]T1[NVAC][J]=T01[NVAC]+DIST1/VVX11[NVAC][L1]=X1[NVAC][J]Y11[NVAC][L1]=Y1[NVAC][J]Z11[NVAC][L1]=Z1[NVAC][J]T11[NVAC][L1]=T1[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTF2E(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/CALCAS1E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28)# COMMON/CALCAS2E/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/GENE2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),DRXS(10,28),DRYS(10,28),DRZS(10,28),T2(10,28)#COMMON/CALCASE/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1E/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENE1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRXS#(10,28)globalDRYS#(10,28)globalDRZS#(10,28)globalT1#(10,28)# COMMON/GEN121/X21(10,28),Y21(10,28),Z21(10,28),T21(10,28)# COMMON/GEN111/X11(10,28),Y11(10,28),Z11(10,28),T11(10,28)# # COMMON/GEN121/globalX21#(10,28)globalY21#(10,28)globalZ21#(10,28)globalT21#(10,28)# COMMON/GEN111/globalX11#(10,28)globalY11#(10,28)globalZ11#(10,28)globalT11#(10,28)if(L1==0):# ZERO COUNTERIONF2[NVAC]=0forKinrange(1,28):ESTF2[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR SECOND GENERATION FLUORESCENCEif(IONSUM[NVAC]>28):print(' WARNING SECOND GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.\n',' COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endif# VEL IN METRES/PICOSECONDVV=2.99792458*10**-4IONF2[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF2[NVAC][J]=ESTORE[NVAC][J]X2[NVAC][J]=X11[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y2[NVAC][J]=Y11[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z2[NVAC][J]=Z11[NVAC][L1]+DIST1*DRZ0[NVAC][L1]T2[NVAC][J]=T11[NVAC][L1]+DIST1/VVX21[NVAC][L1]=X2[NVAC][J]Y21[NVAC][L1]=Y2[NVAC][J]Z21[NVAC][L1]=Z2[NVAC][J]T21[NVAC][L1]=T2[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTF3E(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/CALCAS2E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28)# COMMON/CALCAS3E/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/GENE3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),DRXS(10,15),DRYS(10,15),DRZS(10,15),T3(10,15)#COMMON/CALCASE/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1E/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENE1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRXS#(10,28)globalDRYS#(10,28)globalDRZS#(10,28)globalT1#(10,28)# COMMON/GEN131/X31(10,28),Y31(10,28),Z31(10,28),T31(10,28)# COMMON/GEN121/X21(10,28),Y21(10,28),Z21(10,28),T21(10,28)#if(L1==0):# ZERO COUNTERIONF3[NVAC]=0forKinrange(1,15):ESTF3[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR THIRD GENERATION FLUORESCENCEif(IONSUM[NVAC]>15):print(' WARNING THIRD GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endif# VEL IN METRES/PICOSECONDVV=2.99792458*10**-4IONF3[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF3[NVAC][J]=ESTORE[NVAC][J]X3[NVAC][J]=X21[NVAC][L1]+DIST1*DRX0[NVAC][L1]Z3[NVAC][J]=Y21[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z3[NVAC][J]=Z21[NVAC][L1]+DIST1*DRZ0[NVAC][L1]T3[NVAC][J]=T21[NVAC][L1]+DIST1/VVX31[NVAC][L1]=X3[NVAC][J]Y31[NVAC][L1]=Z3[NVAC][J]Z31[NVAC][L1]=Z3[NVAC][J]T31[NVAC][L1]=T3[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTF4E(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/CALCAS3E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28)# COMMON/CALCAS4E/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/GENE4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),DRXS(10,12),DRYS(10,12),DRZS(10,12),T4(10,12)#COMMON/CALCASE/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1E/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENE1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRXS#(10,28)globalDRYS#(10,28)globalDRZS#(10,28)globalT1#(10,28)# COMMON/GEN131/X31(10,28),Y31(10,28),Z31(10,28),T31(10,28)# COMMON/GEN141/X41(10,28),Y41(10,28),Z41(10,28),T41(10,28)## # COMMON/GEN131/globalX31#(10,28)globalY31#(10,28)globalZ31#(10,28)globalT31#(10,28)# COMMON/GEN121/globalX21#(10,28)globalY21#(10,28)globalZ21#(10,28)globalT21#(10,28)if(L1==0):# ZERO COUNTERIONF4[NVAC]=0forKinrange(1,12):ESTF4[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR FOURTH GENERATION FLUORESCENCEif(IONSUM[NVAC]>12):print(' WARNING FOURTH GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endif# VEL IN METRES/PICOSECONDVV=2.99792458*10**-4IONF4[NVAC]=IONSUM[NVAC]DO1J=1,IONSUM[NVAC]ESTF4[NVAC][J]=ESTORE[NVAC][J]X4[NVAC][J]=X31[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y4[NVAC][J]=Y31[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z4[NVAC][J]=Z31[NVAC][L1]+DIST1*DRZ0[NVAC][L1]T4[NVAC][J]=T31[NVAC][L1]+DIST1/VVX41[NVAC][L1]=X4[NVAC][J]Y41[NVAC][L1]=Y4[NVAC][J]Z41[NVAC][L1]=Z4[NVAC][J]T41[NVAC][L1]=T4[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# enddefCSSTF5E(NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/CALCAS4E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28)# COMMON/CALCAS5E/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# COMMON/GENE5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),DRXS(10,5),DRYS(10,5),DRZS(10,5),T5(10,5)#COMMON/CALCASE/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1E/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]#COMMON/GENE1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRXS#(10,28)globalDRYS#(10,28)globalDRZS#(10,28)globalT1#(10,28)# COMMON/GEN141/X41(10,28),Y41(10,28),Z41(10,28),T41(10,28)# COMMON/GEN151/X51(10,28),Y51(10,28),Z51(10,28),T51(10,28)# COMMON/GEN131/globalX31#(10,28)globalY31#(10,28)globalZ31#(10,28)globalT31#(10,28) # COMMON/GEN141/globalX41#(10,28)globalY41#(10,28)globalZ41#(10,28)globalT41#(10,28)if(L1==0):# ZERO COUNTERIONF5[NVAC]=0forKinrange(1,5):ESTF5[NVAC][K]=0.0return# endif# STORE EVENT DATA FOR FIFTH GENERATION FLUORESCENCEif(IONSUM[NVAC]>5):print(' WARNING FifTH GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n')sys.exit()# endif# VEL IN METRES/PICOSECONDVV=2.99792458*10**-4IONF5[NVAC]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]):ESTF5[NVAC][J]=ESTORE[NVAC][J]X5[NVAC][J]=X41[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y5[NVAC][J]=Y41[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z5[NVAC][J]=Z41[NVAC][L1]+DIST1*DRZ0[NVAC][L1]T5[NVAC][J]=T41[NVAC][L1]+DIST1/VVX51[NVAC][L1]=X5[NVAC][J]Y51[NVAC][L1]=Y5[NVAC][J]Z51[NVAC][L1]=Z5[NVAC][J]T51[NVAC][L1]=T5[NVAC][J]DRXS[NVAC][J]=DRXE[NVAC][J]DRYS[NVAC][J]=DRYE[NVAC][J]DRZS[NVAC][J]=DRZE[NVAC][J]return# end
SUBROUTINECSSTF1E(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCASE/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS1E/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENE1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),/DRXS(10,28),DRYS(10,28),DRZS(10,28),T1(10,28)COMMON/GEN111/X11(10,28),Y11(10,28),Z11(10,28),T11(10,28)COMMON/GEN101/X01(10),Y01(10),Z01(10),T01(10)IF(L1.EQ.0)THENCZEROCOUNTERIONF1(NVAC)=0DO11K=1,2811ESTF1(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORFIRSTGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING FIRST GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFCVELINMETRES/PICOSECONDVV=2.99792458D-4IONF1(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF1(NVAC,J)=ESTORE(NVAC,J)X1(NVAC,J)=X01(NVAC)+DIST1*DRX0(NVAC,L1)Y1(NVAC,J)=Y01(NVAC)+DIST1*DRY0(NVAC,L1)Z1(NVAC,J)=Z01(NVAC)+DIST1*DRZ0(NVAC,L1)T1(NVAC,J)=T01(NVAC)+DIST1/VVX11(NVAC,L1)=X1(NVAC,J)Y11(NVAC,L1)=Y1(NVAC,J)Z11(NVAC,L1)=Z1(NVAC,J)T11(NVAC,L1)=T1(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF2E(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS1E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS2E/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENE2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),/DRXS(10,28),DRYS(10,28),DRZS(10,28),T2(10,28)COMMON/GEN121/X21(10,28),Y21(10,28),Z21(10,28),T21(10,28)COMMON/GEN111/X11(10,28),Y11(10,28),Z11(10,28),T11(10,28)IF(L1.EQ.0)THENCZEROCOUNTERIONF2(NVAC)=0DO11K=1,2811ESTF2(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORSECONDGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING SECOND GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFCVELINMETRES/PICOSECONDVV=2.99792458D-4IONF2(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF2(NVAC,J)=ESTORE(NVAC,J)X2(NVAC,J)=X11(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y2(NVAC,J)=Y11(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z2(NVAC,J)=Z11(NVAC,L1)+DIST1*DRZ0(NVAC,L1)T2(NVAC,J)=T11(NVAC,L1)+DIST1/VVX21(NVAC,L1)=X2(NVAC,J)Y21(NVAC,L1)=Y2(NVAC,J)Z21(NVAC,L1)=Z2(NVAC,J)T21(NVAC,L1)=T2(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF3E(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS2E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS3E/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENE3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),/DRXS(10,15),DRYS(10,15),DRZS(10,15),T3(10,15)COMMON/GEN131/X31(10,28),Y31(10,28),Z31(10,28),T31(10,28)COMMON/GEN121/X21(10,28),Y21(10,28),Z21(10,28),T21(10,28)CIF(L1.EQ.0)THENCZEROCOUNTERIONF3(NVAC)=0DO11K=1,1511ESTF3(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORTHIRDGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.15)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING THIRD GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFCVELINMETRES/PICOSECONDVV=2.99792458D-4IONF3(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF3(NVAC,J)=ESTORE(NVAC,J)X3(NVAC,J)=X21(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y3(NVAC,J)=Y21(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z3(NVAC,J)=Z21(NVAC,L1)+DIST1*DRZ0(NVAC,L1)T3(NVAC,J)=T21(NVAC,L1)+DIST1/VVX31(NVAC,L1)=X3(NVAC,J)Y31(NVAC,L1)=Y3(NVAC,J)Z31(NVAC,L1)=Z3(NVAC,J)T31(NVAC,L1)=T3(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF4E(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS3E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS4E/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENE4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),/DRXS(10,12),DRYS(10,12),DRZS(10,12),T4(10,12)COMMON/GEN131/X31(10,28),Y31(10,28),Z31(10,28),T31(10,28)COMMON/GEN141/X41(10,28),Y41(10,28),Z41(10,28),T41(10,28)CIF(L1.EQ.0)THENCZEROCOUNTERIONF4(NVAC)=0DO11K=1,1211ESTF4(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORFOURTHGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.12)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING FOURTH GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFCVELINMETRES/PICOSECONDVV=2.99792458D-4IONF4(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF4(NVAC,J)=ESTORE(NVAC,J)X4(NVAC,J)=X31(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y4(NVAC,J)=Y31(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z4(NVAC,J)=Z31(NVAC,L1)+DIST1*DRZ0(NVAC,L1)T4(NVAC,J)=T31(NVAC,L1)+DIST1/VVX41(NVAC,L1)=X4(NVAC,J)Y41(NVAC,L1)=Y4(NVAC,J)Z41(NVAC,L1)=Z4(NVAC,J)T41(NVAC,L1)=T4(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF5E(NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS4E/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS5E/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GENE5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),/DRXS(10,5),DRYS(10,5),DRZS(10,5),T5(10,5)COMMON/GEN141/X41(10,28),Y41(10,28),Z41(10,28),T41(10,28)COMMON/GEN151/X51(10,28),Y51(10,28),Z51(10,28),T51(10,28)IF(L1.EQ.0)THENCZEROCOUNTERIONF5(NVAC)=0DO11K=1,511ESTF5(NVAC,K)=0.0RETURNENDIFCSTOREEVENTDATAFORFIFTHGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.5)THENWRITE(6,99)IONSUM(NVAC),NVAC99FORMAT(' WARNING FIFTH GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/)STOPENDIFCVELINMETRES/PICOSECONDVV=2.99792458D-4IONF5(NVAC)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF5(NVAC,J)=ESTORE(NVAC,J)X5(NVAC,J)=X41(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y5(NVAC,J)=Y41(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z5(NVAC,J)=Z41(NVAC,L1)+DIST1*DRZ0(NVAC,L1)T5(NVAC,J)=T41(NVAC,L1)+DIST1/VVX51(NVAC,L1)=X5(NVAC,J)Y51(NVAC,L1)=Y5(NVAC,J)Z51(NVAC,L1)=Z5(NVAC,J)T51(NVAC,L1)=T5(NVAC,J)DRXS(NVAC,J)=DRXE(NVAC,J)DRYS(NVAC,J)=DRYE(NVAC,J)DRZS(NVAC,J)=DRZE(NVAC,J)1CONTINUERETURNEND
COMPRESSE()
Stores event for input to thermalisation
Arguments
Argument
Description
ETOT
defCOMPRESSE(ETOT):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN# COMMON/RESE/IONSM(10),IFLSM(10),ESTOR(10,28),EPHOT(10,28),X(10,28),Y(10,28),Z[10,28],DRX0(10,28),DRY0(10,28),DRZ0(10,28),T00(10,28)# COMMON/GENE1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),DRX1(10,28),DRY1(10,28),DRZ1(10,28),T01(10,28)# COMMON/GENE2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),DRX2(10,28),DRY2(10,28),DRZ2(10,28),T02(10,28)# COMMON/GENE3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),DRX3(10,15),DRY3(10,15),DRZ3(10,15),T03(10,15)# COMMON/GENE4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),DRX4(10,12),DRY4(10,12),DRZ4(10,12),T04(10,12)# COMMON/GENE5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),DRX5(10,5),DRY5(10,5),DRZ5(10,5),T05(10,5) # COMMON/INTHRMB2/NPTPE,ET(10,50),XT(10,50),YT(10,50),ZT(10,50),TT(10,50),DRX(10,50),DRY(10,50),DRZ[10,50],NJFLR(10,50),IEVENTL(10) # COMMON/PPSTRB/NPTP,EPPST[2],XPP[2],YPP[2],ZPP[2],DRXPP[2],DRYPP[2],DRZPP[2]#COMMON/INPT/globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN#COMMON/RESE/globalIONSM#(10)globalIFLSM#(10)globalESTOR#(10,28)globalEPHOT#(10,28)globalX#(10,28)globalY#(10,28)globalZ#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)globalT00#(10,28)#COMMON/GENE1/globalIONF1#(10)globalESTF1#(10,28)globalX1#(10,28)globalY1#(10,28)globalZ1#(10,28)globalDRX1#(10,28)globalDRY1#(10,28)globalDRZ1#(10,28)globalT01#(10,28)#COMMON/GENE2/globalIONF2#(10)globalESTF2#(10,28)globalX2#(10,28)globalY2#(10,28)globalZ2#(10,28)globalDRX2#(10,28)globalDRY2#(10,28)globalDRZ2#(10,28)globalT02#(10,28)#COMMON/GENE3/globalIONF3#(10)globalESTF3#(10,15)globalX3#(10,15)globalY3#(10,15)globalZ3#(10,15)globalDRX3#(10,15)globalDRY3#(10,15)globalDRZ3#(10,15)globalT03#(10,15)#COMMON/GENE4/globalIONF4#(10)globalESTF4#(10,12)globalX4#(10,12)globalY4#(10,12)globalZ4#(10,12)globalDRX4#(10,12)globalDRY4#(10,12)globalDRZ4#(10,12)globalT04#(10,12)#COMMON/GENE5/globalIONF5#(10)globalESTF5#(10,5)globalX5#(10,5)globalY5#(10,5)globalZ5#(10,5)globalDRX5#(10,5)globalDRY5#(10,5)globalDRZ5#(10,5)globalT05#(10,5) #COMMON/INTHRMB2/globalNPTPEglobalET#(10,50)globalXT#(10,50)globalYT#(10,50)globalZT#(10,50)globalTT#(10,50)globalDRX#(10,50)globalDRY#(10,50)globalDRZ#(10,50)globalNJFLR#(10,50)globalIEVENTL#(10) #COMMON/PPSTRB/globalNPTPglobalEPPST#(2)globalXPP#(2)globalYPP#(2)globalZPP#(2)globalDRXPP#(2)globalDRYPP#(2)globalDRZPP#(2)#DIMENSION ESTOT=[0forxinrange(10)]NPTPE=1IVAC=1# # #STORE CASCADE:forKinrange(1,IVAC):ESTOT[K]=0.0ITOT=IONSM[K]+IONF1[K]+IONF2[K]+IONF3[K]+IONF4[K]+IONF5[K]IEVENTL[K]=ITOTif(ITOT>50):print(' NEVENT=',J,' ITOT OVERFLOW IN OUTPUTBC')sys.exit()# endif# STORE EVENT FOR INPUT TO THERMALISATIONforMinrange(1,IONSM[K]):ET[K][M]=ESTOR[K][M]XT[K][M]=X[K][M]TT[K][M]=T00[K][M]DRX[K][M]=DRX0[K][M]DRY[K][M]=DRY0[K][M]DRZ[K,M]=DRZ0[K][M]ESTOT[K]=ESTOT[K]+ESTOR[K][M]NJFLR[K][M]=0if(IONF1[K]==0):passelse:forMinrange(1,IONF1[K]):M1=M+IONSM[K]ET[K][M1]=ESTF1[K][M]XT[K][M1]=X1[K][M]YT[K][M1]=Y1[K][M]ZT[K][M1]=Z1[K][M]TT[K][M]=T01[K][M]DRX[K][M1]=DRX1[K][M]DRY[K][M1]=DRY1[K][M]DRZ[K,M1]=DRZ1[K][M]ESTOT[K]=ESTOT[K]+ESTF1[K][M]NJFLR[K][M1]=1# 17 if(IONF2[K]==0):passelse:forMinrange(1,IONF2[K]):M2=M+IONSM[K]+IONF1[K]ET[K][M2]=ESTF2[K][M]XT[K][M2]=X2[K][M]YT[K][M2]=Y2[K][M]ZT[K][M2]=Z2[K][M]TT[K][M2]=T02[K][M]DRX[K][M2]=DRX2[K][M]DRY[K][M2]=DRY2[K][M]DRZ[K,M2]=DRZ2[K][M]ESTOT[K]=ESTOT[K]+ESTF2[K][M]NJFLR[K][M2]=2#18 if(IONF3[K]==0):passelse:forMinrange(1,IONF3[K]):M3=M+IONSM[K]+IONF1[K]+IONF2[K]ET[K][M3]=ESTF3[K][M]XT[K][M3]=X3[K][M]YT[K][M3]=Y3[K][M]ZT[K][M3]=Z3[K][M]TT[K][M3]=T03[K][M]DRX[K][M3]=DRX3[K][M]DRY[K][M3]=DRY3[K][M]DRZ[K,M3]=DRZ3[K][M]ESTOT[K]=ESTOT[K]+ESTF3[K][M]NJFLR[K][M3]=3#19 if(IONF4[K]==0):passelse:forMinrange(1,IONF4[K]):M4=M+IONSM[K]+IONF1[K]+IONF2[K]+IONF3[K]ET[K][M4]=ESTF4[K][M]XT[K][M4]=X4[K][M]YT[K][M4]=Y4[K][M]ZT[K][M4]=Z4[K][M]TT[K][M4]=T04[K][M]DRX[K][M4]=DRX4[K][M]DRY[K][M4]=DRY4[K][M]DRZ[K,M4]=DRZ4[K][M]ESTOT[K]=ESTOT[K]+ESTF4[K][M]NJFLR[K][M4]=4if(IONF5[K]==0):passelse:forMinrange(1,IONF5[K]):M5=M+IONSM[K]+IONF1[K]+IONF2[K]+IONF3[K]+IONF4[K]ET[K][M5]=ESTF5[K][M]XT[K][M5]=X5[K][M]YT[K][M5]=Y5[K][M]ZT[K][M5]=Z5[K][M]TT[K][M5]=T05[K][M]DRX[K][M5]=DRX5[K][M]DRY[K][M5]=DRY5[K][M]DRZ[K,M5]=DRZ5[K][M]ESTOT[K]=ESTOT[K]+ESTF5[K][M]NJFLR[K][M5]=5# PRINT SOME RAW DATA# IF(J <= 525) :# EDUM=0.0# DO 666 JJ=1,IEVENTL[J]# 666 EDUM=EDUM+ET(JJ,J)# WRITE(6,232) J# WRITE(6,2321) EDUM#2321 print(' TOT ENERGY=','%.3f' %)# 232 print(' DATA FOR EVENT=',I3)# DO 234 M=1,IEVENTL[J]# WRITE(6,233) ET(M,J),XT(M,J),YT(M,J),ZT(M,J),TH(M,J),PH(M,J)# 233 print(' E=','%.3f' %,' X=','%.3f' %,' Y=','%.3f' %,' Z=','%.3f' %,' THETA=',# /'%.3f' %,' PHI=','%.3f' %)# 234 CONTINUE# # endIFEDUM=0.0forKinrange(1,IVAC):EDUM=EDUM+ESTOT[K]ETOT=EDUMif(EDUM>(EFINAL+0.1)):print(' ETOT =','%.5f'%EDUM,'EV. BAD EVENT IN COMPRESSE\n')IBAD=1sys.exit()# endifreturn# end
SUBROUTINECOMPRESSE(ETOT)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/RESE/IONSM(10),IFLSM(10),ESTOR(10,28),EPHOT(10,28),/X(10,28),Y(10,28),Z(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28),/T00(10,28)COMMON/GENE1/IONF1(10),ESTF1(10,28),X1(10,28),Y1(10,28),Z1(10,28),/DRX1(10,28),DRY1(10,28),DRZ1(10,28),T01(10,28)COMMON/GENE2/IONF2(10),ESTF2(10,28),X2(10,28),Y2(10,28),Z2(10,28),/DRX2(10,28),DRY2(10,28),DRZ2(10,28),T02(10,28)COMMON/GENE3/IONF3(10),ESTF3(10,15),X3(10,15),Y3(10,15),Z3(10,15),/DRX3(10,15),DRY3(10,15),DRZ3(10,15),T03(10,15)COMMON/GENE4/IONF4(10),ESTF4(10,12),X4(10,12),Y4(10,12),Z4(10,12),/DRX4(10,12),DRY4(10,12),DRZ4(10,12),T04(10,12)COMMON/GENE5/IONF5(10),ESTF5(10,5),X5(10,5),Y5(10,5),Z5(10,5),/DRX5(10,5),DRY5(10,5),DRZ5(10,5),T05(10,5)COMMON/INTHRMB2/NPTPE,ET(10,50),XT(10,50),/YT(10,50),ZT(10,50),TT(10,50),DRX(10,50),DRY(10,50),DRZ(10,50),/NJFLR(10,50),IEVENTL(10)COMMON/PPSTRB/NPTP,EPPST(2),XPP(2),YPP(2),ZPP(2),/DRXPP(2),DRYPP(2),DRZPP(2)DIMENSIONESTOT(10)NPTPE=1IVAC=1CCSTORECASCADEDATAINTOCOMMON/INTHRMB2/DO12K=1,IVACESTOT(K)=0.0ITOT=IONSM(K)+IONF1(K)+IONF2(K)+IONF3(K)+IONF4(K)+IONF5(K)IEVENTL(K)=ITOTIF(ITOT.GT.50)THENWRITE(6,811)J811FORMAT(' NEVENT=',I5,' ITOT OVERFLOW IN OUTPUTBC')STOPENDIFCSTOREEVENTFORINPUTTOTHERMALISATIONDO6M=1,IONSM(K)ET(K,M)=ESTOR(K,M)XT(K,M)=X(K,M)YT(K,M)=Y(K,M)ZT(K,M)=Z(K,M)TT(K,M)=T00(K,M)DRX(K,M)=DRX0(K,M)DRY(K,M)=DRY0(K,M)DRZ(K,M)=DRZ0(K,M)ESTOT(K)=ESTOT(K)+ESTOR(K,M)NJFLR(K,M)=06CONTINUEIF(IONF1(K).EQ.0)GOTO17DO7M=1,IONF1(K)M1=M+IONSM(K)ET(K,M1)=ESTF1(K,M)XT(K,M1)=X1(K,M)YT(K,M1)=Y1(K,M)ZT(K,M1)=Z1(K,M)TT(K,M)=T01(K,M)DRX(K,M1)=DRX1(K,M)DRY(K,M1)=DRY1(K,M)DRZ(K,M1)=DRZ1(K,M)ESTOT(K)=ESTOT(K)+ESTF1(K,M)NJFLR(K,M1)=17CONTINUE17IF(IONF2(K).EQ.0)GOTO18DO8M=1,IONF2(K)M2=M+IONSM(K)+IONF1(K)ET(K,M2)=ESTF2(K,M)XT(K,M2)=X2(K,M)YT(K,M2)=Y2(K,M)ZT(K,M2)=Z2(K,M)TT(K,M2)=T02(K,M)DRX(K,M2)=DRX2(K,M)DRY(K,M2)=DRY2(K,M)DRZ(K,M2)=DRZ2(K,M)ESTOT(K)=ESTOT(K)+ESTF2(K,M)NJFLR(K,M2)=28CONTINUE18IF(IONF3(K).EQ.0)GOTO19DO9M=1,IONF3(K)M3=M+IONSM(K)+IONF1(K)+IONF2(K)ET(K,M3)=ESTF3(K,M)XT(K,M3)=X3(K,M)YT(K,M3)=Y3(K,M)ZT(K,M3)=Z3(K,M)TT(K,M3)=T03(K,M)DRX(K,M3)=DRX3(K,M)DRY(K,M3)=DRY3(K,M)DRZ(K,M3)=DRZ3(K,M)ESTOT(K)=ESTOT(K)+ESTF3(K,M)NJFLR(K,M3)=39CONTINUE19IF(IONF4(K).EQ.0)GOTO20DO10M=1,IONF4(K)M4=M+IONSM(K)+IONF1(K)+IONF2(K)+IONF3(K)ET(K,M4)=ESTF4(K,M)XT(K,M4)=X4(K,M)YT(K,M4)=Y4(K,M)ZT(K,M4)=Z4(K,M)TT(K,M4)=T04(K,M)DRX(K,M4)=DRX4(K,M)DRY(K,M4)=DRY4(K,M)DRZ(K,M4)=DRZ4(K,M)ESTOT(K)=ESTOT(K)+ESTF4(K,M)NJFLR(K,M4)=410CONTINUE20IF(IONF5(K).EQ.0)GOTO21DO11M=1,IONF5(K)M5=M+IONSM(K)+IONF1(K)+IONF2(K)+IONF3(K)+IONF4(K)ET(K,M5)=ESTF5(K,M)XT(K,M5)=X5(K,M)YT(K,M5)=Y5(K,M)ZT(K,M5)=Z5(K,M)TT(K,M5)=T05(K,M)DRX(K,M5)=DRX5(K,M)DRY(K,M5)=DRY5(K,M)DRZ(K,M5)=DRZ5(K,M)ESTOT(K)=ESTOT(K)+ESTF5(K,M)NJFLR(K,M5)=511CONTINUE21CONTINUECPRINTSOMERAWDATACIF(J.LE.525)THENCEDUM=0.0CDO666JJ=1,IEVENTL(J)C666EDUM=EDUM+ET(JJ,J)CWRITE(6,232)JCWRITE(6,2321)EDUMC2321FORMAT(' TOT ENERGY=',D12.3)C232FORMAT(' DATA FOR EVENT=',I3)CDO234M=1,IEVENTL(J)CWRITE(6,233)ET(M,J),XT(M,J),YT(M,J),ZT(M,J),TH(M,J),PH(M,J)C233FORMAT(' E=',D12.3,' X=',D12.3,' Y=',D12.3,' Z=',D12.3,' THETA=',C/D12.3,' PHI=',D12.3)C234CONTINUECENDIFEDUM=0.012CONTINUEDO30K=1,IVACEDUM=EDUM+ESTOT(K)30CONTINUEETOT=EDUMIF(EDUM.GT.(EFINAL+0.1))THENWRITE(6,999)EDUM999FORMAT(' ETOT =',D12.5,'EV. BAD EVENT IN COMPRESSE',/)IBAD=1STOPENDIFRETURNEND
defSPLIT1(I,E,EI,ESEC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/IONMOD/globalESPLIT#(512,20)globalIONMODEL#(512)# MODIFIED OPAL BEATY WITH ENERGY DEP# endANT SPLITTING def# MODEL ASSUMES CONSTANT SPLITTING def BETWEEN EI AND 10 KEV# : LOGARTHMIC CHANGE WITH ENERGY UP TO A CONSTANT VALUE AT# MINIMUM IONISING ,1 MEV , AND ABOVE WPLLOW=ESPLIT[I][1]WPLHIGH=ESPLIT[I][2]if(E<=1*10**4):WPL=WPLLOWpasselif(E>=1*10**6):WPL=WPLHIGHpasselse:# LOG INTERPOLATE AT ENERGY E A=(WPLHIGH-WPLLOW)*0.21714724095B=-(9.21034037198*WPLHIGH-13.815510558*WPLLOW)*0.21714724095WPL=A*math.log(E)+B# endifR1=DRAND48(RDUM)ESEC=WPL*TAN(R1*ATAN((E-EI)/(2.0*WPL)))ESEC=WPL*(ESEC/WPL)**0.9524return# end defSPLIT2(I,E,EI,ESEC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/IONMOD/globalESPLIT#(512,20)globalIONMODEL#(512)# POSSIBLE ENERGY SPLITTING defreturn# end defSPLIT3(I,E,EI,ESEC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/IONMOD/globalESPLIT#(512,20)globalIONMODEL#(512)# POSSIBLE ENERGY SPLITTING defreturn# end defSPLIT4(I,E,EI,ESEC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/IONMOD/globalESPLIT#(512,20)globalIONMODEL#(512)# POSSIBLE ENERGY SPLITTING defreturn# end defSPLIT5(I,E,EI,ESEC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# COMMON/IONMOD/globalESPLIT#(512,20)globalIONMODEL#(512)# POSSIBLE ENERGY SPLITTING defreturn# end
MONTEFE()
Tracks DELTA electrons and updates arrays containing position and time of thermalised electrons.
Calculates number of produced electrons per primary and other higher FANO factors.
Range accurate for anisotropic X-Sections
Arguments
Argument
Description
NONE
-
Pseudo-Code
SUBROUTINEMONTEFEIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/INPT1/NDVECCOMMON/CNSTS1/CONST1,CONST2,CONST3,CONST4,CONST5COMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITECOMMON/LARGE/CF(20000,512),EIN(512),TCF(20000),IARRY(512),/RGAS(512),IPN(512),WPL(512),IZBR(512),IPLAST,PENFRA(3,512)COMMON/LARGEN/CFN(20000,60),TCFN(20000),SCLENUL(60),NPLASTCOMMON/OUTPT/ICOLL(30),NETOT,NPRIME,TMAX1,TIME(300),NNULL,/NITOT,ICOLN(512),ICOLNN(60),NREAL,NEXCTOTCOMMON/RLTVY/BET(20000),GAM(20000),VC,EMSCOMMON/STTS/XST(150000),YST(150000),ZST(150000),TST(150000),/TTIME(150000),NFGF(150000),NFGPP(150000),NFGBR(150000),NELEC,/NEGION,EST1,EST2COMMON/STEXC/XSTEXC(150000),YSTEXC(150000),ZSTEXC(150000),/TSTEXC(150000),NSTEXCCOMMON/STEXCNUL/XSTN(150000),YSTN(150000),ZSTN(150000),/TSTN(150000),IDNUL(150000),NEXCNULCOMMON/IONC/DOUBLE(6,20000),CMINIXSC(6),CMINEXSC(6),ECLOSS(6),/WPLN(6),ICOUNT,AVPFRAC(3,6)COMMON/IONFL/NC0(512),EC0(512),NG1(512),EG1(512),NG2(512),/EG2(512),WKLM(512),DSTFL(512)COMMON/IONMOD/ESPLIT(512,20),IONMODEL(512)COMMON/ANIS/PSCT(20000,512),ANGCT(20000,512),INDEX(512),NISOCOMMON/CASRS/ECAS(400),XCAS(400),YCAS(400),ZCAS(400),DRXS(400),/DRYS(400),DRZS(400),TT1(400),NFLGF(400),NFLGPP(400),IEVNTLCOMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/BREMG/EBRGAM(10),BRDCOSX(10),BRDCOSY(10),BRDCOSZ(10),/BRX(10),BRY(10),BRZ(10),BRT(10),EBRTOT(6),NBREM(6)COMMON/CASRSB/ECASB(400),XCASB(400),YCASB(400),ZCASB(400),/DRXB(400),DRYB(400),DRZB(400),TTB1(400),NFLGFB(400),NFLGPPB(400),/IEVNTLBCOMMON/CASRSE/ECASE(400),XCASE(400),YCASE(400),ZCASE(400),/DRXCE(400),DRYCE(400),DRZCE(400),TCASE(400),/NFLGFE(400),NFLGPPE(400),IEVENTECOMMON/ECASC/NEGAS(512),LEGAS(512),IESHELL(512),IECASCCOMMON/IDEXC/NGEXC1,NGEXC2,NGEXC3,NGEXC4,NGEXC5,NGEXC6,/IDG1,IDG2,IDG3,IDG4,IDG5,IDG6DIMENSIONXS(150000),YS(150000),ZS(150000),TS(150000),ES(150000),/DCX(150000),DCY(150000),DCZ(150000),/NFLGFC(150000),NFLGPPC(150000),NFLGBRMC(150000)DIMENSIONTEMP(20000)CDIMENSIONETEMP(1000)C----------------------------------------------------------------------CRELATIVISTICVERSIONSEPTEMBER2013CELECTRICFIELDALONGZAXIS.NOMAGNETICFIELD.CTRACKSDELTAELECTRONSANDUPDATESARRAYSCONTAININGPOSITIONANDCTIMEOFTHERMALISEDELECTRONS.CCALCULATESNUMBEROFPRODUCEDELECTRONSPERPRIMARYANDOTHERCHIGHERFANOFACTORS.CRANGEISACCURATEONLYFORANISOTROPICX-SECTIONSC----------------------------------------------------------------------CVARYINGENERGYSTEPSIF(EFINAL.LE.140000.)THENESTEP1=(EFINAL-16000.0)/DFLOAT(4000)ELSEESTEP1=20.0ESTEP2=(EFINAL-92000.0)/DFLOAT(4000)ENDIFNPRINT=0J20000=20000J300=300API=DACOS(-1.0D0)SMALL=1.0D-20TMAX1=0.0D0EMAX=0.0D0RDUM=RSTARTCONST9=CONST3*0.01D0DO25I=1,30025TIME(I)=0.0D0DO26I=1,3026ICOLL(I)=0DO27I=1,51227ICOLN(I)=0NREAL=0NNULL=0NETOT=0NEXCTOT=0NITOT=0NMXADD=0NTMPFLG=0BP=EFIELD*EFIELD*CONST1F1=EFIELD*CONST2F2=EFIELD*CONST3F4=2.0D0*APITHETA1=THETAPHI1=PHICCALCULATEMAXIMUMCOLLISIONFREQUENCYTLIM=0.0DO111J=1,20000TEMP(J)=TCFN(J)+TCF(J)IF(TLIM.LT.TEMP(J))TLIM=TEMP(J)111CONTINUENEOVFL=0J1=0CSTARTOFPRIMARYEVENTLOOPDO210J11=1,NDELTAJ1=J1+1NPRIME=J1NGEXC1=0NGEXC2=0NGEXC3=0NGEXC4=0NGEXC5=0NGEXC6=0CINITIALDIRECTIONCOSINESFORELECTRONBEAMDCZ1=DCOS(THETA1)DCX1=DSIN(THETA1)*DCOS(PHI1)DCY1=DSIN(THETA1)*DSIN(PHI1)NFLGFF=0NFLGPPP=0NFLGBRMM=0NFLGHIGH=0EST1=ESTARTE1=ESTARTX=0.0D0Y=0.0D0Z=0.0D0K1=0KEXC=0NSTEXC=0NEXCNUL=0NCLUS=0NELEC=0NEGION=0TLAST=0.0D0ST=0.0D0TDASH=0.0D0IF(IMIP.EQ.2)GOTO1IF(IMIP.GT.2)THENCREADINFIRSTELECTRONFROMBETADECAYORXRAYUNTHERMALISEDCLUSTERSCALLCASRES(J11,IBADTOT,IBAD1)CSKIPIFBADEVENTIF(IBAD1.EQ.1)THENJ1=J1-1GOTO210ENDIFELSEIF(IMIP.EQ.1)THENCREADINFIRSTELECTRONFROMMIPINTERACTIONCALLCASREM(J11)EST1=ECAS(1)EST2=EST1ENDIFX=XCAS(1)Y=YCAS(1)Z=ZCAS(1)ST=TT1(1)TS(1)=TT1(1)E1=ECAS(1)DCZ1=DRZS(1)DCY1=DRYS(1)DCX1=DRXS(1)NFLGFF=NFLGF(1)NFLGPPP=NFLGPP(1)NFLGBRMM=0NFLGHIGH=NFLGFFCPUTREMAINDEROFELECTRONSINTOCLUSTERSTOREISDUM=0DO35IST=2,IEVNTLISDUM=ISDUM+1XS(ISDUM)=XCAS(IST)YS(ISDUM)=YCAS(IST)ZS(ISDUM)=ZCAS(IST)TS(ISDUM)=TT1(IST)ES(ISDUM)=ECAS(IST)DCX(ISDUM)=DRXS(IST)DCY(ISDUM)=DRYS(IST)DCZ(ISDUM)=DRZS(IST)NFLGFC(ISDUM)=NFLGF(IST)NFLGPPC(ISDUM)=NFLGPP(IST)NFLGBRMC(ISDUM)=0NCLUS=ISDUMIF(NFLGF(IST).GT.NFLGHIGH)NFLGHIGH=NFLGF(IST)35CONTINUECSTARTOFLOOPFORNEWLYCREATEDELECTRONS1CONTINUER1=drand48(RDUM)T=-DLOG(R1)/TLIM+TDASHTDASH=TCAP=DCZ1*F2*DSQRT(E1)GAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))AP=DCZ1*EFIELD*BET1*VC*1.0D-10BP1=BP/GAM1E=E1+(AP+BP1*T)*TIF(E.LT.0.0D0)THENE=0.001D0ENDIFCINSERTNEWALGORITHMTOFINDIEFORVARYINGENERGYSTEPIF(IMIP.EQ.1)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.20000.)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.140000.)THENIF(E.LE.16000.)THENIE=DINT(E)+1ELSEIE=16000+DINT((E-16000.)/ESTEP1)ENDIFELSEIF(E.LE.12000.)THENIE=DINT(E)+1ELSEIF(E.LE.92000.)THENIE=12000+DINT((E-12000.)/ESTEP1)ELSEIE=16000+DINT((E-92000.)/ESTEP2)ENDIFENDIFENDIFIE=DMIN0(IE,J20000)CCTESTFORREALORNULLCOLLISIONCR5=drand48(RDUM)TEST1=TCF(IE)/TLIMIF(R5.LE.TEST1)GOTO137NNULL=NNULL+1TEST2=TEMP(IE)/TLIMIF(R5.LT.TEST2)THENCTESTFORNULLLEVELSIF(NPLAST.EQ.0)GOTO1R2=drand48(RDUM)I=0888I=I+1IF(CFN(IE,I).LT.R2)GOTO888CINCREMENTNULLLEVELSUMNEXCNUL=NEXCNUL+1ICOLNN(I)=ICOLNN(I)+1CSTOREXYZTIDFORMOLECULARLIGHTEMISSIONFROMNULLEXCITATIONCNOTE:SMALLAPPROXUSEDPOSITIONOFPREVIOUSREALCOLLISIONXSTN(NEXCNUL)=XYSTN(NEXCNUL)=YZSTN(NEXCNUL)=ZTSTN(NEXCNUL)=STIDNUL(NEXCNUL)=IGOTO1ELSECNULLGOTO1ENDIFCCCALCULATEDIRECTIONCOSINESANDPOSITIONSATINSTANTBEFORECOLLISION137T2=T*TIF(E.GT.EMAX)EMAX=EIF(T.GT.TMAX1)TMAX1=TTDASH=0.0D0NREAL=NREAL+1CCONST6=DSQRT(E1/E)GAM2=(EMS+E)/EMSGAM12=(GAM1+GAM2)/2.0D0BET2=DSQRT(1.0D0-1.0D0/(GAM2*GAM2))CONST6=BET1/BET2DCX2=DCX1*CONST6DCY2=DCY1*CONST6CDCZ2=DCZ1*CONST6+EFIELD*T*CONST5/DSQRT(E)DCZ2=DCZ1*CONST6+EFIELD*T*2.0D10*CONST1/(VC*BET2)CCONST7=CONST9*DSQRT(E1)CONST7=VC*BET1*1.0D-12A=T*CONST7X=X+DCX1*AY=Y+DCY1*AZ=Z+DCZ1*A+T2*F1/GAM12CZ=Z+DCZ1*A+T2*F1ST=ST+TIT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0C---------------------------------------------------------------------CDETERMINATIONOFREALCOLLISIONTYPEC---------------------------------------------------------------------R2=drand48(RDUM)I=0140I=I+1IF(CF(IE,I).LT.R2)GOTO140C************************************************************CCHECKIFBREMSSTRAHLUNGIF(IZBR(I).NE.0.AND.LBRM.EQ.1)THENNFLGBRMM=1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1DO141KNGS=1,NGASIF(IPT.EQ.(KNGS*5)-1)GOTO142141CONTINUE142IATOMNO=IZBR(I)CALLBREMS(IATOMNO,E,DCX2,DCY2,DCZ2,EOUT,EDCX,EDCY,EDCZ,/EGAMMA,GDCX,GDCY,GDCZ)NBREM(KNGS)=NBREM(KNGS)+1EBRTOT(KNGS)=EBRTOT(KNGS)+EGAMMACGETNEWDRCOSDRCOSYDRCOSXANDENERGYOFELECTRONE1=EOUTDCX1=EDCXDCY1=EDCYDCZ1=EDCZCRUNBREMSSTRAHLUNGGAMMATHROUGHCASCADETHENSTORECONVERTEDCELECTRONSINCOMMON/CASRSB/CCALLBREMSCASC(J11,EGAMMA,X,Y,Z,ST,GDCX,GDCY,GDCZ,ILOW)CBREMSSTRAHLUNGENERGYTOOLOWTOIONISEIF(ILOW.EQ.1)GOTO190CCSTOREBREMSSTRAHLUNGDATAINCLUSTERSTORECETSUM=0.0DO890KBR=1,IEVNTLBNCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASB(KBR)ETSUM=ETSUM+ES(NCLUS)XS(NCLUS)=XCASB(KBR)YS(NCLUS)=YCASB(KBR)ZS(NCLUS)=ZCASB(KBR)TS(NCLUS)=TTB1(KBR)DCX(NCLUS)=DRXB(KBR)DCY(NCLUS)=DRYB(KBR)DCZ(NCLUS)=DRZB(KBR)NFLGFC(NCLUS)=NFLGFB(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPB(KBR)NFLGBRMC(NCLUS)=2890CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO190ENDIF891CONTINUEC*****************************************************************CS1=RGAS(I)S1=1.0D0+GAM2*(RGAS(I)-1.0D0)EI=EIN(I)CWRITE(6,8890)EIN(I),IC8890FORMAT(' EIN=',D12.4,' I=',I3)IF(E.LT.EI)THENEI=E-0.0001D0ENDIFIF(IPN(I).EQ.0)GOTO666CATTACHMENTIF(IPN(I).EQ.-1)THENNETOT=NETOT+1NITOT=NITOT+1NELEC=NELEC+1NEGION=NEGION+1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1IT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0GOTO335ENDIFEISTR=EIIF(IONMODEL(I).GT.0)THENCCALCULATESECONDARYENERGY,ESEC,INIONISATIONCOLLISIONUSINGCFIVEDIFFERENTMODELSCALLIONSPLIT(I,E,EI,ESEC)GOTO544ENDIFR9=drand48(RDUM)CUSEOPALPETERSONANDBEATYSPLITTINGFACTOR.ESEC=WPL(I)*TAN(R9*ATAN((E-EI)/(2.0D0*WPL(I))))ESEC=WPL(I)*(ESEC/WPL(I))**0.9524544CONTINUEEI=ESEC+EICSTOREPOSITION,ENERGY,DIRECTIONCOSINESANDTIMEOFGENERATIONCOFSECONDARYIONISATIONELECTRONSNCLUS=NCLUS+1NMXADD=MAX(NCLUS,NMXADD)IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREAL546FORMAT(2X,' PROGRAM STOPPED . NCLUS=',I7,' NREAL=',I10)STOPENDIFXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STES(NCLUS)=ESECNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMNTMPFLG=1NCLTMP=NCLUSCES(NCLUS)=ESECCRANDOMISESECONDARYELECTRONDIRECTIONCR3=drand48(RDUM)CF3=1.0-2.0D0*R3CTHETA0=DACOS(F3)CF6=DCOS(THETA0)CF5=DSIN(THETA0)CR4=drand48(RDUM)CPHI0=F4*R4CF8=DSIN(PHI0)CF9=DCOS(PHI0)CDCX(NCLUS)=F9*F5CDCY(NCLUS)=F8*F5CDCZ(NCLUS)=F6C*********************************************************IF(IECASC.EQ.0)GOTO333IF(LEGAS(I).EQ.0)GOTO333CUSECOMPLETECASCADEFORELECTRONIONISATIONKG1=NEGAS(I)LG1=LEGAS(I)IGSHEL=IESHELL(I)CALLCASCADEE(J11,KG1,LG1,X,Y,Z,ST,ESEC,IGSHEL)CCSTORECASCADEINCLUSTERSTORECETSUM=0.0DO844KBR=1,IEVENTENCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASE(KBR)ETSUM=ETSUM+ES(NCLUS)XS(NCLUS)=XCASE(KBR)YS(NCLUS)=YCASE(KBR)ZS(NCLUS)=ZCASE(KBR)TS(NCLUS)=TCASE(KBR)DCX(NCLUS)=DRXCE(KBR)DCY(NCLUS)=DRYCE(KBR)DCZ(NCLUS)=DRZCE(KBR)NFLGFC(NCLUS)=NFLGFE(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPE(KBR)NFLGBRMC(NCLUS)=NFLGBRMM844CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO666C*********************************************************CSTOREPOSSIBLESHELLEMISSIONSAUGERORFLUORESCENCE333IF(EISTR.GT.30.0)THENCWRITE(6,8891)EISTRC8891FORMAT(' EISTR=',D12.4)CTESTIFFLUORESCENCEEMISSIONIFLTST=0IF(WKLM(I).GT.0.0)THENR9=drand48(RDUM)IF(R9.LT.WKLM(I))IFLTST=1ENDIFIF(IFLTST.EQ.0)THENCAUGEREMISSIONWITHOUTFLUORESCENCENAUG=NC0(I)EAVAUG=EC0(I)/DFLOAT(NAUG)DO700JFL=1,NC0(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6700CONTINUEELSECAUGEREMISSIONANDFLUORESENCEIF(NG2(I).EQ.0)GOTO702NAUG=NG2(I)EAVAUG=EG2(I)/DFLOAT(NAUG)DO701JFL=1,NG2(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6701CONTINUE702IF(NG1(I).EQ.0)GOTO704NAUG=NG1(I)EAVAUG=EG1(I)/DFLOAT(NAUG)R9=drand48(RDUM)DFL=-DLOG(R9)*DSTFL(I)DO703JFL=1,NG1(I)NCLUS=NCLUS+1R3=drand48(RDUM)THEFL=DACOS(1.0-2.0D0*R3)R4=drand48(RDUM)PHIFL=F4*R4XS(NCLUS)=X+DFL*DSIN(THEFL)*DCOS(PHIFL)YS(NCLUS)=Y+DFL*DSIN(THEFL)*DSIN(PHIFL)ZS(NCLUS)=Z+DFL*DCOS(THEFL)NFLGFC(NCLUS)=NFLGHIGH+1NFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6NFLGHIGH=NFLGFC(NCLUS)703CONTINUE704CONTINUEENDIFENDIFCCGENERATESCATTERINGANGLESANDUPDATELABORATORYCOSINESAFTERCCOLLISIONALSOUPDATEENERGYOFELECTRON.C666IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1CIFEXCITATIONTHENADDPROBABILITY,PENFRA(1,I),OFTRANSFERTOGIVECIONISATIONOFTHEOTHERGASESINMIXTUREIF(IPEN.EQ.0.OR.NGAS.EQ.1)GOTO5IF(PENFRA(1,I).NE.0.0)THENRAN=drand48(RDUM)IF(RAN.GT.PENFRA(1,I))GOTO5NCLUS=NCLUS+1CENTERHEREPOSSIBLEDELOCALISATIONLENGTHFORPENNINGTRANSFERIF(PENFRA(2,I).EQ.0.0)THENXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMGOTO667ENDIFASIGN=1.0RAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNXS(NCLUS)=X-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNYS(NCLUS)=Y-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNZS(NCLUS)=Z-DLOG(RAN)*PENFRA(2,I)*ASIGN667RAN=drand48(RDUM)TS(NCLUS)=ST-DLOG(RAN)*PENFRA(3,I)CASSIGNEXCESSENERGYOF1EVTOPENNINGCREATEDELECTRONES(NCLUS)=1.0DCX(NCLUS)=DCX1DCY(NCLUS)=DCY1DCZ(NCLUS)=DCZ1GOTO6ENDIFCGOTO6CCALCULATESUMOFEXCITATIONPERCLUSTERANDSTOREEXCITATIONXYZT5IF(IPN(I).EQ.0)THENIF((RGAS(I)*EIN(I)).GT.4.0)THENKEXC=KEXC+1IF(KEXC.GT.150000)THENWRITE(6,548)KEXC548FORMAT(2X,' PROGRAM STOPPED . KEXC=',I7)STOPENDIFCFINDGASINWHICHEXCITATIONOCCUREDANDINCREMENTCOUNTERIF(I.LE.IDG1)THENNGEXC1=NGEXC1+1ELSEIF(I.LE.IDG2)THENNGEXC2=NGEXC2+1ELSEIF(I.LE.IDG3)THENNGEXC3=NGEXC3+1ELSEIF(I.LE.IDG4)THENNGEXC4=NGEXC4+1ELSEIF(I.LE.IDG5)THENNGEXC5=NGEXC5+1ELSEIF(I.LE.IDG6)THENNGEXC6=NGEXC6+1ELSEWRITE(6,9911)9911FORMAT(' PROGRAM STOPPED BAD GAS ID IN MONTE')STOPENDIFNEXCTOT=NEXCTOT+1NSTEXC=NSTEXC+1XSTEXC(KEXC)=XYSTEXC(KEXC)=YZSTEXC(KEXC)=ZTSTEXC(KEXC)=STENDIFENDIF6S2=(S1*S1)/(S1-1.0D0)CANISOTROPICSCATTERINGR3=drand48(RDUM)IF(INDEX(I).EQ.1)THENR31=drand48(RDUM)F3=1.0D0-R3*ANGCT(IE,I)IF(R31.GT.PSCT(IE,I))F3=-F3ELSEIF(INDEX(I).EQ.2)THENEPSI=PSCT(IE,I)F3=1.0D0-(2.0D0*R3*(1.0D0-EPSI)/(1.0D0+EPSI*(1.0D0-2.0D0*R3)))ELSECISOTROPICSCATTERINGF3=1.0D0-2.0D0*R3ENDIFTHETA0=DACOS(F3)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)IF(E.LT.EI)EI=0.0D0ARG1=1.0D0-S1*EI/EARG1=DMAX1(ARG1,SMALL)D=1.0D0-F3*DSQRT(ARG1)E1=E*(1.0D0-EI/(S1*E)-2.0D0*D/S2)E1=DMAX1(E1,SMALL)Q=DSQRT((E/E1)*ARG1)/S1Q=DMIN1(Q,1.0D0)THETA=DASIN(Q*DSIN(THETA0))F6=DCOS(THETA)U=(S1-1.0D0)*(S1-1.0D0)/ARG1CSQD=F3*F3IF(F3.LT.0.0D0.AND.CSQD.GT.U)F6=-1.0D0*F6F5=DSIN(THETA)DCZ2=DMIN1(DCZ2,1.0D0)ARGZ=DSQRT(DCX2*DCX2+DCY2*DCY2)IF(ARGZ.EQ.0.0D0)THENDCZ1=F6DCX1=F9*F5DCY1=F8*F5IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GT.1.0)F5S=1.0THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=F6SDCX(NCLTMP)=F9S*F5SDCY(NCLTMP)=F8S*F5SNTMPFLG=0ENDIFGOTO190ENDIFDCZ1=DCZ2*F6+ARGZ*F5*F8DCY1=DCY2*F6+(F5/ARGZ)*(DCX2*F9-DCY2*DCZ2*F8)DCX1=DCX2*F6-(F5/ARGZ)*(DCY2*F9+DCX2*DCZ2*F8)IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GT.1.0)F5S=1.0THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=DCZ2*F6S+ARGZ*F5S*F8SDCY(NCLTMP)=DCY2*F6S+(F5S/ARGZ)*(DCX2*F9S-DCY2*DCZ2*F8S)DCX(NCLTMP)=DCX2*F6S-(F5S/ARGZ)*(DCY2*F9S+DCX2*DCZ2*F8S)NTMPFLG=0ENDIF190CONTINUECTESTIFELECTRONISTHERMALISEDIF(E1.GT.ETHRM)GOTO1CSTOREPOSITIONANDTIMEOFELECTRONANDCOLLISIONHISTORY191CONTINUEK1=K1+1XST(K1)=XYST(K1)=YZST(K1)=ZTST(K1)=STNFGF(K1)=NFLGFFNFGPP(K1)=NFLGPPPNFGBR(K1)=NFLGBRMMTTIME(K1)=ST-TLASTNELEC=NELEC+1NETOT=NETOT+1335IF(K1.EQ.150000)GOTO889CCATCHSINGLEELECTRONCLUSTERTHATWASATTACHED.cIF(NELEC.EQ.1.AND.NCLUS.EQ.0)GOTO210CIF(NELEC.EQ.(NCLUS+1))THENCWRITE(6,884)NELEC,NCLUS,NEGION,J11C884FORMAT(' NELEC=',I6,' NCLUS=',I6,' NEGION=',I3,' J11=',I6)CLASTELECTRONINCLUSTERDOSTATISTICSOVERPRIMARYCLUSTERCALLSTATS(J11,J1)GOTO210ENDIFIF(NELEC.LT.(NCLUS+1))THENCGETNEWIONISATIONELECTRONFROMSTOREX=XS(NELEC)Y=YS(NELEC)Z=ZS(NELEC)ST=TS(NELEC)NFLGFF=NFLGFC(NELEC)NFLGPPP=NFLGPPC(NELEC)NFLGBRMM=NFLGBRMC(NELEC)TLAST=TS(NELEC)E1=ES(NELEC)DCX1=DCX(NELEC)DCY1=DCY(NELEC)DCZ1=DCZ(NELEC)IF(E1.LT.ETHRM)GOTO191GOTO1ENDIFCMAINLOOPEND210CONTINUECRESETNUMBEROFEVENTSFORBADEVENTSIF(IMIP.GT.2)NDELTA=NDELTA-IBADTOTCWRITE(6,887)EMAX,NEOVFL887FORMAT(' EMAX=',D12.7,' NEOVFL=',I5)IF(EMAX.GT.EFINAL)THENWRITE(6,989)EFINAL,EMAX989FORMAT('INCREASE ENERGY LIMIT FROM',D12.6,' EV TO AT LEAST',D12.6,/' EV.')STOPENDIFRETURN889NLEFT=NCLUS-NELECWRITE(6,992)NPRIME,NLEFT,NCLUS992FORMAT(3(/),' WARNING STOPPED AFTER NPRIME=',I6,' LAST PRIMARY HAS
/AT LEAST ',I6,' SECONDARIES LEFT TO TRACK OUT OF ',I6,' ELECTRONS
/ALREADY IN CLUSTER')STOPRETURNEND
defMONTEFE():# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N) # global /INPT/globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN# global /INPT1/globalNDVEC# global /CNSTS1/globalCONST1,CONST2,CONST3,CONST4,CONST5# global /SETP/globalTMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX#(10)globalTCFMAX1,RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITE# global /LARGE/globalCF#(20000,512)globalEIN#(512)globalTCF#(20000)globalIARRY#(512),globalRGAS#(512)globalIPN#(512)globalWPL#(512)globalIZBR#(512)globalIPLAST,PENFRA#[3,512]# global /LARGEN/globalCFN#(20000,60),globalTCFN#(20000)globalSCLENUL#(60)globalNPLAST# global /OUTPT/globalICOLL#(30)globalNETOT,NPRIME,TMAX1,TIME#(300)globalNNULL,NITOT,ICOLN#(512)globalICOLNN#(60)globalNREAL,NEXCTOT# global /RLTVY/globalBET#(20000)globalGAM#(20000)globalVC,EMS# global /STTS/globalXST#(150000)globalYST#(150000)globalZST#(150000)globalTST#(150000),globalTTIME#(150000)globalNFGF#(150000)globalNFGPP#(150000)globalNFGBR#(150000)globalNELEC,NEGION,EST1,EST2# global /STEXC/globalXSTEXC#(150000)globalYSTEXC#(150000)globalZSTEXC#(150000),globalTSTEXC#(150000)globalNSTEXC# global /STEXCNUL/globalXSTN#(150000)globalYSTN#(150000)globalZSTN#(150000),globalTSTN#(150000)globalIDNUL#(150000)globalNEXCNUL# global /IONC/globalDOUBLE#(6,20000)globalCMINIXSC#[6]globalCMINEXSC#[6]globalECLOSS#[6],globalWPLN#[6]globalICOUNT,AVPFRAC#(3,6) # global /IONFL/globalNC0#(512)globalEC0#(512)globalNG1#(512)globalEG1#(512)globalNG2#(512),globalEG2#(512)globalWKLM#(512)globalDSTFL#(512)# global /IONMOD/globalESPLIT#(512,20)globalIONMODEL#(512)# global /ANIS/globalPSCT#(20000,512)globalANGCT#(20000,512)globalINDEX#(512)globalNISO# global /CASRS/globalECAS#(400)globalXCAS#(400)globalYCAS#(400)globalZCAS#(400)globalDRXS#(400),globalDRYS#(400)globalDRZS#(400)globalTT1#(400)globalNFLGF#(400)globalNFLGPP#(400)globalIEVNTL# global /COMP/globalLCMPLCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLG# global /BREMG/globalEBRGAM#(10)globalBRDCOSX#(10)globalBRDCOSY#(10)globalBRDCOSZ#[10],globalBRX#(10)globalBRY#(10)globalBRZ#[10]globalBRT#(10)globalEBRTOT#[6]globalNBREM#[6]# global /CASRSB/globalECASB#[400]globalXCASB#[400]globalYCASB#[400]globalZCASB#[400],globalDRXB#[400]globalDRYB#[400]globalDRZB#[400]globalTTB1#(400)globalNFLGFB#[400]globalNFLGPPB#[400],globalIEVNTLB# global /CASRSE/globalECASE#(400)globalXCASE#(400)globalYCASE#(400)globalZCASE#(400),globalDRXCE#(400)globalDRYCE#(400)globalDRZCE#(400)globalTCASE#(400),globalNFLGFE#(400)globalNFLGPPE#(400)globalIEVENTE# global /ECASC/globalNEGAS#(512)globalLEGAS#(512)globalIESHELL#(512)globalIECASC# global /IDEXC/globalNGEXC1,NGEXC2,NGEXC3,NGEXC4,NGEXC5,NGEXC6,IDG1,IDG2,IDG3,IDG4,IDG5,IDG6NGAS=conf.NGASNSTEP=conf.NSTEPNANISO=conf.NANISOEFINAL=conf.EFINALESTEP=conf.ESTEPAKT=conf.AKTARY=conf.ARYTEMPC=conf.TEMPCTORR=conf.TORRIPEN=conf.IPENNDVEC=conf.NDVECCONST1=conf.CONST1CONST2=conf.CONST2CONST3=conf.CONST3CONST4=conf.CONST4CONST5=conf.CONST5TMAX=conf.TMAXSMALL=conf.SMALLAPI=conf.APIESTART=conf.ESTARTTHETA=conf.THETAPHI=conf.PHITCFMAX=conf.TCFMAXTCFMAX1=conf.TCFMAX1RSTART=conf.RSTARTEFIELD=conf.EFIELDETHRM=conf.ETHRMECUT=conf.ECUTNDELTA=conf.NDELTAIMIP=conf.IMIPIWRITE=conf.IWRITECF=conf.CFEIN=conf.EINTCF=conf.TCFIARRY=conf.IARRYRGAS=conf.RGASIPN=conf.IPNWPL=conf.WPLIZBR=conf.IZBRIPLAST=conf.IPLASTPENFRA=conf.PENFRACFN=conf.CFNTCFN=conf.TCFNSCLENUL=conf.SCLENULNPLAST=conf.NPLASTICOLL=conf.ICOLLNETOT=conf.NETOTNPRIME=conf.NPRIMETMAX1=conf.TMAX1TIME=conf.TIMENNULL=conf.NNULLNITOT=conf.NITOTICOLN=conf.ICOLNICOLNN=conf.ICOLNNNREAL=conf.NREALNEXCTOT=conf.NEXCTOTBET=conf.BETGAM=conf.GAMVC=conf.VCEMS=conf.EMSXST=conf.XSTYST=conf.YSTZST=conf.ZSTTST=conf.TSTTTIME=conf.TTIMENFGF=conf.NFGFNFGPP=conf.NFGPPNFGBR=conf.NFGBRNELEC=conf.NELECNEGION=conf.NEGIONEST1=conf.EST1EST2=conf.EST2XSTEXC=conf.XSTEXCYSTEXC=conf.YSTEXCZSTEXC=conf.ZSTEXCTSTEXC=conf.TSTEXCNSTEXC=conf.NSTEXCXSTN=conf.XSTNYSTN=conf.YSTNZSTN=conf.ZSTNTSTN=conf.TSTNIDNUL=conf.IDNULNEXCNUL=conf.NEXCNULDOUBLE=conf.DOUBLECMINIXSC=conf.CMINIXSCCMINEXSC=conf.CMINEXSCECLOSS=conf.ECLOSSWPLN=conf.WPLNICOUNT=conf.ICOUNTAVPFRAC=conf.AVPFRACNC0=conf.NC0EC0=conf.EC0NG1=conf.NG1EG1=conf.EG1NG2=conf.NG2EG2=conf.EG2WKLM=conf.WKLMDSTFL=conf.DSTFLESPLIT=conf.ESPLITIONMODEL=conf.IONMODELPSCT=conf.PSCTANGCT=conf.ANGCTINDEX=conf.INDEXNISO=conf.NISOECAS=conf.ECASXCAS=conf.XCASYCAS=conf.YCASZCAS=conf.ZCASDRXS=conf.DRXSDRYS=conf.DRYSDRZS=conf.DRZSTT1=conf.TT1NFLGF=conf.NFLGFNFLGPP=conf.NFLGPPIEVNTL=conf.IEVNTLLCMPLCFLG=conf.LCMPLCFLGLRAY=conf.LRAYLRFLG=conf.LRFLGLPAP=conf.LPAPLPFLG=conf.LPFLGLBRM=conf.LBRMLBFLG=conf.LBFLGLPEFLG=conf.LPEFLGEBRGAM=conf.EBRGAMBRDCOSX=conf.BRDCOSXBRDCOSY=conf.BRDCOSYBRDCOSZ=conf.BRDCOSZBRX=conf.BRXBRY=conf.BRYBRZ=conf.BRZBRT=conf.BRTEBRTOT=conf.EBRTOTNBREM=conf.NBREMECASB=conf.ECASBXCASB=conf.XCASBYCASB=conf.YCASBZCASB=conf.ZCASBDRXB=conf.DRXBDRYB=conf.DRYBDRZB=conf.DRZBTTB1=conf.TTB1NFLGFB=conf.NFLGFBNFLGPPB=conf.NFLGPPBIEVNTLB=conf.IEVNTLBECASE=conf.ECASEXCASE=conf.XCASEYCASE=conf.YCASEZCASE=conf.ZCASEDRXCE=conf.DRXCEDRYCE=conf.DRYCEDRZCE=conf.DRZCETCASE=conf.TCASENFLGFE=conf.NFLGFENFLGPPE=conf.NFLGPPEIEVENTE=conf.IEVENTENEGAS=conf.NEGASLEGAS=conf.LEGASIESHELL=conf.IESHELLIECASC=conf.IECASCNGEXC1=conf.NGEXC1NGEXC2=conf.NGEXC2NGEXC3=conf.NGEXC3NGEXC4=conf.NGEXC4NGEXC5=conf.NGEXC5NGEXC6=conf.NGEXC6IDG1=conf.IDG1IDG2=conf.IDG2IDG3=conf.IDG3IDG4=conf.IDG4IDG5=conf.IDG5IDG6=conf.IDG6# DIMENSION XS=numpy.zeros((150000+1))YS=numpy.zeros((150000+1))ZS=numpy.zeros((150000+1))TS=numpy.zeros((150000+1))ES=numpy.zeros((150000+1))DCX=numpy.zeros((150000+1))DCY=numpy.zeros((150000+1))DCZ=numpy.zeros((150000+1))NFLGFC=numpy.zeros((150000+1))NFLGPPC=numpy.zeros((150000+1))NFLGBRMC=numpy.zeros((150000+1))# DIMENSION TEMP=numpy.zeros((20000+1))# DIMENSION ETEMP(1000)# ----------------------------------------------------------------------# RELATIVISTIC VERSION SEPTEMBER 2013# ELECTRIC FIELD ALONG Z AXIS. NO MAGNETIC FIELD. # TRACKS DELTA ELECTRONS AND UPDATES ARRAYS CONTAINING POSITION AND# TIME OF THERMALISED ELECTRONS.# CALCULATES NUMBER OF PRODUCED ELECTRONS PER PRIMARY AND OTHER# HIGHER FANO FACTORS. # RANGE IS ACCURATE ONLY FOR ANISOTROPIC X-SECTIONS # ----------------------------------------------------------------------# VARYING ENERGY STEPSif(EFINAL<=140000.):ESTEP1=(EFINAL-16000.0)/float(4000)else:ESTEP1=20.0ESTEP2=(EFINAL-92000.0)/float(4000)# endifNPRINT=0J20000=20000J300=300API=numpy.arccos(-1.00)SMALL=1.0E-20TMAX1=0.00EMAX=0.00RDUM=RSTARTCONST9=CONST3*0.010forIinrange(1,300+1):TIME[I]=0.00forIinrange(1,30+1):ICOLL[I]=0forIinrange(1,512+1):ICOLN[I]=0NREAL=0NNULL=0NETOT=0NEXCTOT=0NITOT=0NMXADD=0NTMPFLG=0BP=EFIELD*EFIELD*CONST1F1=EFIELD*CONST2F2=EFIELD*CONST3F4=2.00*APITHETA1=THETAPHI1=PHI# CALCULATE MAXIMUM COLLISION FREQUENCY TLIM=0.0forJinrange(1,20000+1):TEMP[J]=TCFN[J]+TCF[J]if(TLIM<TEMP[J]):TLIM=TEMP[J]# 111 CONTINUENEOVFL=0J1=0# START OF PRIMARY EVENT LOOP forJ11inrange(1,NDELTA+1):J1=J1+1NPRIME=J1NGEXC1=0NGEXC2=0NGEXC3=0NGEXC4=0NGEXC5=0NGEXC6=0# INITIAL DIRECTION COSINES FOR ELECTRON BEAM DCZ1=numpy.cos(THETA1)DCX1=numpy.sin(THETA1)*numpy.cos(PHI1)DCY1=numpy.sin(THETA1)*numpy.sin(PHI1)NFLGFF=0NFLGPPP=0NFLGBRMM=0NFLGHIGH=0EST1=ESTARTE1=ESTARTX=0.00Y=0.00Z=0.00K1=0KEXC=0NSTEXC=0NEXCNUL=0NCLUS=0NELEC=0NEGION=0TLAST=0.00ST=0.00TDASH=0.00if(IMIP==2):passelse:if(IMIP>2):# READIN FIRST ELECTRON FROM BETA DECAY OR XRAY UNTHERMALISED CLUSTERSCASRES(J11,IBADTOT,IBAD1)# SKIP IF BAD EVENTif(IBAD1==1):J1=J1-1flag1=0continue# endif elif(IMIP==1):# READ IN FIRST ELECTRON FROM MIP INTERACTIONCASREM(J11)EST1=ECAS[1]EST2=EST1# endifX=XCAS[1]Y=YCAS[1]Z=ZCAS[1]ST=TT1[1]TS[1]=TT1[1]E1=ECAS[1]DCZ1=DRZS[1]DCY1=DRYS[1]DCX1=DRXS[1]NFLGFF=NFLGF[1]NFLGPPP=NFLGPP[1]NFLGBRMM=0NFLGHIGH=NFLGFF# PUT REMAINDER OF ELECTRONS INTO CLUSTER STOREISDUM=0forISTinrange(2,IEVNTL+1):ISDUM=ISDUM+1XS[ISDUM]=XCAS[IST]YS[ISDUM]=YCAS[IST]ZS[ISDUM]=ZCAS[IST]TS[ISDUM]=TT1[IST]ES[ISDUM]=ECAS[IST]DCX[ISDUM]=DRXS[IST]DCY[ISDUM]=DRYS[IST]DCZ[ISDUM]=DRZS[IST]NFLGFC[ISDUM]=NFLGF[IST]NFLGPPC[ISDUM]=NFLGPP[IST]NFLGBRMC[ISDUM]=0NCLUS=ISDUMif(NFLGF[IST]>NFLGHIGH):NFLGHIGH=NFLGF[IST]# 35 CONTINUE# START OF LOOP FOR NEWLY CREATED ELECTRONS# 1 CONTINUEflag1=1flag210=0while(flag1):flag1=0R1=random.uniform(RDUM)T=-math.log(R1)/TLIM+TDASHTDASH=T# AP=DCZ1*F2*DSQRT(E1)GAM1=(EMS+E1)/EMSBET1=math.sqrt(1.00-1.00/(GAM1*GAM1))AP=DCZ1*EFIELD*BET1*VC*1.0e-10BP1=BP/GAM1E=E1+(AP+BP1*T)*Tif(E<0.00):E=0.0010# endif # INSERT NEW ALGORITHM TO FIND IE FOR VARYING ENERGY STEP if(IMIP==1):IE=int(E/ESTEP)+1else:if(EFINAL<=20000.):IE=int(E/ESTEP)+1elif(EFINAL<=140000.):if(E<=16000.):IE=int(E)+1else:IE=16000+int((E-16000.)/ESTEP1)# endifelse:if(E<=12000.):IE=int(E)+1elif(E<=92000.):IE=12000+int((E-12000.)/ESTEP1)else:IE=16000+int((E-92000.)/ESTEP2)# endif# endif# endif IE=min(IE,J20000)# # TEST FOR REAL OR NULL COLLISION # R5=random.uniform(RDUM)TEST1=TCF[IE]/TLIMif(R5<=TEST1):passelse:NNULL=NNULL+1TEST2=TEMP[IE]/TLIMif(R5<TEST2):# TEST FOR NULL LEVELSif(NPLAST==0):flag1=1continueR2=random.uniform(RDUM)I=0flag888=1while(flag888):flag888=0I=I+1if(CFN[IE][I]<R2):flag888=1# INCREMENT NULL LEVEL SUMNEXCNUL=NEXCNUL+1ICOLNN[I]=ICOLNN[I]+1# STORE X Y Z T ID FOR MOLECULAR LIGHT EMISSION FROM NULL EXCITATION# NOTE: SMALL APPROX USED POSITION OF PREVIOUS REAL COLLISIONXSTN[NEXCNUL]=XYSTN[NEXCNUL]=YZSTN[NEXCNUL]=ZTSTN[NEXCNUL]=STIDNUL[NEXCNUL]=Iflag1=1continueelse:# NULL flag1=1continue# endif # # CALCULATE DIRECTION COSINES AND POSITIONS AT INSTANT BEFORE COLLISION# 137 T2=T*Tif(E>EMAX):EMAX=Eif(T>TMAX1):TMAX1=TTDASH=0.00NREAL=NREAL+1# CONST6=DSQRT(E1/E)GAM2=(EMS+E)/EMSGAM12=(GAM1+GAM2)/2.00BET2=math.sqrt(1.00-1.00/(GAM2*GAM2))CONST6=BET1/BET2DCX2=DCX1*CONST6DCY2=DCY1*CONST6# DCZ2=DCZ1*CONST6+EFIELD*T*CONST5/DSQRT(E) DCZ2=DCZ1*CONST6+EFIELD*T*2.0e10*CONST1/(VC*BET2)# CONST7=CONST9*DSQRT(E1) CONST7=VC*BET1*1.0e-12A=T*CONST7X=X+DCX1*AY=Y+DCY1*AZ=Z+DCZ1*A+T2*F1/GAM12# Z=Z+DCZ1*A+T2*F1 ST=ST+TIT=int(T+1.00)IT=min(IT,J300)TIME[IT]=TIME[IT]+1.00# --------------------------------------------------------------------- # DETERMINATION OF REAL COLLISION TYPE # --------------------------------------------------------------------- R2=random.uniform(RDUM)I=0flag140=1while(flag140):flag140=0I=I+1if(CF[IE][I]<R2):flag140=1break#************************************************************# CHECK IF BREMSSTRAHLUNGif(IZBR[I]!=0andLBRM==1):NFLGBRMM=1IPT=IARRY[I]ICOLL[IPT]=ICOLL[IPT]+1ICOLN[I]=ICOLN[I]+1forKNGSinrange(1,NGAS+1):if(IPT==(KNGS*5)-1):break# 141 CONTINUE# 142 IATOMNO=IZBR[I]BREMS(IATOMNO,E,DCX2,DCY2,DCZ2,EOUT,EDCX,EDCY,EDCZ,EGAMMA,GDCX,GDCY,GDCZ)NBREM[KNGS]=NBREM[KNGS]+1EBRTOT[KNGS]=EBRTOT[KNGS]+EGAMMA# GET NEW DRCOS DRCOSY DRCOSX AND ENERGY OF ELECTRONE1=EOUTDCX1=EDCXDCY1=EDCYDCZ1=EDCZ# RUN BREMSSTRAHLUNG GAMMA THROUGH CASCADE THEN STORE CONVERTED # ELECTRONS IN global /CASRSB/#BREMSCASC(J11,EGAMMA,X,Y,Z,ST,GDCX,GDCY,GDCZ,ILOW)# BREMSSTRAHLUNG ENERGY TOO LOW TO IONISEflag191=0if(ILOW==1):passelse:# # STORE BREMSSTRAHLUNG DATA IN CLUSTER STORE# ETSUM=0.0forKBRinrange(1,IEVNTLB+1):NCLUS=NCLUS+1if(NCLUS>150000):print(' SUBROUTINE STOPPED . NCLUS=',NCLUS,' NREAL=',NREAL)sys.exit()# endif ES[NCLUS]=ECASB[KBR]ETSUM=ETSUM+ES[NCLUS]XS[NCLUS]=XCASB[KBR]YS[NCLUS]=YCASB[KBR]ZS[NCLUS]=ZCASB[KBR]TS[NCLUS]=TTB1[KBR]DCX[NCLUS]=DRXB[KBR]DCY[NCLUS]=DRYB[KBR]DCZ[NCLUS]=DRZB[KBR]NFLGFC[NCLUS]=NFLGFB[KBR]+NFLGHIGHNFLGPPC[NCLUS]=NFLGPPB[KBR]NFLGBRMC[NCLUS]=2# 890 CONTINUE if(NFLGFC[NCLUS]>NFLGHIGH):NFLGHIGH=NFLGFC[NCLUS]passelse:# endif # 891 CONTINUE #*****************************************************************# S1=RGAS[I] S1=1.00+GAM2*(RGAS[I]-1.00)EI=EIN[I]# WRITE(6,8890) EIN[I],I#8890 FORMAT(' EIN=',D12.4,' I=',I3)if(E<EI):EI=E-0.00010# endif if(IPN[I]==0):# GO TO 666passelse:flag335=0# ATTACHMENT if(IPN[I]==-1):NETOT=NETOT+1NITOT=NITOT+1NELEC=NELEC+1NEGION=NEGION+1IPT=IARRY[I]ICOLL[IPT]=ICOLL[IPT]+1ICOLN[I]=ICOLN[I]+1IT=int(T+1.00)IT=min(IT,J300)TIME[IT]=TIME[IT]+1.00flag335=1# endifif(flag335):# 335 Copied it form the end till here if(K1==150000):# GO TO 889# 889 NLEFT=NCLUS-NELEC# WRITE(6,992) NPRIME,NLEFT,NCLUS# 992 print('\n\n\n WARNING STOPPED AFTER NPRIME=',NPRIME,' LAST PRIMARY HAS AT LEAST ',NLEFT,' SECONDARIES LEFT TO TRACK OUT OF ',NCLUS,' ELECTRONS ALREADY IN CLUSTER')sys.exit()return# end# CATCH SINGLE ELECTRON CLUSTER THAT WAS ATTACHED.# if(NELEC == 1 and NCLUS == 0) GO TO 210 #if(NELEC==(NCLUS+1)):# WRITE(6,884) NELEC,NCLUS,NEGION,J11# 884 FORMAT(' NELEC=',I6,' NCLUS=',I6,' NEGION=',I3,' J11=',I6)# LAST ELECTRON IN CLUSTER DO STATISTICS OVER PRIMARY CLUSTERSTATS(J11,J1)# GO TO 210flag210=1# endifif(NELEC<(NCLUS+1)):# GET NEW IONISATION ELECTRON FROM STOREX=XS[NELEC]Y=YS[NELEC]Z=ZS[NELEC]ST=TS[NELEC]NFLGFF=NFLGFC[NELEC]NFLGPPP=NFLGPPC[NELEC]NFLGBRMM=NFLGBRMC[NELEC]TLAST=TS[NELEC]E1=ES[NELEC]DCX1=DCX[NELEC]DCY1=DCY[NELEC]DCZ1=DCZ[NELEC]if(E1<ETHRM):flag191=1passelse:# GO TO 1 continue# endifEISTR=EIif(IONMODEL[I]>0):# CALCULATE SECONDARY ENERGY,ESEC,IN IONISATION COLLISION USING# FIVE DIFFERENT MODELSIONSPLIT(I,E,EI,ESEC)# GO TO 544passelse:# endifR9=random.uniform(RDUM)# USE OPAL PETERSON AND BEATY SPLITTING FACTOR.ESEC=WPL[I]*numpy.tan(R9*numpy.arctan((E-EI)/(2.00*WPL[I])))ESEC=WPL[I]*(ESEC/WPL[I])**0.9524# 544 CONTINUEEI=ESEC+EI# STORE POSITION ,ENERGY, DIRECTION COSINES AND TIME OF GENERATION# OF SECONDARY IONISATION ELECTRONSNCLUS=NCLUS+1NMXADD=MAX(NCLUS,NMXADD)if(NCLUS>150000):# WRITE(6,546) NCLUS,NREAL# 546 print(' SUBROUTINE STOPPED . NCLUS=',NCLUS,' NREAL=',NREAL)sys.exit()# endif XS[NCLUS]=XYS[NCLUS]=YZS[NCLUS]=ZTS[NCLUS]=STES[NCLUS]=ESECNFLGFC[NCLUS]=NFLGFFNFLGPPC[NCLUS]=NFLGPPPNFLGBRMC[NCLUS]=NFLGBRMMNTMPFLG=1NCLTMP=NCLUS# ES[NCLUS]=ESEC# RANDOMISE SECONDARY ELECTRON DIRECTION# R3=drand48(RDUM)# F3=1.0-2.0D0*R3# THETA0=DACOS(F3)# F6=DCOS(THETA0)# F5=DSIN(THETA0)# R4=drand48(RDUM)# PHI0=F4*R4# F8=DSIN(PHI0)# F9=DCOS(PHI0) # DCX[NCLUS]=F9*F5# DCY[NCLUS]=F8*F5# DCZ[NCLUS]=F6 #*********************************************************flag666=0if(IECASC==0):# GO TO 333passelse:if(LEGAS[I]==0):# GO TO 333passelse:# USE COMPLETE CASCADE FOR ELECTRON IONISATIONKG1=NEGAS[I]LG1=LEGAS[I]IGSHEL=IESHELL[I]CASCADEE(J11,KG1,LG1,X,Y,Z,ST,ESEC,IGSHEL)## STORE CASCADE IN CLUSTER STORE#ETSUM=0.0forKBRinrange(1,IEVENTE+1):NCLUS=NCLUS+1if(NCLUS>150000):print(' SUBROUTINE STOPPED . NCLUS=',NCLUS,' NREAL=',NREAL)sys.exit()# endifES[NCLUS]=ECASE[KBR]ETSUM=ETSUM+ES[NCLUS]XS[NCLUS]=XCASE[KBR]YS[NCLUS]=YCASE[KBR]ZS[NCLUS]=ZCASE[KBR]TS[NCLUS]=TCASE[KBR]DCX[NCLUS]=DRXCE[KBR]DCY[NCLUS]=DRYCE[KBR]DCZ[NCLUS]=DRZCE[KBR]NFLGFC[NCLUS]=NFLGFE[KBR]+NFLGHIGHNFLGPPC[NCLUS]=NFLGPPE[KBR]NFLGBRMC[NCLUS]=NFLGBRMM# 844 CONTINUEif(NFLGFC[NCLUS]>NFLGHIGH):NFLGHIGH=NFLGFC[NCLUS]flag666=1#*********************************************************# STORE POSSIBLE SHELL EMISSIONS AUGER OR FLUORESCENCE # 333 if(flag666):passelse:if(EISTR>30.0):# WRITE(6,8891) EISTR#8891 FORMAT(' EISTR=',D12.4)# TEST IF FLUORESCENCE EMISSIONIFLTST=0if(WKLM[I]>0.0):R9=random.uniform(RDUM)if(R9<WKLM[I]):IFLTST=1# endifif(IFLTST==0):# AUGER EMISSION WITHOUT FLUORESCENCENAUG=NC0[I]EAVAUG=EC0[I]/float(NAUG)forJFLinrange(1,NC0[I]+1):NCLUS=NCLUS+1XS[NCLUS]=XYS[NCLUS]=YZS[NCLUS]=ZTS[NCLUS]=STNFLGFC[NCLUS]=NFLGFFNFLGPPC[NCLUS]=NFLGPPPNFLGBRMC[NCLUS]=NFLGBRMMES[NCLUS]=EAVAUGR3=random.uniform(RDUM)F3=1.0-2.00*R3THETA0=numpy.arccos(F3)F6=numpy.cos(THETA0)F5=numpy.sin(THETA0)R4=random.uniform(RDUM)PHI0=F4*R4F8=numpy.sin(PHI0)F9=numpy.cos(PHI0)DCX[NCLUS]=F9*F5DCY[NCLUS]=F8*F5DCZ[NCLUS]=F6# 700 CONTINUE else:# AUGER EMISSION AND FLUORESENCE if(NG2[I]==0):# GO TO 702passelse:NAUG=NG2[I]EAVAUG=EG2[I]/float(NAUG)forJFLinrange(1,NG2[I]+1):NCLUS=NCLUS+1XS[NCLUS]=XYS[NCLUS]=YZS[NCLUS]=ZNFLGFC[NCLUS]=NFLGFFNFLGPPC[NCLUS]=NFLGPPPNFLGBRMC[NCLUS]=NFLGBRMMTS[NCLUS]=STES[NCLUS]=EAVAUGR3=random.uniform(RDUM)F3=1.0-2.00*R3THETA0=numpy.arccos(F3)F6=numpy.cos(THETA0)F5=numpy.sin(THETA0)R4=random.uniform(RDUM)PHI0=F4*R4F8=numpy.sin(PHI0)F9=numpy.cos(PHI0)DCX[NCLUS]=F9*F5DCY[NCLUS]=F8*F5DCZ[NCLUS]=F6# 701 CONTINUE# 702 if(NG1[I]==0):# GO TO 704passelse:NAUG=NG1[I]EAVAUG=EG1[I]/float(NAUG)R9=random.uniform(RDUM)DFL=-math.log(R9)*DSTFL[I]forJFLinrange(1,NG1[I]+1):NCLUS=NCLUS+1R3=random.uniform(RDUM)THEFL=numpy.arccos(1.0-2.00*R3)R4=random.uniform(RDUM)PHIFL=F4*R4XS[NCLUS]=X+DFL*numpy.sin(THEFL)*numpy.cos(PHIFL)YS[NCLUS]=Y+DFL*numpy.sin(THEFL)*numpy.sin(PHIFL)ZS[NCLUS]=Z+DFL*numpy.cos(THEFL)NFLGFC[NCLUS]=NFLGHIGH+1NFLGPPC[NCLUS]=NFLGPPPNFLGBRMC[NCLUS]=NFLGBRMMTS[NCLUS]=STES[NCLUS]=EAVAUGR3=random.uniform(RDUM)F3=1.0-2.00*R3THETA0=numpy.arccos(F3)F6=numpy.cos(THETA0)F5=numpy.sin(THETA0)R4=random.uniform(RDUM)PHI0=F4*R4F8=numpy.sin(PHI0)F9=numpy.cos(PHI0)DCX[NCLUS]=F9*F5DCY[NCLUS]=F8*F5DCZ[NCLUS]=F6NFLGHIGH=NFLGFC[NCLUS]# 703 CONTINUE# 704 CONTINUE# endif# endif# # GENERATE SCATTERING ANGLES AND UPDATE LABORATORY COSINES AFTER # COLLISION ALSO UPDATE ENERGY OF ELECTRON. ## 666 IPT=IARRY[I]ICOLL[IPT]=ICOLL[IPT]+1ICOLN[I]=ICOLN[I]+1# IF EXCITATION THEN ADD PROBABILITY ,PENFRA(1,I),OF TRANSFER TO GIVE # IONISATION OF THE OTHER GASES IN MIXTUREflag6=0if(IPEN==0orNGAS==1):# GO TO 5passelse:if(PENFRA[1][I]!=0.0):RAN=random.uniform(RDUM)if(RAN>PENFRA[1][I]):# GO TO 5passelse:NCLUS=NCLUS+1# ENTER HERE POSSIBLE DELOCALISATION LENGTH FOR PENNING TRANSFERif(PENFRA[2][I]==0.0):XS[NCLUS]=XYS[NCLUS]=YZS[NCLUS]=ZNFLGFC[NCLUS]=NFLGFFNFLGPPC[NCLUS]=NFLGPPPNFLGBRMC[NCLUS]=NFLGBRMMpasselse:# endifASIGN=1.0RAN=random.uniform(RDUM)RAN1=random.uniform(RDUM)if(RAN1<0.5):ASIGN=-ASIGNXS[NCLUS]=X-math.log(RAN)*PENFRA[2][I]*ASIGNRAN=random.uniform(RDUM)RAN1=random.uniform(RDUM)if(RAN1<0.5):ASIGN=-ASIGNYS[NCLUS]=Y-math.log(RAN)*PENFRA[2][I]*ASIGNRAN=random.uniform(RDUM)RAN1=random.uniform(RDUM)if(RAN1<0.5):ASIGN=-ASIGNZS[NCLUS]=Z-math.log(RAN)*PENFRA[2][I]*ASIGN# 667 RAN=random.uniform(RDUM)TS[NCLUS]=ST-math.log(RAN)*PENFRA[3][I]# ASSIGN EXCESS ENERGY OF 1EV TO PENNING CREATED ELECTRONES[NCLUS]=1.0DCX[NCLUS]=DCX1DCY[NCLUS]=DCY1DCZ[NCLUS]=DCZ1flag6=1# endif # GO TO 6 # CALCULATE SUM OF EXCITATION PER CLUSTER AND STORE EXCITATION X Y Z T# 5 if(flag6):if(IPN[I]==0):if((RGAS[I]*EIN[I])>4.0):KEXC=KEXC+1if(KEXC>150000):# WRITE(6,548) KEXC# 548 print(' SUBROUTINE STOPPED . KEXC=',KEXC)sys.exit()# endif# FIND GAS IN WHICH EXCITATION OCCURED AND INCREMENT COUNTERif(I<=IDG1):NGEXC1=NGEXC1+1elif(I<=IDG2):NGEXC2=NGEXC2+1elif(I<=IDG3):NGEXC3=NGEXC3+1elif(I<=IDG4):NGEXC4=NGEXC4+1elif(I<=IDG5):NGEXC5=NGEXC5+1elif(I<=IDG6):NGEXC6=NGEXC6+1else:# WRITE(6,9911) # 9911 print(' SUBROUTINE STOPPED BAD GAS ID IN MONTE')sys.exit()# endifNEXCTOT=NEXCTOT+1NSTEXC=NSTEXC+1XSTEXC[KEXC]=XYSTEXC[KEXC]=YZSTEXC[KEXC]=ZTSTEXC[KEXC]=ST# endif# endif # 6 S2=(S1*S1)/(S1-1.00)# ANISOTROPIC SCATTERINGR3=random.uniform(RDUM)if(INDEX[I]==1):R31=random.uniform(RDUM)F3=1.00-R3*ANGCT(IE,I)if(R31>PSCT[IE][I]):F3=-F3elif(INDEX[I]==2):EPSI=PSCT(IE,I)F3=1.00-(2.00*R3*(1.00-EPSI)/(1.00+EPSI*(1.00-2.00*R3)))else:# ISOTROPIC SCATTERING F3=1.00-2.00*R3# endifTHETA0=numpy.arccos(F3)R4=random.uniform(RDUM)PHI0=F4*R4F8=numpy.sin(PHI0)F9=numpy.cos(PHI0)if(E<EI):EI=0.00ARG1=1.00-S1*EI/EARG1=max(ARG1,SMALL)D=1.00-F3*math.sqrt(ARG1)E1=E*(1.00-EI/(S1*E)-2.00*D/S2)E1=max(E1,SMALL)Q=math.sqrt((E/E1)*ARG1)/S1Q=min(Q,1.00)THETA=numpy.arcsin(Q*numpy.sin(THETA0))F6=numpy.cos(THETA)U=(S1-1.00)*(S1-1.00)/ARG1CSQD=F3*F3if(F3<0.00andCSQD>U):F6=-1.00*F6F5=numpy.sin(THETA)DCZ2=min(DCZ2,1.00)ARGZ=math.sqrt(DCX2*DCX2+DCY2*DCY2)flag190=0if(ARGZ==0.00):DCZ1=F6DCX1=F9*F5DCY1=F8*F5if(NTMPFLG==1):# USE FREE KINEMATICS FOR IONISATION SECONDARY ANGLESF5S=F5*math.sqrt(E1/ES[NCLTMP])if(F5S>1.0):F5S=1.0THSEC=numpy.arcsin(F5S)F5S=numpy.sin(THSEC)F6S=numpy.cos(THSEC)if(F6<0.0):F6S=-F6SPHIS=PHI0+APIif(PHIS>F4):PHIS=PHI0-F4F8S=numpy.sin(PHIS)F9S=numpy.cos(PHIS)DCZ[NCLTMP]=F6SDCX[NCLTMP]=F9S*F5SDCY[NCLTMP]=F8S*F5SNTMPFLG=0# endifflag190=1# endif if(flag190):# GO TO 190passelse:DCZ1=DCZ2*F6+ARGZ*F5*F8DCY1=DCY2*F6+(F5/ARGZ)*(DCX2*F9-DCY2*DCZ2*F8)DCX1=DCX2*F6-(F5/ARGZ)*(DCY2*F9+DCX2*DCZ2*F8)if(NTMPFLG==1):# USE FREE KINEMATICS FOR IONISATION SECONDARY ANGLESF5S=F5*math.sqrt(E1/ES[NCLTMP])if(F5S>1.0):F5S=1.0THSEC=numpy.arcsin(F5S)F5S=numpy.sin(THSEC)F6S=numpy.cos(THSEC)if(F6<0.0):F6S=-F6SPHIS=PHI0+APIif(PHIS>F4):PHIS=PHI0-F4F8S=numpy.sin(PHIS)F9S=numpy.cos(PHIS)DCZ[NCLTMP]=DCZ2*F6S+ARGZ*F5S*F8SDCY[NCLTMP]=DCY2*F6S+(F5S/ARGZ)*(DCX2*F9S-DCY2*DCZ2*F8S)DCX[NCLTMP]=DCX2*F6S-(F5S/ARGZ)*(DCY2*F9S+DCX2*DCZ2*F8S)NTMPFLG=0# endif # 190 CONTINUE # TEST IF ELECTRON IS THERMALISEDif(E1>ETHRM):flag1=1continue# STORE POSITION AND TIME OF ELECTRON AND COLLISION HISTORY# 191 CONTINUEflag191=1while(flag191):flag191=0K1=K1+1XST[K1]=XYST[K1]=YZST[K1]=ZTST[K1]=STNFGF[K1]=NFLGFFNFGPP[K1]=NFLGPPPNFGBR[K1]=NFLGBRMMTTIME[K1]=ST-TLASTNELEC=NELEC+1NETOT=NETOT+1# 335 if(K1==150000):# GO TO 889# 889 NLEFT=NCLUS-NELEC# WRITE(6,992) NPRIME,NLEFT,NCLUS# 992 print(3*'\n',' WARNING STOPPED AFTER NPRIME= %d LAST PRIMARY HAS AT LEAST %d SECONDARIES LEFT TO TRACK OUT OF %d ELECTRONS ALREADY IN CLUSTER'%(NPRIME,NLEFT,NCLUS))# sys.exit() # doing this if so that updating conf variables can be collapsed by indentation in sublimeif(1):conf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.NDVEC=NDVECconf.CONST1=CONST1conf.CONST2=CONST2conf.CONST3=CONST3conf.CONST4=CONST4conf.CONST5=CONST5conf.TMAX=TMAXconf.SMALL=SMALLconf.API=APIconf.ESTART=ESTARTconf.THETA=THETAconf.PHI=PHIconf.TCFMAX=TCFMAXconf.TCFMAX1=TCFMAX1conf.RSTART=RSTARTconf.EFIELD=EFIELDconf.ETHRM=ETHRMconf.ECUT=ECUTconf.NDELTA=NDELTAconf.IMIP=IMIPconf.IWRITE=IWRITEconf.CF=CFconf.EIN=EINconf.TCF=TCFconf.IARRY=IARRYconf.RGAS=RGASconf.IPN=IPNconf.WPL=WPLconf.IZBR=IZBRconf.IPLAST=IPLASTconf.PENFRA=PENFRAconf.CFN=CFNconf.TCFN=TCFNconf.SCLENUL=SCLENULconf.NPLAST=NPLASTconf.ICOLL=ICOLLconf.NETOT=NETOTconf.NPRIME=NPRIMEconf.TMAX1=TMAX1conf.TIME=TIMEconf.NNULL=NNULLconf.NITOT=NITOTconf.ICOLN=ICOLNconf.ICOLNN=ICOLNNconf.NREAL=NREALconf.NEXCTOT=NEXCTOTconf.BET=BETconf.GAM=GAMconf.VC=VCconf.EMS=EMSconf.XST=XSTconf.YST=YSTconf.ZST=ZSTconf.TST=TSTconf.TTIME=TTIMEconf.NFGF=NFGFconf.NFGPP=NFGPPconf.NFGBR=NFGBRconf.NELEC=NELECconf.NEGION=NEGIONconf.EST1=EST1conf.EST2=EST2conf.XSTEXC=XSTEXCconf.YSTEXC=YSTEXCconf.ZSTEXC=ZSTEXCconf.TSTEXC=TSTEXCconf.NSTEXC=NSTEXCconf.XSTN=XSTNconf.YSTN=YSTNconf.ZSTN=ZSTNconf.TSTN=TSTNconf.IDNUL=IDNULconf.NEXCNUL=NEXCNULconf.DOUBLE=DOUBLEconf.CMINIXSC=CMINIXSCconf.CMINEXSC=CMINEXSCconf.ECLOSS=ECLOSSconf.WPLN=WPLNconf.ICOUNT=ICOUNTconf.AVPFRAC=AVPFRACconf.NC0=NC0conf.EC0=EC0conf.NG1=NG1conf.EG1=EG1conf.NG2=NG2conf.EG2=EG2conf.WKLM=WKLMconf.DSTFL=DSTFLconf.ESPLIT=ESPLITconf.IONMODEL=IONMODELconf.PSCT=PSCTconf.ANGCT=ANGCTconf.INDEX=INDEXconf.NISO=NISOconf.ECAS=ECASconf.XCAS=XCASconf.YCAS=YCASconf.ZCAS=ZCASconf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.TT1=TT1conf.NFLGF=NFLGFconf.NFLGPP=NFLGPPconf.IEVNTL=IEVNTLconf.LCMPLCFLG=LCMPLCFLGconf.LRAY=LRAYconf.LRFLG=LRFLGconf.LPAP=LPAPconf.LPFLG=LPFLGconf.LBRM=LBRMconf.LBFLG=LBFLGconf.LPEFLG=LPEFLGconf.EBRGAM=EBRGAMconf.BRDCOSX=BRDCOSXconf.BRDCOSY=BRDCOSYconf.BRDCOSZ=BRDCOSZconf.BRX=BRXconf.BRY=BRYconf.BRZ=BRZconf.BRT=BRTconf.EBRTOT=EBRTOTconf.NBREM=NBREMconf.ECASB=ECASBconf.XCASB=XCASBconf.YCASB=YCASBconf.ZCASB=ZCASBconf.DRXB=DRXBconf.DRYB=DRYBconf.DRZB=DRZBconf.TTB1=TTB1conf.NFLGFB=NFLGFBconf.NFLGPPB=NFLGPPBconf.IEVNTLB=IEVNTLBconf.ECASE=ECASEconf.XCASE=XCASEconf.YCASE=YCASEconf.ZCASE=ZCASEconf.DRXCE=DRXCEconf.DRYCE=DRYCEconf.DRZCE=DRZCEconf.TCASE=TCASEconf.NFLGFE=NFLGFEconf.NFLGPPE=NFLGPPEconf.IEVENTE=IEVENTEconf.NEGAS=NEGASconf.LEGAS=LEGASconf.IESHELL=IESHELLconf.IECASC=IECASCconf.NGEXC1=NGEXC1conf.NGEXC2=NGEXC2conf.NGEXC3=NGEXC3conf.NGEXC4=NGEXC4conf.NGEXC5=NGEXC5conf.NGEXC6=NGEXC6conf.IDG1=IDG1conf.IDG2=IDG2conf.IDG3=IDG3conf.IDG4=IDG4conf.IDG5=IDG5conf.IDG6=IDG6return# CATCH SINGLE ELECTRON CLUSTER THAT WAS ATTACHED.# if(NELEC == 1 and NCLUS == 0) GO TO 210 #if(NELEC==(NCLUS+1)):# WRITE(6,884) NELEC,NCLUS,NEGION,J11# 884 FORMAT(' NELEC=',I6,' NCLUS=',I6,' NEGION=',I3,' J11=',I6)# LAST ELECTRON IN CLUSTER DO STATISTICS OVER PRIMARY CLUSTERSTATS(J11,J1)# GO TO 210flag1=0flag210=1break# endifif(NELEC<(NCLUS+1)):# GET NEW IONISATION ELECTRON FROM STOREX=XS[NELEC]Y=YS[NELEC]Z=ZS[NELEC]ST=TS[NELEC]NFLGFF=NFLGFC[NELEC]NFLGPPP=NFLGPPC[NELEC]NFLGBRMM=NFLGBRMC[NELEC]TLAST=TS[NELEC]E1=ES[NELEC]DCX1=DCX[NELEC]DCY1=DCY[NELEC]DCZ1=DCZ[NELEC]if(E1<ETHRM):flag191=1continueflag1=1break# endif# MAIN LOOP END # 210 CONTINUEif(flag210):break# RESET NUMBER OF EVENTS FOR BAD EVENTSif(IMIP>2):NDELTA=NDELTA-IBADTOT## WRITE(6,887) EMAX,NEOVFL# 887 print(' EMAX= %.7f NEOVFL= %d'%(EMAX,NEOVFL))if(EMAX>EFINAL):# WRITE(6,989) EFINAL,EMAX# 989 print('INCREASE ENERGY LIMIT FROM %.6f EV TO AT LEAST %.6f \n EV.'%(EFINAL,EMAX))# sys.exit()# doing if(1) so that updating conf variables can be collapsed by indentation in sublimeif(1):conf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.NDVEC=NDVECconf.CONST1=CONST1conf.CONST2=CONST2conf.CONST3=CONST3conf.CONST4=CONST4conf.CONST5=CONST5conf.TMAX=TMAXconf.SMALL=SMALLconf.API=APIconf.ESTART=ESTARTconf.THETA=THETAconf.PHI=PHIconf.TCFMAX=TCFMAXconf.TCFMAX1=TCFMAX1conf.RSTART=RSTARTconf.EFIELD=EFIELDconf.ETHRM=ETHRMconf.ECUT=ECUTconf.NDELTA=NDELTAconf.IMIP=IMIPconf.IWRITE=IWRITEconf.CF=CFconf.EIN=EINconf.TCF=TCFconf.IARRY=IARRYconf.RGAS=RGASconf.IPN=IPNconf.WPL=WPLconf.IZBR=IZBRconf.IPLAST=IPLASTconf.PENFRA=PENFRAconf.CFN=CFNconf.TCFN=TCFNconf.SCLENUL=SCLENULconf.NPLAST=NPLASTconf.ICOLL=ICOLLconf.NETOT=NETOTconf.NPRIME=NPRIMEconf.TMAX1=TMAX1conf.TIME=TIMEconf.NNULL=NNULLconf.NITOT=NITOTconf.ICOLN=ICOLNconf.ICOLNN=ICOLNNconf.NREAL=NREALconf.NEXCTOT=NEXCTOTconf.BET=BETconf.GAM=GAMconf.VC=VCconf.EMS=EMSconf.XST=XSTconf.YST=YSTconf.ZST=ZSTconf.TST=TSTconf.TTIME=TTIMEconf.NFGF=NFGFconf.NFGPP=NFGPPconf.NFGBR=NFGBRconf.NELEC=NELECconf.NEGION=NEGIONconf.EST1=EST1conf.EST2=EST2conf.XSTEXC=XSTEXCconf.YSTEXC=YSTEXCconf.ZSTEXC=ZSTEXCconf.TSTEXC=TSTEXCconf.NSTEXC=NSTEXCconf.XSTN=XSTNconf.YSTN=YSTNconf.ZSTN=ZSTNconf.TSTN=TSTNconf.IDNUL=IDNULconf.NEXCNUL=NEXCNULconf.DOUBLE=DOUBLEconf.CMINIXSC=CMINIXSCconf.CMINEXSC=CMINEXSCconf.ECLOSS=ECLOSSconf.WPLN=WPLNconf.ICOUNT=ICOUNTconf.AVPFRAC=AVPFRACconf.NC0=NC0conf.EC0=EC0conf.NG1=NG1conf.EG1=EG1conf.NG2=NG2conf.EG2=EG2conf.WKLM=WKLMconf.DSTFL=DSTFLconf.ESPLIT=ESPLITconf.IONMODEL=IONMODELconf.PSCT=PSCTconf.ANGCT=ANGCTconf.INDEX=INDEXconf.NISO=NISOconf.ECAS=ECASconf.XCAS=XCASconf.YCAS=YCASconf.ZCAS=ZCASconf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.TT1=TT1conf.NFLGF=NFLGFconf.NFLGPP=NFLGPPconf.IEVNTL=IEVNTLconf.LCMPLCFLG=LCMPLCFLGconf.LRAY=LRAYconf.LRFLG=LRFLGconf.LPAP=LPAPconf.LPFLG=LPFLGconf.LBRM=LBRMconf.LBFLG=LBFLGconf.LPEFLG=LPEFLGconf.EBRGAM=EBRGAMconf.BRDCOSX=BRDCOSXconf.BRDCOSY=BRDCOSYconf.BRDCOSZ=BRDCOSZconf.BRX=BRXconf.BRY=BRYconf.BRZ=BRZconf.BRT=BRTconf.EBRTOT=EBRTOTconf.NBREM=NBREMconf.ECASB=ECASBconf.XCASB=XCASBconf.YCASB=YCASBconf.ZCASB=ZCASBconf.DRXB=DRXBconf.DRYB=DRYBconf.DRZB=DRZBconf.TTB1=TTB1conf.NFLGFB=NFLGFBconf.NFLGPPB=NFLGPPBconf.IEVNTLB=IEVNTLBconf.ECASE=ECASEconf.XCASE=XCASEconf.YCASE=YCASEconf.ZCASE=ZCASEconf.DRXCE=DRXCEconf.DRYCE=DRYCEconf.DRZCE=DRZCEconf.TCASE=TCASEconf.NFLGFE=NFLGFEconf.NFLGPPE=NFLGPPEconf.IEVENTE=IEVENTEconf.NEGAS=NEGASconf.LEGAS=LEGASconf.IESHELL=IESHELLconf.IECASC=IECASCconf.NGEXC1=NGEXC1conf.NGEXC2=NGEXC2conf.NGEXC3=NGEXC3conf.NGEXC4=NGEXC4conf.NGEXC5=NGEXC5conf.NGEXC6=NGEXC6conf.IDG1=IDG1conf.IDG2=IDG2conf.IDG3=IDG3conf.IDG4=IDG4conf.IDG5=IDG5conf.IDG6=IDG6# endif return# 889 NLEFT=NCLUS-NELEC# WRITE(6,992) NPRIME,NLEFT,NCLUS# 992 print(3*'\n',' WARNING STOPPED AFTER NPRIME= %d LAST PRIMARY HAS AT LEAST %d SECONDARIES LEFT TO TRACK OUT OF %d ELECTRONS ALREADY IN CLUSTER'%(NPRIME,NLEFT,NCLUS))# sys.exit() # doing this if so that updating conf variables can be collapsed by indentation in sublimeif(1):conf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.NDVEC=NDVECconf.CONST1=CONST1conf.CONST2=CONST2conf.CONST3=CONST3conf.CONST4=CONST4conf.CONST5=CONST5conf.TMAX=TMAXconf.SMALL=SMALLconf.API=APIconf.ESTART=ESTARTconf.THETA=THETAconf.PHI=PHIconf.TCFMAX=TCFMAXconf.TCFMAX1=TCFMAX1conf.RSTART=RSTARTconf.EFIELD=EFIELDconf.ETHRM=ETHRMconf.ECUT=ECUTconf.NDELTA=NDELTAconf.IMIP=IMIPconf.IWRITE=IWRITEconf.CF=CFconf.EIN=EINconf.TCF=TCFconf.IARRY=IARRYconf.RGAS=RGASconf.IPN=IPNconf.WPL=WPLconf.IZBR=IZBRconf.IPLAST=IPLASTconf.PENFRA=PENFRAconf.CFN=CFNconf.TCFN=TCFNconf.SCLENUL=SCLENULconf.NPLAST=NPLASTconf.ICOLL=ICOLLconf.NETOT=NETOTconf.NPRIME=NPRIMEconf.TMAX1=TMAX1conf.TIME=TIMEconf.NNULL=NNULLconf.NITOT=NITOTconf.ICOLN=ICOLNconf.ICOLNN=ICOLNNconf.NREAL=NREALconf.NEXCTOT=NEXCTOTconf.BET=BETconf.GAM=GAMconf.VC=VCconf.EMS=EMSconf.XST=XSTconf.YST=YSTconf.ZST=ZSTconf.TST=TSTconf.TTIME=TTIMEconf.NFGF=NFGFconf.NFGPP=NFGPPconf.NFGBR=NFGBRconf.NELEC=NELECconf.NEGION=NEGIONconf.EST1=EST1conf.EST2=EST2conf.XSTEXC=XSTEXCconf.YSTEXC=YSTEXCconf.ZSTEXC=ZSTEXCconf.TSTEXC=TSTEXCconf.NSTEXC=NSTEXCconf.XSTN=XSTNconf.YSTN=YSTNconf.ZSTN=ZSTNconf.TSTN=TSTNconf.IDNUL=IDNULconf.NEXCNUL=NEXCNULconf.DOUBLE=DOUBLEconf.CMINIXSC=CMINIXSCconf.CMINEXSC=CMINEXSCconf.ECLOSS=ECLOSSconf.WPLN=WPLNconf.ICOUNT=ICOUNTconf.AVPFRAC=AVPFRACconf.NC0=NC0conf.EC0=EC0conf.NG1=NG1conf.EG1=EG1conf.NG2=NG2conf.EG2=EG2conf.WKLM=WKLMconf.DSTFL=DSTFLconf.ESPLIT=ESPLITconf.IONMODEL=IONMODELconf.PSCT=PSCTconf.ANGCT=ANGCTconf.INDEX=INDEXconf.NISO=NISOconf.ECAS=ECASconf.XCAS=XCASconf.YCAS=YCASconf.ZCAS=ZCASconf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.TT1=TT1conf.NFLGF=NFLGFconf.NFLGPP=NFLGPPconf.IEVNTL=IEVNTLconf.LCMPLCFLG=LCMPLCFLGconf.LRAY=LRAYconf.LRFLG=LRFLGconf.LPAP=LPAPconf.LPFLG=LPFLGconf.LBRM=LBRMconf.LBFLG=LBFLGconf.LPEFLG=LPEFLGconf.EBRGAM=EBRGAMconf.BRDCOSX=BRDCOSXconf.BRDCOSY=BRDCOSYconf.BRDCOSZ=BRDCOSZconf.BRX=BRXconf.BRY=BRYconf.BRZ=BRZconf.BRT=BRTconf.EBRTOT=EBRTOTconf.NBREM=NBREMconf.ECASB=ECASBconf.XCASB=XCASBconf.YCASB=YCASBconf.ZCASB=ZCASBconf.DRXB=DRXBconf.DRYB=DRYBconf.DRZB=DRZBconf.TTB1=TTB1conf.NFLGFB=NFLGFBconf.NFLGPPB=NFLGPPBconf.IEVNTLB=IEVNTLBconf.ECASE=ECASEconf.XCASE=XCASEconf.YCASE=YCASEconf.ZCASE=ZCASEconf.DRXCE=DRXCEconf.DRYCE=DRYCEconf.DRZCE=DRZCEconf.TCASE=TCASEconf.NFLGFE=NFLGFEconf.NFLGPPE=NFLGPPEconf.IEVENTE=IEVENTEconf.NEGAS=NEGASconf.LEGAS=LEGASconf.IESHELL=IESHELLconf.IECASC=IECASCconf.NGEXC1=NGEXC1conf.NGEXC2=NGEXC2conf.NGEXC3=NGEXC3conf.NGEXC4=NGEXC4conf.NGEXC5=NGEXC5conf.NGEXC6=NGEXC6conf.IDG1=IDG1conf.IDG2=IDG2conf.IDG3=IDG3conf.IDG4=IDG4conf.IDG5=IDG5conf.IDG6=IDG6return# end
MONTEFA()
Tracks DELTA electrons and updates arrays containing position and time of thermalised electrons.
Calculates number of produced electrons per primary delta and other higher FANO factors.
Range calculation accurate for anisotropic X-Sections
Arguments
Argument
Description
NONE
-
Pseudo Code
SUBROUTINEMONTEFAIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/INPT1/NDVECCOMMON/CNSTS1/CONST1,CONST2,CONST3,CONST4,CONST5COMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITECOMMON/BFLD/EOVB,WB,BTHETA,BMAGCOMMON/LARGE/CF(20000,512),EIN(512),TCF(20000),IARRY(512),/RGAS(512),IPN(512),WPL(512),IZBR(512),IPLAST,PENFRA(3,512)COMMON/LARGEN/CFN(20000,60),TCFN(20000),SCLENUL(60),NPLASTCOMMON/OUTPT/ICOLL(30),NETOT,NPRIME,TMAX1,TIME(300),NNULL,/NITOT,ICOLN(512),ICOLNN(60),NREAL,NEXCTOTCOMMON/RLTVY/BET(20000),GAM(20000),VC,EMSCOMMON/STTS/XST(150000),YST(150000),ZST(150000),TST(150000),/TTIME(150000),NFGF(150000),NFGPP(150000),NFGBR(150000),NELEC,/NEGION,EST1,EST2COMMON/STEXC/XSTEXC(150000),YSTEXC(150000),ZSTEXC(150000),/TSTEXC(150000),NSTEXCCOMMON/STEXCNUL/XSTN(150000),YSTN(150000),ZSTN(150000),/TSTN(150000),IDNUL(150000),NEXCNULCOMMON/IONC/DOUBLE(6,20000),CMINIXSC(6),CMINEXSC(6),ECLOSS(6),/WPLN(6),ICOUNT,AVPFRAC(3,6)COMMON/IONFL/NC0(512),EC0(512),NG1(512),EG1(512),NG2(512),/EG2(512),WKLM(512),DSTFL(512)COMMON/IONMOD/ESPLIT(512,20),IONMODEL(512)COMMON/ANIS/PSCT(20000,512),ANGCT(20000,512),INDEX(512),NISOCOMMON/CASRS/ECAS(400),XCAS(400),YCAS(400),ZCAS(400),DRXS(400),/DRYS(400),DRZS(400),TT1(400),NFLGF(400),NFLGPP(400),IEVNTLCOMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/BREMG/EBRGAM(10),BRDCOSX(10),BRDCOSY(10),BRDCOSZ(10),/BRX(10),BRY(10),BRZ(10),BRT(10),EBRTOT(6),NBREM(6)COMMON/CASRSB/ECASB(400),XCASB(400),YCASB(400),ZCASB(400),/DRXB(400),DRYB(400),DRZB(400),TTB1(400),NFLGFB(400),NFLGPPB(400),/IEVNTLBCOMMON/CASRSE/ECASE(400),XCASE(400),YCASE(400),ZCASE(400),/DRXCE(400),DRYCE(400),DRZCE(400),TCASE(400),/NFLGFE(400),NFLGPPE(400),IEVENTECOMMON/ECASC/NEGAS(512),LEGAS(512),IESHELL(512),IECASCCOMMON/IDEXC/NGEXC1,NGEXC2,NGEXC3,NGEXC4,NGEXC5,NGEXC6,/IDG1,IDG2,IDG3,IDG4,IDG5,IDG6DIMENSIONXS(150000),YS(150000),ZS(150000),TS(150000),ES(150000),/DCX(150000),DCY(150000),DCZ(150000),/NFLGFC(150000),NFLGPPC(150000),NFLGBRMC(150000)DIMENSIONTEMP(20000)C----------------------------------------------------------------------CRELATIVISTICKINEMATICSCELECTRICANDMAGNETICFIELDSPARALLELTOZ-AXISCTRACKSDELTAELECTRONSANDUPDATESARRAYSCONTAININGPOSITIONANDCTIMEOFTHERMALISEDELECTRONS.CCALCULATESNUMBEROFPRODUCEDELECTRONSPERPRIMARYDELTAANDOTHERCHIGHERFANOFACTORSCRANGECALCULATIONISACCURATEONLYFORANISOTROPICX-SECTIONS.C----------------------------------------------------------------------CVARYINGENERGYSTEPSIF(EFINAL.LE.140000.)THENESTEP1=(EFINAL-16000.0)/DFLOAT(4000)ELSEESTEP1=20.0ESTEP2=(EFINAL-92000.0)/DFLOAT(4000)ENDIFNPRINT=0J300=300J20000=20000API=DACOS(-1.0D0)SMALL=1.0D-20EMAX=0.0D0TMAX1=0.0D0RDUM=RSTARTCONST9=CONST3*0.01D0DO25I=1,30025TIME(I)=0.0D0DO26I=1,3026ICOLL(I)=0DO27I=1,51227ICOLN(I)=0NREAL=0NNULL=0NETOT=0NEXCTOT=0NITOT=0NMXADD=0NTMPFLG=0BP=EFIELD*EFIELD*CONST1F1=EFIELD*CONST2F2=EFIELD*CONST3F4=2.0D0*APITHETA1=THETAPHI1=PHINEOVFL=0CCALCULATEMAXIMUMCOLLISIONFREQUENCYTLIM=0.0DO111J=1,20000TEMP(J)=TCFN(J)+TCF(J)IF(TLIM.LT.TEMP(J))TLIM=TEMP(J)111CONTINUECSTARTOFPRIMARYDELTALOOPJ1=0DO210J11=1,NDELTAJ1=J1+1NPRIME=J1NGEXC1=0NGEXC2=0NGEXC3=0NGEXC4=0NGEXC5=0NGEXC6=0CINITIALDIRECTIONCOSINESFORELECTRONBEAMDCZ1=DCOS(THETA1)DCX1=DSIN(THETA1)*DCOS(PHI1)DCY1=DSIN(THETA1)*DSIN(PHI1)NFLGFF=0NFLGPPP=0NFLGBRMM=0NFLGHIGH=0EST1=ESTARTCINITIALVELOCITYE1=ESTARTCVTOT=CONST9*DSQRT(E1)GAM1=(EMS+E1)/EMSGAM12=GAM1BET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.0D-12CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTX=0.0D0Y=0.0D0Z=0.0D0K1=0KEXC=0NSTEXC=0NEXCNUL=0NCLUS=0NELEC=0NEGION=0TLAST=0.0D0ST=0.0D0TDASH=0.0D0IF(IMIP.EQ.2)GOTO1IF(IMIP.GT.2)THENCREADINFIRSTELECTRONFROMBETADECAYORXRAYUNTHERMALISEDCLUSTERSCALLCASRES(J11,IBADTOT,IBAD1)CSKIPIFBADEVENTIF(IBAD1.EQ.1)THENJ1=J1-1GOTO210ENDIFELSEIF(IMIP.EQ.1)THENCREADINFIRSTELECTRONFROMMIPINTERACTIONCALLCASREM(J11)EST1=ECAS(1)EST2=EST1ENDIFX=XCAS(1)Y=YCAS(1)Z=ZCAS(1)ST=TT1(1)TS(1)=TT1(1)E1=ECAS(1)DCZ1=DRZS(1)DCY1=DRYS(1)DCX1=DRXS(1)NFLGFF=NFLGF(1)NFLGPPP=NFLGPP(1)NFLGBRMM=0NFLGHIGH=NFLGFFGAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))CVTOT=CONST9*DSQRT(E1)VTOT=BET1*VC*1.0D-12CCX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTCPUTREMAINDEROFELECTRONSINTOCLUSTERSTOREISDUM=0DO35IST=2,IEVNTLISDUM=ISDUM+1XS(ISDUM)=XCAS(IST)YS(ISDUM)=YCAS(IST)ZS(ISDUM)=ZCAS(IST)TS(ISDUM)=TT1(IST)ES(ISDUM)=ECAS(IST)DCX(ISDUM)=DRXS(IST)DCY(ISDUM)=DRYS(IST)DCZ(ISDUM)=DRZS(IST)NFLGFC(ISDUM)=NFLGF(IST)NFLGPPC(ISDUM)=NFLGPP(IST)NFLGBRMC(ISDUM)=0NCLUS=ISDUMIF(NFLGF(IST).GT.NFLGHIGH)NFLGHIGH=NFLGF(IST)35CONTINUEGAM12=GAM1CSTARTOFLOOPFORNEWLYCREATEDELECTRONS1CONTINUER1=drand48(RDUM)T=-DLOG(R1)/TLIM+TDASHTDASH=TCAP=DCZ1*F2*DSQRT(E1)GAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))AP=DCZ1*EFIELD*BET1*VC*1.0D-10BP1=BP/GAM1913FORMAT(3X,' AFTER STORE NREAL=',I10,' E1=',E12.3,' T=',E12.3,' AP=
/',E12.3,' BP=',E12.3,' DCZ1=',E12.3)CE=E1+(AP+BP*T)*TE=E1+(AP+BP1*T)*TIF(E.LT.0.0D0)THENIF(NPRINT.EQ.0)WRITE(6,913)NREAL,E1,T,AP,BP,DCZ1NPRINT=1E=0.001D0ENDIFCINSERTNEWALGORITHMTOFINDIEFORVARYINGENERGYSTEPIF(IMIP.EQ.1)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.20000.)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.140000.)THENIF(E.LE.16000.)THENIE=DINT(E)+1ELSEIE=16000+DINT((E-16000.)/ESTEP1)ENDIFELSEIF(E.LE.12000.)THENIE=DINT(E)+1ELSEIF(E.LE.92000.)THENIE=12000+DINT((E-12000.)/ESTEP1)ELSEIE=16000+DINT((E-92000.)/ESTEP2)ENDIFENDIFENDIFIE=DMIN0(IE,J20000)CCTESTFORREALORNULLCOLLISIONCR5=drand48(RDUM)TEST1=TCF(IE)/TLIMIF(R5.LE.TEST1)GOTO137NNULL=NNULL+1TEST2=TEMP(IE)/TLIMIF(R5.LT.TEST2)THENCTESTFORNULLLEVELSIF(NPLAST.EQ.0)GOTO1R2=drand48(RDUM)I=0888I=I+1IF(CFN(IE,I).LT.R2)GOTO888CINCREMENTNULLLEVELSUMNEXCNUL=NEXCNUL+1ICOLNN(I)=ICOLNN(I)+1CSTOREXYZTIDFORMOLECULARLIGHTEMISSIONANDDISSOCIATIONFROMCNULLEXCITATIONCNOTE:SMALLAPPROXUSEDPOSITIONOFPREVIOUSCOLLISIONXSTN(NEXCNUL)=XYSTN(NEXCNUL)=YZSTN(NEXCNUL)=ZTSTN(NEXCNUL)=STIDNUL(NEXCNUL)=IGOTO1ELSECNULLGOTO1ENDIFCCCALCULATEDIRECTIONCOSINESANDPOSITIONSATINSTANTBEFORECOLLISION137T2=T*TGAM2=(EMS+E)/EMSBET2=DSQRT(1.0D0-1.0D0/(GAM2*GAM2))GAM12=(GAM1+GAM2)/2.0D0IF(E.GT.EMAX)EMAX=EIF(T.GT.TMAX1)TMAX1=TTDASH=0.0D0NREAL=NREAL+1WBT=WB*T/GAM12CWBT=WB*TWBR=WB/GAM12COSWT=DCOS(WBT)SINWT=DSIN(WBT)CCONST6=DSQRT(E1/E)CONST6=BET1/BET2CX2=CX1*COSWT-CY1*SINWTCY2=CY1*COSWT+CX1*SINWTCVTOT=CONST9*DSQRT(E)VTOT=VC*BET2*1.0D-12DCX2=CX2/VTOTDCY2=CY2/VTOTCDCZ2=DCZ1*CONST6+EFIELD*T*CONST5/DSQRT(E)DCZ2=DCZ1*CONST6+EFIELD*T*2.0D10*CONST1/(VC*BET2)CCONST7=CONST9*DSQRT(E1)CONST7=VC*BET1*1.0D-12A=T*CONST7CDX=(CX1*SINWT-CY1*(1.0D0-COSWT))/WBDX=(CX1*SINWT-CY1*(1.0D0-COSWT))/WBRX=X+DXCDY=(CY1*SINWT+CX1*(1.0D0-COSWT))/WBDY=(CY1*SINWT+CX1*(1.0D0-COSWT))/WBRY=Y+DYCZ=Z+DCZ1*A+T2*F1Z=Z+DCZ1*A+T2*F1/GAM12ST=ST+TIT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0C---------------------------------------------------------------------CDETERMINATIONOFREALCOLLISIONTYPEC---------------------------------------------------------------------R2=drand48(RDUM)I=0140I=I+1IF(I.LE.0.OR.I.GT.512)THENWRITE(6,945)I945FORMAT(' BAD SELECTION I=',I8)STOPENDIFIF(CF(IE,I).LT.R2)GOTO140C************************************************************CCHECKIFBREMSSTRAHLUNGIF(IZBR(I).NE.0.AND.LBRM.EQ.1)THENNFLGBRMM=1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1DO141KNGS=1,NGASIF(IPT.EQ.(KNGS*5)-1)GOTO142141CONTINUE142IATOMNO=IZBR(I)CALLBREMS(IATOMNO,E,DCX2,DCY2,DCZ2,EOUT,EDCX,EDCY,EDCZ,/EGAMMA,GDCX,GDCY,GDCZ)NBREM(KNGS)=NBREM(KNGS)+1EBRTOT(KNGS)=EBRTOT(KNGS)+EGAMMACWRITE(6,668)EGAMMA,J11C668FORMAT(' BREM EGAMMA=',D12.4,' EVENT NO=',I5)CGETNEWDRCOSDRCOSYDRCOSXANDENERGYOFELECTRONE1=EOUTDCX1=EDCXDCY1=EDCYDCZ1=EDCZCRUNBREMSSTRAHLUNGGAMMATHROUGHCASCADETHENSTORECONVERTEDCELECTRONSINCOMMON/CASRSB/CCALLBREMSCASC(J11,EGAMMA,X,Y,Z,ST,GDCX,GDCY,GDCZ,ILOW)CBREMSSTRAHLUNGENERGYTOOLOWTOIONISEIF(ILOW.EQ.1)GOTO190CCSTOREBREMSSTRAHLUNGDATAINCLUSTERSTORECDO890KBR=1,IEVNTLBNCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASB(KBR)XS(NCLUS)=XCASB(KBR)YS(NCLUS)=YCASB(KBR)ZS(NCLUS)=ZCASB(KBR)TS(NCLUS)=TTB1(KBR)DCX(NCLUS)=DRXB(KBR)DCY(NCLUS)=DRYB(KBR)DCZ(NCLUS)=DRZB(KBR)NFLGFC(NCLUS)=NFLGFB(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPB(KBR)NFLGBRMC(NCLUS)=2890CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO190ENDIF891CONTINUEC****************************************************************CS1=RGAS(I)S1=1.0D0+GAM2*(RGAS(I)-1.0D0)EI=EIN(I)IF(E.LT.EI)THENEI=E-0.0001D0ENDIFIF(IPN(I).EQ.0)GOTO666CATTACHMENTIF(IPN(I).EQ.-1)THENNETOT=NETOT+1NITOT=NITOT+1NELEC=NELEC+1NEGION=NEGION+1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1IT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0GOTO335ENDIFEISTR=EIIF(IONMODEL(I).GT.0)THENCCALCULATESECONDARYENERGY,ESEC,INIONISATIONCOLLISIONUSINGCFIVEDIFFERENTMODELSCALLIONSPLIT(I,E,EI,ESEC)GOTO544ENDIFR9=drand48(RDUM)CUSEOPALPETERSONANDBEATYSPLITTINGFACTOR.ESEC=WPL(I)*TAN(R9*ATAN((E-EI)/(2.0D0*WPL(I))))ESEC=WPL(I)*(ESEC/WPL(I))**0.9524544CONTINUEEI=ESEC+EICSTOREPOSITION,ENERGY,DIRECTIONCOSINESANDTIMEOFGENERATIONCOFSECONDARYIONISATIONELECTRONNCLUS=NCLUS+1NMXADD=MAX(NCLUS,NMXADD)IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREAL546FORMAT(2X,' PROGRAM STOPPED . NCLUS=',I7,' NREAL =',I10)STOPENDIFXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STES(NCLUS)=ESECNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMNTMPFLG=1NCLTMP=NCLUSCRANDOMISESECONDARYELECTRONDIRECTIONCR3=drand48(RDUM)CF3=1.0-2.0D0*R3CTHETA0=DACOS(F3)CF6=DCOS(THETA0)CF5=DSIN(THETA0)CR4=drand48(RDUM)CPHI0=F4*R4CF8=DSIN(PHI0)CF9=DCOS(PHI0)CDCX(NCLUS)=F9*F5CDCY(NCLUS)=F8*F5CDCZ(NCLUS)=F6C*********************************************************IF(IECASC.EQ.0)GOTO333IF(LEGAS(I).EQ.0)GOTO333CUSECOMPLETECASCADEFORELECTRONIONISATIONKG1=NEGAS(I)LG1=LEGAS(I)IGSHEL=IESHELL(I)CALLCASCADEE(J11,KG1,LG1,X,Y,Z,ST,ESEC,IGSHEL)CCSTORECASCADEINCLUSTERSTORECETSUM=0.0DO844KBR=1,IEVENTENCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASE(KBR)ETSUM=ETSUM+ES(NCLUS)XS(NCLUS)=XCASE(KBR)YS(NCLUS)=YCASE(KBR)ZS(NCLUS)=ZCASE(KBR)TS(NCLUS)=TCASE(KBR)DCX(NCLUS)=DRXCE(KBR)DCY(NCLUS)=DRYCE(KBR)DCZ(NCLUS)=DRZCE(KBR)NFLGFC(NCLUS)=NFLGFE(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPE(KBR)NFLGBRMC(NCLUS)=NFLGBRMM844CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO666C*********************************************************CSTOREPOSSIBLESHELLEMISSSIONSBYAUGERORFLUORESCENCE333IF(EISTR.GT.30.0)THENCTESTIFFLUORESCENCEEMISSIONIFLTST=0IF(WKLM(I).GT.0.0)THENR9=drand48(RDUM)IF(R9.LT.WKLM(I))IFLTST=1ENDIFIF(IFLTST.EQ.0)THENCAUGEREMISSIONWITHOUTFLUORESCENCENAUG=NC0(I)EAVAUG=EC0(I)/DFLOAT(NAUG)DO700JFL=1,NC0(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6700CONTINUEELSECAUGEREMISSIONANDFLUORESCENCEIF(NG2(I).EQ.0)GOTO702NAUG=NG2(I)EAVAUG=EG2(I)/DFLOAT(NAUG)DO701JFL=1,NG2(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6701CONTINUE702IF(NG1(I).EQ.0)GOTO704NAUG=NG1(I)EAVAUG=EG1(I)/DFLOAT(NAUG)R9=drand48(RDUM)DFL=-DLOG(R9)*DSTFL(I)DO703JFL=1,NG1(I)NCLUS=NCLUS+1R3=drand48(RDUM)THEFL=DACOS(1.0-2.0D0*R3)R4=drand48(RDUM)PHIFL=F4*R4XS(NCLUS)=X+DFL*DSIN(THEFL)*DCOS(PHIFL)YS(NCLUS)=Y+DFL*DSIN(THEFL)*DSIN(PHIFL)ZS(NCLUS)=Z+DFL*DCOS(THEFL)NFLGFC(NCLUS)=NFLGHIGH+1NFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6NFLGHIGH=NFLGFC(NCLUS)703CONTINUE704CONTINUEENDIFENDIFCCGENERATESCATTERINGANGLESANDUPDATELABORATORYCOSINESAFTERCCOLLISIONALSOUPDATEENERGYOFELECTRON.C666IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1CIFEXCITATIONTHENADDPROBABILITY,PENFRA(1,I),OFTRANSFERTOGIVECIONISATIONOFTHEOTHERGASESINMIXTUREIF(IPEN.EQ.0.OR.NGAS.EQ.1)GOTO5IF(PENFRA(1,I).NE.0.0)THENRAN=drand48(RDUM)IF(RAN.GT.PENFRA(1,I))GOTO5NCLUS=NCLUS+1CENTERHEREPOSSIBLEDELOCALISATIONLENGTHFORPENNINGTRANSFERIF(PENFRA(2,I).EQ.0.0)THENXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMGOTO667ENDIFASIGN=1.0RAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNXS(NCLUS)=X-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNYS(NCLUS)=Y-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNZS(NCLUS)=Z-DLOG(RAN)*PENFRA(2,I)*ASIGN667RAN=drand48(RDUM)TS(NCLUS)=ST-DLOG(RAN)*PENFRA(3,I)CASSIGNEXCESSENERGYOF1EVTOPENNINGCREATEDELECTRONES(NCLUS)=1.0DCX(NCLUS)=DCX1DCY(NCLUS)=DCY1DCZ(NCLUS)=DCZ1GOTO6ENDIFCGOTO6CCALCULATESUMOFEXCITATIONPERCLUSTERANDSTOREEXCITATIONXYZT5IF(IPN(I).EQ.0)THENIF((RGAS(I)*EIN(I)).GT.4.0)THENKEXC=KEXC+1IF(KEXC.GT.150000)THENWRITE(6,548)KEXC548FORMAT(2X,' PROGRAM STOPPED . KEXC=',I7)STOPENDIFCFINDGASINWHICHEXCITATIONOCCUREDANDINCREMENTCOUNTERIF(I.LE.IDG1)THENNGEXC1=NGEXC1+1ELSEIF(I.LE.IDG2)THENNGEXC2=NGEXC2+1ELSEIF(I.LE.IDG3)THENNGEXC3=NGEXC3+1ELSEIF(I.LE.IDG4)THENNGEXC4=NGEXC4+1ELSEIF(I.LE.IDG5)THENNGEXC5=NGEXC5+1ELSEIF(I.LE.IDG6)THENNGEXC6=NGEXC6+1ELSEWRITE(6,9911)9911FORMAT(' PROGRAM STOPPED BAD GAS ID IN MONTE')STOPENDIFNEXCTOT=NEXCTOT+1NSTEXC=NSTEXC+1XSTEXC(KEXC)=XYSTEXC(KEXC)=YZSTEXC(KEXC)=ZTSTEXC(KEXC)=STENDIFENDIF6S2=(S1*S1)/(S1-1.0D0)CANISOTROPICSCATTERINGR3=drand48(RDUM)IF(INDEX(I).EQ.1)THENR31=drand48(RDUM)F3=1.0D0-R3*ANGCT(IE,I)IF(R31.GT.PSCT(IE,I))F3=-F3ELSEIF(INDEX(I).EQ.2)THENEPSI=PSCT(IE,I)F3=1.0D0-(2.0D0*R3*(1.0D0-EPSI)/(1.0D0+EPSI*(1.0D0-2.0D0*R3)))ELSECISOTROPICSCATTERINGF3=1.0D0-2.0D0*R3ENDIFTHETA0=DACOS(F3)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)IF(E.LT.EI)EI=0.0D0ARG1=1.0D0-S1*EI/EARG1=DMAX1(ARG1,SMALL)D=1.0D0-F3*DSQRT(ARG1)E1=E*(1.0D0-EI/(S1*E)-2.0D0*D/S2)E1=DMAX1(E1,SMALL)Q=DSQRT((E/E1)*ARG1)/S1Q=DMIN1(Q,1.0D0)THETA=DASIN(Q*DSIN(THETA0))F6=DCOS(THETA)U=(S1-1.0D0)*(S1-1.0D0)/ARG1CSQD=F3*F3IF(F3.LT.0.0D0.AND.CSQD.GT.U)F6=-1.0D0*F6F5=DSIN(THETA)DCZ2=DMIN1(DCZ2,1.0D0)ARGZ=DSQRT(DCX2*DCX2+DCY2*DCY2)IF(ARGZ.EQ.0.0D0)THENDCZ1=F6DCX1=F9*F5DCY1=F8*F5IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GE.1.0)F5S=0.999THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=F6SDCX(NCLTMP)=F9S*F5SDCY(NCLTMP)=F8S*F5SNTMPFLG=0ENDIFGOTO190ENDIFDCZ1=DCZ2*F6+ARGZ*F5*F8DCY1=DCY2*F6+(F5/ARGZ)*(DCX2*F9-DCY2*DCZ2*F8)DCX1=DCX2*F6-(F5/ARGZ)*(DCY2*F9+DCX2*DCZ2*F8)IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GE.1.0)F5S=0.999THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=DCZ2*F6S+ARGZ*F5S*F8SDCY(NCLTMP)=DCY2*F6S+(F5S/ARGZ)*(DCX2*F9S-DCY2*DCZ2*F8S)DCX(NCLTMP)=DCX2*F6S-(F5S/ARGZ)*(DCY2*F9S+DCX2*DCZ2*F8S)NTMPFLG=0ENDIF190CONTINUECVTOT=CONST9*DSQRT(E1)GAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.0D-12CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTCTESTIFELECTRONISTHERMALISEDIF(E1.GT.ETHRM)GOTO1CSTOREPOSITIONANDTIMEOFTHERMALISEDELECTRON191CONTINUEK1=K1+1XST(K1)=XYST(K1)=YZST(K1)=ZTST(K1)=STNFGF(K1)=NFLGFFNFGPP(K1)=NFLGPPPNFGBR(K1)=NFLGBRMMTTIME(K1)=ST-TLASTNELEC=NELEC+1NETOT=NETOT+1CWRITE(6,777)XST(K1),YST(K1),ZST(K1),TST(K1),NFGF(K1),NFGPP(K1),C/NFGBR(K1),NELEC,NETOT,K1C777FORMAT(' XST=',D12.4,' YST=',D12.4,' ZST=',D12.4,' TST=',D12.4,/,C/' NFGF=',I4,' NFGPP=',I4,' NFGBR=',I4,' NELEC=',I4,' NETOT=',I4,C/' K1=',I4)335IF(K1.EQ.150000)GOTO889IF(NELEC.EQ.(NCLUS+1))THENCLASTELECTRONINCLUSTER,DOSTATISTICSONPRIMARYCALLSTATS(J11,J1)GOTO210ENDIFCGETNEWIONISATIONELECTRONFROMSTOREX=XS(NELEC)Y=YS(NELEC)Z=ZS(NELEC)ST=TS(NELEC)NFLGFF=NFLGFC(NELEC)NFLGPPP=NFLGPPC(NELEC)NFLGBRMM=NFLGBRMC(NELEC)TLAST=TS(NELEC)E1=ES(NELEC)DCX1=DCX(NELEC)DCY1=DCY(NELEC)DCZ1=DCZ(NELEC)CIF(NELEC.GT.94)WRITE(6,766)X,Y,Z,ST,E1,DCX1,DCY1,DCZ1,NELECC766FORMAT(' X=',D12.4,' Y=',D12.4,' Z=',D12.4,' T=',D12.4,/,' E=',C/D12.4,' DCX=',D12.4,' DCY=',D12.4,' DCZ=',D12.4,' NELEC=',I6,/)CSTOREALREADYTHERMALISEDELECTRONSIF(E1.LT.ETHRM)GOTO191GOTO1CMAINLOOPEND210CONTINUECRESETNUMBEROFEVENTSFORBADEVENTSIF(IMIP.GT.2)NDELTA=NDELTA-IBADTOTCWRITE(6,887)EMAX,NEOVFL887FORMAT(' EMAX=',D12.7,' NEOVFL =',I5)IF(EMAX.GT.EFINAL)THENWRITE(6,989)EFINAL,EMAX989FORMAT('INCREASE ENERGY LIMIT FROM',D12.6,' EV TO AT LEAST',D12.6,/' EV.')STOPENDIFRETURN889NLEFT=NCLUS-NELECWRITE(6,992)NPRIME,NLEFT,NCLUS992FORMAT(3(/),' WARNING STOPPED AFTER NPRIME=',I6,' LAST PRIMARY HAS
/ AT LEAST ',I6,' SECONDARIES LEFT TO TRACK, OUT OF ',I6,' ELECTRON
/S ALREADY IN CLUSTER')STOPRETURNEND```##MONTEFB()*TracksDELTAelectronsandupdatesarrayscontainingpositionandtimeofthermalisedelectrons.*CalculatesnumberofproducedelectronsperprimarydeltaandotherhigherFANOfactors.### Arguments|Argument|Description||----------|-------------||NONE|-||||### Pseudo Code```fortranSUBROUTINEMONTEFBIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/INPT1/NDVECCOMMON/CNSTS1/CONST1,CONST2,CONST3,CONST4,CONST5COMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITECOMMON/BFLD/EOVB,WB,BTHETA,BMAGCOMMON/LARGE/CF(20000,512),EIN(512),TCF(20000),IARRY(512),/RGAS(512),IPN(512),WPL(512),IZBR(512),IPLAST,PENFRA(3,512)COMMON/LARGEN/CFN(20000,60),TCFN(20000),SCLENUL(60),NPLASTCOMMON/OUTPT/ICOLL(30),NETOT,NPRIME,TMAX1,TIME(300),NNULL,/NITOT,ICOLN(512),ICOLNN(60),NREAL,NEXCTOTCOMMON/RLTVY/BET(20000),GAM(20000),VC,EMSCOMMON/STTS/XST(150000),YST(150000),ZST(150000),TST(150000),/TTIME(150000),NFGF(150000),NFGPP(150000),NFGBR(150000),NELEC,/NEGION,EST1,EST2COMMON/STEXC/XSTEXC(150000),YSTEXC(150000),ZSTEXC(150000),/TSTEXC(150000),NSTEXCCOMMON/STEXCNUL/XSTN(150000),YSTN(150000),ZSTN(150000),/TSTN(150000),IDNUL(150000),NEXCNULCOMMON/IONC/DOUBLE(6,20000),CMINIXSC(6),CMINEXSC(6),ECLOSS(6),/WPLN(6),ICOUNT,AVPFRAC(3,6)COMMON/IONFL/NC0(512),EC0(512),NG1(512),EG1(512),NG2(512),/EG2(512),WKLM(512),DSTFL(512)COMMON/IONMOD/ESPLIT(512,20),IONMODEL(512)COMMON/ANIS/PSCT(20000,512),ANGCT(20000,512),INDEX(512),NISOCOMMON/CASRS/ECAS(400),XCAS(400),YCAS(400),ZCAS(400),DRXS(400),/DRYS(400),DRZS(400),TT1(400),NFLGF(400),NFLGPP(400),IEVNTLCOMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/BREMG/EBRGAM(10),BRDCOSX(10),BRDCOSY(10),BRDCOSZ(10),/BRX(10),BRY(10),BRZ(10),BRT(10),EBRTOT(6),NBREM(6)COMMON/CASRSB/ECASB(400),XCASB(400),YCASB(400),ZCASB(400),/DRXB(400),DRYB(400),DRZB(400),TTB1(400),NFLGFB(400),NFLGPPB(400),/IEVNTLBCOMMON/CASRSE/ECASE(400),XCASE(400),YCASE(400),ZCASE(400),/DRXCE(400),DRYCE(400),DRZCE(400),TCASE(400),/NFLGFE(400),NFLGPPE(400),IEVENTECOMMON/ECASC/NEGAS(512),LEGAS(512),IESHELL(512),IECASCCOMMON/IDEXC/NGEXC1,NGEXC2,NGEXC3,NGEXC4,NGEXC5,NGEXC6,/IDG1,IDG2,IDG3,IDG4,IDG5,IDG6DIMENSIONXS(150000),YS(150000),ZS(150000),TS(150000),ES(150000),/DCX(150000),DCY(150000),DCZ(150000),/NFLGFC(150000),NFLGPPC(150000),NFLGBRMC(150000)DIMENSIONTEMP(20000)C-------------------------------------------------------------------CRELATIVISTICVERSIONCELECTRICFIELDALONGZ-AXISMAGNETICFIELDALONGX-AXIS.CTRACKSDELTAELECTRONSANDUPDATESARRAYSCONTAININGPOSITIONANDCTIMEOFTHERMALISEDELECTRONS.CCALCULATESNUMBEROFPRODUCEDELECTRONSPERPRIMARYDELTAANDOTHERCHIGHERFANOFACTORS.C-------------------------------------------------------------------CVARYINGENERGYSTEPSIF(EFINAL.LE.140000.)THENESTEP1=(EFINAL-16000.0)/DFLOAT(4000)ELSEESTEP1=20.0ESTEP2=(EFINAL-92000.0)/DFLOAT(4000)ENDIFNPRINT=0J20000=20000J300=300API=DACOS(-1.0D0)SMALL=1.0D-20EMAX=0.0D0TMAX1=0.0D0RDUM=RSTARTCONST9=CONST3*0.01D0DO25I=1,30025TIME(I)=0.0D0DO26I=1,3026ICOLL(I)=0DO27I=1,51227ICOLN(I)=0NREAL=0NNULL=0NETOT=0NEXCTOT=0NITOT=0NMXADD=0NTMPFLG=0THETA1=THETAPHI1=PHIF4=2.0D0*APINEOVFL=0CCALCULATEMAXIMUMCOLLISIONFREQUENCYTLIM=0.0DO111J=1,20000TEMP(J)=TCFN(J)+TCF(J)IF(TLIM.LT.TEMP(J))TLIM=TEMP(J)111CONTINUEJ1=0CSTARTOFPRIMARYEVENTLOOPDO210J11=1,NDELTAJ1=J1+1NPRIME=J1NGEXC1=0NGEXC2=0NGEXC3=0NGEXC4=0NGEXC5=0NGEXC6=0CINITIALDIRECTIONCOSINESDCZ1=DCOS(THETA1)DCX1=DSIN(THETA1)*DCOS(PHI1)DCY1=DSIN(THETA1)*DSIN(PHI1)NFLGFF=0NFLGPPP=0NFLGBRMM=0NFLGHIGH=0EST1=ESTARTCINITIALVELOCITY,TIMEANDPOSITIONE1=ESTARTGAM1=(EMS+E1)/EMSGAM12=GAM1BET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.0D-12CVTOT=CONST9*DSQRT(E1)CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTX=0.0D0Y=0.0D0Z=0.0D0K1=0KEXC=0NSTEXC=0NEXCNUL=0NCLUS=0NELEC=0NEGION=0TLAST=0.0D0ST=0.0D0TDASH=0.0D0IF(IMIP.EQ.2)GOTO1IF(IMIP.GT.2)THENCREADINFIRSTELECTRONFROMBETADECAYORXRAYUNTHERMALISEDCLUSTERSCALLCASRES(J11,IBADTOT,IBAD1)CSKIPIFBADEVENTIF(IBAD1.EQ.1)THENJ1=J1-1GOTO210ENDIFELSEIF(IMIP.EQ.1)THENCREADINFIRSTELECTRONFROMMIPINTERACTIONCALLCASREM(J11)EST1=ECAS(1)EST2=EST1ENDIFX=XCAS(1)Y=YCAS(1)Z=ZCAS(1)ST=TT1(1)TS(1)=TT1(1)E1=ECAS(1)DCZ1=DRZS(1)DCY1=DRYS(1)DCX1=DRXS(1)NFLGFF=NFLGF(1)NFLGPPP=NFLGPP(1)NFLGBRMM=0NFLGHIGH=NFLGFFGAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=VC*BET1*1.0D-12CVTOT=CONST9*DSQRT(E1)CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTCPUTREMAINDEROFELECTRONSINTOCLUSTERSTOREISDUM=0DO35IST=2,IEVNTLISDUM=ISDUM+1XS(ISDUM)=XCAS(IST)YS(ISDUM)=YCAS(IST)ZS(ISDUM)=ZCAS(IST)TS(ISDUM)=TT1(IST)ES(ISDUM)=ECAS(IST)DCX(ISDUM)=DRXS(IST)DCY(ISDUM)=DRYS(IST)DCZ(ISDUM)=DRZS(IST)NFLGFC(ISDUM)=NFLGF(IST)NFLGPPC(ISDUM)=NFLGPP(IST)NFLGBRMC(ISDUM)=0NCLUS=ISDUMIF(NFLGFC(IST).GT.NFLGHIGH)NFLGHIGH=NFLGFC(IST)35CONTINUEGAM12=GAM1CSTARTOFLOOPFORNEWLYCREATEDELECTRONS1CONTINUER1=drand48(RDUM)T=-DLOG(R1)/TLIM+TDASHTDASH=TWBT=WB*T/GAM12CWBT=WB*TCOSWT=DCOS(WBT)SINWT=DSIN(WBT)DZ=GAM12*(CZ1*SINWT+(EOVB-CY1)*(1.0D0-COSWT))/WBCDZ=(CZ1*SINWT+(EOVB-CY1)*(1.0D0-COSWT))/WBE=E1+DZ*EFIELD*100.0D0GAM2=(EMS+E)/EMSBET2=DSQRT(1.0D0-1.0D0/(GAM2*GAM2))C913FORMAT(3X,' AFTER STORE NREAL=',I10,' DZ=',D12.3,'E1=',D12.3,' COS
C /WT=',D12.3,' SINWT=',D12.3,' WBT=',D12.3,' CY1=',D12.3)IF(E.LT.0.0D0)THENCIF(NPRINT.EQ.0)WRITE(6,913)NREAL,DZ,E1,COSWT,SINWT,WBT,CY1CNPRINT=1E=0.001D0ENDIFCINSERTNEWALGORITHMTOFINDIEFORVARYINGENERGYSTEPIF(IMIP.EQ.1)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.20000.)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.140000.)THENIF(E.LE.16000.)THENIE=DINT(E)+1ELSEIE=16000+DINT((E-16000.)/ESTEP1)ENDIFELSEIF(E.LE.12000.)THENIE=DINT(E)+1ELSEIF(E.LE.92000.)THENIE=12000+DINT((E-12000.)/ESTEP1)ELSEIE=16000+DINT((E-92000.)/ESTEP2)ENDIFENDIFENDIFIE=DMIN0(IE,J20000)CCTESTFORREALORNULLCOLLISIONCR5=drand48(RDUM)TEST1=TCF(IE)/TLIMIF(R5.LE.TEST1)GOTO137NNULL=NNULL+1TEST2=TEMP(IE)/TLIMIF(R5.LT.TEST2)THENCTESTFORNULLLEVELSIF(NPLAST.EQ.0)GOTO1R2=drand48(RDUM)I=0888I=I+1IF(CFN(IE,I).LT.R2)GOTO888CINCREMENTNULLLEVELSUMNEXCNUL=NEXCNUL+1ICOLNN(I)=ICOLNN(I)+1CSTOREXYZTIDFORMOLECULARLIGHTEMISSIONANDDISSOCIATIONFROMCNULLEXCITATIONCNOTE:SMALLAPPROXUSEDPOSITIONOFPREVIOUSREALCOLLISIONXSTN(NEXCNUL)=XYSTN(NEXCNUL)=YZSTN(NEXCNUL)=ZTSTN(NEXCNUL)=STIDNUL(NEXCNUL)=IGOTO1ELSECNULLGOTO1ENDIFCCCALCULATEDIRECTIONCOSINESANDPOSITIONSATINSTANTBEFORECOLLISION137T2=T*TIF(E.GT.EMAX)EMAX=EIF(T.GT.TMAX1)TMAX1=TTDASH=0.0D0NREAL=NREAL+1CCALCVELOCITYCX2=CX1CY2=(CY1-EOVB)*COSWT+CZ1*SINWT+EOVBCZ2=CZ1*COSWT-(CY1-EOVB)*SINWTCCALCDIRECTIONCOSINESVTOT=DSQRT(CX2*CX2+CY2*CY2+CZ2*CZ2)DCX2=CX2/VTOTDCY2=CY2/VTOTDCZ2=CZ2/VTOTCCALCNEWPOSITIONX=X+CX1*TY=Y+EOVB*T+GAM12*((CY1-EOVB)*SINWT+CZ1*(1.0D0-COSWT))/WBZ=Z+DZGAM12=(GAM1+GAM2)/2.0D0ST=ST+TIT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0C---------------------------------------------------------------------CDETERMINATIONOFREALCOLLISIONTYPEC---------------------------------------------------------------------R2=drand48(RDUM)I=0140I=I+1IF(CF(IE,I).LT.R2)GOTO140C************************************************************CCHECKIFBREMSSTRAHLUNGIF(IZBR(I).NE.0.AND.LBRM.EQ.1)THENNFLGBRMM=1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1DO141KNGS=1,NGASIF(IPT.EQ.(KNGS*5)-1)GOTO142141CONTINUE142IATOMNO=IZBR(I)CALLBREMS(IATOMNO,E,DCX2,DCY2,DCZ2,EOUT,EDCX,EDCY,EDCZ,/EGAMMA,GDCX,GDCY,GDCZ)NBREM(KNGS)=NBREM(KNGS)+1EBRTOT(KNGS)=EBRTOT(KNGS)+EGAMMACWRITE(6,668)EGAMMA,J11C668FORMAT(' BREM EGAMMA=',D12.4,' EVENT NO=',I5)CGETNEWDRCOSDRCOSYDRCOSXANDENERGYOFELECTRONE1=EOUTDCX1=EDCXDCY1=EDCYDCZ1=EDCZCRUNBREMSSTRAHLUNGGAMMATHROUGHCASCADETHENSTORECONVERTEDCELECTRONSINCOMMON/CASRSB/CCALLBREMSCASC(J11,EGAMMA,X,Y,Z,ST,GDCX,GDCY,GDCZ,ILOW)CBREMSSTRAHLUNGENERGYTOOLOWTOIONISEIF(ILOW.EQ.1)GOTO190CCSTOREBREMSSTARHLUNGDATAINCLUSTERSTORECDO890KBR=1,IEVNTLBNCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASB(KBR)XS(NCLUS)=XCASB(KBR)YS(NCLUS)=YCASB(KBR)ZS(NCLUS)=ZCASB(KBR)TS(NCLUS)=TTB1(KBR)DCX(NCLUS)=DRXB(KBR)DCY(NCLUS)=DRYB(KBR)DCZ(NCLUS)=DRZB(KBR)NFLGFC(NCLUS)=NFLGFB(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPB(KBR)NFLGBRMC(NCLUS)=2890CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO190ENDIF891CONTINUEC****************************************************************CS1=RGAS(I)S1=1.0D0+GAM2*(RGAS(I)-1.0D0)EI=EIN(I)IF(E.LT.EI)THENEI=E-0.0001D0ENDIFIF(IPN(I).EQ.0)GOTO666CATTACHMENTIF(IPN(I).EQ.-1)THENNETOT=NETOT+1NITOT=NITOT+1NELEC=NELEC+1NEGION=NEGION+1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1IT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0GOTO335ENDIFEISTR=EIIF(IONMODEL(I).GT.0)THENCCALCULATESECONDARYENERGY,ESEC,INIONISATIONCOLLISIONUSINGCFIVEDIFFERENTMODELSCALLIONSPLIT(I,E,EI,ESEC)GOTO544ENDIFR9=drand48(RDUM)CUSEOPALPETERSONANDBEATYSPLITTINGFACTOR.ESEC=WPL(I)*TAN(R9*ATAN((E-EI)/(2.0D0*WPL(I))))ESEC=WPL(I)*(ESEC/WPL(I))**0.9524544CONTINUEEI=ESEC+EICSTOREPOSITION,ENERGY,DIRECTIONCOSINESANDTIMEOFGENERATIONCOFSECONDARYIONISATIONELECTRONNCLUS=NCLUS+1NMXADD=MAX(NCLUS,NMXADD)IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREAL546FORMAT(2X,' PROGRAM STOPPED . NCLUS=',I7,' NREAL=',I10)STOPENDIFXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STES(NCLUS)=ESECNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMNTMPFLG=1NCLTMP=NCLUSCRANDOMISESECONDARYELECTRONDIRECTIONCR3=drand48(RDUM)CF3=1.0-2.0D0*R3CTHETA0=DACOS(F3)CF6=DCOS(THETA0)CF5=DSIN(THETA0)CR4=drand48(RDUM)CPHI0=F4*R4CF8=DSIN(PHI0)CF9=DCOS(PHI0)CDCX(NCLUS)=F9*F5CDCY(NCLUS)=F8*F5CDCZ(NCLUS)=F6C*********************************************************IF(IECASC.EQ.0)GOTO333IF(LEGAS(I).EQ.0)GOTO333CUSECOMPLETECASCADEFORELECTRONIONISATIONKG1=NEGAS(I)LG1=LEGAS(I)IGSHEL=IESHELL(I)CALLCASCADEE(J11,KG1,LG1,X,Y,Z,ST,ESEC,IGSHEL)CCSTORECASCADEINCLUSTERSTORECETSUM=0.0DO844KBR=1,IEVENTENCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASE(KBR)ETSUM=ETSUM+ES(NCLUS)XS(NCLUS)=XCASE(KBR)YS(NCLUS)=YCASE(KBR)ZS(NCLUS)=ZCASE(KBR)TS(NCLUS)=TCASE(KBR)DCX(NCLUS)=DRXCE(KBR)DCY(NCLUS)=DRYCE(KBR)DCZ(NCLUS)=DRZCE(KBR)NFLGFC(NCLUS)=NFLGFE(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPE(KBR)NFLGBRMC(NCLUS)=NFLGBRMM844CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO666C*********************************************************CSTOREPOSSIBLESHELLEMISSIONSAUGERORFLUORESCENCE333IF(EISTR.GT.30.0)THENCTESTIFFLUORESCENCEEMISSIONIFLTST=0IF(WKLM(I).GT.0.0)THENR9=drand48(RDUM)IF(R9.LT.WKLM(I))IFLTST=1ENDIFIF(IFLTST.EQ.0)THENCAUGEREMISSIONWITHOUTFLUORESCENCENAUG=NC0(I)EAVAUG=EC0(I)/DFLOAT(NAUG)DO700JFL=1,NC0(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6700CONTINUEELSECAUGEREMISSIONANDFLUORESENCEIF(NG2(I).EQ.0)GOTO702NAUG=NG2(I)EAVAUG=EG2(I)/DFLOAT(NAUG)DO701JFL=1,NG2(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6701CONTINUE702IF(NG1(I).EQ.0)GOTO704NAUG=NG1(I)EAVAUG=EG1(I)/DFLOAT(NAUG)R9=drand48(RDUM)DFL=-DLOG(R9)*DSTFL(I)DO703JFL=1,NG1(I)NCLUS=NCLUS+1R3=drand48(RDUM)THEFL=DACOS(1.0-2.0D0*R3)R4=drand48(RDUM)PHIFL=F4*R4XS(NCLUS)=X+DFL*DSIN(THEFL)*DCOS(PHIFL)YS(NCLUS)=Y+DFL*DSIN(THEFL)*DSIN(PHIFL)ZS(NCLUS)=Z+DFL*DCOS(THEFL)NFLGFC(NCLUS)=NFLGHIGH+1NFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6NFLGHIGH=NFLGFC(NCLUS)703CONTINUE704CONTINUEENDIFENDIFCCGENERATESCATTERINGANGLESANDUPDATELABORATORYCOSINESAFTERCCOLLISIONALSOUPDATEENERGYOFELECTRON.C666IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1CIFEXCITATIONTHENADDPROBABILITY,PENFRA(1,I),OFTRANSFERTOGIVECIONISATIONOFTHEOTHERGASESINMIXTUREIF(IPEN.EQ.0.OR.NGAS.EQ.1)GOTO5IF(PENFRA(1,I).NE.0.0)THENRAN=drand48(RDUM)IF(RAN.GT.PENFRA(1,I))GOTO5NCLUS=NCLUS+1CENTERHEREPOSSIBLEDELOCALISATIONLENGTHFORPENNINGTRANSFERIF(PENFRA(2,I).EQ.0.0)THENXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMGOTO667ENDIFASIGN=1.0RAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNXS(NCLUS)=X-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNYS(NCLUS)=Y-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNZS(NCLUS)=Z-DLOG(RAN)*PENFRA(2,I)*ASIGN667RAN=drand48(RDUM)TS(NCLUS)=ST-DLOG(RAN)*PENFRA(3,I)CASSIGNEXCESSENERGYOF1EVTOPENNINGCREATEDELECTRONES(NCLUS)=1.0DCX(NCLUS)=DCX1DCY(NCLUS)=DCY1DCZ(NCLUS)=DCZ1GOTO6ENDIFCGOTO6CCALCULATESUMOFEXCITATIONPERCLUSTERANDSTOREEXCITATIONXYZT5IF(IPN(I).EQ.0)THENIF((RGAS(I)*EIN(I)).GT.4.0)THENKEXC=KEXC+1IF(KEXC.GT.150000)THENWRITE(6,548)KEXC548FORMAT(2X,' PROGRAM STOPPED . KEXC=',I7)STOPENDIFCFINDGASINWHICHEXCITATIONOCCUREDANDINCREMENTCOUNTERIF(I.LE.IDG1)THENNGEXC1=NGEXC1+1ELSEIF(I.LE.IDG2)THENNGEXC2=NGEXC2+1ELSEIF(I.LE.IDG3)THENNGEXC3=NGEXC3+1ELSEIF(I.LE.IDG4)THENNGEXC4=NGEXC4+1ELSEIF(I.LE.IDG5)THENNGEXC5=NGEXC5+1ELSEIF(I.LE.IDG6)THENNGEXC6=NGEXC6+1ELSEWRITE(6,9911)9911FORMAT(' PROGRAM STOPPED BAD GAS ID IN MONTE')STOPENDIFNEXCTOT=NEXCTOT+1NSTEXC=NSTEXC+1XSTEXC(KEXC)=XYSTEXC(KEXC)=YZSTEXC(KEXC)=ZTSTEXC(KEXC)=STENDIFENDIF6S2=(S1*S1)/(S1-1.0D0)CANISOTROPICSCATTERINGR3=drand48(RDUM)IF(INDEX(I).EQ.1)THENR31=drand48(RDUM)F3=1.0D0-R3*ANGCT(IE,I)IF(R31.GT.PSCT(IE,I))F3=-F3ELSEIF(INDEX(I).EQ.2)THENEPSI=PSCT(IE,I)F3=1.0D0-(2.0D0*R3*(1.0D0-EPSI)/(1.0D0+EPSI*(1.0D0-2.0D0*R3)))ELSECISOTROPICSCATTERINGF3=1.0D0-2.0D0*R3ENDIFTHETA0=DACOS(F3)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)IF(E.LT.EI)EI=0.0D0ARG1=1.0D0-S1*EI/EARG1=DMAX1(ARG1,SMALL)D=1.0D0-F3*DSQRT(ARG1)E1=E*(1.0D0-EI/(S1*E)-2.0D0*D/S2)E1=DMAX1(E1,SMALL)Q=DSQRT((E/E1)*ARG1)/S1Q=DMIN1(Q,1.0D0)THETA=DASIN(Q*DSIN(THETA0))F6=DCOS(THETA)U=(S1-1.0D0)*(S1-1.0D0)/ARG1CSQD=F3*F3IF(F3.LT.0.0D0.AND.CSQD.GT.U)F6=-1.0D0*F6F5=DSIN(THETA)DCZ2=DMIN1(DCZ2,1.0D0)ARGZ=DSQRT(DCX2*DCX2+DCY2*DCY2)IF(ARGZ.EQ.0.0D0)THENDCZ1=F6DCX1=F9*F5DCY1=F8*F5IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GT.1.0)F5S=1.0THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=F6SDCX(NCLTMP)=F9S*F5SDCY(NCLTMP)=F8S*F5SNTMPFLG=0ENDIFGOTO190ENDIFDCZ1=DCZ2*F6+ARGZ*F5*F8DCY1=DCY2*F6+(F5/ARGZ)*(DCX2*F9-DCY2*DCZ2*F8)DCX1=DCX2*F6-(F5/ARGZ)*(DCY2*F9+DCX2*DCZ2*F8)IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GT.1.0)F5S=1.0THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=DCZ2*F6S+ARGZ*F5S*F8SDCY(NCLTMP)=DCY2*F6S+(F5S/ARGZ)*(DCX2*F9S-DCY2*DCZ2*F8S)DCX(NCLTMP)=DCX2*F6S-(F5S/ARGZ)*(DCY2*F9S+DCX2*DCZ2*F8S)NTMPFLG=0ENDIF190CONTINUEGAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.D-12CVTOT=CONST9*DSQRT(E1)CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTCTESTIFELECTRONISTHERMALISEDIF(E1.GT.ETHRM)GOTO1CSTOREPOSITIONANDTIMEOFTHERMALISEDELECTRON191CONTINUEK1=K1+1XST(K1)=XYST(K1)=YZST(K1)=ZTST(K1)=STNFGF(K1)=NFLGFFNFGPP(K1)=NFLGPPPNFGBR(K1)=NFLGBRMMTTIME(K1)=ST-TLASTNELEC=NELEC+1NETOT=NETOT+1335IF(K1.EQ.150000)GOTO889IF(NELEC.EQ.(NCLUS+1))THENCLASTELECTRONINCLUSTER,DOSTATISTICSONCLUSTERCALLSTATS(J11,J1)GOTO210ENDIFCGETNEWIONISATIONELECTRONFROMSTOREX=XS(NELEC)Y=YS(NELEC)Z=ZS(NELEC)ST=TS(NELEC)NFLGFF=NFLGFC(NELEC)NFLGPPP=NFLGPPC(NELEC)NFLGBRMM=NFLGBRMC(NELEC)TLAST=TS(NELEC)E1=ES(NELEC)DCX1=DCX(NELEC)DCY1=DCY(NELEC)DCZ1=DCZ(NELEC)IF(E1.LT.ETHRM)GOTO191GAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.D-12CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTGOTO1CMAINLOOPEND210CONTINUECRESETNUMBEROFEVENTSFORBADEVENTSIF(IMIP.GT.2)NDELTA=NDELTA-IBADTOTCWRITE(6,887)EMAX,NEOVFL887FORMAT(' EMAX=',D12.7,' NEOVFL =',I5)IF(EMAX.GT.EFINAL)THENWRITE(6,989)EFINAL,EMAX989FORMAT('INCREASE ENERGY LIMIT FROM',D12.6,' EV TO AT LEAST',D12.6,/' EV.')STOPENDIFRETURN889NLEFT=NCLUS-NELECWRITE(6,992)NPRIME,NLEFT,NCLUS992FORMAT(3(/),' WARNING STOPPED AFTER NPRIME=',I6,' LAST PRIMARY HAS
/ AT LEAST ',I6,' SECONDARIES LEFT TO TRACK,OUT OF ',I6,' ELECTRONS
/ ALREADY IN CLUSTER')STOPRETURNEND
MONTEFC()
Calculates collision events and updates diffusion and velocity.
Handles terminations at fixed drfit times.
Solves motion in coordinate system with Magnetic field aligned to X-axis and electric field at an angle BTHETA in the X-Z plane
The results for velocity vectors are then rotated into the standard coordinate frame with the electric field along the Z-axis and magnetic field at an angle BTHETA to the electric field in X-Z plane.
Arguments
Argument
Description
NONE
-
Pseudo Code
SUBROUTINEMONTEFCIMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/INPT/NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENCOMMON/INPT1/NDVECCOMMON/CNSTS1/CONST1,CONST2,CONST3,CONST4,CONST5COMMON/SETP/TMAX,SMALL,API,ESTART,THETA,PHI,TCFMAX(10),TCFMAX1,/RSTART,EFIELD,ETHRM,ECUT,NDELTA,IMIP,IWRITECOMMON/BFLD/EOVB,WB,BTHETA,BMAGCOMMON/LARGE/CF(20000,512),EIN(512),TCF(20000),IARRY(512),/RGAS(512),IPN(512),WPL(512),IZBR(512),IPLAST,PENFRA(3,512)COMMON/LARGEN/CFN(20000,60),TCFN(20000),SCLENUL(60),NPLASTCOMMON/OUTPT/ICOLL(30),NETOT,NPRIME,TMAX1,TIME(300),NNULL,/NITOT,ICOLN(512),ICOLNN(60),NREAL,NEXCTOTCOMMON/RLTVY/BET(20000),GAM(20000),VC,EMSCOMMON/STTS/XST(150000),YST(150000),ZST(150000),TST(150000),/TTIME(150000),NFGF(150000),NFGPP(150000),NFGBR(150000),NELEC,/NEGION,EST1,EST2COMMON/STEXC/XSTEXC(150000),YSTEXC(150000),ZSTEXC(150000),/TSTEXC(150000),NSTEXCCOMMON/STEXCNUL/XSTN(150000),YSTN(150000),ZSTN(150000),/TSTN(150000),IDNUL(150000),NEXCNULCOMMON/IONC/DOUBLE(6,20000),CMINIXSC(6),CMINEXSC(6),ECLOSS(6),/WPLN(6),ICOUNT,AVPFRAC(3,6)COMMON/IONFL/NC0(512),EC0(512),NG1(512),EG1(512),NG2(512),/EG2(512),WKLM(512),DSTFL(512)COMMON/IONMOD/ESPLIT(512,20),IONMODEL(512)COMMON/ANIS/PSCT(20000,512),ANGCT(20000,512),INDEX(512),NISOCOMMON/CASRS/ECAS(400),XCAS(400),YCAS(400),ZCAS(400),DRXS(400),/DRYS(400),DRZS(400),TT1(400),NFLGF(400),NFLGPP(400),IEVNTLCOMMON/COMP/LCMP,LCFLG,LRAY,LRFLG,LPAP,LPFLG,LBRM,LBFLG,LPEFLGCOMMON/BREMG/EBRGAM(10),BRDCOSX(10),BRDCOSY(10),BRDCOSZ(10),/BRX(10),BRY(10),BRZ(10),BRT(10),EBRTOT(6),NBREM(6)COMMON/CASRSB/ECASB(400),XCASB(400),YCASB(400),ZCASB(400),/DRXB(400),DRYB(400),DRZB(400),TTB1(400),NFLGFB(400),NFLGPPB(400),/IEVNTLBCOMMON/CASRSE/ECASE(400),XCASE(400),YCASE(400),ZCASE(400),/DRXCE(400),DRYCE(400),DRZCE(400),TCASE(400),/NFLGFE(400),NFLGPPE(400),IEVENTECOMMON/ECASC/NEGAS(512),LEGAS(512),IESHELL(512),IECASCCOMMON/IDEXC/NGEXC1,NGEXC2,NGEXC3,NGEXC4,NGEXC5,NGEXC6,/IDG1,IDG2,IDG3,IDG4,IDG5,IDG6DIMENSIONXS(150000),YS(150000),ZS(150000),TS(150000),ES(150000),/DCX(150000),DCY(150000),DCZ(150000),/NFLGFC(150000),NFLGPPC(150000),NFLGBRMC(150000)DIMENSIONTEMP(20000)C-------------------------------------------------------------------CRELATIVISTICVERSIONCCALCULATESCOLLISIONEVENTSANDUPDATESDIFFUSIONANDVELOCITY.CTHISROUTINEHANDLESTERMINATIONSATFIXEDDRIFTTIMES.CSOLVESMOTIONINCOORDINATESYSTEMWITHBFIELDALIGNEDTOX-AXISCELECTRICFIELDATANANGLEBTHETAINTHEX-ZPLANE.CTHERESULTSFORTHEVELOCITYVECTORSARETHENCROTATEDINTOTHESTANDARDCOORDINATEFRAMEWITHTHEELECTRICFIELDCALONGTHEZ-AXISANDTHEBFIELDATANANGLEBTHETATOTHEELECTRICCFIELDINTHEX-ZPLANEC-------------------------------------------------------------------CVARYINGENERGYSTEPSIF(EFINAL.LE.140000.)THENESTEP1=(EFINAL-16000.0)/DFLOAT(4000)ELSEESTEP1=20.0ESTEP2=(EFINAL-92000.0)/DFLOAT(4000)ENDIFNPRINT=0J20000=20000J300=300API=DACOS(-1.0D0)SMALL=1.0D-20EMAX=0.0D0TMAX1=0.0D0RDUM=RSTARTCONST9=CONST3*0.01D0DO25I=1,30025TIME(I)=0.0D0DO26I=1,3026ICOLL(I)=0DO27I=1,51227ICOLN(I)=0NREAL=0NNULL=0NETOT=0NEXCTOT=0NITOT=0NMXADD=0NTMPFLG=0CCALCROTATIONMATRIXANGLESRCS=DCOS((BTHETA-90.0D0)*API/180.0D0)RSN=DSIN((BTHETA-90.0D0)*API/180.0D0)CRTHETA=BTHETA*API/180.0D0EFZ100=EFIELD*100.0D0*DSIN(RTHETA)EFX100=EFIELD*100.0D0*DCOS(RTHETA)F1=EFIELD*CONST2*DCOS(RTHETA)F4=2.0D0*APIEOVBR=EOVB*DSIN(RTHETA)THETA1=THETAPHI1=PHICCALCULATEMAXIMUMCOLLISIONFREQUENCYTLIM=0.0DO111J=1,20000TEMP(J)=TCFN(J)+TCF(J)IF(TLIM.LT.TEMP(J))TLIM=TEMP(J)111CONTINUENEOVFL=0J1=0CSTARTOFPRIMARYEVENTLOOPDO210J11=1,NDELTAJ1=J1+1NPRIME=J1NGEXC1=0NGEXC2=0NGEXC3=0NGEXC4=0NGEXC5=0NGEXC6=0CINITIALDIRECTIONCOSINESIF(THETA1.EQ.(API/2.0).OR.NDVEC.NE.1)THENCONLYALLOWCASEWHEREDELTAISALONGE-FIELDDIRECTIONWRITE(6,22)22FORMAT(2(/),3X,'PROGRAM STOPPED ONLY ALLOWED TO HAVE DELTA ELECTR
/ON PRALLEL TO E-FIELD IN CASE WITH ARBITRARY ANGLE FOR B-FIELD')STOPENDIFCFIXDELTATOE-FIELDDIRECTIONPHI1=0.0D0THETA1=(API/2.0)-RTHETADCZ1=DCOS(THETA1)DCX1=DSIN(THETA1)*DCOS(PHI1)DCY1=DSIN(THETA1)*DSIN(PHI1)NFLGFF=0NFLGPPP=0NFLGBRMM=0NFLGHIGH=0EST1=ESTARTCINITIALVELOCITYE1=ESTARTGAM1=(EMS+E1)/EMSGAM12=GAM1BET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.0D-12CVTOT=CONST9*DSQRT(E1)CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTX=0.0D0Y=0.0D0Z=0.0D0K1=0KEXC=0NSTEXC=0NEXCNUL=0NCLUS=0NELEC=0NEGION=0TLAST=0.0D0ST=0.0D0TDASH=0.0D0IF(IMIP.EQ.2)GOTO1IF(IMIP.GT.2)THENCREADINFIRSTELECTRONFROMBETADECAYORX-RAYUNTHERMALISEDCLUSTERSCALLCASRES(J11,IBADTOT,IBAD1)CSKIPBADEVENTIF(IBAD1.EQ.1)THENJ1=J1-1GOTO210ENDIFELSEIF(IMIP.EQ.1)THENCREADINFIRSTELECTRONFROMMIPINTERACTIONCALLCASREM(J11)EST1=ECAS(1)EST2=EST1ENDIFX=XCAS(1)Y=YCAS(1)Z=ZCAS(1)ST=TT1(1)TS(1)=TT1(1)E1=ECAS(1)DCZ1=DRZS(1)DCY1=DRYS(1)DCX1=DRXS(1)NFLGFF=NFLGF(1)NFLGPPP=NFLGPP(1)NFLGBRMM=0NFLGHIGH=NFLGFFGAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.0D-12CVTOT=CONST9*DSQRT(E1)CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTCPUTREMAINDEROFELECTRONSINTOCLUSTERSTOREISDUM=0DO35IST=2,IEVNTLISDUM=ISDUM+1XS(ISDUM)=XCAS(IST)YS(ISDUM)=YCAS(IST)ZS(ISDUM)=ZCAS(IST)TS(ISDUM)=TT1(IST)ES(ISDUM)=ECAS(IST)DCX(ISDUM)=DRXS(IST)DCY(ISDUM)=DRYS(IST)DCZ(ISDUM)=DRZS(IST)NFLGFC(ISDUM)=NFLGF(IST)NFLGPPC(ISDUM)=NFLGPP(IST)NFLGBRMC(ISDUM)=0NCLUS=ISDUMIF(NFLGFC(IST).GT.NFLGHIGH)NFLGHIGH=NFLGFC(IST)35CONTINUEGAM12=GAM1CSTARTOFLOOPFORNEWELECTRONS1CONTINUER1=drand48(RDUM)T=-DLOG(R1)/TLIM+TDASHTDASH=TWBT=WB*T/GAM12CWBT=WB*TCOSWT=DCOS(WBT)SINWT=DSIN(WBT)DZ=GAM12*(CZ1*SINWT+(EOVBR-CY1)*(1.0D0-COSWT))/WBCDZ=(CZ1*SINWT+(EOVBR-CY1)*(1.0D0-COSWT))/WBDX=CX1*T+F1*T*T/GAM12CDX=CX1*T+F1*T*TE=E1+DZ*EFZ100+DX*EFX100GAM2=(EMS+E)/EMSBET2=DSQRT(1.0D0-1.0D0/(GAM2+GAM2))IF(E.LT.0.0D0)THENE=0.001D0ENDIFCINSERTNEWALGORITHMTOFINDIEFORVARYINGENERGYSTEPIF(IMIP.EQ.1)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.20000.)THENIE=DINT(E/ESTEP)+1ELSEIF(EFINAL.LE.140000.)THENIF(E.LE.16000.)THENIE=DINT(E)+1ELSEIE=16000+DINT((E-16000.)/ESTEP1)ENDIFELSEIF(E.LE.12000.)THENIE=DINT(E)+1ELSEIF(E.LE.92000.)THENIE=12000+DINT((E-12000.)/ESTEP1)ELSEIE=16000+DINT((E-92000.)/ESTEP2)ENDIFENDIFENDIFIE=DMIN0(IE,J20000)CCTESTFORREALORNULLCOLLISIONCR5=drand48(RDUM)TEST1=TCF(IE)/TLIMIF(R5.LE.TEST1)GOTO137NNULL=NNULL+1TEST2=TEMP(IE)/TLIMIF(R5.LT.TEST2)THENCTESTFORNULLLEVELSIF(NPLAST.EQ.0)GOTO1R2=drand48(RDUM)I=0888I=I+1IF(CFN(IE,I).LT.R2)GOTO888CINCREMENTNULLLEVELSUMNEXCNUL=NEXCNUL+1ICOLNN(I)=ICOLNN(I)+1CSTOREXYZTIDFORMOLECULARLIGHTEMISSIONANDDISSOCIATIONFROMCNULLEXCITATIONCNOTE:SMALLAPPROXUSEDPOSITIONOFPREVIOUSREALCOLLISIONXSTN(NEXCNUL)=XYSTN(NEXCNUL)=YZSTN(NEXCNUL)=ZTSTN(NEXCNUL)=STIDNUL(NEXCNUL)=IGOTO1ELSECNULLGOTO1ENDIFCCCALCULATEDIRECTIONCOSINESANDPOSITIONSATINSTANTBEFORECOLLISION137T2=T*TIF(E.GT.EMAX)EMAX=EIF(T.GT.TMAX1)TMAX1=TTDASH=0.0D0NREAL=NREAL+1CCALCVELOCITYCCX2=CX1+2.0*F1*TCX2=CX1+2.0*F1*T/GAM12CY2=(CY1-EOVBR)*COSWT+CZ1*SINWT+EOVBRCZ2=CZ1*COSWT-(CY1-EOVBR)*SINWTCCALCDIRECTIONCOSINESVTOT=DSQRT(CX2*CX2+CY2*CY2+CZ2*CZ2)DCX2=CX2/VTOTDCY2=CY2/VTOTDCZ2=CZ2/VTOTCCALCNEWPOSITIONX=X+DXY=Y+EOVBR*T+GAM12*((CY1-EOVBR)*SINWT+CZ1*(1.0D0-COSWT))/WBCY=Y+EOVBR*T+((CY1-EOVBR)*SINWT+CZ1*(1.0D0-COSWT))/WBZ=Z+DZGAM12=(GAM1+GAM2)/2.0D0ST=ST+TIT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0C---------------------------------------------------------------------CDETERMINATIONOFREALCOLLISIONTYPEC---------------------------------------------------------------------R2=drand48(RDUM)I=0140I=I+1IF(CF(IE,I).LT.R2)GOTO140C************************************************************CCHECKIFBREMSSTRAHLUNGIF(IZBR(I).NE.0.AND.LBRM.EQ.1)THENNFLGBRMM=1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1DO141KNGS=1,NGASIF(IPT.EQ.(KNGS*5)-1)GOTO142141CONTINUE142IATOMNO=IZBR(I)CALLBREMS(IATOMNO,E,DCX2,DCY2,DCZ2,EOUT,EDCX,EDCY,EDCZ,/EGAMMA,GDCX,GDCY,GDCZ)NBREM(KNGS)=NBREM(KNGS)+1EBRTOT(KNGS)=EBRTOT(KNGS)+EGAMMACWRITE(6,668)EGAMMA,J11C668FORMAT(' BREM EGAMMA=',D12.4,' EVENT NO=',I5)CGETNEWDRCOSDRCOSYDRCOSXANDENERGYOFELECTRONE1=EOUTDCX1=EDCXDCY1=EDCYDCZ1=EDCZCRUNBREMSSTRAHLUNGGAMMATHROUGHCASCADETHENSTORECONVERTEDCELECTRONSINCOMMON/CASRSB/CCALLBREMSCASC(J11,EGAMMA,X,Y,Z,ST,GDCX,GDCY,GDCZ,ILOW)CBREMSSTRAHLUNGENERGYTOOLOWTOIONISEIF(ILOW.EQ.1)GOTO190CCSTOREBREMSSTRAHLUNGDATAINCLUSTERSTOREDO890KBR=1,IEVNTLBNCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASB(KBR)XS(NCLUS)=XCASB(KBR)YS(NCLUS)=YCASB(KBR)ZS(NCLUS)=ZCASB(KBR)TS(NCLUS)=TTB1(KBR)DCX(NCLUS)=DRXB(KBR)DCY(NCLUS)=DRYB(KBR)DCZ(NCLUS)=DRZB(KBR)NFLGFC(NCLUS)=NFLGFB(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPB(KBR)NFLGBRMC(NCLUS)=2890CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO190ENDIF891CONTINUEC****************************************************************CS1=RGAS(I)S1=1.0D0+GAM2*(RGAS(I)-1.0D0)EI=EIN(I)IF(E.LT.EI)THENEI=E-0.0001D0ENDIFIF(IPN(I).EQ.0)GOTO666CATTACHMENTIF(IPN(I).EQ.-1)THENNETOT=NETOT+1NITOT=NITOT+1NELEC=NELEC+1NEGION=NEGION+1IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1IT=DINT(T+1.0D0)IT=DMIN0(IT,J300)TIME(IT)=TIME(IT)+1.0D0GOTO335ENDIFEISTR=EIIF(IONMODEL(I).GT.0)THENCCALCULATESECONDARYENERGY,ESEC,INIONISATIONCOLLISIONUSINGCFIVEDIFFERENTMODELSCALLIONSPLIT(I,E,EI,ESEC)GOTO544ENDIFR9=drand48(RDUM)CUSEOPALPETERSONANDBEATYSPLITTINGFACTOR.ESEC=WPL(I)*TAN(R9*ATAN((E-EI)/(2.0D0*WPL(I))))ESEC=WPL(I)*(ESEC/WPL(I))**0.9524544CONTINUEEI=ESEC+EICSTOREPOSITION,ENERGY,DIRECTIONCOSINESANDTIMEOFGENERATIONCOFSECONDARYIONISATIONELECTRONNCLUS=NCLUS+1NMXADD=MAX(NCLUS,NMXADD)IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREAL546FORMAT(2X,' PROGRAM STOPPED . NCLUS=',I7,' NREAL=',I10)STOPENDIFXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STES(NCLUS)=ESECNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMNTMPFLG=1NCLTMP=NCLUSCRANDOMISESECONDARYELECTRONDIRECTIONCR3=drand48(RDUM)CF3=1.0-2.0D0*R3CTHETA0=DACOS(F3)CF6=DCOS(THETA0)CF5=DSIN(THETA0)CR4=drand48(RDUM)CPHI0=F4*R4CF8=DSIN(PHI0)CF9=DCOS(PHI0)CDCX(NCLUS)=F9*F5CDCY(NCLUS)=F8*F5CDCZ(NCLUS)=F6C*********************************************************IF(IECASC.EQ.0)GOTO333IF(LEGAS(I).EQ.0)GOTO333CUSECOMPLETECASCADEFORELECTRONIONISATIONKG1=NEGAS(I)LG1=LEGAS(I)IGSHEL=IESHELL(I)CALLCASCADEE(J11,KG1,LG1,X,Y,Z,ST,ESEC,IGSHEL)CCSTORECASCADEINCLUSTERSTORECETSUM=0.0DO844KBR=1,IEVENTENCLUS=NCLUS+1IF(NCLUS.GT.150000)THENWRITE(6,546)NCLUS,NREALSTOPENDIFES(NCLUS)=ECASE(KBR)ETSUM=ETSUM+ES(NCLUS)XS(NCLUS)=XCASE(KBR)YS(NCLUS)=YCASE(KBR)ZS(NCLUS)=ZCASE(KBR)TS(NCLUS)=TCASE(KBR)DCX(NCLUS)=DRXCE(KBR)DCY(NCLUS)=DRYCE(KBR)DCZ(NCLUS)=DRZCE(KBR)NFLGFC(NCLUS)=NFLGFE(KBR)+NFLGHIGHNFLGPPC(NCLUS)=NFLGPPE(KBR)NFLGBRMC(NCLUS)=NFLGBRMM844CONTINUEIF(NFLGFC(NCLUS).GT.NFLGHIGH)NFLGHIGH=NFLGFC(NCLUS)GOTO666C*********************************************************CSTOREPOSSIBLESHELLEMISSIONSAUGERORFLUORESCENCE333IF(EISTR.GT.30.0)THENCTESTIFFLUORESCENCEEMISSIONIFLTST=0IF(WKLM(I).GT.0.0)THENR9=drand48(RDUM)IF(R9.LT.WKLM(I))IFLTST=1ENDIFIF(IFLTST.EQ.0)THENCAUGEREMISSIONWITHOUTFLUORESCENCENAUG=NC0(I)EAVAUG=EC0(I)/DFLOAT(NAUG)DO700JFL=1,NC0(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZTS(NCLUS)=STNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6700CONTINUEELSECAUGEREMISSIONANDFLUORESENCEIF(NG2(I).EQ.0)GOTO702NAUG=NG2(I)EAVAUG=EG2(I)/DFLOAT(NAUG)DO701JFL=1,NG2(I)NCLUS=NCLUS+1XS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6701CONTINUE702IF(NG1(I).EQ.0)GOTO704NAUG=NG1(I)EAVAUG=EG1(I)/DFLOAT(NAUG)R9=drand48(RDUM)DFL=-DLOG(R9)*DSTFL(I)DO703JFL=1,NG1(I)NCLUS=NCLUS+1R3=drand48(RDUM)THEFL=DACOS(1.0-2.0D0*R3)R4=drand48(RDUM)PHIFL=F4*R4XS(NCLUS)=X+DFL*DSIN(THEFL)*DCOS(PHIFL)YS(NCLUS)=Y+DFL*DSIN(THEFL)*DSIN(PHIFL)ZS(NCLUS)=Z+DFL*DCOS(THEFL)NFLGFC(NCLUS)=NFLGHIGH+1NFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMTS(NCLUS)=STES(NCLUS)=EAVAUGR3=drand48(RDUM)F3=1.0-2.0D0*R3THETA0=DACOS(F3)F6=DCOS(THETA0)F5=DSIN(THETA0)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)DCX(NCLUS)=F9*F5DCY(NCLUS)=F8*F5DCZ(NCLUS)=F6NFLGHIGH=NFLGFC(NCLUS)703CONTINUE704CONTINUEENDIFENDIFCCGENERATESCATTERINGANGLESANDUPDATELABORATORYCOSINESAFTERCCOLLISIONALSOUPDATEENERGYOFELECTRON.C666IPT=IARRY(I)ICOLL(IPT)=ICOLL(IPT)+1ICOLN(I)=ICOLN(I)+1CIFEXCITATIONTHENADDPROBABILITY,PENFRA(1,I),OFTRANSFERTOGIVECIONISATIONOFTHEOTHERGASESINMIXTUREIF(IPEN.EQ.0.OR.NGAS.EQ.1)GOTO5IF(PENFRA(1,I).NE.0.0)THENRAN=drand48(RDUM)IF(RAN.GT.PENFRA(1,I))GOTO5NCLUS=NCLUS+1CENTERHEREPOSSIBLEDELOCALISATIONLENGTHFORPENNINGTRANSFERIF(PENFRA(2,I).EQ.0.0)THENXS(NCLUS)=XYS(NCLUS)=YZS(NCLUS)=ZNFLGFC(NCLUS)=NFLGFFNFLGPPC(NCLUS)=NFLGPPPNFLGBRMC(NCLUS)=NFLGBRMMGOTO667ENDIFASIGN=1.0RAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNXS(NCLUS)=X-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNYS(NCLUS)=Y-DLOG(RAN)*PENFRA(2,I)*ASIGNRAN=drand48(RDUM)RAN1=drand48(RDUM)IF(RAN1.LT.0.5)ASIGN=-ASIGNZS(NCLUS)=Z-DLOG(RAN)*PENFRA(2,I)*ASIGN667RAN=drand48(RDUM)TS(NCLUS)=ST-DLOG(RAN)*PENFRA(3,I)CASSIGNEXCESSENERGYOF1EVTOPENNINGCREATEDELECTRONES(NCLUS)=1.0DCX(NCLUS)=DCX1DCY(NCLUS)=DCY1DCZ(NCLUS)=DCZ1GOTO6ENDIFCGOTO6CCALCULATESUMOFEXCITATIONPERCLUSTERANDSTOREEXCITATIONXYZT5IF(IPN(I).EQ.0)THENIF((RGAS(I)*EIN(I)).GT.4.0)THENKEXC=KEXC+1IF(KEXC.GT.150000)THENWRITE(6,548)KEXC548FORMAT(2X,' PROGRAM STOPPED . KEXC=',I7)STOPENDIFCFINDGASINWHICHEXCITATIONOCCUREDANDINCREMENTCOUNTERIF(I.LE.IDG1)THENNGEXC1=NGEXC1+1ELSEIF(I.LE.IDG2)THENNGEXC2=NGEXC2+1ELSEIF(I.LE.IDG3)THENNGEXC3=NGEXC3+1ELSEIF(I.LE.IDG4)THENNGEXC4=NGEXC4+1ELSEIF(I.LE.IDG5)THENNGEXC5=NGEXC5+1ELSEIF(I.LE.IDG6)THENNGEXC6=NGEXC6+1ELSEWRITE(6,9911)9911FORMAT(' PROGRAM STOPPED BAD GAS ID IN MONTE')STOPENDIFNEXCTOT=NEXCTOT+1NSTEXC=NSTEXC+1XSTEXC(KEXC)=XYSTEXC(KEXC)=YZSTEXC(KEXC)=ZTSTEXC(KEXC)=STENDIFENDIF6S2=(S1*S1)/(S1-1.0D0)CANISOTROPICSCATTERINGR3=drand48(RDUM)IF(INDEX(I).EQ.1)THENR31=drand48(RDUM)F3=1.0D0-R3*ANGCT(IE,I)IF(R31.GT.PSCT(IE,I))F3=-F3ELSEIF(INDEX(I).EQ.2)THENEPSI=PSCT(IE,I)F3=1.0D0-(2.0D0*R3*(1.0D0-EPSI)/(1.0D0+EPSI*(1.0D0-2.0D0*R3)))ELSECISOTROPICSCATTERINGF3=1.0D0-2.0D0*R3ENDIFTHETA0=DACOS(F3)R4=drand48(RDUM)PHI0=F4*R4F8=DSIN(PHI0)F9=DCOS(PHI0)IF(E.LT.EI)EI=0.0D0ARG1=1.0D0-S1*EI/EARG1=DMAX1(ARG1,SMALL)D=1.0D0-F3*DSQRT(ARG1)E1=E*(1.0D0-EI/(S1*E)-2.0D0*D/S2)E1=DMAX1(E1,SMALL)Q=DSQRT((E/E1)*ARG1)/S1Q=DMIN1(Q,1.0D0)THETA=DASIN(Q*DSIN(THETA0))F6=DCOS(THETA)U=(S1-1.0D0)*(S1-1.0D0)/ARG1CSQD=F3*F3IF(F3.LT.0.0D0.AND.CSQD.GT.U)F6=-1.0D0*F6F5=DSIN(THETA)DCZ2=DMIN1(DCZ2,1.0D0)ARGZ=DSQRT(DCX2*DCX2+DCY2*DCY2)IF(ARGZ.EQ.0.0D0)THENDCZ1=F6DCX1=F9*F5DCY1=F8*F5IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GT.1.0)F5S=1.0THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=F6SDCX(NCLTMP)=F9S*F5SDCY(NCLTMP)=F8S*F5SNTMPFLG=0ENDIFGOTO190ENDIFDCZ1=DCZ2*F6+ARGZ*F5*F8DCY1=DCY2*F6+(F5/ARGZ)*(DCX2*F9-DCY2*DCZ2*F8)DCX1=DCX2*F6-(F5/ARGZ)*(DCY2*F9+DCX2*DCZ2*F8)IF(NTMPFLG.EQ.1)THENCUSEFREEKINEMATICSFORIONISATIONSECONDARYANGLESF5S=F5*DSQRT(E1/ES(NCLTMP))IF(F5S.GT.1.0)F5S=1.0THSEC=DASIN(F5S)F5S=DSIN(THSEC)F6S=DCOS(THSEC)IF(F6.LT.0.0)F6S=-F6SPHIS=PHI0+APIIF(PHIS.GT.F4)PHIS=PHI0-F4F8S=DSIN(PHIS)F9S=DCOS(PHIS)DCZ(NCLTMP)=DCZ2*F6S+ARGZ*F5S*F8SDCY(NCLTMP)=DCY2*F6S+(F5S/ARGZ)*(DCX2*F9S-DCY2*DCZ2*F8S)DCX(NCLTMP)=DCX2*F6S-(F5S/ARGZ)*(DCY2*F9S+DCX2*DCZ2*F8S)NTMPFLG=0ENDIF190CONTINUEGAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.D-12CVTOT=CONST9*DSQRT(E1)CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTCTESTIFELECTRONISTHERMALISEDIF(E1.GT.ETHRM)GOTO1191CONTINUECSTOREPOSITIONANDTIMEOFTHERMALISEDELECTRONSK1=K1+1CROTATEINTOCOORDINATESYSTEMWITHEFIELDALONGZZR=Z*RCS-X*RSNYR=YXR=Z*RSN+X*RCSXST(K1)=XRYST(K1)=YRZST(K1)=ZRTST(K1)=STNFGF(K1)=NFLGFFNFGPP(K1)=NFLGPPPNFGBR(K1)=NFLGBRMMTTIME(K1)=ST-TLASTNELEC=NELEC+1NETOT=NETOT+1335IF(K1.EQ.150000)GOTO889IF(NELEC.EQ.(NCLUS+1))THENCLASTELECTRONINCLUSTER.DOSTATISTICSONCLUSTERCALLSTATS(J11,J1)GOTO210ENDIFCGETNEWIONISATIONELECTRONFROMSTOREX=XS(NELEC)Y=YS(NELEC)Z=ZS(NELEC)ST=TS(NELEC)NFLGFF=NFLGFC(NELEC)NFLGPPP=NFLGPPC(NELEC)NFLGBRMM=NFLGBRMC(NELEC)TLAST=TS(NELEC)E1=ES(NELEC)DCX1=DCX(NELEC)DCY1=DCY(NELEC)DCZ1=DCZ(NELEC)IF(E1.LT.ETHRM)GOTO191GAM1=(EMS+E1)/EMSBET1=DSQRT(1.0D0-1.0D0/(GAM1*GAM1))VTOT=BET1*VC*1.D-12CX1=DCX1*VTOTCY1=DCY1*VTOTCZ1=DCZ1*VTOTGOTO1CMAINLOOPEND210CONTINUECRESETNUMBEROFEVENTSFORBADEVENTSIF(IMIP.GT.2)NDELTA=NDELTA-IBADTOTWRITE(6,887)EMAX,NEOVFL887FORMAT(' EMAX=',D12.7,' NEOVFL =',I5)IF(EMAX.GT.EFINAL)THENWRITE(6,989)EFINAL,EMAX989FORMAT('INCREASE ENERGY LIMIT FROM',D12.6,' EV TO AT LEAST',D12.6,/' EV.')STOPENDIFRETURN889NLEFT=NCLUS-NELECWRITE(6,992)NPRIME,NLEFT,NCLUS992FORMAT(3(/),' WARNING STOPPED AFTER NPRIME=',I6,' LAST PRIMARY HAS
/ AT LEAST ',I6,' SECONDARIES LEFT TO TRACK. OUT OF ',I6,' ELECTRON
/S ALREADY IN CLUSTER')STOPRETURNEND
CSSTFN
Stores event data for N-th generation fluorescence
Arguments
Argument
Description
NEV
NVAC
L1
DIST1
Pseudo-Code
importconfdefCSSTF1(NEV,NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)defget_globals():IONSUM0=conf.IONSUM0IFLSUM0=conf.IFLSUM0ESTORE0=conf.ESTORE0EPHOTON0=conf.EPHOTON0DRXE0=conf.DRXE0DRYE0=conf.DRYE0DRZE0=conf.DRZE0DRX0=conf.DRX0DRY0=conf.DRY0DRZ0=conf.DRZ0IONSUM=conf.IONSUMIFLSUM=conf.IFLSUMESTORE=conf.ESTOREEPHOTON=conf.EPHOTONDRXE=conf.DRXEDRYE=conf.DRYEDRZE=conf.DRZEDRX=conf.DRXDRY=conf.DRYDRZ=conf.DRZIONF1=conf.IONF1ESTF1=conf.ESTF1X1=conf.X1Y1=conf.Y1Z1=conf.Z1DRXS=conf.DRXSDRYS=conf.DRYSDRZS=conf.DRZSX11=conf.X11Y11=conf.Y11Z11=conf.Z11X01=conf.X01Y01=conf.Y01Z01=conf.Z01get_globals()defupdate_globals():conf.IONSUM0=IONSUM0conf.IFLSUM0=IFLSUM0conf.ESTORE0=ESTORE0conf.EPHOTON0=EPHOTON0conf.DRXE0=DRXE0conf.DRYE0=DRYE0conf.DRZE0=DRZE0conf.DRX0=DRX0conf.DRY0=DRY0conf.DRZ0=DRZ0conf.IONSUM=IONSUMconf.IFLSUM=IFLSUMconf.ESTORE=ESTOREconf.EPHOTON=EPHOTONconf.DRXE=DRXEconf.DRYE=DRYEconf.DRZE=DRZEconf.DRX=DRXconf.DRY=DRYconf.DRZ=DRZconf.IONF1=IONF1conf.ESTF1=ESTF1conf.X1=X1conf.Y1=Y1conf.Z1=Z1conf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.X11=X11conf.Y11=Y11conf.Z11=Z11conf.X01=X01conf.Y01=Y01conf.Z01=Z01# STORE EVENT DATA FOR FIRST GENERATION FLUORESCENCEif(IONSUM[NVAC]>28):print(' WARNING FIRST GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',I3IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',I3NVAC,'\n PRIMARY INTERACTION NUMBER =',I3NEV)sys.exit()# endifIONF1[NVAC][NEV]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]+1):ESTF1[NVAC][J][NEV]=ESTORE[NVAC][J]X1[NVAC][J][NEV]=X01[NVAC]+DIST1*DRX0[NVAC][L1]Y1[NVAC][J][NEV]=Y01[NVAC]+DIST1*DRY0[NVAC][L1]Z1[NVAC][J][NEV]=Z01[NVAC]+DIST1*DRZ0[NVAC][L1]X11[NVAC][L1]=X1[NVAC][J][NEV]Y11[NVAC][L1]=Y1[NVAC][J][NEV]Z11[NVAC][L1]=Z1[NVAC][J][NEV]DRXS[NVAC][J][NEV]=DRXE[NVAC][J]DRYS[NVAC][J][NEV]=DRYE[NVAC][J]DRZS[NVAC][J][NEV]=DRZE[NVAC][J]update_globals()return# enddefCSSTF2(NEV,NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# STORE EVENT DATA FOR SECOND GENERATION FLUORESCENCEdefget_globals():IONSUM0=conf.IONSUM0IFLSUM0=conf.IFLSUM0ESTORE0=conf.ESTORE0EPHOTON0=conf.EPHOTON0DRXE0=conf.DRXE0DRYE0=conf.DRYE0DRZE0=conf.DRZE0DRX0=conf.DRX0DRY0=conf.DRY0DRZ0=conf.DRZ0IONSUM=conf.IONSUMIFLSUM=conf.IFLSUMESTORE=conf.ESTOREEPHOTON=conf.EPHOTONDRXE=conf.DRXEDRYE=conf.DRYEDRZE=conf.DRZEDRX=conf.DRXDRY=conf.DRYDRZ=conf.DRZIONF2=conf.IONF2ESTF2=conf.ESTF2X2=conf.X2Y2=conf.Y2Z2=conf.Z2DRXS=conf.DRXSDRYS=conf.DRYSDRZS=conf.DRZSX21=conf.X21Y21=conf.Y21Z21=conf.Z21X11=conf.X11Y11=conf.Y11Z11=conf.Z11get_globals()defupdate_globals():conf.IONSUM0=IONSUM0conf.IFLSUM0=IFLSUM0conf.ESTORE0=ESTORE0conf.EPHOTON0=EPHOTON0conf.DRXE0=DRXE0conf.DRYE0=DRYE0conf.DRZE0=DRZE0conf.DRX0=DRX0conf.DRY0=DRY0conf.DRZ0=DRZ0conf.IONSUM=IONSUMconf.IFLSUM=IFLSUMconf.ESTORE=ESTOREconf.EPHOTON=EPHOTONconf.DRXE=DRXEconf.DRYE=DRYEconf.DRZE=DRZEconf.DRX=DRXconf.DRY=DRYconf.DRZ=DRZconf.IONF2=IONF2conf.ESTF2=ESTF2conf.X2=X2conf.Y2=Y2conf.Z2=Z2conf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.X21=X21conf.Y21=Y21conf.Z21=Z21conf.X11=X11conf.Y11=Y11conf.Z11=Z11if(IONSUM[NVAC]>28):print(' WARNING SECOND GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n PRIMARY INTERACTION NUMBER =',NEV)sys.exit()# endifIONF2[NVAC][NEV]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]+1):ESTF2[NVAC][J][NEV]=ESTORE[NVAC][J]X2[NVAC][J][NEV]=X11[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y2[NVAC][J][NEV]=Y11[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z2[NVAC][J][NEV]=Z11[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X21[NVAC][L1]=X2[NVAC][J][NEV]Y21[NVAC][L1]=Y2[NVAC][J][NEV]Z21[NVAC][L1]=Z2[NVAC][J][NEV]DRXS[NVAC][J][NEV]=DRXE[NVAC][J]DRYS[NVAC][J][NEV]=DRYE[NVAC][J]DRZS[NVAC][J][NEV]=DRZE[NVAC][J]update_globals()return# enddefCSSTF3(NEV,NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)defget_globals():IONSUM0=conf.IONSUM0IFLSUM0=conf.IFLSUM0ESTORE0=conf.ESTORE0EPHOTON0=conf.EPHOTON0DRXE0=conf.DRXE0DRYE0=conf.DRYE0DRZE0=conf.DRZE0DRX0=conf.DRX0DRY0=conf.DRY0DRZ0=conf.DRZ0IONSUM=conf.IONSUMIFLSUM=conf.IFLSUMESTORE=conf.ESTOREEPHOTON=conf.EPHOTONDRXE=conf.DRXEDRYE=conf.DRYEDRZE=conf.DRZEDRX=conf.DRXDRY=conf.DRYDRZ=conf.DRZIONF3=conf.IONF3ESTF3=conf.ESTF3X3=conf.X3Y3=conf.Y3Z3=conf.Z3DRXS=conf.DRXSDRYS=conf.DRYSDRZS=conf.DRZSX31=conf.X31Y31=conf.Y31Z31=conf.Z31X21=conf.X21Y21=conf.Y21Z21=conf.Z21get_globals()defupdate_globals():conf.IONSUM0=IONSUM0conf.IFLSUM0=IFLSUM0conf.ESTORE0=ESTORE0conf.EPHOTON0=EPHOTON0conf.DRXE0=DRXE0conf.DRYE0=DRYE0conf.DRZE0=DRZE0conf.DRX0=DRX0conf.DRY0=DRY0conf.DRZ0=DRZ0conf.IONSUM=IONSUMconf.IFLSUM=IFLSUMconf.ESTORE=ESTOREconf.EPHOTON=EPHOTONconf.DRXE=DRXEconf.DRYE=DRYEconf.DRZE=DRZEconf.DRX=DRXconf.DRY=DRYconf.DRZ=DRZconf.IONF3=IONF3conf.ESTF3=ESTF3conf.X3=X3conf.Y3=Y3conf.Z3=Z3conf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.X31=X31conf.Y31=Y31conf.Z31=Z31conf.X21=X21conf.Y21=Y21conf.Z21=Z21# STORE EVENT DATA FOR THIRD GENERATION FLUORESCENCEif(IONSUM[NVAC]>15):print(' WARNING THIRD GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',INVAC3,'\n PRIMARY INTERACTION NUMBER =',NEV)sys.exit()# endifIONF3[NVAC][NEV]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]+1):ESTF3[NVAC][J][NEV]=ESTORE[NVAC][J]X3[NVAC][J][NEV]=X21[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y3[NVAC][J][NEV]=Y21[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z3[NVAC][J][NEV]=Z21[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X31[NVAC][L1]=X3[NVAC][J][NEV]Y31[NVAC][L1]=Y3[NVAC][J][NEV]Z31[NVAC][L1]=Z3[NVAC][J][NEV]DRXS[NVAC][J][NEV]=DRXE[NVAC][J]DRYS[NVAC][J][NEV]=DRYE[NVAC][J]DRZS[NVAC][J][NEV]=DRZE[NVAC][J]update_globals()return# enddefCSSTF4(NEV,NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)defget_globals():IONSUM0=conf.IONSUM0IFLSUM0=conf.IFLSUM0ESTORE0=conf.ESTORE0EPHOTON0=conf.EPHOTON0DRXE0=conf.DRXE0DRYE0=conf.DRYE0DRZE0=conf.DRZE0DRX0=conf.DRX0DRY0=conf.DRY0DRZ0=conf.DRZ0IONSUM=conf.IONSUMIFLSUM=conf.IFLSUMESTORE=conf.ESTOREEPHOTON=conf.EPHOTONDRXE=conf.DRXEDRYE=conf.DRYEDRZE=conf.DRZEDRX=conf.DRXDRY=conf.DRYDRZ=conf.DRZIONF4=conf.IONF4ESTF4=conf.ESTF4X4=conf.X4Y4=conf.Y4Z4=conf.Z4DRXS=conf.DRXSDRYS=conf.DRYSDRZS=conf.DRZSX31=conf.X31Y31=conf.Y31Z31=conf.Z31X41=conf.X41Y41=conf.Y41Z41=conf.Z41get_globals()defupdate_globals():conf.IONSUM0=IONSUM0conf.IFLSUM0=IFLSUM0conf.ESTORE0=ESTORE0conf.EPHOTON0=EPHOTON0conf.DRXE0=DRXE0conf.DRYE0=DRYE0conf.DRZE0=DRZE0conf.DRX0=DRX0conf.DRY0=DRY0conf.DRZ0=DRZ0conf.IONSUM=IONSUMconf.IFLSUM=IFLSUMconf.ESTORE=ESTOREconf.EPHOTON=EPHOTONconf.DRXE=DRXEconf.DRYE=DRYEconf.DRZE=DRZEconf.DRX=DRXconf.DRY=DRYconf.DRZ=DRZconf.IONF4=IONF4conf.ESTF4=ESTF4conf.X4=X4conf.Y4=Y4conf.Z4=Z4conf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.X31=X31conf.Y31=Y31conf.Z31=Z31conf.X41=X41conf.Y41=Y41conf.Z41=Z41# STORE EVENT DATA FOR FOURTH GENERATION FLUORESCENCEif(IONSUM[NVAC]>12):print(' WARNING FOURTH GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.','\n COMPTON BRANCH NO=',NVAC,'\n PRIMARY INTERACTION NUMBER =',NEV)sys.exit()# endifIONF4[NVAC][NEV]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]+1):ESTF4[NVAC][J][NEV]=ESTORE[NVAC][J]X4[NVAC][J][NEV]=X31[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y4[NVAC][J][NEV]=Y31[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z4[NVAC][J][NEV]=Z31[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X41[NVAC][L1]=X4[NVAC][J][NEV]Y41[NVAC][L1]=Y4[NVAC][J][NEV]Z41[NVAC][L1]=Z4[NVAC][J][NEV]DRXS[NVAC][J][NEV]=DRXE[NVAC][J]DRYS[NVAC][J][NEV]=DRYE[NVAC][J]DRZS[NVAC][J][NEV]=DRZE[NVAC][J]# 1 CONTINUEupdate_globals()return# enddefCSSTF5(NEV,NVAC,L1,DIST1):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)defget_globals():IONSUM0=conf.IONSUM0IFLSUM0=conf.IFLSUM0ESTORE0=conf.ESTORE0EPHOTON0=conf.EPHOTON0DRXE0=conf.DRXE0DRYE0=conf.DRYE0DRZE0=conf.DRZE0DRX0=conf.DRX0DRY0=conf.DRY0DRZ0=conf.DRZ0IONSUM=conf.IONSUMIFLSUM=conf.IFLSUMESTORE=conf.ESTOREEPHOTON=conf.EPHOTONDRXE=conf.DRXEDRYE=conf.DRYEDRZE=conf.DRZEDRX=conf.DRXDRY=conf.DRYDRZ=conf.DRZIONF5=conf.IONF5ESTF5=conf.ESTF5X5=conf.X5Y5=conf.Y5Z5=conf.Z5DRXS=conf.DRXSDRYS=conf.DRYSDRZS=conf.DRZSX41=conf.X41Y41=conf.Y41Z41=conf.Z41X51=conf.X51Y51=conf.Y51Z51=conf.Z51get_globals()defupdate_globals():conf.IONSUM0=IONSUM0conf.IFLSUM0=IFLSUM0conf.ESTORE0=ESTORE0conf.EPHOTON0=EPHOTON0conf.DRXE0=DRXE0conf.DRYE0=DRYE0conf.DRZE0=DRZE0conf.DRX0=DRX0conf.DRY0=DRY0conf.DRZ0=DRZ0conf.IONSUM=IONSUMconf.IFLSUM=IFLSUMconf.ESTORE=ESTOREconf.EPHOTON=EPHOTONconf.DRXE=DRXEconf.DRYE=DRYEconf.DRZE=DRZEconf.DRX=DRXconf.DRY=DRYconf.DRZ=DRZconf.IONF5=IONF5conf.ESTF5=ESTF5conf.X5=X5conf.Y5=Y5conf.Z5=Z5conf.DRXS=DRXSconf.DRYS=DRYSconf.DRZS=DRZSconf.X41=X41conf.Y41=Y41conf.Z41=Z41conf.X51=X51conf.Y51=Y51conf.Z51=Z51# STORE EVENT DATA FOR FIFTH GENERATION FLUORESCENCEif(IONSUM[NVAC]>5):print(' WARNING FIFTH GENERATION CONVERTED FLUORESCENCE HAS AN EVENT WITH',IONSUM[NVAC],' IONS.\n',' COMPTON BRANCH NO=',NVAC,'\n PRIMARY INTERACTION NUMBER=',NEV)sys.exit()# endifIONF5[NVAC][NEV]=IONSUM[NVAC]forJinrange(1,IONSUM[NVAC]+1):ESTF5[NVAC][J][NEV]=ESTORE[NVAC][J]X5[NVAC][J][NEV]=X41[NVAC][L1]+DIST1*DRX0[NVAC][L1]Y5[NVAC][J][NEV]=Y41[NVAC][L1]+DIST1*DRY0[NVAC][L1]Z5[NVAC][J][NEV]=Z41[NVAC][L1]+DIST1*DRZ0[NVAC][L1]X51[NVAC][L1]=X5[NVAC][J][NEV]Y51[NVAC][L1]=Y5[NVAC][J][NEV]Z51[NVAC][L1]=Z5[NVAC][J][NEV]DRXS[NVAC][J][NEV]=DRXE[NVAC][J]DRYS[NVAC][J][NEV]=DRYE[NVAC][J]DRZS[NVAC][J][NEV]=DRZE[NVAC][J]update_globals()return# end
SUBROUTINECSSTF1(NEV,NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS1/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),/DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),/DRZ(10,28)COMMON/GEN1/IONF1(10,10000),ESTF1(10,28,10000),X1(10,28,10000),/Y1(10,28,10000),Z1(10,28,10000),DRXS(10,28,10000),/DRYS(10,28,10000),DRZS(10,28,10000)COMMON/GEN11/X11(10,28),Y11(10,28),Z11(10,28)COMMON/GEN01/X01(10),Y01(10),Z01(10)CSTOREEVENTDATAFORFIRSTGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC),NVAC,NEV99FORMAT(' WARNING FIRST GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/,' PRIMARY IN
/TERACTION NUMBER =',I3)STOPENDIFIONF1(NVAC,NEV)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF1(NVAC,J,NEV)=ESTORE(NVAC,J)X1(NVAC,J,NEV)=X01(NVAC)+DIST1*DRX0(NVAC,L1)Y1(NVAC,J,NEV)=Y01(NVAC)+DIST1*DRY0(NVAC,L1)Z1(NVAC,J,NEV)=Z01(NVAC)+DIST1*DRZ0(NVAC,L1)X11(NVAC,L1)=X1(NVAC,J,NEV)Y11(NVAC,L1)=Y1(NVAC,J,NEV)Z11(NVAC,L1)=Z1(NVAC,J,NEV)DRXS(NVAC,J,NEV)=DRXE(NVAC,J)DRYS(NVAC,J,NEV)=DRYE(NVAC,J)DRZS(NVAC,J,NEV)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF2(NEV,NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS1/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS2/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),/DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),/DRZ(10,28)COMMON/GEN2/IONF2(10,10000),ESTF2(10,28,10000),X2(10,28,10000),/Y2(10,28,10000),Z2(10,28,10000),DRXS(10,28,10000),/DRYS(10,28,10000),DRZS(10,28,10000)COMMON/GEN21/X21(10,28),Y21(10,28),Z21(10,28)COMMON/GEN11/X11(10,28),Y11(10,28),Z11(10,28)CSTOREEVENTDATAFORSECONDGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.28)THENWRITE(6,99)IONSUM(NVAC),NVAC,NEV99FORMAT(' WARNING SECOND GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/,' PRIMARY IN
/TERACTION NUMBER =',I3)STOPENDIFIONF2(NVAC,NEV)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF2(NVAC,J,NEV)=ESTORE(NVAC,J)X2(NVAC,J,NEV)=X11(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y2(NVAC,J,NEV)=Y11(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z2(NVAC,J,NEV)=Z11(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X21(NVAC,L1)=X2(NVAC,J,NEV)Y21(NVAC,L1)=Y2(NVAC,J,NEV)Z21(NVAC,L1)=Z2(NVAC,J,NEV)DRXS(NVAC,J,NEV)=DRXE(NVAC,J)DRYS(NVAC,J,NEV)=DRYE(NVAC,J)DRZS(NVAC,J,NEV)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF3(NEV,NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS2/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS3/IONSUM(10),IFLSUM(10),ESTORE(10,28),/EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),/DRY(10,28),DRZ(10,28)COMMON/GEN3/IONF3(10,10000),ESTF3(10,15,10000),X3(10,15,10000),/Y3(10,15,10000),Z3(10,15,10000),DRXS(10,15,10000),/DRYS(10,15,10000),DRZS(10,15,10000)COMMON/GEN31/X31(10,28),Y31(10,28),Z31(10,28)COMMON/GEN21/X21(10,28),Y21(10,28),Z21(10,28)CSTOREEVENTDATAFORTHIRDGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.15)THENWRITE(6,99)IONSUM(NVAC),NVAC,NEV99FORMAT(' WARNING THIRD GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/,' PRIMARY IN
/TERACTION NUMBER =',I3)STOPENDIFIONF3(NVAC,NEV)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF3(NVAC,J,NEV)=ESTORE(NVAC,J)X3(NVAC,J,NEV)=X21(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y3(NVAC,J,NEV)=Y21(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z3(NVAC,J,NEV)=Z21(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X31(NVAC,L1)=X3(NVAC,J,NEV)Y31(NVAC,L1)=Y3(NVAC,J,NEV)Z31(NVAC,L1)=Z3(NVAC,J,NEV)DRXS(NVAC,J,NEV)=DRXE(NVAC,J)DRYS(NVAC,J,NEV)=DRYE(NVAC,J)DRZS(NVAC,J,NEV)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF4(NEV,NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS3/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS4/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),/DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),/DRZ(10,28)COMMON/GEN4/IONF4(10,10000),ESTF4(10,12,10000),X4(10,12,10000),/Y4(10,12,10000),Z4(10,12,10000),DRXS(10,12,10000),/DRYS(10,12,10000),DRZS(10,12,10000)COMMON/GEN31/X31(10,28),Y31(10,28),Z31(10,28)COMMON/GEN41/X41(10,28),Y41(10,28),Z41(10,28)CSTOREEVENTDATAFORFOURTHGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.12)THENWRITE(6,99)IONSUM(NVAC),NVAC,NEV99FORMAT(' WARNING FOURTH GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/,' PRIMARY IN
/TERACTION NUMBER =',I3)STOPENDIFIONF4(NVAC,NEV)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF4(NVAC,J,NEV)=ESTORE(NVAC,J)X4(NVAC,J,NEV)=X31(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y4(NVAC,J,NEV)=Y31(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z4(NVAC,J,NEV)=Z31(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X41(NVAC,L1)=X4(NVAC,J,NEV)Y41(NVAC,L1)=Y4(NVAC,J,NEV)Z41(NVAC,L1)=Z4(NVAC,J,NEV)DRXS(NVAC,J,NEV)=DRXE(NVAC,J)DRYS(NVAC,J,NEV)=DRYE(NVAC,J)DRZS(NVAC,J,NEV)=DRZE(NVAC,J)1CONTINUERETURNENDSUBROUTINECSSTF5(NEV,NVAC,L1,DIST1)IMPLICITREAL*8(A-H,O-Z)IMPLICITINTEGER*8(I-N)COMMON/CALCAS4/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),/EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),/DRX0(10,28),DRY0(10,28),DRZ0(10,28)COMMON/CALCAS5/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),/DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),/DRZ(10,28)COMMON/GEN5/IONF5(10,10000),ESTF5(10,5,10000),X5(10,5,10000),/Y5(10,5,10000),Z5(10,5,10000),DRXS(10,5,10000),DRYS(10,5,10000),/DRZS(10,5,10000)COMMON/GEN41/X41(10,28),Y41(10,28),Z41(10,28)COMMON/GEN51/X51(10,28),Y51(10,28),Z51(10,28)CSTOREEVENTDATAFORFIFTHGENERATIONFLUORESCENCEIF(IONSUM(NVAC).GT.5)THENWRITE(6,99)IONSUM(NVAC),NVAC,NEV99FORMAT(' WARNING FIFTH GENERATION CONVERTED FLUORESCENCE HAS AN
/ EVENT WITH',I3,' IONS.',/,' COMPTON BRANCH NO=',I3,/,' PRIMARY IN
/TERACTION NUMBER=',I3)STOPENDIFIONF5(NVAC,NEV)=IONSUM(NVAC)DO1J=1,IONSUM(NVAC)ESTF5(NVAC,J,NEV)=ESTORE(NVAC,J)X5(NVAC,J,NEV)=X41(NVAC,L1)+DIST1*DRX0(NVAC,L1)Y5(NVAC,J,NEV)=Y41(NVAC,L1)+DIST1*DRY0(NVAC,L1)Z5(NVAC,J,NEV)=Z41(NVAC,L1)+DIST1*DRZ0(NVAC,L1)X51(NVAC,L1)=X5(NVAC,J,NEV)Y51(NVAC,L1)=Y5(NVAC,J,NEV)Z51(NVAC,L1)=Z5(NVAC,J,NEV)DRXS(NVAC,J,NEV)=DRXE(NVAC,J)DRYS(NVAC,J,NEV)=DRYE(NVAC,J)DRZS(NVAC,J,NEV)=DRZE(NVAC,J)1CONTINUERETURNEND
CALCN
Calculates cascade in gas KGAS and molecular component LGAS with initial energy deposit elecen and shell vacancy created at ISHELL
Arguments
Argument
Description
IPN
NVAC
KGAS
LGAS
ELECEN
ISHELL
ICON
Pseudo-Code
defCALC(IPN,NVAC,KGAS,LGAS,ELECEN,ISHELL,ICON):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# SCR=""\# SCR1=""#COMMON/INPT1/globalNDVEC#COMMON/PRIM3/globalMSUM#(10000)globalMCOMP#(10000)globalMRAYL#(10000)globalMPAIR#(10000)globalMPHOT#(10000)globalMVAC#(10000)#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3] #COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28] #DIMENSION TEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL## INITIAL PHOTON DIRECTION DRX, DRY AND DRZDRXINIT=DRXE[NVAC][1]DRYINIT=DRYE[NVAC][1]DRZINIT=DRZE[NVAC][1]ISHELLST=ISHELLdefGOTO100():ELEFT=ELECENISHELL=ISHELLSTAPI=numpy.arccos(-1.00)TWOPI=2.00*APIISECOND=1IFIRST=0# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]# PHOTONSif(ICON==1):IONSUM[NVAC]=1IFLSUM[NVAC]=0# STORE INITIAL PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][1]=ELECEN-ELEV[ISHELL][IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][1]ELEFT=ELEFT-ESTORE[NVAC][1]NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# ENTRY FOR COMPTON ELECTRON.....if(NVAC<=MCOMP[IPN]):# IF COMPTON EVENT ELECTRON ANGLE FROM COMPTON (ALREADY STORED)GOTO4()# endif# USE PHOTOELCTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3# INITIAL PHOTON DIRECTION DRXINIT, DRYINIT AND DRZINITDRCOS(DRXINIT,DRYINIT,DRZINIT,THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][1]=DRXXDRYE[NVAC][1]=DRYYDRZE[NVAC][1]=DRZZGOTO4()# endifif(ICON==2):# BETA DECAYIONSUM[NVAC]=1IFLSUM[NVAC]=0ISHELL=0ELECN=ELECENESTORE[NVAC][1]=ELECNif(NDVEC==2):# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)elif(NDVEC==0):# RANDOM EMISSION IN THE X-Y PLANETHET=API/2.0elif(NDVEC==1):# EMISSION ALONG Z AXISTHET=0.00elif(NDVEC==-1):# EMISSION ALONG -Z AXISTHET=numpy.arccos(-1.00)else:print(' ERROR NDVEC NOT CORRECT SUBROUTINE STOPPED:')sys.exit()# endifR3=DRAND48(RDUM)PHI=TWOPI*R3DRXE[NVAC][1]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][1]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][1]=numpy.cos(THET)# endif# DOUBLE BETA DECAYif(ICON==3):IONSUM[NVAC]=1IFLSUM[NVAC]=0ISHELL=0ELECN=ELECENESTORE[NVAC][1]=ELECNESECOND=ELECNif(NDVEC==2):# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)elif(NDVEC==0):# RANDOM EMISSION IN THE X-Y PLANETHET=API/2.0elif(NDVEC==1):# EMISSION ALONG Z AXISTHET=0.00elif(NDVEC==-1):# EMISSION ALONG -Z AXISTHET=numpy.arccos(-1.00)else:print(' ERROR NDVEC NOT CORRECT SUBROUTINE STOPPED:')sys.exit()# endifR3=DRAND48(RDUM)PHI=TWOPI*R3DRXE[NVAC][1]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][1]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][1]=numpy.cos(THET)# endif#THESEC=API-THETif(PHI<API):PHISEC=API+PHIelse:PHISEC=PHI-API# endifGOTO4()defGOTO66():IONSUM[NVAC]=IONSUM[NVAC]+1ESTORE[NVAC][IONSUM[NVAC]]=ESECONDDRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THESEC)*numpy.cos(PHISEC)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THESEC)*numpy.sin(PHISEC)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THESEC)ELECN=ESECONDISECOND=2ISHELL=0IFIRST=0# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIFIRST=IFIRST+1if(IFIRST>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,ICON,IFIRST,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:if(IFIRST==1):# INITIAL ELECTRON + SHAKEOFFif(ICON==1):ELECN=ELECN-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]if(ICON==2):ELECN=ELECN-ESHK-ELEV[JVAC,(IZ[KGAS,LGAS]+1)]if(ICON==2orICON==3):ISHELL=JVACif(ICON==3):ELECN=ELECN-ESHK-ELEV[JVAC][(IZ[KGAS][LGAS]+2)]# PRIMARY ELECTRONESTORE[NVAC][IONSUM[NVAC]]=ELECN# endifif(ICON==1andIFIRST!=1):ESTORE[NVAC][IONSUM[NVAC]]=ESTORE[NVAC][IONSUM[NVAC]]-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]# endifIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):#WRITE(6,99) IONSUM[NVAC] #99 print(' WARNING ION CHARGE LIMITED TO 28+ IN THIS VERSION')sys.exit()# endif# SHAKE ELECTRONESTORE[NVAC][IONSUM[NVAC]]=ESHKif(ICON==1):ELEFT=ELEFT-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]if(ICON==2):ELEFT=ELEFT-ESHK-ELEV[JVAC,(IZ[KGAS,LGAS]+1)]if(ICON==3):ELEFT=ELEFT-ESHK-ELEV[JVAC][(IZ[KGAS][LGAS]+2)]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R3=DRAND48(RDUM)PHI=TWOPI*R3DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)# RETURN IF NO SHAKE OFF WITH BETA DECAYdefGOTO2():if(ICON==2andIONSUM[NVAC]==1):return# GO INTO SECOND BETA LOOPif(ICON==3andIONSUM[NVAC]==1andISECOND==1):GOTO66()if(ICON==3andIFIRST==1andJVAC==0andISECOND==2):return#UPDATE(KGAS,LGAS,ISHELL)# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0andICON==3andISECOND==1):GOTO66()if(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND ANGLE : UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]]-ELEV[I][IZ[KGAS][LGAS]]if(ICON==2):EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]+1]-ELEV[I][IZ[KGAS][LGAS]+1]if(ICON==3):EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]+2]-ELEV[I][IZ[KGAS][LGAS]+2]if(EPHOTON[NVAC][IFLSUM[NVAC]]<0.0):print(' PHOTON ENERGY=','%.3f'%EPHOTON[NVAC][IFLSUM[NVAC]],'NVAC=',NVAC,' IFLSUM=',IFLSUM[NVAC],' IN CALC')ELEFT=ELEFT-abs(EPHOTON[NVAC][IFLSUM[NVAC]])if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R3=DRAND48(RDUM)PHI=TWOPI*R3# CALC DIRECTION COSINES OF FLUORESCENCEDRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)# NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLE# SECOND ELECTRON IN DOUBLE BETA DECAYif(ICON==3andISECOND==1):GOTO66()return# endifGOTO2()# endif GOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ICON==2):ETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]+1]-(ELEV[I][IZ[KGAS][LGAS]+1]+ELEV[I][IZ[KGAS][LGAS]+2])*0.5-(ELEV[J][IZ[KGAS][LGAS]+1]+ELEV[J][IZ[KGAS][LGAS]+2])*0.5if(ICON==3):ETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]+2]-(ELEV[I][IZ[KGAS][LGAS]+2]+ELEV[I][IZ[KGAS][LGAS]+3])*0.5-(ELEV[J][IZ[KGAS][LGAS]+2]+ELEV[J][IZ[KGAS][LGAS]+3])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' IONSUM LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC],' IN CALC')sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-ETEMPif(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R3=DRAND48(RDUM)PHI=TWOPI*R3DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLE# SECOND ELECTRON IN DOUBLE BETA DECAYif(ICON==3andISECOND==1):GOTO66()return# endifGOTO4()# endifGOTO4()GOTO66()GOTO100()print(' ERROR IN CASCADE 0')sys.exit()# enddefCALC1(IPN,NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# SCR=""# SCR1=""#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28] #DIMENSION TEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS # WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]API=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL][IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 1ST GEN LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])sys.exit()# endif ESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC][IZ[KGAS,LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTION R3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][J+1]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND ANGLE : UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]]-ELEV[I][IZ[KGAS][LGAS]]ELEFT=ELEFT-EPHOTON[NVAC][IFLSUM[NVAC]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endifGOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 2ND GEN IONS LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])#34602sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-ETEMPif(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()GOTO100()print(' ERROR IN CASCADE 1')sys.exit()# enddefCALC2(IPN,NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# SCR=""# SCR1=""#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#(17)globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS1/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28] #DIMENSION TEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]API=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE INITIAL PHOTELECTRON AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL][IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):passelse:# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 2ND GEN IONS LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]]-ELEV[I][IZ[KGAS][LGAS]]if(EPHOTON[NVAC][IFLSUM[NVAC]]<0.0):print(' EPHOTON=','%.3f'%EPHOTON[NVAC][IFLSUM[NVAC]],' NVAC=',NVAC,' IN CALC2')ELEFT=ELEFT-EPHOTON[NVAC][IFLSUM[NVAC]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endifGOTO2()counter116while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1#34598break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 2ND GEN IONS LIMITED TO 28 IN THIS VERSION IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-ETEMPif(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endif GOTO4()GOTO100()print(' ERROR IN CASCADE 2')sys.exit()# enddefCALC3(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)#CHARACTER*6 # SCR="",# SCR1=""#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#[17]globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS2/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS3/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]TEMP=[0forxinrange(18)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]API=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL][IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):GOTO2()# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 3RD GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]]-ELEV[I][IZ[KGAS][LGAS]]ELEFT=ELEFT-EPHOTON[NVAC][IFLSUM[NVAC]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 3RD GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-ETEMPif(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()GOTO100()print(' ERROR IN CASCADE 3')sys.exit()# enddefCALC4(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# SCR=""\nSCR1=""# COMMON/GENCAS/ELEV[17,79],NSDEG(17),AA[17],BB[17],SCR,SCR1# COMMON/MIXC/PRSH(6,3,17,17),ESH(6,3,17),AUG(6,3,17,17,17),RAD[6,3,17,17],PRSHBT(6,3,17),IZ[6,3],INIOCC(6,3,17),ISHLMX(6,3),AMZ[6,3]# COMMON/UPD/NOCC(6,3,17),AUGR(6,3,17,17,17),RADR(6,3,17,17)# COMMON/CALCAS3/IONSUM0(10),IFLSUM0(10),ESTORE0(10,28),EPHOTON0(10,28),DRXE0(10,28),DRYE0(10,28),DRZE0(10,28),DRX0(10,28),DRY0(10,28),DRZ0(10,28)# COMMON/CALCAS4/IONSUM(10),IFLSUM(10),ESTORE(10,28),EPHOTON(10,28),DRXE(10,28),DRYE(10,28),DRZE(10,28),DRX(10,28),DRY(10,28),DRZ[10,28]# DIMENSION TEMP[17],TEMP1(289)#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#[17]globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS3/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28]# COMMON/CALCAS4/globalIONSUM#(10]globalIFLSUM#(10]globalESTORE#(10,28]globalEPHOTON#(10,28]globalDRXE#(10,28]globalDRYE#(10,28]globalDRZE#(10,28]globalDRX#(10,28]globalDRY#(10,28]globalDRZ#[10,28]#DIMENSIONTEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]API=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTF# STORE PHOTOELECTRON ENERGY AND ANGLEESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL][IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0(NVAC,L1),DRY0(NVAC,L1),DRZ0(NVAC,L1),THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):GOTO2()# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 4TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]]-ELEV[I][IZ[KGAS][LGAS]]ELEFT=ELEFT-EPHOTON[NVAC][IFLSUM[NVAC]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()counter116=1while(counter116):R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1(I+((J-1)*17))):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 4TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-ETEMPif(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()GOTO100()print(' ERROR IN CASCADE 4')sys.exit()# enddefCALC5(NVAC,KGAS,LGAS,ELECEN,ISHELL,L1):# IMPLICIT #real*8(A-H,O-Z)# IMPLICIT #integer*8(I-N)# SCR=""\nSCR1=""#COMMON/GENCAS/globalELEV#[17,79]globalNSDEG#[17]globalAA#[17]globalBB#[17]globalSCR,SCR1#COMMON/MIXC/globalPRSH#(6,3,17,17)globalESH#(6,3,17)globalAUG#(6,3,17,17,17)globalRAD#[6,3,17,17]globalPRSHBT#(6,3,17)globalIZ#[6,3]globalINIOCC#(6,3,17)globalISHLMX#(6,3)globalAMZ#[6,3]#COMMON/UPD/globalNOCC#(6,3,17)globalAUGR#(6,3,17,17,17)globalRADR#(6,3,17,17)#COMMON/CALCAS4/globalIONSUM0#(10)globalIFLSUM0#(10)globalESTORE0#(10,28)globalEPHOTON0#(10,28)globalDRXE0#(10,28)globalDRYE0#(10,28)globalDRZE0#(10,28)globalDRX0#(10,28)globalDRY0#(10,28)globalDRZ0#(10,28)#COMMON/CALCAS5/globalIONSUM#(10)globalIFLSUM#(10)globalESTORE#(10,28)globalEPHOTON#(10,28)globalDRXE#(10,28)globalDRYE#(10,28)globalDRZE#(10,28)globalDRX#(10,28)globalDRY#(10,28)globalDRZ#[10,28] #DIMENSION TEMP=[0forxinrange(17)]TEMP1=[0forxinrange(289)]## CALCULATE CASCADE IN GAS KGAS AND MOLECULAR COMPONENT LGAS# WITH INTIAL ENERGY DEPOSIT ELECEN AND SHELL VACANCY CREATED AT ISHELL#ISTART=IONSUM[NVAC]ISTARTF=IFLSUM[NVAC]API=numpy.arccos(-1.00)TWOPI=2.00*APIdefGOTO100():ELEFT=ELECENINIT=1# SET STARTING ARRAY NOCC EQUAL TO INIOCCforIinrange(1,17):NOCC[KGAS][LGAS][I]=INIOCC[KGAS][LGAS][I]IONSUM[NVAC]=ISTART+1IFLSUM[NVAC]=ISTARTFESTORE[NVAC][IONSUM[NVAC]]=ELECEN-ELEV[ISHELL][IZ[KGAS][LGAS]]ELECN=ESTORE[NVAC][IONSUM[NVAC]]ELEFT=ELEFT-ELECNNOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]-1# USE PHOTOELECTRON ANGULAR DISTRIBUTIONAPE=AA[ISHELL]BPE=BB[ISHELL]ANGGEN(APE,BPE,THET)if(THET<0.0):THET=THET+APIR3=DRAND48(RDUM)PHI=TWOPI*R3DRCOS(DRX0[NVAC][L1],DRY0[NVAC][L1],DRZ0[NVAC][L1],THET,PHI,DRXX,DRYY,DRZZ)DRXE[NVAC][IONSUM[NVAC]]=DRXXDRYE[NVAC][IONSUM[NVAC]]=DRYYDRZE[NVAC][IONSUM[NVAC]]=DRZZ# LOOP AROUND CASCADEdefGOTO4():# CHECK FOR ELECTRON SHAKEOFFIDUM=1if(INIT>1):ELECN=ESTORE[NVAC][IONSUM[NVAC]]INSUM=IONSUM[NVAC]SHAKE(ISHELL,ELECN,KGAS,LGAS,ESHK,IDUM,INSUM,JVAC)# CALCULATE ENERGY OF ELECTRONif(JVAC==0):GOTO2()# ELECTRON + SHAKEOFFELECN=ELECN-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]ESTORE[NVAC][IONSUM[NVAC]]=ELECNIONSUM[NVAC]=IONSUM[NVAC]+1# MAXIMUM ION CHARGE STATE =28if(IONSUM[NVAC]>28):print(' 5TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ESHKELEFT=ELEFT-ESHK-ELEV[JVAC][IZ[KGAS][LGAS]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION ANGLER3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)defGOTO2():UPDATE(KGAS,LGAS,ISHELL)INIT=2# CHOOSE FLUORESCENCE OR AUGER TRANSITIONTSUM=0.0forIinrange(1,17):TSUM=TSUM+RADR[KGAS][LGAS][ISHELL][I]forJinrange(1,17):TSUM=TSUM+AUGR[KGAS][LGAS][ISHELL][I][J]# NO MORE TRANSITIONS POSSIBLEif(TSUM==0.0):return# NORMALISE TO 1.0forIinrange(1,17):RADR[KGAS][LGAS][ISHELL][I]=RADR[KGAS][LGAS][ISHELL][I]/TSUMforJinrange(1,17):AUGR[KGAS][LGAS][ISHELL][I][J]=AUGR[KGAS][LGAS][ISHELL][I][J]/TSUM# CREATE CUMULATIVE SUM ARRAYTEMP[1]=RADR[KGAS][LGAS][ISHELL][1]forIinrange(2,17):TEMP[I]=RADR[KGAS][LGAS][ISHELL][I]+TEMP[I-1]TEMP1[1]=AUGR[KGAS][LGAS][ISHELL][1][1]forIinrange(2,17):TEMP1[I]=AUGR[KGAS][LGAS][ISHELL][I][1]+TEMP1[I-1]forJinrange(1,16):forIinrange(1,17):TEMP1[I+(J*17)]=AUGR[KGAS][LGAS][ISHELL][I][(J+1)]+TEMP1[I+(J*17)-1]# FIND FLUORESCENCE OR AUGER TRANSITIONR1=DRAND48(RDUM)forIinrange(1,17):if(R1<TEMP[I]):# STORE PHOTON ENERGY AND UPDATE NOCCIFLSUM[NVAC]=IFLSUM[NVAC]+1EPHOTON[NVAC][IFLSUM[NVAC]]=ELEV[ISHELL][IZ[KGAS][LGAS]]-ELEV[I][IZ[KGAS][LGAS]]ELEFT=ELEFT-EPHOTON[NVAC][IFLSUM[NVAC]]if(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRX[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRY[NVAC][IFLSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZ[NVAC][IFLSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO2()# endif GOTO2()counter116=1while(counter116):counter116=0R2=R1-TEMP[17]forJinrange(1,17):if(counter116):breakforIinrange(1,17):if(R2<TEMP1[I+((J-1)*17)]):# AUGER OR COSTER KRONIG # STORE EJECTED ELECTRON AND UPDATE NOCCETEMP=ELEV[ISHELL][IZ[KGAS][LGAS]]-(ELEV[I][IZ[KGAS][LGAS]]+ELEV[I][IZ[KGAS][LGAS]+1])*0.5-(ELEV[J][IZ[KGAS][LGAS]]+ELEV[J][IZ[KGAS][LGAS]+1])*0.5if(ETEMP<0.0):# DO NOT ALLOW NEGATIVE ENERGY TRANSITIONScounter117=1while(counter117):counter117=0R1=DRAND48(RDUM)if(R1<TEMP[17]):counter117=1counter116=1break# endifIONSUM[NVAC]=IONSUM[NVAC]+1if(IONSUM[NVAC]>28):print(' 5TH GEN ION CHARGE LIMITED TO 28 IONSUM=',IONSUM[NVAC])sys.exit()# endifESTORE[NVAC][IONSUM[NVAC]]=ETEMPELEFT=ELEFT-ETEMPif(ELEFT<0.0):GOTO100()# RANDOM EMISSION DIRECTIONR3=DRAND48(RDUM)THET=numpy.arccos(1.0-2.0*R3)R4=DRAND48(RDUM)PHI=TWOPI*R4DRXE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.cos(PHI)DRYE[NVAC][IONSUM[NVAC]]=numpy.sin(THET)*numpy.sin(PHI)DRZE[NVAC][IONSUM[NVAC]]=numpy.cos(THET)NOCC[KGAS][LGAS][ISHELL]=NOCC[KGAS][LGAS][ISHELL]+1NOCC[KGAS][LGAS][I]=NOCC[KGAS][LGAS][I]-1NOCC[KGAS][LGAS][J]=NOCC[KGAS][LGAS][J]-1# FIND LOWEST VACANCYVACANCY(KGAS,LGAS,ISHELL,ILAST)if(ILAST==1):# NO MORE TRANSITIONS POSSIBLEreturn# endifGOTO4()# endifGOTO4()GOTO100()print(' ERROR IN CASCADE 5')sys.exit()# end```## GASMIXC()### Arguments|Argument|Description||----------|-------------||NGS|||PRSH|||PRSHBT|||ESH|||AUG|||RAD|||XPE|||YPE|||XCP|||YRY|||YCP|||YPP|||FFR|||FFC|||IZ|||AMZ|||INIOCC||### Pseudo-Code```pythonimportnumpyimportconffromCgasnimport*defGASMIXC(NGS,PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# DIMENSION INIOCC=numpy.zeros((3+1,17+1))PRSH=numpy.zeros((3+1,17+1,17+1))ESH=numpy.zeros((3+1,17+1))PRSHBT=numpy.zeros((3+1,17+1))AUG=numpy.zeros((3+1,17+1,17+1,17+1))RAD=numpy.zeros((3+1,17+1,17+1))XPE=numpy.zeros((3+1,17+1,60+1))YPE=numpy.zeros((3+1,17+1,60+1))XCP=numpy.zeros((3+1,54+1))YRY=numpy.zeros((3+1,54+1))YCP=numpy.zeros((3+1,54+1))YPP=numpy.zeros((3+1,54+1))FFR=numpy.zeros((3+1,45+1))FFC=numpy.zeros((3+1,45+1))IZ=numpy.zeros((3+1))AMZ=numpy.zeros((3+1))## ZERO ARRAYS forKinrange(1,3+1):IZ[K]=0AMZ[K]=0.0forMinrange(1,54+1):XCP[K][M]=0.0YRY[K][M]=0.0YCP[K][M]=0.0YPP[K][M]=0.0forNinrange(1,45+1):FFR[K][N]=0.0FFC[K][N]=0.0forJinrange(1,17+1):PRSHBT[K][J]=0.0ESH[K][J]=0.0INIOCC[K][J]=0forKKinrange(1,60+1):XPE[K][J][KK]=0.0YPE[K][J][KK]=0.0forIinrange(1,17+1):RAD[K][J][I]=0.0PRSH[K][J][I]=0.0forLinrange(1,17+1):AUG[K][J][I][L]=0.0## GO TO (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60, 61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80) NGSif(NGS==1):CGAS1(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==2):CGAS2(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==3):CGAS3(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==4):CGAS4(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==5):CGAS5(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==6):CGAS6(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==7):CGAS7(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==8):CGAS8(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==9):CGAS9(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==10):CGAS10(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==11):CGAS11(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==12):CGAS12(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==13):CGAS13(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==14):CGAS14(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==15):CGAS15(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==16):CGAS16(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==17):CGAS17(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==18):CGAS18(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==19):CGAS19(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==20):CGAS20(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==21):CGAS21(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==22):CGAS22(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==23):CGAS23(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==24):CGAS24(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==25):CGAS25(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==26):CGAS26(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==27):CGAS27(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==28):CGAS28(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==29):CGAS29(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==30):CGAS30(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==31):CGAS31(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==32):CGAS32(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==33):CGAS33(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==34):CGAS34(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==35):CGAS35(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==36):CGAS36(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==37):CGAS37(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==38):CGAS38(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==39):CGAS39(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==40):CGAS40(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==41):CGAS41(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==42):CGAS42(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==43):CGAS43(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==44):CGAS44(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==45):CGAS45(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==46):CGAS46(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==47):CGAS47(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==48):CGAS48(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==49):CGAS49(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==50):CGAS50(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==51):CGAS51(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==52):CGAS52(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==53):CGAS53(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==54):CGAS54(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==55):CGAS55(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==56):CGAS56(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==57):CGAS57(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==58):CGAS58(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==59):CGAS59(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==60):CGAS60(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==61):CGAS61(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==62):CGAS62(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==63):CGAS63(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==64):CGAS64(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==65):CGAS65(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==66):CGAS66(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==67):CGAS67(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==68):CGAS68(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==69):CGAS69(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==70):CGAS70(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==71):CGAS71(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==72):CGAS72(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==73):CGAS73(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==74):CGAS74(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==75):CGAS75(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==76):CGAS76(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==77):CGAS77(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==78):CGAS78(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==79):CGAS79(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)returnif(NGS==80):CGAS80(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFR,FFC,IZ,AMZ,INIOCC)return# end ```## CGASNCascadecalculationfunctionforeachgas.### Arguments|Argument|Description||----------|-------------||PRSH|||PRSHBT|||ESH|||AUG|||RAD|||XPE|||YPE|||XCP|||YRY|||YCP|||YPP|||FFAR|||FFAC|||IZ|||AMZ|||INIOCC||### Pseudo-Code```pythonimportmathimportnumpydefCGAS1(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)#DIMENSION PRSH=[[[0forxinrange(3+1)]foryinrange(17+1)]forzinrange(17+1)]PRSHBT=[[0forxinrange(3+1)]foryinrange(17+1)]ESH=[[0forxinrange(3+1)]foryinrange(17+1)]AUG=[[[[0forxinrange(3+1)]foryinrange(17+1)]forzinrange(17+1)]forainrange(17+1)]RAD=[[[0forxinrange(3+1)]foryinrange(17+1)]forzinrange(17+1)]XPE=[[[0forxinrange(3+1)]foryinrange(17+1)]forzinrange(60+1)]YPE=[[[0forxinrange(3+1)]foryinrange(17+1)]forzinrange(60+1)]XCP=[[0forxinrange(3+1)]foryinrange(54+1)]YRY=[[0forxinrange(3+1)]foryinrange(54+1)]YCP=[[0forxinrange(3+1)]foryinrange(54+1)]YPP=[[0forxinrange(3+1)]foryinrange(54+1)]FFAR=[[0forxinrange(3+1)]foryinrange(45+1)]FFAC=[[0forxinrange(3+1)]foryinrange(45+1)]IZ=[0forxinrange(3+1)]AMZ=[0forxinrange(3+1)]INIOCC=[[0forxinrange(3+1)]foryinrange(17+1)]#DIMENSION INIOC=numpy.zeros((17+1))PRBSH=numpy.zeros((17+1,17+1))ES=numpy.zeros((17+1))R=numpy.zeros((17+1,17+1))A=[numpy.zeros((17+1,17+1))forzinrange(17+1)]PRBSHBT=numpy.zeros((17+1))#DIMENSION INIOCF=numpy.zeros((17+1))PRBSHF=numpy.zeros((17+1,17+1))ESF=numpy.zeros((17+1))RF=numpy.zeros((17+1,17+1))AF=[numpy.zeros((17+1,17+1))forzinrange(17+1)]PRBSHBTF=numpy.zeros((17+1))#DIMENSION XPEK=[0forxinrange(49+1)]YPEK=[0forxinrange(49+1)]XPEL1=[0forxinrange(54+1)]YPEL1=[0forxinrange(54+1)]XPEL2=[0forxinrange(54+1)]YPEL2=[0forxinrange(54+1)]XCOMC=[0forxinrange(54+1)]YRAYC=[0forxinrange(54+1)]YCOMC=[0forxinrange(54+1)]YPAPC=[0forxinrange(54+1)]FFRC=[0forxinrange(45+1)]FFCC=[0forxinrange(45+1)]#DIMENSION XPEKF=[0forxinrange(45+1)]YPEKF=[0forxinrange(45+1)]XPEL1F=[0forxinrange(53+1)]YPEL1F=[0forxinrange(53+1)]XPEL2F=[0forxinrange(55+1)]YPEL2F=[0forxinrange(55+1)]XPEL3F=[0forxinrange(55+1)]YPEL3F=[0forxinrange(55+1)]XCOMF=[0forxinrange(54+1)]YRAYF=[0forxinrange(54+1)]YCOMF=[0forxinrange(54+1)]YPAPF=[0forxinrange(54+1)]FFRF=[0forxinrange(45+1)]FFCF=[0forxinrange(45+1)]# # CF4 FOR CASCADE CALCULATIONS## CARBON DATA# LEVEL OCCUPANCY FOR GROUND STATEINIOC=[2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0]# AVERAGE SHAKE OFF ELECTRON ENERGYES=[10.00,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]# SHAKE OFF : CARLSON AND NESTOR PHYS REV A8(1973)2887# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]PRBSH=[0.20,3.00,9.00,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,238*0.0]# SHAKE OFF : CARLSON,NESTOR ET AL PHYS REV 169(1968)27# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]PRBSHBT=[2.74,12.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]## AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS # WALTERS AND BHALLA (1971)# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105A[1][2][2]=[0.858]A[1][2][3]=[0.824]A[1][3][3]=[0.378]# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC# K-SHELLR[1][2]=[1.50E-14]R[1][3]=[3.45E-5]R[1][4]=[6.88E-5]# L1 SHELLR[2][3]=[1.20E-7]R[2][4]=[2.41E-7]# L2 SHELLR[3][4]=[1.55E-21]# # PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL: # UNITS BARNS/ATOM AND ENERGIES IN EV# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443# : SCOFIELD UCRL-51326# : VIEGELE ATOMIC 5(1973)50# K SHELL 1S 1/2YPEK=[9.26E5,7.98E5,4.81E5,2.35E5,1.21E5,8.42E4,6.57E4,5.09E4,4.20E4,1.33E4,5.73E3,1.70E3,707.,354.,200.,80.4,39.3,10.6,4.12,1.08,.415,.197,.107,.0411,.0195,.00512,.00201,5.64E-4,2.41E-4,1.29E-4,8.05E-5,4.06E-5,2.52E-5,1.19E-5,7.51E-6,4.21E-6,2.90E-6,2.20E-6,1.77E-6,1.27E-6,9.93E-7,6.39E-7,4.71E-7,3.08E-7,2.29E-7,1.82E-7,1.51E-7,1.13E-7,9.01E-8]XPEK=[285.0,300.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L1 SHELL 2S 1/2YPEL1=[1.35E7,1.50E6,4.00E5,2.21E5,1.70E5,1.14E5,4.58E4,2.07E4,1.02E4,5.34E3,3.76E3,2.97E3,2.32E3,1.93E3,635.,280.,85.1,35.7,18.0,10.3,4.16,2.05,.554,.217,.0571,.0220,.0105,.00570,.00218,.00104,2.72E-4,1.07E-4,3.00E-5,1.28E-5,6.88E-6,4.28E-6,2.16E-6,1.34E-6,6.37E-7,4.02E-7,2.26E-7,1.55E-7,1.18E-7,9.49E-8,6.82E-8,5.32E-8,3.42E-8,2.52E-8,1.65E-8,1.23E-8,9.75E-9,8.10E-9,6.05E-9,4.82E-9]XPEL1=[18.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L2 SHELL 2P 1/2YPEL2=[1.35E7,9.0E5,1.50E5,7.81E4,5.15E4,2.79E4,7.59E3,2.49E3,924.,383.,239.,173.,124.,94.6,20.7,6.75,1.36,.432,.176,.0841,.0259,.0103,.00189,5.64E-4,1.02E-4,3.06E-5,1.20E-5,5.63E-6,1.72E-6,6.96E-7,1.40E-7,4.69E-8,1.10E-8,4.26E-9,2.16E-9,1.29E-9,6.20E-10,3.76E-10,1.82E-10,1.15E-10,6.45E-11,4.44E-11,3.37E-11,2.71E-11,1.95E-11,1.52E-11,9.77E-12,7.20E-12,4.71E-12,3.50E-12,2.79E-12,2.31E-12,1.73E-12,1.38E-12]XPEL2=[6.40,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA# HUBBEL J.PHYS.CHEM.REF.4(1975)471# HUBBEL NIST XCOM WEB SITE# STORM AND ISRAEL NUCL.TABLES A7(1970)565XCOMC=[100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.022E6,1.25E6,1.5E6,2.0E6,2.044E6,3.0E6,4.0E6,5.0E6,6.0E6,7.0E6,8.0E6,9.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]YRAYC=[23.94,23.90,24.85,23.72,23.53,23.31,23.03,22.37,21.52,19.12,16.59,12.22,9.179,7.170,5.819,4.181,3.232,1.952,1.292,.6711,.4079,.2734,.1956,.1139,.07418,.03360,.01903,8.504E-3,4.792E-3,3.070E-3,2.133E-3,1.200E-3,7.682E-4,7.355E-4,4.917E-4,3.415E-4,1.921E-4,1.839E-4,8.539E-5,4.803E-5,3.074E-5,2.135E-5,1.568E-5,1.201E-5,9.488E-6,7.685E-6,3.415E-6,1.921E-6,8.537E-7,4.802E-7,3.073E-7,2.134E-7,1.200E-7,7.682E-8]YCOMC=[3.044E-3,6.469E-3,.01140,.02518,.04448,.06870,.09764,.1680,.2519,.5001,.7702,1.278,1.685,1.984,2.202,2.497,2.697,3.012,3.182,3.300,3.296,3.250,3.188,3.054,2.924,2.647,2.431,2.118,1.899,1.735,1.605,1.410,1.268,1.255,1.134,1.031,.8795,.8687,.6920,.5772,.4985,.4406,.3960,.3604,.3313,.3069,.2272,.1823,.1327,.1055,.08805,.07586,.05983,.04966]# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRONYPAPC=[34*1E-20,2.870E-4,1.594E-3,6.356E-3,6.852E-3,.01844,.03054,.04163,.05178,.06095,.06928,.07690,.08388,.1108,.1310,.1597,.1802,.1958,.2080,.2263,.2401]# NORMALISED RAYLEIGH FORM FACTOR HubbelFFRC=[1.0,.99957,.99830,.9962,.9932,.9895,.9848,.9735,.9590,.9228,.8783,.8538,.7902,.7218,.6562,.5962,.4935,.4170,.3252,.2810,.2558,.2375,.2202,.2027,.1853,.1441,.1094,.0620,.03577,.02147,.01341,.008705,.004055,.002108,.001191,7.198E-4,3.06E-4,6.295E-5,2.027E-5,5.398E-7,8.455E-8,3.52E-8,5.993E-12,2.767E-21,2.80E-30]# NORMALISED COMPTON FORM FACTOR HubbelFFCC=[1.7E-21,6.317E-4,.002165,.004922,.008607,.01341,.01928,.03358,.05143,.0948,.1459,.1732,.2413,.3110,.3755,.4340,.5330,.6072,.6973,.7463,.7817,.8130,.8418,.8680,.8913,.9358,.9635,.9883,.9962,.9987,.99947,.99977,.99995,.99998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]# CARBON ATOMIC NUMBERIZ[1]=6AMZ[1]=12.0107# # ATOMIC FLOURINE FOR CASCADE CALCULATIONS## LEVEL OCCUPANCY FOR GROUND STATEINIOCF=[2,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0]# AVERAGE SHAKE OFF ELECTRON ENERGYESF=[14.0,2.5,2.5,2.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]# SHAKE OFF : CARLSON AND NESTOR PHYS REV A8(1973)2887# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]PRBSHF=[0.08,2.00,6.00,8.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.20,1.20,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.40,1.00,2.50,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.40,1.20,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0]# SHAKE OFF : CARLSON,NESTOR ET AL PHYS REV 169(1968)27# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]PRBSHBTF=[1.29,5.5,7.0,11.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]## AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS # WALTERS AND BHALLA (1971)# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105AF[1][2][2]=[0.838]AF[1][2][3]=[0.816]AF[1][3][3]=[0.377]AF[1][2][4]=[0.216]AF[1][3][4]=[0.104]# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC# K-SHELLRF[1][2]=[1.17E-12]RF[1][3]=[5.88E-4]RF[1][4]=[1.17E-3]# L1 SHELLRF[2][3]=[1.27E-6]RF[2][4]=[2.57E-6]# L2 SHELLRF[3][4]=[1.69E-18]# # PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL: # UNITS BARNS/ATOM AND ENERGIES IN EV# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443# : SCOFIELD UCRL-51326# : VIEGELE ATOMIC 5(1973)50# K SHELL 1S 1/2YPEKF=[4.3E5,3.20E5,2.53E5,2.02E5,1.68E5,5.89E4,2.70E4,8.58E3,3.72E3,1.92E3,1.11E3,462.,232.,65.2,26.1,7.07,2.77,1.34,.734,.285,.137,.0364,.0144,.00409,.00176,9.47E-4,5.90E-4,2.98E-4,1.85E-4,8.73E-5,5.48E-5,3.06E-5,2.09E-5,1.59E-5,1.28E-5,9.13E-6,7.11E-6,5.99E-6,3.36E-6,2.19E-6,1.63E-6,1.30E-6,1.08E-6,8.03E-7,6.41E-7]XPEKF=[685.4,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L1 SHELL 2S 1/2YPEL1F=[3.70E6,6.60E5,4.17E5,3.46E5,2.56E5,1.26E5,6.41E4,3.46E4,1.97E4,1.44E4,1.16E4,9.24E3,7.76E3,2.80E3,1.32E3,438.,194.,102.,59.7,25.2,12.8,3.64,1.47,.402,.158,.0765,.0421,.0164,.00789,.00210,8.35E-4,2.37E-4,1.02E-4,5.48E-5,3.41E-5,1.72E-5,1.07E-5,5.06E-6,3.18E-6,1.77E-6,1.21E-6,9.20E-7,7.39E-7,5.29E-7,4.12E-7,2.64E-7,1.95E-7,1.27E-7,9.45E-8,7.51E-8,6.24E-8,4.66E-8,3.71E-8]XPEL1F=[34.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L2 SHELL 2P 1/2YPEL2F=[1.0E7,1.00E7,3.2E6,6.93E5,3.73E5,2.65E5,1.59E5,4.99E4,1.78E4,7.22E3,3.19E3,2.03E3,1.50E3,1.09E3,860.,212.,75.7,17.0,5.71,2.40,1.17,.375,.154,.0300,.00931,.00177,5.46E-4,2.19E-4,1.05E-4,3.29E-5,1.36E-5,2.82E-6,9.63E-7,2.29E-7,8.82E-8,4.40E-8,2.58E-8,1.18E-8,6.74E-9,2.75E-9,1.73E-9,9.63E-10,6.60E-10,5.00E-10,4.02E-10,2.88E-10,2.24E-10,1.44E-10,1.06E-10,6.91E-11,5.14E-11,4.08E-11,3.39E-11,2.53E-11,2.02E-11]XPEL2F=[16.0,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L3 SHELL 2P 3/2YPEL3F=[2.00E7,2.0E7,6.4E6,1.39E6,7.43E5,5.30E5,3.18E5,9.98E4,3.57E4,1.43E4,6.32E3,4.03E3,2.97E3,2.16E3,1.70E3,419.,149.,33.5,11.2,4.71,2.30,.731,.298,.0578,.0178,.00335,.00102,4.07E-4,1.92E-4,5.95E-5,2.42E-5,4.90E-6,1.65E-6,3.91E-7,1.53E-7,7.86E-8,4.75E-8,2.33E-8,1.43E-8,6.69E-9,4.20E-9,2.34E-9,1.60E-9,1.22E-9,9.77E-10,7.00E-10,5.44E-10,3.50E-10,2.57E-10,1.68E-10,1.25E-10,9.93E-11,8.25E-11,6.16E-11,4.91E-11]XPEL3F=[16.0,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# RAYLEIGH COMPTON AND PAIR PRODUCTION DATAXCOMF=[100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.022E6,1.25E6,1.5E6,2.0E6,2.044E6,3.0E6,4.0E6,5.0E6,6.0E6,7.0E6,8.0E6,9.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]YRAYF=[53.87,53.82,53.77,53.62,53.42,53.16,52.85,52.07,51.11,48.01,44.27,36.25,29.02,23.25,18.86,13.07,9.647,5.470,3.611,1.921,1.181,.7966,.5731,.3370,.2212,.1013,.05764,.02585,.01459,.009349,6.498E-3,3.658E-3,2.342E-3,2.242E-3,1.499E-3,1.041E-3,5.858E-4,5.609E-4,2.604E-4,1.465E-4,9.374E-5,6.510E-5,4.783E-5,3.662E-5,2.893E-5,2.344E-5,1.046E-5,5.883E-6,2.614E-6,1.471E-6,9.412E-7,6.535E-7,3.677E-7,2.353E-7]YCOMF=[1.935E-3,4.736E-3,8.533E-3,.01925,.03410,.05298,.07579,.1325,.2029,.4270,.6987,1.293,1.861,2.354,2.762,3.353,3.735,4.257,4.524,4.760,4.808,4.775,4.706,4.533,4.354,3.955,3.637,3.172,2.846,2.600,2.406,2.115,1.902,1.882,1.701,1.546,1.319,1.303,1.038,.8658,.7477,.6609,.5940,.5406,.4969,.4604,.3408,.2735,.1991,.1582,.1321,.1138,.08974,.07449]# TOTAL PAIR PROEUCTION NUCLEAR + ELECTRONYPAPF=[34*1E-20,6.506E-4,3.60E-3,.01434,.01546,.04137,.06799,.09219,.1141,.1339,.1518,.1680,.1829,.2403,.2830,.3451,.3893,.4199,.4463,.4852,.5119]# NORMALISED RAYLEIGH FORM FACTOR HubbelFFRF=[1.0,.99973,.99910,.9981,.9967,.9948,.9926,.9868,.9794,.9604,.9362,.9223,.8833,.8398,.7931,.7451,.6497,.5611,.4172,.3189,.2562,.2172,.1926,.1762,.1646,.1430,.1243,.08978,.06246,.04616,.02986,.02354,.01091,.006078,.003611,.002744,.001011,2.268E-4,7.432E-5,2.042E-6,3.244E-7,1.362E-7,2.758E-11,1.59E-20,1.63E-29]# NORMALISED COMPTON FORM FACTOR HubbelFFCF=[1.1E-21,2.22E-4,.00111,.002489,.004411,.006878,.009867,.01739,.02689,.05122,.08166,.09867,.1453,.1957,.2474,.2990,.3966,.4830,.6169,.7043,.7591,.7946,.8196,.8391,.8559,.8916,.9209,.9609,.9816,.9914,.99590,.99800,.99946,.99983,.99994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]# FLOURINE ATOMIC NUMBERIZ[2]=9AMZ[2]=75.9936# CONVERT SHAKE OFF FROM A % TO A PROBABILITYforIinrange(1,17+1):PRSHBT[1][I]=PRBSHBT[I]/100.0PRSHBT[2][I]=PRBSHBTF[I]/100.0forJinrange(1,17+1):PRBSH[I][J]=PRBSH[I][J]/100.0PRBSHF[I][J]=PRBSHF[I][J]/100.0# SWAP INDICES AND DO CHECK SUMforIinrange(1,17+1):PRSUM=0.0PRSUMF=0.0forJinrange(1,17+1):PRSH[1][I][J]=PRBSH[J][I]PRSH[2][I][J]=PRBSHF[J][I]# PRSUMF=PRSUMF+PRSH[2][I][J]# PRSUM=PRSUM+PRSH[1][I][J]# WRITE(6,888) I,PRSUM,PRSUMF# 888 print(' I=',I3,' PRSUM=','%.3f' %,' PRSUM=','%.3f' %)# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONSforIinrange(1,17+1):ESH[1][I]=ES[I]ESH[2][I]=ESF[I]INIOCC[1][I]=INIOC[I]INIOCC[2][I]=INIOCF[I]## AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,# WITH TRANSITION TO SHELLS J,K# LOAD OUTPUT ARRAYS AND CONVERT TO EVforIinrange(1,4+1):forJinrange(1,17+1):forKinrange(1,17+1):AUG[1][I][J][K]=A[I][J][K]*0.0272105AUG[2][I][J][K]=AF[I][J][K]*0.0272105forIinrange(5,17+1):forJinrange(1,17+1):forKinrange(1,17+1):AUG[1][I][J][K]=A[I][J][K]*0.00272105AUG[2][I][J][K]=AF[I][J][K]*0.00272105# CHECK AUGER LEVEL SUMS# CHECK AUGER LEVEL SUMS# DO 7 I=1,17# ASUM=0.0# DO 6 J=1,17# DO 6 K=1,17# 6 ASUM=ASUM+AUG[I][J][K]# WRITE(6,887) I,ASUM# 887 print(' I=',I3,' ASUM=','%.3f' %)# 7 CONTINUE# # CONVERT RADIATIVE RATES IN M AND N SHELL TO EV forIinrange(5,17+1):forJinrange(6,17+1):R[I][J]=R[I][J]*6.582119E-16RF[I][J]=RF[I][J]*6.582119E-16# LOAD OUTPUT ARRAY# LOAD OUTPUT ARRAYforIinrange(1,17+1):forJinrange(1,17+1):RAD[1][I][J]=R[I][J]RAD[2][I][J]=RF[I][J]# # PRINTOUT CHECK SUM# DO 15 I=1,17# RSUM=0.0# DO 14 J=1,17# 14 RSUM=RSUM+R[I][J]# WRITE(6,100) I,RSUM# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)# 15 CONTINUE## LOAD CARBON PHOTOELECTRIC DATAforJinrange(1,49+1):XPE[1][1][J]=math.log(XPEK[J])YPE[1][1][J]=math.log(YPEK[J]*1E-24)forJinrange(1,54+1):XPE[1][2][J]=math.log(XPEL1[J])YPE[1][2][J]=math.log(YPEL1[J]*1E-24)forJinrange(1,54+1):XPE[1][3][J]=math.log(XPEL2[J])YPE[1][3][J]=math.log(YPEL2[J]*1E-24)# LOAD FLUORINE PHOTOELECTRIC DATA# SCALE BY 4 SINCE 4 ATOMS PER CARBONforJinrange(1,45+1):XPE[2][1][J]=math.log(XPEKF[J])YPE[2][1][J]=math.log(YPEKF[J]*4.0*1E-24)forJinrange(1,53+1):XPE[2][2][J]=math.log(XPEL1F[J])YPE[2][2][J]=math.log(YPEL1F[J]*4.0*1E-24)forJinrange(1,55+1):XPE[2][3][J]=math.log(XPEL2F[J])YPE[2][3][J]=math.log(YPEL2F[J]*4.0*1E-24)forJinrange(1,55+1):XPE[2][4][J]=math.log(XPEL3F[J])YPE[2][4][J]=math.log(YPEL3F[J]*4.0*1E-24)# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SECforJinrange(1,54+1):XCP[1][J]=math.log(XCOMC[J])XCP[2][J]=math.log(XCOMF[J])YRY[1][J]=math.log(YRAYC[J]*1E-24)YRY[2][J]=math.log(YRAYF[J]*4.0*1E-24)YCP[1][J]=math.log(YCOMC[J]*1E-24)YCP[2][J]=math.log(YCOMF[J]*4.0*1E-24)YPP[1][J]=math.log(YPAPC[J]*1E-24)YPP[2][J]=math.log(YPAPF[J]*4.0*1E-24)# LOAD RAYLEIGH AND COMPTON FORM FACTORforJinrange(1,45+1):FFAR[1][J]=FFRC[J]FFAR[2][J]=FFRF[J]FFAC[1][J]=FFCC[J]FFAC[2][J]=FFCF[J]return# enddefCGAS2(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)#DIMENSION PRSH=numpy.zeros((3+1,17+1,17+1))PRSHBT=numpy.zeros((3+1,17+1))#[[0 for x in range(3+1)]for y in range(17+1)]ESH=numpy.zeros((3+1,17+1))AUG=numpy.zeros((3+1,17+1,17+1,17+1))RAD=numpy.zeros((3+1,17+1,17+1))XPE=numpy.zeros((3+1,17+1,60+1))YPE=numpy.zeros((3+1,17+1,60+1))XCP=numpy.zeros((3+1,54+1))YRY=numpy.zeros((3+1,54+1))YCP=numpy.zeros((3+1,54+1))YPP=numpy.zeros((3+1,54+1))FFAR=numpy.zeros((3+1,45+1))FFAC=numpy.zeros((3+1,45+1))IZ=numpy.zeros((3+1))AMZ=numpy.zeros((3+1))INIOCC=numpy.zeros((3+1,17+1))#DIMENSION INIOC=numpy.zeros((17+1))PRBSH=numpy.zeros((17+1,17+1))ES=numpy.zeros((17+1))R=numpy.zeros((17+1,17+1))A=numpy.zeros((17+1,17+1,17+1))PRBSHBT=numpy.zeros((17+1))#DIMENSION XPEK=numpy.zeros((38+1))YPEK=numpy.zeros((38+1))XPEL1=numpy.zeros((54+1))YPEL1=numpy.zeros((54+1))XPEL2=numpy.zeros((56+1))YPEL2=numpy.zeros((56+1))XPEL3=numpy.zeros((56+1))YPEL3=numpy.zeros((56+1))XPEM1=numpy.zeros((59+1))YPEM1=numpy.zeros((59+1))XPEM2=numpy.zeros((60+1))YPEM2=numpy.zeros((60+1))XPEM3=numpy.zeros((60+1))YPEM3=numpy.zeros((60+1))XENE=numpy.zeros((54+1))YRAY=numpy.zeros((54+1))YCOM=numpy.zeros((54+1))YPAP=numpy.zeros((54+1))FFR=numpy.zeros((45+1))FFC=numpy.zeros((45+1))# # ARGON FOR CASCADE CALCULATIONS## LEVEL OCCUPANCY FOR GROUND STATEINIOC=[0]+[2,2,2,4,2,2,4,0,0,0,0,0,0,0,0,0,0]# AVERAGE SHAKE OFF ELECTRON ENERGYES=[0]+[22.5,9.10,9.90,9.90,2.20,1.60,1.60,0.00,0.00,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]# SHAKE OFF : CARLSON AND NESTOR PHYS REV A8(1973)2887# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]PRBSH=[.001,0.30,0.54,1.07,2.47,5.86,11.45,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.017,.056,0.11,1.66,4.18,8.33,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.049,.043,0.17,1.73,4.41,8.71,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.050,.080,0.13,1.73,4.37,8.72,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.16,1.37,2.82,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.25,0.57,2.33,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.25,1.12,1.74,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,*170*[0.0]]PRBSH=numpy.reshape(PRBSH,(17,17))PRBSH=numpy.r_[[numpy.zeros(PRBSH.shape[1])],PRBSH]PRBSH=numpy.c_[numpy.zeros(PRBSH.shape[0]),PRBSH]# SHAKE OFF : CARLSON,NESTOR ET AL PHYS REV 169(1968)27# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]PRBSHBT=[0]+[.264,.914,.703,1.41,4.24,5.92,11.84,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00]## AUGER AND COSTER-KRONIG TRANSITION RATES FOR K L M AND N SHELLS # CHEN+CRASEMANN,ANDT 24(1979)13, FOR K AND L SHELLS # MCGUIRE,SANDIA REPORTS, FOR M AND N SHELLS # K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105A[1][2][2]=1.456A[1][2][3]=1.604A[1][2][4]=3.072A[1][2][5]=0.324A[1][2][6]=0.151A[1][2][7]=0.288A[1][3][3]=0.294A[1][3][4]=7.277A[1][3][5]=0.156A[1][3][6]=0.053A[1][3][7]=0.607A[1][4][4]=4.132A[1][4][5]=0.299A[1][4][6]=0.607A[1][4][7]=0.697A[1][5][5]=0.018A[1][5][6]=0.015A[1][5][7]=0.028A[1][6][7]=0.202A[1][7][7]=0.030# L1 SHELL RATE (MILLIATOMIC UNITS)A[2][3][5]=17.780A[2][3][6]=7.404A[2][3][7]=7.482A[2][4][5]=34.607A[2][4][6]=7.308A[2][4][7]=20.792A[2][5][5]=0.767A[2][5][6]=1.203A[2][5][7]=2.380A[2][6][7]=0.007A[2][7][7]=0.068# L2 AUGER SHELL RATE (MILLIATOMIC UNITS)# L3 AUGER SHELL RATE (MILLIATOMIC UNITS)A[4][5][5]=0.062A[4][5][6]=0.041A[4][5][7]=1.293A[4][6][7]=1.719A[4][7][7]=2.548# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC# K-SHELLR[1][2]=2.34E-9R[1][3]=.02226R[1][4]=.044R[1][5]=3.36E-10R[1][6]=1.822E-3R[1][7]=3.60E-3# L1 SHELLR[2][3]=8.75E-6R[2][4]=1.97E-5R[2][5]=7.22E-14R[2][6]=7.18E-5R[2][7]=1.378E-4# L2 SHELLR[3][4]=7.88E-14R[3][5]=2.43E-5R[3][6]=1.21E-14R[3][7]=1.05E-8# L3 SHELLR[4][5]=2.48E-5R[4][6]=5.29E-9R[4][7]=5.19E-9# RADIATIVE TRANSITIONS MANSON AND KENNEDY ANDT 14(1974)111# DIPOLE ONLY NON-RELATIVISTIC CALC. UNITS 1/SEC# M1 SHELLR[5][6]=2.0708E9R[5][7]=4.1416E9# # PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL: # UNITS BARNS/ATOM AND ENERGIES IN EV# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443# : KENNEDY AND MANSON PHYS REV A5(1972)227# : SCOFIELD UCRL-51326# : SAMSON AND STOLTE J.ELEC.SPEC. 123(2002)265# : CHAN ET AL PHYS REV A46(1992)149# : MARR AND WEST ANDT 18(1976)497# : VIEGELE ATOMIC 5(1973)50# KSHELL 1S 1/2YPEK=[0]+[7.53E4,4.51E4,2.53E4,1.55E4,7.06E3,3.77E3,1.17E3,498.,146.,60.2,30.0,17.0,6.85,3.38,.938,.382,.111,.0485,.0264,.0165,.00839,.00522,.00244,.00152,8.31E-4,5.64E-4,4.24E-4,3.39E-4,2.41E-4,1.87E-4,1.19E-4,8.75E-5,5.70E-5,4.23E-5,3.36E-5,2.79E-5,2.08E-5,1.66E-5]XPEK=[0]+[3205.9,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L1 SHELL 2S 1/2YPEL1=[0]+[3.20E5,3.38E5,3.35E5,3.26E5,3.15E5,2.92E5,2.72E5,2.62E5,1.77E5,1.19E5,9.46E4,8.06E4,6.79E4,5.89E4,2.64E4,1.43E4,5.71E3,2.86E3,1.64E3,1.03E3,483.,264.,84.9,37.0,11.1,4.66,2.35,1.34,.544,.270,.0755,.0308,.00903,.00394,.00215,.00135,6.83E-4,4.25E-4,1.99E-4,1.24E-4,6.78E-5,4.60E-5,3.46E-5,2.77E-5,1.97E-5,1.52E-5,9.73E-6,7.14E-6,4.65E-6,3.45E-6,2.74E-6,2.27E-6,1.69E-6,1.35E-6]XPEL1=[0]+[326.3,333.1,339.9,346.7,353.5,367.1,380.7,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L2 SHELL 2P 1/2YPEL2=[0]+[1.80E6,1.31E6,9.57E5,8.67E5,8.37E5,8.17E5,7.80E5,6.87E5,6.10E5,5.40E5,2.65E5,1.36E5,9.40E4,7.28E4,5.60E4,4.56E4,1.37E4,5.61E3,1.51E3,577.,268.,142.,50.7,22.5,5.00,1.68,.354,.116,.0488,.0241,.00793,.00338,7.46E-4,2.63E-4,6.51E-5,2.57E-5,1.31E-5,7.72E-6,3.59E-6,2.08E-6,8.63E-7,5.36E-7,2.94E-7,2.00E-7,1.50E-7,1.20E-7,8.54E-8,6.61E-8,4.22E-8,3.09E-8,2.02E-8,1.50E-8,1.19E-8,9.86E-9,7.35E-9,5.86E-9]XPEL2=[0]+[250.6,257.4,264.2,271.0,277.8,291.4,305.0,332.2,359.4,386.6,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L3 SHELL 2P 3/2YPEL3=[0]+[3.60E6,2.63E6,1.91E6,1.73E6,1.67E6,1.63E6,1.56E6,1.37E6,1.22E6,1.08E6,5.21E5,2.67E5,1.84E5,1.43E5,1.09E5,8.93E4,2.67E4,1.09E4,2.93E3,1.11E3,514.,271.,96.4,42.6,9.36,3.12,.647,.209,.0869,.0424,.0137,.00575,.00122,4.23E-4,1.03E-4,4.07E-5,2.10E-5,1.27E-5,6.22E-6,3.79E-6,1.72E-6,1.07E-6,5.86E-7,3.98E-7,2.99E-7,2.39E-7,1.70E-7,1.32E-7,8.41E-8,6.17E-8,4.02E-8,2.98E-8,2.37E-8,1.96E-8,1.46E-8,1.17E-8]XPEL3=[0]+[248.4,255.2,262.0,268.8,275.6,289.2,302.8,330.0,357.2,384.4,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# M1 SHELL 3S 1/2YPEM1=[0]+[5.6E4,1.87E5,2.62E5,3.07E5,3.27E5,3.27E5,3.07E5,2.54E5,2.08E5,1.79E5,1.36E5,7.16E4,4.04E4,2.39E4,1.49E4,1.15E4,9.67E3,8.05E3,7.00E3,3.04E3,1.62E3,639.,320.,183.,115.,54.1,29.6,9.53,4.17,1.26,.527,.266,.151,.0616,.0306,.00856,.00350,.00102,4.47E-4,2.44E-4,1.53E-4,7.75E-5,4.82E-5,2.26E-5,1.40E-5,7.70E-6,5.23E-6,3.93E-6,3.14E-6,2.24E-6,1.73E-6,1.10E-6,8.10E-7,5.28E-7,3.92E-7,3.11E-7,2.58E-7,1.92E-7,1.53E-8]XPEM1=[0]+[29.239,36.0,42.8,49.6,56.4,70.0,83.6,110.8,138.0,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# M2 SHELL 3P 1/2YPEM2=[0]+[10.3E6,11.9E6,11.3E6,7.23E6,3.33E6,8.83E5,2.43E5,1.67E5,2.25E5,2.81E5,3.24E5,3.58E5,3.77E5,3.80E5,3.79E5,3.69E5,3.45E5,3.25E5,2.97E5,2.80E5,2.38E5,2.00E5,1.67E5,1.40E5,1.09E5,7.40E4,3.58E4,1.81E4,9.65E3,6.82E3,5.37E3,4.19E3,3.44E3,1.09E3,458.,127.,49.4,23.3,12.4,4.49,2.01,.450,.152,.0322,.0106,.00446,.00221,7.29E-4,3.11E-4,6.85E-5,2.42E-5,5.98E-6,2.36E-6,1.20E-6,7.07E-7,3.27E-7,1.89E-7,7.82E-8,4.86E-8,5.31E-10]XPEM2=[0]+[15.937,20.0,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,100.,110.,120.,130.,150.,170.,190.,210.,245.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,1.0E8]# M3 SHELL 3P 3/2YPEM3=[0]+[20.5E6,23.8E6,22.5E6,14.5E6,6.67E6,1.77E6,4.87E5,3.33E5,4.50E5,5.62E5,6.49E5,7.15E5,7.53E5,7.60E5,7.57E5,7.37E5,6.89E5,6.51E5,5.95E5,5.60E5,4.76E5,4.00E5,3.33E5,2.80E5,2.17E5,1.47E5,7.06E4,3.55E4,1.89E4,1.34E4,1.05E4,8.19E3,6.73E3,2.12E3,889.,246.,95.1,44.6,23.7,8.50,3.78,.839,.281,.0587,.0190,.00792,.00387,.00125,5.26E-4,1.12E-4,3.88E-5,9.43E-6,3.75E-6,1.94E-6,1.17E-6,5.75E-7,3.51E-7,1.62E-7,1.01E-7,1.10E-9]XPEM3=[0]+[15.760,20.0,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,100.,110.,120.,130.,150.,170.,190.,210.,245.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,1.0E8]# RAYLEIGH, COMPTON AND PAIR PR0DUCTION # HUBBEL J.PHYS.CHEM.REF.4(1975)471# HUBBEL NIST XCOM WEB SITE# STORM AND ISRAEL NUCL.TABLES A7(1970)565XENE=[0]+[100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.022E6,1.25E6,1.5E6,2.0E6,2.044E6,3.0E6,4.0E6,5.0E6,6.0E6,7.0E6,8.0E6,9.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]YRAY=[0]+[215.5,215.2,215.0,214.2,213.2,211.9,210.3,206.5,201.7,187.2,170.5,138.2,112.4,93.45,79.70,61.33,49.16,30.22,20.01,10.72,6.776,4.690,3.435,2.061,1.369,.6390,.3681,.1671,.09475,.06089,.04238,.02389,.01531,.01466,9.804E-3,6.811E-3,3.833E-3,3.669E-3,1.704E-3,9.585E-4,6.135E-4,4.260E-4,3.130E-4,2.397E-4,1.894E-4,1.534E-4,6.788E-5,3.818E-5,1.697E-5,9.545E-6,6.109E-6,4.242E-6,2.386E-6,1.527E-6]YCOM=[0]+[5.185E-3,.01168,.02080,.04655,.08210,.1270,.1806,.3117,.4696,.9421,1.462,2.466,3.332,4.046,4.624,5.501,6.161,7.330,8.048,8.727,8.961,9.013,8.975,8.767,8.493,7.800,7.209,6.314,5.674,5.189,4.805,4.225,3.801,3.761,3.400,3.090,2.638,2.605,2.076,1.731,1.495,1.322,1.188,1.081,.9938,.9208,.6815,.5470,.3982,.3164,.2641,.2276,.1795,.1490]# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRONYPAP=[0]+34*[1.E-20]+[2.826E-3,.01507,.05880,.06336,.1665,.2700,.3627,.4462,.5208,.5882,.6493,.7049,.9170,1.072,1.296,1.446,1.563,1.650,1.779,1.876]# NORMALISED RAYLEIGH FORM FACTOR HubbelFFR=[0]+[1.0,.99967,.99889,.99761,.99578,.99339,.99056,.98333,.9744,.9506,.9217,.9050,.8606,.8078,.7656,.7189,.6350,.5667,.4746,.4202,.3814,.3465,.3122,.2787,.2468,.1796,.1343,.08906,.07183,.06278,.05371,.04672,.03272,.02292,.01596,.0126,.005872,.001555,5.553E-4,1.744E-5,2.907E-6,1.250E-6,3.693E-10,2.99E-19,3.37E-28]FFC=[0]+[5.6E-22,3.33E-4,.00133,.003011,.005328,.008283,.01185,.02073,.03172,.05906,.09133,.1087,.1533,.1977,.2400,.2796,.3502,.4098,.4999,.5617,.6094,.6517,.6900,.7256,.7572,.8189,.8606,.9067,.9328,.9517,.9661,.9761,.9889,.9950,.99756,.99878,.99967,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]# ARGON ATOMIC NUMBERIZ[1]=18AMZ[1]=39.948# CONVERT SHAKE OFF FROM A % TO A PROBABILITY forIinrange(1,17+1):PRSHBT[1][I]=PRBSHBT[I]/100.0forJinrange(1,17+1):PRBSH[I][J]=PRBSH[I][J]/100.0# SWAP INDICES AND DO CHECK SUMforIinrange(1,17+1):PRSUM=0forJinrange(1,17+1):PRSH[1][I][J]=PRBSH[J][I]# PRSUM=PRSUM+PRSH[I][J]# WRITE(6,888) I,PRSUM# 888 print(' I=',I3,' PRSUM=','%.3f' %)# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONSforIinrange(1,17+1):ESH[1][I]=ES[I]INIOCC[1][I]=INIOC[I]## AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,# WITH TRANSITION TO SHELLS J,K# LOAD OUTPUT ARRAYS AND CONVERT TO EVforIinrange(1,4+1):forJinrange(1,17+1):forKinrange(1,17+1):AUG[1][I][J][K]=A[I][J][K]*0.0272105forIinrange(5,17+1):forJinrange(1,17+1):forKinrange(1,17+1):AUG[1][I][J][K]=A[I][J][K]*0.00272105# CHECK AUGER LEVEL SUMS# for I in range(1,17+1):# ASUM=0.0# for J in range(1,17+1):# for K in range(1,17+1):# 6 ASUM=ASUM+AUG[I][J][K]# WRITE(6,887) I,ASUM# 887 print(' I=',I3,' ASUM=','%.3f' %)# 7 CONTINUE# # CONVERT RADIATIVE RATES IN M AND N SHELL TO EV forIinrange(5,17+1):forJinrange(6,17+1):R[I][J]=R[I][J]*6.582119E-16# LOAD OUTPUT ARRAYforIinrange(1,17+1):forJinrange(1,17+1):RAD[1][I][J]=R[I][J]# PRINTOUT CHECK SUM# for5 in range(=1,17+1):# RSUM=0.0# for4 in range(=1,17+1):# 14 RSUM=RSUM+R[I][J]# WRITE(6,100) I,RSUM# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)# 15 CONTINUE# LOAD PHOTOELECTRIC DATAforJinrange(1,38+1):XPE[1][1][J]=math.log(XPEK[J])YPE[1][1][J]=math.log(YPEK[J]*1.E-24)forJinrange(1,54+1):XPE[1][2][J]=math.log(XPEL1[J])YPE[1][2][J]=math.log(YPEL1[J]*1.E-24)forJinrange(1,55+1):XPE[1][3][J]=math.log(XPEL2[J])YPE[1][3][J]=math.log(YPEL2[J]*1.E-24)forJinrange(1,55+1):XPE[1][4][J]=math.log(XPEL3[J])YPE[1][4][J]=math.log(YPEL3[J]*1.E-24)forJinrange(1,59+1):XPE[1][5][J]=math.log(XPEM1[J])YPE[1][5][J]=math.log(YPEM1[J]*1.E-24)forJinrange(1,60+1):XPE[1][6][J]=math.log(XPEM2[J])YPE[1][6][J]=math.log(YPEM2[J]*1.E-24)forJinrange(1,60+1):XPE[1][7][J]=math.log(XPEM3[J])YPE[1][7][J]=math.log(YPEM3[J]*1.E-24)# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION DATAforJinrange(1,54+1):XCP[1][J]=math.log(XENE[J])YRY[1][J]=math.log(YRAY[J]*1.E-24)YCP[1][J]=math.log(YCOM[J]*1.E-24)YPP[1][J]=math.log(YPAP[J]*1.E-24)# LOAD RAYLEIGH AND COMPTON FORM FACTORSforJinrange(1,45+1):FFAR[1][J]=FFR[J]FFAC[1][J]=FFC[J]return# end'''
def CGAS3(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(60),YPEK(60),XENE(54),YRAY(54),YCOM(54),YPAP(54),FFR(45),FFC(45)
#
# HELIUM DATA FOR CASCADE CALCULATIONS
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/26.9,0.0,0.0,0.0,0.0,0.0,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00/
# AUGER RATES
DATA A/4913*0.0/
# RADIATIVE RATES
DATA R/289*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : SAMSON AND STOLTE J.ELEC.SPEC. 123(2002)265
# KSHELL 1S 1/2
DATA YPEK/7.40E6,6.40E6,5.38E6,4.57E6,3.88E6,3.16E6,2.48E6,2.02E6,1.67E6,1.56E6,1.15E6,9.75E5,8.13E5,6.93E5,5.95E5,5.16E5,4.50E5,3.93E5,3.06E5,2.46E5,1.73E5,1.21E5,7.15E4,2.23E4,7.98E3,3.23E3,1.44E3,926.,688.,507.,402.,109.,43.2,11.2,4.23,2.03,1.10,.411,.194,.0487,.0183,.00457,.00171,7.95E-4,4.26E-4,1.60E-4,7.48E-5,1.92E-5,7.43E-6,2.05E-6,8.66E-7,4.64E-7,2.88E-7,1.45E-7,9.03E-8,4.14E-8,2.63E-8,1.49E-8,1.03E-8,3.28E-10/
DATA XPEK/24.587,27.0,30.0,33.0,36.0,40.0,45.0,50.0,55.0,59.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
# HUBBEL J.PHYS CHEM REF DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL DATA TABLES A7(1970)565
DATA XENE/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAY/2.660,2.658,2.655,2.648,2.637,2.624,2.608,2.567,2.517,2.356,2.162,1.743,1.369,1.072,.8492,.5592,.3921,.1962,.1166,.05432, .03113,.02010,.01403,7.933D-3,5.089D-3,2.267D-3,1.276D-3,5.676D-4,3.194D-4,2.044D-4, 1.420D-4,7.986D-5,5.111D-5,4.894D-5,3.272D-5,2.272D-5,1.278D-5,1.224D-5,5.680D-6,3.195D-6,2.045D-6,1.420D-6,1.043D-6,7.988D-7,6.312D-7,5.112D-7,2.272D-7,1.278D-7,5.679D-8,3.194D-8,2.044D-8,1.420D-8,7.984D-9,5.109D-9/
DATA YCOM/1.524D-3,2.559D-3,3.793D-3,7.081D-3,1.183D-2,1.796D-2,2.543D-2,4.426D-2,6.759D-2,0.1419,.2317,.4230,.5948,.7328,.8385,.9785,1.059,1.145,1.168,1.163,1.139,1.111,1.083,1.030,.9825,.8860,.8124,.7068,.6334,.5785,.5352,.4702,.4228,.4183,.3780,.3436,.2932,.2896,.2307,.1924,.1662,.1469,.1320,.1201,.1104,.1023,.07573,.06078,.04425,.03516,.02935,.02529,.01994,.01655/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAP/34*1.E-20,3.127D-5,1.755D-4,7.034D-4,7.584D-4,2.101D-3,3.611D-3,5.061D-3,6.427D-3,7.681D-3,8.838D-3,9.906D-3,1.089D-2,1.473D-2,1.792D-2,.0222,.0253, .0277,.0296,.0326,.0351/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFR/1.0,.99975,.99910,.9980,.9965,.9945,.9920,.9860,.9785,.9585,.9330,.9180,.8775,.8305,.7800,.7290,.6260,.5295,.3690,.2547,.1771,.1247,.8930,.06495,.04806,.02420,.01326,4.82D-3,2.098D-3,1.046D-3,5.770D-4,3.428D-4,1.427D-4,6.945D-5,3.770D-5,2.218D-5,9.130D-6,1.813D-6,5.755D-7,1.487D-8,2.289D-9,9.425D-10,1.173D-13,2.56D-23,2.56D-32/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFC/5.E-21,.00105,.00250,.00440,.00705,.01029,.01495,.02595,.04027,.07675,.1225,.1478,.2161,.2917,.3680,.4403,.5730,.6810,.8285,.9090,.9510,.9735,.9850,.9915,.99495,.99855,.99950,.99995,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HELIUM ATOMIC NUMBER
IZ[1]=2
AMZ[1]=4.002602
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC DATA
DO 21 J=1,60
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*1.E-24)
21 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 22 J=1,54
XCP[1][J]=math.log(XENE[J])
YRY[1][J]=math.log(YRAY[J]*1.E-24)
YCP[1][J]=math.log(YCOM[J]*1.E-24)
YPP[1][J]=math.log(YPAP[J]*1.E-24)
22 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 23 J=1,45
FFAR[1][J]=FFR[J]
FFAC[1][J]=FFC[J]
23 CONTINUE
return
# end
def CGAS4(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(60),YPEK(60),XENE(54),YRAY(54),YCOM(54),YPAP(54),FFR(45),FFC(45)
#
# HELIUM DATA FOR CASCADE CALCULATIONS
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/26.9,0.0,0.0,0.0,0.0,0.0,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00/
# AUGER RATES
DATA A/4913*0.0/
# RADIATIVE RATES
DATA R/289*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : SAMSON AND STOLTE J.ELEC.SPEC. 123(2002)265
# KSHELL 1S 1/2
DATA YPEK/7.40E6,6.40E6,5.38E6,4.57E6,3.88E6,3.16E6,2.48E6,2.02E6,1.67E6,1.56E6,1.15E6,9.75E5,8.13E5,6.93E5,5.95E5,5.16E5,4.50E5,3.93E5,3.06E5,2.46E5,1.73E5,1.21E5,7.15E4,2.23E4,7.98E3,3.23E3,1.44E3,926.,688.,507.,402.,109.,43.2,11.2,4.23,2.03,1.10,.411,.194,.0487,.0183,.00457,.00171,7.95E-4,4.26E-4,1.60E-4,7.48E-5,1.92E-5,7.43E-6,2.05E-6,8.66E-7,4.64E-7,2.88E-7,1.45E-7,9.03E-8,4.14E-8,2.63E-8,1.49E-8,1.03E-8,3.28E-10/
DATA XPEK/24.587,27.0,30.0,33.0,36.0,40.0,45.0,50.0,55.0,59.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL DATA TABLES A7(1970)565
DATA XENE/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAY/2.660,2.658,2.655,2.648,2.637,2.624,2.608,2.567,2.517,2.356,2.162,1.743,1.369,1.072,.8492,.5592,.3921,.1962,.1166,.05432, .03113,.02010,.01403,7.933D-3,5.089D-3,2.267D-3,1.276D-3,5.676D-4,3.194D-4,2.044D-4, 1.420D-4,7.986D-5,5.111D-5,4.894D-5,3.272D-5,2.272D-5,1.278D-5,1.224D-5,5.680D-6,3.195D-6,2.045D-6,1.420D-6,1.043D-6,7.988D-7,6.312D-7,5.112D-7,2.272D-7,1.278D-7,5.679D-8,3.194D-8,2.044D-8,1.420D-8,7.984D-9,5.109D-9/
DATA YCOM/1.524D-3,2.559D-3,3.793D-3,7.081D-3,1.183D-2,1.796D-2,2.543D-2,4.426D-2,6.759D-2,0.1419,.2317,.4230,.5948,.7328,.8385,.9785,1.059,1.145,1.168,1.163,1.139,1.111,1.083,1.030,.9825,.8860,.8124,.7068,.6334,.5785,.5352,.4702,.4228,.4183,.3780,.3436,.2932,.2896,.2307,.1924,.1662,.1469,.1320,.1201,.1104,.1023,.07573,.06078,.04425,.03516,.02935,.02529,.01994,.01655/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAP/34*1.E-20,3.127D-5,1.755D-4,7.034D-4,7.584D-4,2.101D-3,3.611D-3,5.061D-3,6.427D-3,7.681D-3,8.838D-3,9.906D-3,1.089D-2,1.473D-2,1.792D-2,.0222,.0253, .0277,.0296,.0326,.0351/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFR/1.0,.99975,.99910,.9980,.9965,.9945,.9920,.9860,.9785,.9585,.9330,.9180,.8775,.8305,.7800,.7290,.6260,.5295,.3690,.2547,.1771,.1247,.8930,.06495,.04806,.02420,.01326,4.82D-3,2.098D-3,1.046D-3,5.770D-4,3.428D-4,1.427D-4,6.945D-5,3.770D-5,2.218D-5,9.130D-6,1.813D-6,5.755D-7,1.487D-8,2.289D-9,9.425D-10,1.173D-13,2.56D-23,2.56D-32/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFC/5.E-21,.00105,.00250,.00440,.00705,.01029,.01495,.02595,.04027,.07675,.1225,.1478,.2161,.2917,.3680,.4403,.5730,.6810,.8285,.9090,.9510,.9735,.9850,.9915,.99495,.99855,.99950,.99995,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HELIUM ATOMIC NUMBER
IZ[1]=2
AMZ[1]=3.01600
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC DATA
DO 21 J=1,60
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*1.E-24)
21 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 22 J=1,54
XCP[1][J]=math.log(XENE[J])
YRY[1][J]=math.log(YRAY[J]*1.E-24)
YCP[1][J]=math.log(YCOM[J]*1.E-24)
YPP[1][J]=math.log(YPAP[J]*1.E-24)
22 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 23 J=1,45
FFAR[1][J]=FFR[J]
FFAC[1][J]=FFC[J]
23 CONTINUE
return
# end
def CGAS5(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(42),YPEK(42),XPEL1(58),YPEL1(58),XPEL2(60),YPEL2(60),XPEL3(60),YPEL3(60),XENE(54),YRAY(54),YCOM(54),YPAP(54),FFR(45),FFC(45)
#
# NEON DATA FOR CASCADE CALCULATIONS
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/15.9,3.40,3.20,3.20,0.00,0.00,0.00,0.00,0.00,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/.030,1.71,5.44,10.63,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.16,1.48,2.98,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.34,0.78,3.14,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.34,1.55,2.35,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/1.03,4.77,5.55,11.10,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.820/,A[1][2][3]/0.8315/,A[1][2][4]/1.5925/
DATA A[1][3][3]/0.140/,A[1][3][4]/3.47/
DATA A[1][4][4]/1.97/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/3.55E-12/,R(1,3)/.001128/,R(1,4)/.002242/
# L1 SHELL
DATA R(2,3)/2.23E-6/,R(2,4)/4.54E-6/
# L2 SHELL
DATA R(3,4)/8.70E-18/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : KENNEDY AND MANSON PHYS REV A5(1972)227
# : SCOFIELD UCRL-51326
# : SAMSON AND STOLTE J.ELEC.SPEC. 123(2002)265
# : CHAN ET AL PHYS REV A45(1992)1420
# : VIEGELE ATOMIC DATA 5(1973)50
# : BIZAU ET AL J.ELEC.SPEC. 71(1995)205
# K SHELL 1S 1/2
DATA YPEK/3.60E5,2.32E5,8.40E4,3.92E4,1.28E4,5.61E3,2.92E3,1.70E3,717.,363.,103.,41.6,11.4,4.49,2.17,1.20,.468,.225,.0602,.0240,.00680,.00293,.00158,9.86E-4,4.98E-4,3.10E-4,1.46E-4,9.16E-5,5.09E-5,3.49E-5,2.64E-5,2.12E-5,1.52E-5,1.18E-5,7.57E-6,5.57E-6,3.64E-6,2.70E-6,2.15E-6,1.78E-6,1.33E-6,1.06E-6/
DATA XPEK/870.2,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/2.69E5,4.04E5,5.03E5,5.48E5,6.21E5,5.60E5,5.24E5,4.38E5,3.76E5,2.90E5,1.51E5,8.05E4,4.47E4,2.61E4,1.93E4,1.57E4,1.26E4,1.06E4,3.95E3,
1.90E3,643.,290.,154.,91.2,39.1,20.0,5.78,2.35,.651,.258,.125,.0693,.0271,.0131,.00351,.00140,3.98E-4,1.71E-4,9.24E-5,5.76E-5,2.91E-5,1.81E-5,8.52E-6,5.34E-6,2.97E-6,2.03E-6,1.54E-6,1.24E-6,8.85E-7,6.88E-7,4.42E-7,3.25E-7,2.12E-7,1.58E-7,1.25E-7,1.04E-7,7.77E-8,6.19E-8/
DATA XPEL1/48.475,55.3,62.1,68.3,75.7,89.3,102.9,132.3,151.3,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/2.13E6,2.57E6,2.87E6,2.98E6,2.98E6,2.87E6,2.50E6,2.14E6,1.82E6,1.57E6,1.35E6,1.14E6,9.49E5,7.91E5,6.35E5,4.43E5,2.86E5,9.54E4,3.52E4,1.46E4,6.60E3,4.25E3,3.15E3,2.32E3,1.82E3,459.,167.,38.5,13.2,5.64,2.78,.901,.372,.0734,.0230,.00444,.00138,5.57E-4,2.67E-4,8.43E-5,3.49E-5,7.30E-6,2.50E-6,5.98E-7,2.31E-7,1.16E-7,6.78E-8,3.10E-8,1.78E-8,7.27E-9,4.56E-9,2.54E-9,1.74E-9,1.31E-9,1.06E-9,7.55E-10,5.87E-10,3.77E-10,2.77E-10,5.28E-11/
DATA XPEL2/21.661,24.0,27.0,30.0,35.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,110.,120.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,1.0E8/
# L3 SHELL 2P 3/2
DATA YPEL3/4.25E6,5.14E6,5.73E6,5.97E6,2.98E6,2.87E6,5.00E6,4.29E6,3.64E6,3.13E6,2.69E6,2.28E6,1.90E6,1.58E6,1.26E6,9.20E5,5.68E5,1.89E5,6.98E4,2.89E4,1.30E4,8.41E3,6.23E3,4.57E3,3.60E3,903.,328.,75.6,25.8,11.0,5.43,1.75,.720,.141,.0439,.00837,.00257,.00103,4.88E-4,1.52E-4,6.19E-5,1.26E-5,4.26E-6,1.01E-6,3.96E-7,2.04E-7,1.23E-7,6.04E-8,3.70E-8,1.72E-8,1.08E-8,6.00E-9,4.11E-9,3.11E-9,2.50E-9,1.79E-9,1.39E-9,8.91E-10,6.56E-10,1.25E-10/
DATA XPEL3/21.565,24.0,27.0,30.0,35.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,110.,120.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XENE/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAY/66.51,66.46,66.41,66.26,66.05,65.79,65.47,64.67,63.67,60.42,56.40,47.42,38.86,31.65,25.94,18.11,13.35,7.460,4.877,2.590, 1.596,1.078,.7754,.4563,.2998,.1376,.07840,.03519,.01987,.01274, 8.853D-3,4.985D-3,3.191D-3,3.056D-3,2.043D-3,1.419D-3,7.983D-4,7.643D-4,3.549D-4,1.996D-4,1.278D-4,8.872D-5,6.518D-5,4.991D-5,3.943D-5,3.194D-5,1.425D-5,8.017D-6,3.563D-6,2.004D-6,1.283D-6,8.905D-7,5.011D-7,3.206D-7/
DATA YCOM/1.835D-3,4.309D-3,7.696D-3,.01731,.03067,.04770,.06825,.1196,.1836,.3902, .6452,1.221,1.796,2.320,2.774,3.473,3.949,4.603,4.926,5.214,5.287,5.264,5.198,5.017,4.823,4.388,4.038,3.523,3.161,2.889,2.673,2.350,2.113,2.091,1.889,1.718,1.466,1.448,1.153,.9620,.8308,.7343,.6600,.6006,.5521,.5116,.3786,.3039,.2212,.1758, .1467,.1264,.09972,.08276/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAP/34*1.E-20,8.090D-4,4.464D-3,.01775,.01913,.05108,.08379,.1135,.1403,.1644,.1863,.2062,.2244,.2942,.3473,.4212,.4730, .5120,.5417,.5872,.6210/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFR/1.,.99978,.99926,.9984,.9972,.9957,.9938,.9891,.9830,.9672,.9468,.9352,.9019,.8643,.8233,.7803,.6925,.6076,.4614,.3531,.2786,.2293,.1969,.1754,.1607,.1379,.1217,.09266,.06781,.05136, .03491,.02782,.01363,.007790,.004690,.003580,.001360,.0003075,.0001015,2.822D-6,4.507D-7,1.897D-7,4.044D-11,2.45D-20,2.54D-29/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFC/1.E-21,.000200,.00090,.00201,.00357,.00556,.00799,.01410,.02180,.04177, .06694,.08120,.1205,.1637,.2088,.2547,.3442,.4269,.5644,.6640,.7320,.7774,.8085,.8312,.8490,.8836,.9113,.9517,.9752,.9875,.99368,.99670,.99906,.99969,.99989,1.,1.,1.,1.,1.,1.,1.,1.,1.,1./
# NEON ATOMIC NUMBER
IZ[1]=10
AMZ[1]=20.1797
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC DATA
DO 21 J=1,42
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*1.E-24)
21 CONTINUE
DO 22 J=1,58
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*1.E-24)
22 CONTINUE
DO 23 J=1,60
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*1.E-24)
23 CONTINUE
DO 24 J=1,60
XPE[1][4][J]=math.log(XPEL3[J])
YPE[1][4][J]=math.log(YPEL3[J]*1.E-24)
24 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 25 J=1,54
XCP[1][J]=math.log(XENE[J])
YRY[1][J]=math.log(YRAY[J]*1.E-24)
YCP[1][J]=math.log(YCOM[J]*1.E-24)
YPP[1][J]=math.log(YPAP[J]*1.E-24)
25 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 26 J=1,45
FFAR[1][J]=FFR[J]
FFAC[1][J]=FFC[J]
26 CONTINUE
return
# end
def CGAS6(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(33),YPEK(33),XPEL1(40),YPEL1(40),XPEL2(40),YPEL2(40),XPEL3(40),YPEL3(40),XPEM1(48),YPEM1(48),XPEM2(49),YPEM2(49),XPEM3(49),YPEM3(49),XPEM4(59),YPEM4(59),XPEM5(59),YPEM5(59),XPEN1(59),YPEN1(59),XPEN2(60),YPEN2(60),XPEN3(60),YPEN3(60),XENE(54),YRAY(54),YCOM(54),YPAP(54),FFR(45),FFC(45)
#
# KRYPTON DATA FOR CASCADE CALCULATIONS
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,4,2,2,4,4,6,2,2,4,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/33.4,17.7,19.2,19.3,7.80,7.80,7.70,7.80,7.70,2.0,1.4,1.3,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/.002,.060,.089,.180,.220,0.38,0.75,1.43,2.13,1.80,4.39,9.06,0.00,0.00,0.00,0.00,0.00,0.00,.002,.007,.014,.089,.150,.310,1.36,2.04,1.50,3.78,7.97,0.00,0.00,0.00,0.00,0.00,0.00,.008,.006,.026,.099,.180,.360,1.42,2.14,1.53,3.86,8.13,0.00,0.00,0.00,0.00,0.00,0.00,.008,.011,.018,.097,.170,.360,1.41,2.12,1.52,3.84,8.10,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.006,.020,.045,0.32,0.50,1.22,3.26,6.97,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.012,.010,.048,0.33,0.51,1.21,3.26,6.96,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.011,.020,.034,0.31,0.48,1.20,3.24,6.95,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.012,.023,.050,0.27,0.55,1.19,3.22,6.88,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.012,.022,.049,0.35,0.45,1.18,3.21,6.87,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.003,.004,0.14,1.33,3.02,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.001,.002,0.20,0.50,2.31,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.001,.001,0.18,0.96,1.66,0.00,0.00,0.00,0.00,0.00,85*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/.0723,.185,.124,.230,.438,.446,.852,1.32,1.96,2.39,4.53,9.23,0.00,0.00,0.00,0.00,0.00/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K L M AND N SHELLS
# CHEN+CRASEMANN,ANDT 24(1979)13, FOR K AND L SHELLS
# MCGUIRE,SANDIA REPORTS, FOR M AND N SHELLS
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/2.402/,A[1][2][3]/2.697/,A[1][2][4]/4.434/,A[1][2][5]/0.713/,A[1][2][6]/0.406/,A[1][2][7]/0.663/,A[1][2][8]/0.031/,A[1][2][9]/0.039/,A[1,2,10]/0.092/,A[1,2,11]/0.040/,A[1,2,12]/0.065/
DATA A[1][3][3]/0.455/,A[1][3][4]/10.384/,A[1][3][5]/0.338/,A[1][3][6]/0.126/,A[1][3][7]/1.318/,A[1][3][8]/0.041/,A[1][3][9]/0.147/,A[1,3,10]/0.043/,A[1,3,11]/0.013/,A[1,3,12]/0.128/
DATA A[1][4][4]/5.730/,A[1][4][5]/0.611/,A[1][4][6]/1.457/,A[1][4][7]/1.597/,A[1][4][8]/0.214/,A[1][4][9]/0.217/,A[1,4,10]/0.098/,A[1,4,11]/0.202/,A[1,4,12]/0.222/
DATA A[1][5][5]/0.064/,A[1][5][6]/0.064/,A[1][5][7]/0.099/,A[1,5,10]/0.021/,A[1,5,11]/0.009/,A[1,5,12]/0.014/,A[1][6][7]/0.202/,A[1,6,10]/0.010/,A[1,6,12]/0.028/,A[1][7][7]/0.113/,A[1][7][8]/0.024/,A[1][7][9]/0.024/,A[1,7,10]/0.016/,A[1,7,11]/0.028/,A[1,7,12]/0.031/
# L1 SHELL RATE (MILLIATOMIC UNITS)
DATA A[2][3][8]/19.581/,A[2][3][9]/31.107/,A[2,3,10]/3.203/,A[2,3,11]/1.665/,A[2,3,12]/2.200/
DATA A[2][4][7]/54.196/,A[2][4][8]/57.773/,A[2][4][9]/82.495/,A[2,4,10]/5.370/,A[2,4,11]/1.833/,A[2,4,12]/3.926/
DATA A[2][5][5]/1.173/,A[2][5][6]/2.236/,A[2][5][7]/4.300/,A[2][5][8]/3.017/,A[2][5][9]/4.422/,A[2,5,10]/0.266/,A[2,5,11]/0.218/,A[2,5,12]/0.415/
DATA A[2][6][7]/0.092/,A[2][6][8]/0.054/,A[2][6][9]/0.974/,A[2,6,10]/0.216/
DATA A[2][7][7]/0.103/,A[2][7][8]/0.916/,A[2][7][9]/0.652/,A[2,7,10]/0.415/,A[2,7,12]/0.017/
DATA A[2][8][8]/0.125/,A[2][8][9]/5.685/,A[2,8,10]/0.282/,A[2,8,11]/0.007/,A[2,8,12]/0.085/
DATA A[2][9][9]/1.580/,A[2,9,10]/0.411/,A[2,9,11]/0.088/,A[2,9,12]/0.062/
DATA A[2,10,10]/0.015/,A[2,10,11]/0.021/,A[2,10,12]/0.041/
# L2 AUGER SHELL RATE (MILLIATOMIC UNITS)
DATA A[3,4,10]/0.874/,A[3,4,11]/2.468/,A[3,4,12]/0.978/
DATA A[3][5][5]/0.093/,A[3][5][6]/1.876/,A[3][5][7]/0.160/,A[3][5][8]/0.111/,A[3][5][9]/0.252/,A[3,5,11]/0.141/,A[3,5,12]/0.014/
DATA A[3][6][6]/1.724/,A[3][6][7]/5.804/,A[3][6][8]/2.741/,A[3][6][9]/5.061/,A[3,6,10]/0.245/,A[3,6,11]/0.301/,A[3,6,12]/0.551/
DATA A[3][7][7]/0.160/,A[3][7][8]/3.285/,A[3][7][9]/0.460/,A[3,7,10]/0.019/,A[3,7,11]/0.449/,A[3,7,12]/0.027/
DATA A[3][8][8]/2.818/,A[3][8][9]/12.528/,A[3,8,10]/0.014/
DATA A[3][9][9]/0.592/,A[3,9,11]/0.362/,A[3,9,12]/0.040/
DATA A[3,10,11]/0.019/,A[3,11,11]/0.019/,A[3,11,12]/0.043/
# L3 AUGER SHELL RATE (MILLIATOMIC UNITS)
DATA A[4][5][5]/0.099/,A[4][5][6]/0.071/,A[4][5][7]/1.974/,A[4][5][8]/0.176/,A[4][5][9]/0.206/,A[4,5,12]/0.148/
DATA A[4][6][7]/3.189/,A[4][6][8]/0.190/,A[4][6][9]/1.737/,A[4,6,12]/0.244/
DATA A[4][7][7]/4.617/,A[4][7][8]/4.052/,A[4][7][9]/6.153/,A[4,7,10]/0.256/,A[4,7,11]/0.300/,A[4,7,12]/0.793/
DATA A[4][8][8]/0.512/,A[4][8][9]/10.126/,A[4,8,10]/0.021/,A[4,8,11]/0.018/,A[4,8,12]/0.297/
DATA A[4][9][9]/6.885/,A[4,9,10]/0.025/,A[4,9,11]/0.159/,A[4,9,12]/0.485/
DATA A[4,10,12]/0.019/,A[4,11,12]/0.023/,A[4,12,12]/0.034/
# M SHELL AUGER RATE (10**-4 ATOMIC UNITS)
DATA A[5,6,10]/127.3/,A[5,6,11]/145.0/,A[5,6,12]/336.5/
DATA A[5,7,10]/254.6/,A[5,7,11]/336.5/,A[5,7,12]/626.1/
DATA A[5,8,10]/104.4/,A[5,8,11]/15.3/,A[5,8,12]/5.30/
DATA A[5,9,10]/156.6/,A[5,9,11]/1.95/,A[5,9,12]/29.1/
DATA A[5,10,10]/5.00/A[5,10,11]/9.22/,A[5,10,12]/18.4/
DATA A[5,11,11]/0.346/,A[5,11,12]/0.656/,A[5,12,12]/1.02/
DATA A[6,10,10]/1.04/,A[6,10,11]/5.01/,A[6,10,12]/1.38/
DATA A[6,11,11]/3.41/,A[6,11,12]/12.3/,A[6,12,12]/0.32/
DATA A[7][8][8]/29.2/,A[7][8][9]/364.0/,A[7,8,10]/23.9/,A[7,8,11]/23.6/,A[7,8,12]/143.2/
DATA A[7][9][9]/294.0/,A[7,9,10]/105.7/,A[7,9,11]/164.4/,A[7,9,12]/361.8/
DATA A[7,10,10]/1.04/,A[7,10,11]/0.69/,A[7,10,12]/5.69/
DATA A[7,11,11]/0.06/,A[7,11,12]/6.37/,A[7,12,12]/9.62/
DATA A[8,10,10]/2.22/,A[8,10,11]/8.35/,A[8,10,12]/10.83/
DATA A[8,11,11]/2.65/,A[8,11,12]/6.62/,A[8,12,12]/2.34/
DATA A[9,10,10]/2.22/,A[9,10,11]/5.09/,A[9,10,12]/14.09/
DATA A[9,11,11]/0.50/,A[9,11,12]/3.96/,A[9,12,12]/7.15/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/3.88E-6/,R(1,3)/0.499/,R(1,4)/0.962/,R(1,5)/8.60E-7/,R(1,6)/0.0702/,R(1,7)/0.1369/,R(1,8)/2.046E-4/,R(1,9)/2.931E-4/,R(1,10)/1.11E-7/,R(1,11)/6.17E-3/,R(1,12)/.01187/
# L1 SHELL
DATA R(2,3)/3.24E-5/,R(2,4)/1.536E-4/,R(2,5)/4.85E-10/,R(2,6)/5.43E-3/,R(2,7)/9.66E-3/,R(2,8)/3.19E-5/,R(2,9)/4.75E-5/,R(2,10)/8.62E-11/,R(2,11)/5.09E-4/R(2,12)/9.00E-4/
# L2 SHELL
DATA R(3,4)/1.02E-9/,R(3,5)/8.69E-4/,R(3,6)/1.26E-10/,R(3,7)/4.40E-6/,R(3,8)/.02374/,R(3,9)/2.80E-8/,R(3,10)/1.082E-4/,R(3,11)/1.47E-11/,R(3,12)/4.11E-7/
# L3 SHELL
DATA R(4,5)/9.62E-4/,R(4,6)/2.22E-6/,R(4,7)/2.12E-6/,R(4,8)/2.326E-3/,R(4,9)/.02067/,R(4,10)/1.192E-4/,R(4,11)/2.07E-7/,R(4,12)/1.97E-7/
# RADIATIVE TRANSITIONS MANSON AND KENNEDY ANDT 14(1974)111
# DIPOLE ONLY NON-RELATIVISTIC CALC. UNITS 1/SEC
# M1 SHELL
DATA R(5,6)/2.2759E10/,R(5,7)/4.5517E10/,R(5,11)/4.5243E10/,R(5,12)/9.0487E10/
DATA R(6,8)/3.43988E10/,R(6,9)/5.15982E10/,R(6,10)/1.5818E10/,R(6,11)/1.4049E9/,R(6,12)/2.8099E9/
DATA R(7,8)/6.8797E10/,R(7,9)/1.03196E11/,R(7,10)/3.1636E10/,R(7,11)/2.1074E9/,R(7,12)/4.2148E9/
DATA R(10,11)/2.3294E9/,R(10,12)/4.6589E9/
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SHANTHI ET AL. PHYS REV A37(1988)4720
# : KENNEDY AND MANSON PHYS REV A5(1972)227
# : SCOFIELD UCRL-51326
# : SAMSON AND STOLTE J.ELEC.SPEC. 123(2002)265
# : CHAN ET AL PHYS REV A46(1992)149
# : VIEGELE ATOMIC DATA 5(1973)50
# KSHELL
DATA YPEK/1.54E4,1.38E4,6.61E3,2.2E3,979.,517.,304.,131.,67.3,20.,8.50,2.61,1.17,.650,.412,.211,.131,.0611,.0374,.0201,.0135,.0100,.00795,.00559,.00430,.00272,.00198,.00129,9.50E-4,7.54E-4,6.24E-4,4.65E-4,3.70E-4/
DATA XPEK/14326.,1.5E4,2.0E4,3.0E4,4.E4,5.E4,6.E4,8.E4,1.E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL
DATA YPEL1/6.48E4,6.43E4,3.31E4,1.95E4,1.26E4,8.66E3,4.66E3,2.82E3,1.08E3,527.,184.,84.7,45.7,27.4,12.0,6.31,1.92,.828,.258,.117,.0649,.0412,.0211,.0132,.00611,.00374,.00201,.00135,.00100,7.95E-4,5.59E-4,4.30E-4,2.72E-4,1.98E-4,1.29E-4,9.50E-5,7.54E-5,6.24E-5,4.65E-5,3.70E-5/
DATA XPEL1/1921.,2000.,3000.,4000.,5000.,6000.,8000.,1.E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL
DATA YPEL2/1.89E5,1.24E5,4.22E4,1.88E4,9.77E3,5.65E3,2.32E3,1.14E3,303.,115.,28.6,10.4,4.74,2.48,.892,.404,.0978,.0366,.00970,.00399,.00207,.00125,5.96E-4,3.51E-4,1.48E-4,9.07E-5,4.87E-5,3.26E-5,2.43E-5,1.93E-5,1.36E-5,1.04E-5,6.59E-6,4.80E-6,3.11E-6,2.30E-6,1.83E-6,1.51E-6,1.13E-6,8.97E-7/
DATA XPEL2/1730.9,2000.,3000.,4000.,5000.,6000.,8000.,1.E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L3 SHELL
DATA YPEL3/3.96E5,2.37E5,7.91E4,3.47E4,1.79E4,1.03E4,4.17E3,2.03E3,528.,197.,47.6,17.0,7.57,3.90,1.36,.602,.139,.0504,.0129,.00525,.00274,.00167,8.18E-4,4.95E-4,2.23E-4,1.37E-4,7.34E-5,4.91E-5,3.66E-5,2.90E-5,2.04E-5,1.57E-5,9.92E-6,7.24E-6,4.69E-6,3.47E-6,2.75E-6,2.28E-6,1.70E-6,1.35E-6/
DATA XPEL3/1678.4,2000.,3000.,4000.,5000.,6000.,8000.,1.E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# M1 SHELL
DATA YPEM1/2.05E5,1.53E5,1.11E5,7.89E4,6.48E4,5.65E4,4.89E4,4.34E4,2.20E4,1.31E4,6.07E3,3.40E3,2.14E3,1.45E3,764.,459.,174.,85.1,29.7,13.7,7.42,4.45,1.96,1.03,.315,.136,.0423,.0192,.0107,.00677,.00347,.00216,.00100,6.13E-4,3.29E-4,2.20E-4,1.64E-4,1.30E-4,9.16E-5,7.04E-5,4.45E-5,3.25E-5,2.10E-5,1.56E-5,1.23E-5,1.02E-5,7.61E-6,6.06E-6/
DATA XPEM1/292.8,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# M2 SHELL
DATA YPEM2/2.00E5,1.96E5,1.92E5,1.49E5,1.07E5,8.72E4,7.52E4,6.41E4,5.62E4,2.53E4,1.34E4,4.99E3,2.35E3,1.27E3,760.,326.,165.,45.8,17.8,4.53,1.68,.769,.405,.147,.0668,.0163,.00613,.00163,6.72E-4,3.51E-4,2.11E-4,1.01E-4,5.91E-5,2.50E-5,1.53E-5,8.23E-6,5.51E-6,4.10E-6,3.25E-6,2.29E-6,1.76E-6,1.11E-6,8.11E-7,5.26E-7,3.89E-7,3.08E-7,2.56E-7,1.90E-7,1.52E-7/
DATA XPEM2/222.2,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# M3 SHELL
DATA YPEM3/4.90E5,4.54E5,4.11E5,3.07E5,2.16E5,1.74E5,1.49E5,1.27E5,1.11E5,4.88E4,2.55E4,9.36E3,4.36E3,2.34E3,1.38E3,586.,294.,79.8,30.5,7.55,2.73,1.23,.636,.224,.0995,.0231,.00842,.00216,8.81E-4,4.61E-4,2.81E-4,1.38E-4,8.36E-5,3.76E-5,2.30E-5,1.24E-5,8.28E-6,6.17E-6,4.89E-6,3.44E-6,2.65E-6,1.67E-6,1.22E-6,7.91E-7,5.85E-7,4.64E-7,3.84E-7,2.86E-7,2.28E-7/
DATA XPEM3/214.4,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# M4 SHELL
DATA YPEM4/2.17E5,2.89E5,3.62E5,5.68E5,8.00E5,1.17E6,1.44E6,1.71E6,1.74E6,1.68E6,1.37E6,1.06E6,8.07E5,4.04E5,2.08E5,1.42E5,1.09E5,8.31E4,6.73E4,1.88E4,7.16E3,1.71E3,588.,251.,123.,38.9,15.6,2.82,.819,.140,.0394,.0147,.00659,.00187,.000710,.000127,3.91E-5,8.04E-6,2.82E-6,1.30E-6,7.15E-7,2.99E-7,1.62E-7,6.33E-8,3.88E-8,2.08E-8,1.39E-8,1.04E-8,8.24E-9,5.80E-9,4.46E-9,2.82E-9,2.05E-9,1.33E-9,9.84E-10,7.81E-10,6.47E-10,4.82E-10,3.84E-10/
DATA XPEM4/95.0,101.8,108.6,115.4,122.2,135.8,149.,176.,203.,230.,298.,366.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# M5 SHELL
DATA YPEM5/3.25E5,4.34E5,5.43E5,8.52E5,1.20E6,1.76E6,2.16E6,2.56E6,2.61E6,2.53E6,2.06E6,1.58E6,1.19E6,5.96E5,3.05E5,2.08E5,1.60E5,1.22E5,9.83E4,2.73E4,1.04E4,2.46E3,843.,358.,175.,55.0,21.9,3.92,1.12,.189,.0525,.0193,.00853,.00237,.000889,.000156,4.78E-5,9.95E-6,3.57E-6,1.73E-6,1.01E-6,4.51E-7,2.63E-7,1.09E-7,6.68E-8,3.59E-8,2.40E-8,1.79E-8,1.42E-8,1.04E-8,7.68E-9,4.85E-9,3.54E-9,2.29E-9,1.69E-9,1.35E-9,1.11E-9,8.29E-10,6.61E-10/
DATA XPEM5/93.8,100.6,107.4,114.2,121.0,134.6,149.,176.,203.,230.,298.,366.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# N1 SHELL
DATA YPEN1/3.4E3,2.75E4,8.9E4,1.29E5,1.53E5,1.72E5,1.62E5,1.42E5,1.19E5,1.02E5,8.0E4,4.52E4,2.70E4,1.71E4,1.13E4,9.07E3,7.78E3,6.64E3,5.88E3,2.86E3,1.67E3,760.,423.,265.,179.,94.3,56.5,21.5,10.5,3.66,1.69,.915,.549,.242,.127,.0389,.0168,.00523,.00237,.00132,8.36E-4,4.29E-4,2.67E-4,1.24E-4,7.60E-5,4.08E-5,2.73E-5,2.03E-5,1.61E-5,1.14E-5,8.73E-6,5.52E-6,4.03E-6,2.61E-6,1.93E-6,1.53E-6,1.27E-6,9.44E-7,7.52E-7/
DATA XPEN1/27.5,34.3,41.1,47.9,54.7,68.3,81.7,109.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# N2 SHELL
DATA YPEN2/1.47E7,1.51E7,1.48E7,1.37E7,1.07E7,8.87E6,5.80E6,3.17E6,1.56E6,8.33E5,4.93E5,3.30E5,2.49E5,2.08E5,1.75E5,1.42E5,9.00E4,5.2E4,4.80E4,4.16E4,3.33E4,2.28E4,1.50E4,1.01E4,8.01E3,6.81E3,5.74E3,5.00E3,2.19E3,1.15E3,431.,204.,111.,66.2,28.7,14.6,4.06,1.58,.404,.150,.0688,.0363,.0132,.00600,.00146,5.51E-4,1.46E-4,6.03E-5,3.14E-5,1.90E-5,9.01E-6,5.30E-6,2.24E-6,1.37E-6,7.38E-7,4.93E-7,3.67E-7,2.91E-7,2.05E-7,1.36E-8/
DATA XPEN2/14.666,16.0,18.0,20.0,24.0,26.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,80.0,96.0,132.,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E8/
# N3 SHELL
DATA YPEN3/29.5E7,3.02E7,2.95E7,2.73E7,2.15E7,1.77E7,1.16E7,6.33E6,3.11E6,1.67E6,9.87E5,6.59E5,4.99E5,4.15E5,3.50E5,2.84E5,1.8E5,1.04E5,9.6E4,8.32E4,6.67E4,4.60E4,2.99E4,1.98E4,1.56E4,1.32E4,1.11E4,9.67E3,4.18E3,2.17E3,801.,374.,202.,119.,50.7,25.5,6.95,2.67,.662,.240,.108,.0560,.0198,.00879,.00205,7.45E-4,1.91E-4,7.81E-5,4.09E-5,2.49E-5,1.22E-5,7.44E-6,3.37E-6,2.07E-6,1.11E-6,7.42E-7,5.53E-7,4.38E-7,3.09E-7,2.04E-8/
DATA XPEN3/13.9996,16.0,18.0,20.0,24.0,26.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,80.0,96.0,132.,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XENE/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAY/861.9,861.2,860.4,858.1,855.0,851.0,846.3,834.6,820.7,776.6,726.0,625.3,539.9,471.2,415.0,327.3,261.5,159.7,108.7,61.54, 39.47,27.32,20.06,12.24,8.281,3.975,2.319,1.068,.6111,.3949, .2758,.1561,.1002,.09596,.06426,.04467,.02516,.02409,.01119, 6.296D-3, 4.030D-3,2.799D-3,2.056D-3,1.574D-3,1.244D-3,1.008D-3,4.366D-4,2.456D-4,1.092D-4,6.141D-5,3.930D-5,2.729D-5,1.535D-5,9.825D-6/
DATA YCOM/7.696D-3,.01705,.03005,.06694,.1178,.1818,.2579,.4424, .6620,1.304, 1.995,3.334,4.548,5.610,6.532,8.078,9.364,11.81,13.46,15.33,16.23,16.64,16.77,16.63,16.27,15.17,14.14,12.49,11.26,10.32,9.572,8.429,7.588,7.508,6.790,6.175,5.272,5.207,4.149,3.462,2.990,2.643,2.375,2.162,1.987,1.841,1.363,1.094,.7964,.6329, .5283,.4552,.3590,.2979/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAP/34*1.E-20,1.437D-2,.07008,.2552,.2737,.6887,1.089, 1.443,1.753,2.031,2.281,2.510,2.718,3.486,4.074,4.911,5.470,5.863,6.215,6.672,7.015/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFR/1.0,.99972,.99914,.99819,.99678,.99497,.9928,.9872,.9806,.9628, .9411,.9289,.8961,.8614,.8264,.7925,.7306,.6775,.5925,.5228,.4594,.4008,.3489,.3044,.2682,.2076,.1751,.1385,.1086,.0860,.06344,.05469,.03719,.03106,.02684,.02350,.01682,.007156,.003261,1.552D-4,2.919D-5,1.323D-5,6.572D-9,8.97D-18,1.46D-16/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFC/2.8D-22,2.5D-4,9.7D-4,.002164,.003825,.005942,.008489,.01480,.02256,.04151, .0635,.07508,.1046,.1335,.1613,.1878,.2374,.2822,.3564,.4158,.4681,.5156,.5589,.5983,.6333,.7056,.7586,.8297,.8758,.9072,.9281,.9422,.9600,.9717,.9800,.9861,.9936,.99903,.99983,1.0,1.0,1.0,1.0,1.0,1.0/
# KRYPTON ATOMIC NUMBER
IZ[1]=36
AMZ[1]=83.798
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC DATA
DO 21 J=1,33
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*1.E-24)
21 CONTINUE
DO 22 J=1,40
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*1.E-24)
22 CONTINUE
DO 23 J=1,40
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*1.E-24)
23 CONTINUE
DO 24 J=1,40
XPE[1][4][J]=math.log(XPEL3[J])
YPE[1][4][J]=math.log(YPEL3[J]*1.E-24)
24 CONTINUE
DO 25 J=1,48
XPE[1][5][J]=math.log(XPEM1[J])
YPE[1][5][J]=math.log(YPEM1[J]*1.E-24)
25 CONTINUE
DO 26 J=1,49
XPE[1][6][J]=math.log(XPEM2[J])
YPE[1][6][J]=math.log(YPEM2[J]*1.E-24)
26 CONTINUE
DO 27 J=1,49
XPE[1][7][J]=math.log(XPEM3[J])
YPE[1][7][J]=math.log(YPEM3[J]*1.E-24)
27 CONTINUE
DO 28 J=1,59
XPE[1][8][J]=math.log(XPEM4[J])
YPE[1][8][J]=math.log(YPEM4[J]*1.E-24)
28 CONTINUE
DO 29 J=1,59
XPE[1][9][J]=math.log(XPEM5[J])
YPE[1][9][J]=math.log(YPEM5[J]*1.E-24)
29 CONTINUE
DO 30 J=1,59
XPE(1,10,J)=math.log(XPEN1[J])
YPE(1,10,J)=math.log(YPEN1[J]*1.E-24)
30 CONTINUE
DO 31 J=1,60
XPE(1,11,J)=math.log(XPEN2[J])
YPE(1,11,J)=math.log(YPEN2[J]*1.E-24)
31 CONTINUE
DO 32 J=1,60
XPE(1,12,J)=math.log(XPEN3[J])
YPE(1,12,J)=math.log(YPEN3[J]*1.E-24)
32 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 33 J=1,54
XCP[1][J]=math.log(XENE[J])
YRY[1][J]=math.log(YRAY[J]*1.E-24)
YCP[1][J]=math.log(YCOM[J]*1.E-24)
YPP[1][J]=math.log(YPAP[J]*1.E-24)
33 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 34 J=1,45
FFAR[1][J]=FFR[J]
FFAC[1][J]=FFC[J]
34 CONTINUE
return
# end
def CGAS7(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(30),YPEK(30),XPEL1(36),YPEL1(36),XPEL2(37),YPEL2(37),XPEL3(37),YPEL3(37),XPEM1(41),YPEM1(41),XPEM2(41),YPEM2(41),XPEM3(42),YPEM3(42),XPEM4(45),YPEM4(45),XPEM5(45),YPEM5(45),XPEN1(49),YPEN1(49),XPEN2(50),YPEN2(50),XPEN3(51),YPEN3(51),XPEN4(59),YPEN4(59),XPEN5(59),YPEN5(59),XPEO1(59),YPEO1(59),XPEO2(60),YPEO2(60),XPEO3(60),YPEO3(60),XENE(54),YRAY(54),YCOM(54),YPAP(54),FFR(45),FFC(45)
#
# XENON DATA FOR CASCADE CALCULATIONS
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,4,2,2,4,4,6,2,2,4,4,6,2,2,4/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/43.6,23.7,26.2,25.4,11.7,12.1,11.7,12.8,12.6,6.0,5.8,5.6,5.0,4.9,1.7,1.2,1.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/.001,.023,.032,.061,.073,0.11,0.22,0.22,0.32,0.23,0.37,0.73,1.65,2.46,1.67,3.73,8.39,0.00,.001,.002,.005,.028,.038,.082,0.16,0.24,0.14,0.22,0.36,1.63,2.46,1.48,3.36,7.76,0.00,.003,.002,.009,.032,.052,0.10,0.18,0.27,0.15,0.24,0.50,1.67,2.51,1.50,3.41,7.86,0.00,.003,.003,.006,.030,.045,.099,0.17,0.26,0.15,0.23,0.48,1.66,2.50,1.49,3.39,7.83,0.00,0.00,0.00,0.00,.001,.004,.009,.017,.027,.075,0.11,0.25,1.05,1.62,1.36,3.12,7.31,0.00,0.00,0.00,0.00,.003,.002,.011,.020,.032,.075,0.12,0.26,1.08,1.66,1.36,3.14,7.33,0.00,0.00,0.00,0.00,.003,.004,.007,.017,.028,.072,0.11,0.25,1.05,1.61,1.36,3.12,7.31,0.00,0.00,0.00,0.00,.004,.005,.014,.023,.047,.079,0.12,0.27,1.15,1.75,1.37,3.15,7.35,0.00,0.00,0.00,0.00,.004,.006,.013,.028,.037,.078,0.12,0.27,1.13,1.75,1.37,3.14,7.35,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.005,.017,.043,0.33,0.53,1.09,2.70,6.45,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.008,.008,.039,0.31,0.49,1.06,2.57,6.39,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.007,.014,.025,0.28,0.45,1.04,2.63,6.34,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.005,.010,.025,0.17,0.36,0.96,2.51,6.09,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.004,.009,.024,0.21,0.29,0.95,2.50,6.06,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.006,.010,0.14,1.13,3.05,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.002,.004,0.19,0.43,2.35,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.002,.003,0.17,0.76,1.60/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/.0348,.0791,.0494,.0819,.160,.144,.258,.205,.300,.376,.417,.784,1.56,2.32,2.09,3.88,8.51/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K L M AND N SHELLS
# CHEN+CRASEMANN,ANDT 24(1979)13, FOR K AND L SHELLS
# MCGUIRE,SANDIA REPORTS, FOR M AND N SHELLS
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/3.740/,A[1][2][3]/4.524/,A[1][2][4]/5.393/,A[1][2][5]/1.340/,A[1][2][6]/0.867/,A[1][2][7]/1.046/,A[1][2][8]/0.074/,A[1][2][9]/0.078/,A[1,2,10]/0.293/,A[1,2,11]/0.179/,A[1,2,12]/0.215/,A[1,2,15]/0.045/,A[1,2,16]/0.022/,A[1,2,17]/0.025/
DATA A[1][3][3]/0.558/,A[1][3][4]/11.635/,A[1][3][5]/0.673/,A[1][3][6]/0.191/,A[1][3][7]/1.874/,A[1][3][8]/0.088/,A[1][3][9]/0.287/,A[1,3,10]/0.142/,A[1,3,11]/0.039/,A[1,3,12]/0.372/,A[1,3,14]/0.053/,A[1,3,15]/0.021/,A[1,3,17]/0.043/
DATA A[1][4][4]/5.864/,A[1][4][5]/0.797/,A[1][4][6]/1.842/,A[1][4][7]/1.943/,A[1][4][8]/0.311/,A[1][4][9]/0.318/,A[1,4,10]/0.167/,A[1,4,11]/0.367/,A[1,4,12]/0.388/,A[1,4,13]/0.058/,A[1,4,14]/0.059/,A[1,4,15]/0.026/,A[1,4,16]/0.044/,A[1,4,17]/0.045/
DATA A[1][5][5]/0.119/,A[1][5][6]/0.131/,A[1][5][7]/0.154/,A[1,5,10]/0.052/,A[1,5,11]/0.027/,A[1,5,12]/0.032/,A[1][6][7]/0.301/,A[1,6,10]/0.028/,A[1,6,12]/0.060/,A[1][7][7]/0.163/,A[1][7][8]/0.041/,A[1][7][9]/0.041/,A[1,7,10]/0.033/,A[1,7,11]/0.061/,A[1,7,12]/0.065/
# L1 SHELL RATE (MILLIATOMIC UNITS)
DATA A[2,3,10]/7.052/,A[2,3,11]/5.055/,A[2,3,12]/6.396/,A[2,3,13]/1.751/,A[2,3,14]/2.869/,A[2,3,15]/1.038/,A[2,3,16]/0.556/,A[2,3,17]/0.686/
DATA A[2,4,10]/9.422/,A[2,4,11]/4.167/,A[2,4,12]/7.694/,A[2,4,13]/8.024/,A[2,4,14]/10.40/,A[2,4,15]/1.385/,A[2,4,16]/0.473/,A[2,4,17]/0.880/
DATA A[2][5][5]/1.715/,A[2][5][6]/3.423/,A[2][5][7]/6.315/,A[2][5][8]/4.969/,A[2][5][9]/7.119/,A[2,5,10]/0.636/,A[2,5,11]/0.688/,A[2,5,12]/1.261/,A[2,5,13]/0.793/,A[2,5,14]/1.132/,A[2,5,15]/0.097/,A[2,5,16]/0.084/,A[2,5,17]/0.149/
DATA A[2][6][7]/0.136/,A[2][6][8]/0.147/,A[2][6][9]/1.890/,A[2,6,10]/0.508/,A[2,6,13]/0.024/,A[2,6,14]/0.197/,A[2,6,15]/0.073/
DATA A[2][7][7]/0.143/,A[2][7][8]/1.290/,A[2][7][9]/0.891/,A[2,7,10]/0.937/,A[2,7,12]/0.044/,A[2,7,13]/0.116/,A[2,7,15]/0.135/
DATA A[2][8][8]/0.285/,A[2][8][9]/10.175/,A[2,8,10]/0.712/,A[2,8,11]/0.038/,A[2,8,12]/0.255/,A[2,8,13]/0.090/,A[2,8,14]/1.191/,A[2,8,15]/0.102/
DATA A[2][9][9]/2.873/,A[2,9,10]/1.011/,A[2,9,11]/0.342/,A[2,9,12]/0.185/,A[2,9,13]/1.138/,A[2,9,14]/0.703/,A[2,9,15]/0.146/,A[2,9,16]/0.041/
DATA A[2,10,10]/0.056/,A[2,10,11]/0.103/,A[2,10,12]/0.189/,A[2,10,13]/0.112/,A[2,10,14]/0.160/,A[2,10,17]/0.022/
DATA A[2,11,14]/0.038/,A[2,11,17]/0.027/,A[2,13,14]/0.147/,A[2,14,14]/0.046/
# L2 AUGER SHELL RATE (MILLIATOMIC UNITS)
DATA A[3,4,10]/1.260/,A[3,4,11]/5.499/,A[3,4,12]/1.934/,A[3,4,13]/7.131/,A[3,4,14]/2.659/,A[3,4,15]/0.176/,A[3,4,16]/0.645/,A[3,4,17]/0.228/
DATA A[3][5][5]/0.113/,A[3][5][6]/2.762/,A[3][5][7]/0.258/,A[3][5][8]/0.228/,A[3][5][9]/0.388/,A[3,5,11]/0.382/,A[3,5,12]/0.046/,A[3,5,13]/0.025/,A[3,5,16]/0.044/
DATA A[3][6][6]/2.718/,A[3][6][7]/8.442/,A[3][6][8]/4.636/,A[3][6][9]/7.878/,A[3,6,10]/0.612/,A[3,6,11]/0.939/,A[3,6,12]/1.656/,A[3,6,13]/0.738/,A[3,6,14]/1.253/,A[3,6,15]/0.095/,A[3,6,16]/0.112/,A[3,6,17]/0.195/
DATA A[3][7][7]/0.223/,A[3][7][8]/5.422/,A[3][7][9]/0.727/,A[3,7,10]/0.050/,A[3,7,11]/1.221/,A[3,7,12]/0.074/,A[3,7,13]/0.746/,A[3,7,14]/0.094/,A[3,7,16]/0.141/
DATA A[3][8][8]/5.092/,A[3][8][9]/21.648/,A[3,8,10]/0.050/,A[3,8,11]/0.664/,A[3,8,12]/1.008/,A[3,8,13]/1.384/,A[3,8,14]/3.146/,A[3,8,16]/0.077/,A[3,8,17]/0.118/
DATA A[3][9][9]/1.031/,A[3,9,11]/1.005/,A[3,9,12]/0.125/,A[3,9,13]/2.513/,A[3,9,14]/0.274/,A[3,9,16]/0.114/
DATA A[3,10,11]/0.086/,A[3,11,11]/0.078/,A[3,11,12]/0.239/,A[3,11,13]/0.105/,A[3,11,14]/0.162/,A[3,12,13]/0.140/,A[3,13,13]/0.379/
# L3 AUGER SHELL RATE (MILLIATOMIC UNITS)
DATA A[4][5][5]/0.135/,A[4][5][6]/0.092/,A[4][5][7]/2.942/,A[4][5][8]/0.300/,A[4][5][9]/0.343/,A[4,5,12]/0.407/
DATA A[4][6][7]/4.935/,A[4][6][8]/0.327/,A[4][6][9]/2.893/,A[4,6,12]/0.705/,A[4,6,14]/0.376/
DATA A[4][7][7]/6.897/,A[4][7][8]/7.051/,A[4][7][9]/10.607/,A[4,7,10]/0.645/,A[4,7,11]/0.943/,A[4,7,12]/2.335/,A[4,7,13]/1.084/,A[4,7,14]/1.611/,A[4,7,15]/0.101/,A[4,7,16]/0.114/,A[4,7,17]/0.270/
DATA A[4][8][8]/1.037/,A[4][8][9]/19.841/,A[4,8,10]/0.060/,A[4,8,11]/0.064/,A[4,8,12]/0.944/,A[4,8,13]/0.282/,A[4,8,14]/2.322/,A[4,8,17]/0.105/
DATA A[4][9][9]/13.486/,A[4,9,10]/0.072/,A[4,9,11]/0.523/,A[4,9,12]/1.592/,A[4,9,13]/2.728/,A[4,9,14]/3.516/,A[4,9,16]/0.063/,A[4,9,17]/0.181/
DATA A[4,10,12]/0.090/,A[4,11,12]/0.137/,A[4,11,14]/0.070/,A[4,12,12]/0.193/,A[4,12,13]/0.146/,A[4,12,14]/0.240/,A[4,12,17]/0.044/,A[4,13,14]/0.333/,A[4,14,14]/0.233/
# M SHELL AUGER RATE (10**-4 ATOMIC UNITS)
DATA A[5,6,13]/300.0/,A[5,6,14]/453.0/,A[5,6,15]/38.0/,A[5,6,16]/33.6/,A[5,6,17]/68.7/
DATA A[5,7,11]/396.0/,A[5,7,12]/732.0/,A[5,7,13]/213.0/,A[5,7,14]/337.0/,A[5,7,15]/59.1/,A[5,7,16]/55.3/,A[5,7,17]/108.0/
DATA A[5,8,10]/155.0/,A[5,8,11]/23.4/,A[5,8,12]/13.0/,A[5,8,13]/39.3/,A[5,8,14]/55.9/,A[5,8,15]/15.5/,A[5,8,16]/2.67/,A[5,8,17]/1.60/
DATA A[5,9,10]/233.0/,A[5,9,11]/6.96/,A[5,9,12]/47.6/,A[5,9,13]/55.9/,A[5,9,14]/86.9/,A[5,9,15]/23.3/,A[5,9,16]/0.88/,A[5,9,17]/5.52/
DATA A[5,10,10]/20.7/A[5,10,11]/18.2/,A[5,10,12]/36.4/,A[5,10,13]/30.8/,A[5,10,14]/46.1/,A[5,10,15]/3.06/,A[5,10,16]/2.39/,A[5,10,17]/4.78/
DATA A[5,11,11]/0.92/,A[5,11,12]/2.22/,A[5,11,13]/1.34/,A[5,11,14]/0.84/,A[5,11,15]/1.92/,A[5,11,16]/0.20/,A[5,11,17]/0.24/
DATA A[5,12,12]/2.95/,A[5,12,13]/1.28/,A[5,12,14]/3.09/,A[5,12,15]/3.84/,A[5,12,16]/0.24/,A[5,12,17]/0.65/
DATA A[5,13,13]/0.34/,A[5,13,14]/2.36/,A[5,13,15]/3.43/,A[5,13,16]/0.13/,A[5,13,17]/0.13/
DATA A[5,14,14]/1.10/,A[5,14,15]/5.14/,A[5,14,16]/0.091/,A[5,14,17]/0.30/
DATA A[5,15,15]/0.43/,A[5,15,16]/0.26/,A[5,15,17]/0.53/,A[5,16,16]/0.011/,A[5,16,17]/0.024/,A[5,17,17]/0.035/
DATA A[6,7,15]/16.8/,A[6,7,16]/16.4/,A[6,7,17]/21.0/
DATA A[6,8,10]/188.0/,A[6,8,11]/224.0/,A[6,8,12]/407.0/,A[6,8,13]/77.4/,A[6,8,14]/81.7/,A[6,8,15]/31.5/,A[6,8,16]/25.8/,A[6,8,17]/49.5/
DATA A[6,9,10]/45.1/,A[6,9,11]/277.0/,A[6,9,12]/34.8/,A[6,9,13]/5.43/,A[6,9,14]/14.0/,A[6,9,15]/5.05/,A[6,9,16]/27.7/,A[6,9,17]/4.08/
DATA A[6,10,10]/1.59/,A[6,10,11]/18.2/,A[6,10,12]/3.51/,A[6,10,13]/0.77/,A[6,10,14]/2.36/,A[6,10,15]/0.38/,A[6,10,16]/1.37/,A[6,10,17]/0.38/
DATA A[6,11,11]/13.5/,A[6,11,12]/45.7/,A[6,11,13]/31.6/,A[6,11,14]/54.4/,A[6,11,15]/3.08/,A[6,11,16]/2.80/,A[6,11,17]/5.51/
DATA A[6,12,12]/1.07/,A[6,12,13]/4.10/,A[6,12,14]/2.76/,A[6,12,15]/0.35/,A[6,12,16]/3.91/,A[6,12,17]/0.21/
DATA A[6,13,13]/1.13/,A[6,13,14]/3.67/,A[6,13,15]/0.097/,A[6,13,16]/2.94/,A[6,13,17]/0.39/
DATA A[6,14,14]/0.82/,A[6,14,15]/0.279/,A[6,14,16]/5.17/,A[6,14,17]/0.26/
DATA A[6,15,15]/0.026/,A[6,15,16]/0.301/,A[6,15,17]/0.046/,A[6,16,16]/0.15/,A[6,16,17]/0.53/,A[6,17,17]/0.023/
DATA A[7,8,10]/57.2/,A[7,8,11]/36.6/,A[7,8,12]/236.0/,A[7,8,13]/29.4/,A[7,8,14]/17.7/,A[7,8,15]/7.45/,A[7,8,16]/4.82/,A[7,8,17]/27.0/
DATA A[7,9,10]/222.0/,A[7,9,11]/223.0/,A[7,9,12]/555.0/,A[7,9,13]/81.9/,A[7,9,14]/162.0/,A[7,9,15]/37.4/,A[7,9,16]/30.4/,A[7,9,17]/77.5/
DATA A[7,10,10]/1.59/,A[7,10,11]/1.76/,A[7,10,12]/19.9/,A[7,10,13]/1.49/,A[7,10,14]/1.63/,A[7,10,15]/0.38/,A[7,10,16]/0.19/,A[7,10,17]/1.56/
DATA A[7,11,11]/0.38/,A[7,11,12]/23.1/,A[7,11,13]/0.61/,A[7,11,14]/2.82/,A[7,11,15]/0.17/,A[7,11,16]/0.075/,A[7,11,17]/1.99/
DATA A[7,12,12]/36.7/,A[7,12,13]/37.2/,A[7,12,14]/52.2/,A[7,12,15]/3.25/,A[7,12,16]/2.78/,A[7,12,17]/7.59/
DATA A[7,13,13]/0.33/,A[7,13,14]/3.11/,A[7,13,15]/0.177/,A[7,13,16]/0.057/,A[7,13,17]/3.53/
DATA A[7,14,14]/2.17/,A[7,14,15]/0.198/,A[7,14,16]/0.26/,A[7,14,17]/4.90/
DATA A[7,15,15]/0.026/,A[7,15,16]/0.023/,A[7,15,17]/0.324/,A[7,16,16]/0.004/,A[7,16,17]/0.266/,A[7,17,17]/0.421/
DATA A[8,10,10]/0.012/,A[8,10,11]/1.25/,A[8,10,12]/0.88/,A[8,10,13]/20.5/,A[8,10,14]/2.96/,A[8,10,15]/0.009/,A[8,10,16]/0.123/,A[8,10,17]/0.065/
DATA A[8,11,11]/0.56/,A[8,11,12]/4.25/,A[8,11,13]/17.8/,A[8,11,14]/2.16/,A[8,11,15]/0.133/,A[8,11,16]/0.079/,A[8,11,17]/0.297/
DATA A[8,12,12]/1.55/,A[8,12,13]/43.0/,A[8,12,14]/2.02/,A[8,12,15]/0.090/,A[8,12,16]/0.398/,A[8,12,17]/0.284/
DATA A[8,13,13]/36.8/,A[8,13,14]/86.3/,A[8,13,15]/4.70/,A[8,13,16]/3.10/,A[8,13,17]/7.24/
DATA A[8,14,14]/13.5/,A[8,14,15]/0.35/,A[8,14,16]/0.24/,A[8,14,17]/0.25/
DATA A[8,15,15]/0.0008/,A[8,15,16]/0.015/,A[8,15,17]/0.008/,A[8,16,16]/0.0072/,A[8,16,17]/0.0479/,A[8,17,17]/0.0169/
DATA A[9,10,10]/0.012/,A[9,10,11]/0.35/,A[9,10,12]/1.78/,A[9,10,13]/1.97/,A[9,10,14]/21.5/,A[9,10,15]/0.009/,A[9,10,16]/0.022/,A[9,10,17]/0.166/
DATA A[9,11,11]/0.025/,A[9,11,12]/3.46/,A[9,11,13]/0.36/,A[9,11,14]/22.4/,A[9,11,15]/0.035/,A[9,11,16]/0.003/,A[9,11,17]/0.334/
DATA A[9,12,12]/2.88/,A[9,12,13]/2.42/,A[9,12,14]/3.98/,A[9,12,15]/0.188/,A[9,12,16]/0.266/,A[9,12,17]/0.455/
DATA A[9,13,13]/5.90/,A[9,13,14]/63.7/,A[9,13,15]/0.23/,A[9,13,16]/0.051/,A[9,13,17]/0.274/
DATA A[9,14,14]/66.9/,A[9,14,15]/4.82/,A[9,14,16]/3.74/,A[9,14,17]/6.76/
DATA A[9,15,15]/0.0008/,A[9,15,16]/0.003/,A[9,15,17]/0.021/,A[9,16,16]/0.0003/,A[9,16,17]/0.0380/,A[9,17,17]/0.0388/
# N SHELL AUGER RATES (10**-4 ATOMIC UNITS)
DATA A[10,11,15]/98.5/,A[10,11,16]/80.3/,A[10,11,17]/229.0/
DATA A[10,12,15]/197.0/,A[10,12,16]/229.0/,A[10,12,17]/389.0/
DATA A[10,13,13]/11.6/,A[10,13,14]/295.0/,A[10,13,15]/74.7/,A[10,13,16]/12.4/,A[10,13,17]/64.2/
DATA A[10,14,14]/91.4/,A[10,14,15]/112.0/,A[10,14,16]/51.4/,A[10,14,17]/63.5/
DATA A[10,15,15]/5.72/,A[10,15,16]/5.83/,A[10,15,17]/11.7/
DATA A[10,16,16]/0.53/,A[10,16,17]/1.95/,A[10,17,17]/2.04/
DATA A[11,13,15]/171.0/,A[11,13,16]/152.0/,A[11,13,17]/394.0/
DATA A[11,14,15]/25.2/,A[11,14,16]/139.0/,A[11,14,17]/35.9/
DATA A[11,15,15]/0.390/,A[11,15,16]/8.04/,A[11,15,17]/1.05/
DATA A[11,16,16]/4.14/,A[11,16,17]/13.7/,A[11,17,17]/0.42/
DATA A[12,13,15]/32.2/,A[12,13,16]/26.9/,A[12,13,17]/133.0/
DATA A[12,14,15]/164.0/,A[12,14,16]/188.0/,A[12,14,17]/374.0/
DATA A[12,15,15]/0.390/,A[12,15,16]/0.53/,A[12,15,17]/8.56/
DATA A[12,16,16]/0.15/,A[12,16,17]/6.98/,A[12,17,17]/11.1/
DATA A[13,15,15]/6.00/,A[13,15,16]/2.69/,A[13,15,17]/3.41/
DATA A[13,16,16]/3.13/,A[13,16,17]/10.7/,A[13,17,17]/4.21/
DATA A[14,15,15]/6.00/,A[14,15,16]/1.60/,A[14,15,17]/4.50/
DATA A[14,16,16]/0.59/,A[14,16,17]/7.55/,A[14,17,17]/9.90/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/2.88E-4/,R(1,3)/2.842/,R(1,4)/5.26/,R(1,5)/7.93E-5/,R(1,6)/0.494/,R(1,7)/0.958/,R(1,8)/4.87E-3/,R(1,9)/6.66E-3/,R(1,10)/1.86E-5/,R(1,11)/.0986/,R(1,12)/.1916/,R(1,13)/8.588E-4/,R(1,14)/1.2882E-3/,R(1,16)/.01057/,R(1,17)/.02113/
# L1 SHELL
DATA R(2,3)/7.12E-5/,R(2,4)/1.341E-3/,R(2,5)/6.67E-8/,R(2,6)/.0498/,R(2,7)/.0785/,R(2,8)/7.42E-4/,R(2,9)/1.109E-3/,R(2,10)/2.37E-8/,R(2,11)/.01074/R(2,12)/.01737/,R(2,13)/9.03E-5/,R(2,14)/1.372E-4/,R(2,15)/3.87E-9/,R(2,16)/1.221E-3/,R(2,17)/1.897E-3/
# L2 SHELL
DATA R(3,4)/2.17E-7/,R(3,5)/6.49E-3/,R(3,6)/1.84E-8/,R(3,7)/1.001E-4/,R(3,8)/.2312/,R(3,9)/1.92E-6/,R(3,10)/1.431E-3/,R(3,11)/5.58E-9/,R(3,12)/2.22E-5/,R(3,13)/.0345/,R(3,14)/3.13E-7/,R(3,15)/2.146E-4/,R(3,16)/6.70E-10/,R(3,17)/2.43E-6/
# L3 SHELL
DATA R(4,5)/8.22E-3/,R(4,6)/4.98E-5/,R(4,7)/4.63E-5/,R(4,8)/.02188/,R(4,9)/.1939/,R(4,10)/1.789E-3/,R(4,11)/1.04E-5/,R(4,12)/9.99E-6/,R(4,13)/3.18E-3/,R(4,14)/.02838/,R(4,15)/2.677E-4/,R(4,16)/1.18E-6/,R(4,17)/1.09E-6/
# RADIATIVE TRANSITIONS MANSON AND KENNEDY ANDT 14(1974)111
# DIPOLE ONLY NON-RELATIVISTIC CALC. UNITS 1/SEC
# M1 SHELL
DATA R(5,6)/6.3377E10/,R(5,7)/1.26753E11/,R(5,11)/1.8393E12/,R(5,12)/3.6785E12/,R(5,16)/2.2512E11/,R(5,17)/4.5023E11/
DATA R(6,8)/8.8395E10/,R(6,9)/1.3259E11/,R(6,10)/2.8247E11/,R(6,13)/5.7349E11/,R(6,14)/8.6023E11/,R(6,15)/4.2237E10/
DATA R(7,8)/1.7679E11/,R(7,9)/2.6518E11/,R(7,10)/5.6494E11/,R(7,13)/1.1470E12/,R(7,14)/1.7205E12/,R(7,15)/8.4473E10/
DATA R(8,11)/4.6363E10/,R(8,12)/9.2725E10/,R(8,16)/4.9477E9/,R(8,17)/9.8955E9/
DATA R(9,11)/6.9544E10/,R(9,12)/1.3909E11/,R(9,16)/7.4216E9/,R(9,17)/1.4843E10/
DATA R(10,11)/1.7296E10/,R(10,12)/3.4593E10/,R(10,16)/1.8626E10/,R(10,17)/3.7251E10/
DATA R(11,13)/2.6747E10/,R(11,14)/4.012E10/,R(11,15)/1.2116E10/
DATA R(12,13)/5.3493E10/,R(12,14)/8.024E10/,R(12,15)/2.4233E10/
DATA R(13,16)/1.5247E9/,R(13,17)/3.0493E9/,R(14,16)/2.287E9/,R(14,17)/4.574E9/,R(15,16)/1.5316E9/,R(15,17)/3.0633E9/
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : KUTZNER ET AL PHYS REV A40(1989)5052
# : KENNEDY AND MANSON PHYS REV A5(1972)227
# : SCOFIELD UCRL-51326
# : WEST AND MORTON ANDT 22(1978)103
# : SAMSON AND STOLTE J.ELEC.SPEC. 123(2002)265
# : CHAN ET AL PHYS REV A46(1992)149
# KSHELL
DATA YPEK/5920.,4040.,2262.,1381.,626.,335.,106.,46.7,15.1,6.95,3.93,2.52,1.31,.817,.378,.231,.123,.0816,.0607,.0479,.0335,.0259,.0160,.0117,.00749,.00553,.00438,.00363,.00271,.00215/
DATA XPEK/34561.,4.0E4,5.0E4,6.0E4,8.E4,1.E5,1.5E5,2.E5,3.E5,4.E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEL1/2.34E4,1.97E4,1.19E4,7.80E3,3.42E3,1.82E3,712.,353.,202.,126.,59.1,32.4,10.7,4.82,1.59,.746,.424,.273,.142,.0887,.0409,.0250,.0133,.00883,.00657,.00518,.00362,.00280,.00174,.00126,.000810,.000598,.000474,.000393,.000293,.000232/
DATA XPEL1/5453.,6.0E3,8.0E3,1.E4,1.5E4,2.E4,3.E4,4.E4,5.E4,6.E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEL2/4.62E4,4.10E4,3.25E4,1.49E4,7.91E3,2.40E3,999.,279.,111.,53.4,29.3,11.3,5.42,1.43,.567,.160,.0686,.0367,.0225,.0109,.00653,.00282,.00172,.000916,.000609,.000453,.000357,.000250,.000193,.000120,8.70E-5,5.59E-5,4.12E-5,3.27E-5,2.71E-5,2.02E-5,1.60E-5/
DATA XPEL2/5107.,5455.,6000.,8000.,1.E4,1.5E4,2.E4,3.E4,4.E4,5.E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEL3/9.85E4,9.25E4,5.74E4,2.53E4,1.32E4,3.86E3,1.56E3,417.,160.,75.0,40.2,14.9,6.89,1.71,.645,.173,.072,.0381,.0233,.0114,.0069,.00306,.00187,.000994,.000660,.000491,.000388,.000271,.000209,.000130,9.44E-5,6.06E-5,4.47E-5,3.55E-5,2.94E-5,2.19E-5,1.74E-5/
DATA XPEL3/4786.,5000.,6000.,8000.,1.E4,1.5E4,2.E4,3.E4,4.E4,5.E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5, 1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEM1/6.72E4,4.87E4,3.22E4,1.65E4,9.91E3,6.55E3,4.62E3,2.61E3,1.65E3,692.,363.,140.,69.3,39.5,24.7,11.6,6.38,2.11,.956,.317,.148,.0844,.0543,.0283,.0177,.00814,.00497,.00264,.00176,.00131,.00103,7.21E-4,5.57E-4,3.46E-4,2.51E-4,1.61E-4,1.19E-4,9.44E-5,7.82E-5,5.84E-5,4.63E-5/
DATA XPEM1/1148.7,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEM2/1.20E5,6.99E4,4.49E4,2.12E4,1.16E4,7.05E3,4.58E3,2.24E3,1.25E3,411.,179.,52.7,21.5,10.6,5.89,2.32,1.12,.301,.120,.0343,.0147,.0079,.00486,.00237,.00141,6.11E-4,3.73E-4,1.98E-4,1.32E-4,9.81E-5,7.74E-5,5.42E-5,4.18E-5,2.59E-5,1.89E-5,1.21E-5,8.93E-6,7.09E-6,5.87E-6,4.38E-6,3.47E-6/
DATA XPEM2/1002.1,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEM3/2.85E5,2.58E5,1.48E5,9.05E4,4.06E4,2.16E4,1.28E4,8.17E3,3.89E3,2.13E3,672.,284.,80.0,31.5,15.1,8.19,3.09,1.44,.364,.139,.0375,.0157,.00830,.00509,.00249,.00151,6.67E-4,4.07E-4,2.17E-4,1.44E-4,1.07E-4,8.45E-5,5.91E-5,4.57E-5,2.83E-5,2.06E-5,1.32E-5,9.75E-6,7.74E-6,6.41E-6,4.78E-6,3.79E-6/
DATA XPEM3/940.6,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEM4/1.37E6,1.02E6,8.11E5,6.60E5,5.58E5,2.01E5,8.88E4,2.59E4,1.02E4,4.81E3,2.56E3,915.,402.,85.5,27.5,5.35,1.64,.649,.305,.0924,.0368,.00713,.00230,.000501,.000181,8.53E-5,4.78E-5,2.04E-5,1.10E-5,4.20E-6,2.56E-6,1.36E-6,9.06E-7,6.75E-7,5.32E-7,3.72E-7,2.87E-7,1.78E-7,1.30E-7,8.32E-8,6.14E-8,4.87E-8,4.06E-8,3.01E-8,2.39E-8/
DATA XPEM4/689.,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEM5/2.20E6,1.48E6,1.19E6,9.68E5,8.15E5,2.90E5,1.27E5,3.66E4,1.43E4,6.70E3,3.54E3,1.25E3,547.,114.,36.3,6.88,2.07,.806,.373,.110,.0433,.00815,.00259,.000561,.000208,.000102,5.86E-5,2.66E-5,1.57E-5,6.43E-6,3.92E-6,2.09E-6,1.39E-6,1.03E-6,8.15E-7,5.70E-7,4.40E-7,2.73E-7,1.98E-7,1.27E-7,9.40E-8,7.46E-8,6.18E-8,4.61E-8,3.66E-8/
DATA XPEM5/676.4,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEN1/1.65E5,1.33E5,9.75E4,6.86E4,4.85E4,3.97E4,3.46E4,2.99E4,2.67E4,1.37E4,8.27E3,3.97E3,2.31E3,1.50E3,1.05E3,585.,367.,153.,79.7,30.7,15.2,8.66,5.42,2.55,1.40,.463,.210,.0696,.0326,.0186,.0119,.00622,.00388,.00179,.00109,5.81E-4,3.86E-4,2.87E-4,2.27E-4,1.59E-4,1.23E-4,7.60E-5,5.52E-5,3.55E-5,2.62E-5,2.08E-5,1.72E-5,1.28E-5,1.02E-5/
DATA XPEN1/213.2,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEN2/1.29E5,1.23E5,1.06E5,8.97E4,6.97E4,5.24E4,4.41E4,3.89E4,3.41E4,3.08E4,1.60E4,9.50E3,4.27E3,2.31E3,1.39E3,905.,443.,248.,82.2,36.0,10.7,4.38,2.16,1.21,.477,.231,.0623,.0249,.00713,.00306,.00164,.00101,4.93E-4,2.94E-4,1.27E-4,7.75E-5,4.12E-5,2.74E-5,2.04E-5,1.61E-5,1.13E-5,8.69E-6,5.39E-6,3.92E-6,2.52E-6,1.86E-6,1.47E-6,1.22E-6,9.10E-7,7.22E-7/
DATA XPEN2/146.7,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEN3/3.85E5,3.75E5,3.37E5,2.86E5,2.21E5,1.61E5,1.16E5,9.58E4,8.36E4,7.23E4,6.46E4,3.21E4,1.85E4,8.03E3,4.23E3,2.50E3,1.60E3,766.,421.,134.,56.9,16.2,6.41,3.08,1.67,.633,.296,.0748,.0286,.00774,.00324,.00172,.00105,5.17E-4,3.12E-4,1.38E-4,8.42E-5,4.48E-5,2.98E-5,2.22E-5,1.75E-5,1.22E-5,9.45E-6,5.86E-6,4.26E-6,2.73E-6,2.02E-6,1.60E-6,1.33E-6,9.89E-7,7.84E-7/
DATA XPEN3/145.5,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEN4/5.08E5,4.60E5,5.00E6,8.00E6,9.60E6,8.60E6,4.60E6,9.20E5,2.94E5,1.02E5,2.48E5,3.12E5,3.00E5,2.14E5,1.43E5,1.12E5,9.32E4,7.69E4,6.60E4,2.56E4,1.21E4,3.81E3,1.58E3,769.,418.,154.,69.1,15.2,4.96,.981,.303,.121,.0570,.0174,.00696,.00135,4.38E-4,9.55E-5,3.45E-5,1.63E-5,9.14E-6,3.88E-6,2.11E-6,7.87E-7,4.80E-7,2.56E-7,1.70E-7,1.26E-7,9.97E-8,6.98E-8,5.39E-8,3.34E-8,2.43E-8,1.56E-8,1.15E-8,9.13E-9,7.56E-9,5.64E-9,4.47E-9/
DATA XPEN4/69.5,76.3,83.1,89.9,96.7,110.3,123.9,151.1,178.3,205.5,273.5,341.5,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEN5/7.62E5,6.90E5,7.50E6,1.20E7,1.44E7,1.29E7,6.90E7,1.38E6,4.40E5,1.53E5,3.72E5,4.67E5,4.54E5,3.19E5,2.11E5,1.64E5,1.36E5,1.12E5,9.63E4,3.68E4,1.72E4,5.38E3,2.21E3,1.07E3,577.,211.,93.6,20.2,6.51,1.26,.380,.149,.0692,.0206,.00810,.00153,4.90E-4,1.07E-4,3.94E-5,1.93E-5,1.12E-5,5.12E-6,2.94E-6,1.24E-6,7.57E-7,4.03E-7,2.68E-7,1.99E-7,1.57E-7,1.10E-7,8.49E-8,5.35E-8,3.83E-8,2.46E-8,1.81E-8,1.44E-8,1.19E-8,8.89E-9,7.05E-9/
DATA XPEN5/67.5,74.3,81.1,87.9,94.7,108.3,121.9,149.1,176.3,203.5,271.5,339.5,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E8,1.0E8/
DATA YPEO1/5.00E5,1.80E5,6.00E4,2.00E5,5.00E5,7.50E5,8.50E5,6.00E5,4.00E4,7.00E3,2.00E4,2.50E4,1.88E4,1.22E4,8.20E3,6.58E3,5.67E3,4.85E3,4.33E3,2.14E3,1.28E3,604.,349.,226.,157.,87.5,54.8,22.9,12.0,4.61,2.28,1.30,.813,.382,.210,.0695,.0315,.0105,.00490,.00279,.00179,9.33E-4,5.84E-4,2.69E-4,1.64E-4,8.74E-5,5.81E-5,4.32E-5,3.41E-5,2.38E-5,1.84E-5,1.14E-5,8.30E-6,5.33E-6,3.93E-6,3.12E-6,2.58E-6,1.93E-6,1.53E-6/
DATA XPEO1/23.3,30.0,40.0,50.0,70.0,80.0,90.0,100.0,130.0,160.0,190.,250.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEO2/2.20E7,1.20E7,2.5E6,6.5E5,4.0E5,2.2E5,3.3E5,6.0E5,5.5E5,6.0E4,2.5E4,2.71E4,1.87E4,1.30E4,9.15E3,6.54E3,5.37E3,4.69E3,4.07E3,3.63E3,1.82E3,1.07E3,475.,255.,154.,102.,49.8,28.0,9.26,4.06,1.21,.495,.245,.137,.054,.0262,.00704,.00282,8.06E-4,3.47E-4,1.86E-4,1.14E-4,5.57E-5,3.33E-5,1.44E-5,8.79E-6,4.68E-6,3.11E-6,2.31E-6,1.82E-6,1.28E-6,9.86E-7,6.11E-7,4.44E-7,2.85E-7,2.11E-7,1.67E-7,1.38E-7,1.03E-7,8.18E-8/
DATA XPEO2/13.43,20.0,30.0,40.0,50.0,60.0,80.0,90.0,100.,130.,150.,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
DATA YPEO3/4.40E7,2.40E7,5.0E6,1.3E6,8.0E5,4.4E5,6.6E5,1.2E6,1.1E6,1.2E5,5.0E4,5.42E4,3.74E4,2.60E4,1.83E4,1.33E4,1.07E4,9.38E3,8.14E3,7.26E3,3.64E3,2.14E3,950.,510.,308.,204.,99.6,56.0,18.5,8.12,2.42,.990,.490,.274,.108,.0524,.01408,.00564,1.62E-3,6.94E-4,3.72E-4,2.28E-4,1.12E-4,6.66E-5,2.88E-5,1.76E-5,9.35E-6,6.22E-6,4.63E-6,3.65E-6,2.55E-6,1.97E-6,1.22E-6,8.89E-7,5.71E-7,4.21E-7,3.34E-7,2.77E-7,2.06E-7,1.64E-7/
DATA XPEO3/12.129843,20.0,30.0,40.0,50.0,60.0,80.0,90.0,100.,130.,150.,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL DATA TABLES A7(1970)565
DATA XENE/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAY/1939.,1938.,1936.,1930.,1923.,1914.,1902.,1877.,1844.,1744.,1631.,1413.,1229.,1078.,952.3,755.3,613.6,403.8,288.3,164.5, 107.1,76.13,56.90,35.05,23.74,11.55,6.836,3.192,1.839,1.193, .8365,.4755,.3061,.2932,.1967,.1369,.07712,.07390,.03436,.01934,.01238,8.599D-3,6.318D-3,4.838D-3,3.823D-3,3.096D-3,1.292D-3, 7.268D-4,3.229D-4,1.817D-4,1.163D-4,8.073D-5,4.542D-5,2.906D-5/
DATA YCOM/.01126,.02527,.04472,.09970,.1751,.2695,.3812,.6491, .9629,1.858, 2.801,4.628,6.265,7.664,8.876,10.96,12.75,16.22,18.50,21.21,22.64,23.40,23.78,23.90,23.57,22.22,20.83,18.52,16.76,15.40,14.30,12.61,11.36,11.24,10.17,9.252,7.902,7.805,6.222,5.191,4.484,3.964,3.563,3.243,2.981,2.762,2.044,1.641,1.195,.9493, .7924,.6828,.5385,.4469/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAP/34*1.E-20,4.173D-2,.19300,.6478,.6918,1.628,2.496, 3.247,3.895,4.472,4.993,5.465,5.899,7.429,8.685,10.46,11.59,12.51,13.23,14.25,14.97/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFR/1.0,.99978,.99913,.99809,.99661,.99470,.9924,.9867,.9794,.9613, .9391,.9267,.8941,.8604,.8270,.7950,.7372,.6872,.6026,.5298,.4676,.4169,.3772,.3463,.3215,.2715,.2265,.1533,.1126,.09657,.08052,.07033,.04998,.03619,.02807,.02498,.01881,.01213,.006993,5.581D-4, 1.226D-4,5.913D-5,4.711D-8,1.29D-16,3.96D-25/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFC/1.9D-22,2.41D-4,9.63D-4,.002152,.003802,.005894,.008406,.01458,.02211,.04015,.06054,.07113,.09769,.1236,.1487,.1730,.2180,.2572,.3206,.3735,.4228,.4689,.5115,.5496,.5831,.6485,.6969,.7681,.8189,.8565,.8856,.9080,.9383,.9559,.9667,.9739,.9837,.9954,.9987,.99998,1.0,1.0,1.0,1.0,1.0/
# XENON ATOMIC NUMBER
IZ[1]=54
AMZ[1]=131.293
# CONVERT SHAKE OFF FROM % TO PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC DATA
DO 21 J=1,30
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*1.E-24)
21 CONTINUE
DO 22 J=1,36
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*1.E-24)
22 CONTINUE
DO 23 J=1,37
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*1.E-24)
23 CONTINUE
DO 24 J=1,37
XPE[1][4][J]=math.log(XPEL3[J])
YPE[1][4][J]=math.log(YPEL3[J]*1.E-24)
24 CONTINUE
DO 25 J=1,41
XPE[1][5][J]=math.log(XPEM1[J])
YPE[1][5][J]=math.log(YPEM1[J]*1.E-24)
25 CONTINUE
DO 26 J=1,41
XPE[1][6][J]=math.log(XPEM2[J])
YPE[1][6][J]=math.log(YPEM2[J]*1.E-24)
26 CONTINUE
DO 27 J=1,42
XPE[1][7][J]=math.log(XPEM3[J])
YPE[1][7][J]=math.log(YPEM3[J]*1.E-24)
27 CONTINUE
DO 28 J=1,45
XPE[1][8][J]=math.log(XPEM4[J])
YPE[1][8][J]=math.log(YPEM4[J]*1.E-24)
28 CONTINUE
DO 29 J=1,45
XPE[1][9][J]=math.log(XPEM5[J])
YPE[1][9][J]=math.log(YPEM5[J]*1.E-24)
29 CONTINUE
DO 30 J=1,49
XPE(1,10,J)=math.log(XPEN1[J])
YPE(1,10,J)=math.log(YPEN1[J]*1.E-24)
30 CONTINUE
DO 31 J=1,50
XPE(1,11,J)=math.log(XPEN2[J])
YPE(1,11,J)=math.log(YPEN2[J]*1.E-24)
31 CONTINUE
DO 32 J=1,51
XPE(1,12,J)=math.log(XPEN3[J])
YPE(1,12,J)=math.log(YPEN3[J]*1.E-24)
32 CONTINUE
DO 33 J=1,59
XPE(1,13,J)=math.log(XPEN4[J])
YPE(1,13,J)=math.log(YPEN4[J]*1.E-24)
33 CONTINUE
DO 34 J=1,59
XPE(1,14,J)=math.log(XPEN5[J])
YPE(1,14,J)=math.log(YPEN5[J]*1.E-24)
34 CONTINUE
DO 35 J=1,59
XPE(1,15,J)=math.log(XPEO1[J])
YPE(1,15,J)=math.log(YPEO1[J]*1.E-24)
35 CONTINUE
DO 36 J=1,60
XPE(1,16,J)=math.log(XPEO2[J])
YPE(1,16,J)=math.log(YPEO2[J]*1.E-24)
36 CONTINUE
DO 37 J=1,60
XPE(1,17,J)=math.log(XPEO3[J])
YPE(1,17,J)=math.log(YPEO3[J]*1.E-24)
37 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 38 J=1,54
XCP[1][J]=math.log(XENE[J])
YRY[1][J]=math.log(YRAY[J]*1.E-24)
YCP[1][J]=math.log(YCOM[J]*1.E-24)
YPP[1][J]=math.log(YPAP[J]*1.E-24)
38 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 39 J=1,45
FFAR[1][J]=FFR[J]
FFAC[1][J]=FFC[J]
39 CONTINUE
# end
def CGAS8(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION INIOCH(17),PRBSHH(17,17),ESHH(17),RH(17,17),AH(17,17,17),PRBSHBTH(17)
DIMENSION XPEK(49),YPEK(49),XPEL1(54),YPEL1(54),XPEL2(54),YPEL2(54),XCOMC(54),YRAYC(54),YCOMC(54),YPAPC(54),FFRC(45),FFCC(45)
DIMENSION XPEKH(54),YPEKH(54),XCOMH(54),YRAYH(54),YCOMH(54),YPAPH(54),FFRH(45),FFCH(45)
#
#
# CH4 DATA FOR CASCADE CALCULATIONS
#
# CARBON DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/10.00,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/0.20,3.00,9.00,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,238*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/2.74,12.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.858/,A[1][2][3]/0.824/,A[1][3][3]/0.378/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/1.50E-14/,R(1,3)/3.45E-5/,R(1,4)/6.88E-5/
# L1 SHELL
DATA R(2,3)/1.20E-7/,R(2,4)/2.41E-7/
# L2 SHELL
DATA R(3,4)/1.55E-21/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/9.26E5,7.98E5,4.81E5,2.35E5,1.21E5,8.42E4,6.57E4,5.09E4,4.20E4,1.33E4,5.73E3,1.70E3,707.,354.,200.,80.4,39.3,10.6,4.12,1.08,.415,.197,.107,.0411,.0195,.00512,.00201,5.64E-4,2.41E-4,1.29E-4,8.05E-5,4.06E-5,2.52E-5,1.19E-5,7.51E-6,4.21E-6,2.90E-6,2.20E-6,1.77E-6,1.27E-6,9.93E-7,6.39E-7,4.71E-7,3.08E-7,2.29E-7,1.82E-7,1.51E-7,1.13E-7,9.01E-8/
DATA XPEK/285.0,300.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/1.35E7,1.50E6,4.00E5,2.21E5,1.70E5,1.14E5,4.58E4,2.07E4,1.02E4,5.34E3,3.76E3,2.97E3,2.32E3,1.93E3,635.,280.,85.1,35.7,18.0,10.3,4.16,2.05,.554,.217,.0571,.0220,.0105,.00570,.00218,.00104, 2.72E-4,1.07E-4,3.00E-5,1.28E-5,6.88E-6,4.28E-6,2.16E-6,1.34E-6,6.37E-7,4.02E-7,2.26E-7,1.55E-7,1.18E-7,9.49E-8,6.82E-8,5.32E-8,3.42E-8,2.52E-8,1.65E-8,1.23E-8,9.75E-9,8.10E-9,6.05E-9,4.82E-9/
DATA XPEL1/18.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/1.35E7,9.0E5,1.50E5,7.81E4,5.15E4,2.79E4,7.59E3,2.49E3,924.,383.,239.,173.,124.,94.6,20.7,6.75,1.36,.432,.176,.0841, .0259,.0103,.00189,5.64E-4,1.02E-4,3.06E-5,1.20E-5,5.63E-6,1.72E-6,6.96E-7,1.40E-7,4.69E-8,1.10E-8,4.26E-9,2.16E-9,1.29E-9,6.20E-10,3.76E-10,1.82E-10,1.15E-10,6.45E-11,4.44E-11,3.37E-11,2.71E-11,1.95E-11,1.52E-11,9.77E-12,7.20E-12,4.71E-12,3.50E-12,2.79E-12,2.31E-12,1.73E-12,1.38E-12/
DATA XPEL2/6.40,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
DATA XCOMC/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYC/23.94,23.90,24.85,23.72,23.53,23.31,23.03,22.37,21.52,19.12,16.59,12.22,9.179,7.170,5.819,4.181,3.232,1.952,1.292,.6711, .4079,.2734,.1956,.1139,.07418,.03360,.01903,8.504D-3,4.792D-3, 3.070D-3, 2.133D-3,1.200D-3,7.682D-4,7.355D-4,4.917D-4,3.415D-4,1.921D-4,1.839D-4,8.539D-5,4.803D-5,3.074D-5,2.135D-5,1.568D-5,1.201D-5,9.488D-6,7.685D-6,3.415D-6,1.921D-6,8.537D-7,4.802D-7,3.073D-7,2.134D-7,1.200D-7,7.682D-8/
DATA YCOMC/3.044D-3,6.469D-3,.01140,.02518,.04448,.06870,.09764, .1680,.2519,.5001, .7702,1.278,1.685,1.984,2.202,2.497,2.697,3.012,3.182,3.300,3.296,3.250,3.188,3.054,2.924,2.647,2.431,2.118,1.899,1.735,1.605,1.410,1.268,1.255,1.134,1.031,.8795,.8687,.6920,.5772,.4985,.4406,.3960,.3604,.3313,.3069,.2272,.1823,.1327,.1055, .08805,.07586,.05983,.04966/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPC/34*1.E-20,2.870D-4,1.594D-3,6.356D-3,6.852D-3,.01844, .03054, .04163,.05178,.06095,.06928,.07690,.08388,.1108,.1310,.1597,.1802,.1958,.2080,.2263,.2401/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRC/1.0,.99957,.99830,.9962,.9932,.9895,.9848,.9735,.9590,.9228,.8783,.8538,.7902,.7218,.6562,.5962,.4935,.4170,.3252,.2810,.2558,.2375,.2202,.2027,.1853,.1441,.1094,.0620,.03577,.02147,.01341,.008705,.004055,.002108,.001191,7.198D-4,3.06D-4,6.295D-5, 2.027D-5,5.398D-7,8.455D-8,3.52D-8,5.993D-12,2.767D-21,2.80D-30/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCC/1.7D-21,6.317D-4,.002165,.004922,.008607,.01341,.01928,.03358,.05143,.0948,.1459,.1732,.2413,.3110,.3755,.4340,.5330,.6072,.6973,.7463,.7817,.8130,.8418,.8680,.8913,.9358,.9635,.9883,.9962,.9987,.99947,.99977,.99995,.99998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# CARBON ATOMIC NUMBER
IZ[1]=6
AMZ[1]=12.0107
#
# ATOMIC HYDROGEN DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCH/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESHH/17*0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTH/17*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKH/6.41E6,2.18E6,1.93E4,8.10E3,5.31E3,2.86E3,765.,251.,96.6,41.9,26.7,19.7,14.4,11.4,2.93,1.11,.281,.105,.0491,.0263,.00982,.00456,.00113,4.18E-4,1.03E-4,3.82E-5,1.77E-5,9.46E-6,3.52E-6,1.64E-6,4.18E-7,1.61E-7,4.41E-8,1.86E-8,9.93E-9,6.16E-9,3.12E-9,1.96E-9,9.73E-10,6.20E-10,3.52E-10,2.44E-10,1.87E-10,1.51E-10,1.09E-10,8.50E-11,5.49E-11,4.06E-11,2.66E-11,1.98E-11,1.58E-11,1.31E-11,9.79E-12,7.81E-12/
DATA XPEKH/13.598,20.,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMH/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YCOMH/9.552D-4,2.144D-3,3.802D-3,8.494D-3,1.496D-2,2.310D-2,3.279D-2,5.629D-2,8.424D-2,0.1650,.2478,.3822,.4675,.5187,.5503,.5840,.5993,.6095,.6068,.5924,.5759,.5597,.5444,.5166,.4923,.4435,.4064,.3535,.3168,.2893,.2676,.2351,.2114,.2092,.1890,.1718,.1466,.1448,.1153,.0962,.08308,.07343,.0660,.06007,.05522,.05116,.03786,.03039,.02212,.01758,.01467,.01264,.009972,.008276/
DATA YRAYH/.6650,.6635,.6617,.6569,.6503,.6421,.6323,.6087,.5806,.4984,.4142,.2764,.1881,.1341,.09987,.06126,.04121,.01943,.01119,.005062,.002866,.001840,.001280,7.211D-4,4.619D-4,2.054D-4,1.156D-4,5.138D-5,2.890D-5,1.850D-5,1.285D-5,7.226D-6,4.625D-6,4.428D-6,2.960D-6,2.056D-6,1.156D-6,1.107D-6,5.139D-7,2.891D-7,1.850D-7,1.285D-7,9.439D-8,7.227D-8,5.710D-8,4.625D-8,2.056D-8,1.156D-8,5.139D-9,2.890D-9,1.850D-9,1.284D-9,7.222D-10,4.620D-10/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPH/34*1.E-20,7.805D-6,4.385D-5,1.758D-4,1.895D-4,5.451D-4,9.849D-4,1.430D-3,1.859D-3,2.260D-3,2.634D-3,2.984D-3,3.308D-3,4.61D-3,5.61D-3,7.08D-3,8.13D-3,8.98D-3,9.65D-3,1.074D-2,1.161D-2/
# RAYLEIGH FORM FACTOR Hubbel
DATA FFRH/1.0,.9994,.9978,.9950,.9912,.9863,.9804,.9655,.9469,.8999,.8424,.8108,.7271,.6413,.5581,.4808,.3497,.2513,.1304,.07059,.04032,.02429,.01533,.01009,.006881,.002995,.001494,4.890D-4,2.035D-4,9.902D-5,5.373D-5,3.160D-5,1.300D-5,6.282D-6,3.395D-6,1.992D-6,8.168D-7,1.615D-7,5.112D-8,1.309D-9,1.998D-10,8.182D-11,8.182D-15,8.182D-27,8.182D-39/
# COMPTON FORM FACTOR Hubbel
DATA FFCH/1.E-20,.001105,.004410,.009888,.01749,.02717,.03883,.06773,.1033,.1902,.2904,.3426,.4713,.5887,.6885,.7689,.8777,.9369,.9830,.9950,.9984,.9994,.9998,.9999,.99995,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HYDROGEN ATOMIC NUMBER
IZ[2]=1
AMZ[2]=4.03176
#
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
PRSHBT[2][I]=PRBSHBTH[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
PRBSHH[I][J]=PRBSHH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
PRSUMH=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
PRSH[2][I][J]=PRBSHH[J][I]
# PRSUMH=PRSUMH+PRSH[2][I][J]
# PRSUM=PRSUM+PRSH[1][I][J]
# WRITE(6,888) I,PRSUM,PRSUMH
# 888 print(' I=',I3,' PRSUM=','%.3f' %,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
ESH[2][I]=ESHH[I]
INIOCC[1][I]=INIOC[I]
INIOCC[2][I]=INIOCH[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.0272105
4 AUG[2][I][J][K]=AH[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.00272105
5 AUG[2][I][J][K]=AH[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
R[I][J]=R[I][J]*6.582119D-16
12 RH[I][J]=RH[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
RAD[1][I][J]=R[I][J]
13 RAD[2][I][J]=RH[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
#
# LOAD CARBON PHOTOELECTRIC AND COMPTON DATA
DO 21 J=1,49
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*1.E-24)
21 CONTINUE
DO 22 J=1,54
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*1.E-24)
22 CONTINUE
DO 23 J=1,54
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*1.E-24)
23 CONTINUE
# LOAD HYDROGEN PHOTOELECTRIC AND COMPTON DATA
DO 24 J=1,54
XPE[2][1][J]=math.log(XPEKH[J])
# ALLOW FOR 4 HYDROGEN ATOMS
YPE[2][1][J]=math.log(YPEKH[J]*4.0*1.E-24)
24 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 25 J=1,54
XCP[1][J]=math.log(XCOMC[J])
XCP[2][J]=math.log(XCOMH[J])
YRY[1][J]=math.log(YRAYC[J]*1.E-24)
YRY[2][J]=math.log(YRAYH[J]*4.0*1.E-24)
YCP[1][J]=math.log(YCOMC[J]*1.E-24)
YCP[2][J]=math.log(YCOMH[J]*4.0*1.E-24)
YPP[1][J]=math.log(YPAPC[J]*1.E-24)
YPP[2][J]=math.log(YPAPH[J]*4.0*1.E-24)
25 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 29 J=1,45
FFAR[1][J]=FFRC[J]
FFAR[2][J]=FFRH[J]
FFAC[1][J]=FFCC[J]
FFAC[2][J]=FFCH[J]
29 CONTINUE
return
# end
def CGAS9(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION INIOCH(17),PRBSHH(17,17),ESHH(17),RH(17,17),AH(17,17,17),PRBSHBTH(17)
DIMENSION XPEK(49),YPEK(49),XPEL1(54),YPEL1(54),XPEL2(54),YPEL2(54),XCOMC(54),YRAYC(54),YCOMC(54),YPAPC(54),FFRC(45),FFCC(45)
DIMENSION XPEKH(54),YPEKH(54),XCOMH(54),YRAYH(54),YCOMH(54),YPAPH(54),FFRH(45),FFCH(45)
#
#
# C2H6 DATA FOR CASCADE CALCULATION
#
# CARBON DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/10.00,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/0.20,3.00,9.00,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,238*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/2.74,12.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.858/,A[1][2][3]/0.824/,A[1][3][3]/0.378/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/1.50E-14/,R(1,3)/3.45E-5/,R(1,4)/6.88E-5/
# L1 SHELL
DATA R(2,3)/1.20E-7/,R(2,4)/2.41E-7/
# L2 SHELL
DATA R(3,4)/1.55E-21/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/9.26E5,7.98E5,4.81E5,2.35E5,1.21E5,8.42E4,6.57E4,5.09E4,4.20E4,1.33E4,5.73E3,1.70E3,707.,354.,200.,80.4,39.3,10.6,4.12,1.08,.415,.197,.107,.0411,.0195,.00512,.00201,5.64E-4,2.41E-4,1.29E-4,8.05E-5,4.06E-5,2.52E-5,1.19E-5,7.51E-6,4.21E-6,2.90E-6,2.20E-6,1.77E-6,1.27E-6,9.93E-7,6.39E-7,4.71E-7,3.08E-7,2.29E-7,1.82E-7,1.51E-7,1.13E-7,9.01E-8/
DATA XPEK/285.0,300.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/1.35E7,1.50E6,4.00E5,2.21E5,1.70E5,1.14E5,4.58E4,2.07E4,1.02E4,5.34E3,3.76E3,2.97E3,2.32E3,1.93E3,635.,280.,85.1,35.7,18.0,10.3,4.16,2.05,.554,.217,.0571,.0220,.0105,.00570,.00218,.00104, 2.72E-4,1.07E-4,3.00E-5,1.28E-5,6.88E-6,4.28E-6,2.16E-6,1.34E-6,6.37E-7,4.02E-7,2.26E-7,1.55E-7,1.18E-7,9.49E-8,6.82E-8,5.32E-8,3.42E-8,2.52E-8,1.65E-8,1.23E-8,9.75E-9,8.10E-9,6.05E-9,4.82E-9/
DATA XPEL1/18.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/1.35E7,9.0E5,1.50E5,7.81E4,5.15E4,2.79E4,7.59E3,2.49E3,924.,383.,239.,173.,124.,94.6,20.7,6.75,1.36,.432,.176,.0841, .0259,.0103,.00189,5.64E-4,1.02E-4,3.06E-5,1.20E-5,5.63E-6,1.72E-6,6.96E-7,1.40E-7,4.69E-8,1.10E-8,4.26E-9,2.16E-9,1.29E-9,6.20E-10,3.76E-10,1.82E-10,1.15E-10,6.45E-11,4.44E-11,3.37E-11,2.71E-11,1.95E-11,1.52E-11,9.77E-12,7.20E-12,4.71E-12,3.50E-12,2.79E-12,2.31E-12,1.73E-12,1.38E-12/
DATA XPEL2/6.40,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
DATA XCOMC/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYC/23.94,23.90,24.85,23.72,23.53,23.31,23.03,22.37,21.52,19.12,16.59,12.22,9.179,7.170,5.819,4.181,3.232,1.952,1.292,.6711, .4079,.2734,.1956,.1139,.07418,.03360,.01903,8.504D-3,4.792D-3, 3.070D-3, 2.133D-3,1.200D-3,7.682D-4,7.355D-4,4.917D-4,3.415D-4,1.921D-4,1.839D-4,8.539D-5,4.803D-5,3.074D-5,2.135D-5,1.568D-5,1.201D-5,9.488D-6,7.685D-6,3.415D-6,1.921D-6,8.537D-7,4.802D-7,3.073D-7,2.134D-7,1.200D-7,7.682D-8/
DATA YCOMC/3.044D-3,6.469D-3,.01140,.02518,.04448,.06870,.09764, .1680,.2519,.5001, .7702,1.278,1.685,1.984,2.202,2.497,2.697,3.012,3.182,3.300,3.296,3.250,3.188,3.054,2.924,2.647,2.431,2.118,1.899,1.735,1.605,1.410,1.268,1.255,1.134,1.031,.8795,.8687,.6920,.5772,.4985,.4406,.3960,.3604,.3313,.3069,.2272,.1823,.1327,.1055, .08805,.07586,.05983,.04966/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPC/34*1.E-20,2.870D-4,1.594D-3,6.356D-3,6.852D-3,.01844, .03054, .04163,.05178,.06095,.06928,.07690,.08388,.1108,.1310,.1597,.1802,.1958,.2080,.2263,.2401/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRC/1.0,.99957,.99830,.9962,.9932,.9895,.9848,.9735,.9590,.9228,.8783,.8538,.7902,.7218,.6562,.5962,.4935,.4170,.3252,.2810,.2558,.2375,.2202,.2027,.1853,.1441,.1094,.0620,.03577,.02147,.01341,.008705,.004055,.002108,.001191,7.198D-4,3.06D-4,6.295D-5, 2.027D-5,5.398D-7,8.455D-8,3.52D-8,5.993D-12,2.767D-21,2.80D-30/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCC/1.7D-21,6.317D-4,.002165,.004922,.008607,.01341,.01928,.03358,.05143,.0948,.1459,.1732,.2413,.3110,.3755,.4340,.5330,.6072,.6973,.7463,.7817,.8130,.8418,.8680,.8913,.9358,.9635,.9883,.9962,.9987,.99947,.99977,.99995,.99998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# CARBON ATOMIC NUMBER
IZ[1]=6
AMZ[1]=24.0214
#
# ATOMIC HYDROGEN DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCH/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESHH/17*0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTH/17*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKH/6.41E6,2.18E6,1.93E4,8.10E3,5.31E3,2.86E3,765.,251.,96.6,41.9,26.7,19.7,14.4,11.4,2.93,1.11,.281,.105,.0491,.0263,.00982,.00456,.00113,4.18E-4,1.03E-4,3.82E-5,1.77E-5,9.46E-6,3.52E-6,1.64E-6,4.18E-7,1.61E-7,4.41E-8,1.86E-8,9.93E-9,6.16E-9,3.12E-9,1.96E-9,9.73E-10,6.20E-10,3.52E-10,2.44E-10,1.87E-10,1.51E-10,1.09E-10,8.50E-11,5.49E-11,4.06E-11,2.66E-11,1.98E-11,1.58E-11,1.31E-11,9.79E-12,7.81E-12/
DATA XPEKH/13.598,20.,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMH/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YCOMH/9.552D-4,2.144D-3,3.802D-3,8.494D-3,1.496D-2,2.310D-2,3.279D-2,5.629D-2,8.424D-2,0.1650,.2478,.3822,.4675,.5187,.5503,.5840,.5993,.6095,.6068,.5924,.5759,.5597,.5444,.5166,.4923,.4435,.4064,.3535,.3168,.2893,.2676,.2351,.2114,.2092,.1890,.1718,.1466,.1448,.1153,.0962,.08308,.07343,.0660,.06007,.05522,.05116,.03786,.03039,.02212,.01758,.01467,.01264,.009972,.008276/
DATA YRAYH/.6650,.6635,.6617,.6569,.6503,.6421,.6323,.6087,.5806,.4984,.4142,.2764,.1881,.1341,.09987,.06126,.04121,.01943,.01119,.005062,.002866,.001840,.001280,7.211D-4,4.619D-4,2.054D-4,1.156D-4,5.138D-5,2.890D-5,1.850D-5,1.285D-5,7.226D-6,4.625D-6,4.428D-6,2.960D-6,2.056D-6,1.156D-6,1.107D-6,5.139D-7,2.891D-7,1.850D-7,1.285D-7,9.439D-8,7.227D-8,5.710D-8,4.625D-8,2.056D-8,1.156D-8,5.139D-9,2.890D-9,1.850D-9,1.284D-9,7.222D-10,4.620D-10/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPH/34*1.E-20,7.805D-6,4.385D-5,1.758D-4,1.895D-4,5.451D-4,9.849D-4,1.430D-3,1.859D-3,2.260D-3,2.634D-3,2.984D-3,3.308D-3,4.61D-3,5.61D-3,7.08D-3,8.13D-3,8.98D-3,9.65D-3,1.074D-2,1.161D-2/
# RAYLEIGH FORM FACTOR Hubbel
DATA FFRH/1.0,.9994,.9978,.9950,.9912,.9863,.9804,.9655,.9469,.8999,.8424,.8108,.7271,.6413,.5581,.4808,.3497,.2513,.1304,.07059,.04032,.02429,.01533,.01009,.006881,.002995,.001494,4.890D-4,2.035D-4,9.902D-5,5.373D-5,3.160D-5,1.300D-5,6.282D-6,3.395D-6,1.992D-6,8.168D-7,1.615D-7,5.112D-8,1.309D-9,1.998D-10,8.182D-11,8.182D-15,8.182D-27,8.182D-39/
# COMPTON FORM FACTOR Hubbel
DATA FFCH/1.E-20,.001105,.004410,.009888,.01749,.02717,.03883,.06773,.1033,.1902,.2904,.3426,.4713,.5887,.6885,.7689,.8777,.9369,.9830,.9950,.9984,.9994,.9998,.9999,.99995,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HYDROGEN ATOMIC NUMBER
IZ[2]=1
AMZ[2]=6.04764
#
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
PRSHBT[2][I]=PRBSHBTH[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
PRBSHH[I][J]=PRBSHH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
PRSUMH=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
PRSH[2][I][J]=PRBSHH[J][I]
# PRSUMH=PRSUMH+PRSH[2][I][J]
# PRSUM=PRSUM+PRSH[1][I][J]
# WRITE(6,888) I,PRSUM,PRSUMH
# 888 print(' I=',I3,' PRSUM=','%.3f' %,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
ESH[2][I]=ESHH[I]
INIOCC[1][I]=INIOC[I]
INIOCC[2][I]=INIOCH[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.0272105
4 AUG[2][I][J][K]=AH[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.00272105
5 AUG[2][I][J][K]=AH[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
R[I][J]=R[I][J]*6.582119D-16
12 RH[I][J]=RH[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
RAD[1][I][J]=R[I][J]
13 RAD[2][I][J]=RH[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
#
# LOAD CARBON PHOTOELECTRIC AND COMPTON DATA
# ALLOW FOR 2 CARBON ATOMS
DO 21 J=1,49
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*2.0*1.E-24)
21 CONTINUE
DO 22 J=1,54
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*2.0*1.E-24)
22 CONTINUE
DO 23 J=1,54
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*2.0*1.E-24)
23 CONTINUE
# LOAD HYDROGEN PHOTOELECTRIC AND COMPTON DATA
DO 24 J=1,54
XPE[2][1][J]=math.log(XPEKH[J])
# ALLOW FOR 6 HYDROGEN ATOMS
YPE[2][1][J]=math.log(YPEKH[J]*6.0*1.E-24)
24 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 25 J=1,54
XCP[1][J]=math.log(XCOMC[J])
XCP[2][J]=math.log(XCOMH[J])
YRY[1][J]=math.log(YRAYC[J]*2.0*1.E-24)
YRY[2][J]=math.log(YRAYH[J]*6.0*1.E-24)
YCP[1][J]=math.log(YCOMC[J]*2.0*1.E-24)
YCP[2][J]=math.log(YCOMH[J]*6.0*1.E-24)
YPP[1][J]=math.log(YPAPC[J]*2.0*1.E-24)
YPP[2][J]=math.log(YPAPH[J]*6.0*1.E-24)
25 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 29 J=1,45
FFAR[1][J]=FFRC[J]
FFAR[2][J]=FFRH[J]
FFAC[1][J]=FFCC[J]
FFAC[2][J]=FFCH[J]
29 CONTINUE
return
# end
def CGAS10(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION INIOCH(17),PRBSHH(17,17),ESHH(17),RH(17,17),AH(17,17,17),PRBSHBTH(17)
DIMENSION XPEK(49),YPEK(49),XPEL1(54),YPEL1(54),XPEL2(54),YPEL2(54),XCOMC(54),YRAYC(54),YCOMC(54),YPAPC(54),FFRC(45),FFCC(45)
DIMENSION XPEKH(54),YPEKH(54),XCOMH(54),YRAYH(54),YCOMH(54),YPAPH(54),FFRH(45),FFCH(45)
#
#
# C3H8 DATA FOR CASCADE CALCULATIONS
#
# CARBON DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/10.00,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/0.20,3.00,9.00,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,238*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/2.74,12.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.858/,A[1][2][3]/0.824/,A[1][3][3]/0.378/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/1.50E-14/,R(1,3)/3.45E-5/,R(1,4)/6.88E-5/
# L1 SHELL
DATA R(2,3)/1.20E-7/,R(2,4)/2.41E-7/
# L2 SHELL
DATA R(3,4)/1.55E-21/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/9.26E5,7.98E5,4.81E5,2.35E5,1.21E5,8.42E4,6.57E4,5.09E4,4.20E4,1.33E4,5.73E3,1.70E3,707.,354.,200.,80.4,39.3,10.6,4.12,1.08,.415,.197,.107,.0411,.0195,.00512,.00201,5.64E-4,2.41E-4,1.29E-4,8.05E-5,4.06E-5,2.52E-5,1.19E-5,7.51E-6,4.21E-6,2.90E-6,2.20E-6,1.77E-6,1.27E-6,9.93E-7,6.39E-7,4.71E-7,3.08E-7,2.29E-7,1.82E-7,1.51E-7,1.13E-7,9.01E-8/
DATA XPEK/285.0,300.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/1.35E7,1.50E6,4.00E5,2.21E5,1.70E5,1.14E5,4.58E4,2.07E4,1.02E4,5.34E3,3.76E3,2.97E3,2.32E3,1.93E3,635.,280.,85.1,35.7,18.0,10.3,4.16,2.05,.554,.217,.0571,.0220,.0105,.00570,.00218,.00104, 2.72E-4,1.07E-4,3.00E-5,1.28E-5,6.88E-6,4.28E-6,2.16E-6,1.34E-6,6.37E-7,4.02E-7,2.26E-7,1.55E-7,1.18E-7,9.49E-8,6.82E-8,5.32E-8,3.42E-8,2.52E-8,1.65E-8,1.23E-8,9.75E-9,8.10E-9,6.05E-9,4.82E-9/
DATA XPEL1/18.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/1.35E7,9.0E5,1.50E5,7.81E4,5.15E4,2.79E4,7.59E3,2.49E3,924.,383.,239.,173.,124.,94.6,20.7,6.75,1.36,.432,.176,.0841, .0259,.0103,.00189,5.64E-4,1.02E-4,3.06E-5,1.20E-5,5.63E-6,1.72E-6,6.96E-7,1.40E-7,4.69E-8,1.10E-8,4.26E-9,2.16E-9,1.29E-9,6.20E-10,3.76E-10,1.82E-10,1.15E-10,6.45E-11,4.44E-11,3.37E-11,2.71E-11,1.95E-11,1.52E-11,9.77E-12,7.20E-12,4.71E-12,3.50E-12,2.79E-12,2.31E-12,1.73E-12,1.38E-12/
DATA XPEL2/6.40,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
DATA XCOMC/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYC/23.94,23.90,24.85,23.72,23.53,23.31,23.03,22.37,21.52,19.12,16.59,12.22,9.179,7.170,5.819,4.181,3.232,1.952,1.292,.6711, .4079,.2734,.1956,.1139,.07418,.03360,.01903,8.504D-3,4.792D-3, 3.070D-3, 2.133D-3,1.200D-3,7.682D-4,7.355D-4,4.917D-4,3.415D-4,1.921D-4,1.839D-4,8.539D-5,4.803D-5,3.074D-5,2.135D-5,1.568D-5,1.201D-5,9.488D-6,7.685D-6,3.415D-6,1.921D-6,8.537D-7,4.802D-7,3.073D-7,2.134D-7,1.200D-7,7.682D-8/
DATA YCOMC/3.044D-3,6.469D-3,.01140,.02518,.04448,.06870,.09764, .1680,.2519,.5001, .7702,1.278,1.685,1.984,2.202,2.497,2.697,3.012,3.182,3.300,3.296,3.250,3.188,3.054,2.924,2.647,2.431,2.118,1.899,1.735,1.605,1.410,1.268,1.255,1.134,1.031,.8795,.8687,.6920,.5772,.4985,.4406,.3960,.3604,.3313,.3069,.2272,.1823,.1327,.1055, .08805,.07586,.05983,.04966/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPC/34*1.E-20,2.870D-4,1.594D-3,6.356D-3,6.852D-3,.01844, .03054, .04163,.05178,.06095,.06928,.07690,.08388,.1108,.1310,.1597,.1802,.1958,.2080,.2263,.2401/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRC/1.0,.99957,.99830,.9962,.9932,.9895,.9848,.9735,.9590,.9228,.8783,.8538,.7902,.7218,.6562,.5962,.4935,.4170,.3252,.2810,.2558,.2375,.2202,.2027,.1853,.1441,.1094,.0620,.03577,.02147,.01341,.008705,.004055,.002108,.001191,7.198D-4,3.06D-4,6.295D-5, 2.027D-5,5.398D-7,8.455D-8,3.52D-8,5.993D-12,2.767D-21,2.80D-30/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCC/1.7D-21,6.317D-4,.002165,.004922,.008607,.01341,.01928,.03358,.05143,.0948,.1459,.1732,.2413,.3110,.3755,.4340,.5330,.6072,.6973,.7463,.7817,.8130,.8418,.8680,.8913,.9358,.9635,.9883,.9962,.9987,.99947,.99977,.99995,.99998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# CARBON ATOMIC NUMBER
IZ[1]=6
AMZ[1]=36.0321
#
# ATOMIC HYDROGEN DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCH/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESHH/17*0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTH/17*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKH/6.41E6,2.18E6,1.93E4,8.10E3,5.31E3,2.86E3,765.,251.,96.6,41.9,26.7,19.7,14.4,11.4,2.93,1.11,.281,.105,.0491,.0263,.00982,.00456,.00113,4.18E-4,1.03E-4,3.82E-5,1.77E-5,9.46E-6,3.52E-6,1.64E-6,4.18E-7,1.61E-7,4.41E-8,1.86E-8,9.93E-9,6.16E-9,3.12E-9,1.96E-9,9.73E-10,6.20E-10,3.52E-10,2.44E-10,1.87E-10,1.51E-10,1.09E-10,8.50E-11,5.49E-11,4.06E-11,2.66E-11,1.98E-11,1.58E-11,1.31E-11,9.79E-12,7.81E-12/
DATA XPEKH/13.598,20.,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMH/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YCOMH/9.552D-4,2.144D-3,3.802D-3,8.494D-3,1.496D-2,2.310D-2,3.279D-2,5.629D-2,8.424D-2,0.1650,.2478,.3822,.4675,.5187,.5503,.5840,.5993,.6095,.6068,.5924,.5759,.5597,.5444,.5166,.4923,.4435,.4064,.3535,.3168,.2893,.2676,.2351,.2114,.2092,.1890,.1718,.1466,.1448,.1153,.0962,.08308,.07343,.0660,.06007,.05522,.05116,.03786,.03039,.02212,.01758,.01467,.01264,.009972,.008276/
DATA YRAYH/.6650,.6635,.6617,.6569,.6503,.6421,.6323,.6087,.5806,.4984,.4142,.2764,.1881,.1341,.09987,.06126,.04121,.01943,.01119,.005062,.002866,.001840,.001280,7.211D-4,4.619D-4,2.054D-4,1.156D-4,5.138D-5,2.890D-5,1.850D-5,1.285D-5,7.226D-6,4.625D-6,4.428D-6,2.960D-6,2.056D-6,1.156D-6,1.107D-6,5.139D-7,2.891D-7,1.850D-7,1.285D-7,9.439D-8,7.227D-8,5.710D-8,4.625D-8,2.056D-8,1.156D-8,5.139D-9,2.890D-9,1.850D-9,1.284D-9,7.222D-10,4.620D-10/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPH/34*1.E-20,7.805D-6,4.385D-5,1.758D-4,1.895D-4,5.451D-4,9.849D-4,1.430D-3,1.859D-3,2.260D-3,2.634D-3,2.984D-3,3.308D-3,4.61D-3,5.61D-3,7.08D-3,8.13D-3,8.98D-3,9.65D-3,1.074D-2,1.161D-2/
# RAYLEIGH FORM FACTOR Hubbel
DATA FFRH/1.0,.9994,.9978,.9950,.9912,.9863,.9804,.9655,.9469,.8999,.8424,.8108,.7271,.6413,.5581,.4808,.3497,.2513,.1304,.07059,.04032,.02429,.01533,.01009,.006881,.002995,.001494,4.890D-4,2.035D-4,9.902D-5,5.373D-5,3.160D-5,1.300D-5,6.282D-6,3.395D-6,1.992D-6,8.168D-7,1.615D-7,5.112D-8,1.309D-9,1.998D-10,8.182D-11,8.182D-15,8.182D-27,8.182D-39/
# COMPTON FORM FACTOR Hubbel
DATA FFCH/1.E-20,.001105,.004410,.009888,.01749,.02717,.03883,.06773,.1033,.1902,.2904,.3426,.4713,.5887,.6885,.7689,.8777,.9369,.9830,.9950,.9984,.9994,.9998,.9999,.99995,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HYDROGEN ATOMIC NUMBER
IZ[2]=1
AMZ[2]=8.06352
#
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
PRSHBT[2][I]=PRBSHBTH[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
PRBSHH[I][J]=PRBSHH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
PRSUMH=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
PRSH[2][I][J]=PRBSHH[J][I]
# PRSUMH=PRSUMH+PRSH[2][I][J]
# PRSUM=PRSUM+PRSH[1][I][J]
# WRITE(6,888) I,PRSUM,PRSUMH
# 888 print(' I=',I3,' PRSUM=','%.3f' %,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
ESH[2][I]=ESHH[I]
INIOCC[1][I]=INIOC[I]
INIOCC[2][I]=INIOCH[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.0272105
4 AUG[2][I][J][K]=AH[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.00272105
5 AUG[2][I][J][K]=AH[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
R[I][J]=R[I][J]*6.582119D-16
12 RH[I][J]=RH[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
RAD[1][I][J]=R[I][J]
13 RAD[2][I][J]=RH[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
#
# LOAD CARBON PHOTOELECTRIC AND COMPTON DATA
DO 21 J=1,49
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*3.0*1.E-24)
21 CONTINUE
DO 22 J=1,54
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*3.0*1.E-24)
22 CONTINUE
DO 23 J=1,54
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*3.0*1.E-24)
23 CONTINUE
# LOAD HYDROGEN PHOTOELECTRIC AND COMPTON DATA
DO 24 J=1,54
XPE[2][1][J]=math.log(XPEKH[J])
# ALLOW FOR 4 HYDROGEN ATOMS
YPE[2][1][J]=math.log(YPEKH[J]*8.0*1.E-24)
24 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 25 J=1,54
XCP[1][J]=math.log(XCOMC[J])
XCP[2][J]=math.log(XCOMH[J])
YRY[1][J]=math.log(YRAYC[J]*3.0*1.E-24)
YRY[2][J]=math.log(YRAYH[J]*8.0*1.E-24)
YCP[1][J]=math.log(YCOMC[J]*3.0*1.E-24)
YCP[2][J]=math.log(YCOMH[J]*8.0*1.E-24)
YPP[1][J]=math.log(YPAPC[J]*3.0*1.E-24)
YPP[2][J]=math.log(YPAPH[J]*8.0*1.E-24)
25 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 29 J=1,45
FFAR[1][J]=FFRC[J]
FFAR[2][J]=FFRH[J]
FFAC[1][J]=FFCC[J]
FFAC[2][J]=FFCH[J]
29 CONTINUE
return
# end
def CGAS11(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION INIOCH(17),PRBSHH(17,17),ESHH(17),RH(17,17),AH(17,17,17),PRBSHBTH(17)
DIMENSION XPEK(49),YPEK(49),XPEL1(54),YPEL1(54),XPEL2(54),YPEL2(54),XCOMC(54),YRAYC(54),YCOMC(54),YPAPC(54),FFRC(45),FFCC(45)
DIMENSION XPEKH(54),YPEKH(54),XCOMH(54),YRAYH(54),YCOMH(54),YPAPH(54),FFRH(45),FFCH(45)
#
#
# C4H10 DATA FOR CASCADE CALCULATIONS
#
# CARBON DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/10.00,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/0.20,3.00,9.00,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,238*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/2.74,12.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.858/,A[1][2][3]/0.824/,A[1][3][3]/0.378/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/1.50E-14/,R(1,3)/3.45E-5/,R(1,4)/6.88E-5/
# L1 SHELL
DATA R(2,3)/1.20E-7/,R(2,4)/2.41E-7/
# L2 SHELL
DATA R(3,4)/1.55E-21/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/9.26E5,7.98E5,4.81E5,2.35E5,1.21E5,8.42E4,6.57E4,5.09E4,4.20E4,1.33E4,5.73E3,1.70E3,707.,354.,200.,80.4,39.3,10.6,4.12,1.08,.415,.197,.107,.0411,.0195,.00512,.00201,5.64E-4,2.41E-4,1.29E-4,8.05E-5,4.06E-5,2.52E-5,1.19E-5,7.51E-6,4.21E-6,2.90E-6,2.20E-6,1.77E-6,1.27E-6,9.93E-7,6.39E-7,4.71E-7,3.08E-7,2.29E-7,1.82E-7,1.51E-7,1.13E-7,9.01E-8/
DATA XPEK/285.0,300.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/1.35E7,1.50E6,4.00E5,2.21E5,1.70E5,1.14E5,4.58E4,2.07E4,1.02E4,5.34E3,3.76E3,2.97E3,2.32E3,1.93E3,635.,280.,85.1,35.7,18.0,10.3,4.16,2.05,.554,.217,.0571,.0220,.0105,.00570,.00218,.00104, 2.72E-4,1.07E-4,3.00E-5,1.28E-5,6.88E-6,4.28E-6,2.16E-6,1.34E-6,6.37E-7,4.02E-7,2.26E-7,1.55E-7,1.18E-7,9.49E-8,6.82E-8,5.32E-8,3.42E-8,2.52E-8,1.65E-8,1.23E-8,9.75E-9,8.10E-9,6.05E-9,4.82E-9/
DATA XPEL1/18.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/1.35E7,9.0E5,1.50E5,7.81E4,5.15E4,2.79E4,7.59E3,2.49E3,924.,383.,239.,173.,124.,94.6,20.7,6.75,1.36,.432,.176,.0841, .0259,.0103,.00189,5.64E-4,1.02E-4,3.06E-5,1.20E-5,5.63E-6,1.72E-6,6.96E-7,1.40E-7,4.69E-8,1.10E-8,4.26E-9,2.16E-9,1.29E-9,6.20E-10,3.76E-10,1.82E-10,1.15E-10,6.45E-11,4.44E-11,3.37E-11,2.71E-11,1.95E-11,1.52E-11,9.77E-12,7.20E-12,4.71E-12,3.50E-12,2.79E-12,2.31E-12,1.73E-12,1.38E-12/
DATA XPEL2/6.40,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL DATA TABLES A7(1970)565
DATA XCOMC/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYC/23.94,23.90,24.85,23.72,23.53,23.31,23.03,22.37,21.52,19.12,16.59,12.22,9.179,7.170,5.819,4.181,3.232,1.952,1.292,.6711, .4079,.2734,.1956,.1139,.07418,.03360,.01903,8.504D-3,4.792D-3, 3.070D-3, 2.133D-3,1.200D-3,7.682D-4,7.355D-4,4.917D-4,3.415D-4,1.921D-4,1.839D-4,8.539D-5,4.803D-5,3.074D-5,2.135D-5,1.568D-5,1.201D-5,9.488D-6,7.685D-6,3.415D-6,1.921D-6,8.537D-7,4.802D-7,3.073D-7,2.134D-7,1.200D-7,7.682D-8/
DATA YCOMC/3.044D-3,6.469D-3,.01140,.02518,.04448,.06870,.09764, .1680,.2519,.5001, .7702,1.278,1.685,1.984,2.202,2.497,2.697,3.012,3.182,3.300,3.296,3.250,3.188,3.054,2.924,2.647,2.431,2.118,1.899,1.735,1.605,1.410,1.268,1.255,1.134,1.031,.8795,.8687,.6920,.5772,.4985,.4406,.3960,.3604,.3313,.3069,.2272,.1823,.1327,.1055, .08805,.07586,.05983,.04966/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPC/34*1.E-20,2.870D-4,1.594D-3,6.356D-3,6.852D-3,.01844, .03054, .04163,.05178,.06095,.06928,.07690,.08388,.1108,.1310,.1597,.1802,.1958,.2080,.2263,.2401/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRC/1.0,.99957,.99830,.9962,.9932,.9895,.9848,.9735,.9590,.9228,.8783,.8538,.7902,.7218,.6562,.5962,.4935,.4170,.3252,.2810,.2558,.2375,.2202,.2027,.1853,.1441,.1094,.0620,.03577,.02147,.01341,.008705,.004055,.002108,.001191,7.198D-4,3.06D-4,6.295D-5, 2.027D-5,5.398D-7,8.455D-8,3.52D-8,5.993D-12,2.767D-21,2.80D-30/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCC/1.7D-21,6.317D-4,.002165,.004922,.008607,.01341,.01928,.03358,.05143,.0948,.1459,.1732,.2413,.3110,.3755,.4340,.5330,.6072,.6973,.7463,.7817,.8130,.8418,.8680,.8913,.9358,.9635,.9883,.9962,.9987,.99947,.99977,.99995,.99998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# CARBON ATOMIC NUMBER
IZ[1]=6
AMZ[1]=48.0428
#
# ATOMIC HYDROGEN DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCH/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESHH/17*0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTH/17*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKH/6.41E6,2.18E6,1.93E4,8.10E3,5.31E3,2.86E3,765.,251.,96.6,41.9,26.7,19.7,14.4,11.4,2.93,1.11,.281,.105,.0491,.0263,.00982,.00456,.00113,4.18E-4,1.03E-4,3.82E-5,1.77E-5,9.46E-6,3.52E-6,1.64E-6,4.18E-7,1.61E-7,4.41E-8,1.86E-8,9.93E-9,6.16E-9,3.12E-9,1.96E-9,9.73E-10,6.20E-10,3.52E-10,2.44E-10,1.87E-10,1.51E-10,1.09E-10,8.50E-11,5.49E-11,4.06E-11,2.66E-11,1.98E-11,1.58E-11,1.31E-11,9.79E-12,7.81E-12/
DATA XPEKH/13.598,20.,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
DATA XCOMH/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YCOMH/9.552D-4,2.144D-3,3.802D-3,8.494D-3,1.496D-2,2.310D-2,3.279D-2,5.629D-2,8.424D-2,0.1650,.2478,.3822,.4675,.5187,.5503,.5840,.5993,.6095,.6068,.5924,.5759,.5597,.5444,.5166,.4923,.4435,.4064,.3535,.3168,.2893,.2676,.2351,.2114,.2092,.1890,.1718,.1466,.1448,.1153,.0962,.08308,.07343,.0660,.06007,.05522,.05116,.03786,.03039,.02212,.01758,.01467,.01264,.009972,.008276/
DATA YRAYH/.6650,.6635,.6617,.6569,.6503,.6421,.6323,.6087,.5806,.4984,.4142,.2764,.1881,.1341,.09987,.06126,.04121,.01943,.01119,.005062,.002866,.001840,.001280,7.211D-4,4.619D-4,2.054D-4,1.156D-4,5.138D-5,2.890D-5,1.850D-5,1.285D-5,7.226D-6,4.625D-6,4.428D-6,2.960D-6,2.056D-6,1.156D-6,1.107D-6,5.139D-7,2.891D-7,1.850D-7,1.285D-7,9.439D-8,7.227D-8,5.710D-8,4.625D-8,2.056D-8,1.156D-8,5.139D-9,2.890D-9,1.850D-9,1.284D-9,7.222D-10,4.620D-10/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPH/34*1.E-20,7.805D-6,4.385D-5,1.758D-4,1.895D-4,5.451D-4,9.849D-4,1.430D-3,1.859D-3,2.260D-3,2.634D-3,2.984D-3,3.308D-3,4.61D-3,5.61D-3,7.08D-3,8.13D-3,8.98D-3,9.65D-3,1.074D-2,1.161D-2/
# RAYLEIGH FORM FACTOR Hubbel
DATA FFRH/1.0,.9994,.9978,.9950,.9912,.9863,.9804,.9655,.9469,.8999,.8424,.8108,.7271,.6413,.5581,.4808,.3497,.2513,.1304,.07059,.04032,.02429,.01533,.01009,.006881,.002995,.001494,4.890D-4,2.035D-4,9.902D-5,5.373D-5,3.160D-5,1.300D-5,6.282D-6,3.395D-6,1.992D-6,8.168D-7,1.615D-7,5.112D-8,1.309D-9,1.998D-10,8.182D-11,8.182D-15,8.182D-27,8.182D-39/
# COMPTON FORM FACTOR Hubbel
DATA FFCH/1.E-20,.001105,.004410,.009888,.01749,.02717,.03883,.06773,.1033,.1902,.2904,.3426,.4713,.5887,.6885,.7689,.8777,.9369,.9830,.9950,.9984,.9994,.9998,.9999,.99995,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HYDROGEN ATOMIC NUMBER
IZ[2]=1
AMZ[2]=10.0794
#
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
PRSHBT[2][I]=PRBSHBTH[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
PRBSHH[I][J]=PRBSHH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
PRSUMH=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
PRSH[2][I][J]=PRBSHH[J][I]
# PRSUMH=PRSUMH+PRSH[2][I][J]
# PRSUM=PRSUM+PRSH[1][I][J]
# WRITE(6,888) I,PRSUM,PRSUMH
# 888 print(' I=',I3,' PRSUM=','%.3f' %,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
ESH[2][I]=ESHH[I]
INIOCC[1][I]=INIOC[I]
INIOCC[2][I]=INIOCH[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.0272105
4 AUG[2][I][J][K]=AH[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.00272105
5 AUG[2][I][J][K]=AH[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
R[I][J]=R[I][J]*6.582119D-16
12 RH[I][J]=RH[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
RAD[1][I][J]=R[I][J]
13 RAD[2][I][J]=RH[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
#
# LOAD CARBON PHOTOELECTRIC AND COMPTON DATA
# SCALE TO 4 ATOMS PER MOLECULE
DO 21 J=1,49
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*4.0*1.E-24)
21 CONTINUE
DO 22 J=1,54
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*4.0*1.E-24)
22 CONTINUE
DO 23 J=1,54
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*4.0*1.E-24)
23 CONTINUE
# LOAD HYDROGEN PHOTOELECTRIC AND COMPTON DATA
DO 24 J=1,54
XPE[2][1][J]=math.log(XPEKH[J])
# SCALE TO 10 HYDROGEN ATOMS PER MOLECULE
YPE[2][1][J]=math.log(YPEKH[J]*10.0*1.E-24)
24 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 25 J=1,54
XCP[1][J]=math.log(XCOMC[J])
XCP[2][J]=math.log(XCOMH[J])
YRY[1][J]=math.log(YRAYC[J]*4.0*1.E-24)
YRY[2][J]=math.log(YRAYH[J]*10.0*1.E-24)
YCP[1][J]=math.log(YCOMC[J]*4.0*1.E-24)
YCP[2][J]=math.log(YCOMH[J]*10.0*1.E-24)
YPP[1][J]=math.log(YPAPC[J]*4.0*1.E-24)
YPP[2][J]=math.log(YPAPH[J]*10.0*1.E-24)
25 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 26 J=1,45
FFAR[1][J]=FFRC[J]
FFAR[2][J]=FFRH[J]
FFAC[1][J]=FFCC[J]
FFAC[2][J]=FFCH[J]
26 CONTINUE
return
# end
'''defCGAS12(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N)# DIMENSION PRSH=numpy.zeros((3+1,17+1,17+1))PRSHBT=numpy.zeros((3+1,17+1))ESH=numpy.zeros((3+1,17+1))AUG=numpy.zeros((3+1,17+1,17+1,17+1))RAD=numpy.zeros((3+1,17+1,17+1))XPE=numpy.zeros((3+1,17+1,60+1))YPE=numpy.zeros((3+1,17+1,60+1))XCP=numpy.zeros((3+1,54+1))YRY=numpy.zeros((3+1,54+1))YCP=numpy.zeros((3+1,54+1))YPP=numpy.zeros((3+1,54+1))FFAR=numpy.zeros((3+1,45+1))FFAC=numpy.zeros((3+1,45+1))IZ=numpy.zeros((3+1))AMZ=numpy.zeros((3+1))INIOCC=numpy.zeros((3+1,17+1))# DIMENSION INIOC=numpy.zeros((17+1))PRBSH=numpy.zeros((17+1,17+1))ES=numpy.zeros((17+1))R=numpy.zeros((17+1,17+1))A=numpy.zeros((17+1,17+1,17+1))PRBSHBT=numpy.zeros((17+1))# DIMENSION INIOCO=numpy.zeros((17+1))PRBSHO=numpy.zeros((17+1,17+1))ESO=numpy.zeros((17+1))RO=numpy.zeros((17+1,17+1))AO=numpy.zeros((17+1,17+1,17+1))PRBSHBTO=numpy.zeros((17+1))# DIMENSION XPEK=numpy.zeros((49+1))YPEK=numpy.zeros((49+1))XPEL1=numpy.zeros((54+1))YPEL1=numpy.zeros((54+1))XPEL2=numpy.zeros((54+1))YPEL2=numpy.zeros((54+1))XCOMC=numpy.zeros((54+1))YRAYC=numpy.zeros((54+1))YCOMC=numpy.zeros((54+1))YPAPC=numpy.zeros((54+1))FFRC=numpy.zeros((45+1))FFCC=numpy.zeros((45+1))# DIMENSION XPEKO=numpy.zeros((46+1))YPEKO=numpy.zeros((46+1))XPEL1O=numpy.zeros((53+1))YPEL1O=numpy.zeros((53+1))XPEL2O=numpy.zeros((55+1))YPEL2O=numpy.zeros((55+1))XPEL3O=numpy.zeros((55+1))YPEL3O=numpy.zeros((55+1))XCOMO=numpy.zeros((54+1))YRAYO=numpy.zeros((54+1))YCOMO=numpy.zeros((54+1))YPAPO=numpy.zeros((54+1))FFRO=numpy.zeros((45+1))FFCO=numpy.zeros((45+1))## CO2 DATA # # CARBON DATA FOR CASCADE CALCULATIONS## LEVEL OCCUPANCY FOR GROUND STATEINIOC=[0]+[2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0]# AVERAGE SHAKE OFF ELECTRON ENERGYES=[0]+[10.00,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]PRBSH=[0.20,3.00,9.00,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00]+238*[0.0]PRBSH=numpy.reshape(PRBSH,(17,17))PRBSH=numpy.r_[[numpy.zeros(PRBSH.shape[1])],PRBSH]PRBSH=numpy.c_[numpy.zeros(PRBSH.shape[0]),PRBSH]# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]PRBSHBT=[0]+[2.74,12.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]## AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS # WALTERS AND BHALLA (1971)# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105A[1][2][2]=0.858A[1][2][3]=0.824A[1][3][3]=0.378# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC# K-SHELLR[1][2]=1.50E-14R[1][3]=3.45E-5R[1][4]=6.88E-5# L1 SHELLR[2][3]=1.20E-7R[2][4]=2.41E-7# L2 SHELLR[3][4]=1.55E-21# # PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL: # UNITS BARNS/ATOM AND ENERGIES IN EV# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443# : SCOFIELD UCRL-51326# : VIEGELE ATOMIC DATA 5(1973)50# K SHELL 1S 1/2YPEK=[0]+[9.26E5,7.98E5,4.81E5,2.35E5,1.21E5,8.42E4,6.57E4,5.09E4,4.20E4,1.33E4,5.73E3,1.70E3,707.,354.,200.,80.4,39.3,10.6,4.12,1.08,.415,.197,.107,.0411,.0195,.00512,.00201,5.64E-4,2.41E-4,1.29E-4,8.05E-5,4.06E-5,2.52E-5,1.19E-5,7.51E-6,4.21E-6,2.90E-6,2.20E-6,1.77E-6,1.27E-6,9.93E-7,6.39E-7,4.71E-7,3.08E-7,2.29E-7,1.82E-7,1.51E-7,1.13E-7,9.01E-8]XPEK=[0]+[285.0,300.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L1 SHELL 2S 1/2YPEL1=[0]+[1.35E7,1.50E6,4.00E5,2.21E5,1.70E5,1.14E5,4.58E4,2.07E4,1.02E4,5.34E3,3.76E3,2.97E3,2.32E3,1.93E3,635.,280.,85.1,35.7,18.0,10.3,4.16,2.05,.554,.217,.0571,.0220,.0105,.00570,.00218,.00104,2.72E-4,1.07E-4,3.00E-5,1.28E-5,6.88E-6,4.28E-6,2.16E-6,1.34E-6,6.37E-7,4.02E-7,2.26E-7,1.55E-7,1.18E-7,9.49E-8,6.82E-8,5.32E-8,3.42E-8,2.52E-8,1.65E-8,1.23E-8,9.75E-9,8.10E-9,6.05E-9,4.82E-9]XPEL1=[0]+[18.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L2 SHELL 2P 1/2YPEL2=[0]+[1.35E7,9.0E5,1.50E5,7.81E4,5.15E4,2.79E4,7.59E3,2.49E3,924.,383.,239.,173.,124.,94.6,20.7,6.75,1.36,.432,.176,.0841,.0259,.0103,.00189,5.64E-4,1.02E-4,3.06E-5,1.20E-5,5.63E-6,1.72E-6,6.96E-7,1.40E-7,4.69E-8,1.10E-8,4.26E-9,2.16E-9,1.29E-9,6.20E-10,3.76E-10,1.82E-10,1.15E-10,6.45E-11,4.44E-11,3.37E-11,2.71E-11,1.95E-11,1.52E-11,9.77E-12,7.20E-12,4.71E-12,3.50E-12,2.79E-12,2.31E-12,1.75E-12,1.38E-12]XPEL2=[0]+[6.40,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION DATA# HUBBEL J.PHYS.CHEM.REF DATA 4(1975)471# HUBBEL NIST XCOM WEB SITE# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565XCOMC=[0]+[100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.022E6,1.25E6,1.5E6,2.0E6,2.044E6,3.0E6,4.0E6,5.0E6,6.0E6,7.0E6,8.0E6,9.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]YRAYC=[0]+[23.94,23.90,24.85,23.72,23.53,23.31,23.03,22.37,21.52,19.12,16.59,12.22,9.179,7.170,5.819,4.181,3.232,1.952,1.292,.6711,.4079,.2734,.1956,.1139,.07418,.03360,.01903,8.504E-3,4.792E-3,3.070E-3,2.133E-3,1.200E-3,7.682E-4,7.355E-4,4.917E-4,3.415E-4,1.921E-4,1.839E-4,8.539E-5,4.803E-5,3.074E-5,2.135E-5,1.568E-5,1.201E-5,9.488E-6,7.685E-6,3.415E-6,1.921E-6,8.537E-7,4.802E-7,3.073E-7,2.134E-7,1.200E-7,7.682E-8]YCOMC=[0]+[3.044E-3,6.469E-3,.01140,.02518,.04448,.06870,.09764,.1680,.2519,.5001,.7702,1.278,1.685,1.984,2.202,2.497,2.697,3.012,3.182,3.300,3.296,3.250,3.188,3.054,2.924,2.647,2.431,2.118,1.899,1.735,1.605,1.410,1.268,1.255,1.134,1.031,.8795,.8687,.6920,.5772,.4985,.4406,.3960,.3604,.3313,.3069,.2272,.1823,.1327,.1055,.08805,.07586,.05983,.04966]# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRONYPAPC=[0]+34*[1.E-20]+[2.870E-4,1.594E-3,6.356E-3,6.852E-3,.01844,.03054,.04163,.05178,.06095,.06928,.07690,.08388,.1108,.1310,.1597,.1802,.1958,.2080,.2263,.2401]# NORMALISED RAYLEIGH FORM FACTOR HubbelFFRC=[0]+[1.0,.99957,.99830,.9962,.9932,.9895,.9848,.9735,.9590,.9228,.8783,.8538,.7902,.7218,.6562,.5962,.4935,.4170,.3252,.2810,.2558,.2375,.2202,.2027,.1853,.1441,.1094,.0620,.03577,.02147,.01341,.008705,.004055,.002108,.001191,7.198E-4,3.06E-4,6.295E-5,2.027E-5,5.398E-7,8.455E-8,3.52E-8,5.993E-12,2.767E-21,2.80E-30]# NORMALISED COMPTON FORM FACTOR HubbelFFCC=[0]+[1.7E-21,6.317E-4,.002165,.004922,.008607,.01341,.01928,.03358,.05143,.0948,.1459,.1732,.2413,.3110,.3755,.4340,.5330,.6072,.6973,.7463,.7817,.8130,.8418,.8680,.8913,.9358,.9635,.9883,.9962,.9987,.99947,.99977,.99995,.99998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]# CARBON ATOMIC NUMBERIZ[1]=6AMZ[1]=12.0107# # ATOMIC OXYGEN DATA ## LEVEL OCCUPANCY FOR GROUND STATEINIOCO=[0]+[2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0]# AVERAGE SHAKE OFF ELECTRON ENERGYESO=[0]+[12.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]PRBSHO=[0.10,2.50,6.00,6.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.30,2.00,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,1.20,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00]+221*[0.0]PRBSHO=numpy.reshape(PRBSHO,(17,17))PRBSHO=numpy.r_[[numpy.zeros(PRBSHO.shape[1])],PRBSHO]PRBSHO=numpy.c_[numpy.zeros(PRBSHO.shape[0]),PRBSHO]# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]PRBSHBTO=[0]+[1.56,6.0,8.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]## AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS # WALTERS AND BHALLA (1971)# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105AO[1][2][2]=0.856AO[1][2][3]=0.824AO[1][3][3]=0.382AO[1][2][4]=0.140AO[1][3][4]=0.068# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC# K-SHELLRO[1][2]=3.36E-13RO[1][3]=2.752E-4RO[1][4]=5.48E-4# L1 SHELLRO[2][3]=6.62E-7RO[2][4]=1.34E-6# L2 SHELLRO[3][4]=2.55E-19# # PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL: # UNITS BARNS/ATOM AND ENERGIES IN EV# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443# : SCOFIELD UCRL-51326# : VIEGELE ATOMIC DATA 5(1973)50# K SHELL 1S 1/2YPEKO=[0]+[5.75E5,3.06E5,2.21E5,1.76E5,1.39E5,1.16E5,3.9E4,1.75E4,5.44E3,2.32E3,1.19E3,682.,281.,140.,38.8,15.4,4.13,1.61,.771,.423,.163,.0782,.0207,.00817,.00231,9.89E-4,5.33E-4,3.32E-4,1.68E-4,1.04E-4,4.91E-5,3.09E-5,1.73E-5,1.18E-5,8.98E-6,7.22E-6,5.18E-6,4.03E-6,2.59E-6,1.91E-6,1.25E-6,9.26E-7,7.36E-7,6.11E-7,4.56E-7,3.64E-7]XPEKO=[0]+[532.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L1 SHELL 2S 1/2YPEL1O=[0]+[5.60E6,6.00E5,3.67E5,2.96E5,2.12E5,9.79E4,4.78E4,2.51E4,1.39E4,1.00E4,8.00E3,6.36E3,5.32E3,1.87E3,863.,279.,122.,63.1,36.6,15.3,7.67,2.15,.859,.232,.0906,.0436,.0239,.00926,.00444,.00118,4.66E-4,1.31E-4,5.63E-5,3.03E-5,1.89E-5,9.54E-6,5.93E-6,2.80E-6,1.76E-6,9.84E-7,6.75E-7,5.12E-7,4.12E-7,2.95E-7,2.30E-7,1.48E-7,1.09E-7,7.11E-8,5.28E-8,4.20E-8,3.49E-8,2.60E-8,2.08E-8]XPEL1O=[0]+[28.5,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L2 SHELL 2P 1/2YPEL2O=[0]+[2.0E7,2.00E7,2.4E6,3.25E5,1.93E5,1.34E5,7.80E4,2.29E4,7.93E3,3.13E3,1.35E3,853.,626.,455.,357.,85.7,30.0,6.51,2.13,.884,.428,.136,.0552,.0106,.00325,6.11E-4,1.87E-4,7.46E-5,3.55E-5,1.11E-5,4.55E-6,9.39E-7,3.20E-7,7.55E-8,2.91E-8,1.45E-8,8.47E-9,3.86E-9,2.21E-9,9.07E-10,5.71E-10,3.19E-10,2.19E-10,1.66E-10,1.33E-10,9.56E-11,7.44E-11,4.78E-11,3.52E-11,2.30E-11,1.71E-11,1.36E-11,1.13E-11,8.43E-12,6.72E-12]XPEL2O=[0]+[13.8,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# L3 SHELL 2P 3/2YPEL3O=[0]+[4.0E7,4.00E7,4.8E6,6.50E5,3.84E5,2.67E5,1.55E5,4.55E4,1.58E4,6.23E3,2.69E3,1.69E3,1.24E3,900.,708.,170.,59.3,12.8,4.20,1.74,.841,.265,.107,.0205,.00625,.00116,3.51E-4,1.39E-4,6.55E-5,2.01E-5,8.16E-6,1.65E-6,5.52E-7,1.30E-7,5.10E-8,2.62E-8,1.58E-8,7.76E-9,4.77E-9,2.25E-9,1.42E-9,7.91E-10,5.42E-10,4.12E-10,3.31E-10,2.37E-10,1.85E-10,1.19E-10,8.73E-11,5.71E-11,4.24E-11,3.37E-11,2.80E-11,2.09E-11,1.67E-11]XPEL3O=[0]+[13.8,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]# RAYLEIGH COMPTON AND PAIR PRODUCTION DATAXCOMO=[0]+[100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.022E6,1.25E6,1.5E6,2.0E6,2.044E6,3.0E6,4.0E6,5.0E6,6.0E6,7.0E6,8.0E6,9.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8]YRAYO=[0]+[42.56,42.52,42.46,42.32,42.12,41.87,41.57,40.82,39.89,36.98,33.56,26.63,20.81,16.42,13.23,9.157,6.814,3.948,2.627,1.394,.8541,.5755,.4138,.2428,.1591,.07264,.04128,.01849,.01043,.006684,4.645E-3,2.615E-3,1.674E-3,1.603E-3,1.072E-3,7.442E-4,4.187E-4,4.008E-4,1.861E-4,1.047E-4,6.699E-5,4.652E-5,3.418E-5,2.617E-5,2.068E-5,1.675E-5,7.474E-6,4.204E-6,1.868E-6,1.051E-6,6.726E-7,4.670E-7,2.628E-7,1.681E-7]YCOMO=[0]+[2.479E-3,5.433E-3,9.695E-3,.02175,.03847,.05970,.08522,.1484,.2262,.4697,.7560,1.352,1.886,2.323,2.665,3.139,3.439,3.864,4.092,4.286,4.315,4.275,4.207,4.044,3.880,3.521,3.236,2.821,2.530,2.312,2.139,1.880,1.691,1.673,1.512,1.374,1.173,1.158,.9226,.7696,.6646,.5874,.5280,.4805,.4417,.4093,.3029,.2431,.1770,.1406,.1174,.1012,.07977,.06621]# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRONYPAPO=[0]+34*[1.E-20]+[5.159E-4,2.85E-3,.01134,.01222,.03273,.05388,.07314,.09067,.1064,.1207,.1338,.1457,.1915,.2267,.2749,.3085,.3339,.3549,.3862,.4086]# NORMALISED RAYLEIGH FORM FACTOR HubbelFFRO=[0]+[1.0,.99967,.99890,.9976,.9959,.9935,.9907,.9836,.9746,.9515,.9221,.9055,.8594,.8087,.7559,.7025,.6006,.5107,.3754,.2919,.2430,.2141,.1959,.1827,.1720,.1477,.1245,.0840,.05521,.0398,.02439,.01905,.008362,.004562,.002637,.001975,6.5E-4,1.609E-4,5.239E-5,1.424E-6,2.251E-7,9.421E-8,1.809E-11,9.77E-21,1.0E-29]# NORMALISED COMPTON FORM FACTOR HubbelFFCO=[0]+[1.2E-21,3.7E-4,.00137,.00316,.00560,.00872,.0125,.02201,.03387,.06421,.1015,.1221,.1775,.2356,.2937,.3499,.4516,.5366,.6571,.7285,.7719,.8014,.8245,.8444,.8626,.9020,.9327,.9705,.9875,.9946,.99759,.99887,.99971,.99991,.99997,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]# OXYGEN ATOMIC NUMBERIZ[2]=8AMZ[2]=31.9988# CONVERT SHAKE OFF FROM A % TO A PROBABILITYforIinrange(1,17+1):PRSHBT[1][I]=PRBSHBT[I]/100.0PRSHBT[2][I]=PRBSHBTO[I]/100.0forJinrange(1,17+1):PRBSH[I][J]=PRBSH[I][J]/100.0PRBSHO[I][J]=PRBSHO[I][J]/100.0# SWAP INDICES AND DO CHECK SUMforIinrange(1,17+1):PRSUM=0.0PRSUMO=0.0forJinrange(1,17+1):PRSH[1][I][J]=PRBSH[J][I]PRSH[2][I][J]=PRBSHO[J][I]# PRSUM=PRSUM+PRSH[1][I][J]# PRSUMO=PRSUMO+PRSH[2][I][J]# WRITE(6,888) I,PRSUM,PRSUMO# 888 print(' I=',I3,' PRSUM=','%.3f' %,' PRSUMO=','%.3f' %)# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONSforIinrange(1,17+1):ESH[1][I]=ES[I]ESH[2][I]=ESO[I]INIOCC[1][I]=INIOC[I]INIOCC[2][I]=INIOCO[I]## AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,# WITH TRANSITION TO SHELLS J,K# LOAD OUTPUT ARRAYS AND CONVERT TO EVforIinrange(1,4+1):forJinrange(1,17+1):forKinrange(1,17+1):AUG[1][I][J][K]=A[I][J][K]*0.0272105AUG[2][I][J][K]=AO[I][J][K]*0.0272105forIinrange(5,17+1):forJinrange(1,17+1):forKinrange(1,17+1):AUG[1][I][J][K]=A[I][J][K]*0.00272105AUG[2][I][J][K]=AO[I][J][K]*0.00272105# CHECK AUGER LEVEL SUMS# DO 7 I=1,17# ASUM=0.0# DO 6 J=1,17# DO 6 K=1,17# 6 ASUM=ASUM+AUG[I][J][K]# WRITE(6,887) I,ASUM# 887 print(' I=',I3,' ASUM=','%.3f' %)# 7 CONTINUE# # CONVERT RADIATIVE RATES IN M AND N SHELL TO EV forIinrange(5,17+1):forJinrange(6,17+1):R[I][J]=R[I][J]*6.582119E-16RO[I][J]=RO[I][J]*6.582119E-16# LOAD OUTPUT ARRAYforIinrange(1,17+1):forJinrange(1,17+1):RAD[1][I][J]=R[I][J]RAD[2][I][J]=RO[I][J]# PRINTOUT CHECK SUM# DO 15 I=1,17# RSUM=0.0# DO 14 J=1,17# 14 RSUM=RSUM+R[I][J]# WRITE(6,100) I,RSUM# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)# 15 CONTINUE## LOAD CARBON PHOTOELECTRIC AND COMPTON DATAforJinrange(1,49+1):XPE[1][1][J]=math.log(XPEK[J])YPE[1][1][J]=math.log(YPEK[J]*1.E-24)forJinrange(1,54+1):XPE[1][2][J]=math.log(XPEL1[J])YPE[1][2][J]=math.log(YPEL1[J]*1.E-24)forJinrange(1,54+1):XPE[1][3][J]=math.log(XPEL2[J])YPE[1][3][J]=math.log(YPEL2[J]*1.E-24)# LOAD OXYGEN PHOTOELECTRIC AND COMPTON DATA DATA# SCALE BY TWO FOR OXYGEN ATOMSforJinrange(1,46+1):XPE[2][1][J]=math.log(XPEKO[J])YPE[2][1][J]=math.log(YPEKO[J]*2.0*1.E-24)forJinrange(1,53+1):XPE[2][2][J]=math.log(XPEL1O[J])YPE[2][2][J]=math.log(YPEL1O[J]*2.0*1.E-24)forJinrange(1,55+1):XPE[2][3][J]=math.log(XPEL2O[J])YPE[2][3][J]=math.log(YPEL2O[J]*2.0*1.E-24)forJinrange(1,55+1):XPE[2][4][J]=math.log(XPEL3O[J])YPE[2][4][J]=math.log(YPEL3O[J]*2.0*1.E-24)# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SECforJinrange(1,54+1):XCP[1][J]=math.log(XCOMC[J])XCP[2][J]=math.log(XCOMO[J])YRY[1][J]=math.log(YRAYC[J]*1.E-24)YRY[2][J]=math.log(YRAYO[J]*2.0*1.E-24)YCP[1][J]=math.log(YCOMC[J]*1.E-24)YCP[2][J]=math.log(YCOMO[J]*2.0*1.E-24)YPP[1][J]=math.log(YPAPC[J]*1.E-24)YPP[2][J]=math.log(YPAPO[J]*2.0*1.E-24)# LOAD RAYLEIGH AND COMPTON FORM FACTORSforJinrange(1,45+1):FFAR[1][J]=FFRC[J]FFAR[2][J]=FFRO[J]FFAC[1][J]=FFCC[J]FFAC[2][J]=FFCO[J]return# end'''
def CGAS13(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS14(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOCO(17),PRBSHO(17,17),ESO(17),RO(17,17),AO(17,17,17),PRBSHBTO(17)
DIMENSION XPEKO(46),YPEKO(46),XPEL1O(53),YPEL1O(53),XPEL2O(55),YPEL2O(55),XPEL3O(55),YPEL3O(55),XCOMO(54),YRAYO(54),YCOMO(54),YPAPO(54),FFRO(45),FFCO(45)
DIMENSION INIOCH(17),PRBSHH(17,17),ESHH(17),RH(17,17),AH(17,17,17),PRBSHBTH(17)
DIMENSION XPEKH(54),YPEKH(54),XCOMH(54),YRAYH(54),YCOMH(54),YPAPH(54),FFRH(45),FFCH(45)
#
# ATOMIC OXYGEN DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCO/2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESO/12.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHO/0.10,2.50,6.00,6.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.30,2.00,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,1.20,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTO/1.56,6.0,8.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA AO[1][2][2]/0.856/,AO[1][2][3]/0.824/,AO[1][3][3]/0.382/
DATA AO[1][2][4]/0.140/,AO[1][3][4]/0.068/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA
RO[1][2]=3.36E-13/
RO[1][3]=2.752E-4/
RO[1][4]=5.48E-4
# L1 SHELL
DATA
RO[2][3]=6.62E-7/
RO[2][4]=1.34E-6
# L2 SHELL
DATA
RO[3][4]=2.55E-19
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKO/5.75E5,3.06E5,2.21E5,1.76E5,1.39E5,1.16E5,3.9E4,1.75E4,5.44E3,2.32E3,1.19E3,682.,281.,140.,38.8,15.4,4.13,1.61,.771,.423,.163,.0782,.0207,.00817,.00231,9.89E-4,5.33E-4,3.32E-4,1.68E-4,1.04E-4,4.91E-5,3.09E-5,1.73E-5,1.18E-5,8.98E-6,7.22E-6,5.18E-6,4.03E-6,2.59E-6,1.91E-6,1.25E-6,9.26E-7,7.36E-7,6.11E-7,4.56E-7,3.64E-7/
DATA XPEKO/532.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1O/5.60E6,6.00E5,3.67E5,2.96E5,2.12E5,9.79E4,4.78E4,2.51E4,1.39E4,1.00E4,8.00E3,6.36E3,5.32E3,1.87E3,863.,279.,122.,63.1,36.6,15.3,7.67,2.15,.859,.232,.0906,.0436,.0239,.00926,.00444,.00118,4.66E-4,1.31E-4,5.63E-5,3.03E-5,1.89E-5,9.54E-6,5.93E-6,2.80E-6,1.76E-6,9.84E-7,6.75E-7,5.12E-7,4.12E-7,2.95E-7,2.30E-7,1.48E-7,1.09E-7,7.11E-8,5.28E-8,4.20E-8,3.49E-8,2.60E-8,2.08E-8/
DATA XPEL1O/28.5,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2O/2.0E7,2.00E7,2.4E6,3.25E5,1.93E5,1.34E5,7.80E4,2.29E4,7.93E3,3.13E3,1.35E3,853.,626.,455.,357.,85.7,30.0,6.51,2.13,.884,.428,.136,.0552,.0106,.00325,6.11E-4,1.87E-4,7.46E-5,3.55E-5,1.11E-5,4.55E-6,9.39E-7,3.20E-7,7.55E-8,2.91E-8,1.45E-8,8.47E-9,3.86E-9,2.21E-9,9.07E-10,5.71E-10,3.19E-10,2.19E-10,1.66E-10,1.33E-10,9.56E-11,7.44E-11,4.78E-11,3.52E-11,2.30E-11,1.71E-11,1.36E-11,1.13E-11,8.43E-12,6.72E-12/
DATA XPEL2O/13.8,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L3 SHELL 2P 3/2
DATA YPEL3O/4.0E7,4.00E7,4.8E6,6.50E5,3.84E5,2.67E5,1.55E5,4.55E4,1.58E4,6.23E3,2.69E3,1.69E3,1.24E3,900.,708.,170.,59.3,12.8,4.20,1.74,.841,.265,.107,.0205,.00625,.00116,3.51E-4,1.39E-4,6.55E-5,2.01E-5,8.16E-6,1.65E-6,5.52E-7,1.30E-7,5.10E-8,2.62E-8,1.58E-8,7.76E-9,4.77E-9,2.25E-9,1.42E-9,7.91E-10,5.42E-10,4.12E-10,3.31E-10,2.37E-10,1.85E-10,1.19E-10,8.73E-11,5.71E-11,4.24E-11,3.37E-11,2.80E-11,2.09E-11,1.67E-11/
DATA XPEL3O/13.8,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
DATA XCOMO/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYO/42.56,42.52,42.46,42.32,42.12,41.87,41.57,40.82,39.89,36.98,33.56,26.63,20.81,16.42,13.23,9.157,6.814,3.948,2.627,1.394, .8541,.5755,.4138,.2428,.1591,.07264,.04128,.01849,.01043, .006684, 4.645D-3,2.615D-3,1.674D-3,1.603D-3,1.072D-3,7.442D-4,4.187D-4,4.008D-4,1.861D-4,1.047D-4,6.699D-5,4.652D-5,3.418D-5,2.617D-5,2.068D-5,1.675D-5,7.474D-6,4.204D-6,1.868D-6,1.051D-6,6.726D-7,4.670D-7,2.628D-7,1.681D-7/
DATA YCOMO/2.479D-3,5.433D-3,9.695D-3,.02175,.03847,.05970,.08522,.1484,.2262,.4697, .7560,1.352,1.886,2.323,2.665,3.139,3.439,3.864,4.092,4.286,4.315,4.275,4.207,4.044,3.880,3.521,3.236,2.821,2.530,2.312,2.139,1.880,1.691,1.673,1.512,1.374,1.173,1.158,.9226,.7696,.6646,.5874,.5280,.4805,.4417,.4093,.3029,.2431,.1770,.1406, .1174,.1012,.07977,.06621/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPO/34*1.E-20,5.159D-4,2.85D-3,.01134,.01222,.03273,.05388,.07314,.09067,.1064,.1207,.1338,.1457,.1915,.2267,.2749,.3085, .3339,.3549,.3862,.4086/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRO/1.0,.99967,.99890,.9976,.9959,.9935,.9907,.9836,.9746,.9515,.9221,.9055,.8594,.8087,.7559,.7025,.6006,.5107,.3754,.2919,.2430,.2141,.1959,.1827,.1720,.1477,.1245,.0840,.05521,.0398,.02439,.01905,.008362,.004562,.002637,.001975,6.5D-4,1.609D-4,5.239D-5,1.424D-6, 2.251D-7,9.421D-8,1.809D-11,9.77D-21,1.0D-29/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCO/1.2D-21,3.7D-4,.00137,.00316,.00560,.00872,.0125,.02201,.03387,.06421,.1015,.1221,.1775,.2356,.2937,.3499,.4516,.5366,.6571,.7285,.7719,.8014,.8245,.8444,.8626,.9020,.9327,.9705,.9875,.9946,.99759,.99887,.99971,.99991,.99997,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# OXYGEN ATOMIC NUMBER
IZ[1]=8
AMZ[1]=15.9994
#
# ATOMIC HYDROGEN DATA FOR CASCADE CALCULATIONS SCALED TO
# MOLECULAR HYDROGEN
#
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCH/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESHH/17*0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTH/17*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKH/6.41E6,2.18E6,1.93E4,8.10E3,5.31E3,2.86E3,765.,251.,96.6,41.9,26.7,19.7,14.4,11.4,2.93,1.11,.281,.105,.0491,.0263,.00982,.00456,.00113,4.18E-4,1.03E-4,3.82E-5,1.77E-5,9.46E-6,3.52E-6,1.64E-6,4.18E-7,1.61E-7,4.41E-8,1.86E-8,9.93E-9,6.16E-9,3.12E-9,1.96E-9,9.73E-10,6.20E-10,3.52E-10,2.44E-10,1.87E-10,1.51E-10,1.09E-10,8.50E-11,5.49E-11,4.06E-11,2.66E-11,1.98E-11,1.58E-11,1.31E-11,9.79E-12,7.81E-12/
DATA XPEKH/13.598,20.,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL DATA TABLES A7(1970)565
DATA XCOMH/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YCOMH/9.552D-4,2.144D-3,3.802D-3,8.494D-3,1.496D-2,2.310D-2,3.279D-2,5.629D-2,8.424D-2,0.1650,.2478,.3822,.4675,.5187,.5503,.5840,.5993,.6095,.6068,.5924,.5759,.5597,.5444,.5166,.4923,.4435,.4064,.3535,.3168,.2893,.2676,.2351,.2114,.2092,.1890,.1718,.1466,.1448,.1153,.0962,.08308,.07343,.0660,.06007,.05522,.05116,.03786,.03039,.02212,.01758,.01467,.01264,.009972,.008276/
DATA YRAYH/.6650,.6635,.6617,.6569,.6503,.6421,.6323,.6087,.5806,.4984,.4142,.2764,.1881,.1341,.09987,.06126,.04121,.01943,.01119,.005062,.002866,.001840,.001280,7.211D-4,4.619D-4,2.054D-4,1.156D-4,5.138D-5,2.890D-5,1.850D-5,1.285D-5,7.226D-6,4.625D-6,4.428D-6,2.960D-6,2.056D-6,1.156D-6,1.107D-6,5.139D-7,2.891D-7,1.850D-7,1.285D-7,9.439D-8,7.227D-8,5.710D-8,4.625D-8,2.056D-8,1.156D-8,5.139D-9,2.890D-9,1.850D-9,1.284D-9,7.222D-10,4.620D-10/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPH/34*1.E-20,7.805D-6,4.385D-5,1.758D-4,1.895D-4,5.451D-4,9.849D-4,1.430D-3,1.859D-3,2.260D-3,2.634D-3,2.984D-3,3.308D-3,4.61D-3,5.61D-3,7.08D-3,8.13D-3,8.98D-3,9.65D-3,1.074D-2,1.161D-2/
# RAYLEIGH FORM FACTOR Hubbel
DATA FFRH/1.0,.9994,.9978,.9950,.9912,.9863,.9804,.9655,.9469,.8999,.8424,.8108,.7271,.6413,.5581,.4808,.3497,.2513,.1304,.07059,.04032,.02429,.01533,.01009,.006881,.002995,.001494,4.890D-4,2.035D-4,9.902D-5,5.373D-5,3.160D-5,1.300D-5,6.282D-6,3.395D-6,1.992D-6,8.168D-7,1.615D-7,5.112D-8,1.309D-9,1.998D-10,8.182D-11,8.182D-15,8.182D-27,8.182D-39/
# COMPTON FORM FACTOR Hubbel
DATA FFCH/1.E-20,.001105,.004410,.009888,.01749,.02717,.03883,.06773,.1033,.1902,.2904,.3426,.4713,.5887,.6885,.7689,.8777,.9369,.9830,.9950,.9984,.9994,.9998,.9999,.99995,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HYDROGEN ATOMIC NUMBER
IZ[2]=1
AMZ[2]=2.015808
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBTO[I]/100.0
PRSHBT[2][I]=PRBSHBTH[I]/100.0
DO 1 J=1,17
PRBSHO[I][J]=PRBSHO[I][J]/100.0
PRBSHH[I][J]=PRBSHH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUMO=0.0
PRSUMH=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSHO[J][I]
PRSH[2][I][J]=PRBSHH[J][I]
# PRSUMO=PRSUMO+PRSH[1][I][J]
# PRSUMH=PRSUMH+PRSH[2][I][J]
# WRITE(6,888) I,PRSUMO,PRSUMH
# 888 print(' I=',I3,' PRSUMO=','%.3f' %,' PRSUMH=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ESO[I]
ESH[2][I]=ESHH[I]
INIOCC[1][I]=INIOCO[I]
INIOCC[2][I]=INIOCH[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
AUG[1][I][J][K]=AO[I][J][K]*0.0272105
4 AUG[2][I][J][K]=AH[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
AUG[1][I][J][K]=AO[I][J][K]*0.00272105
5 AUG[2][I][J][K]=AH[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
RO[I][J]=RO[I][J]*6.582119D-16
12 RH[I][J]=RH[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
RAD[1][I][J]=RO[I][J]
13 RAD[2][I][J]=RH[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
#
# LOAD HYDROGEN PHOTOELECTRIC AND COMPTON DATA\
# SCALE BY 2 HYDROGEN ATOMS
DO 21 J=1,54
XPE[2][1][J]=math.log(XPEKH[J])
YPE[2][1][J]=math.log(YPEKH[J]*2.E-24)
21 CONTINUE
# LOAD OXYGEN PHOTOELECTRIC AND COMPTON DATA DATA
DO 24 J=1,46
XPE[1][1][J]=math.log(XPEKO[J])
YPE[1][1][J]=math.log(YPEKO[J]*1.E-24)
24 CONTINUE
DO 25 J=1,53
XPE[1][2][J]=math.log(XPEL1O[J])
YPE[1][2][J]=math.log(YPEL1O[J]*1.E-24)
25 CONTINUE
DO 26 J=1,55
XPE[1][3][J]=math.log(XPEL2O[J])
YPE[1][3][J]=math.log(YPEL2O[J]*1.E-24)
26 CONTINUE
DO 27 J=1,55
XPE[1][4][J]=math.log(XPEL3O[J])
YPE[1][4][J]=math.log(YPEL3O[J]*1.E-24)
27 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 28 J=1,54
XCP[1][J]=math.log(XCOMO[J])
XCP[2][J]=math.log(XCOMH[J])
YRY[1][J]=math.log(YRAYO[J]*1.E-24)
YRY[2][J]=math.log(YRAYH[J]*2.0*1.E-24)
YCP[1][J]=math.log(YCOMO[J]*1.E-24)
YCP[2][J]=math.log(YCOMH[J]*2.0*1.E-24)
YPP[1][J]=math.log(YPAPO[J]*1.E-24)
YPP[2][J]=math.log(YPAPH[J]*2.0*1.E-24)
28 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 29 J=1,45
FFAR[1][J]=FFRO[J]
FFAR[2][J]=FFRH[J]
FFAC[1][J]=FFCO[J]
FFAC[2][J]=FFCH[J]
29 CONTINUE
return
# end
def CGAS15(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(46),YPEK(46),XPEL1(53),YPEL1(53),XPEL2(55),YPEL2(55),XPEL3(55),YPEL3(55),XCOMO(54),YRAYO(54),YCOMO(54),YPAPO(54),FFRO(45),FFCO(45)
#
# ATOMIC OXYGEN DATA FOR CASCADE CALCULATIONS SCALED LATER TO
# MOLECULAR OXYGEN
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/12.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/0.10,2.50,6.00,6.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.30,2.00,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,1.20,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/1.56,6.0,8.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.856/,A[1][2][3]/0.824/,A[1][3][3]/0.382/
DATA A[1][2][4]/0.140/,A[1][3][4]/0.068/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/3.36E-13/,R(1,3)/2.752E-4/,R(1,4)/5.48E-4/
# L1 SHELL
DATA R(2,3)/6.62E-7/,R(2,4)/1.34E-6/
# L2 SHELL
DATA R(3,4)/2.55E-19/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/5.75E5,3.06E5,2.21E5,1.76E5,1.39E5,1.16E5,3.9E4,1.75E4,5.44E3,2.32E3,1.19E3,682.,281.,140.,38.8,15.4,4.13,1.61,.771,.423,.163,.0782,.0207,.00817,.00231,9.89E-4,5.33E-4,3.32E-4,1.68E-4,1.04E-4,4.91E-5,3.09E-5,1.73E-5,1.18E-5,8.98E-6,7.22E-6,5.18E-6,4.03E-6,2.59E-6,1.91E-6,1.25E-6,9.26E-7,7.36E-7,6.11E-7,4.56E-7,3.64E-7/
DATA XPEK/532.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/5.60E6,6.00E5,3.67E5,2.96E5,2.12E5,9.79E4,4.78E4,2.51E4,1.39E4,1.00E4,8.00E3,6.36E3,5.32E3,1.87E3,863.,279.,122.,63.1,36.6,15.3,7.67,2.15,.859,.232,.0906,.0436,.0239,.00926,.00444,.00118,4.66E-4,1.31E-4,5.63E-5,3.03E-5,1.89E-5,9.54E-6,5.93E-6,2.80E-6,1.76E-6,9.84E-7,6.75E-7,5.12E-7,4.12E-7,2.95E-7,2.30E-7,1.48E-7,1.09E-7,7.11E-8,5.28E-8,4.20E-8,3.49E-8,2.60E-8,2.08E-8/
DATA XPEL1/28.5,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/2.0E7,2.00E7,2.4E6,3.25E5,1.93E5,1.34E5,7.80E4,2.29E4,7.93E3,3.13E3,1.35E3,853.,626.,455.,357.,85.7,30.0,6.51,2.13,.884,.428,.136,.0552,.0106,.00325,6.11E-4,1.87E-4,7.46E-5,3.55E-5,1.11E-5,4.55E-6,9.39E-7,3.20E-7,7.55E-8,2.91E-8,1.45E-8,8.47E-9,3.86E-9,2.21E-9,9.07E-10,5.71E-10,3.19E-10,2.19E-10,1.66E-10,1.33E-10,9.56E-11,7.44E-11,4.78E-11,3.52E-11,2.30E-11,1.71E-11,1.36E-11,1.13E-11,8.43E-12,6.72E-12/
DATA XPEL2/13.8,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L3 SHELL 2P 3/2
DATA YPEL3/4.0E7,4.00E7,4.8E6,6.50E5,3.84E5,2.67E5,1.55E5,4.55E4,1.58E4,6.23E3,2.69E3,1.69E3,1.24E3,900.,708.,170.,59.3,12.8,4.20,1.74,.841,.265,.107,.0205,.00625,.00116,3.51E-4,1.39E-4,6.55E-5,2.01E-5,8.16E-6,1.65E-6,5.52E-7,1.30E-7,5.10E-8,2.62E-8,1.58E-8,7.76E-9,4.77E-9,2.25E-9,1.42E-9,7.91E-10,5.42E-10,4.12E-10,3.31E-10,2.37E-10,1.85E-10,1.19E-10,8.73E-11,5.71E-11,4.24E-11,3.37E-11,2.80E-11,2.09E-11,1.67E-11/
DATA XPEL3/13.8,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMO/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYO/42.56,42.52,42.46,42.32,42.12,41.87,41.57,40.82,39.89,36.98,33.56,26.63,20.81,16.42,13.23,9.157,6.814,3.948,2.627,1.394, .8541,.5755,.4138,.2428,.1591,.07264,.04128,.01849,.01043, .006684, 4.645D-3,2.615D-3,1.674D-3,1.603D-3,1.072D-3,7.442D-4,4.187D-4,4.008D-4,1.861D-4,1.047D-4,6.699D-5,4.652D-5,3.418D-5,2.617D-5,2.068D-5,1.675D-5,7.474D-6,4.204D-6,1.868D-6,1.051D-6,6.726D-7,4.670D-7,2.628D-7,1.681D-7/
DATA YCOMO/2.479D-3,5.433D-3,9.695D-3,.02175,.03847,.05970,.08522,.1484,.2262,.4697, .7560,1.352,1.886,2.323,2.665,3.139,3.439,3.864,4.092,4.286,4.315,4.275,4.207,4.044,3.880,3.521,3.236,2.821,2.530,2.312,2.139,1.880,1.691,1.673,1.512,1.374,1.173,1.158,.9226,.7696,.6646,.5874,.5280,.4805,.4417,.4093,.3029,.2431,.1770,.1406, .1174,.1012,.07977,.06621/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPO/34*1.E-20,5.159D-4,2.85D-3,.01134,.01222,.03273,.05388,.07314,.09067,.1064,.1207,.1338,.1457,.1915,.2267,.2749,.3085, .3339,.3549,.3862,.4086/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRO/1.0,.99967,.99890,.9976,.9959,.9935,.9907,.9836,.9746,.9515,.9221,.9055,.8594,.8087,.7559,.7025,.6006,.5107,.3754,.2919,.2430,.2141,.1959,.1827,.1720,.1477,.1245,.0840,.05521,.0398,.02439,.01905,.008362,.004562,.002637,.001975,6.5D-4,1.609D-4,5.239D-5,1.424D-6, 2.251D-7,9.421D-8,1.809D-11,9.77D-21,1.0D-29/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCO/1.2D-21,3.7D-4,.00137,.00316,.00560,.00872,.0125,.02201,.03387,.06421,.1015,.1221,.1775,.2356,.2937,.3499,.4516,.5366,.6571,.7285,.7719,.8014,.8245,.8444,.8626,.9020,.9327,.9705,.9875,.9946,.99759,.99887,.99971,.99991,.99997,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# OXYGEN ATOMIC NUMBER
IZ[1]=8
AMZ[1]=31.9988
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC AND COMPTON DATA
# SCALE BY TWO FOR MOLECULE
DO 21 J=1,46
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*2.0*1.E-24)
21 CONTINUE
DO 22 J=1,53
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*2.0*1.E-24)
22 CONTINUE
DO 23 J=1,55
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*2.0*1.E-24)
23 CONTINUE
DO 24 J=1,55
XPE[1][4][J]=math.log(XPEL3[J])
YPE[1][4][J]=math.log(YPEL3[J]*2.0*1.E-24)
24 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 25 J=1,54
XCP[1][J]=math.log(XCOMO[J])
YRY[1][J]=math.log(YRAYO[J]*2.0*1.E-24)
YCP[1][J]=math.log(YCOMO[J]*2.0*1.E-24)
YPP[1][J]=math.log(YPAPO[J]*2.0*1.E-24)
25 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 26 J=1,45
FFAR[1][J]=FFRO[J]
FFAC[1][J]=FFCO[J]
26 CONTINUE
return
# end
def CGAS16(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(47),YPEK(47),XPEL1(53),YPEL1(53),XPEL2(55),YPEL2(55),XPEL3(55),YPEL3(55),XCOMN(54),YRAYN(54),YCOMN(54),YPAPN(54),FFRN(45),FFCN(45)
#
# ATOMIC NITROGEN DATA FOR CASCADE CALCULATIONS SCALED LATER TO
# MOLECULAR NITROGEN
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/11.00,2.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/0.12,2.50,8.00,4.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.30,2.00,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/2.2,6.0,8.0,10.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.842/,A[1][2][3]/0.828/,A[1][3][3]/0.380/
DATA A[1][2][4]/0.072/,A[1][3][4]/0.035/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/8.04E-14/,R(1,3)/1.104E-4/,R(1,4)/2.201E-4/
# L1 SHELL
DATA R(2,3)/3.09E-7/,R(2,4)/6.23E-7/
# L2 SHELL
DATA R(3,4)/2.65E-20/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/7.0E5,3.78E5,2.03E5,1.43E5,1.13E5,8.83E5,7.32E4,2.39E4,1.05E4,3.20E3,1.35E3,681.,388.,158.,78.2,21.3,8.39,2.22,.861,.411,.225,.0863,.0412,.0108,.00428,.00120,5.14E-4,2.77E-4,1.72E-4,8.69E-5,5.40E-5,2.55E-5,1.61E-5,8.99E-6,6.18E-6,4.69E-6,3.77E-6,2.71E-6,2.11E-6,1.36E-6,9.99E-7,6.54E-7,4.86E-7,3.86E-7,3.21E-7,2.39E-7,1.91E-7/
DATA XPEK/401.6,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/4.50E6,4.80E5,2.98E5,2.35E5,1.63E5,7.04E4,3.31E4,1.68E4,9.06E3,6.45E3,5.12E3,4.03E3,3.38E3,1.15E3,522.,164.,70.0,35.8,20.6,8.46,
.4.21,1.16,.459,.122,.0475,.0227,.0124,.00478,.00229,6.02E-4,2.37E-4,6.68E-5,2.86E-5,1.54E-5,9.57E-6,4.83E-6,3.00E-6,1.42E-6,8.94E-7,5.01E-7,3.44E-7,2.61E-7,2.10E-7,1.51E-7,1.17E-7,7.55E-8,5.56E-8,3.64E-8,2.70E-8,2.15E-8,1.79E-8,1.33E-8,1.06E-8/
DATA XPEL1/24.4,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/3.20E6,4.00E6,4.00E6,1.8E5,8.45E4,5.70E4,3.19E4,8.90E3,2.95E3,1.14E3,482.,301.,220.,160.,124.,28.4,9.73,2.02,.647,.266,.128,.0402,.0162,.00306,9.27E-4,1.72E-4,5.20E-5,2.07E-5,9.78E-6,3.03E-6,1.24E-6,2.55E-7,8.63E-8,2.03E-8,7.78E-9,3.88E-9,2.25E-9,1.02E-9,5.85E-10,2.44E-10,1.54E-10,8.60E-11,5.91E-11,4.49E-11,3.61E-11,2.59E-11,2.02E-11,1.30E-11,9.56E-12,6.25E-12,4.65E-12,3.70E-12,3.07E-12,2.29E-12,1.83E-12/
DATA XPEL2/14.534,20.0,25.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L3 SHELL 2P 3/2
DATA YPEL3/6.40E6,8.00E6,8.00E6,3.6E5,1.68E5,1.14E5,6.38E4,1.78E4,5.90E3,2.29E3,964.,603.,440.,319.,246.,56.4,19.3,4.00,1.28,.524,.252,.0787,.0317,.00593,.00179,3.27E-4,9.82E-5,3.87E-5,1.82E-5,5.55E-6,2.25E-6,4.50E-7,1.51E-7,3.54E-8,1.39E-8,7.10E-9,4.32E-9,2.12E-9,1.31E-9,6.29E-10,3.96E-10,2.22E-10,1.52E-10,1.16E-10,9.31E-11,6.68E-11,5.20E-11,3.34E-11,2.46E-11,1.61E-11,1.20E-11,9.53E-12,7.91E-12,5.91E-12,4.71E-12/
DATA XPEL3/14.524,20.0,25.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMN/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYN/32.55,32.51,32.47,32.34,32.15,31.91,31.62,30.90,30.03,27.34,24.32,18.61,14.21,11.10,8.927,6.246,4.722,2.805,1.870,.9839, .6009,.4042,.2901,.1697,.1109,.05046,.02863,.01281,.007221, .004626, 3.215D-3,1.809D-3,1.158D-3,1.109D-3,7.414D-4,5.149D-4,2.897D-4,2.773D-4,1.287D-4,7.243D-5,4.635D-5,3.219D-5,2.365D-5,1.811D-5,1.431D-5,1.159D-5,5.164D-6,2.905D-6,1.291D-6,7.263D-7,4.648D-7,3.227D-7,1.816D-7,1.162D-7/
DATA YCOMN/2.698D-3,6.260D-3,.01180,.02508,.04428,.06856,.09770, .1692,.2560,.5198, .8165,1.392,1.866,2.225,2.494,2.858,3.093,3.449,3.645,3.800,3.811,3.766,3.700,3.551,3.403,3.085,2.834,2.470,2.215,2.023,1.872,1.645,1.479,1.464,1.323,1.202,1.026,1.013,.8073,.6734,.5815,.5140,.4620,.4205,.3865,.3581,.2650,.2127,.1549,.1231, .1027,.08851,.06980,.05793/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPN/34*1.E-20,3.931D-4,2.177D-3,8.667D-3,9.343D-3,.02507,.04138, .05628,.06989,.08213,.09326,.1034,.1127,.1487,.1753,.2138,.2397, .2609,.2763,.3012,.3193/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRN/1.0,.99911,.99814,.9970,.9947,.9919,.9897,.9793,.9680,.9391,.9031,.8834,.8280,.7696,.7099,.6514,.5464,.4597,.3420,.2769,.2421,.2217,.2066,.1931,.1803,.1307,.1197,.07481,.0462,.0325,.01881,.01457,.006071,.003214,.001871,.001443,5.857D-4,1.087D-4,3.519D-5,9.463D-7,1.490D-7,6.217D-8,1.127D-11,5.67D-21,5.77D-30/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCN/1.4D-21,4.3D-4,.00186,.00417,.00739,.01149,.01644,.02881,.04429,.08257,.1292,.1543,.2200,.2861,.3496,.4083,.5084,.5853,.6846,.7403,.7767,.8050,.8299,.8526,.8733,.9166,.9471,.9800,.9924,.9970,.99876,.99943,.99987,.99997,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# NITROGEN ATOMIC NUMBER
IZ[1]=7
AMZ[1]=28.0134
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC AND COMPTON DATA
# SCALE BY TWO FOR MOLECULE
DO 21 J=1,47
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*2.0*1.E-24)
21 CONTINUE
DO 22 J=1,53
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*2.0*1.E-24)
22 CONTINUE
DO 23 J=1,55
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*2.0*1.E-24)
23 CONTINUE
DO 24 J=1,55
XPE[1][4][J]=math.log(XPEL3[J])
YPE[1][4][J]=math.log(YPEL3[J]*2.0*1.E-24)
24 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 25 J=1,54
XCP[1][J]=math.log(XCOMN[J])
YRY[1][J]=math.log(YRAYN[J]*2.0*1.E-24)
YCP[1][J]=math.log(YCOMN[J]*2.0*1.E-24)
YPP[1][J]=math.log(YPAPN[J]*2.0*1.E-24)
25 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 26 J=1,45
FFAR[1][J]=FFRN[J]
FFAC[1][J]=FFCN[J]
26 CONTINUE
return
# end
def CGAS17(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS18(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS19(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS20(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS21(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION XPEK(54),YPEK(54),XCOMH(54),YRAYH(54),YCOMH(54),YPAPH(54),FFRH(45),FFCH(45)
#
# ATOMIC HYDROGEN DATA FOR CASCADE CALCULATIONS SCALED TO
# MOLECULAR HYDROGEN
#
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/17*0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/17*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/6.41E6,2.18E6,1.93E4,8.10E3,5.31E3,2.86E3,765.,251.,96.6,41.9,26.7,19.7,14.4,11.4,2.93,1.11,.281,.105,.0491,.0263,.00982,.00456,.00113,4.18E-4,1.03E-4,3.82E-5,1.77E-5,9.46E-6,3.52E-6,1.64E-6,4.18E-7,1.61E-7,4.41E-8,1.86E-8,9.93E-9,6.16E-9,3.12E-9,1.96E-9,9.73E-10,6.20E-10,3.52E-10,2.44E-10,1.87E-10,1.51E-10,1.09E-10,8.50E-11,5.49E-11,4.06E-11,2.66E-11,1.98E-11,1.58E-11,1.31E-11,9.79E-12,7.81E-12/
DATA XPEK/13.598,20.,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL DATA TABLES A7(1970)565
DATA XCOMH/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YCOMH/9.552D-4,2.144D-3,3.802D-3,8.494D-3,1.496D-2,2.310D-2,3.279D-2,5.629D-2,8.424D-2,0.1650,.2478,.3822,.4675,.5187,.5503,.5840,.5993,.6095,.6068,.5924,.5759,.5597,.5444,.5166,.4923,.4435,.4064,.3535,.3168,.2893,.2676,.2351,.2114,.2092,.1890,.1718,.1466,.1448,.1153,.0962,.08308,.07343,.0660,.06007,.05522,.05116,.03786,.03039,.02212,.01758,.01467,.01264,.009972,.008276/
DATA YRAYH/.6650,.6635,.6617,.6569,.6503,.6421,.6323,.6087,.5806,.4984,.4142,.2764,.1881,.1341,.09987,.06126,.04121,.01943,.01119,.005062,.002866,.001840,.001280,7.211D-4,4.619D-4,2.054D-4,1.156D-4,5.138D-5,2.890D-5,1.850D-5,1.285D-5,7.226D-6,4.625D-6,4.428D-6,2.960D-6,2.056D-6,1.156D-6,1.107D-6,5.139D-7,2.891D-7,1.850D-7,1.285D-7,9.439D-8,7.227D-8,5.710D-8,4.625D-8,2.056D-8,1.156D-8,5.139D-9,2.890D-9,1.850D-9,1.284D-9,7.222D-10,4.620D-10/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPH/34*1.E-20,7.805D-6,4.385D-5,1.758D-4,1.895D-4,5.451D-4,9.849D-4,1.430D-3,1.859D-3,2.260D-3,2.634D-3,2.984D-3,3.308D-3,4.61D-3,5.61D-3,7.08D-3,8.13D-3,8.98D-3,9.65D-3,1.074D-2,1.161D-2/
# RAYLEIGH FORM FACTOR Hubbel
DATA FFRH/1.0,.9994,.9978,.9950,.9912,.9863,.9804,.9655,.9469,.8999,.8424,.8108,.7271,.6413,.5581,.4808,.3497,.2513,.1304,.07059,.04032,.02429,.01533,.01009,.006881,.002995,.001494,4.890D-4,2.035D-4,9.902D-5,5.373D-5,3.160D-5,1.300D-5,6.282D-6,3.395D-6,1.992D-6,8.168D-7,1.615D-7,5.112D-8,1.309D-9,1.998D-10,8.182D-11,8.182D-15,8.182D-27,8.182D-39/
# COMPTON FORM FACTOR Hubbel
DATA FFCH/1.E-20,.001105,.004410,.009888,.01749,.02717,.03883,.06773,.1033,.1902,.2904,.3426,.4713,.5887,.6885,.7689,.8777,.9369,.9830,.9950,.9984,.9994,.9998,.9999,.99995,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HYDROGEN ATOMIC NUMBER
IZ[1]=1
AMZ[1]=2.015808
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
# PRSUM=PRSUM+PRSH[1][I][J]
# WRITE(6,888) I,PRSUM
# 888 print(' I=',I3,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
INIOCC[1][I]=INIOC[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
4 AUG[1][I][J][K]=A[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
5 AUG[1][I][J][K]=A[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
12 R[I][J]=R[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
13 RAD[1][I][J]=R[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
# LOAD PHOTOELECTRIC AND COMPTON DATA
DO 21 J=1,54
XPE[1][1][J]=math.log(XPEK[J])
# SCALED TO MOLECULAR HYDROGEN
YPE[1][1][J]=math.log(YPEK[J]*2.0*1.E-24)
21 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 22 J=1,54
XCP[1][J]=math.log(XCOMH[J])
YRY[1][J]=math.log(YRAYH[J]*2.0*1.E-24)
YCP[1][J]=math.log(YCOMH[J]*2.0*1.E-24)
YPP[1][J]=math.log(YPAPH[J]*2.0*1.E-24)
22 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 23 J=1,45
FFAR[1][J]=FFRH[J]
FFAC[1][J]=FFCH[J]
23 CONTINUE
return
# end
def CGAS22(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS23(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS24(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS25(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS26(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS27(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS28(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS29(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS30(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOCS(17),PRBSHS(17,17),ESS(17),RS(17,17),AS(17,17,17),PRBSHBTS(17)
DIMENSION INIOCF(17),PRBSHF(17,17),ESF(17),RF(17,17),AF(17,17,17),PRBSHBTF(17)
DIMENSION XPEKS(42),YPEKS(42),XPEL1S(53),YPEL1S(53),XPEL2S(54),YPEL2S(54),XPEL3S(54),YPEL3S(54),XPEM1S(60),YPEM1S(60),XPEM2S(60),YPEM2S(60),XPEM3S(60),YPEM3S(60),XCOMS(54),YRAYS(54),YCOMS(54),YPAPS(54),FFRS(45),FFCS(45)
DIMENSION XPEKF(45),YPEKF(45),XPEL1F(53),YPEL1F(53),XPEL2F(55),YPEL2F(55),XPEL3F(55),YPEL3F(55),XCOMF(54),YRAYF(54),YCOMF(54),YPAPF(54),FFRF(45),FFCF(45)
#
# SF6 DATA FOR CASCADE CALCULATIONS
#
# SULFUR DATA
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCS/2,2,2,4,2,2,2,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESS/19.0,7.5,7.5,7.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHS/0.001,0.38,0.69,1.37,3.16,7.50,7.33,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.022,.072,0.14,2.12,5.35,5.33,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.063,.055,0.22,2.21,5.64,5.57,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,.064,0.10,0.17,2.21,5.59,5.58,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTS/0.337,1.25,1.01,2.04,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA AS(1,2,2)/1.250/,AS(1,2,3)/1.384/,AS(1,2,4)/2.768/,AS(1,2,5)/0.252/,AS(1,3,3)/0.26/,AS(1,3,4)/6.55/,AS(1,3,5)/0.118/,AS(1,4,4)/3.72/,AS(1,4,5)/0.237/
# L1 SHELL RATE
DATA AS(2,3,5)/10.56/,AS(2,4,5)/21.1/,AS(2,5,5)/0.210/
# L3 SHELL RATE
DATA AS(4,5,5)/0.017/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA RS(1,2)/6.51D-10/,RS(1,3)/0.01276/,RS(1,4)/0.02527/,RS(1,5)/8.30D-11/,RS(1,6)/5.95D-4/,RS(1,7)/1.179D-3/
# L1 SHELL
DATA RS(2,3)/6.84D-6/,RS(2,4)/1.48D-5/,RS(2,5)/1.37D-14/,RS(2,6)/1.91D-5/,RS(2,7)/3.69D-5/
# L2 SHELL
DATA RS(3,4)/1.45D-14/,RS(3,5)/1.21D-5/,RS(3,6)/1.31D-15/,RS(3,7)/2.02D-9/
# L3 SHELL
DATA RS(4,5)/1.23D-5/,RS(4,6)/1.02D-9/,RS(4,7)/1.00D-9/
# M1 SHELL
DATA RS(5,6)/1.235D9/,RS(5,7)/1.2351D9/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKS/9.86D4,6.45'%.3f' %.07D4,1.69D4,1.03D4,4.58D3,2.41D3,7.32'%.3f' %.08D2,8.89'%.3f' %6.3,18.0,10.1,4.05,1.99,.546,.221,6.40D-2,2.78D-2,1.51D-2,9.45D-3,4.79D-3,2.98D-3,1.39D-3,8.59D-4,4.73D-4,3.21D-4,2.42D-4,1.94D-4,1.61D-4,1.38D-4,1.21D-4,1.07D-4,8.73D-5,6.84D-5,5.02D-5,3.27D-5,2.43D-5,1.93D-5,1.60D-5,1.19D-5,9.52D-6/
DATA XPEKS/2472.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.2D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# L1 SHELL 2S 1/2
DATA YPEL1S/4.06'%.3f' %.42D5,2.24D5,1.44D5,9.30D4,7.25D4,6.11D4,5.11D4,4.42D4,1.91D4,1.01D4,6.16'%.3f' %.88D3,1.90D3,1.07D3,6.63'%.3f' %.05D2,1.64D2,51.6,22.1,6.53,2.70,1.35,.761,.307,.151,.0419,.0170,4.94D-3,2.15D-3,1.17D-3,7.32D-4,3.71D-4,2.31D-4,1.07D-4,6.65D-5,3.66D-5,2.49D-5,1.87D-5,1.50D-5,1.25D-5,1.07D-5,9.34D-6,8.28D-6,6.76D-6,5.29D-6,3.88D-6,2.53D-6,1.88D-6,1.49D-6,1.24D-6,9.24D-7,7.37D-7/
DATA XPEL1S/230.9,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,2472.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.2D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# L2 SHELL 2P 1/2
DATA YPEL2S/1.70D6,1.48D6,7.45'%.3f' %.37D5,1.59D5,7.96D4,5.43D4,4.18'%.3f' %.18D4,2.60D4,7.52'%.3f' %.01D3,1.50D3,784.,292.,133.,69.3,24.3,10.6,2.30,.760,.156,5.05D-2,2.11D-2,1.03D-2,3.37D-3,1.43D-3,3.11D-4,1.09D-4,2.67D-5,1.05D-5,5.33D-6,3.14D-6,1.46D-6,8.41D-7,3.89D-7,2.42D-7,1.33D-7,9.07D-8,6.83D-8,5.47D-8,4.55D-8,3.89D-8,3.40D-8,3.02D-8,2.46D-8,1.93D-8,1.42D-8,9.24D-9,6.85D-9,5.44D-9,4.52D-9,3.37D-9,2.69D-9/
DATA XPEL2S/163.6,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,2472.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.2D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# L3 SHELL 2P 3/2
DATA YPEL3S/3.20D6,2.89D6,1.48D6,6.65'%.3f' %.13D5,1.56D5,1.07D5,8.19D4,6.23D4,5.10D4,1.47D4,5.86D3,2.91D3,1.52D3,564.,257.,133.,46.6,20.3,4.34,1.42,.288,9.20D-2,3.79D-2,1.84D-2,5.89D-3,2.45D-3,5.16D-4,1.78D-4,4.29D-5,1.70D-5,8.72D-6,5.29D-6,2.58D-6,1.58D-6,7.30D-7,4.54D-7,2.50D-7,1.70D-7,1.28D-7,1.03D-7,8.54D-8,7.30D-8,6.38D-8,5.66D-8,4.62D-8,3.62D-8,2.66D-8,1.73D-8,1.29D-8,1.02D-8,8.47D-9,6.32D-9,5.04D-9/
DATA XPEL3S/162.5,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,2472.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.2D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# M1 SHELL 3S 1/2
DATA YPEM1S/1.60D6,1.59D6,1.21D6,9.98D5,5.23D5,2.82D5,1.62D5,1.33D5,9.84D4,5.03D4,2.77D4,1.62D4,1.01D4,7.75D3,6.47D3,5.36D3,4.65D3,1.96D3,1024.,624.,392.,192.,108.,67.1,30.9,16.7,5.24,2.26,.666,.276,.138,.0778,.0314,.0155,4.29D-3,1.74D-3,5.06D-4,2.20D-4,1.20D-4,7.50D-5,3.80D-5,2.36D-5,1.10D-5,6.82D-6,3.75D-6,2.55D-6,1.92D-6,1.54D-6,1.28D-6,1.10D-6,8.50D-7,6.93D-7,5.43D-7,3.98D-7,2.60D-7,1.93D-7,1.53D-7,1.27D-7,9.48D-8,7.56D-8/
DATA XPEM1S/22.0,25.0,30.0,40.0,70.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,2472.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,1.0D7,1.2D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# M2 SHELL 3P 1/2
DATA YPEM2S/1.30D6,1.27D6,1.76D6,1.34D6,1.11D6,5.81'%.3f' %.13D5,1.80D5,1.44D5,1.01D5,4.39D4,2.01D4,9.84D3,5.13'%.3f' %.55D3,2.76D3,2.13D3,1.16'%.3f' %48.,142.,71.8,38.0,14.4,6.60,3.46,1.22,5.39,.117,.0389,8.03D-3,2.60D-3,1.09D-3,5.33D-4,1.74D-4,7.39D-5,1.60D-5,5.63D-6,1.48D-6,5.40D-7,2.73D-7,1.61D-7,7.43D-8,4.29D-8,1.99D-8,1.24D-8,6.80D-9,4.62D-9,3.48D-9,2.79D-9,2.32D-9,1.99D-9,1.54D-9,1.26D-9,9.84D-10,7.22D-10,4.71D-10,3.49D-10,2.30D-10,1.72D-10,1.37D-10/
DATA XPEM2S/16.0,20.0,25.0,30.0,40.0,70.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,2472.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,1.0D7,1.2D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,6.0D7,8.0D7,1.0D8/
# M3 SHELL 3P 3/2
DATA YPEM3S/2.60D6,2.54'%.3f' %.52D6,2.68D6,2.21D6,1.16D6,6.25'%.3f' %.59D5,2.87D5,2.01D5,8.70'%.3f' %.97D4,1.94D4,1.01D4,6.98D3,5.15'%.3f' %.750D3,2.28D3,680.,277.,140.,73.7,27.7,12.7,6.64,2.34,1.02,.220,.0725,.0148,4.72D-3,1.95D-3,9.45D-4,3.03D-4,1.27D-4,2.67D-5,9.18D-6,2.22D-6,8.78D-7,4.54D-7,2.75D-7,1.35D-7,8.26D-8,3.83D-8,2.38D-8,1.31D-8,8.91D-9,6.71D-9,5.37D-9,4.47D-9,3.83D-9,2.97D-9,2.42D-9,1.90D-9,1.39D-9,9.07D-10,6.73D-10,4.44D-10,3.31D-10,2.64D-10/
DATA XPEM3S/15.67,20.0,25.0,30.0,40.0,70.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,2472.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,1.0D7,1.2D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,6.0D7,8.0D7,1.0D8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMS/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYS/170.2,170.0,169.7,169.0,168.0,166.7,165.1,161.4,156.9,143.5,129.2,103.8,85.21,72.06,62.38,48.50,38.49,22.90,15.02,8.049,5.082,3.503,2.554,1.523,1.009,.4698,.2700,.1222,.06924,.04447,.03094,.01744,.01117,.01070,7.153D-3,4.969D-3,2.796D-3,2.677D-3,1.243D-3,6.992D-4,4.475D-4,3.108D-4,2.283D-4,1.748D-4,1.381D-4,1.119D-4,4.972D-5,2.797D-5,1.243D-5,6.992D-6,4.475D-6,3.108D-6,1.748D-6,1.119D-6/
DATA YCOMS/6.17D-3,1.402D-2,2.485D-2,5.543D-2,9.741D-2,.150,.2124,.3623,.5383,1.039,1.553,2.469,3.196,3.766,4.231,4.983,5.592,6.677,7.306,7.874,8.065,8.099,8.053,7.848,7.590,6.956,6.421,5.618,5.047,4.615,4.273,3.757,3.379,3.343,3.022,2.747,2.345,2.316,1.845,1.539,1.329,1.175,1.056,.9610,.8834,.8185,.6058,.4862,.3540,.2813,.2348,.2023,.1595,.1324/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPS/34*1.E-20,2.188D-3,1.177D-2,4.614D-2,4.973D-2,.1313,.2134,.2871,.3537,.4132,.4669,.5157,.5601,.7341,.8602,1.037,1.161,1.252,1.325,1.432,1.509/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRS/1.0,.99962,.99862,.99700,.99463,.99162,.98800,.97900,.96769,.93919,.90462,.88575,.83612,.78588,.73781,.69369,.61976,.56428,.49048,.43821,.39011,.34307,.29846,.25789,.22239,.15750,.12050,.087775,.073556,.063131,.052706,.044881,.029237,.019362,.013112,.010256,4.537D-3,1.141D-3,3.982D-4,1.208D-5,1.991D-6,8.514D-7,2.342D-10,1.78D-19,1.96D-28/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCS/1.7D-21,4.37D-4,1.812D-3,4.04D-3,7.1375D-3,.011062,.015787,.027425,.041625,.075794,.11446,.13444,.18373,.23000,.27216,.31000,.37400,.42469,.50012,.56000,.61431,.66412,.70850,.74700,.77950,.83837,.87438,.91506,.94069,.95944,.97294,.98225,.99250,.99675,.99856,.99931,.99981,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# SULFUR ATOMIC NUMBER
IZ[1]=16
AMZ[1]=32.065
#
# ATOMIC FLOURINE DATA FOR CASCADE CALCULATIONS
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCF/2,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESF/14.0,2.5,2.5,2.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHF/0.08,2.00,6.00,8.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.20,1.20,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.40,1.00,2.50,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.40,1.20,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTF/1.29,5.5,7.0,11.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
# DATA AF(1,2,2)/0.838/,AF(1,2,3)/0.816/,AF(1,3,3)/0.377/
# DATA AF(1,2,4)/0.216/,AF(1,3,4)/0.104/
DATA AF(1,2,2)/0.838/,AF(1,2,3)/0.816/,AF(1,3,3)/0.754/
DATA AF(1,2,4)/1.224/,AF(1,3,4)/2.262/,AF(1,4,4)/2.262/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA RF(1,2)/1.17D-12/,RF(1,3)/5.88D-4/,RF(1,4)/1.17D-3/
# L1 SHELL
DATA RF(2,3)/1.27D-6/,RF(2,4)/2.57D-6/
# L2 SHELL
DATA RF(3,4)/1.69D-18/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKF/4.3'%.3f' %.20D5,2.53D5,2.02D5,1.68D5,5.89D4,2.70D4,8.58'%.3f' %.72D3,1.92D3,1.11D3,462.,232.,65.2,26.1,7.07,2.77,1.34,.734,.285,.137,.0364,.0144,.00409,.00176,9.47D-4,5.90D-4,2.98D-4,1.85D-4,8.73D-5,5.48D-5,3.06D-5,2.09D-5,1.59D-5,1.28D-5,9.13D-6,7.11D-6,5.99D-6,3.36D-6,2.19D-6,1.63D-6,1.30D-6,1.08D-6,8.03D-7,6.41D-7/
DATA XPEKF/685.4,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,8.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# L1 SHELL 2S 1/2
DATA YPEL1F/3.70D6,6.60D5,4.17'%.3f' %.46D5,2.56D5,1.26D5,6.41'%.3f' %.46D4,1.97D4,1.44D4,1.16D4,9.24D3,7.76D3,2.80D3,1.32D3,438.,194.,102.,59.7,25.2,12.8,3.64,1.47,.402,.158,.0765,.0421,.0164,.00789,.00210,8.35D-4,2.37D-4,1.02D-4,5.48D-5,3.41D-5,1.72D-5,1.07D-5,5.06D-6,3.18D-6,1.77D-6,1.21D-6,9.20D-7,7.39D-7,5.29D-7,4.12D-7,2.64D-7,1.95D-7,1.27D-7,9.45D-8,7.51D-8,6.24D-8,4.66D-8,3.71D-8/
DATA XPEL1F/34.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,8.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# L2 SHELL 2P 1/2
DATA YPEL2F/1.0D7,1.00'%.3f' %.2D6,6.93'%.3f' %.73D5,2.65D5,1.59D5,4.99D4,1.78D4,7.22'%.3f' %.19D3,2.03D3,1.50D3,1.09D3,860.,212.,75.7,17.0,5.71,2.40,1.17,.375,.154,.0300,.00931,.00177,5.46D-4,2.19D-4,1.05D-4,3.29D-5,1.36D-5,2.82D-6,9.63D-7,2.29D-7,8.82D-8,4.40D-8,2.58D-8,1.18D-8,6.74D-9,2.75D-9,1.73D-9,9.63D-10,6.60D-10,5.00D-10,4.02D-10,2.88D-10,2.24D-10,1.44D-10,1.06D-10,6.91D-11,5.14D-11,4.08D-11,3.39D-11,2.53D-11,2.02D-11/
DATA XPEL2F/16.0,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,8.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# L3 SHELL 2P 3/2
DATA YPEL3F/2.0D7,2.0D7,6.4D6,1.39D6,7.43D5,5.30'%.3f' %.18D5,9.98'%.3f' %.57D4,1.43D4,6.32D3,4.03D3,2.97D3,2.16D3,1.70D3,419.,149.,33.5,11.2,4.71,2.30,.731,.298,.0578,.0178,.00335,.00102,4.07D-4,1.92D-4,5.95D-5,2.42D-5,4.90D-6,1.65D-6,3.91D-7,1.53D-7,7.86D-8,4.75D-8,2.33D-8,1.43D-8,6.69D-9,4.20D-9,2.34D-9,1.60D-9,1.22D-9,9.77D-10,7.00D-10,5.44D-10,3.50D-10,2.57D-10,1.68D-10,1.25D-10,9.93D-11,8.25D-11,6.16D-11,4.91D-11/
DATA XPEL3F/16.0,25.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.5D6,2.0'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,8.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
DATA XCOMF/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYF/53.87,53.82,53.77,53.62,53.42,53.16,52.85,52.07,51.11,48.01,44.27,36.25,29.02,23.25,18.86,13.07,9.647,5.470,3.611,1.921, 1.181,.7966,.5731,.3370,.2212,.1013,.05764,.02585,.01459,.009349, 6.498D-3,3.658D-3,2.342D-3,2.242D-3,1.499D-3,1.041D-3,5.858D-4,5.609D-4,2.604D-4,1.465D-4,9.374D-5,6.510D-5,4.783D-5,3.662D-5,2.893D-5,2.344D-5,1.046D-5,5.883D-6,2.614D-6,1.471D-6,9.412D-7,6.535D-7,3.677D-7,2.353D-7/
DATA YCOMF/1.935D-3,4.736D-3,8.533D-3,.01925,.03410,.05298,.07579,.1325,.2029,.4270, .6987,1.293,1.861,2.354,2.762,3.353,3.735,4.257,4.524,4.760,4.808,4.775,4.706,4.533,4.354,3.955,3.637,3.172,2.846,2.600,2.406,2.115,1.902,1.882,1.701,1.546,1.319,1.303,1.038,.8658,.7477,.6609,.5940,.5406,.4969,.4604,.3408,.2735,.1991,.1582, .1321,.1138,.08974,.07449/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPF/34*1.E-20,6.506D-4,3.60D-3,.01434,.01546,.04137,.06799,.09219,.1141,.1339,.1518,.1680,.1829,.2403,.2830,.3451,.3893, .4199,.4463,.4852,.5119/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRF/1.0,.99973,.99910,.9981,.9967,.9948,.9926,.9868,.9794,.9604,.9362,.9223,.8833,.8398,.7931,.7451,.6497,.5611,.4172,.3189,.2562,.2172,.1926,.1762,.1646,.1430,.1243,.08978,.06246,.04616,.02986,.02354,.01091,.006078,.003611,.002744,.001011,2.268D-4,7.432D-5,2.042D-6, 3.244D-7,1.362D-7,2.758D-11,1.59D-20,1.63D-29/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCF/1.1D-21,2.22D-4,.00111,.002489,.004411,.006878,.009867,.01739,.02689,.05122,.08166,.09867,.1453,.1957,.2474,.2990,.3966,.4830,.6169,.7043,.7591,.7946,.8196,.8391,.8559,.8916,.9209,.9609,.9816,.9914,.99590,.99800,.99946,.99983,.99994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# FLOURINE ATOMIC NUMBER
IZ[2]=9
AMZ[2]=113.9904
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBTS[I]/100.0
PRSHBT[2][I]=PRBSHBTF[I]/100.0
DO 1 J=1,17
PRBSHS[I][J]=PRBSHS[I][J]/100.0
PRBSHF[I][J]=PRBSHF[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUMS=0.0
PRSUMF=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSHS[J][I]
PRSH[2][I][J]=PRBSHF[J][I]
# PRSUMF=PRSUMF+PRSH[2][I][J]
# PRSUMS=PRSUMS+PRSH[1][I][J]
# WRITE(6,888) I,PRSUMS,PRSUMF
# 888 print(' I=',I3,' PRSUMS=','%.3f' %,' PRSUMF=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ESS[I]
ESH[2][I]=ESF[I]
INIOCC[1][I]=INIOCS[I]
INIOCC[2][I]=INIOCF[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
AUG[1][I][J][K]=AS[I][J][K]*0.0272105
4 AUG[2][I][J][K]=AF[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
AUG[1][I][J][K]=AS[I][J][K]*0.00272105
5 AUG[2][I][J][K]=AF[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
RS[I][J]=RS[I][J]*6.582119D-16
12 RF[I][J]=RF[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
RAD[1][I][J]=RS[I][J]
13 RAD[2][I][J]=RF[I][J]
#
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
#
# LOAD SULFUR PHOTOELECTRIC DATA
DO 21 J=1,42
XPE[1][1][J]=math.log(XPEKS[J])
YPE[1][1][J]=math.log(YPEKS[J]*1.E-24)
21 CONTINUE
DO 22 J=1,53
XPE[1][2][J]=math.log(XPEL1S[J])
YPE[1][2][J]=math.log(YPEL1S[J]*1.E-24)
22 CONTINUE
DO 23 J=1,54
XPE[1][3][J]=math.log(XPEL2S[J])
YPE[1][3][J]=math.log(YPEL2S[J]*1.E-24)
XPE[1][4][J]=math.log(XPEL3S[J])
YPE[1][4][J]=math.log(YPEL3S[J]*1.E-24)
23 CONTINUE
DO 231 J=1,60
XPE[1][5][J]=math.log(XPEM1S[J])
YPE[1][5][J]=math.log(YPEM1S[J]*1.E-24)
XPE[1][6][J]=math.log(XPEM2S[J])
YPE[1][6][J]=math.log(YPEM2S[J]*1.E-24)
XPE[1][7][J]=math.log(XPEM3S[J])
YPE[1][7][J]=math.log(YPEM3S[J]*1.E-24)
231 CONTINUE
# LOAD FLUORINE PHOTOELECTRIC DATA
# SCALE BY 6 SINCE 6 ATOMS PER SULFUR
DO 24 J=1,45
XPE[2][1][J]=math.log(XPEKF[J])
YPE[2][1][J]=math.log(YPEKF[J]*6.0*1.E-24)
24 CONTINUE
DO 25 J=1,53
XPE[2][2][J]=math.log(XPEL1F[J])
YPE[2][2][J]=math.log(YPEL1F[J]*6.0*1.E-24)
25 CONTINUE
DO 26 J=1,55
XPE[2][3][J]=math.log(XPEL2F[J])
YPE[2][3][J]=math.log(YPEL2F[J]*6.0*1.E-24)
26 CONTINUE
DO 27 J=1,55
XPE[2][4][J]=math.log(XPEL3F[J])
YPE[2][4][J]=math.log(YPEL3F[J]*6.0*1.E-24)
27 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 28 J=1,54
XCP[1][J]=math.log(XCOMS[J])
XCP[2][J]=math.log(XCOMF[J])
YRY[1][J]=math.log(YRAYS[J]*1.E-24)
YRY[2][J]=math.log(YRAYF[J]*6.0*1.E-24)
YCP[1][J]=math.log(YCOMS[J]*1.E-24)
YCP[2][J]=math.log(YCOMF[J]*6.0*1.E-24)
YPP[1][J]=math.log(YPAPS[J]*1.E-24)
YPP[2][J]=math.log(YPAPF[J]*6.0*1.E-24)
28 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTOR
DO 29 J=1,45
FFAR[1][J]=FFRS[J]
FFAR[2][J]=FFRF[J]
FFAC[1][J]=FFCS[J]
FFAC[2][J]=FFCF[J]
29 CONTINUE
return
# end
def CGAS31(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS32(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS33(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS34(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS35(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS36(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS37(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS38(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS39(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS40(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS41(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS42(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS43(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS44(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
DIMENSION INIOC(17),PRBSH(17,17),ES(17),R(17,17),A[17,17,17],PRBSHBT(17)
DIMENSION INIOCN(17),PRBSHN(17,17),ESN(17),RN(17,17),AN(17,17,17),PRBSHBTN(17)
DIMENSION INIOCH(17),PRBSHH(17,17),ESHH(17),RH(17,17),AH(17,17,17),PRBSHBTH(17)
DIMENSION XPEK(49),YPEK(49),XPEL1(54),YPEL1(54),XPEL2(54),YPEL2(54),XCOMC(54),YRAYC(54),YCOMC(54),YPAPC(54),FFRC(45),FFCC(45)
DIMENSION XPEKN(47),YPEKN(47),XPEL1N(53),YPEL1N(53),XPEL2N(55),YPEL2N(55),XPEL3N(55),YPEL3N(55),XCOMN(54),YRAYN(54),YCOMN(54),YPAPN(54),FFRN(45),FFCN(45)
DIMENSION XPEKH(54),YPEKH(54),XCOMH(54),YRAYH(54),YCOMH(54),YPAPH(54),FFRH(45),FFCH(45)
#
# TRIMETHYL AMINE TMA
# C3NH9 DATA FOR CASCADE CALCULATIONS
#
# CARBON DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOC/2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ES/10.00,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSH/0.20,3.00,9.00,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,3.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,238*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBT/2.74,12.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA A[1][2][2]/0.858/,A[1][2][3]/0.824/,A[1][3][3]/0.378/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA R(1,2)/1.50E-14/,R(1,3)/3.45E-5/,R(1,4)/6.88E-5/
# L1 SHELL
DATA R(2,3)/1.20E-7/,R(2,4)/2.41E-7/
# L2 SHELL
DATA R(3,4)/1.55E-21/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEK/9.26E5,7.98E5,4.81E5,2.35E5,1.21E5,8.42E4,6.57E4,5.09E4,4.20E4,1.33E4,5.73E3,1.70E3,707.,354.,200.,80.4,39.3,10.6,4.12,1.08,.415,.197,.107,.0411,.0195,.00512,.00201,5.64E-4,2.41E-4,1.29E-4,8.05E-5,4.06E-5,2.52E-5,1.19E-5,7.51E-6,4.21E-6,2.90E-6,2.20E-6,1.77E-6,1.27E-6,9.93E-7,6.39E-7,4.71E-7,3.08E-7,2.29E-7,1.82E-7,1.51E-7,1.13E-7,9.01E-8/
DATA XPEK/285.0,300.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1/1.35E7,1.50E6,4.00E5,2.21E5,1.70E5,1.14E5,4.58E4,2.07E4,1.02E4,5.34E3,3.76E3,2.97E3,2.32E3,1.93E3,635.,280.,85.1,35.7,18.0,10.3,4.16,2.05,.554,.217,.0571,.0220,.0105,.00570,.00218,.00104, 2.72E-4,1.07E-4,3.00E-5,1.28E-5,6.88E-6,4.28E-6,2.16E-6,1.34E-6,6.37E-7,4.02E-7,2.26E-7,1.55E-7,1.18E-7,9.49E-8,6.82E-8,5.32E-8,3.42E-8,2.52E-8,1.65E-8,1.23E-8,9.75E-9,8.10E-9,6.05E-9,4.82E-9/
DATA XPEL1/18.0,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2/1.35E7,9.0E5,1.50E5,7.81E4,5.15E4,2.79E4,7.59E3,2.49E3,924.,383.,239.,173.,124.,94.6,20.7,6.75,1.36,.432,.176,.0841, .0259,.0103,.00189,5.64E-4,1.02E-4,3.06E-5,1.20E-5,5.63E-6,1.72E-6,6.96E-7,1.40E-7,4.69E-8,1.10E-8,4.26E-9,2.16E-9,1.29E-9,6.20E-10,3.76E-10,1.82E-10,1.15E-10,6.45E-11,4.44E-11,3.37E-11,2.71E-11,1.95E-11,1.52E-11,9.77E-12,7.20E-12,4.71E-12,3.50E-12,2.79E-12,2.31E-12,1.73E-12,1.38E-12/
DATA XPEL2/6.40,50.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
DATA XCOMC/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYC/23.94,23.90,24.85,23.72,23.53,23.31,23.03,22.37,21.52,19.12,16.59,12.22,9.179,7.170,5.819,4.181,3.232,1.952,1.292,.6711, .4079,.2734,.1956,.1139,.07418,.03360,.01903,8.504D-3,4.792D-3, 3.070D-3, 2.133D-3,1.200D-3,7.682D-4,7.355D-4,4.917D-4,3.415D-4,1.921D-4,1.839D-4,8.539D-5,4.803D-5,3.074D-5,2.135D-5,1.568D-5,1.201D-5,9.488D-6,7.685D-6,3.415D-6,1.921D-6,8.537D-7,4.802D-7,3.073D-7,2.134D-7,1.200D-7,7.682D-8/
DATA YCOMC/3.044D-3,6.469D-3,.01140,.02518,.04448,.06870,.09764, .1680,.2519,.5001, .7702,1.278,1.685,1.984,2.202,2.497,2.697,3.012,3.182,3.300,3.296,3.250,3.188,3.054,2.924,2.647,2.431,2.118,1.899,1.735,1.605,1.410,1.268,1.255,1.134,1.031,.8795,.8687,.6920,.5772,.4985,.4406,.3960,.3604,.3313,.3069,.2272,.1823,.1327,.1055, .08805,.07586,.05983,.04966/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPC/34*1.E-20,2.870D-4,1.594D-3,6.356D-3,6.852D-3,.01844, .03054, .04163,.05178,.06095,.06928,.07690,.08388,.1108,.1310,.1597,.1802,.1958,.2080,.2263,.2401/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRC/1.0,.99957,.99830,.9962,.9932,.9895,.9848,.9735,.9590,.9228,.8783,.8538,.7902,.7218,.6562,.5962,.4935,.4170,.3252,.2810,.2558,.2375,.2202,.2027,.1853,.1441,.1094,.0620,.03577,.02147,.01341,.008705,.004055,.002108,.001191,7.198D-4,3.06D-4,6.295D-5, 2.027D-5,5.398D-7,8.455D-8,3.52D-8,5.993D-12,2.767D-21,2.80D-30/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCC/1.7D-21,6.317D-4,.002165,.004922,.008607,.01341,.01928,.03358,.05143,.0948,.1459,.1732,.2413,.3110,.3755,.4340,.5330,.6072,.6973,.7463,.7817,.8130,.8418,.8680,.8913,.9358,.9635,.9883,.9962,.9987,.99947,.99977,.99995,.99998,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# CARBON ATOMIC NUMBER
IZ[1]=6
AMZ[1]=36.0321
#
# ATOMIC NITROGEN DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCN/2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESN/11.00,2.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHN/0.12,2.50,8.00,4.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.30,2.00,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,1.00,2.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,2.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,221*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTN/2.2,6.0,8.0,10.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/
#
# AUGER AND COSTER-KRONIG TRANSITION RATES FOR K AND L SHELLS
# WALTERS AND BHALLA (1971)
# K SHELL RATE (MILLIATOMIC UNITS) TO GET TO EV *0.0272105
DATA AN(1,2,2)/0.842/,AN(1,2,3)/0.828/,AN(1,3,3)/0.380/
DATA AN(1,2,4)/0.072/,AN(1,3,4)/0.035/
# RADIATIVE TRANSITIONS SCOFIELD ANDT 14(1974)121
# DIPOLE AND HIGHER MULTIPOLES , RELATIVISTIC CALC. UNITS 1.519E15/SEC
# K-SHELL
DATA RN(1,2)/8.04E-14/,RN(1,3)/1.104E-4/,RN(1,4)/2.201E-4/
# L1 SHELL
DATA RN(2,3)/3.09E-7/,RN(2,4)/6.23E-7/
# L2 SHELL
DATA RN(3,4)/2.65E-20/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKN/7.0E5,3.78E5,2.03E5,1.43E5,1.13E5,8.83E5,7.32E4,2.39E4,1.05E4,3.20E3,1.35E3,681.,388.,158.,78.2,21.3,8.39,2.22,.861,.411,.225,.0863,.0412,.0108,.00428,.00120,5.14E-4,2.77E-4,1.72E-4,8.69E-5,5.40E-5,2.55E-5,1.61E-5,8.99E-6,6.18E-6,4.69E-6,3.77E-6,2.71E-6,2.11E-6,1.36E-6,9.99E-7,6.54E-7,4.86E-7,3.86E-7,3.21E-7,2.39E-7,1.91E-7/
DATA XPEKN/401.6,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L1 SHELL 2S 1/2
DATA YPEL1N/4.50E6,4.80E5,2.98E5,2.35E5,1.63E5,7.04E4,3.31E4,1.68E4,9.06E3,6.45E3,5.12E3,4.03E3,3.38E3,1.15E3,522.,164.,70.0,35.8,20.6,8.46,
.4.21,1.16,.459,.122,.0475,.0227,.0124,.00478,.00229,6.02E-4,2.37E-4,6.68E-5,2.86E-5,1.54E-5,9.57E-6,4.83E-6,3.00E-6,1.42E-6,8.94E-7,5.01E-7,3.44E-7,2.61E-7,2.10E-7,1.51E-7,1.17E-7,7.55E-8,5.56E-8,3.64E-8,2.70E-8,2.15E-8,1.79E-8,1.33E-8,1.06E-8/
DATA XPEL1N/24.4,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L2 SHELL 2P 1/2
DATA YPEL2N/3.20E6,4.00E6,4.00E6,1.8E5,8.45E4,5.70E4,3.19E4,8.90E3,2.95E3,1.14E3,482.,301.,220.,160.,124.,28.4,9.73,2.02,.647,.266,.128,.0402,.0162,.00306,9.27E-4,1.72E-4,5.20E-5,2.07E-5,9.78E-6,3.03E-6,1.24E-6,2.55E-7,8.63E-8,2.03E-8,7.78E-9,3.88E-9,2.25E-9,1.02E-9,5.85E-10,2.44E-10,1.54E-10,8.60E-11,5.91E-11,4.49E-11,3.61E-11,2.59E-11,2.02E-11,1.30E-11,9.56E-12,6.25E-12,4.65E-12,3.70E-12,3.07E-12,2.29E-12,1.83E-12/
DATA XPEL2N/14.534,20.0,25.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# L3 SHELL 2P 3/2
DATA YPEL3N/6.40E6,8.00E6,8.00E6,3.6E5,1.68E5,1.14E5,6.38E4,1.78E4,5.90E3,2.29E3,964.,603.,440.,319.,246.,56.4,19.3,4.00,1.28,.524,.252,.0787,.0317,.00593,.00179,3.27E-4,9.82E-5,3.87E-5,1.82E-5,5.55E-6,2.25E-6,4.50E-7,1.51E-7,3.54E-8,1.39E-8,7.10E-9,4.32E-9,2.12E-9,1.31E-9,6.29E-10,3.96E-10,2.22E-10,1.52E-10,1.16E-10,9.31E-11,6.68E-11,5.20E-11,3.34E-11,2.46E-11,1.61E-11,1.20E-11,9.53E-12,7.91E-12,5.91E-12,4.71E-12/
DATA XPEL3N/14.524,20.0,25.0,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMN/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YRAYN/32.55,32.51,32.47,32.34,32.15,31.91,31.62,30.90,30.03,27.34,24.32,18.61,14.21,11.10,8.927,6.246,4.722,2.805,1.870,.9839, .6009,.4042,.2901,.1697,.1109,.05046,.02863,.01281,.007221, .004626, 3.215D-3,1.809D-3,1.158D-3,1.109D-3,7.414D-4,5.149D-4,2.897D-4,2.773D-4,1.287D-4,7.243D-5,4.635D-5,3.219D-5,2.365D-5,1.811D-5,1.431D-5,1.159D-5,5.164D-6,2.905D-6,1.291D-6,7.263D-7,4.648D-7,3.227D-7,1.816D-7,1.162D-7/
DATA YCOMN/2.698D-3,6.260D-3,.01180,.02508,.04428,.06856,.09770, .1692,.2560,.5198, .8165,1.392,1.866,2.225,2.494,2.858,3.093,3.449,3.645,3.800,3.811,3.766,3.700,3.551,3.403,3.085,2.834,2.470,2.215,2.023,1.872,1.645,1.479,1.464,1.323,1.202,1.026,1.013,.8073,.6734,.5815,.5140,.4620,.4205,.3865,.3581,.2650,.2127,.1549,.1231, .1027,.08851,.06980,.05793/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPN/34*1.E-20,3.931D-4,2.177D-3,8.667D-3,9.343D-3,.02507,.04138, .05628,.06989,.08213,.09326,.1034,.1127,.1487,.1753,.2138,.2397, .2609,.2763,.3012,.3193/
# NORMALISED RAYLEIGH FORM FACTOR Hubbel
DATA FFRN/1.0,.99911,.99814,.9970,.9947,.9919,.9897,.9793,.9680,.9391,.9031,.8834,.8280,.7696,.7099,.6514,.5464,.4597,.3420,.2769,.2421,.2217,.2066,.1931,.1803,.1307,.1197,.07481,.0462,.0325,.01881,.01457,.006071,.003214,.001871,.001443,5.857D-4,1.087D-4,3.519D-5,9.463D-7,1.490D-7,6.217D-8,1.127D-11,5.67D-21,5.77D-30/
# NORMALISED COMPTON FORM FACTOR Hubbel
DATA FFCN/1.4D-21,4.3D-4,.00186,.00417,.00739,.01149,.01644,.02881,.04429,.08257,.1292,.1543,.2200,.2861,.3496,.4083,.5084,.5853,.6846,.7403,.7767,.8050,.8299,.8526,.8733,.9166,.9471,.9800,.9924,.9970,.99876,.99943,.99987,.99997,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# NITROGEN ATOMIC NUMBER
IZ[2]=7
AMZ[2]=14.0067
#
# ATOMIC HYDROGEN DATA
#
# LEVEL OCCUPANCY FOR GROUND STATE
DATA INIOCH/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
# AVERAGE SHAKE OFF ELECTRON ENERGY
DATA ESHH/17*0.0/
# SHAKE OFF DATA : CARLSON AND NESTOR PHYS REV A8(1973)2887
# % PROBABILITY OF J SHELL SHAKE OFF FROM VACANCY IN SHELL I PROBSH[I][J]
DATA PRBSHH/289*0.0/
# SHAKE OFF DATA : CARLSON,NESTOR ET AL PHYS REV 169(1968)27
# % PROBABILITY OF J SHELL SHAKE OFF FROM BETA DECAY PRSHBT[J]
DATA PRBSHBTH/17*0.0/
#
# PHOTOELECTRIC ABSORPTION X-SECTIONS FOR EACH SHELL:
# UNITS BARNS/ATOM AND ENERGIES IN EV
# ASSEMBLED FROM: BAND ET AL. ANDT 23(1979)443
# : SCOFIELD UCRL-51326
# : VIEGELE ATOMIC DATA 5(1973)50
# K SHELL 1S 1/2
DATA YPEKH/6.41E6,2.18E6,1.93E4,8.10E3,5.31E3,2.86E3,765.,251.,96.6,41.9,26.7,19.7,14.4,11.4,2.93,1.11,.281,.105,.0491,.0263,.00982,.00456,.00113,4.18E-4,1.03E-4,3.82E-5,1.77E-5,9.46E-6,3.52E-6,1.64E-6,4.18E-7,1.61E-7,4.41E-8,1.86E-8,9.93E-9,6.16E-9,3.12E-9,1.96E-9,9.73E-10,6.20E-10,3.52E-10,2.44E-10,1.87E-10,1.51E-10,1.09E-10,8.50E-11,5.49E-11,4.06E-11,2.66E-11,1.98E-11,1.58E-11,1.31E-11,9.79E-12,7.81E-12/
DATA XPEKH/13.598,20.,100.,132.3,151.4,184.,278.,392.,525.,676.5,775.,849.,932.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0E4,1.5E4,2.0E4,3.0E4,4.0E4,5.0E4,6.0E4,8.0E4,1.0E5,1.5E5,2.0E5,3.0E5,4.0E5,5.0E5,6.0E5,8.0E5,1.0E6,1.5E6,2.0E6,3.0E6,4.0E6,5.0E6,6.0E6,8.0E6,1.0E7,1.5E7,2.0E7,3.0E7,4.0E7,5.0E7,6.0E7,8.0E7,1.0E8/
# RAYLEIGH COMPTON AND PAIR PRODUCTION DATA
# HUBBEL J.PHYS.CHEM.REF.DATA 4(1975)471
# HUBBEL NIST XCOM WEB SITE
# STORM AND ISRAEL NUCL.DATA TABLES A7(1970)565
DATA XCOMH/100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.5D5,2.0'%.3f' %.0D5,4.0D5,5.0D5,6.0D5,8.0D5,1.0D6,1.022D6,1.25D6,1.5D6,2.0D6,2.044'%.3f' %.0D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.5D7,2.0'%.3f' %.0D7,4.0D7,5.0D7,6.0D7,8.0D7,1.0D8/
DATA YCOMH/9.552D-4,2.144D-3,3.802D-3,8.494D-3,1.496D-2,2.310D-2,3.279D-2,5.629D-2,8.424D-2,0.1650,.2478,.3822,.4675,.5187,.5503,.5840,.5993,.6095,.6068,.5924,.5759,.5597,.5444,.5166,.4923,.4435,.4064,.3535,.3168,.2893,.2676,.2351,.2114,.2092,.1890,.1718,.1466,.1448,.1153,.0962,.08308,.07343,.0660,.06007,.05522,.05116,.03786,.03039,.02212,.01758,.01467,.01264,.009972,.008276/
DATA YRAYH/.6650,.6635,.6617,.6569,.6503,.6421,.6323,.6087,.5806,.4984,.4142,.2764,.1881,.1341,.09987,.06126,.04121,.01943,.01119,.005062,.002866,.001840,.001280,7.211D-4,4.619D-4,2.054D-4,1.156D-4,5.138D-5,2.890D-5,1.850D-5,1.285D-5,7.226D-6,4.625D-6,4.428D-6,2.960D-6,2.056D-6,1.156D-6,1.107D-6,5.139D-7,2.891D-7,1.850D-7,1.285D-7,9.439D-8,7.227D-8,5.710D-8,4.625D-8,2.056D-8,1.156D-8,5.139D-9,2.890D-9,1.850D-9,1.284D-9,7.222D-10,4.620D-10/
# TOTAL PAIR PRODUCTION NUCLEAR + ELECTRON
DATA YPAPH/34*1.E-20,7.805D-6,4.385D-5,1.758D-4,1.895D-4,5.451D-4,9.849D-4,1.430D-3,1.859D-3,2.260D-3,2.634D-3,2.984D-3,3.308D-3,4.61D-3,5.61D-3,7.08D-3,8.13D-3,8.98D-3,9.65D-3,1.074D-2,1.161D-2/
# RAYLEIGH FORM FACTOR Hubbel
DATA FFRH/1.0,.9994,.9978,.9950,.9912,.9863,.9804,.9655,.9469,.8999,.8424,.8108,.7271,.6413,.5581,.4808,.3497,.2513,.1304,.07059,.04032,.02429,.01533,.01009,.006881,.002995,.001494,4.890D-4,2.035D-4,9.902D-5,5.373D-5,3.160D-5,1.300D-5,6.282D-6,3.395D-6,1.992D-6,8.168D-7,1.615D-7,5.112D-8,1.309D-9,1.998D-10,8.182D-11,8.182D-15,8.182D-27,8.182D-39/
# COMPTON FORM FACTOR Hubbel
DATA FFCH/1.E-20,.001105,.004410,.009888,.01749,.02717,.03883,.06773,.1033,.1902,.2904,.3426,.4713,.5887,.6885,.7689,.8777,.9369,.9830,.9950,.9984,.9994,.9998,.9999,.99995,.99999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0/
# HYDROGEN ATOMIC NUMBER
IZ[3]=1
AMZ[3]=9.07146
#
# CONVERT SHAKE OFF FROM A % TO A PROBABILITY
DO 1 I=1,17
PRSHBT[1][I]=PRBSHBT[I]/100.0
PRSHBT[2][I]=PRBSHBTN[I]/100.0
PRSHBT(3,I)=PRBSHBTH[I]/100.0
DO 1 J=1,17
PRBSH[I][J]=PRBSH[I][J]/100.0
PRBSHN[I][J]=PRBSHN[I][J]/100.0
PRBSHH[I][J]=PRBSHH[I][J]/100.0
1 CONTINUE
# SWAP INDICES AND DO CHECK SUM
DO 2 I=1,17
PRSUM=0.0
PRSUMN=0.0
PRSUMH=0.0
DO 2 J=1,17
PRSH[1][I][J]=PRBSH[J][I]
PRSH[2][I][J]=PRBSHN[J][I]
PRSH[3][I][J]=PRBSHH[J][I]
# PRSUMH=PRSUMH+PRSH[2][I][J]
# PRSUM=PRSUM+PRSH[1][I][J]
# WRITE(6,888) I,PRSUM,PRSUMH
# 888 print(' I=',I3,' PRSUM=','%.3f' %,' PRSUM=','%.3f' %)
2 CONTINUE
# LOAD SKAKE OFF ENERGIES AND LEVEL OCCUPATIONS
DO 3 I=1,17
ESH[1][I]=ES[I]
ESH[2][I]=ESN[I]
ESH(3,I)=ESHH[I]
INIOCC[1][I]=INIOC[I]
INIOCC[2][I]=INIOCN[I]
INIOCC(3,I)=INIOCH[I]
3 CONTINUE
#
# AUGER PROBABILITIES IN ARRAY AUG[I][J][K] INITIAL VACANCY IN SHELL I,
# WITH TRANSITION TO SHELLS J,K
# LOAD OUTPUT ARRAYS AND CONVERT TO EV
DO 4 I=1,4
DO 4 J=1,17
DO 4 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.0272105
AUG[2][I][J][K]=AN[I][J][K]*0.0272105
4 AUG[3][I][J][K]=AH[I][J][K]*0.0272105
DO 5 I=5,17
DO 5 J=1,17
DO 5 K=1,17
AUG[1][I][J][K]=A[I][J][K]*0.00272105
AUG[2][I][J][K]=AN[I][J][K]*0.00272105
5 AUG[3][I][J][K]=AH[I][J][K]*0.00272105
# CHECK AUGER LEVEL SUMS
# DO 7 I=1,17
# ASUM=0.0
# DO 6 J=1,17
# DO 6 K=1,17
# 6 ASUM=ASUM+AUG[I][J][K]
# WRITE(6,887) I,ASUM
# 887 print(' I=',I3,' ASUM=','%.3f' %)
# 7 CONTINUE
#
# CONVERT RADIATIVE RATES IN M AND N SHELL TO EV
DO 12 I=5,17
DO 12 J=6,17
R[I][J]=R[I][J]*6.582119D-16
RN[I][J]=RN[I][J]*6.582119D-16
12 RH[I][J]=RH[I][J]*6.582119D-16
# LOAD OUTPUT ARRAY
DO 13 I=1,17
DO 13 J=1,17
RAD[1][I][J]=R[I][J]
RAD[2][I][J]=RN[I][J]
13 RAD[3][I][J]=RH[I][J]
# PRINTOUT CHECK SUM
# DO 15 I=1,17
# RSUM=0.0
# DO 14 J=1,17
# 14 RSUM=RSUM+R[I][J]
# WRITE(6,100) I,RSUM
# 100 print(' SHELL =',I3,' RAD RATE EV=','%.3f' %)
# 15 CONTINUE
#
# LOAD CARBON PHOTOELECTRIC AND COMPTON DATA
# ALLOW FOR 3 CARBON ATOMS
DO 21 J=1,49
XPE[1][1][J]=math.log(XPEK[J])
YPE[1][1][J]=math.log(YPEK[J]*3.E-24)
21 CONTINUE
DO 22 J=1,54
XPE[1][2][J]=math.log(XPEL1[J])
YPE[1][2][J]=math.log(YPEL1[J]*3.E-24)
22 CONTINUE
DO 23 J=1,54
XPE[1][3][J]=math.log(XPEL2[J])
YPE[1][3][J]=math.log(YPEL2[J]*3.E-24)
23 CONTINUE
# LOAD NITROGEN PHOTOELECTRIC AND COMPTON DATA
DO 24 J=1,47
XPE[2][1][J]=math.log(XPEKN[J])
YPE[2][1][J]=math.log(YPEKN[J]*1.E-24)
24 CONTINUE
DO 25 J=1,53
XPE[2][2][J]=math.log(XPEL1N[J])
YPE[2][2][J]=math.log(YPEL1N[J]*1.E-24)
25 CONTINUE
DO 26 J=1,55
XPE[2][3][J]=math.log(XPEL2N[J])
YPE[2][3][J]=math.log(YPEL2N[J]*1.E-24)
26 CONTINUE
DO 27 J=1,55
XPE[2][4][J]=math.log(XPEL3N[J])
YPE[2][4][J]=math.log(YPEL3N[J]*1.E-24)
27 CONTINUE
# LOAD HYDROGEN PHOTOELECTRIC AND COMPTON DATA
DO 28 J=1,54
XPE[3][1][J]=math.log(XPEKH[J])
# ALLOW FOR 9 HYDROGEN ATOMS
YPE[3][1][J]=math.log(YPEKH[J]*9.0*1.E-24)
28 CONTINUE
# LOAD RAYLEIGH COMPTON AND PAIR PRODUCTION X-SEC
DO 29 J=1,54
XCP[1][J]=math.log(XCOMC[J])
XCP[2][J]=math.log(XCOMN[J])
XCP[3][J]=math.log(XCOMH[J])
YRY[1][J]=math.log(YRAYC[J]*3.0D-24)
YRY[2][J]=math.log(YRAYN[J]*1.0D-24)
YRY[3][J]=math.log(YRAYH[J]*9.0D-24)
YCP[1][J]=math.log(YCOMC[J]*3.0D-24)
YCP[2][J]=math.log(YCOMN[J]*1.0D-24)
YCP[3][J]=math.log(YCOMH[J]*9.0D-24)
YPP[1][J]=math.log(YPAPC[J]*3.0D-24)
YPP[2][J]=math.log(YPAPN[J]*1.0D-24)
YPP[3][J]=math.log(YPAPH[J]*9.0D-24)
29 CONTINUE
# LOAD RAYLEIGH AND COMPTON FORM FACTORS
DO 39 J=1,45
FFAR[1][J]=FFRC[J]
FFAR[2][J]=FFRN[J]
FFAR[3][J]=FFRH[J]
FFAC[1][J]=FFCC[J]
FFAC[2][J]=FFCN[J]
FFAC[3][J]=FFCH[J]
39 CONTINUE
return
# end
def CGAS45(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS46(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS47(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS48(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS49(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS50(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS51(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS52(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS53(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS54(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS55(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS56(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS57(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS58(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS59(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS60(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS61(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS62(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS63(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS64(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS65(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS66(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS67(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS68(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS69(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS70(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS71(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS72(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS73(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS74(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS75(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS76(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS77(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS78(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS79(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
def CGAS80(PRSH,PRSHBT,ESH,AUG,RAD,XPE,YPE,XCP,YRY,YCP,YPP,FFAR,FFAC,IZ,AMZ,INIOCC):
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
DIMENSION PRSH(3,17,17),PRSHBT(3,17),ESH(3,17),AUG(3,17,17,17),RAD[3,17,17],XPE(3,17,60),YPE(3,17,60),XCP(3,54),YRY(3,54),YCP(3,54),YPP(3,54),FFAR(3,45),FFAC(3,45),IZ[3],AMZ[3],INIOCC(3,17)
#
return
# end
'''
GASN
Arguments
Argument
Description
Q
QIN
NIN
E
EIN
NAME
VIRIAL
EOBY
PEQEL
PEQIN
PENFRA
KEL
KIN
QION
PEQION
EION
NION
QATT
NATT
QNULL
NNULL
SCLN
NC0
EC0
WKLM
EFL
NG1
EG1
NG2
EG2
IZBR
LEGAS
ISHELL
IONMODEL
ESPLIT
SCRPT
SCRPTN
Pseudo-Code
importmathimportsysimportconfimportnumpydefGAS1(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N) globalECHARG,EMASS,AMU,PIR2globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN#COMMON/MIX2/globalEG#(20000)globalEROOT#(20000)globalQT1#(20000)globalQT2#(20000)globalQT3#(20000)globalQT4#(20000)#COMMON/DENS/globalDEN#(20000)#DIMENSION PEQEL=[[0forxinrange(6)]foryinrange(20000)]PEQIN=[[0forxinrange(250)]foryinrange(20000)]KIN=[0forxinrange(250)]KEL=[0forxinrange(6)]#DIMENSION QION=[[0forxinrange(30)]foryinrange(20000)]PEQION=[[0forxinrange(30)]foryinrange(20000)]EION=[0forxinrange(30)]EOBY=[0forxinrange(30)]#DIMENSION NC0=[0forxinrange(30)]EC0=[0forxinrange(30)]WKLM=[0forxinrange(30)]EFL=[0forxinrange(30)]NG1=[0forxinrange(30)]EG1=[0forxinrange(30)]NG2=[0forxinrange(30)]EG2=[0forxinrange(30)]IZBR=[0forxinrange(250)]LEGAS=[0forxinrange(30)]ISHELL=[0forxinrange(30)]#DIMENSION QATT=[[0forxinrange(8)]foryinrange(20000)]QNULL=[[0forxinrange(10)]foryinrange(20000)]SCLN=[0forxinrange(10)]ESPLIT=[[0forxinrange(5)]foryinrange(20)]#DIMENSION Q=[[0forxinrange(6)]foryinrange(20000)]QIN=[[0forxinrange(250)]foryinrange(20000)]E=[0forxinrange(6)]EIN=[0forxinrange(250)]PENFRA=[[0forxinrange(3)]foryinrange(250)]#DIMENSION XEN=[0forxinrange(163)]YELM=[0forxinrange(163)]YELT=[0forxinrange(163)]YEPS=[0forxinrange(163)]XVBV4=[0forxinrange(11)]YVBV4=[0forxinrange(11)]XVBV1=[0forxinrange(11)]YVBV1=[0forxinrange(11)]XVBV3=[0forxinrange(11)]YVBV3=[0forxinrange(11)]XVIB5=[0forxinrange(12)]YVIB5=[0forxinrange(12)]XVIB6=[0forxinrange(12)]YVIB6=[0forxinrange(12)]XTR1=[0forxinrange(12)]YTR1=[0forxinrange(12)]XTR2=[0forxinrange(11)]YTR2=[0forxinrange(11)]XTR3=[0forxinrange(11)]YTR3=[0forxinrange(11)]XCF3=[0forxinrange(37)]YCF3=[0forxinrange(37)]XCF2=[0forxinrange(31)]YCF2=[0forxinrange(31)]XCF1=[0forxinrange(28)]YCF1=[0forxinrange(28)]XCF32=[0forxinrange(25)]YCF32=[0forxinrange(25)]XCF0=[0forxinrange(27)]YCF0=[0forxinrange(27)]XC0F=[0forxinrange(27)]YC0F=[0forxinrange(27)]XCF22=[0forxinrange(25)]YCF22=[0forxinrange(25)]XCF=[0forxinrange(22)]YCF=[0forxinrange(22)]XCFF=[0forxinrange(24)]YCFF=[0forxinrange(24)]XCF2F=[0forxinrange(25)]YCF2F=[0forxinrange(25)]XCF3F=[0forxinrange(26)]YCF3F=[0forxinrange(26)]XATT=[0forxinrange(11)]YATT=[0forxinrange(11)]XKSHC=[0forxinrange(81)]YKSHC=[0forxinrange(81)]XKSHF=[0forxinrange(79)]YKSHF=[0forxinrange(79)]IOFFN=[0forxinrange(46)]IOFFION=[0forxinrange(12)]#DIMENSION Z6T=[0forxinrange(25)]Z9T=[0forxinrange(25)]EBRM=[0forxinrange(25)]# CHARACTER*50 SCRPT=""#(300)SCRPTN=""#[10] # CHARACTER*25 NAME=""XEN=[0.0,.001,.002,.003,.004,.005,.006,.007,.008,.009,0.01,.012,.014,.016,.018,0.02,.025,0.03,.035,0.04,.045,0.05,.055,0.06,.065,0.07,.075,0.08,.085,0.09,0.10,0.12,0.14,0.17,0.20,0.24,0.30,0.40,0.50,0.60,0.80,1.00,1.20,1.40,1.70,2.00,3.00,5.00,6.00,7.00,8.00,9.00,10.0,12.0,15.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.,125.,150.,200.,250.,300.,400.,500.,600.,700.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.,1.25*10**4,1.50*10**4,1.75*10**4,2.0*10**4,2.5*10**4,3.0*10**4,3.5*10**4,4.0*10**4,4.5*10**4,5.0*10**4,6.0*10**4,7.0*10**4,8.0*10**4,9.0*10**4,1.0*10**5,1.25*10**5,1.5*10**5,1.75*10**5,2.0*10**5,2.5*10**5,3.0*10**5,3.5*10**5,4.0*10**5,4.5*10**5,5.0*10**5,6.0*10**5,7.0*10**5,8.0*10**5,9.0*10**5,1.0*10**6,1.25*10**6,1.5*10**6,1.75*10**6,2.0*10**6,2.5*10**6,3.0*10**6,3.5*10**6,4.0*10**6,4.5*10**6,5.0*10**6,6.0*10**6,7.0*10**6,8.0*10**6,9.0*10**6,1.0*10**7,1.25*10**7,1.5*10**7,1.75*10**7,2.0*10**7,2.5*10**7,3.0*10**7,3.5*10**7,4.0*10**7,4.5*10**7,5.0*10**7,6.0*10**7,7.0*10**7,8.0*10**7,9.0*10**7,1.0*10**8,1.25*10**8,1.5*10**8,1.75*10**8,2.0*10**8,2.5*10**8,3.0*10**8,3.5*10**8,4.0*10**8,4.5*10**8,5.0*10**8,6.0*10**8,7.0*10**8,8.0*10**8,9.0*10**8,1.0*10**9]# ELASTIC MOMENTUM TRANSFER X-SECTIONYELM=[12.5,8.70,7.00,5.95,5.20,4.70,4.30,3.95,3.65,3.40,3.20,2.85,2.58,2.37,2.19,2.04,1.77,1.57,1.41,1.30,1.20,1.12,1.05,0.99,0.93,0.88,0.84,0.80,0.76,0.72,0.65,0.48,0.35,0.29,0.29,0.34,0.47,0.87,1.35,1.85,2.95,4.00,4.75,5.15,5.45,5.65,5.80,6.00,6.10,6.30,6.50,6.80,7.20,8.30,9.50,10.1,9.60,8.80,7.85,6.72,5.90,5.06,4.16,3.57,2.99,1.92,1.53,1.20,0.88,0.66,.525,0.43,0.37,0.30,.228,.169,.131,.104,.0711,.0519,.0397,.0314,.0212,.0153,.0117,.00918,.00743,.00615,.00412,.00297,2.25*10**-3,1.77*10**-3,1.18*10**-3,8.51*10**-4,6.45*10**-4,5.08*10**-4,4.12*10**-4,3.41*10**-4,2.47*10**-4,1.88*10**-4,1.49*10**-4,1.21*10**-4,1.01*10**-4,6.88*10**-5,5.05*10**-5,3.90*10**-5,3.13*10**-5,2.17*10**-5,1.62*10**-5,1.27*10**-5,1.03*10**-5,8.56*10**-6,7.27*10**-6,5.49*10**-6,4.34*10**-6,3.54*10**-6,2.96*10**-6,2.52*10**-6,1.81*10**-6,1.36*10**-6,1.07*10**-6,8.68*10**-7,6.08*10**-7,4.53*10**-7,3.51*10**-7,2.82*10**-7,2.31*10**-7,1.93*10**-7,1.42*10**-7,1.08*10**-7,8.59*10**-8,6.98*10**-8,5.79*10**-8,3.89*10**-8,2.80*10**-8,2.12*10**-8,1.66*10**-8,1.10*10**-8,7.86*10**-9,5.90*10**-9,4.59*10**-9,3.68*10**-9,3.01*10**-9,2.13*10**-9,1.58*10**-9,1.22*10**-9,9.75*10**-10,7.92*10**-10,5.10*10**-10,3.56*10**-10,2.62*10**-10,2.01*10**-10,1.29*10**-10,8.95*10**-11,6.58*10**-11,5.04*10**-11,3.98*10**-11,3.23*10**-11,2.24*10**-11,1.65*10**-11,1.26*10**-11,9.96*10**-12,8.07*10**-12]# ELASTIC X-SECTION ASSUME*10** ISOTROPIC BELOW 0.6 EVYELT=[12.5,8.70,7.00,5.95,5.20,4.70,4.30,3.95,3.65,3.40,3.20,2.85,2.58,2.37,2.19,2.04,1.77,1.57,1.41,1.30,1.20,1.12,1.05,0.99,0.93,0.88,0.84,0.80,0.76,0.72,0.65,0.48,0.35,0.29,0.29,0.34,0.47,0.87,1.35,1.85,3.77,4.89,5.66,6.43,7.43,8.34,10.6,12.5,11.6,11.0,11.0,11.7,12.9,14.5,16.8,17.6,18.1,17.2,15.9,14.9,14.3,13.0,11.7,10.5,9.65,8.10,6.83,6.02,5.02,4.36,3.83,3.40,3.08,2.65,2.17,1.89,1.55,1.40,1.19,1.11,.921,.822,.696,.568,.492,.435,.390,.353,.286,.241,.209,.185,.150,.127,.111,.0984,.0888,.0810,.0694,.0611,.0522,.050,.0461,.0391,.0344,.0311,.0287,.0253,.0230,.0214,.0202,.0193,.0186,.0176,.0169,.0164,.0160,.0157,.0152,.0148,.0146,.0145,.0143,.0142,.0141,.0141,.0140,.0140,.0140,.0139,.0139,.0139,.0139,.0139,.01389,.01389,.01389,26*.01388]# EPSILON FOR ELASTIC ANGULAR *10**ISTRIBUTION# EPSILON =1-YEPSYEPS=[40*1.0,.68056,.73101,.76161,.70664,.61270,.53797,.37888,.30604,.35505,.40830,.42979,.41826,.39140,.40794,.39986,.40963,.36006,.33951,.32037,.27671,.23985,.21859,.18948,.17666,.15292,.10180,.09358,.07880,.06538,.05301,.04608,.04117,.03833,.03532,.03188,.02561,.02374,.019986,.015005,.010925,.009845,.008442,.006348,.005446,.004667,.004028,.003554,.003186,.002530,.002096,.001783,.001549,.001228,.001016,.000859,.000749,.000661,.000590,.000486,.000411,3.53*10**-4,3.12*10**-4,2.78*10**-4,2.17*10**-4,1.76*10**-4,1.47*10**-4,1.26*10**-4,9.61*10**-5,7.68*10**-5,6.32*10**-5,5.32*10**-5,4.56*10**-5,3.97*10**-5,3.10*10**-5,2.30*10**-5,2.07*10**-5,1.74*10**-5,1.49*10**-5,1.07*10**-5,8.04*10**-6,6.28*10**-6,5.05*10**-6,3.47*10**-6,2.54*10**-6,1.94*10**-6,1.53*10**-6,1.24*10**-6,1.02*10**-6,7.33*10**-7,5.51*10**-7,4.30*10**-7,3.44*10**-7,2.82*10**-7,1.84*10**-7,1.30*10**-7,9.62*10**-8,7.42*10**-8,4.80*10**-8,3.35*10**-8,2.47*10**-8,1.89*10**-8,1.50*10**-8,1.21*10**-8,8.388*10**-9,6.133*10**-9,4.669*10**-9,3.666*10**-9,2.950*10**-9,1.858*10**-9,1.271*10**-9,9.21*10**-10,6.97*10**-10,4.37*10**-10,2.98*10**-10,2.16*10**-10,1.63*10**-10,1.28*10**-10,1.02*10**-10,7.00*10**-11,5.10*10**-11,3.80*10**-11,3.00*10**-11,2.40*10**-11]# VIBRATION V4 (RESONANCE ONLY) SCALE*10** BY 1/E**3 ABOVE 50EV XVBV4=[0.0783,4.00,5.00,6.00,7.00,8.00,9.00,10.0,15.0,20.0,50.0]YVBV4=[0.0,0.0,0.05,0.35,1.06,1.40,1.26,0.97,0.07,.022,1.*10**-3]# VIBRATION V1 (RESONANCE ONLY) SCALE*10** BY 1/E**3 ABOVE 50EVXVBV1=[0.1126,4.00,5.00,6.00,7.00,8.00,9.00,10.0,15.0,20.0,50.0]YVBV1=[0.0,0.0,.016,.118,0.36,0.47,0.42,0.33,.023,.007,3.*10**-4]# VIBRATION V3 (RESONANCE ONLY) SCALE*10** BY 1/E**3 ABOVE 50EVXVBV3=[0.1588,4.00,5.00,6.00,7.00,8.00,9.00,10.0,15.0,20.0,50.0]YVBV3=[0.0,0.0,0.15,1.05,3.19,4.20,3.78,2.90,0.20,.067,3.*10**-3]# VIBRATION HARMONIC 2(V3) SCALE*10** BY 1/E ABOVE 50EVXVIB5=[0.3176,1.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,15.0,20.0,50.0]YVIB5=[0.0,.001,0.01,.031,0.23,0.67,0.87,0.79,0.60,.042,.014,.0006]# VIBRATION HARMONIC (3(V3) + ALL OTHER HARMONICS)# SCALE*10** BY 1/E ABOVE 50 EVXVIB6=[0.4764,1.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,15.0,20.0,50.0]YVIB6=[0.0,.0009,.045,.117,.774,2.32,3.06,2.75,2.12,.138,.037,.0018]## *10**ISSOCATIVE IONISATION :# WEIGHTE*10** AVERAGE OF SIEGLAFF AN*10** NISHIMURA FOR SINGLE IONISATION AN*10**# *10**OUBLE IONISATION.# FOR *10**OUBLE IONISATION WITH BREAKUP : BRUCE ET AL CPL 190(1992)285 # NB. (USE*10** NISHIMURA ONLY BELOW 30EV)#XCF3=[15.7,16.0,17.0,18.0,19.0,20.0,22.0,24.0,26.0,28.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF3=[0.0,.032,.075,.128,.191,.276,.448,.610,.866,1.08,1.26,1.72,2.05,2.35,2.62,2.94,3.13,3.24,3.32,3.35,3.38,3.34,3.27,3.17,3.00,2.81,2.54,2.28,2.09,1.77,1.56,1.32,1.15,1.05,.937,.804,.692]XCF2=[21.47,24.0,26.0,28.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF2=[0.00,.003,.010,.032,.060,.131,.148,.162,.192,.221,.234,.243,.256,.263,.266,.260,.257,.240,.233,.212,.186,.169,.152,.131,.113,.0961,.0834,.0763,.0681,.0585,.0503]# CF+ XCF1=[29.14,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF1=[0.00,.0024,.0145,.0583,.107,.156,.185,.226,.239,.238,.266,.274,.259,.261,.234,.227,.186,.146,.122,.113,.0909,.0820,.0695,.0603,.0552,.0493,.0423,.0364]# *10**ATA CF3 2+#yet to be XCF32=[41.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF32=[0.00,.0053,.0083,.0104,.0135,.0154,.0164,.0187,.0208,.0198,.0208,.0198,.0187,.0167,.0135,.0114,.0101,.0079,.0065,.0055,.0048,.0044,.0039,.0033,.0029]# C+ XCF0=[34.77,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF0=[0.0,.0005,.0093,.0426,.0884,.134,.172,.193,.207,.228,.245,.246,.249,.236,.222,.191,.166,.144,.134,.104,.0895,.0759,.0658,.0602,.0538,.0462,.0397]# F+ XC0F=[34.5,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YC0F=[0.0,.0019,.0085,.0271,.0561,.1051,.154,.1937,.212,.289,.363,.408,.439,.461,.440,.378,.316,.264,.227,.174,.170,.144,.125,.114,.102,.0874,.0753]# CF2 2+#yet to beXCF22=[42.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF22=[0.0,.0002,.0033,.0095,.0194,.0287,.0348,.0409,.0483,.0521,.0522,.0517,.0467,.0458,.0367,.0303,.0280,.0218,.0164,.0139,.0120,.0110,.0098,.0084,.0073]# ION PAIRS:# (C+ , F+)XCF=[63.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF=[0.0,.002,.009,.020,.025,.038,.048,.056,.062,.059,.068,.049,.043,.036,.025,.019,.016,.014,.012,.011,.0096,.0082]# (CF+ , F+)XCFF=[43.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCFF=[0.0,.001,.009,.028,.049,.077,.084,.111,.125,.136,.139,.126,.133,.109,.095,.078,.059,.040,.034,.030,.027,.024,.021,.018]# (CF2 + , F+)XCF2F=[40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF2F=[0.0,.001,.004,.013,.024,.034,.043,.046,.053,.054,.057,.056,.049,.050,.042,.036,.030,.023,.015,.013,.011,.0104,.0093,.0080,.0069]# (CF3 + , F+)XCF3F=[36.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,200.,250.,300.,400.,500.,600.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.]YCF3F=[0.0,.001,.003,.006,.014,.023,.030,.037,.038,.042,.041,.044,.045,.040,.038,.033,.028,.023,.018,.012,.0105,.0091,.0083,.0074,.0064,.0055]# CARBON K-SHELL IONISATION X-SECTIONXKSHC=[285.,298.,307.,316.,325.,335.,345.,365.,398.,422.,447.,473.,501.,531.,613.,668.,708.,750.,817.,917.,1000.,1122.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.0*10**4,1.50*10**4,2.05*10**4,2.51*10**4,3.07*10**4,4.10*10**4,5.01*10**4,6.13*10**4,7.08*10**4,8.18*10**4,1.0*10**5,1.54*10**5,2.05*10**5,2.99*10**5,4.10*10**5,5.01*10**5,6.13*10**5,7.08*10**5,8.18*10**5,1.0*10**6,1.25*10**6,1.5*10**6,2.05*10**6,3.07*10**6,4.10*10**6,5.01*10**6,6.13*10**6,7.08*10**6,8.18*10**6,1.0*10**7,1.5*10**7,2.05*10**7,3.07*10**7,4.10*10**7,5.01*10**7,6.13*10**7,7.08*10**7,8.18*10**7,1.0*10**8,1.5*10**8,2.05*10**8,3.07*10**8,4.10*10**8,5.01*10**8,6.13*10**8,7.08*10**8,8.18*10**8,1.0*10**9]YKSHC=[0.00,1.66*10**-4,3.48*10**-4,5.25*10**-4,6.96*10**-4,8.63*10**-4,1.02*10**-3,1.33*10**-3,1.75*10**-3,2.01*10**-3,2.24*10**-3,2.46*10**-3,2.66*10**-3,2.84*10**-3,3.21*10**-3,3.38*10**-3,3.47*10**-3,3.55*10**-3,3.65*10**-3,3.72*10**-3,3.75*10**-3,3.74*10**-3,3.68*10**-3,3.57*10**-3,3.45*10**-3,3.31*10**-3,3.19*10**-3,3.07*10**-3,2.91*10**-3,2.66*10**-3,2.25*10**-3,1.95*10**-3,1.55*10**-3,1.21*10**-3,8.97*10**-4,7.07*10**-4,6.07*10**-4,5.21*10**-4,4.21*10**-4,3.63*10**-4,3.14*10**-4,2.84*10**-4,2.57*10**-4,2.25*10**-4,1.74*10**-4,1.50*10**-4,1.28*10**-4,1.15*10**-4,1.09*10**-4,1.05*10**-4,1.03*10**-4,1.02*10**-4,1.01*10**-4,1.005*10**-4,1.01*10**-4,1.03*10**-4,1.07*10**-4,1.11*10**-4,1.14*10**-4,1.17*10**-4,1.20*10**-4,1.22*10**-4,1.25*10**-4,1.32*10**-4,1.38*10**-4,1.45*10**-4,1.50*10**-4,1.54*10**-4,1.58*10**-4,1.60*10**-4,1.63*10**-4,1.67*10**-4,1.74*10**-4,1.80*10**-4,1.87*10**-4,1.92*10**-4,1.96*10**-4,2.00*10**-4,2.02*10**-4,2.05*10**-4,2.09*10**-4]# FLUORINE K-SHELL IONISATION X-SECTIONXKSHF=[685.4,705.,726.,747.,770.,792.,816.,840.,865.,890.,916.,944.,1000.,1090.,1188.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3758.,4467.,5158.,5957.,7079.,1.0*10**4,1.26*10**4,1.50*10**4,2.05*10**4,2.51*10**4,3.07*10**4,4.10*10**4,5.01*10**4,6.13*10**4,7.08*10**4,8.18*10**4,1.0*10**5,1.50*10**5,2.05*10**5,2.99*10**5,4.10*10**5,5.01*10**5,6.13*10**5,7.08*10**5,8.18*10**5,1.00*10**6,1.26*10**6,1.50*10**6,2.05*10**6,3.07*10**6,4.10*10**6,5.01*10**6,6.13*10**6,7.08*10**6,8.18*10**6,1.00*10**7,1.26*10**7,1.50*10**7,2.05*10**7,3.07*10**7,4.10*10**7,5.01*10**7,6.13*10**7,7.08*10**7,8.18*10**7,1.00*10**8,1.26*10**8,1.50*10**8,2.05*10**8,3.07*10**8,4.10*10**8,5.01*10**8,6.13*10**8,7.08*10**8,8.18*10**8,1.00*10**9]YKSHF=[0.00,3.39*10**-5,6.77*10**-5,1.00*10**-4,1.32*10**-4,1.63*10**-4,1.92*10**-4,2.21*10**-4,2.48*10**-4,2.75*10**-4,3.00*10**-4,3.25*10**-4,3.71*10**-4,4.33*10**-4,4.87*10**-4,5.34*10**-4,5.96*10**-4,6.32*10**-4,6.57*10**-4,6.69*10**-4,6.77*10**-4,6.79*10**-4,6.68*10**-4,6.33*10**-4,5.97*10**-4,5.62*10**-4,5.25*10**-4,4.80*10**-4,3.93*10**-4,3.41*10**-4,3.04*10**-4,2.45*10**-4,2.13*10**-4,1.85*10**-4,1.51*10**-4,1.31*10**-4,1.14*10**-4,1.04*10**-4,9.46*10**-5,8.32*10**-5,6.58*10**-5,5.60*10**-5,4.80*10**-5,4.35*10**-5,4.15*10**-5,4.00*10**-5,3.93*10**-5,3.89*10**-5,3.85*10**-5,3.86*10**-5,3.89*10**-5,3.98*10**-5,4.17*10**-5,4.33*10**-5,4.45*10**-5,4.58*10**-5,4.68*10**-5,4.78*10**-5,4.92*10**-5,5.09*10**-5,5.21*10**-5,5.45*10**-5,5.75*10**-5,5.96*10**-5,6.12*10**-5,6.27*10**-5,6.38*10**-5,6.49*10**-5,6.64*10**-5,6.82*10**-5,6.95*10**-5,7.19*10**-5,7.50*10**-5,7.72*10**-5,7.88*10**-5,8.03*10**-5,8.14*10**-5,8.25*10**-5,8.40*10**-5]# ATTACHMENT XATT=[4.00,4.10,5.00,6.00,7.00,8.00,9.00,10.0,11.0,12.0,100.]YATT=[.0,.00001,.00087,.0062,.0125,.0134,.0047,.0009,.0004,.00001,.0000001]## NEUTRAL DISSOCIATION # DIPOLE NEUTRAL DISSOCIATION GIVEN ANALYTICALLY# NON-DIPOLE NEUTRAL DISSOCIATION : XTR1=[11.5,12.5,14.0,15.0,16.0,17.0,19.0,21.0,24.0,27.0,31.0,34.0]YTR1=[0.00,.005,.017,.026,.029,.031,.035,.035,.031,.026,.019,.015]XTR2=[12.5,14.0,15.0,16.0,17.0,19.0,21.0,24.0,27.0,31.0,34.0]YTR2=[0.00,.030,.056,.064,.068,.075,.077,.068,.057,.042,.033]XTR3=[14.0,15.0,16.0,17.0,19.0,21.0,24.0,27.0,31.0,34.0,39.0]YTR3=[0.00,.087,.180,.210,.237,.250,.250,.237,.187,.145,.107]# BREMSTRAHLUNG X-SECTION WITH CUT OFF Z6T=[298.,178.,85.2,47.5,26.3,12.2,7.06,4.45,3.06,2.82,2.89,2.99,3.08,3.13,3.18,3.25,3.31,3.39,3.44,3.49,3.52,3.54,3.55,3.57,3.57]Z9T=[573.,358.,179.,101.6,57.3,26.5,15.4,9.63,6.52,5.92,6.01,6.18,6.35,6.43,6.52,6.65,6.75,6.87,6.95,7.02,7.07,7.10,7.12,7.13,7.14]EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]# ----------------------------------------------------------------------# 2015: UPDATE INCLUDES NEW OSCILATOR STRENGTH TO EXCITATIONS WHICH# ARE ALL DISSOCIATIVE. INTRODUCED ALL DISSOCIATIVE IONISATION # CHANNELS FROM THE 3 GROUPS: LINDSAY , NISHIMURA AND BONHAM# USED WEIGHTED AVERAGE TO GET CONSISTENT COUNTING AND GROSS # IONISATIONS.# # 2012: UPDATE INCLUDES CARBON AND FLUORINE K-SHELL IONISATION X-SECS. # NEW ANALYSIS UPDATED TO MARCH 2008# ALLOWS SUPERELASTIC SCATTERING TO V2,V4,V1 AND V3 VIBRATIONAL LEVELS# BORN ANGULAR DISTRIBUTION FOR V4 AND V3 VIBRATIONAL LEVELS# INCLUDED NEW IONISATION X-SECTIONS BY NISHIMURA AND READJUSTED# DISSOCIATION X-SECTION TO FIT TOWNS# end MEASUREMENTS.# ELASTIC X-SECTION BELOW 0.6 EV ASSUMED ISOTROPIC SINCE NO ACCURATE # EXIST ON ELASTIC SCATTERING AT THE RAMSAUER MINIMUM.# THE ELASTIC X-SECTION BETWEEN 0.0 AND 0.6 EV IS NOT SENSITIVE# ENOUGH TO DRIFT AND DIFFUSION TO ACCURATELY PREDICT THE # POSITION OF THE RAMSAUER MINIMUM. THE ABSOLUTE VALUE OF THE ELASTIC# X-SECTION BELOW THE RAMSAUER MINIMUM ( LESS THAN 0.18 EV) SEEMS TO # BE LOWER THAN PREDICTIONS BY MANN AND LINDER OR FIELD ET AL. # THE TEMPERATURE DEP# endENCE OF THE LOW FIELD MOBILITY CF GEE AND # FREEMAN WHICH IS REPRODUCED BY THIS X-SECTION SET SEEMS ALSO TO # EXCLUDE HIGHER ELASTIC X-SECTIONS IN THE REGION BETWEEN 0.02 AND # 0.1 EV.# THE BASE NOW FITS NAKAMURAS DRIFT VELOCITY IN CF4 AND CF4 ARGON# MIXTURES TO WITHIN EXPERIMENTAL ERRORS . NAKAMURAS IS MUCH MORE # ACCURATE THAN HUNTERS SO WE REJECT HUNTERS IN THE NEW # ANALYSIS.# THE TOWNS# end IONISATION AND ATTACHMENT RATES AGREE WELL WITH THE # PUBLISHED .# ---------------------------------------------------------------if(NANISO==0):NAME=' CF4 ISOTROPIC 2015 'else:NAME=' CF4 ANISOTROPIC 2015 '# endif #--------------------------------------------------------------------# EMASS2=1021997.804API=numpy.arccos(-1.00)A0=0.52917720859*10**-8RY=13.60569193BBCONST=16.0*API*A0*A0*RY*RY/EMASS2## BORN BETHE VALUES FOR IONISATIONCONST=1.873884*10**-20AM2=9.50C=100.9#NCF3=37NCF2=31NCF1=28NCF32=25NCF0=27NC0F=27NCF22=25NCF=22NCFF=24NCF2F=25NCF3F=26#NION=12NATT=1NIN=46NNULL=0IONMODEL=0## ARRAY SIZENASIZE=20000#NBREM=25forJinrange(1,NIN):IZBR[J]=0IZBR[47]=6IZBR[48]=9#forJinrange(1,6):KEL[J]=NANISO# ASSUME CAPITELLI LONGO TYPE OF ANGULAR DISTRIBUTION FOR # ALL VIBRATIONAL LEVELS AND THE SUM OF HIGHER HARMONICS forJinrange(1,10):KIN[J]=1# ANGULAR DISTRIBUTION FOR DISS.EXCITATION IS GIVEN BY OKHRIMOVSKKYforJinrange(11,NIN):KIN[J]=NANISO# RATIO OF MOMENTUM TRANSFER TO TOTAL X-SEC FOR RESONANCE# PART OF VIBRATIONAL X-SECTIONSRAT=0.75#NDATA=163NVBV4=11NVBV1=11NVBV3=11NVIB5=12NVIB6=12NATT1=11NTR1=12NTR2=11NTR3=11NKSHC=81NKSHF=79# E[1]=0.0E[2]=2.0*EMASS/(88.0043*AMU)E[3]=15.90E[4]=0.0E[5]=0.0E[6]=0.0#EION[1]=15.7EION[2]=21.47EION[3]=29.14EION[4]=34.5EION[5]=34.77EION[6]=36.0EION[7]=40.0EION[8]=41.0EION[9]=43.0EION[10]=63.0EION[11]=285.0EION[12]=685.4# OPAL BEATY IONISATION ENERGY SPLITTING forJinrange(1,10):EOBY[J]=0.58*EION[J]# OPAL BEATY SPLITTING FACTOR FOR SHELLSEOBY[11]=210.0EOBY[12]=510.0forJinrange(1,10):LEGAS[J]=0ISHELL[J]=0LEGAS[11]=1LEGAS[12]=2ISHELL[11]=1ISHELL[12]=1# SINGLE IONISATION DATAforJinrange(1,5):NC0[J]=0EC0[J]=0.0WKLM[J]=0.0EFL[J]=0.0NG1[J]=0EG1[J]=0.0NG2[J]=0EG2[J]=0.0# DOUBLE IONISATION DATAforJinrange(6,10):NC0[J]=1.0EC0[J]=1.0WKLM[J]=0.0EFL[J]=0.0NG1[J]=0EG1[J]=0.0NG2[J]=0EG2[J]=0.0# K SHELL INCLUDING FLUORESCENCENC0[11]=2EC0[11]=253.0WKLM[11]=0.0026EFL[11]=273.0NG1[11]=1EG1[11]=253.0NG2[11]=1EG2[11]=5.0NC0[12]=3EC0[12]=625.2WKLM[12]=0.010EFL[12]=668.NG1[12]=2EG1[12]=625.2NG2[12]=1EG2[12]=5.0#forJinrange(1,NION):forIinrange(1,NASIZE):if(EG[I]>EION[J]):IOFFION[J]=I-1break# endif#EIN[1]=-0.0539EIN[2]=0.0539EIN[3]=-0.0783EIN[4]=0.0783EIN[5]=-0.1126EIN[6]=0.1126EIN[7]=-0.1588EIN[8]=0.1588EIN[9]=0.3176EIN[10]=0.4764EIN[11]=11.5EIN[12]=11.63EIN[13]=11.88EIN[14]=12.13EIN[15]=12.38EIN[16]=12.50EIN[17]=12.63EIN[18]=12.88EIN[19]=13.13EIN[20]=13.38EIN[21]=13.63EIN[22]=13.88EIN[23]=14.00EIN[24]=14.13EIN[25]=14.38EIN[26]=14.63EIN[27]=14.88EIN[28]=15.13EIN[29]=15.38EIN[30]=15.63EIN[31]=15.88EIN[32]=16.13EIN[33]=16.38EIN[34]=16.63EIN[35]=16.88EIN[36]=17.13EIN[37]=17.38EIN[38]=17.63EIN[39]=17.88EIN[40]=18.13EIN[41]=18.38EIN[42]=18.63EIN[43]=18.88EIN[44]=19.13EIN[45]=19.38EIN[46]=19.63EIN[47]=0.0EIN[48]=0.0# OFFSET ENERGY FOR DISSOCIATION ANGULAR DISTRIBUTIONforNLinrange(11,46):forIinrange(1,NASIZE):if(EG[I]>abs(EIN[NL])):IOFFN[NL]=I-1break# endif#***********************************************************************# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL# ONLY DISSOCIATION X-SECTION (LEVEL 11) HAS ENOUGH ENERGY TO GIVE # POSSIBLE PENNING TRANSFERforKinrange(1,46):forLinrange(1,3):PENFRA[L,K]=0.0# PENNING TRANSFER FRACTION FOR LEVEL 11PENFRA[1][K]=0.0# PENNING TRANSFER DISTANCE IN MICRONSPENFRA[2][K]=1.0# PENNING TRANSFER TIME IN PICOSECONDSPENFRA[3][K]=1.0if(IPEN==0):passelif(PENFRA[1,11]==0.0):passelse:print(' GAS = ',NAME,' ENERGY LEVEL = ','%.4f'%EIN[11],' EV.\n',' PENNING PROBABILITY = ','%.3f'%PENFRA[1,11],' ABS.LENGTH = ','%.2f'%PENFRA[2,11],' DECAY TIME = ','%.1f'%PENFRA[3,11],'\n')#999 #*********************************************************************** SCRPT[1]=' 'SCRPT[2]=' ELASTIC ANISOTROPIC CF4 'if(NANISO==0):SCRPT[2]=' ELASTIC ISOTROPIC CF4 '# endifSCRPT[3]=' ION CF3 + ELOSS= 15.70 'SCRPT[4]=' ION CF2 + ELOSS= 21.47 'SCRPT[5]=' ION CF + ELOSS= 29.14 'SCRPT[6]=' ION F + ELOSS= 34.5 'SCRPT[7]=' ION C + ELOSS= 34.77 'SCRPT[8]=' DOUBLE ION CF3 + , F + ELOSS= 36.0 'SCRPT[9]=' DOUBLE ION CF2 + , F + ELOSS= 40.0 'SCRPT[10]=' IONS CF3 ++ OR CF2 ++ ELOSS= 41.0 'SCRPT[11]=' DOUBLE ION CF + , F + ELOSS= 43.0 'SCRPT[12]=' DOUBLE ION C + , F + ELOSS= 63.0 'SCRPT[13]=' IONISATION CARBON K-SHELL ELOSS= 285.0 'SCRPT[14]=' IONISATION FLUORINE K-SHELL ELOSS= 685.4 'SCRPT[15]=' ATTACHMENT 'SCRPT[16]=' 'SCRPT[17]=' 'SCRPT[18]=' VIB V2 ANISOTROPIC ELOSS= -0.0539 'SCRPT[19]=' VIB V2 ANISOTROPIC ELOSS= 0.0539 'SCRPT[20]=' VIB V4 ANISOTROPIC ELOSS= -0.0783 'SCRPT[21]=' VIB V4 ANISOTROPIC ELOSS= 0.0783 'SCRPT[22]=' VIB V1 ANISOTROPIC ELOSS= -0.1126 'SCRPT[23]=' VIB V1 ANISOTROPIC ELOSS= 0.1126 'SCRPT[24]=' VIB V3 ANISOTROPIC ELOSS= -0.1588 'SCRPT[25]=' VIB V3 ANISOTROPIC ELOSS= 0.1588 'SCRPT[26]=' VIB 2V3 ANISOTROPIC ELOSS= 0.3176 'SCRPT[27]=' VIB HARMONIC ANISOTROPIC ELOSS= 0.4764 'SCRPT[28]=' NEUTRAL DISS NON-DIPOLE ELOSS= 11.5 'SCRPT[29]=' NEUTRAL DISS DIPOLE F=0.000189 ELOSS= 11.63 'SCRPT[30]=' NEUTRAL DISS DIPOLE F=0.001085 ELOSS= 11.88 'SCRPT[31]=' NEUTRAL DISS DIPOLE F=0.004807 ELOSS= 12.13 'SCRPT[32]=' NEUTRAL DISS DIPOLE F=0.008819 ELOSS= 12.38 'SCRPT[33]=' NEUTRAL DISS NON-DIPOLE ELOSS= 12.50 'SCRPT[34]=' NEUTRAL DISS DIPOLE F=0.008918 ELOSS= 12.63 'SCRPT[35]=' NEUTRAL DISS DIPOLE F=0.008420 ELOSS= 12.88 'SCRPT[36]=' NEUTRAL DISS DIPOLE F=0.02531 ELOSS= 13.13 'SCRPT[37]=' NEUTRAL DISS DIPOLE F=0.09553 ELOSS= 13.38 'SCRPT[38]=' NEUTRAL DISS DIPOLE F=0.11193 ELOSS= 13.63 'SCRPT[39]=' NEUTRAL DISS DIPOLE F=0.10103 ELOSS= 13.88 'SCRPT[40]=' NEUTRAL DISS NON-DIPOLE ELOSS= 14.00 'SCRPT[41]=' NEUTRAL DISS DIPOLE F=0.06902 ELOSS= 14.13 'SCRPT[42]=' NEUTRAL DISS DIPOLE F=0.03968 ELOSS= 14.38 'SCRPT[43]=' NEUTRAL DISS DIPOLE F=0.02584 ELOSS= 14.63 'SCRPT[44]=' NEUTRAL DISS DIPOLE F=0.02071 ELOSS= 14.88 'SCRPT[45]=' NEUTRAL DISS DIPOLE F=0.03122 ELOSS= 15.13 'SCRPT[46]=' NEUTRAL DISS DIPOLE F=0.05580 ELOSS= 15.38 'SCRPT[47]=' NEUTRAL DISS DIPOLE F=0.10187 ELOSS= 15.63 'SCRPT[48]=' NEUTRAL DISS DIPOLE F=0.09427 ELOSS= 15.88 'SCRPT[49]=' NEUTRAL DISS DIPOLE F=0.05853 ELOSS= 16.13 'SCRPT[50]=' NEUTRAL DISS DIPOLE F=0.06002 ELOSS= 16.38 'SCRPT[51]=' NEUTRAL DISS DIPOLE F=0.05647 ELOSS= 16.63 'SCRPT[52]=' NEUTRAL DISS DIPOLE F=0.04885 ELOSS= 16.88 'SCRPT[53]=' NEUTRAL DISS DIPOLE F=0.04036 ELOSS= 17.13 'SCRPT[54]=' NEUTRAL DISS DIPOLE F=0.03298 ELOSS= 17.38 'SCRPT[55]=' NEUTRAL DISS DIPOLE F=0.02593 ELOSS= 17.63 'SCRPT[56]=' NEUTRAL DISS DIPOLE F=0.01802 ELOSS= 17.88 'SCRPT[57]=' NEUTRAL DISS DIPOLE F=0.01287 ELOSS= 18.13 'SCRPT[58]=' NEUTRAL DISS DIPOLE F=0.00830 ELOSS= 18.38 'SCRPT[59]=' NEUTRAL DISS DIPOLE F=0.00698 ELOSS= 18.63 'SCRPT[60]=' NEUTRAL DISS DIPOLE F=0.00581 ELOSS= 18.88 'SCRPT[61]=' NEUTRAL DISS DIPOLE F=0.00502 ELOSS= 19.13 'SCRPT[62]=' NEUTRAL DISS DIPOLE F=0.00398 ELOSS= 19.38 'SCRPT[63]=' NEUTRAL DISS DIPOLE F=0.00189 ELOSS= 19.63 'SCRPT[64]=' BREMSSTRAHLUNG FROM CARBON ATOM 'SCRPT[65]=' BREMSSTRAHLUNG FROM FLUORINE ATOMS '# VIBRATIONAL DEGENERACYDEGV4=3.0DEGV3=3.0DEGV2=2.0DEGV1=1.0# CALC VIB LEVEL POPULATIONSAPOPV2=DEGV2*math.exp(EIN[1]/AKT)APOPV4=DEGV4*math.exp(EIN[3]/AKT)APOPV1=DEGV1*math.exp(EIN[5]/AKT)APOPV3=DEGV3*math.exp(EIN[7]/AKT)APOPGS=1.0APOPSUM=APOPGS+APOPV2+APOPV4+APOPV1+APOPV3APOPGS=1.0/APOPSUMAPOPV2=APOPV2/APOPSUMAPOPV4=APOPV4/APOPSUMAPOPV1=APOPV1/APOPSUMAPOPV3=APOPV3/APOPSUM# RENORMALISE GROUND STATE TO ALLOW FOR EXCITATION X-SEC FROM# EXCITED VIBRATIONAL STATES (EXACT APPROX IF THE HOT TRANSITIONS HAVE# EQUAL X-SEC TO THE GROUND STATE TRANSITIONS)# APOPGS=1.0## EN=-ESTEP/2.0 forIinrange(1,NSTEP):EN=EG[I]# EN=EN+ESTEP GAMMA1=(EMASS2+2.00*EN)/EMASS2GAMMA2=GAMMA1*GAMMA1BETA=math.sqrt(1.00-1.00/GAMMA2)BETA2=BETA*BETA#flag20=0forJinrange[2][N]:if(EN<=XEN[J]):flag20=1breakif(flag20==0):J=NDATAA=(YELM[J]-YELM[J-1])/(XEN[J]-XEN[J-1])B=(XEN[J-1]*YELM[J]-XEN[J]*YELM[J-1])/(XEN[J-1]-XEN[J])QMOM=(A*EN+B)*1.*10**-16A=(YELT[J]-YELT[J-1])/(XEN[J]-XEN[J-1])B=(XEN[J-1]*YELT[J]-XEN[J]*YELT[J-1])/(XEN[J-1]-XEN[J])QELA=(A*EN+B)*1.*10**-16A=(YEPS[J]-YEPS[J-1])/(XEN[J]-XEN[J-1])B=(XEN[J-1]*YEPS[J]-XEN[J]*YEPS[J-1])/(XEN[J-1]-XEN[J])PQ2=(A*EN+B)# EPS CORRECTED FOR 1-EPSPQ2=1.0-PQ2PQ1=0.5+(QELA-QMOM)/QELAif(NANISO==0):PEQEL[2][I]=0.5if(NANISO==1):PEQEL[2][I]=PQ1if(NANISO==2):PEQEL[2][I]=PQ2Q[2][I]=QELAif(NANISO==0):Q[2][I]=QMOM# DISSOCIATIVE IONISATION# ION = CF3 +QION[1][I]=0.0PEQION[1][I]=0.5if(NANISO==2):PEQION[1][I]=0.0if(EN<=EION[1]):passelse:if(EN>XCF3[NCF3]):passelse:flag42=1flag44=1forJinrange(2,NCF3):if(EN<=XCF3[J]):flag42=0breakif(flag42):J=NCF3A=(YCF3[J]-YCF3[J-1])/(XCF3[J]-XCF3[J-1])B=(XCF3[J-1]*YCF3[J]-XCF3[J]*YCF3[J-1])/(XCF3[J-1]-XCF3[J])QION[1][I]=(A*EN+B)*1.*10**-16flag44=0# USE BORN BETHE X-SECTION ABOVE XCF3(NCF3) EVif(flag44):X2=1.00/BETA2X1=X2*math.log(BETA2/(1.00-BETA2))-1.00QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.7344# 44 CONTINUEif(EN<=(2.0*EION[1])):passelse:PEQION[1][I]=PEQEL[2][(I-IOFFION[1])]# ION = CF2 +QION[2][I]=0.0PEQION[2][I]=0.5if(NANISO==2):PEQION[2][I]=0.0if(EN<=EION[2]):passelse:flag47=1flag49=1if(EN>XCF2[NCF2]):passelse:forJinrange(2,NCF2):if(EN<=XCF2[J]):flag47=0if(flag47):J=NCF2A=(YCF2[J]-YCF2[J-1])/(XCF2[J]-XCF2[J-1])B=(XCF2[J-1]*YCF2[J]-XCF2[J]*YCF2[J-1])/(XCF2[J-1]-XCF2[J])QION[2][I]=(A*EN+B)*1.E-16flag49=0# USE BORN BETHE X-SECTION ABOVE XCF2[NCF2] EVif(flag49):QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0534#49 CONTINUEif(EN<=(2.0*EION[2])):passelse:PEQION[2][I]=PEQEL[2][(I-IOFFION[2])]# ION = CF +QION[3][I]=0.0PEQION[3][I]=0.5if(NANISO==2):PEQION[3][I]=0.0if(EN<=EION[3]):passelse:flag52=1flag54=1if(EN>XCF1(NCF1)):passelse:forJinrange(2,NCF1):if(EN<=XCF1[J]):flag52=0if(flag52):J=NCF1A=(YCF1[J]-YCF1[J-1])/(XCF1[J]-XCF1[J-1])B=(XCF1[J-1]*YCF1[J]-XCF1[J]*YCF1[J-1])/(XCF1[J-1]-XCF1[J])QION[3][I]=(A*EN+B)*1.*10**-16flag54=0# USE BORN BETHE X-SECTION ABOVE XCF1(NCF1) EVif(flag54):QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0386if(EN<=(2.0*EION[3])):passelse:PEQION[3][I]=PEQEL[2][(I-IOFFION[3])]# ION = F +QION[4][I]=0.0PEQION[4][I]=0.5if(NANISO==2):PEQION[4][I]=0.0if(EN<=EION[4]):passelse:flag57=1flag59=1if(EN>XC0F[NC0F]):passelse:forJinrange(2,NC0F):if(EN<=XC0F[J]):flag57=0if(flag57):J=NC0FA=(YC0F[J]-YC0F[J-1])/(XC0F[J]-XC0F[J-1])B=(XC0F[J-1]*YC0F[J]-XC0F[J]*YC0F[J-1])/(XC0F[J-1]-XC0F[J])QION[4][I]=(A*EN+B)*1.*10**-16flag59=0# USE BORN BETHE X-SECTION ABOVE XC0F[NC0F] EVif(flag59):QION[4][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0799if(EN<=(2.0*EION[4])):passelse:PEQION[4][I]=PEQEL[2][(I-IOFFION[4])]# ION = C +QION[5][I]=0.0PEQION[5][I]=0.5if(NANISO==2):PEQION[5][I]=0.0if(EN<=EION[5]):passelse:flag62=1flag64=1if(EN>XCF0[NCF0]):passelse:forJinrange(2,NCF0):if(EN<=XCF0[J]):flag62=0if(flag62):J=NCF0A=(YCF0[J]-YCF0[J-1])/(XCF0[J]-XCF0[J-1])B=(XCF0[J-1]*YCF0[J]-XCF0[J]*YCF0[J-1])/(XCF0[J-1]-XCF0[J])QION[5][I]=(A*EN+B)*1.E-16flag64# USE BORN BETHE X-SECTION ABOVE XCF0[NCF0] EVif(flag64):QION[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0422if(EN<=(2.0*EION[5])):passelse:PEQION[5][I]=PEQEL[2][(I-IOFFION[5])]# DOUBLE IONS CF3 + AND F +QION[6][I]=0.0PEQION[6][I]=0.5if(NANISO==2):PEQION[6][I]=0.0if(EN<=EION[6]):passelse:flag67=1flag69=1if(EN>XCF3F[NCF3F]):passelse:forJinrange(2,NCF3F):if(EN<=XCF3F[J]):flag67=0if(flag67):J=NCF3FA=(YCF3F[J]-YCF3F[J-1])/(XCF3F[J]-XCF3F[J-1])B=(XCF3F[J-1]*YCF3F[J]-XCF3F[J]*YCF3F[J-1])/(XCF3F[J-1]-XCF3F[J])QION[6][I]=(A*EN+B)*1.*10**-16flag69# USE BORN BETHE X-SECTION ABOVE XCF3F[NCF3F] EVif(flag69):QION[6][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0058if(EN<=(2.0*EION[6])):passelse:PEQION[6][I]=PEQEL[2][(I-IOFFION[6])]# DOUBLE IONS CF2 + AND F +QION[7][I]=0.0PEQION[7][I]=0.5if(NANISO==2):PEQION[7][I]=0.0if(EN<=EION[7]):passelse:flag72=1flag74=1if(EN>XCF2F[NCF2F]):passelse:forJinrange(2,NCF2F):if(EN<=XCF2F[J]):flag72=0if(flag72):J=NCF2FA=(YCF2F[J]-YCF2F[J-1])/(XCF2F[J]-XCF2F[J-1])B=(XCF2F[J-1]*YCF2F[J]-XCF2F[J]*YCF2F[J-1])/(XCF2F[J-1]-XCF2F[J])QION[7][I]=(A*EN+B)*1.*10**-16flag74=0# USE BORN BETHE X-SECTION ABOVE XCF2F[NCF2F] EVif(flag74):QION[7][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0073if(EN<=(2.0*EION[7])):passelse:PEQION[7][I]=PEQEL[2][(I-IOFFION[7])]# DOUBLE CHARGED ION CF3 ++QION[8][I]=0.0PEQION[8][I]=0.5if(NANISO==2):PEQION[8][I]=0.0if(EN<=EION[8]):passelse:flag77=1flag79=1if(EN>XCF32[NCF32]):passelse:forJinrange(2,NCF32):if(EN<=XCF32[J]):flag77=0if(flag77):J=NCF32A=(YCF32[J]-YCF32[J-1])/(XCF32[J]-XCF32[J-1])B=(XCF32[J-1]*YCF32[J]-XCF32[J]*YCF32[J-1])/(XCF32[J-1]-XCF32[J])QION[8][I]=(A*EN+B)*1.E-16flag79=0# USE BORN BETHE X-SECTION ABOVE XCF32[NCF32] EVif(flag79):QION[8][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0031if(EN<=(2.0*EION[8])):passelse:PEQION[8][I]=PEQEL[2][(I-IOFFION[8])]# DOUBLE CHARGED ION CF2 ++## ADD INTO CF3 ++# if(EN<=XCF22[1]):passelse:flag82=1flag85=1if(EN>XCF22[NCF22]):passelse:forJinrange(2,NCF22):if(EN<=XCF22[J]):flag82=0if(flag82):J=NCF22A=(YCF22[J]-YCF22[J-1])/(XCF22[J]-XCF22[J-1])B=(XCF22[J-1]*YCF22[J]-XCF22[J]*YCF22[J-1])/(XCF22[J-1]-XCF22[J])QION[8][I]=QION[8][I]+(A*EN+B)*1.E-16flag85=0# USE BORN BETHE X-SECTION ABOVE XCF22[NCF22] EVif(flag85):QION[8][I]=QION[8][I]+CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0077# DOUBLE IONS CF + AND F +QION[9][I]=0.0PEQION[9][I]=0.5if(NANISO==2):PEQION[9][I]=0.0if(EN<=EION[9]):passelse:flag87=1flag89=1if(EN>XCFF[NCFF]):passelse:forJinrange(2,NCFF):if(EN<=XCFF[J]):flag87if(flag87):J=NCFFA=(YCFF[J]-YCFF[J-1])/(XCFF[J]-XCFF[J-1])B=(XCFF[J-1]*YCFF[J]-XCFF[J]*YCFF[J-1])/(XCFF[J-1]-XCFF[J])QION[9][I]=(A*EN+B)*1.*10**-16flag89=0# USE BORN BETHE X-SECTION ABOVE XCFF[NCFF] EVif(flag89):QION[9][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0189if(EN<=(2.0*EION[9])):passelse:PEQION[9][I]=PEQEL[2][(I-IOFFION[9])]# DOUBLE IONS C + AND F +QION[10][I]=0.0PEQION[10][I]=0.5if(NANISO==2):PEQION[10][I]=0.0if(EN<=EION[10]):passelse:flag92=1flag94=1if(EN>XCF[NCF]):passelse:forJinrange(2,NCF):if(EN<=XCF[J]):flag92=0if(flag92):J=NCFA=(YCF[J]-YCF[J-1])/(XCF[J]-XCF[J-1])B=(XCF[J-1]*YCF[J]-XCF[J]*YCF[J-1])/(XCF[J-1]-XCF[J])QION[10][I]=(A*EN+B)*1.E-16flag94=0# USE BORN BETHE X-SECTION ABOVE XCF[NCF] EVif(flag94):QION[10][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0087if(EN<=(2.0*EION[10])):passelse:PEQION[10][I]=PEQEL[2][(I-IOFFION[10])]# CARBON K-SHELL IONISATIONQION[11][I]=0.0PEQION[11][I]=0.5if(NANISO==2):PEQION[11][I]=0.0if(EN<=EION[11]):passelse:flag131=1forJinrange(2,NKSHC):if(EN<=XKSHC[J]):flag131=0if(flag131):J=NKSHCA=(YKSHC[J]-YKSHC[J-1])/(XKSHC[J]-XKSHC[J-1])B=(XKSHC[J-1]*YKSHC[J]-XKSHC[J]*YKSHC[J-1])/(XKSHC[J-1]-XKSHC[J])QION[11][I]=(A*EN+B)*1.E-16if(EN<=(2.0*EION[11])):passelse:PEQION[11][I]=PEQEL[2][(I-IOFFION[11])]# FLUORINE K-SHELL IONISATION QION[12][I]=0.0PEQION[12][I]=0.5if(NANISO==2):PEQION[12][I]=0.0if(EN<=EION[12]):passelse:flag141=1flag145=1forJinrange(2,NKSHF):if(EN<=XKSHF[J]):flag141=0if(flag141):J=NKSHFA=(YKSHF[J]-YKSHF[J-1])/(XKSHF[J]-XKSHF[J-1])B=(XKSHF[J-1]*YKSHF[J]-XKSHF[J]*YKSHF[J-1])/(XKSHF[J-1]-XKSHF[J])# FACTOR OF 4 FROM NUMBER OF FLUORINE ATOMS IN MOLECULEQION[12][I]=4.0*(A*EN+B)*1.E-16if(EN<=(2.0*EION[12])):passelse:PEQION[12][I]=PEQEL[2][(I-IOFFION[12])]# # ATTACHMENT Q[4][I]=0.0if(EN<=XATT[1]):passelse:flag220=1if(EN>XATT[NATT1]):passelse:forJinrange(2,NATT1):if(EN<=XATT[J]):flag220=0if(flag220):J=NATT1A=(YATT[J]-YATT[J-1])/(XATT[J]-XATT[J-1])B=(XATT[J-1]*YATT[J]-XATT[J]*YATT[J-1])/(XATT[J-1]-XATT[J])Q[4][I]=(A*EN+B)*1.E-16# Q[5][I]=0.0Q[6][I]=0.0# SCALE FACTOR FOR VIBRATIONAL DIPOLE V3 ABOVE 0.4EVVDSC=1.0if(EN>0.4):EPR=ENif(EN>5.0):EPR=5.0VDSC=(14.4-EPR)/14.0# endif # # SUPERELASTIC OF VIBRATION V2 ISOTROPIC BELOW 100EV #QIN[1][I]=0.0PEQIN[1][I]=0.5if(EN<=0.0):passelse:EFAC=math.sqrt(1.0-(EIN[1]/EN))QIN[1][I]=0.007*math.log((EFAC+1.0)/(EFAC-1.0))/ENQIN[1][I]=QIN[1][I]*APOPV2*1.E-16/DEGV2if(EN>100.0):PEQIN[1][I]=PQ1# VIBRATION V2 ISOTROPIC BELOW 100EVQIN[2][I]=0.0PEQIN[2][I]=0.5if(EN<=EIN[2]):passelse:EFAC=math.sqrt(1.0-(EIN[2]/EN))QIN[2][I]=0.007*math.log((1.0+EFAC)/(1.0-EFAC))/ENQIN[2][I]=QIN[2][I]*APOPGS*1.E-16if(EN>100.0):PEQIN[2][I]=PQ1# # SUPERELASTIC OF VIBRATION V4 ISOTROPIC BELOW 100EV #QIN[3][I]=0.0PEQIN[3][I]=0.5if(EN<=0.0):passelse:flag420=1flag425=1if((EN-EIN[3])>X):passelse:forJinrange(2,NVBV4):if((EN-EIN[3])<=XVBV4[J]):flag420=0if(flag420):J=NVBV4A=(YVBV4[J]-YVBV4[J-1])/(XVBV4[J]-XVBV4[J-1])B=(XVBV4[J-1]*YVBV4[J]-XVBV4[J]*YVBV4[J-1])/(XVBV4[J-1]-XVBV4[J])QIN[3][I]=(EN-EIN[3])*(A*(EN-EIN[3])+B)/ENflag425=0if(flag425):QIN[3][I]=YVBV4[NVBV4]*(XVBV4[NVBV4]/(EN*(EN-EIN[3]))**2)EFAC=math.sqrt(1.0-(EIN[3]/EN))QIN[3][I]=QIN[3][I]+0.0500*math.log((EFAC+1.0)/(EFAC-1.0))/ENQIN[3][I]=QIN[3][I]*APOPV4*1.E-16/DEGV4if(EN>100.0):PEQIN[3][I]=PQ1# VIBRATION V4 ANISOTROPICQIN[4][I]=0.0PEQIN[4][I]=0.5if(EN<=EIN[4]):passelse:flag470=1flag475=1if(EN>XVBV4[NVBV4]):passelse:forJinrange(2,NVBV4):if(EN<=XVBV4[J]):flag470=0if(flag470):J=NVBV4A=(YVBV4[J]-YVBV4[J-1])/(XVBV4[J]-XVBV4[J-1])B=(XVBV4[J-1]*YVBV4[J]-XVBV4[J]*YVBV4[J-1])/(XVBV4[J-1]-XVBV4[J])QIN[4][I]=A*EN+Bflag475=0if(flag475):QIN[4][I]=YVBV4[NVBV4]*(XVBV4[NVBV4]/EN)**3EFAC=math.sqrt(1.0-(EIN[4]/EN))ADIP=0.0500*math.log((1.0+EFAC)/(1.0-EFAC))/ENELF=EN-EIN[4]FWD=math.log((EN+ELF)/(EN+ELF-2.0*math.sqrt(EN*ELF)))BCK=math.log((EN+ELF+2.0*math.sqrt(EN*ELF))/(EN+ELF))# RATIO OF MT TO TOTAL X-SECT FOR RESONANCE PART = RATXMT=((1.5-FWD/(FWD+BCK))*ADIP+RAT*QIN[4][I])*APOPGS*1.E-16QIN[4][I]=(QIN[4][I]+ADIP)*APOPGS*1.E-16if(EN<=100.0):PEQIN[4][I]=0.5+(QIN[4][I]-XMT)/QIN[4][I]if(EN>100.0):PEQIN[4][I]=PQ1# SUPERELASTIC OF VIBRATION V1 ISOTROPIC BELOW 100EVQIN[5][I]=0.0PEQIN[5][I]=0.5if(EN<=0.0):passelse:flag520=1flag525=1if((EN-EIN[5])>XVBV1[NVBV1]):passelse:forJinrange(2,NVBV1):if((EN-EIN[5])<=XVBV1[J]):flag520if(flag520):J=NVBV1A=(YVBV1[J]-YVBV1[J-1])/(XVBV1[J]-XVBV1[J-1])B=(XVBV1[J-1]*YVBV1[J]-XVBV1[J]*YVBV1[J-1])/(XVBV1[J-1]-XVBV1[J])QIN[5][I]=(EN-EIN[5])*(A*(EN-EIN[5])+B)/ENflag525=0if(flag525):QIN[5][I]=YVBV1[NVBV1]*(XVBV1[NVBV1]/(EN*(EN-EIN[5]))**2)EFAC=math.sqrt(1.0-(EIN[5]/EN))QIN[5][I]=QIN[5][I]+0.0224*math.log((EFAC+1.0)/(EFAC-1.0))/ENQIN[5][I]=QIN[5][I]*APOPV1*1.E-16/DEGV1if(EN>100.0):PEQIN[5][I]=PQ1# VIBRATION V1 ISOTROPIC BELOW 100EVQIN[6][I]=0.0PEQIN[6][I]=0.5if(EN<=EIN[6]):passelse:flag570=1flag575=1if(EN>XVBV1[NVBV1]):passelse:forJinrange(2,NVBV1):if(EN<=XVBV1[J]):flag570=0if(flag570):J=NVBV1A=(YVBV1[J]-YVBV1[J-1])/(XVBV1[J]-XVBV1[J-1])B=(XVBV1[J-1]*YVBV1[J]-XVBV1[J]*YVBV1[J-1])/(XVBV1[J-1]-XVBV1[J])QIN[6][I]=A*EN+Bflag575=0if(flag575):QIN[6][I]=YVBV1[NVBV1]*(XVBV1[NVBV1]/EN)**3EFAC=math.sqrt(1.0-(EIN[6]/EN))QIN[6][I]=QIN[6][I]+0.0224*math.log((1.0+EFAC)/(1.0-EFAC))/ENQIN[6][I]=QIN[6][I]*APOPGS*1.E-16if(EN>100.0):PEQIN[6][I]=PQ1# SUPERELASTIC OF VIBRATION V3 ISOTROPIC BELOW 100EVQIN[7][I]=0.0PEQIN[7][I]=0.5if(EN<=0.0):passelse:flag620=1flag625=1if((EN-EIN[7])>XVBV3[NVBV3]):passelse:forJinrange(2,NVBV3):if((EN-EIN[7])<=XVBV3[J]):flag620=0if(flag620):J=NVBV3A=(YVBV3[J]-YVBV3[J-1])/(XVBV3[J]-XVBV3[J-1])B=(XVBV3[J-1]*YVBV3[J]-XVBV3[J]*YVBV3[J-1])/(XVBV3[J-1]-XVBV3[J])QIN[7][I]=(EN-EIN[7])*(A*(EN-EIN[7])+B)/ENflag625=0if(flag625):QIN[7][I]=YVBV3[NVBV3]*(XVBV3[NVBV3]/(EN*(EN-EIN[7]))**2)EFAC=math.sqrt(1.0-(EIN[7]/EN))QIN[7][I]=QIN[7][I]+VDSC*1.610*math.log((EFAC+1.0)/(EFAC-1.0))/ENQIN[7][I]=QIN[7][I]*APOPV3*1.E-16/DEGV3if(EN>100.0):PEQIN[7][I]=PQ1# VIBRATION V3 ANISOTROPICQIN[8][I]=0.0PEQIN[8][I]=0.5if(EN<=EIN[8]):passelse:flag670=1flag675=1if(EN>XVBV3[NVBV3]):passelse:forJinrange(2,NVBV3):if(EN<=XVBV3[J]):flag670=0if(flag670):J=NVBV3A=(YVBV3[J]-YVBV3[J-1])/(XVBV3[J]-XVBV3[J-1])B=(XVBV3[J-1]*YVBV3[J]-XVBV3[J]*YVBV3[J-1])/(XVBV3[J-1]-XVBV3[J])QIN[8][I]=A*EN+Bflag675=0if(flag675):QIN[8][I]=YVBV3[NVBV3]*(XVBV3[NVBV3]/EN)**3EFAC=math.sqrt(1.0-(EIN[8]/EN))ADIP=VDSC*1.610*math.log((1.0+EFAC)/(1.0-EFAC))/ENELF=EN-EIN[8]FWD=math.log((EN+ELF)/(EN+ELF-2.0*math.sqrt(EN*ELF)))BCK=math.log((EN+ELF+2.0*math.sqrt(EN*ELF))/(EN+ELF))# ASSUME RATIO MOM T./ TOT X-SECT FOR RESONANCE PART = RAT XMT=((1.5-FWD/(FWD+BCK))*ADIP+RAT*QIN[8][I])*APOPGS*1.E-16QIN[8][I]=(QIN[8][I]+ADIP)*APOPGS*1.E-16if(EN<=100.0):PEQIN[8][I]=0.5+(QIN[8][I]-XMT)/QIN[8][I]if(EN>100.0):PEQIN[8][I]=PQ1# VIBRATION HARMONIC 2V3QIN[9][I]=0.0PEQIN[9][I]=0.5if(EN<=EIN[9]):passelse:flag720=1flag725=1if(EN>XVIB5[NVIB5]):passelse:forJinrange(2,NVIB5):if(EN<=XVIB5[J]):flag720=0if(flag720):J=NVIB5A=(YVIB5[J]-YVIB5[J-1])/(XVIB5[J]-XVIB5[J-1])B=(XVIB5[J-1]*YVIB5[J]-XVIB5[J]*YVIB5[J-1])/(XVIB5[J-1]-XVIB5[J])QIN[9][I]=(A*EN+B)flag725=0if(flag725):QIN[9][I]=YVIB5[NVIB5]*(XVIB5[NVIB5]/EN)QIN[9][I]=QIN[9][I]*APOPGS*1.E-16if(EN<=100.0):PEQIN[9][I]=0.5+(1.0-RAT)if(EN>100.0):PEQIN[9][I]=PQ1# VIBRATION HARMONIC 3V3 QIN[10][I]=0.0PEQIN[10][I]=0.5if(EN<=EIN[10]):passelse:flag820=1flag825=1if(EN>XVIB6[NVIB6]):passelse:forJinrange(2,NVIB6):if(EN<=XVIB6[J]):flag820=0if(flag820):J=NVIB6A=(YVIB6[J]-YVIB6[J-1])/(XVIB6[J]-XVIB6[J-1])B=(XVIB6[J-1]*YVIB6[J]-XVIB6[J]*YVIB6[J-1])/(XVIB6[J-1]-XVIB6[J])QIN[10][I]=(A*EN+B)flag825=0if(flag825):QIN[10][I]=YVIB6[NVIB6]*(XVIB6[NVIB6]/EN)QIN[10][I]=QIN[10][I]*APOPGS*1.E-16if(EN<=100.0):PEQIN[10][I]=0.5+(1.0-RAT)if(EN>100.0):PEQIN[10][I]=PQ1# # TRIPLET NEUTRAL DISSOCIATION ELOSS=11.5 EVQIN[11][I]=0.0PEQIN[11][I]=0.0if(EN<=EIN[11]):passelse:flag902=1flag9026=1if(EN>XTR1[NTR1]):passelse:forJinrange(2,NTR1):if(EN<=XTR1[J]):flag902=0if(flag902):J=NTR1A=(YTR1[J]-YTR1[J-1])/(XTR1[J]-XTR1[J-1])B=(XTR1[J-1]*YTR1[J]-XTR1[J]*YTR1[J-1])/(XTR1[J-1]-XTR1[J])QIN[11][I]=(A*EN+B)*1.E-16flag9026=0if(flag9026):QIN[11][I]=YTR1[NTR1]*(XTR1[NTR1]/EN)**2*1.E-16if(EN<=(3.0*EIN[11])):passelse:PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]# SINGLET NEUTRAL DISSOCIATION ELOSS=11.63 EV F=0.0001893QIN[12][I]=0.0PEQIN[12][I]=0.0if(EN<=EIN[12]):passelse:QIN[12][I]=.0001893/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[12]+E[3])*1.0107if(QIN[12][I]<0.0):QIN[12][I]=0.0if(EN<=(3.0*EIN[12])):passelse:PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]# SINGLET NEUTRAL DISSOCIATION ELOSS=11.88 EV F=0.001085QIN[13][I]=0.0PEQIN[13][I]=0.0if(EN<=EIN[13]):passelse:QIN[13][I]=0.001085/(EIN[13]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[13]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[13]+E[3])*1.0105if(QIN[13][I]<0.0):QIN[13][I]=0.0if(EN<=(3.0*EIN[13])):passelse:PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]# SINGLET NEUTRAL DISSOCIATION ELOSS=12.13 EV F=0.004807QIN[14][I]=0.0PEQIN[14][I]=0.0if(EN<=EIN[14]):passelse:QIN[14][I]=0.004807/(EIN[14]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[14]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[14]+E[3])*1.0103if(QIN[14][I]<0.0):QIN[14][I]=0.0if(EN<=(3.0*EIN[14])):passelse:PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]# SINGLET NEUTRAL DISSOCIATION ELOSS=12.38 EV F=0.008819QIN[15][I]=0.0PEQIN[15][I]=0.0if(EN<=EIN[15]):passelse:QIN[15][I]=0.008819/(EIN[15]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[15]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[15]+E[3])*1.0101if(QIN[15][I]<0.0):QIN[15][I]=0.0if(EN<=(3.0*EIN[15])):passelse:PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]# TRIPLET NEUTRAL DISSOCIATION ELOSS=12.5 EVQIN[16][I]=0.0PEQIN[16][I]=0.0if(EN<=EIN[16]):passelse:flag909=1flag9096=1if(EN>XTR2[NTR2]):passelse:forJinrange(2,NTR2):if(EN<=XTR2[J]):flag909=0if(flag909):J=NTR2A=(YTR2[J]-YTR2[J-1])/(XTR2[J]-XTR2[J-1])B=(XTR2[J-1]*YTR2[J]-XTR2[J]*YTR2[J-1])/(XTR2[J-1]-XTR2[J])QIN[16][I]=(A*EN+B)*1.E-16flag9096=0if(flag9096):QIN[16][I]=YTR2[NTR2]*(XTR2[NTR2]/EN)**2*1.E-16if(EN<=(3.0*EIN[16])):passelse:PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]# SINGLET NEUTRAL DISSOCIATION ELOSS=12.63 EV F=0.008918QIN[17][I]=0.0PEQIN[17][I]=0.0if(EN<=EIN[17]):passelse:QIN[17][I]=0.008918/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[17]+E[3])*1.0099if(QIN[17][I]<0.0):QIN[17][I]=0.0if(EN<=(3.0*EIN[17])):passelse:PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]# SINGLET NEUTRAL DISSOCIATION ELOSS=12.88 EV F=0.008420QIN[18][I]=0.0PEQIN[18][I]=0.0if(EN<=EIN[18]):passelse:QIN[18][I]=0.008420/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])*1.0097if(QIN[18][I]<0.0):QIN[18][I]=0.0if(EN<=(3.0*EIN[18])):passelse:PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]# SINGLET NEUTRAL DISSOCIATION ELOSS=13.13 EV F=0.02531 QIN[19][I]=0.0PEQIN[19][I]=0.0if(EN<=EIN[19]):passelse:QIN[19][I]=0.02531/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[19]+E[3])*1.0095if(QIN[19][I]<0.0):QIN[19][I]=0.0if(EN<=(3.0*EIN[19])):passelse:PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]# SINGLET NEUTRAL DISSOCIATION ELOSS=13.38 EV F=0.09553 QIN[20][I]=0.0PEQIN[20][I]=0.0if(EN<=EIN[20]):passelse:QIN[20][I]=0.09553/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+E[3])*1.0093if(QIN[20][I]<0.0):QIN[20][I]=0.0if(EN<=(3.0*EIN[20])):passelse:PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]# SINGLET NEUTRAL DISSOCIATION ELOSS=13.63 EV F=0.11193 QIN[21][I]=0.0PEQIN[21][I]=0.0if(EN<=EIN[21]):passelse:QIN[21][I]=0.11193/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[21]+E[3])*1.0092if(QIN[21][I]<0.0):QIN[21][I]=0.0if(EN<=(3.0*EIN[21])):passelse:PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]# SINGLET NEUTRAL DISSOCIATION ELOSS=13.88 EV F=0.10103 QIN[22][I]=0.0PEQIN[22][I]=0.0if(EN<=EIN[22]):passelse:QIN[22][I]=0.10103/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[22]+E[3])*1.0090if(QIN[22][I]<0.0):QIN[22][I]=0.0if(EN<=(3.0*EIN[22])):passelse:PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]# TRIPLET NEUTRAL DISSOCIATION ELOSS=14.0 EVQIN[23][I]=0.0PEQIN[23][I]=0.0if(EN<=EIN[23]):passelse:flag918=1flag9186=1if(EN>XTR3[NTR3]):passelse:forJinrange(2,NTR3):if(EN<=XTR3[J]):flag918=0if(flag918):J=NTR3A=(YTR3[J]-YTR3[J-1])/(XTR3[J]-XTR3[J-1])B=(XTR3[J-1]*YTR3[J]-XTR3[J]*YTR3[J-1])/(XTR3[J-1]-XTR3[J])QIN[23][I]=(A*EN+B)*1.E-16flag9186=0if(flag9186):QIN[23][I]=YTR3[NTR3]*(XTR3[NTR3]/EN)**2*1.E-16if(EN<=(3.0*EIN[23])):passelse:PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]# SINGLET NEUTRAL DISSOCIATION ELOSS=14.13 EV F=0.06902 QIN[24][I]=0.0PEQIN[24][I]=0.0if(EN<=EIN[24]):passelse:QIN[24][I]=0.06902/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])*1.0088if(QIN[24][I]<0.0):QIN[24][I]=0.0if(EN<=(3.0*EIN[24])):passelse:PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]# SINGLET NEUTRAL DISSOCIATION ELOSS=14.38 EV F=0.03968 QIN[25][I]=0.0PEQIN[25][I]=0.0if(EN<=EIN[25]):passelse:QIN[25][I]=0.03968/(EIN[25]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[25]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[25]+E[3])*1.0087if(QIN[25][I]<0.0):QIN[25][I]=0.0if(EN<=(3.0*EIN[25])):passelse:PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]# SINGLET NEUTRAL DISSOCIATION ELOSS=14.63 EV F=0.02584 QIN[26][I]=0.0PEQIN[26][I]=0.0if(EN<=EIN[26]):passelse:QIN[26][I]=0.02584/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])*1.0085if(QIN[26][I]<0.0):QIN[26][I]=0.0if(EN<=(3.0*EIN[26])):passelse:PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]# SINGLET NEUTRAL DISSOCIATION ELOSS=14.88 EV F=0.02071 QIN[27][I]=0.0PEQIN[27][I]=0.0if(EN<=EIN[27]):passelse:QIN[27][I]=0.02071/(EIN[27]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[27]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[27]+E[3])*1.0084if(QIN[27][I]<0.0):QIN[27][I]=0.0if(EN<=(3.0*EIN[27])):passelse:PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]# SINGLET NEUTRAL DISSOCIATION ELOSS=15.13 EV F=0.03122 QIN[28][I]=0.0PEQIN[28][I]=0.0if(EN<=EIN[28]):passelse:QIN[28][I]=0.03122/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+E[3])*1.0083if(QIN[28][I]<0.0):QIN[28][I]=0.0if(EN<=(3.0*EIN[28])):passelse:PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]# SINGLET NEUTRAL DISSOCIATION ELOSS=15.38 EV F=0.05580 QIN[29][I]=0.0PEQIN[29][I]=0.0if(EN<=EIN[29]):passelse:QIN[29][I]=0.05580/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+E[3])*1.0081if(QIN[29][I]<0.0):QIN[29][I]=0.0if(EN<=(3.0*EIN[29])):passelse:PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]# SINGLET NEUTRAL DISSOCIATION ELOSS=15.63 EV F=0.10187 QIN[30][I]=0.0PEQIN[30][I]=0.0if(EN<=EIN[30]):passelse:QIN[30][I]=0.10187/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])*1.0080if(QIN[30][I]<0.0):QIN[30][I]=0.0if(EN<=(3.0*EIN[30])):passelse:PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]# SINGLET NEUTRAL DISSOCIATION ELOSS=15.88 EV F=0.09427 QIN[31][I]=0.0PEQIN[31][I]=0.0if(EN<=EIN[31]):passelse:QIN[31][I]=0.09427/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[31]+E[3])*1.0079if(QIN[31][I]<0.0):QIN[31][I]=0.0if(EN<=(3.0*EIN[31])):passelse:PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]# SINGLET NEUTRAL DISSOCIATION ELOSS=16.13 EV F=0.05853 QIN[32][I]=0.0PEQIN[32][I]=0.0if(EN<=EIN[32]):passelse:QIN[32][I]=0.05853/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])*1.0077if(QIN[32][I]<0.0):QIN[32][I]=0.0if(EN<=(3.0*EIN[32])):passelse:PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]# SINGLET NEUTRAL DISSOCIATION ELOSS=16.38 EV F=0.06002 QIN[33][I]=0.0PEQIN[33][I]=0.0if(EN<=EIN[33]):passelse:QIN[33][I]=0.06002/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+E[3])*1.0076if(QIN[33][I]<0.0):QIN[33][I]=0.0if(EN<=(3.0*EIN[33])):passelse:PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]# SINGLET NEUTRAL DISSOCIATION ELOSS=16.63 EV F=0.05647 QIN[34][I]=0.0PEQIN[34][I]=0.0if(EN<=EIN[34]):passelse:QIN[34][I]=0.05647/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])*1.0075if(QIN[34][I]<0.0):QIN[34][I]=0.0if(EN<=(3.0*EIN[34])):passelse:PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]# SINGLET NEUTRAL DISSOCIATION ELOSS=16.88 EV F=0.04885 QIN[35][I]=0.0PEQIN[35][I]=0.0if(EN<=EIN[35]):passelse:QIN[35][I]=0.04885/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+E[3])*1.0074if(QIN[35][I]<0.0):QIN[35][I]=0.0if(EN<=(3.0*EIN[35])):passelse:PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]# SINGLET NEUTRAL DISSOCIATION ELOSS=17.13 EV F=0.04036 QIN[36][I]=0.0PEQIN[36][I]=0.0if(EN<=EIN[36]):passelse:QIN[36][I]=0.04036/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[36]+E[3])*1.0073if(QIN[36][I]<0.0):QIN[36][I]=0.0if(EN<=(3.0*EIN[36])):passelse:PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]# SINGLET NEUTRAL DISSOCIATION ELOSS=17.38 EV F=0.03298 QIN[37][I]=0.0PEQIN[37][I]=0.0if(EN<=EIN[37]):passelse:QIN[37][I]=0.03298/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+E[3])*1.0072if(QIN[37][I]<0.0):QIN[37][I]=0.0if(EN<=(3.0*EIN[37])):passelse:PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]# SINGLET NEUTRAL DISSOCIATION ELOSS=17.63 EV F=0.02593 QIN[38][I]=0.0PEQIN[38][I]=0.0if(EN<=EIN[38]):passelse:QIN[38][I]=0.02593/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+E[3])*1.0071if(QIN[38][I]<0.0):QIN[38][I]=0.0if(EN<=(3.0*EIN[38])):passelse:PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]# SINGLET NEUTRAL DISSOCIATION ELOSS=17.88 EV F=0.01802 QIN[39][I]=0.0PEQIN[39][I]=0.0if(EN<=EIN[39]):passelse:QIN[39][I]=0.01802/(EIN[39]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[39]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[39]+E[3])*1.0070if(QIN[39][I]<0.0):QIN[39][I]=0.0if(EN<=(3.0*EIN[39])):passelse:PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]# SINGLET NEUTRAL DISSOCIATION ELOSS=18.13 EV F=0.01287 QIN[40][I]=0.0PEQIN[40][I]=0.0if(EN<=EIN[40]):passelse:QIN[40][I]=0.01287/(EIN[40]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[40]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[40]+E[3])*1.0069if(QIN[40][I]<0.0):QIN[40][I]=0.0if(EN<=(3.0*EIN[40])):passelse:PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]# SINGLET NEUTRAL DISSOCIATION ELOSS=18.38 EV F=0.00830 QIN[41][I]=0.0PEQIN[41][I]=0.0if(EN<=EIN[41]):passelse:QIN[41][I]=0.00830/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[41]+E[3])*1.0068if(QIN[41][I]<0.0):QIN[41][I]=0.0if(EN<=(3.0*EIN[41])):passelse:PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]# SINGLET NEUTRAL DISSOCIATION ELOSS=18.63 EV F=0.00698 QIN[42][I]=0.0PEQIN[42][I]=0.0if(EN<=EIN[42]):passelse:QIN[42][I]=0.00698/(EIN[42]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[42]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[42]+E[3])*1.0067if(QIN[42][I]<0.0):QIN[42][I]=0.0if(EN<=(3.0*EIN[42])):passelse:PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]# SINGLET NEUTRAL DISSOCIATION ELOSS=18.88 EV F=0.00581 QIN[43][I]=0.0PEQIN[43][I]=0.0if(EN<=EIN[43]):passelse:QIN[43][I]=0.00581/(EIN[43]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[43]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[43]+E[3])*1.0066if(QIN[43][I]<0.0):QIN[43][I]=0.0if(EN<=(3.0*EIN[43])):passelse:PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]# SINGLET NEUTRAL DISSOCIATION ELOSS=19.13 EV F=0.00502 QIN[44][I]=0.0PEQIN[44][I]=0.0if(EN<=EIN[44]):passelse:QIN[44][I]=0.00502/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+E[3])*1.0065if(QIN[44][I]<0.0):QIN[44][I]=0.0if(EN<=(3.0*EIN[44])):passelse:PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]# SINGLET NEUTRAL DISSOCIATION ELOSS=19.38 EV F=0.00398 QIN[45][I]=0.0PEQIN[45][I]=0.0if(EN<=EIN[45]):passelse:QIN[45][I]=0.00398/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])*1.0064if(QIN[45][I]<0.0):QIN[45][I]=0.0if(EN<=(3.0*EIN[45])):passelse:PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]# SINGLET NEUTRAL DISSOCIATION ELOSS=19.63 EV F=0.00189 QIN[46][I]=0.0PEQIN[46][I]=0.0if(EN<=EIN[46]):passelse:QIN[46][I]=0.00198/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+E[3])*1.0064if(QIN[46][I]<0.0):QIN[46][I]=0.0if(EN<=(3.0*EIN[46])):passelse:PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]# LOAD BREMSSTRAHLUNG X-SECTIONSQIN[47][I]=0.0QIN[48][I]=0.0if(EN<=1000.):passelse:flag953=1forJinrange(2,NBREM):if(EN<=EBRM[J]):flag953=0if(flag953):J=NBREMA=(math.log(Z6T[J])-math.log(Z6T[J-1]))/(EBRM[J]-EBRM[J-1])B=(math.log(Z6T[J])*EBRM[J-1]-math.log(Z6T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])A1=(math.log(Z9T[J])-math.log(Z9T[J-1]))/(EBRM[J]-EBRM[J-1])B1=(math.log(Z9T[J])*EBRM[J-1]-math.log(Z9T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])QIN[47][I]=math.exp(A*EN+B)*1.E-24QIN[48][I]=math.exp(A1*EN+B1)*4.E-24# # COUNTING IONISATION SUMQIONSUM=0.0forJinrange(1,12):QIONSUM=QIONSUM+QION[J][I]QSNGLSUM=0.0forJinrange(11,46):# SKIP TRIPLETSif(J==11orJ==16orJ==23):breakelse:QSNGLSUM=QSNGLSUM+QIN[J][I]QTRIPSUM=QIN[11][I]+QIN[16][I]+QIN[23][I]# VIBRATION SUMVSUM=0.0forJinrange(1,10):VSUM=VSUM+QIN[J][I]# GROSS IONISATION SUM QIONG=QIONSUMforJinrange(6,12):QIONG=QIONG+QION[J][I]# DISTOT=QSNGLSUM+QTRIPSUM+QIONSUMQ[1][I]=Q[2][I]+Q[4][I]+VSUM+DISTOT# WRITE(6,444) EN,Q[1][I],Q[2][I],VSUM,QSNGLSUM,QTRIPSUM,QIONSUM,# /QIONG,DISTOT# 444 print(' EN=',D12.6,' TOT=','%.4f' % ,' ELAS=','%.4f' % ,' VIB SUM=',# /'%.4f' % ,/,' NEUTRAL DIP. DISS=','%.4f' % ,' TRIPLET DISS=','%.4f' % ,/,# /' COUNT IONISATION=','%.4f' % ,/' GROSS IONISATION=','%.4f' % ,/,# /' DISTOT=','%.4f' % )# SAVE COMPUTE TIME if(EFINAL>1000.):NIN=48forJinrange(11,46):if(EFINAL<=EIN[J]):NIN=J-1break# endifreturn# end defGAS2(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N) globalECHARG,EMASS,AMU,PIR2globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN# COMMON/MIX2/globalEG,EROOT,QT1,QT2,QT3,QT4globalDENECHARG=conf.ECHARGEMASS=conf.EMASSAMU=conf.AMUPIR2=conf.PIR2NGAS=conf.NGASNSTEP=conf.NSTEPNANISO=conf.NANISOEFINAL=conf.EFINALESTEP=conf.ESTEPAKT=conf.AKTARY=conf.ARYTEMPC=conf.TEMPCTORR=conf.TORRIPEN=conf.IPENEG=conf.EEROOT=conf.EROOTQT1=conf.QT1QT2=conf.QT2QT3=conf.QT3QT4=conf.QT4DEN=conf.DEN# DIMENSION QATT=numpy.reshape(QATT,(8+1,20000+1))QNULL=numpy.reshape(QNULL,(10+1,20000+1))SCLN=numpy.reshape(SCLN,(10+1))ESPLIT=numpy.reshape(ESPLIT,(5+1,20+1))PEQEL=numpy.reshape(PEQEL,(6+1,20000+1))PEQIN=numpy.reshape(PEQIN,(250+1,20000+1))KIN=numpy.reshape(KIN,(250+1))KEL=numpy.reshape(KEL,(6+1))QION=numpy.reshape(QION,(30+1,20000+1))PEQION=numpy.reshape(PEQION,(30+1,20000+1))EION=numpy.reshape(EION,(30+1))EOBY=numpy.reshape(EOBY,(30+1))NC0=numpy.reshape(NC0,(30+1))EC0=numpy.reshape(EC0,(30+1))WKLM=numpy.reshape(WKLM,(30+1))EFL=numpy.reshape(EFL,(30+1))NG1=numpy.reshape(NG1,(30+1))EG1=numpy.reshape(EG1,(30+1))NG2=numpy.reshape(NG2,(30+1))EG2=numpy.reshape(EG2,(30+1))IZBR=numpy.reshape(IZBR,(250+1))LEGAS=numpy.reshape(LEGAS,(30+1))ISHELL=numpy.reshape(ISHELL,(30+1))Q=numpy.zeros((6+1,20000+1))QIN=numpy.reshape(QIN,(250+1,20000+1))E=numpy.reshape(E,(6+1))EIN=numpy.reshape(EIN,(250+1))PENFRA=numpy.reshape(PENFRA,(3+1,250+1))XEN=numpy.zeros((117+1))YSEC=numpy.zeros((117+1))YEL=numpy.zeros((117+1))XEPS=numpy.zeros((217+1))YEPS=numpy.zeros((217+1))XENI=numpy.zeros((75+1))YENI=numpy.zeros((75+1))YENC=numpy.zeros((75+1))YEN1=numpy.zeros((75+1))XEN2=numpy.zeros((47+1))YEN2=numpy.zeros((47+1))XEN3=numpy.zeros((36+1))YEN3=numpy.zeros((36+1))XKSH=numpy.zeros((89+1))YKSH=numpy.zeros((89+1))XL1S=numpy.zeros((101+1))YL1S=numpy.zeros((101+1))XL2S=numpy.zeros((104+1))YL2S=numpy.zeros((104+1))XL3S=numpy.zeros((104+1))YL3S=numpy.zeros((104+1))X1S5=numpy.zeros((71+1))Y1S5=numpy.zeros((71+1))YEPS1=numpy.zeros((71+1))X1S4=numpy.zeros((79+1))Y1S4=numpy.zeros((79+1))YEPS2=numpy.zeros((79+1))X1S3=numpy.zeros((70+1))Y1S3=numpy.zeros((70+1))YEPS3=numpy.zeros((70+1))X1S2=numpy.zeros((70+1))Y1S2=numpy.zeros((70+1))YEPS4=numpy.zeros((70+1))X2P10=numpy.zeros((54+1))Y2P10=numpy.zeros((54+1))YEP2P10=numpy.zeros((54+1))X2P9=numpy.zeros((17+1))Y2P9=numpy.zeros((17+1))YEP2P9=numpy.zeros((17+1))X2P8=numpy.zeros((15))Y2P8=numpy.zeros((15))YEP2P8=numpy.zeros((15))X2P7=numpy.zeros((17+1))Y2P7=numpy.zeros((17+1))YEP2P7=numpy.zeros((17+1))X2P6=numpy.zeros((16+1))Y2P6=numpy.zeros((16+1))YEP2P6=numpy.zeros((16+1))X2P5=numpy.zeros((17+1))Y2P5=numpy.zeros((17+1))YEP2P5=numpy.zeros((17+1))X2P4=numpy.zeros((17+1))Y2P4=numpy.zeros((17+1))YEP2P4=numpy.zeros((17+1))X2P3=numpy.zeros((17+1))Y2P3=numpy.zeros((17+1))YEP2P3=numpy.zeros((17+1))X2P2=numpy.zeros((16+1))Y2P2=numpy.zeros((16+1))YEP2P2=numpy.zeros((16+1))X2P1=numpy.zeros((17+1))Y2P1=numpy.zeros((17+1))YEP2P1=numpy.zeros((17+1))X3D6=numpy.zeros((19+1))Y3D6=numpy.zeros((19+1))YEP3D6=numpy.zeros((19+1))X3D5=numpy.zeros((26+1))Y3D5=numpy.zeros((26+1))YEP3D5=numpy.zeros((26+1))X3D4P=numpy.zeros((20+1))Y3D4P=numpy.zeros((20+1))YEP3D4P=numpy.zeros((20+1))X3D4=numpy.zeros((23+1))Y3D4=numpy.zeros((23+1))YEP3D4=numpy.zeros((23+1))X3D3=numpy.zeros((20+1))Y3D3=numpy.zeros((20+1))YEP3D3=numpy.zeros((20+1))X3D1PP=numpy.zeros((19+1))Y3D1PP=numpy.zeros((19+1))YEP3D1PP=numpy.zeros((19+1))X3D1P=numpy.zeros((16+1))Y3D1P=numpy.zeros((16+1))YEP3D1P=numpy.zeros((16+1))X3S1PPPP=numpy.zeros((21+1))Y3S1PPPP=numpy.zeros((21+1))YEP3S1PPPP=numpy.zeros((21+1))X3S1PPP=numpy.zeros((16+1))Y3S1PPP=numpy.zeros((16+1))YEP3S1PPP=numpy.zeros((16+1))X3S1PP=numpy.zeros((21+1))Y3S1PP=numpy.zeros((21+1))YEP3S1PP=numpy.zeros((21+1))X2S5=numpy.zeros((19+1))Y2S5=numpy.zeros((19+1))YEP2S5=numpy.zeros((19+1))X2S3=numpy.zeros((19+1))Y2S3=numpy.zeros((19+1))YEP2S3=numpy.zeros((19+1))IOFFN=numpy.zeros((44+1))IOFFION=numpy.zeros((30+1))Z18T=numpy.zeros((25+1))EBRM=numpy.zeros((25+1))# CHARACTER*50 SCRPT=numpy.chararray((300+1),itemsize=50+1)SCRPTN=numpy.chararray((10+1),itemsize=50+1)# CHARACTER*25 NAME=numpy.zeros((25+1),dtype=str)# ENERGY XEN=[0]+[1.00,1.20,1.50,1.70,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,200.,250.,300.,350.,400.,500.,600.,700.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,10000.,15000.,20000.,40000.,60000.,80000.,1.E5,1.25E5,1.5E5,1.75E5,2.E5,2.5E5,3.E5,3.5E5,4.E5,4.5E5,5.0E5,6.0E5,7.0E5,8.0E5,9.0E5,1.0E6,1.25E6,1.5E6,1.75E6,2.0E6,2.5E6,3.0E6,3.5E6,4.0E6,4.5E6,5.0E6,6.0E6,7.0E6,8.0E6,9.0E6,1.0E7,1.25E7,1.5E7,1.75E7,2.0E7,2.5E7,3.0E7,3.5E7,4.0E7,4.5E7,5.0E7,6.0E7,7.0E7,8.0E7,9.0E7,1.0E8,1.25E8,1.5E8,1.75E8,2.0E8,2.5E8,3.0E8,3.5E8,4.0E8,4.5E8,5.0E8,6.0E8,7.0E8,8.0E8,9.0E8,1.0E9]# ELASTIC MOMENTUM TRANSFERYSEC=[0]+[1.3913,1.66,2.05,2.33,2.70,3.43,4.20,5.70,7.60,9.60,11.5,13.1,14.7,16.2,16.8,16.6,15.9,15.1,14.2,13.3,11.5,10.0,7.75,6.25,4.45,3.50,2.80,2.25,2.00,1.70,1.50,1.22,1.00,0.78,0.64,0.55,0.48,0.43,.355,0.30,0.26,0.22,0.16,.095,.063,.033,.021,.0146,.0108,.00708,.00484,.00240,.00145,4.3E-4,2.1E-4,1.26E-4,8.64E-5,5.91E-5,4.35E-5,3.36E-5,2.70E-5,1.88E-5,1.41E-5,1.10E-5,8.94E-6,7.45E-6,6.34E-6,4.80E-6,3.80E-6,3.10E-6,2.59E-6,2.21E-6,1.56E-6,1.18E-6,9.32E-7,7.56E-7,5.30E-7,3.95E-7,3.07E-7,2.46E-7,2.02E-7,1.69E-7,1.24E-7,9.49E-8,7.52E-8,6.12E-8,5.08E-8,3.41E-8,2.46E-8,1.86E-8,1.46E-8,9.65E-9,6.88E-9,5.16E-9,4.01E-9,3.21E-9,2.62E-9,1.85E-9,1.37E-9,1.06E-9,8.37E-10,6.80E-10,4.37E-10,3.04E-10,2.23E-10,1.71E-10,1.10E-10,7.61E-11,5.59E-11,4.28E-11,3.38E-11,2.74E-11,1.90E-11,1.40E-11,1.07E-11,8.45E-12,6.84E-12]# ELASTIC YEL=[0]+[1.4945,1.80,2.25,2.63,3.20,4.15,5.10,7.05,8.90,11.1,13.4,15.8,18.1,20.3,21.9,23.0,23.4,23.5,23.2,22.2,19.4,17.0,13.3,11.0,8.44,7.16,6.28,5.78,5.25,4.89,4.50,3.95,3.51,3.03,2.70,2.48,2.30,2.10,1.90,1.72,1.58,1.47,1.27,0.98,.818,.620,.510,.434,.380,.313,.250,.180,.138,.076,.056,.045,.0378,.0322,.0284,.0257,.0237,.0209,.0190,.0177,.0168,.0160,.0155,.0146,.0140,.0136,.0132,.0130,.0126,.0123,.0121,.0120,.0119,.0118,.0117,.0117,.0116,.0116,.0116,.0116,.0116,.0116,.0115,.0115,.0115,.0115,*27*[.0115]]# EPSILON FOR ELASTIC ANGULAR EISTRIBUTIONXEPS=[0]+[.0,.0001,.0002,.0003,.0004,.0006,.0008,.001,.0012,.0014,.0017,.002,.0025,.003,.004,.005,.006,.008,.010,.012,.014,.017,.020,.025,.030,.035,.040,.045,.050,.055,.060,.065,.070,.075,.080,.085,.090,.095,.100,.110,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.19,0.20,0.21,0.22,0.23,0.24,0.25,0.26,0.27,0.28,0.29,0.30,0.31,0.32,0.33,0.34,0.35,0.36,0.37,0.38,0.39,0.40,0.41,0.42,0.43,0.44,0.45,0.46,0.47,0.48,0.49,0.50,0.51,0.52,0.53,0.54,0.55,0.56,0.57,0.58,0.59,0.60,0.61,0.62,0.63,0.65,0.67,0.70,0.75,0.80,0.85,0.90,0.95,1.00,1.20,1.50,1.70,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,200.,250.,300.,350.,400.,500.,600.,700.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,10000.,15000.,20000.,40000.,60000.,80000.,1.E5,1.25E5,1.5E5,1.75E5,2.0E5,2.5E5,3.0E5,3.5E5,4.0E5,4.5E5,5.0E5,6.0E5,7.0E5,8.0E5,9.0E5,1.0E6,1.25E6,1.5E6,1.75E6,2.0E6,2.5E6,3.0E6,3.5E6,4.0E6,4.5E6,5.0E6,6.0E6,7.0E6,8.0E6,9.0E6,1.0E7,1.25E7,1.5E7,1.75E7,2.0E7,2.5E7,3.0E7,3.5E7,4.0E7,4.5E7,5.0E7,6.0E7,7.0E7,8.0E7,9.0E7,1.0E8,1.25E8,1.5E8,1.75E8,2.0E8,2.5E8,3.0E8,3.5E8,4.0E8,4.5E8,5.0E8,6.0E8,7.0E8,8.0E8,9.0E8,1.0E9]# EPSILON =1-YEPSYEPS=[0]+[1.0,.987,.9814,.977,.9734,.9673,.9619,.9572,.9530,.9492,.9433,.9384,.9304,.9234,.9103,.8988,.8879,.8681,.8501,.8332,.8173,.7947,.7727,.7395,.7071,.6770,.6469,.6187,.5909,.5642,.5379,.5119,.4866,.4623,.4384,.4154,.3932,.3716,.3505,.3108,.2745,.2414,.2118,.1859,.1637,.1452,.1304,.1195,.1123,.1089,.1093,.1140,.1231,.1369,.1559,.1802,.2104,.2465,.2882,.3353,.3872,.4434,.5019,.5620,.6222,.6818,.7400,.7957,.8477,.8970,.9414,.982,1.019,1.0521,1.0812,1.107,1.1293,1.1487,1.1654,1.1796,1.191,1.2014,1.208,1.2137,1.2179,1.2205,1.222,1.222,1.2213,1.2194,1.2165,1.213,1.2035,1.192,1.171,1.1296,1.0836,1.0358,.9876,.9411,.8966,.8836,.8671,.8299,.7682,.7432,.7390,.7174,.7830,.7989,.7892,.7470,.7226,.7025,.6590,.5967,.5406,.4932,.4554,.4396,.4320,.4266,.4200,.4030,.3564,.3152,.3716,.2186,.2113,.1829,.1713,.1522,.1344,.1152,.1018,.0922,.0843,.0820,.0717,.0649,.0597,.0522,.0409,.0286,.0210,.0129,.0093,.0072,.0058,.0044,.0035,.0023,.00173,8.3E-4,5.1E-4,3.73E-4,2.919E-4,2.274E-4,1.847E-4,1.546E-4,1.322E-4,1.012E-4,8.095E-5,6.673E-5,5.621E-5,4.823E-5,4.197E-5,3.279E-5,2.647E-5,2.191E-5,1.848E-5,1.582E-5,1.123E-5,8.449E-6,7.602E-6,5.315E-6,3.660E-6,2.682E-6,2.050E-6,1.617E-6,1.310E-6,1.083E-6,7.762E-7,5.840E-7,4.551E-7,3.648E-7,2.990E-7,2.254E-7,1.376E-7,1.021E-7,7.88E-8,5.08E-8,3.55E-8,2.61E-8,2.00E-8,1.58E-8,1.28E-8,8.79E-9,6.41E-9,4.86E-9,3.81E-9,3.06E-9,1.92E-9,1.31E-9,9.50E-10,7.2E-10,4.5E-10,3.1E-10,2.2E-10,1.7E-10,1.31E-10,1.05E-10,7.2E-11,5.2E-11,3.9E-11,3.1E-11,2.5E-11]# IONISATION ( VALUES ABOVE 20KEV GENERATEE BY BORN BETHE IN SUB)XENI=[0]+[15.75961,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,8000.,10000.,14000.,20000.]# GROSS IONISATION YENI=[0]+[0.00,.031,.094,.163,.235,.310,.386,.465,.546,.627,.713,.787,.858,.933,.994,1.06,1.12,1.18,1.24,1.30,1.35,1.41,1.60,1.80,1.96,2.11,2.24,2.33,2.39,2.49,2.53,2.60,2.66,2.73,2.77,2.82,2.84,2.85,2.86,2.86,2.85,2.83,2.81,2.76,2.73,2.68,2.62,2.52,2.39,2.17,1.97,1.80,1.67,1.54,1.44,1.28,1.15,1.04,.971,.898,.768,.688,.638,.576,.526,.446,.384,.340,.302,.255,.220,.172,.144,.110,.0825]# COUNTING IONISATIONYENC=[0]+[0.00,.031,.094,.163,.235,.310,.386,.465,.546,.627,.713,.787,.858,.933,.994,1.06,1.12,1.18,1.24,1.30,1.35,1.41,1.60,1.80,1.96,2.11,2.24,2.33,2.39,2.49,2.52,2.56,2.58,2.62,2.63,2.67,2.68,2.68,2.69,2.69,2.68,2.66,2.64,2.59,2.56,2.52,2.46,2.37,2.24,2.04,1.85,1.69,1.57,1.45,1.35,1.21,1.08,.981,.912,.843,.721,.646,.599,.540,.494,.419,.361,.319,.283,.239,.206,.162,.136,.104,.0775]# IONISATION FOR CHARGE STATE = 1YEN1=[0]+[0.00,.031,.094,.163,.235,.310,.386,.465,.546,.627,.713,.787,.858,.933,.994,1.06,1.12,1.18,1.24,1.30,1.35,1.41,1.60,1.80,1.96,2.11,2.24,2.33,2.39,2.49,2.51,2.52,2.50,2.50,2.50,2.52,2.52,2.52,2.52,2.50,2.49,2.47,2.45,2.41,2.38,2.33,2.29,2.20,2.10,1.91,1.74,1.59,1.48,1.37,1.28,1.14,1.02,.925,.863,.798,.682,.612,.567,.511,.468,.397,.342,.302,.268,.226,.195,.153,.129,.0984,.0734]# IONISATION FOR CHARGE STATE = 2XEN2=[0]+[43.38928,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,8000.,10000.,14000.,20000.]YEN2=[0]+[0.00,.00045,.012,.0391,.0803,.114,.136,.148,.159,.165,.172,.175,.179,.180,.180,.176,.172,.167,.161,.153,.138,.121,.106,.093,.085,.076,.0667,.0568,.0518,.0453,.0418,.0375,.0321,.0287,.0266,.0240,.0234,.0186,.0161,.0142,.0126,.0106,.00916,.00681,.00574,.00438,.00326]# IONISATION FOR CHARGE STATE =3XEN3=[0]+[84.124,100.,110.,120.,130.,140.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,8000.,10000.,14000.,20000.]YEN3=[0]+[0.0,.000972,.00209,.00311,.00400,.00481,.00520,.00541,.00552,.00532,.00504,.00489,.00607,.00673,.00751,.00823,.00903,.00890,.00887,.00825,.00832,.00711,.00636,.00590,.00532,.00486,.00413,.00355,.00314,.00278,.00236,.00203,.00160,.00134,.001024,.000764]# K-SHELL IONISATIONXKSH=[0]+[3205.9,3283.,3378.,3475.,3576.,3680.,3786.,3896.,4009.,4125.,4368.,4625.,4898.,5186.,5492.,5816.,6159.,6522.,6907.,7314.,7971.,8688.,9468.,1.03E4,1.09E4,1.19E4,1.30E4,1.42E4,1.54E4,1.68E4,1.89E4,2.12E4,2.37E4,2.66E4,2.99E4,3.45E4,3.98E4,4.60E4,5.31E4,6.13E4,7.29E4,8.66E4,1.00E5,1.19E5,1.41E5,1.68E5,2.00E5,2.37E5,2.82E5,3.35E5,4.10E5,5.01E5,6.13E5,7.50E5,8.91E5,1.00E6,1.22E6,1.50E6,1.83E6,2.30E6,2.90E6,3.65E6,4.60E6,5.79E6,7.50E6,8.66E6,1.00E7,1.22E7,1.50E7,1.83E7,2.24E7,2.74E7,3.55E7,4.60E7,5.79E7,7.50E7,8.66E7,1.00E8,1.22E8,1.50E8,1.83E8,2.24E8,2.74E8,3.55E8,4.60E7,5.79E8,7.50E8,8.66E8,1.00E9]YKSH=[0]+[0.0,1.59E-6,3.44E-6,5.20E-6,6.89E-6,8.51E-6,1.01E-5,1.15E-5,1.29E-5,1.43E-5,1.68E-5,1.91E-5,2.11E-5,2.30E-5,2.46E-5,2.61E-5,2.74E-5,2.85E-5,2.95E-5,3.04E-5,3.14E-5,3.21E-5,3.25E-5,3.27E-5,3.27E-5,3.26E-5,3.23E-5,3.18E-5,3.12E-5,3.04E-5,2.93E-5,2.81E-5,2.68E-5,2.54E-5,2.40E-5,2.23E-5,2.07E-5,1.92E-5,1.77E-5,1.63E-5,1.48E-5,1.39E-5,1.24E-5,1.13E-5,1.04E-5,9.53E-6,8.82E-6,8.22E-6,7.72E-6,7.32E-6,6.94E-6,6.67E-6,6.48E-6,6.37E-6,6.33E-6,6.33E-6,6.36E-6,6.45E-6,6.57E-6,6.75E-6,6.97E-6,7.21E-6,7.47E-6,7.75E-6,8.08E-6,8.27E-6,8.46E-6,8.73E-6,9.01E-6,9.28E-6,9.56E-6,9.85E-6,1.02E-5,1.06E-5,1.09E-5,1.13E-5,1.15E-5,1.17E-5,1.20E-5,1.23E-5,1.25E-5,1.28E-5,1.31E-5,1.35E-5,1.39E-5,1.42E-5,1.46E-5,1.48E-5,1.50E-5]# L1 SHELL IONISATIONXL1S=[0]+[326.3,329.0,338.3,347.8,357.5,367.6,378.0,388.6,399.6,410.9,422.5,447.,473.,500.,529.,559.,592.,626.,662.,701.,742.,807.,879.,957.,1013.,1103.,1203.,1313.,1423.,1553.,1693.,1893.,2123.,2383.,2673.,3003.,3463.,3993.,4613.,5323.,6143.,7303.,8673.,1.00E4,1.19E4,1.41E4,1.68E4,2.00E4,2.37E4,2.82E4,3.35E4,4.10E4,5.01E4,6.13E4,7.50E4,8.91E4,1.00E5,1.22E5,1.50E5,1.83E5,2.30E5,2.90E5,3.65E5,4.60E5,5.79E5,7.50E5,8.66E5,1.00E6,1.22E6,1.50E6,1.83E6,2.30E6,2.90E6,3.65E6,4.60E6,5.79E6,7.50E6,8.66E6,1.00E7,1.22E7,1.50E7,1.83E7,2.30E7,2.90E7,3.65E7,4.60E7,5.79E7,7.50E7,8.66E7,1.00E8,1.22E8,1.50E8,1.83E8,2.30E8,2.90E8,3.65E8,4.60E8,5.79E8,7.50E8,8.66E8,1.00E9]YL1S=[0]+[0.0,5.83E-5,2.39E-4,4.07E-4,5.63E-4,7.08E-4,8.43E-4,9.71E-4,1.09E-3,1.20E-3,1.31E-3,1.50E-3,1.68E-3,1.84E-3,1.98E-3,2.11E-3,2.22E-3,2.32E-3,2.41E-3,2.49E-3,2.55E-3,2.63E-3,2.68E-3,2.72E-3,2.73E-3,2.72E-3,2.71E-3,2.67E-3,2.62E-3,2.56E-3,2.49E-3,2.38E-3,2.27E-3,2.14E-3,2.02E-3,1.89E-3,1.74E-3,1.59E-3,1.44E-3,1.31E-3,1.19E-3,1.05E-3,9.22E-4,8.28E-4,7.26E-4,6.36E-4,5.57E-4,4.87E-4,4.26E-4,3.72E-4,3.26E-4,2.79E-4,2.40E-4,2.07E-4,1.79E-4,1.59E-4,1.48E-4,1.30E-4,1.15E-4,1.03E-4,9.19E-5,8.32E-5,7.66E-5,7.16E-5,6.81E-5,6.55E-5,6.45E-5,6.40E-5,6.36E-5,6.38E-5,6.44E-5,6.54E-5,6.67E-5,6.84E-5,7.02E-5,7.22E-5,7.45E-5,7.59E-5,7.72E-5,7.92E-5,8.12E-5,8.32E-5,8.55E-5,8.79E-5,9.03E-5,9.26E-5,9.50E-5,9.77E-5,9.92E-5,1.01E-4,1.03E-4,1.05E-4,1.07E-4,1.09E-4,1.12E-4,1.14E-4,1.17E-4,1.19E-4,1.22E-4,1.23E-4,1.25E-4]# L2 SHELL IONISATIONXL2S=[0]+[250.6,252.3,260.3,267.3,275.3,283.3,291.3,300.3,308.3,317.3,326.3,346.3,366.3,388.3,411.3,435.3,461.3,488.3,517.3,547.3,580.3,614.3,650.3,689.3,751.3,819.3,892.3,1001.,1121.,1261.,1411.,1581.,1781.,1941.,2181.,2441.,2741.,3071.,3451.,3871.,4471.,5161.,5961.,6881.,7941.,8911.,1.00E4,1.19E4,1.41E4,1.68E4,2.05E4,2.44E4,2.90E4,3.45E4,4.10E4,4.87E4,5.79E4,6.88E4,8.18E4,1.00E5,1.22E5,1.50E5,1.83E5,2.24E5,2.74E5,3.35E5,4.10E5,5.01E5,6.13E5,7.50E5,1.00E6,1.22E6,1.50E6,1.83E6,2.30E6,2.90E6,3.65E6,4.60E6,5.79E6,7.50E6,8.66E6,1.00E7,1.22E7,1.50E7,1.83E7,2.30E7,2.90E7,3.65E7,4.60E7,5.79E7,7.50E7,8.66E7,1.00E8,1.22E8,1.50E8,1.83E8,2.30E8,2.90E8,3.65E8,4.60E8,5.79E8,7.50E8,8.66E8,1.00E9]YL2S=[0]+[0.00,9.77E-5,4.86E-4,8.50E-4,1.19E-3,1.51E-3,1.81E-3,2.10E-3,2.36E-3,2.62E-3,2.85E-3,3.29E-3,3.67E-3,4.01E-3,4.32E-3,4.59E-3,4.83E-3,5.04E-3,5.22E-3,5.38E-3,5.52E-3,5.63E-3,5.72E-3,5.79E-3,5.86E-3,5.89E-3,5.88E-3,5.82E-3,5.70E-3,5.55E-3,5.36E-3,5.14E-3,4.90E-3,4.72E-3,4.46E-3,4.21E-3,3.95E-3,3.70E-3,3.47E-3,3.24E-3,2.96E-3,2.70E-3,2.46E-3,2.23E-3,2.01E-3,1.86E-3,1.71E-3,1.51E-3,1.33E-3,1.17E-3,1.01E-3,8.83E-4,7.77E-4,6.83E-4,6.02E-4,5.31E-4,4.69E-4,4.16E-4,3.70E-4,3.25E-4,2.87E-4,2.56E-4,2.30E-4,2.09E-4,1.92E-4,1.78E-4,1.68E-4,1.60E-4,1.54E-4,1.50E-4,1.48E-4,1.48E-4,1.49E-4,1.51E-4,1.54E-4,1.58E-4,1.63E-4,1.68E-4,1.73E-4,1.80E-4,1.83E-4,1.87E-4,1.93E-4,1.98E-4,2.04E-4,2.10E-4,2.16E-4,2.23E-4,2.29E-4,2.36E-4,2.43E-4,2.47E-4,2.52E-4,2.57E-4,2.63E-4,2.69E-4,2.75E-4,2.82E-4,2.89E-4,2.95E-4,3.02E-4,3.09E-4,3.13E-4,3.17E-4]# L3 SHELL IONISATIONXL3S=[0]+[248.4,252.5,260.5,267.5,275.5,283.5,291.5,300.5,308.5,317.5,326.5,346.5,366.5,388.5,411.5,435.5,461.5,488.5,517.5,547.5,580.5,614.5,650.5,689.5,751.5,819.5,892.5,1001.,1121.,1261.,1411.,1581.,1781.,1941.,2181.,2441.,2741.,3071.,3451.,3871.,4471.,5161.,5961.,6881.,7941.,8911.,1.00E4,1.19E4,1.41E4,1.68E4,2.05E4,2.44E4,2.90E4,3.45E4,4.10E4,4.87E4,5.79E4,6.88E4,8.18E4,1.00E5,1.22E5,1.50E5,1.83E5,2.24E5,2.74E5,3.35E5,4.10E5,5.01E5,6.13E5,7.50E5,1.00E6,1.22E6,1.50E6,1.83E6,2.30E6,2.90E6,3.65E6,4.60E6,5.79E6,7.50E6,8.66E6,1.00E7,1.22E7,1.50E7,1.83E7,2.30E7,2.90E7,3.65E7,4.60E7,5.79E7,7.50E7,8.66E7,1.00E8,1.22E8,1.50E8,1.83E8,2.30E8,2.90E8,3.65E8,4.60E8,5.79E8,7.50E8,8.66E8,1.00E9]YL3S=[0]+[0.0,4.71E-4,1.25E-3,1.98E-3,2.67E-3,3.31E-3,3.92E-3,4.48E-3,5.02E-3,5.52E-3,6.00E-3,6.86E-3,7.63E-3,8.32E-3,8.93E-3,9.47E-3,9.95E-3,1.04E-2,1.07E-2,1.10E-2,1.13E-2,1.15E-2,1.17E-2,1.18E-2,1.20E-2,1.20E-2,1.20E-2,1.19E-2,1.16E-2,1.13E-2,1.09E-2,1.05E-2,9.97E-3,9.59E-3,9.07E-3,8.55E-3,8.03E-3,7.53E-3,7.04E-3,6.58E-3,6.02E-3,5.49E-3,4.99E-3,4.52E-3,4.09E-3,3.77E-3,3.47E-3,3.06E-3,2.69E-3,2.37E-3,2.04E-3,1.79E-3,1.58E-3,1.39E-3,1.22E-3,1.08E-3,9.52E-4,8.44E-4,7.51E-4,6.59E-4,5.82E-4,5.19E-4,4.66E-4,4.23E-4,3.89E-4,3.61E-4,3.40E-4,3.24E-4,3.12E-4,3.05E-4,3.00E-4,3.00E-4,3.02E-4,3.06E-4,3.12E-4,3.20E-4,3.30E-4,3.40E-4,3.51E-4,3.64E-4,3.72E-4,3.79E-4,3.90E-4,4.01E-4,4.13E-4,4.25E-4,4.39E-4,4.52E-4,4.65E-4,4.78E-4,4.93E-4,5.01E-4,5.10E-4,5.21E-4,5.33E-4,5.45E-4,5.58E-4,5.71E-4,5.85E-4,5.98E-4,6.11E-4,6.26E-4,6.35E-4,6.43E-4]# 1S5 METASTABLE SCALE BY 1]E**3 ABOVE 100 EV X1S5=[0]+[11.548,11.60,11.63,11.64,11.66,11.70,11.75,11.80,11.82,11.83,11.84,11.86,11.88,11.90,11.93,12.00,12.10,12.20,12.30,12.40,12.50,12.60,12.70,12.80,12.83,12.86,12.90,12.91,12.93,12.96,13.00,13.03,13.05,13.08,13.10,13.12,13.15,13.18,13.20,13.26,13.28,13.29,13.35,13.40,13.45,13.47,13.50,13.60,13.70,13.80,14.0,14.5,15.0,16.0,17.0,18.0,20.0,22.0,24.0,26.0,28.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.]# UNITS 10-18 CM**2Y1S5=[0]+[0.00,0.70,1.22,1.22,1.01,0.88,0.83,0.90,1.13,1.69,2.27,1.64,1.13,1.04,0.99,1.10,1.31,1.64,2.05,2.47,2.86,3.20,3.40,3.40,3.33,3.19,2.77,3.28,2.56,2.27,2.27,3.89,5.20,3.89,2.72,2.14,1.75,1.96,1.69,1.53,2.03,1.76,1.94,2.09,2.18,2.52,2.36,2.56,2.80,3.10,3.85,4.40,4.94,5.58,6.16,6.44,6.20,4.90,3.80,3.20,2.50,2.00,1.15,0.80,0.52,0.37,0.24,.135,.088,.060,.042]YEPS1=[0]+[*71*[0.0]]# 1S4 RESONANCE RADIATION 106.66 NM WAVELENGTH# USE BEF SCALING ABOVE 1000EV F=0.058X1S4=[0]+[11.624,11.65,11.66,11.67,11.68,11.69,11.70,11.74,11.75,11.77,11.79,11.82,11.84,11.87,11.88,11.90,11.95,12.00,12.05,12.10,12.20,12.30,12.40,12.50,12.60,12.70,12.80,12.85,12.90,12.905,12.91,12.93,12.97,13.00,13.03,13.05,13.06,13.07,13.09,13.10,13.15,13.18,13.20,13.21,13.23,13.26,13.30,13.35,13.40,13.45,13.47,13.49,13.60,13.70,13.80,14.0,15.0,16.0,17.0,18.0,19.0,20.0,24.0,27.0,30.0,40.0,50.0,60.0,80.0,100.,140.,200.,250.,300.,400.,500.,600.,800.,1000.]# UNITS 10**-18 CM**2Y1S4=[0]+[0.00,0.90,1.48,1.57,1.57,1.55,1.48,1.10,1.05,1.14,1.22,1.30,1.42,0.90,0.81,.742,.761,.788,0.86,0.92,1.12,1.55,1.64,1.91,2.16,2.32,2.38,2.34,2.12,2.02,2.29,2.00,1.87,1.93,2.38,3.28,3.49,3.20,2.21,2.05,1.76,2.27,2.11,2.36,2.11,1.98,1.89,1.82,1.87,1.94,2.16,2.07,2.23,2.40,2.55,2.90,5.02,6.23,6.86,7.43,8.00,8.05,8.05,8.00,7.80,7.30,6.80,6.30,5.60,5.00,4.30,3.60,3.30,3.00,2.50,2.15,1.92,1.60,1.41]YEPS2=[0]+[*79*[0.0]]# 1S3 METASTABLE SCALE BY 1]E**3 ABOVE 100 EVX1S3=[0]+[11.723,11.75,11.76,11.78,11.79,11.80,11.84,11.86,11.90,11.95,12.00,12.10,12.20,12.30,12.40,12.50,12.60,12.70,12.80,12.85,12.90,12.91,12.92,12.94,12.98,12.99,13.00,13.01,13.04,13.05,13.06,13.08,13.10,13.15,13.18,13.20,13.21,13.23,13.25,13.27,13.30,13.35,13.40,13.45,13.47,13.49,13.60,13.70,13.80,14.0,14.5,15.0,16.0,17.0,18.0,20.0,22.0,24.0,26.0,28.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.]# UNITS 10**-18 CM**2Y1S3=[0]+[0.00,.176,0.38,0.45,0.45,0.43,0.23,0.23,.176,.155,.155,.171,.211,.259,.317,.389,.454,.509,.542,.535,.479,.373,.567,.486,.437,.639,.518,.461,.518,.752,.979,.873,.706,.535,.535,.826,1.12,.891,.720,.616,.461,.236,.243,.252,.445,.356,.405,.454,.486,0.56,0.80,0.99,1.12,1.23,1.29,1.24,0.98,0.76,0.64,0.50,0.40,0.23,0.16,.104,.074,.048,.027,.0176,.0120,.0084]YEPS3=[0]+[*70*[0.0]]# 1S2 RESONANCE RADIATION 104.82 NM WAVELENGTH# USE BEF SCALING ABOVE 400 EV F=0.2214X1S2=[0]+[11.828,11.85,11.86,11.88,11.90,11.93,11.96,12.00,12.05,12.10,12.20,12.30,12.40,12.50,12.60,12.70,12.80,12.85,12.90,12.91,12.93,12.95,13.00,13.02,13.06,13.10,13.13,13.15,13.17,13.20,13.21,13.23,13.25,13.27,13.30,13.35,13.40,13.45,13.46,13.48,13.50,13.60,13.70,13.80,14.0,15.0,16.0,17.0,18.0,19.0,20.0,22.0,24.0,26.0,28.0,30.0,35.0,40.0,50.0,60.0,80.0,100.,120.,140.,170.,200.,250.,300.,350.,400.]# UNITS 10**-18 CM**2Y1S2=[0]+[0.00,1.55,1.94,1.76,1.58,1.37,1.24,1.19,1.19,1.21,1.30,1.44,1.64,1.91,2.25,2.52,2.75,2.83,2.86,3.46,3.04,2.95,2.93,3.08,4.18,3.29,3.17,3.02,2.99,3.60,4.21,3.78,3.53,3.17,3.02,2.74,2.92,3.29,3.40,3.24,3.33,3.71,3.94,4.20,4.80,7.20,9.43,11.7,14.0,16.0,17.2,18.8,19.8,20.6,21.3,22.0,23.6,24.7,25.5,25.3,24.0,22.3,20.7,19.3,17.5,16.0,14.0,12.5,11.3,10.3]YEPS4=[0]+[*70*[0.0]]# 2P10 J=1 SCALED BY 1]E**2 ABOVE 100 EVX2P10=[0]+[12.907,12.912,12.922,12.934,12.949,12.966,13.00,13.012,13.035,13.042,13.053,13.064,13.068,13.075,13.089,13.107,13.141,13.154,13.162,13.170,13.180,13.190,13.202,13.214,13.220,13.234,13.239,13.265,13.271,13.276,13.300,13.400,13.445,13.458,13.467,13.480,13.50,13.60,14.0,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P10=[0]+[0.00,0.76,0.40,0.57,0.53,0.61,0.95,1.40,1.78,1.88,1.74,1.18,0.70,0.34,0.13,0.21,0.39,0.70,1.01,1.07,1.33,1.17,1.43,0.70,0.36,0.14,0.11,0.11,0.25,0.18,0.19,0.21,0.22,0.34,0.51,0.34,0.32,0.31,0.39,0.77,1.13,1.82,2.03,2.16,2.20,2.17,1.89,1.20,0.81,0.58,0.33,0.21,0.11,.065]YEP2P10=[0]+[*54*[0.0]]# 2P9 J=3 SCALED BY 1]E**2 ABOVE 100 EVX2P9=[0]+[13.076,14.0,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P9=[0]+[0.00,0.55,1.23,1.90,2.75,2.94,3.00,2.98,2.92,2.55,1.73,1.19,0.85,0.50,0.32,0.17,0.11]YEP2P9=[0]+[*17*[0.0]]# 2P8 J=2 SCALED BY 1]E ABOVE 100 EVX2P8=[0]+[13.095,14.0,15.0,16.0,18.0,20.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P8=[0]+[0.00,0.38,0.85,1.25,1.85,2.10,2.30,2.35,2.40,2.36,2.20,1.80,1.50,1.13,0.90]YEP2P8=[0]+[*15*[0.0]]# 2P7 J=1 SCALED BY 1]E**2 ABOVE 100 EVX2P7=[0]+[13.153,14.0,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P7=[0]+[0.00,0.20,0.56,0.92,1.56,1.74,1.81,1.81,1.76,1.60,1.25,1.00,0.84,0.61,0.44,0.27,0.19]YEP2P7=[0]+[*17*[0.0]]# 2P6 J=2 SCALED BY 1]E ABOVE 100 EVX2P6=[0]+[13.172,14.0,15.0,16.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P6=[0]+[0.00,0.36,0.81,1.24,1.84,2.04,2.10,2.20,2.18,1.95,1.80,1.65,1.42,1.27,1.04,0.87]YEP2P6=[0]+[*16*[0.0]]# 2P5 J=0 SCALED BY 1]E ABOVE 100 EVX2P5=[0]+[13.273,14.0,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P5=[0]+[0.00,0.09,0.28,0.47,0.83,0.97,1.08,1.16,1.20,1.26,1.25,1.23,1.20,1.08,0.96,0.75,0.60]YEP2P5=[0]+[*17*[0.0]]# 2P4 J=1 SCALED BY 1]E**2 ABOVE 100 EVX2P4=[0]+[13.283,14.0,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P4=[0]+[0.00,0.18,0.55,0.90,1.53,1.71,1.77,1.77,1.72,1.57,1.23,0.98,0.82,0.60,0.43,0.26,0.18]YEP2P4=[0]+[*17*[0.0]]# 2P3 J=2 SCALED BY 1]E ABOVE 100 EVX2P3=[0]+[13.302,14.0,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P3=[0]+[0.00,.155,0.39,0.62,1.11,1.34,1.51,1.62,1.70,1.82,1.85,1.76,1.62,1.33,1.10,0.82,0.66]YEP2P3=[0]+[*17*[0.0]]# 2P2 J=1 SCALED BY 1]E**2 ABOVE 100 EVX2P2=[0]+[13.328,14.0,15.0,16.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P2=[0]+[0.00,0.20,0.46,0.60,0.74,0.77,.785,0.78,0.73,0.62,0.53,0.44,0.33,0.25,0.15,0.10]YEP2P2=[0]+[*16*[0.0]]# 2P1 J=0 SCALED BY 1]E ABOVE 100 EVX2P1=[0]+[13.480,14.0,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y2P1=[0]+[0.00,0.29,0.94,1.58,2.75,3.22,3.60,3.85,4.00,4.20,4.15,4.10,4.00,3.60,3.20,2.50,2.00]YEP2P1=[0]+[*17*[0.0]]# 3D6 J=0 SCALED BY 1]E**3 ABOVE 100 EVX3D6=[0]+[13.845,14.0,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,100.]Y3D6=[0]+[0.00,0.11,0.64,0.92,1.05,1.10,1.10,1.07,0.97,0.79,0.56,0.39,0.28,0.21,0.16,.099,.065,.045,.024]YEP3D6=[0]+[*19*[0.0]]# 3D5 J=1 DIPOLE ALLOWED BEF SCALING USE BEF ABOVE 400EV F=0.0010X3D5=[0]+[13.864,14.0,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,100.,120.,140.,170.,200.,250.,300.,400.]# Y3D5]0.00,0.40,3.00,4.50,5.25,5.50,5.50,5.35,4.90,4.00,# =[0]+[2.80,2.05,1.50,1.15,0.98,0.65,0.46,0.35,0.19,0.14,# =[0]+[.115,.095,.077,.065,.054,.037]Y3D5=[0]+[0.00,0.32,2.40,3.60,4.20,4.40,4.40,4.28,3.92,3.20,2.24,1.64,1.20,0.92,0.78,0.52,0.37,0.28,0.15,.112,.092,.076,.062,.052,.045,.037]YEP3D5=[0]+[*26*[0.0]]# 3D4' J=4 SCALED BY 1]E**3 ABOVE 100 EVX3D4P=[0]+[13.979,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,70.0,80.0,90.0,100.]Y3D4P=[0]+[0.00,2.16,3.31,3.88,4.11,4.14,4.04,3.68,3.03,2.12,1.50,1.09,.813,.619,.482,.381,.251,.173,.125,.092]YEP3D4P=[0]+[*20*[0.0]]# 3D4 J=3 SCALED BY 1]E**2 ABOVE 100 EVX3D4=[0]+[14.013,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,90.0,100.]Y3D4=[0]+[0.00,0.63,1.05,1.31,1.48,1.57,1.62,1.63,1.62,1.52,1.28,1.06,0.88,0.73,0.62,0.53,0.46,0.40,0.35,0.31,0.28,.225,.186]YEP3D4=[0]+[*23*[0.0]]# 3D3 J=2 SCALE BY 1]E**3 ABOVE 100 EVX3D3=[0]+[13.903,14.0,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.]Y3D3=[0]+[0.00,0.15,1.60,3.00,3.70,4.30,4.50,4.40,4.20,3.60,2.63,1.86,1.35,1.00,0.76,0.47,0.31,0.21,0.15,.114]YEP3D3=[0]+[*20*[0.0]]# 3D1'' J=2 (ALSO 2S5 J=1 ) SCALE BY 1]E**2 ABOVE 100 EVX3D1PP=[0]+[14.063,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.]Y3D1PP=[0]+[0.00,0.60,1.10,1.50,1.70,1.80,1.85,1.85,1.65,1.35,1.00,0.73,0.57,0.45,0.32,0.23,0.18,.145,.120]YEP3D1PP=[0]+[*19*[0.0]]# 3D1' J=3 SCALE BY 1]E ABOVE 100 EVX3D1P=[0]+[14.099,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y3D1P=[0]+[0.00,0.08,0.18,0.33,0.40,0.45,0.48,0.50,0.54,0.55,0.52,0.48,0.40,0.33,0.24,0.20]YEP3D1P=[0]+[*16*[0.0]]# 3S1'''' J=2 SCALE BY 1]E**3 ABOVE 100 EVX3S1PPPP=[0]+[14.214,15.0,16.0,17.0,18.0,19.0,20.0,22.0,24.0,27.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,70.0,80.0,90.0,100.]Y3S1PPPP=[0]+[0.00,0.80,1.65,2.10,2.30,2.35,2.32,2.15,1.89,1.54,1.25,0.89,0.65,0.48,0.37,0.29,0.23,0.15,.103,.074,.055]YEP3S1PPPP=[*21*[0.0]]# 3S1''' J=3 SCALE BY 1]E ABOVE 100 EVX3S1PPP=[0]+[14.236,15.0,16.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]Y3S1PPP=[0]+[0.00,0.12,0.27,0.50,0.60,0.68,0.72,0.75,0.81,0.82,0.78,0.72,0.60,0.52,0.36,0.30]YEP3S1PPP=[0]+[*16*[0.0]]# 3S1'' J=2 SCALE BY 1]E**3 ABOVE 100 EVX3S1PP=[0]+[14.234,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,70.0,80.0,90.0,100.]Y3S1PP=[0]+[0.00,0.55,1.06,1.31,1.42,1.44,1.42,1.37,1.31,1.09,0.77,0.55,0.40,0.30,0.23,0.18,0.14,.0918,.0635,.0456,.0339]YEP3S1PP=[0]+[*21*[0.0]]# 2S5 J=2 SCALE BY 1]E**2 ABOVE 100 EVX2S5=[0]+[14.068,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.]Y2S5=[0]+[0.00,0.60,1.10,1.50,1.70,1.80,1.85,1.85,1.65,1.35,1.00,0.73,0.57,0.45,0.32,0.23,0.18,.145,.120]YEP2S5=[0]+[*19*[0.0]]# 2S3 J=0 SCALE BY 1]E**2 ABOVE 100 EVX2S3=[0]+[14.241,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.]Y2S3=[0]+[0.00,0.12,0.22,0.30,0.34,0.36,0.37,0.37,0.33,0.27,0.20,.146,.114,.090,.064,.046,.036,.029,.024]YEP2S3=[0]+[*19*[0.0]]# BREMSSTRAHLUNG X-SECTION WITH CUT OFF# UNITS 10**-24 CM**2Z18T=[0]+[1518.,1035.,582.,355.,207.,99.5,58.9,37.1,24.7,21.9,21.9,22.3,22.6,22.9,23.1,23.4,23.7,24.0,24.2,24.4,24.6,24.7,24.7,24.8,24.9]EBRM=[0]+[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]#----------------------------------------------------------------------# NANISO=0if(NANISO==0):NAME='ARGON ISOTROPIC 2014'else:NAME='ARGON ANISOTROPIC 2014'# endif # ---------------------------------------------------------------- # MULTI-TERM CROSS-SECTION. # FOR PURE ARGON: # ACCURACY OF DERIVED VELOCITY AND DIFFUSION COEFFICIENTS 0.5% BELOW # 3000VOLTS . BELOW 20000VOLTS ACCURACY 1.0%. IONISATION COEFFICIENT # AND DRIFT VELOCITY ACCURACY BETTER THAN 5% BELOW 1,000,000 VOLTS# ANISOTROPIC ELASTIC SCATTERING VERSION # 2007:INCREASED BASE UPPER ENERGY TO 2MEV# 2007:INCLUDED NEW ANISTROPIC SCATTERING def# 2007:INCLUDED POSSIBLE PENNING TRANSFER FRACTION # 2009:SPLIT EXCITATION X-SECTION INTO 44 LEVELS AND MODIFIED# ELASTIC X-SECTION. # 2011:INCREASED SCALING FACTOR FOR S LEVELS AT THRESHOLD FROM # 0.5 TO 0.81 x (BARTSCHAT AND ZATSARINNY BSR MODEL)# EXCITATION RATE STILL WITHIN 1 SIGMA OF TACHIBANAS MEASURED# RATES FOR THE 1S LEVELS # AND SMALL INCREASE IN MOMENTUM TRANSFER X-SECTION AT THE# PEAK( 11 EV) TO FIT DRIFT VELOCITY. # 2013: INCLUDED K AND L SHELL IONISATIONS AND CHARGE STATES 1 2 AND 3 # 2014: UPDATE TO CORRECT THE BEF SCALING FORMULA #-----------------------------------------------------------------------# TOTAL OSCILLATOR SUM FOR EXCITED STATES F=0.860 #----------------------------------------------------------------- # # PARAMETERS OF PHASE SHIFT ANALYSIS. # APOL=11.08LMAX=100AA=-1.459DD=68.93FF=-97.0A1=8.69API=numpy.arccos(-1.00)A0=0.52917720859e-8RY=13.60569193CONST=1.873884e-20EMASS2=1021997.804BBCONST=16.0*API*A0*A0*RY*RY/EMASS2CONST=1.873884e-20#AM2=3.593C=39.70#PSCALE=0.90# # AVERAGE AUGER EMISSIONS FROM EACH SHELLAUGL3=2.0AUGL2=1.0AUGL1=2.63AUGK=3.39#NION=7NATT=1NIN=44NNULL=0IONMODEL=0#NBREM=25forJinrange(1,NIN+1):IZBR[J]=0# 6 CONTINUEIZBR[45]=18#forJinrange(1,6+1):KEL[J]=NANISOforJinrange(1,NIN+1):KIN[J]=NANISO# NDATA=117NEPSI=217NIDATA=75NION2=47NION3=36NKSH=89NL1S=101NL2S=104NL3S=104N1S5=71N1S4=79N1S3=70N1S2=70N2P10=54N2P9=17N2P8=15N2P7=17N2P6=16N2P5=17N2P4=17N2P3=17N2P2=16N2P1=17N3D6=19N3D5=26N3D3=20N3D4P=20N3D4=23N3D1PP=19N2S5=19N3D1P=16N3S1PPPP=21N3S1PP=21N3S1PPP=16N2S3=19#E[1]=0.0E[2]=2.0*EMASS/(39.948*AMU)E[3]=15.75961# EXCITATION X-SECTION AT 1.5MEV E[4]=0.18E-18# IONISING X-SECTION AT 1.5MEV E[5]=0.9204E-18# OPAL BEATY FOR MINIMUM IONISING PARTICLE E[6]=15.0# OPAL BEATY AT LOW ENERGYEOBY[1]=9.5EOBY[2]=18.0EOBY[3]=34.0# OPAL BEATY SPLITTING FOR SHELLSEOBY[4]=110.EOBY[5]=110.0EOBY[6]=150.0EOBY[7]=1800.0#EION[1]=15.75961EION[2]=43.38928EION[3]=84.124EION[4]=248.4EION[5]=250.6EION[6]=326.3EION[7]=3205.9LEGAS[1]=0LEGAS[2]=0LEGAS[3]=0LEGAS[4]=1LEGAS[5]=1LEGAS[6]=1LEGAS[7]=1ISHELL[1]=0ISHELL[2]=0ISHELL[3]=0ISHELL[4]=4ISHELL[5]=3ISHELL[6]=2ISHELL[7]=1# FLUORESCENCE AND AUGER DATANC0[1]=0EC0[1]=0.0WKLM[1]=0.0EFL[1]=0.0NG1[1]=0EG1[1]=0.0NG2[1]=0EG2[1]=0.0NC0[2]=1EC0[2]=6.0WKLM[2]=0.0EFL[2]=0.0NG1[2]=0EG1[2]=0.0NG2[2]=0EG2[2]=0.0NC0[3]=2EC0[3]=12.0WKLM[3]=0.0EFL[3]=0.0NG1[3]=0EG1[3]=0.0NG2[3]=0NG2[3]=0.0NC0[4]=2EC0[4]=210.5WKLM[4]=0.00147EFL[4]=232.NG1[4]=1EG1[4]=210.5NG2[4]=1EG2[4]=5.0NC0[5]=2EC0[5]=202.2WKLM[5]=0.00147EFL[5]=235.NG1[5]=1EG1[5]=202.2NG2[5]=1EG2[5]=5.0NC0[6]=3EC0[6]=240.8WKLM[6]=0.00147EFL[6]=310.NG1[6]=2EG1[6]=240.8NG2[6]=1EG2[6]=5.0NC0[7]=4EC0[7]=3071.WKLM[7]=0.12EFL[7]=2957.NG1[7]=3EG1[7]=2850.NG2[7]=2EG2[7]=220.#forJinrange(1,NION+1):forIinrange(1,20000+1):if(EG[I]>EION[J]):IOFFION[J]=I-1break# endif# 777 CONTINUE# 776 CONTINUE#EIN[1]=11.548EIN[2]=11.624EIN[3]=11.723EIN[4]=11.828EIN[5]=12.907EIN[6]=13.076EIN[7]=13.095EIN[8]=13.153EIN[9]=13.172EIN[10]=13.273EIN[11]=13.283EIN[12]=13.302EIN[13]=13.328EIN[14]=13.480EIN[15]=13.845EIN[16]=13.864EIN[17]=13.903EIN[18]=13.979EIN[19]=14.013EIN[20]=14.063EIN[21]=14.068EIN[22]=14.090EIN[23]=14.099EIN[24]=14.153EIN[25]=14.214EIN[26]=14.234EIN[27]=14.236EIN[28]=14.241EIN[29]=14.255EIN[30]=14.304EIN[31]=14.711EIN[32]=14.848EIN[33]=14.859EIN[34]=15.004EIN[35]=15.022EIN[36]=15.118EIN[37]=15.186EIN[38]=15.190EIN[39]=15.308EIN[40]=15.351EIN[41]=15.360EIN[42]=15.366EIN[43]=15.374EIN[44]=15.660EIN[45]=0.0#**********************************************************************# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL# USE TRANSFER FRACTION IN RANGE BETWEEN 0.0 AND 0.2 FOR MOST MIXTURESforNLinrange(1,NIN+1):PENFRA[1][NL]=0.2# PENNING TRANSFER DISTANCE MICRONSPENFRA[2][NL]=1.0# PENNING TRANSFER TIME PICOSECONDSPENFRA[3][NL]=1.0#**********************************************************************if(IPEN==0):passelse:forKDUMinrange(1,NIN+1):if(PENFRA[1][KDUM]==0.0):continueprint(' GAS = %s ENERGY LEVEL = %.4f EV.\n PENNING PROBABILITY =%.3f ABS.LENGTH =%.2f DECAY TIME =%.1f\n'%(NAME,EIN[KDUM],PENFRA[1][KDUM],PENFRA[2][KDUM],PENFRA[3][KDUM]))# 4 forNLinrange(1,NIN+1):forIinrange(1,20000+1):if(EG[I]>EIN[NL]):IOFFN[NL]=I-1break# endif#SCRPT[1]=' 'SCRPT[2]=' ELASTIC ANISOTROPIC ARGON 'if(NANISO==0):SCRPT[2]=' ELASTIC ISOTROPIC ARGON '# endifSCRPT[3]=' IONISATION CHARGE STATE =1 ELOSS= 15.75961'SCRPT[4]=' IONISATION CHARGE STATE =2 ELOSS= 43.38928'SCRPT[5]=' IONISATION CHARGE STATE =3 ELOSS= 84.124 'SCRPT[6]=' IONISATION L3 SHELL ELOSS= 248.4 'SCRPT[7]=' IONISATION L2 SHELL ELOSS= 250.6 'SCRPT[8]=' IONISATION L1 SHELL ELOSS= 326.3 'SCRPT[9]=' IONISATION K SHELL ELOSS= 3205.9 'SCRPT[10]=' ATTACHMENT 'SCRPT[11]=' 'SCRPT[12]=' 'SCRPT[13]=' EXC 1S5 J=2 METASTABLE ELEVEL= 11.548 'SCRPT[14]=' EXC 1S4 J=1 RESONANT ELEVEL= 11.624 'SCRPT[15]=' EXC 1S3 J=0 METASTABLE ELEVEL= 11.723 'SCRPT[16]=' EXC 1S2 J=1 RESONANT ELEVEL= 11.828 'SCRPT[17]=' EXC 2P10 J=1 ELEVEL= 12.907 'SCRPT[18]=' EXC 2P9 J=3 ELEVEL= 13.076 'SCRPT[19]=' EXC 2P8 J=2 ELEVEL= 13.095 'SCRPT[20]=' EXC 2P7 J=1 ELEVEL= 13.153 'SCRPT[21]=' EXC 2P6 J=2 ELEVEL= 13.172 'SCRPT[22]=' EXC 2P5 J=0 ELEVEL= 13.273 'SCRPT[23]=' EXC 2P4 J=1 ELEVEL= 13.283 'SCRPT[24]=' EXC 2P3 J=2 ELEVEL= 13.302 'SCRPT[25]=' EXC 2P2 J=1 ELEVEL= 13.328 'SCRPT[26]=' EXC 2P1 J=0 ELEVEL= 13.480 'SCRPT[27]=' EXC 3D6 J=0 ELEVEL= 13.845 'SCRPT[28]=' EXC 3D5 J=1 RESONANT ELEVEL= 13.864 'SCRPT[29]=' EXC 3D3 J=2 ELEVEL= 13.903 'SCRPT[30]=' EXC 3D4# J=4 ELEVEL= 13.979 'SCRPT[31]=' EXC 3D4 J=3 ELEVEL= 14.013 'SCRPT[32]=' EXC 3D1## J=2 ELEVEL= 14.063 'SCRPT[33]=' EXC 2S5 J=2 ELEVEL= 14.068 'SCRPT[34]=' EXC 2S4 J=1 RESONANT ELEVEL= 14.090 'SCRPT[35]=' EXC 3D1# J=3 ELEVEL= 14.099 'SCRPT[36]=' EXC 3D2 J=1 RESONANT ELEVEL= 14.153 'SCRPT[37]=' EXC 3S1####J=2 ELEVEL= 14.214 'SCRPT[38]=' EXC 3S1## J=2 ELEVEL= 14.234 'SCRPT[39]=' EXC 3S1### J=3 ELEVEL= 14.236 'SCRPT[40]=' EXC 2S3 J=0 ELEVEL= 14.241 'SCRPT[41]=' EXC 2S2 J=1 RESONANT ELEVEL= 14.255 'SCRPT[42]=' EXC 3S1# J=1 RESONANT ELEVEL= 14.304 'SCRPT[43]=' EXC 4D5 J=1 RESONANT ELEVEL= 14.711 'SCRPT[44]=' EXC 3S4 J=1 RESONANT ELEVEL= 14.848 'SCRPT[45]=' EXC 4D2 J=1 RESONANT ELEVEL= 14.859 'SCRPT[46]=' EXC 4S1# J=1 RESONANT ELEVEL= 15.004 'SCRPT[47]=' EXC 3S2 J=1 RESONANT ELEVEL= 15.022 'SCRPT[48]=' EXC 5D5 J=1 RESONANT ELEVEL= 15.118 'SCRPT[49]=' EXC 4S4 J=1 RESONANT ELEVEL= 15.186 'SCRPT[50]=' EXC 5D2 J=1 RESONANT ELEVEL= 15.190 'SCRPT[51]=' EXC 6D5 J=1 RESONANT ELEVEL= 15.308 'SCRPT[52]=' EXC 5S1# J=1 RESONANT ELEVEL= 15.351 'SCRPT[53]=' EXC 4S2 J=1 RESONANT ELEVEL= 15.360 'SCRPT[54]=' EXC 5S4 J=1 RESONANT ELEVEL= 15.366 'SCRPT[55]=' EXC 6D2 J=1 RESONANT ELEVEL= 15.374 'SCRPT[56]=' EXC HIGH J=1 RESONANT ELEVEL= 15.660 'SCRPT[57]=' BREMSSTRAHLUNG FROM ARGON ATOM '## EN=-ESTEP/2.0 defGOTO200():PQ1=0.5+(QELA-QMOM)/QELAflag202=1forJinrange(2,NEPSI+1):if(EN<=XEPS[J]):flag202=0breakif(flag202):J=NEPSIA=(YEPS[J]-YEPS[J-1])/(XEPS[J]-XEPS[J-1])B=(XEPS[J-1]*YEPS[J]-XEPS[J]*YEPS[J-1])/(XEPS[J-1]-XEPS[J])PQ2=A*EN+B# EPSILON =1-PQ2PQ2=1.00-PQ2if(NANISO==0):PEQEL[2][I]=0.5if(NANISO==1):PEQEL[2][I]=PQ1if(NANISO==2):PEQEL[2][I]=PQ2Q[2][I]=QELAif(NANISO==0):Q[2][I]=QMOM# IONISATION FOR CHARGE =1 QION[1][I]=0.0PEQION[1][I]=0.50if(NANISO==2):PEQION[1][I]=0.00if(EN<=EION[1]):# GO TO 223 passelse:flag222=1if(EN>XENI[NIDATA]):passelse:flag220=1forJinrange(2,NI+1):if(EN<=XENI[J]):flag220=0breakif(flag220):J=NIA=(YEN1[J]-YEN1[J-1])/(XENI[J]-XENI[J-1])B=(XENI[J-1]*YEN1[J]-XENI[J]*YEN1[J-1])/(XENI[J-1]-XENI[J])QION[1][I]=(A*EN+B)*1.0e-16flag222=0# USE BORN-BETHE X-SECTION ABOVE XENI[NIDATA] EV # 221 if(flag222):X2=1.00/BETA2X1=X2*math.log(BETA2/(1.00-BETA2))-1.00QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.9466# 222 CONTINUE # USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR# ENERGIES ABOVE 2 * IONISATION ENERGY# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFFSET BY# IONISATION ENERGYflag223=1if(EN<=(2.0*EION[1])):flag223=0if(flag223):PEQION[1][I]=PEQEL[2][I-IOFFION[1]]## IONISATION FOR CHARGE =2# 223 QION[2][I]=0.0PEQION[2][I]=0.50if(NANISO==2):PEQION[2][I]=0.00if(EN<=EION[2]):passelse:flag3222=1if(EN>XEN2[NION2]):passelse:flag3220=1forJinrange(2,NION2+1):if(EN<=XEN2[J]):flag3220=0breakif(flag3220):J=NION2A=(YEN2[J]-YEN2[J-1])/(XEN2[J]-XEN2[J-1])B=(XEN2[J-1]*YEN2[J]-XEN2[J]*YEN2[J-1])/(XEN2[J-1]-XEN2[J])QION[2][I]=(A*EN+B)*1.0e-16if(QION[2][I]<0.0):QION[2][I]=0.0flag3222=0# USE BORN-BETHE X-SECTION ABOVE XEN2[NION2] EV if(flag3222):X2=1.00/BETA2X1=X2*math.log(BETA2/(1.00-BETA2))-1.00QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.04448# 3222 CONTINUE # USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR# ENERGIES ABOVE 2 * IONISATION ENERGY# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFFSET BY# IONISATION ENERGYif(EN<=(2.0*EION[2])):passelse:PEQION[2][I]=PEQEL[2][I-IOFFION[2]]## IONISATION FOR CHARGE =3# 3223 QION[3][I]=0.0PEQION[3][I]=0.50if(NANISO==2):PEQION[3][I]=0.00if(EN<=EION[3]):passelse:flag4222=1if(EN>XEN3[NION3]):passelse:flag4220=1forJinrange(2,NION3+1):if(EN<=XEN3[J]):flag4220=0break# 4210 CONTINUE if(flag4220):J=NION3# 4220 A=(YEN3[J]-YEN3[J-1])/(XEN3[J]-XEN3[J-1])B=(XEN3[J-1]*YEN3[J]-XEN3[J]*YEN3[J-1])/(XEN3[J-1]-XEN3[J])QION[3][I]=(A*EN+B)*1.0e-16if(QION[3][I]<0.0):QION[3][I]=0.0flag4222=0# USE BORN-BETHE X-SECTION ABOVE XEN3[NION3] EV if(flag4222):# 4221 X2=1.00/BETA2X1=X2*math.log(BETA2/(1.00-BETA2))-1.00QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.00987# 4222 CONTINUE # USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR# ENERGIES ABOVE 2 * IONISATION ENERGY# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFFSET BY# IONISATION ENERGYif(EN<=(2.0*EION[3])):passelse:PEQION[3][I]=PEQEL[2][I-IOFFION[3]]# CALCULATE L3 SHELL IONISATION# 4223 QION[4][I]=0.00PEQION[4][I]=0.5if(NANISO==2):PEQION[4][I]=0.0if(EN<=EION[4]):passelse:flag2232=1forJinrange(2,NL3S+1):if(EN<=XL3S[J]):flag2232=0break# 2231 CONTINUEif(flag2232):J=NL3S# 2232 A=(YL3S[J]-YL3S[J-1])/(XL3S[J]-XL3S[J-1])B=(XL3S[J-1]*YL3S[J]-XL3S[J]*YL3S[J-1])/(XL3S[J-1]-XL3S[J])QION[4][I]=(A*EN+B)*1.e-16PEQION[4][I]=PEQEL[2][I-IOFFION[4]]# CALCULATE L2 SHELL IONISATION# 224 QION[5][I]=0.00PEQION[5][I]=0.5if(NANISO==2):PEQION[5][I]=0.0if(EN<=EION[5]):passelse:flag2242=1forJinrange(2,NL2S+1):if(EN<=XL2S[J]):flag2242=0break# 2241 CONTINUEif(flag2242):J=NL2S# 2242 A=(YL2S[J]-YL2S[J-1])/(XL2S[J]-XL2S[J-1])B=(XL2S[J-1]*YL2S[J]-XL2S[J]*YL2S[J-1])/(XL2S[J-1]-XL2S[J])QION[5][I]=(A*EN+B)*1.e-16PEQION[5][I]=PEQEL[2][I-IOFFION[5]]# CALCULATE L1 SHELL IONISATION# 225 QION[6][I]=0.00PEQION[6][I]=0.5if(NANISO==2):PEQION[6][I]=0.0if(EN<=EION[6]):passelse:flag2252=1forJinrange(2,NL1S+1):if(EN<=XL1S[J]):flag2252=0break# 2251 CONTINUEif(flag2252):J=NL1S# 2252 A=(YL1S[J]-YL1S[J-1])/(XL1S[J]-XL1S[J-1])B=(XL1S[J-1]*YL1S[J]-XL1S[J]*YL1S[J-1])/(XL1S[J-1]-XL1S[J])QION[6][I]=(A*EN+B)*1.e-16PEQION[6][I]=PEQEL[2][I-IOFFION[6]]# CALCULATE K SHELL IONISATION# 226 QION[7][I]=0.00PEQION[7][I]=0.5if(NANISO==2):PEQION[7][I]=0.0if(EN<=EION[7]):passelse:flag2262=1forJinrange(2,NKSH+1):if(EN<=XKSH[J]):flag2262=0break# 2261 CONTINUEif(flag2262):J=NKSH# 2262 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])QION[7][I]=(A*EN+B)*1.e-16PEQION[7][I]=PEQEL[2][I-IOFFION[7]]# ATTACHMENT# 227 Q[4][I]=0.0# COUNTING IONISATION Q[5][I]=0.0PEQEL[5][I]=0.50if(NANISO==2):PEQEL[5][I]=0.00if(EN<=E[3]):passelse:if(EN>XENI[NIDATA]):passelse:flag250=1flag240=1forJinrange(2,NIDATA+1):if(EN<=XENI[J]):flag240=0breakif(flag240):J=NIDATA# 240 A=(YENC[J]-YENC[J-1])/(XENI[J]-XENI[J-1])B=(XENI[J-1]*YENC[J]-XENI[J]*YENC[J-1])/(XENI[J-1]-XENI[J])Q[5][I]=(A*EN+B)*1.0e-16flag250=0# USE BORN-BETHE X-SECTION ABOVE XENI[NIDATA] EV# 241 if(flag250):Q[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)# 250 CONTINUE# CORRECTION TO CHARGE STATE 1 2 AND 3 X-SECTION FOR K AND L SHELLS# GIVES TOTAL IONISATION EQUAL TO OSCILLATOR SUMQTEMP=QION[4][I]+QION[5][I]+QION[6][I]+QION[7][I]if(Q[5][I]==0.0):QCORR=1.0else:QCORR=(Q[5][I]-QTEMP)/Q[5][I]# endifQION[1][I]=QION[1][I]*QCORRQION[2][I]=QION[2][I]*QCORRQION[3][I]=QION[3][I]*QCORR# Q[6][I]=0.0# forNLinrange(1,NIN+1):QIN[NL][I]=0.0PEQIN[NL][I]=0.50if(NANISO==2):PEQIN[NL][I]=0.00# endif# 251 CONTINUE# 1S5if(EN<=EIN[1]):# GO TO 413 passelse:flag3112=1if(EN>X1S5[N1S5]):passelse:flag311=1forJinrange(2,N1S5+1):if(EN<=X1S5[J]):flag311=0breakif(flag311):J=N1S5# 311 A=(Y1S5[J]-Y1S5[J-1])/(X1S5[J]-X1S5[J-1])B=(X1S5[J-1]*Y1S5[J]-X1S5[J]*Y1S5[J-1])/(X1S5[J-1]-X1S5[J])QIN[1][I]=(A*EN+B)*1.0e-18flag3112=0# IF ENERGY GT X1S5[N1S5] EV SCALE BY 1/E**3if(flag3112):# 3111 QIN[1][I]=Y1S5[N1S5]*(X1S5[N1S5]/EN)**3*1.0e-18# 3112 if(EN<=(2.0*EIN[1])):# GO TO 312passelse:PEQIN[1][I]=PEQEL[2][(I-IOFFN[1])]# 1S4 F=0.0580# 312 if(EN<=EIN[2]):# GO TO 413passelse:flag3142=1if(EN>X1S4[N1S4]):passelse:flag314=1forJinrange(2,N1S4+1):if(EN<=X1S4[J]):flag314=0break# 313 CONTINUE if(flag314):J=N1S4# 314 A=(Y1S4[J]-Y1S4[J-1])/(X1S4[J]-X1S4[J-1])B=(X1S4[J-1]*Y1S4[J]-X1S4[J]*Y1S4[J-1])/(X1S4[J-1]-X1S4[J])QIN[2][I]=(A*EN+B)*1.0e-18flag3142=0if(flag3142):# 3141 QIN[2][I]=0.0580/(EIN[2]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[2]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[2])# 3142 if(EN<=(2.0*EIN[2])):# GO TO 315passelse:PEQIN[2][I]=PEQEL[2][(I-IOFFN[2])]# 1S3# 315 if(EN<=EIN[3]):passelse:flag3172=1if(EN>X1S3[N1S3]):passelse:flag317=1forJinrange(2,N1S3+1):if(EN<=X1S3[J]):flag317=0breakif(flag317):J=N1S3# 317 A=(Y1S3[J]-Y1S3[J-1])/(X1S3[J]-X1S3[J-1])B=(X1S3[J-1]*Y1S3[J]-X1S3[J]*Y1S3[J-1])/(X1S3[J-1]-X1S3[J])QIN[3][I]=(A*EN+B)*1.0e-18flag3172=0# IF ENERGY GT X1S3[N1S3] EV SCALE BY 1/E**3if(flag3172):# 3171 QIN[3][I]=Y1S3[N1S3]*(X1S3[N1S3]/EN)**3*1.e-18# 3172 if(EN<=(2.0*EIN[3])):passelse:PEQIN[3][I]=PEQEL[2][(I-IOFFN[3])]# 1S2 F=0.2260# 318 if(EN<=EIN[4]):passelse:flag3202=1if(EN>X1S2[N1S2]):passelse:flag320=1forJinrange(2,N1S2+1):if(EN<=X1S2[J]):flag320=0breakif(flag320):J=N1S2# 320 A=(Y1S2[J]-Y1S2[J-1])/(X1S2[J]-X1S2[J-1])B=(X1S2[J-1]*Y1S2[J]-X1S2[J]*Y1S2[J-1])/(X1S2[J-1]-X1S2[J])QIN[4][I]=(A*EN+B)*1.0e-18flag3202=0if(flag3202):# 3201 QIN[4][I]=0.2260/(EIN[4]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[4]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[4])# 3202 if(EN<=(2.0*EIN[4])):passelse:PEQIN[4][I]=PEQEL[2][(I-IOFFN[4])]# # P STATES## 2P10# 321 if(EN<=EIN[5]):passelse:flag3232=1if(EN>X2P10[N2P10]):passelse:flag323=1forJinrange(2,N2P10+1):if(EN<=X2P10[J]):flag323=0breakif(flag323):J=N2P10# 323 A=(Y2P10[J]-Y2P10[J-1])/(X2P10[J]-X2P10[J-1])B=(X2P10[J-1]*Y2P10[J]-X2P10[J]*Y2P10[J-1])/(X2P10[J-1]-X2P10[J])QIN[5][I]=(A*EN+B)*1.e-18*PSCALEflag3232=0# IF ENERGY GT X2P10(N2P10) EV SCALE BY 1/E**2if(flag3232):# 3231 QIN[5][I]=Y2P10(N2P10)*(X2P10[N2P10]/EN)**2*1.0e-18*PSCALE# 3232 if(EN<=(2.0*EIN[5])):passelse:PEQIN[5][I]=PEQEL[2][(I-IOFFN[5])]# 2P9# 324 if(EN<=EIN[6]):passelse:flag3262=1if(EN>X2P9[N2P9]):passelse:flag326=1forJinrange(2,N2P9+1):if(EN<=X2P9[J]):flag326=0breakif(flag326):J=N2P9# 326 A=(Y2P9[J]-Y2P9[J-1])/(X2P9[J]-X2P9[J-1])B=(X2P9[J-1]*Y2P9[J]-X2P9[J]*Y2P9[J-1])/(X2P9[J-1]-X2P9[J])QIN[6][I]=(A*EN+B)*1.e-18*PSCALEflag3262=0# IF ENERGY GT X2P9[N2P9] EV SCALE BY 1/E**2if(flag3262):# 3261 QIN[6][I]=Y2P9[N2P9]*(X2P9[N2P9]/EN)**2*1.0e-18*PSCALE# 3262 if(EN<=(2.0*EIN[6])):passelse:PEQIN[6][I]=PEQEL[2][(I-IOFFN[6])]# 2P8# 327 if(EN<=EIN[7]):passelse:flag3292=1if(EN>X2P8[N2P8]):passelse:flag329=1forJinrange(2,N2P8+1):if(EN<=X2P8[J]):flag329=0breakif(flag329):J=N2P8# 329 A=(Y2P8[J]-Y2P8[J-1])/(X2P8[J]-X2P8[J-1])B=(X2P8[J-1]*Y2P8[J]-X2P8[J]*Y2P8[J-1])/(X2P8[J-1]-X2P8[J])QIN[7][I]=(A*EN+B)*1.e-18*PSCALEflag3292=0# IF ENERGY GT X2P8[N2P8] EV SCALE BY 1/Eif(flag3292):# 3291 QIN[7][I]=Y2P8[N2P8]*(X2P8[N2P8]/EN)*1.0e-18*PSCALE# 3292 if(EN<=(2.0*EIN[7])):passelse:PEQIN[7][I]=PEQEL[2][(I-IOFFN[7])]# 2P7# 330 if(EN<=EIN[8]):passelse:flag3322=1if(EN>X2P7[N2P7]):passelse:flag332=1forJinrange(2,N2P7+1):if(EN<=X2P7[J]):flag332=0breakif(flag332):J=N2P7# 332 A=(Y2P7[J]-Y2P7[J-1])/(X2P7[J]-X2P7[J-1])B=(X2P7[J-1]*Y2P7[J]-X2P7[J]*Y2P7[J-1])/(X2P7[J-1]-X2P7[J])QIN[8][I]=(A*EN+B)*1.e-18*PSCALEflag3322=0# IF ENERGY GT X2P7[N2P7] EV SCALE BY 1/E**2if(flag3322):# 3321 QIN[8][I]=Y2P7[N2P7]*(X2P7[N2P7]/EN)**2*1.0e-18*PSCALE# 3322 if(EN<=(2.0*EIN[8])):passelse:PEQIN[8][I]=PEQEL[2][(I-IOFFN[8])]# 2P6# 333 if(EN<=EIN[9]):passelse:flag3352=1if(EN>X2P6[N2P6]):passelse:flag335=1forJinrange(2,N2P6+1):if(EN<=X2P6[J]):flag335=0breakif(flag335):J=N2P6# 335 A=(Y2P6[J]-Y2P6[J-1])/(X2P6[J]-X2P6[J-1])B=(X2P6[J-1]*Y2P6[J]-X2P6[J]*Y2P6[J-1])/(X2P6[J-1]-X2P6[J])QIN[9][I]=(A*EN+B)*1.e-18*PSCALEflag3352=0# IF ENERGY GT X2P6[N2P6] EV SCALE BY 1/Eif(flag3352):# 3351 QIN[9][I]=Y2P6[N2P6]*(X2P6[N2P6]/EN)*1.0e-18*PSCALE# 3352 if(EN<=(2.0*EIN[9])):passelse:PEQIN[9][I]=PEQEL[2][(I-IOFFN[9])]# 2P5# 336 if(EN<=EIN[10]):passelse:flag3382=1if(EN>X2P5[N2P5]):passelse:flag338=1forJinrange(2,N2P5+1):if(EN<=X2P5[J]):flag338=0if(flag338):J=N2P5# 338 A=(Y2P5[J]-Y2P5[J-1])/(X2P5[J]-X2P5[J-1])B=(X2P5[J-1]*Y2P5[J]-X2P5[J]*Y2P5[J-1])/(X2P5[J-1]-X2P5[J])QIN[10][I]=(A*EN+B)*1.e-18*PSCALEflag3382=0# IF ENERGY GT X2P5[N2P5] EV SCALE BY 1/Eif(flag3382):# 3381 QIN[10][I]=Y2P5[N2P5]*(X2P5[N2P5]/EN)*1.0e-18*PSCALE# 3382 if(EN<=(2.0*EIN[10])):passelse:PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]# 2P4# 339 if(EN<=EIN[11]):passelse:flag3412=1if(EN>X2P4[N2P4]):passelse:flag341=1forJinrange(2,N2P4+1):if(EN<=X2P4[J]):flag341=0breakif(flag341):J=N2P4# 341 A=(Y2P4[J]-Y2P4[J-1])/(X2P4[J]-X2P4[J-1])B=(X2P4[J-1]*Y2P4[J]-X2P4[J]*Y2P4[J-1])/(X2P4[J-1]-X2P4[J])QIN[11][I]=(A*EN+B)*1.e-18*PSCALEflag3412=0# IF ENERGY GT X2P4[N2P4] EV SCALE BY 1/E**2if(flag3412):# 3411 QIN[11][I]=Y2P4[N2P4]*(X2P4[N2P4]/EN)**2*1.0e-18*PSCALE# 3412 if(EN<=(2.0*EIN[11])):passelse:PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]# 2P3# 342 if(EN<=EIN[12]):passelse:flag3442=1if(EN>X2P3[N2P3]):passelse:flag344=1forJinrange(2,N2P3+1):if(EN<=X2P3[J]):flag344=0breakif(flag344):J=N2P3# 344 A=(Y2P3[J]-Y2P3[J-1])/(X2P3[J]-X2P3[J-1])B=(X2P3[J-1]*Y2P3[J]-X2P3[J]*Y2P3[J-1])/(X2P3[J-1]-X2P3[J])QIN[12][I]=(A*EN+B)*1.e-18*PSCALEflag3442=0# IF ENERGY GT X2P3[N2P3] EV SCALE BY 1/Eif(flag3442):# 3441 QIN[12][I]=Y2P3[N2P3]*(X2P3[N2P3]/EN)*1.0e-18*PSCALE# 3442 if(EN<=(2.0*EIN[12])):passelse:PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]# 2P2# 345 if(EN<=EIN[13]):passelse:flag3472=1if(EN>X2P2[N2P2]):passelse:flag347=1forJinrange(2,N2P2+1):if(EN<=X2P2[J]):flag347=0if(flag347):J=N2P2# 347 A=(Y2P2[J]-Y2P2[J-1])/(X2P2[J]-X2P2[J-1])B=(X2P2[J-1]*Y2P2[J]-X2P2[J]*Y2P2[J-1])/(X2P2[J-1]-X2P2[J])QIN[13][I]=(A*EN+B)*1.e-18*PSCALEflag3472=0# IF ENERGY GT X2P2[N2P2] EV SCALE BY 1/E**2if(flag3472):# 3471 QIN[13][I]=Y2P2[N2P2]*(X2P2[N2P2]/EN)**2*1.0e-18*PSCALE# 3472 if(EN<=(2.0*EIN[13])):passelse:PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]# 2P1# 348 if(EN<=EIN[14]):passelse:flag3502=1if(EN>X2P1[N2P1]):passelse:flag350=1forJinrange(2,N2P1+1):if(EN<=X2P1[J]):flag350=0breakif(flag350):J=N2P1# 350 A=(Y2P1[J]-Y2P1[J-1])/(X2P1[J]-X2P1[J-1])B=(X2P1[J-1]*Y2P1[J]-X2P1[J]*Y2P1[J-1])/(X2P1[J-1]-X2P1[J])QIN[14][I]=(A*EN+B)*1.e-18*PSCALEflag3502=1# IF ENERGY GT X2P1[N2P1] EV SCALE BY 1/Eif(flag3502):# 3501 QIN[14][I]=Y2P1[N2P1]*(X2P1[N2P1]/EN)*1.0e-18*PSCALE# 3502 if(EN<=(2.0*EIN[14])):passelse:PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]# 3D6# 351 if(EN<=EIN[15]):passelse:flag3532=1if(EN>X3D6[N3D6]):passelse:flag353=1forJinrange(2,N3D6+1):if(EN<=X3D6[J]):flag353=0breakif(flag353):J=N3D6# 353 A=(Y3D6[J]-Y3D6[J-1])/(X3D6[J]-X3D6[J-1])B=(X3D6[J-1]*Y3D6[J]-X3D6[J]*Y3D6[J-1])/(X3D6[J-1]-X3D6[J])QIN[15][I]=(A*EN+B)*1.e-18flag3532=0# IF ENERGY GT X3D6[N3D6] EV SCALE BY 1/E**3if(flag3532):# 3531 QIN[15][I]=Y3D6[N3D6]*(X3D6[N3D6]/EN)**3*1.0e-18# 3532 if(EN<=(2.0*EIN[15])):passelse:PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]# 3D5 F=0.0010 # 354 if(EN<=EIN[16]):passelse:flag3562=1if(EN>X3D5[N3D5]):passelse:flag356=1forJinrange(2,N3D5+1):if(EN<=X3D5[J]):flag356=0breakif(flag356):J=N3D5# 356 A=(Y3D5[J]-Y3D5[J-1])/(X3D5[J]-X3D5[J-1])B=(X3D5[J-1]*Y3D5[J]-X3D5[J]*Y3D5[J-1])/(X3D5[J-1]-X3D5[J])QIN[16][I]=(A*EN+B)*1.e-18flag3562=0if(flag3562):# 3561 QIN[16][I]=0.0010/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[16])if(QIN[16][I]<0.0):QIN[16][I]=0.0# 3562 if(EN<=(2.0*EIN[16])):passelse:PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]# 3D3# 357 if(EN<=EIN[17]):passelse:flag3592=1if(EN>X3D3[N3D3]):passelse:flag359=1forJinrange(2,N3D3+1):if(EN<=X3D3[J]):flag359=0breakif(flag359):J=N3D3# 359 A=(Y3D3[J]-Y3D3[J-1])/(X3D3[J]-X3D3[J-1])B=(X3D3[J-1]*Y3D3[J]-X3D3[J]*Y3D3[J-1])/(X3D3[J-1]-X3D3[J])QIN[17][I]=(A*EN+B)*1.e-18flag3592=0# IF ENERGY GT X3D3[N3D3] EV SCALE BY 1/E**3if(flag3592):# 3591 QIN[17][I]=Y3D3[N3D3]*(X3D3[N3D3]/EN)**3*1.0e-18# 3592 if(EN<=(2.0*EIN[17])):passelse:PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]# 3D4'# 360 if(EN<=EIN[18]):passelse:flag3622=1if(EN>X3D4P[N3D4P]):passelse:forJinrange(2,N3D4P+1):if(EN<=X3D4P[J]):flag362=0breakif(flag362):J=N3D4P# 362 A=(Y3D4P[J]-Y3D4P[J-1])/(X3D4P[J]-X3D4P[J-1])B=(X3D4P[J-1]*Y3D4P[J]-X3D4P[J]*Y3D4P[J-1])/(X3D4P[J-1]-X3D4P[J])QIN[18][I]=(A*EN+B)*1.e-18flag3622=0# IF ENERGY GT X3D4P(N3D4P) EV SCALE BY 1/E**3if(flag3622):# 3621 QIN[18][I]=Y3D4P[N3D4P]*(X3D4P[N3D4P]/EN)**3*1.0e-18# 3622 if(EN<=(2.0*EIN[18])):passelse:PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]# 3D4 # 363 if(EN<=EIN[19]):passelse:flag365=1if(EN>X3D4[N3D4]):passelse:flag365=1forJinrange(2,N3D4+1):if(EN<=X3D4[J]):flag365=0breakif(flag365):J=N3D4# 365 A=(Y3D4[J]-Y3D4[J-1])/(X3D4[J]-X3D4[J-1])B=(X3D4[J-1]*Y3D4[J]-X3D4[J]*Y3D4[J-1])/(X3D4[J-1]-X3D4[J])QIN[19][I]=(A*EN+B)*1.e-18flag3652=0# IF ENERGY GT X3D4[N3D4] EV SCALE BY 1/E**2if(flag3652):# 3651 QIN[19][I]=Y3D4[N3D4]*(X3D4[N3D4]/EN)**2*1.0e-18# 3652 if(EN<=(2.0*EIN[19])):passelse:PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]# 3D1''# 366 if(EN<=EIN[20]):passelse:flag3682=1if(EN>X3D1PP[N3D1PP]):passelse:flag368=1forJinrange(2,N3D1PP+1):if(EN<=X3D1PP[J]):flag368=0breakif(flag368):J=N3D1PP# 368 A=(Y3D1PP[J]-Y3D1PP[J-1])/(X3D1PP[J]-X3D1PP[J-1])B=(X3D1PP[J-1]*Y3D1PP[J]-X3D1PP[J]*Y3D1PP[J-1])/(X3D1PP[J-1]-X3D1PP[J])QIN[20][I]=(A*EN+B)*1.e-18flag3682=0# IF EN GT X3D1PP(N3D1PP) EV SCALE BY 1/E**2if(flag3682):# 3681 QIN[20][I]=Y3D1PP[N3D1PP]*(X3D1PP[N3D1PP]/EN)**2*1.0e-18# 3682 if(EN<=(2.0*EIN[20])):passelse:PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]# 2S5 # 369 if(EN<=EIN[21]):passelse:flag3712=1if(EN>X2S5[N2S5]):passelse:flag371=1forJinrange(2,N2S5+1):if(EN<=X2S5[J]):flag371=0breakif(flag371):J=N2S5# 371 A=(Y2S5[J]-Y2S5[J-1])/(X2S5[J]-X2S5[J-1])B=(X2S5[J-1]*Y2S5[J]-X2S5[J]*Y2S5[J-1])/(X2S5[J-1]-X2S5[J])QIN[21][I]=(A*EN+B)*1.e-18flag3712=0# IF EN GT X2S5[N2S5] EV SCALE BY 1/E**2if(flag3712):# 3711 QIN[21][I]=Y2S5[N2S5]*(X2S5[N2S5]/EN)**2*1.0e-18# 3712 if(EN<=(2.0*EIN[21])):passelse:PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]# 2S4 F=0.0257# 372 if(EN<=EIN[22]):passelse:QIN[22][I]=0.0257/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[22])if(QIN[22][I]<0.0):QIN[22][I]=0.0if(EN<=(2.0*EIN[22])):passelse:PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]# 3D1' # 375 if(EN<=EIN[23]):passelse:flag3772=1if(EN>X3D1P[N3D1P]):passelse:flag377=1forJinrange(2,N3D1P+1):if(EN<=X3D1P[J]):flag377=0breakif(flag377):J=N3D1P# 377 A=(Y3D1P[J]-Y3D1P[J-1])/(X3D1P[J]-X3D1P[J-1])B=(X3D1P[J-1]*Y3D1P[J]-X3D1P[J]*Y3D1P[J-1])/(X3D1P[J-1]-X3D1P[J])QIN[23][I]=(A*EN+B)*1.e-18flag3772=0# IF EN GT X3D1P(N3D1P) EV SCALE BY 1/Eif(flag3772):# 3771 QIN[23][I]=Y3D1P[N3D1P]*(X3D1P[N3D1P]/EN)*1.0e-18# 3772 if(EN<=(2.0*EIN[23])):passelse:PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]# 3D2 F=0.074# 378 if(EN<=EIN[24]):passelse:QIN[24][I]=0.0740/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[24])if(QIN[24][I]<0.0):QIN[24][I]=0.0if(EN<=(2.0*EIN[24])):passelse:PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]# 3S1''''# 381 if(EN<=EIN[25]):passelse:flag3832=1if(EN>X3S1PPPP[N3S1PPPP]):passelse:flag383=1forJinrange(2,N3S1PPPP+1):if(EN<=X3S1PPPP[J]):flag383=0breakbreakif(flag383):J=N3S1PPPP# 383 A=(Y3S1PPPP[J]-Y3S1PPPP[J-1])/(X3S1PPPP[J]-X3S1PPPP[J-1])B=(X3S1PPPP[J-1]*Y3S1PPPP[J]-X3S1PPPP[J]*Y3S1PPPP[J-1])/(X3S1PPPP[J-1]-X3S1PPPP[J])QIN[25][I]=(A*EN+B)*1.e-18flag3832=0# IF EN GT X3S1PPPP(N3S1PPPP) EV SCALE BY 1/E**3if(flag3832):# 3831 QIN[25][I]=Y3S1PPPP[N3S1PPPP]*(X3S1PPPP[N3S1PPPP]/EN)**3*1.0e-18# 3832 if(EN<=(2.0*EIN[25])):passelse:PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]# 3S1'' # 384 if(EN<=EIN[26]):passelse:flag3862=1if(EN>X3S1PP[N3S1PP]):passelse:flag386=1forJinrange(2,N3S1PP+1):if(EN<=X3S1PP[J]):flag386=0breakif(flag386):J=N3S1PP# 386 A=(Y3S1PP[J]-Y3S1PP[J-1])/(X3S1PP[J]-X3S1PP[J-1])B=(X3S1PP[J-1]*Y3S1PP[J]-X3S1PP[J]*Y3S1PP[J-1])/(X3S1PP[J-1]-X3S1PP[J])QIN[26][I]=(A*EN+B)*1.e-18flag3862=0# IF EN GT X3S1PP(N3S1PP) EV SCALE BY 1/E**3if(flag3862):# 3861 QIN[26][I]=Y3S1PP[N3S1PP]*(X3S1PP[N3S1PP]/EN)**3*1.0e-18# 3862 if(EN<=(2.0*EIN[26])):passelse:PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]# 3S1'''# 387 if(EN<=EIN[27]):passelse:if(EN>X3S1PPP[N3S1PPP]):passelse:flag389=1forJinrange(2,N3S1PPP+1):if(EN<=X3S1PPP[J]):flag389=0breakif(flag389):J=N3S1PPP# 389 A=(Y3S1PPP[J]-Y3S1PPP[J-1])/(X3S1PPP[J]-X3S1PPP[J-1])B=(X3S1PPP[J-1]*Y3S1PPP[J]-X3S1PPP[J]*Y3S1PPP[J-1])/(X3S1PPP[J-1]-X3S1PPP[J])QIN[27][I]=(A*EN+B)*1.e-18flag3892=0# IF EN GT X3S1PPP(N3S1PPP) EV SCALE BY 1/Eif(flag3892):# 3891 QIN[27][I]=Y3S1PPP[N3S1PPP]*(X3S1PPP[N3S1PPP]/EN)*1.0e-18# 3892 if(EN<=(2.0*EIN[27])):passelse:PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]# 2S3 # 390 if(EN<=EIN[28]):passelse:flag3922=1if(EN>X2S3[N2S3]):passelse:forJinrange(2,N2S3+1):if(EN<=X2S3[J]):flag392=0breakif(flag392):J=N2S3# 392 A=(Y2S3[J]-Y2S3[J-1])/(X2S3[J]-X2S3[J-1])B=(X2S3[J-1]*Y2S3[J]-X2S3[J]*Y2S3[J-1])/(X2S3[J-1]-X2S3[J])QIN[28][I]=(A*EN+B)*1.e-18flag3922=0# IF EN GT X2S3[N2S3] EV SCALE BY 1/E**2if(flag3922):# 3921 QIN[28][I]=Y2S3[N2S3]*(X2S3[N2S3]/EN)**2*1.0e-18# 3922 if(EN<=(2.0*EIN[28])):passelse:PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]# 2S2 F=0.011# 393 if(EN<=EIN[29]):passelse:QIN[29][I]=0.0110/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[29])if(QIN[29][I]<0.0):QIN[29][I]=0.0if(EN<=(2.0*EIN[29])):passelse:PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]# 3S1' F=0.092# 396 if(EN<=EIN[30]):passelse:QIN[30][I]=0.0920/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[30])if(QIN[30][I]<0.0):QIN[30][I]=0.0if(EN<=(2.0*EIN[30])):passelse:PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]# 4D5 F=0.0019# 399 if(EN<=EIN[31]):passelse:QIN[31][I]=0.0019/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[31])if(QIN[31][I]<0.0):QIN[31][I]=0.0if(EN<=(2.0*EIN[31])):passelse:PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]# 3S4 F=0.0144# 400 if(EN<=EIN[32]):passelse:QIN[32][I]=0.0144/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[32])if(QIN[32][I]<0.0):QIN[32][I]=0.0if(EN<=(2.0*EIN[32])):passelse:PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]# 4D2 F=0.0484# 401 if(EN<=EIN[33]):passelse:QIN[33][I]=0.0484/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[33])if(QIN[33][I]<0.0):QIN[33][I]=0.0if(EN<=(2.0*EIN[33])):passelse:PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]# 4S1' F=0.0209# 402 if(EN<=EIN[34]):passelse:QIN[34][I]=0.0209/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[34])if(QIN[34][I]<0.0):QIN[34][I]=0.0if(EN<=(2.0*EIN[34])):passelse:PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]# 3S2 F=0.0220# 403 if(EN<=EIN[35]):passelse:QIN[35][I]=0.0220/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[35])if(QIN[35][I]<0.0):QIN[35][I]=0.0if(EN<=(2.0*EIN[35])):passelse:PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]# 5D5 F=0.0041# 404 if(EN<=EIN[36]):passelse:QIN[36][I]=0.0041/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[36])if(QIN[36][I]<0.0):QIN[36][I]=0.0if(EN<=(2.0*EIN[36])):passelse:PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]# 4S4 F=0.0426# 405 if(EN<=EIN[37]):passelse:QIN[37][I]=0.0426/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[37])if(QIN[37][I]<0.0):QIN[37][I]=0.0if(EN<=(2.0*EIN[37])):passelse:PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]# 5D2 F=0.0426# 406 if(EN<=EIN[38]):passelse:QIN[38][I]=0.0426/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[38])if(QIN[38][I]<0.0):QIN[38][I]=0.0if(EN<=(2.0*EIN[38])):passelse:PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]# 6D5 F=0.00075# 407 if(EN<=EIN[39]):passelse:QIN[39][I]=.00075/(EIN[39]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[39]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[39])if(QIN[39][I]<0.0):QIN[39][I]=0.0if(EN<=(2.0*EIN[39])):passelse:PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]# 5S1' F=0.00051# 408 if(EN<=EIN[40]):passelse:QIN[40][I]=.00051/(EIN[40]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[40]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[40])if(QIN[40][I]<0.0):QIN[40][I]=0.0if(EN<=(2.0*EIN[40])):passelse:PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]# 4S2 F=0.00074# 409 if(EN<=EIN[41]):passelse:QIN[41][I]=.00074/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[41])if(QIN[41][I]<0.0):QIN[41][I]=0.0if(EN<=(2.0*EIN[41])):passelse:PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]# 5S4 F=0.0130 # 410 if(EN<=EIN[42]):passelse:QIN[42][I]=0.0130/(EIN[42]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[42]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[42])if(QIN[42][I]<0.0):QIN[42][I]=0.0if(EN<=(2.0*EIN[42])):passelse:PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]# 6D2 F=0.0290 # 411 if(EN<=EIN[43]):passelse:QIN[43][I]=0.0290/(EIN[43]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[43]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[43])if(QIN[43][I]<0.0):QIN[43][I]=0.0if(EN<=(2.0*EIN[43])):passelse:PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]# SUM HIGHER J=1 STATES F=0.1315# 412 if(EN<=EIN[44]):passelse:QIN[44][I]=0.1315/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[44])if(QIN[44][I]<0.0):QIN[44][I]=0.0if(EN<=(2.0*EIN[44])):passelse:PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]globals().update(locals())# 413 CONTINUE# BREMSSTRAHLUNG X-SECTIONQIN[45][I]=0.0if(EN<=1000.):passelse:flag415=1forJinrange(2,NBREM+1):if(EN<=EBRM[J]):flag415=0breakif(flag415):J=NBREM# 415 A=(math.log(Z18T[J])-math.log(Z18T[J-1]))/(EBRM[J]-EBRM[J-1])B=(math.log(Z18T[J])*EBRM[J-1]-math.log(Z18T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])QIN[45][I]=math.exp(A*EN+B)*1.e-24# 450 CONTINUE Q1SSUM=QIN[1][I]+QIN[2][I]+QIN[3][I]+QIN[4][I]QPSSUM=QIN[5][I]+QIN[6][I]+QIN[7][I]+QIN[8][I]+QIN[9][I]+QIN[10][I]+QIN[11][I]+QIN[12][I]+QIN[13][I]+QIN[14][I]QDSSUM=QIN[17][I]+QIN[18][I]+QIN[19][I]+QIN[20][I]+QIN[21][I]+QIN[22][I]+QIN[23][I]+QIN[24][I]+QIN[25][I]+QIN[26][I]+QIN[27][I]+QIN[28][I]+QIN[29][I]+QIN[30][I]+QIN[31][I]+QIN[32][I]+QIN[33][I]+QIN[34][I]+QIN[35][I]+QIN[36][I]+QIN[37][I]+QIN[38][I]+QIN[39][I]+QIN[40][I]+QIN[41][I]+QIN[42][I]+QIN[43][I]+QIN[44][I]+QIN[15][I]+QIN[16][I]TOTSUM=Q1SSUM+QPSSUM+QDSSUM# WRITE(6,997) EN,QIN[1][I],QIN[2][I],QIN[3][I],QIN[4][I],Q1SSUM,QPSSUM,# /QDSSUM,TOTSUM# 997 print(' EN =',D12.5,' Q1S5 =','%.3f' %,' Q1S4 =','%.3f' %,' Q1S3 =',# /'%.3f' %,' Q1S2 =','%.3f' %,/,'S1 =','%.3f' %,' P2=','%.3f' %,' D3 =','%.3f' %,# /' QTOT=','%.3f' %) # TOTAL X-SECTIONQ[1][I]=QELA+Q1SSUM+QPSSUM+QDSSUM+QION[1][I]+QION[2][I]+QION[3][I]+QION[4][I]+QION[5][I]+QION[6][I]+QION[7][I]+QIN[45][I]globals().update(locals())return1complete=0forIinrange(1,NSTEP+1):EN=EG[I]# EN=EN+ESTEPif(EN>EIN[1]):GAMMA1=(EMASS2+2.00*EN)/EMASS2GAMMA2=GAMMA1*GAMMA1BETA=math.sqrt(1.00-1.00/GAMMA2)BETA2=BETA*BETA# endifif(EN>1.0):# GO TO 100 passelse:if(EN==0.0):QELA=7.491E-16if(EN==0.0):QMOM=7.491E-16if(EN==0.0):complete=GOTO200()if(complete):break# print(EN,ARY) AK=math.sqrt(EN/ARY)AK2=AK*AKAK3=AK2*AKAK4=AK3*AK# print(AK)# sys.exit() AN0=-AA*AK*(1.0+(4.0*APOL/3.0)*AK2*math.log(AK))-(API*APOL/3.0)*AK2+DD*AK3+FF*AK4AN1=(API/15.0)*APOL*AK2-A1*AK3AN2=API*APOL*AK2/105.0AN0=math.atan(AN0)AN1=math.atan(AN1)AN2=math.atan(AN2)ANHIGH=AN2SUM=(numpy.sin(AN0-AN1))**2SUM=SUM+2.0*(numpy.sin(AN1-AN2))**2SIGEL=(numpy.sin(AN0))**2+3.0*(numpy.sin(AN1))**2forJinrange(2,LMAX-1+1):ANLOW=ANHIGHSUMI=6.0/((2.0*J+5.0)*(2.0*J+3.0)*(2.0*J+1.0)*(2.0*J-1.0))SUM=SUM+(J+1.0)*(numpy.sin(math.atan(API*APOL*AK2*SUMI)))**2ANHIGH=math.atan(API*APOL*AK2/((2.0*J+5.0)*(2.0*J+3.0)*(2.0*J+1.0)))SIGEL=SIGEL+(2.0*J+1.0)*(numpy.sin(ANLOW))**2QELA=SIGEL*4.0*PIR2/AK2QMOM=SUM*4.0*PIR2/AK2complete=GOTO200()if(complete):break# 100 CONTINUE flag120=1forJinrange(2,NDATA+1):if(EN<=XEN[J]):flag120=0break# 110 CONTINUEif(flag120):J=NDATAA=(YEL[J]-YEL[J-1])/(XEN[J]-XEN[J-1])B=(XEN[J-1]*YEL[J]-XEN[J]*YEL[J-1])/(XEN[J-1]-XEN[J])QELA=(A*EN+B)*1.0e-16A=(YSEC[J]-YSEC[J-1])/(XEN[J]-XEN[J-1])B=(XEN[J-1]*YSEC[J]-XEN[J]*YSEC[J-1])/(XEN[J-1]-XEN[J])QMOM=(A*EN+B)*1.0E-16GOTO200()# 900 CONTINUE # SAVE COMPUTE TIMEif(complete):passelse:forKinrange(1,NIN+1):if(EFINAL<=EIN[K]):NIN=K-1break# endif# 910 CONTINUE# 911 CONTINUEif(EFINAL>1000.):NIN=45# conf.ECHARG=ECHARGconf.EMASS=EMASSconf.AMU=AMUconf.PIR2=PIR2conf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.E=EGconf.EROOT=EROOTconf.QT1=QT1conf.QT2=QT2conf.QT3=QT3conf.QT4=QT4conf.DEN=DENprint("Gas2 NATT=",NATT)returnQ,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT# end '''
def GAS3(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN):
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(144),YEM(144),YEL(144),YEPS(144),XION(90),YION(90),YINC(90),X23S(139),Y23S(139),X21S(128),Y21S(128),X23P(128),Y23P(128),X21P(125),Y21P(125),X33S(106),Y33S(106),X31S(87),Y31S(87),X33P(91),Y33P(91),X33D[108],Y33D[108],X31D[94],Y31D[94],X31P(114),Y31P(114),X43S[59],Y43S[59],X41S[55],Y41S[55],X43P(76),Y43P(76),X43D[65],Y43D[65],X41D[53],Y41D[53],X43F[40],Y43F[40],X41F[57],Y41F[57],X41P(96),Y41P(96),IOFFN[49],IOFFION[2]
DIMENSION Z2T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ELASTIC
XEN=[0.00,.008,.009,0.01,.013,.017,.020,.025,0.03,0.04, 0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.15,0.18,0.20, 0.25,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.20, 1.50,1.80,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00, 9.00,10.0,11.0,12.0,14.0,16.0,18.0,20.0,25.0,30.0, 35.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,200.,250.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,6000.,8000.,10000.,1.25D4,1.5D4,2.0D4,2.5'%.3f' %.0D4,4.0D4,6.0D4,8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC MOMENTUM TRANSFER
YEM=[4.89,5.18,5.19,5.21,5.26,5.31,5.35,5.41,5.46,5.54, 5.62,5.68,5.74,5.79,5.83,5.86,5.94,6.04,6.12,6.16, 6.27,6.35,6.49,6.59,6.66,6.73,6.77,6.82,6.85,6.91, 6.96,6.98,6.99,6.96,6.89,6.62,6.31,6.00,5.68,5.35, 5.03,4.72,4.45,4.20,3.68,3.28,2.95,2.64,2.05,1.63, 1.33,1.09,.785,.590,.465,.375,.309,.262,.179,.132,.0807,.0549,.0400,.0242,.0164,.0119,.00716,.00482,.00234,.0014,.000676,4.03e-4,1.93e-4,1.15e-4,7.65e-5,5.10e-5,3.66e-5,2.17e-5,1.45e-5,1.04e-5,6.18e-6,2.99e-6,1.71e-6,1.21e-6,8.26e-7,6.05e-7,4.66e-7,3.73e-7,2.58e-7,1.92e-7,1.50e-7,1.22e-7,1.01e-7,8.59e-8,6.48e-8,5.11e-8,4.17e-8,3.48e-8,2.96e-8,2.10e-8,1.58e-8,1.24e-8,1.01e-8,7.05e-9,5.24e-9,4.07e-9,3.25e-9,2.67e-9,2.23e-9,1.63e-9,1.25e-9,9.89e-10,8.04e-10,6.67e-10,4.47e-10,3.22e-10,2.43e-10,1.91e-10,1.27e-10,9.04e-11,6.79e-11,5.29e-11,4.24e-11,3.48e-11,2.46e-11,1.84e-11,1.42e-11,1.13e-11,9.26e-12,6.00e-12,4.20e-12,3.10e-12,2.38e-12,1.53e-12,1.06e-12,7.82e-13,5.99e-13,4.74e-13,3.84e-13,2.67e-13,1.96e-13,1.50e-13,1.19e-13,9.62e-14]
# ELASTIC TOTAL
YEL=[4.89,5.19,5.20,5.21,5.26,5.29,5.33,5.37,5.41,5.47,5.53,5.58,5.62,5.66,5.69,5.70,5.76,5.83,5.88,5.90,5.96,6.01,6.08,6.12,6.14,6.16,6.16,6.17,6.16,6.16,6.14,6.11,6.09,6.01,5.90,5.60,5.36,5.10,4.91,4.70,4.51,4.32,4.21,4.10,3.75,3.49,3.27,3.03,2.54,2.14,1.83,1.61,1.27,1.06,.884,.746,.652,.580,.460,.355,.244,.194,.150,.117,.087,.071,.052,.041,.028,.022,.014,.0108,.00722,.00544,.00437,.00352,.00295,.00224,.00182,.00154,.00118,.000830,.000654,.000550,.000466,.000411,.000371,.000342,.000301,.000274,.000255,.000241,.000230,.000222,.000209,.000201,.000195,.000190,.000186,.000180,.000177,.000174,.000172,.000170,.000169,.000168,.000167,.000167,.000167,.000166,.000166,.000166,.000166,.000166,30*.000165]
# ANGULAR DISTRIBUTION PARAMETER EPSILON
# EPSILON = 1.0-YEPS
YEPS=[1.0,.99711,.99712,1.0,1.0,1.00562,1.00565,1.01118,1.01386,1.01920,1.02440,1.02688,1.03202,1.03445,1.03689,1.04209,1.04686,1.05400,1.06119,1.06604,1.07792,1.08474,1.10094,1.11490,1.12663,1.13826,1.14789,1.15724,1.16707,1.18142,1.19873,1.21165,1.21951,1.23447,1.24855,1.26918,1.26215,1.26104,1.23265,1.20568,1.17192,1.13835,1.08539,1.03657,.97200,.90989,.85384,.80836,.71541,.65146,.60355,.53739,.46277,.38963,.35522,.32989,.29979,.27742,.21850,.20332,.16921,.13304,.12155,.08318,.07263,.06130,.04637,.03720,.02338,.016295,.011386,.008195,.005394,.004037,.003205,.002548,.002113,.001572,.001246,.001044,7.61e-4,4.925e-4,3.404e-4,2.803e-4,2.179e-4,1.766e-4,1.475e-4,1.258e-4,9.60e-5,7.65e-5,6.29e-5,5.29e-5,4.53e-5,3.93e-5,3.07e-5,2.47e-5,2.04e-5,1.72e-5,1.47e-5,1.05e-5,7.84e-6,6.12e-6,4.91e-6,3.373e-6,2.463e-6,1.881e-6,1.483e-6,1.200e-6,9.91e-7,7.09e-7,5.322e-7,4.146e-7,3.319e-7,2.718e-7,1.775e-7,1.249e-7,9.27e-8,7.15e-8,4.62e-8,3.23e-8,2.382e-8,1.828e-8,1.447e-8,1.173e-8,8.14e-9,5.97e-9,4.56e-9,3.59e-9,2.90e-9,1.83e-9,1.26e-9,9.10e-10,6.90e-10,4.40e-10,3.00e-10,2.16e-10,1.63e-10,1.27e-10,1.02e-10,7.0D-11,5.1D-11,3.8D-11,3.0D-11,2.4D-11]
# IONISATION (VALUES ABOVE 20KEV GENERATED BY BORN-BETHE IN SUB)
XION=[24.58739,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0,30.5,31.0,31.5,32.0,32.5,33.0,33.5,34.0, 36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,170.,180.,190.,200., 225.,250.,275.,300.,350.,400.,450.,500.,550.,600., 650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,1.0D4,1.2D4,1.4D4,1.6D4,1.8D4,2.0D4]
# GROSS IONISATION
YION=[.0,.0038,.0094,.0155,.0218,.0279,.0336,.0392,.0446,.0504,.0561,.0612,.0667,.0722,.0773,.0826,.0878,.0929,.0981,.103,.121,.138,.154,.188,.219,.242,.262,.276,.290,.301,.311,.319,.326,.333,.336,.338,.340,.341,.342,.342,.343,.342,.341,.340,.338,.335,.332,.326,.322,.316, .302,.290,.279,.268,.246,.231,.216,.203,.191,.180,
..171,.163,.155,.148,.142,.136,.130,.125,.109,.097,.0872,.0795,.0729,.0608,.0524,.0458,.0410,.0368,.0336,.0311,.0293,.0255,.0229,.0206,.0192,.0164,.0147,.0130,.0119,.0108/
# COUNTING IONISATION
YINC=[.0,.0038,.0094,.0155,.0218,.0279,.0336,.0392,.0446,.0504,.0561,.0612,.0667,.0722,.0773,.0826,.0878,.0929,.0981,.103,.121,.138,.154,.188,.219,.242,.262,.276,.290,.301,.311,.319,.326,.333,.336,.338,.340,.341,.341,.341,.342,.341,.340,.339,.337,.334,.331,.325,.321,.315,.301,.289,.278,.267,.245,.230,.215,.202,.190,.179, .170,.162,.154,.147,.141,.135,.129,.124,.108,.096,.0867,.0791,.0725,.0605,.0522,.0456,.0408,.0367,.0335,.0310,.0292,.0254,.0228,.0205,.0191,.0163,.0146,.0129,.0118,.0107]
# ALL EXCITATIONS IN UNITS OF 10**-18
# 2 3S J=1 METASTABLE
X23S=[19.81961,19.83,19.85,19.88,19.9,19.95,20.0,20.05,20.1,20.15,20.2,20.25,20.3,20.35,20.4,20.45,20.50,20.55,20.6,20.63,20.66,20.7,20.75,20.8,20.85,20.90,20.94,20.97,21.0,21.05,21.1,21.15,21.2,21.25,21.3,21.4,21.5,22.0,22.2,22.25,22.3,22.35,22.4,22.42,22.44,22.46,22.48,22.5,22.52,22.55,22.6,22.62,22.64,22.66,22.68,22.7,22.71,22.72,22.75,22.8,22.85,22.88,22.9,22.95,22.97,23.0,23.05,23.1,23.3,23.4,23.5,23.6,23.8,24.0,24.5,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1500.,1600.,1700.,1800.,1900.,2000.]
Y23S=[0.00,.780,1.16,1.64,1.98,2.81,3.53,4.13,4.61,4.96,5.20,5.35,5.41,5.36,5.21,4.95,4.63,4.23,3.66,3.16,3.04,3.13,3.41,3.77,4.14,4.44,4.54,4.43,4.27,3.96,3.69,3.48,3.32,3.21,3.15,3.08,3.06,3.09,3.08,3.04,2.97,2.84,2.25,1.58,1.83,4.91,4.45,4.13,3.95,3.79,3.60,3.51,3.07,2.45,2.61,2.67,2.36,2.97,3.01,2.96,2.87,2.61,3.04,2.75,3.16,3.06,2.90,2.79,2.81,2.86,2.75,2.80,2.71,2.65,2.58,2.48,2.39,2.30,2.19,2.09,1.98,1.84,1.73,1.53,1.36,1.22,1.09,.985,.892,.812,.742,.680,.555,.461,.389,.332,.287,.250,.220,.194,.154,.125,.103,.0861,.0726,.0617,.0529,.0397,.0305,.0239,.0191,.0154,.0126,.0105,.00740,.00542,.00407,.00314,.00247,.00187,.00145,.00115,9.23e-4,7.53e-4,6.22e-4,5.20e-4,4.39e-4,3.74e-4,3.21e-4,2.42e-4,1.86e-4,1.47e-4,1.18e-4,9.57e-5,7.89e-5,6.58e-5,5.54e-5,4.71e-5,4.04e-5]
# 2 1S J=0 METASTABLE
X21S=[20.61577,20.62,20.63,20.65,20.67,20.69,20.72,20.75,20.80,20.85,20.90,20.96,20.98,21.0,21.05,21.1,21.15,21.2,21.22,21.25,21.3,21.4,21.5,21.6,21.7,21.8,21.9,22.0,22.1,22.2,22.25,22.3,22.35,22.4,22.42,22.44,22.46,22.48,22.5,22.55,22.59,22.6,22.61,22.62,22.63,22.64,22.65,22.68,22.7,22.71,22.72,22.73,22.75,22.78,22.8,22.85,22.87,22.88,22.89,22.9,22.91,22.92,22.93,22.94,22.95,22.96,22.97,22.98,22.99,23.0,23.01,23.05,23.1,23.2,23.3,23.4,23.5,23.6,23.8,24.0,24.2,24.4,24.7,25.0,26.0,28.0,30.0,32.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,80.0,90.0,100.,110.,120.,140.,170.,200.,240.,280.,320.,360.,400.,450.,500.,550.,600.,650.,700.,800.,900.,1000.,1100.,1200.,1400.,1600.,1800.,2000.,2200.,2400.,2700.,3000.]
Y21S=[0.00,.406,.477,.664,.820,.946,1.10,1.24,1.47,1.72,2.03,2.52,2.40,2.39,2.39,2.42,2.46,2.53,2.55,2.53,2.52,2.53,2.57,2.59,2.62,2.64,2.65,2.65,2.65,2.62,2.59,2.53,2.42,2.14,1.86,2.17,3.35,3.01,2.79,2.34,1.80,1.88,2.53,3.37,3.64,3.55,3.42,3.23,2.95,2.45,1.84,2.32,2.49,2.60,2.62,2.57,2.40,2.57,2.59,2.32,1.73,2.55,2.36,2.35,2.32,2.23,2.50,2.64,2.61,1.86,2.28,2.53,2.35,2.39,2.44,2.51,2.48,2.45,2.44,2.49,2.57,2.63,2.56,2.54,2.53,2.51,2.45,2.35,2.21,2.05,1.88,1.75,1.65,1.56,1.48,1.41,1.30,1.21,1.14,1.08,1.03,.948,.850,.771,.686,.617,.560,.512,.471,.428,.392,.361,.335,.312,.292,.259,.233,.211,.193,.178,.154,.136,.121,.109,.0997,.0916,.0817,.0737]
# 2 3P J=2,1,0
X23P=[20.96409,20.97,21.0,21.05,21.1,21.15,21.2,21.25,21.3,21.35,21.4,21.5,21.6,21.7,21.8,21.9,22.0,22.1,22.2,22.3,22.4,22.45,22.5,22.55,22.6,22.61,22.62,22.63,22.64,22.65,22.66,22.67,22.68,22.69,22.7,22.71,22.72,22.73,22.75,22.77,22.8,22.85,22.88,22.9,22.91,22.92,22.93,22.96,22.97,22.99,23.0,23.04,23.06,23.07,23.08,23.1,23.2,23.3,23.4,23.5,23.6,23.7,23.8,23.9,24.0,24.2,24.4,24.6,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2300.,2600.,3000.]
Y23P=[0.00,.0936,.241,.442,.611,.761,.912,1.03,1.10,1.17,1.23,1.32,1.40,1.47,1.54,1.60,1.66,1.73,1.80,1.87,1.94,2.05,2.07,2.09,2.22,2.48,2.68,2.60,2.27,1.78,1.45,1.43,1.52,1.59,1.60,1.45,1.47,1.70,1.83,1.91,1.95,1.93,2.32,1.98,1.72,2.23,2.09,2.12,2.07,2.17,1.82,2.18,1.80,1.82,1.94,1.94,1.90,1.88,1.89,2.00,2.16,2.21,2.14,2.08,2.09,2.03,2.16,2.26,2.29,2.41,2.47,2.48,2.47,2.43,2.30,2.15,2.00,1.84,1.69,1.55,1.43,1.31,1.21,1.11,.907,.748,.622,.522,.441,.375,.322,.277,.241,.210,.162,.127,.101,.0812,.0663,.0547,.0455,.0382,.0324,.0277,.0206,.0156,.0121,.00961,.00772,.00518,.00363,.00264,.00197,.00151,.00118,8.48e-4,5.21e-4,3.42e-4,2.37e-4,1.70e-4,9.65e-5,5.99e-5,3.96e-5,2.76e-5,2.00e-5,1.30e-5,8.94e-6,5.78e-6]
# 2 1P RESONANCE RADIATION J=1 58.434 NM OSC STRENGTH F=0.27608
X21P=[21.21802,21.23,21.25,21.3,21.4,21.5,21.6,21.7,21.8,21.9,22.0,22.1,22.2,22.3,22.35,22.4,22.42,22.44,22.46,22.48,22.5,22.55,22.57,22.59,22.6,22.61,22.62,22.63,22.64,22.65,22.66,22.68,22.7,22.71,22.72,22.73,22.75,22.8,22.85,22.87,22.88,22.9,22.91,22.94,22.96,22.97,22.98,22.99,23.0,23.01,23.05,23.1,23.2,23.3,23.4,23.5,23.6,23.7,23.8,23.9,24.0,24.2,24.4,24.6,24.8,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,160.,180.,200.,240.,280.,320.,360.,400.,450.,500.,550.,600.,650.,700.,800.,900.,1000.,1100.,1200.,1300.,1400.]
Y21P=[0.00,.0519,.0884,.163,.290,.397,.493,.582,.666,.748,.831,.914,.994,1.06,1.09,1.10,1.10,1.36,1.46,1.35,1.32,1.30,1.28,1.19,1.07,.943,.922,.941,.872,.751,.737,.959,1.13,1.17,.920,1.03,1.12,1.23,1.35,1.27,1.18,1.22,1.03,1.14,1.12,1.38,1.29,1.25,1.38,1.24,1.12,1.13,1.11,1.12,1.16,1.30,1.41,1.44,1.41,1.37,1.39,1.42,1.52,1.70,1.80,1.89,2.16,2.42,2.69,2.96,3.24,3.53,3.82,4.12,4.42,4.71,5.00,5.29,5.57,5.85,6.12,6.63,7.10,7.53,7.93,8.28,8.61,8.90,9.16,9.39,9.60,9.95,10.2,10.4,10.6,10.7,10.7,10.8,10.8,10.7,10.6,10.4,10.2,10.0,9.57,9.13,8.71,7.96,7.33,6.79,6.32,5.92,5.50,5.13,4.82,4.54,4.30,4.08,3.72,3.41,3.16,2.95,2.76,2.60,2.46]
# 3 3S J=1
X33S=[22.71847,22.72,22.73,22.74,22.75,22.78,22.8,22.83,22.85,22.86,22.87,22.88,22.89,22.9,22.91,22.912,22.914,22.916,22.92,22.94,22.96,22.98,23.0,23.02,23.05,23.1,23.2,23.25,23.3,23.35,23.4,23.44,23.48,23.52,23.57,23.59,23.62,23.65,23.7,23.75,23.82,23.89,23.93,24.0,24.4,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.]
Y33S=[0.00,.800,1.15,1.03,.985,.854,.812,.752,.644,.503,.277,1.79,1.17,1.06,1.32,1.51,1.57,1.37,.896,.848,.907,.816,.838,.656,.872,.859,.890,.900,.860,.750,.620,.810,.770,.960,.870,.870,.730,.710,.710,.730,.770,.690,.760,.742,.725,.694,.665,.635,.605,.577,.550,.524,.499,.452,.409,.370,.336,.305,.278,.253,.231,.212,.178,.151,.130,.112,.0968,.0817,.0696,.0597,.0516,.0449,.0393,.0306,.0242,.0195,.0160,.0132,.0111,.00938,.00800,.00596,.00456,.00356,.00284,.00230,.00188,.00131,9.53e-4,7.13e-4,5.47e-4,4.29e-4,3.25e-4,2.52e-4,1.99e-4,1.60e-4,1.31e-4,1.08e-4,9.02e-5,7.62e-5,6.49e-5,5.58e-5,4.20e-5,3.25e-5,2.56e-5,2.06e-5]
# 3 1S J=0
X31S=[22.92032,22.96,22.985,23.02,23.05,23.07,23.1,23.15,23.2,23.25,23.3,23.33,23.36,23.39,23.41,23.45,23.48,23.51,23.54,23.56,23.59,23.62,23.65,23.68,23.73,23.82,23.88,23.94,24.0,25.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,65.0,70.0,75.0,80.0,90.0,100.,110.,120.,130.,140.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,900.,1000.,1100.,1200.,1300.,1400.,1500.,1600.,1800.,2000.,2400.,2800.,3200.,3600.,4000.]
Y31S=[0.00,.535,.457,.587,.490,.490,.478,.491,.506,.512,.501,.470,.418,.374,.351,.371,.520,.681,.520,.467,.496,.410,.442,.429,.416,.455,.377,.444,.422,.426,.428,.429,.425,.419,.412,.402,.396,.387,.370,.354,.338,.324,.311,.296,.283,.271,.260,.242,.226,.213,.203,.193,.185,.172,.161,.152,.144,.137,.131,.125,.120,.111,.103,.0957,.0894,.0839,.0778,.0725,.0678,.0636,.0599,.0566,.0509,.0462,.0423,.0389,.0361,.0336,.0315,.0296,.0264,.0238,.0199,.0171,.0150,.0133,.0120]
# 3 3P J=2,1,0
X33P=[23.00707,23.02,23.03,23.04,23.05,23.06,23.07,23.08,23.1,23.2,23.3,23.4,23.5,23.55,23.6,23.65,23.7,23.8,23.9,24.0,24.1,24.2,24.3,24.4,24.6,24.8,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y33P=[0.00,.387,.410,.179,.148,.335,.381,.282,.280,.309,.332,.359,.411,.416,.405,.448,.438,.467,.485,.493,.500,.515,.517,.513,.503,.508,.512,.516,.515,.524,.544,.539,.523,.500,.474,.446,.392,.342,.297,.259,.226,.197,.173,.152,.134,.118,.102,.0878,.0762,.0665,.0512,.0401,.0318,.0255,.0208,.0171,.0142,.0119,.00854,.00632,.00479,.00371,.00292,.00234,.00157,.00109,7.93e-4,5.92e-4,4.53e-4,3.34e-4,2.53e-4,1.96e-4,1.55e-4,1.24e-4,1.01e-4,8.37e-5,6.99e-5,5.89e-5,5.02e-5,3.72e-5,2.83e-5,2.21e-5,1.75e-5,1.16e-5,8.05e-6,5.82e-6,4.34e-6,3.32e-6,2.60e-6,2.07e-6,1.68e-6]
# 3 3D J=3,2,1
X33D=[23.07365,23.1,23.15,23.2,23.25,23.3,23.35,23.4,23.45,23.5,23.55,23.6,23.66,23.7,23.75,23.8,23.85,23.9,23.95,24.0,24.05,24.1,24.15,24.2,24.25,24.3,24.35,24.4,24.45,24.5,24.55,24.6,24.65,24.7,24.8,24.9,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.,650.,700.,750.,800.,850.,900.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y33D=[0.00,.00956,.0236,.0401,.0602,.0861,.120,.166,.222,.229,.238,.197,.123,.118,.110,.112,.104,.110,.099,.0985,.113,.107,.109,.114,.118,.119,.118,.116,.113,.105,.112,.116,.118,.119,.120,.120,.119,.115,.118,.121,.121,.120,.113,.105,.0958,.0867,.0780,.0701,.0628,.0563,.0505,.0453,.0407,.0366,.0330,.0298,.0269,.0221,.0183,.0152,.0127,.0107,.00868,.00712,.00588,.00490,.00347,.00252,.00188,.00142,.00110,8.64e-4,5.56e-4,3.76e-4,2.64e-4,1.92e-4,1.44e-4,1.10e-4,8.60e-5,6.84e-5,5.53e-5,4.53e-5,3.76e-5,3.15e-5,2.28e-5,1.70e-5,1.30e-5,1.02e-5,8.12e-6,6.25e-6,4.92e-6,3.94e-6,3.21e-6,2.64e-6,2.21e-6,1.58e-6,1.17e-6,8.95e-7,6.98e-7,5.55e-7,3.67e-7,2.56e-7,1.85e-7,1.38e-7,1.06e-7,8.32e-8,6.64e-8,5.38e-8]
# 3 1D J=2
X31D=[23.07407,23.08,23.1,23.15,23.2,23.25,23.3,23.35,23.4,23.45,23.5,23.55,23.6,23.66,23.7,23.75,23.8,23.85,23.9,23.95,24.0,24.05,24.1,24.15,24.2,24.25,24.3,24.35,24.4,24.45,24.5,24.6,24.7,24.8,25.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,90.0,100.,110.,120.,140.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,370.,400.,440.,480.,520.,560.,600.,650.,700.,800.,900.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y31D=[0.00,.097,.0973,.110,.126,.148,.175,.200,.221,.237,.235,.198,.185,.192,.168,.181,.189,.172,.193,.184,.190,.209,.206,.211,.214,.215,.212,.206,.199,.191,.174,.177,.179,.180,.181,.180,.180,.188,.198,.209,.217,.224,.229,.232,.234,.235,.234,.233,.228,.222,.215,.207,.199,.190,.180,.163,.148,.135,.124,.105,.0913,.0803,.0715,.0643,.0584,.0534,.0492,.0456,.0424,.0397,.0361,.0332,.0299,.0272,.0249,.0230,.0213,.0196,.0181,.0156,.0138,.0124,.0112,.0102,.00938,.00868,.00756,.00669,.00600,.00544,.00497,.00458,.00425,.00396]
# 3 1P RESONANCE RADIATION J=1 53.703 NM OSC STRENGTH F=0.07342
X31P=[23.08702,23.1,23.15,23.2,23.25,23.3,23.35,23.4,23.45,23.5,23.54,23.56,23.60,23.64,23.68,23.7,23.75,23.80,23.88,23.9,23.95,24.0,24.05,24.1,24.15,24.2,24.3,24.4,24.5,24.6,24.7,24.8,25.0,25.2,25.4,25.6,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,900.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.,3400.,3800.,4200.,4600.,5000.,5500.,6000.,6500.,7000.,8000.,9000.,10000.]
Y31P=[0.00,.114,.129,.137,.137,.134,.131,.130,.128,.129,.117,.127,.122,.163,.146,.150,.191,.180,.226,.224,.218,.230,.245,.253,.265,.274,.294,.308,.330,.360,.373,.382,.397,.409,.418,.423,.434,.469,.516,.577,.648,.723,.808,.941,1.07,1.20,1.32,1.43,1.54,1.64,1.74,1.82,1.90,1.97,2.04,2.10,2.15,2.27,2.35,2.42,2.47,2.50,2.52,2.53,2.53,2.52,2.50,2.47,2.42,2.33,2.24,2.14,2.06,1.97,1.90,1.82,1.76,1.64,1.53,1.44,1.36,1.29,1.21,1.15,1.08,1.03,.982,.938,.862,.799,.745,.699,.658,.623,.563,.514,.474,.440,.411,.386,.364,.344,.312,.285,.263,.244,.228,.211,.197,.184,.173,.155,.140,.128]
# 4 3S J=1
X43S=[23.59396,23.62,23.65,23.7,23.8,23.9,24.0,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.]
Y43S=[0.0,.314,.304,.292,.276,.266,.260,.243,.238,.234,.227,.212,.195,.178,.162,.147,.133,.121,.110,.100,.0911,.0832,.0761,.0697,.0640,.0589,.0543,.0464,.0399,.0346,.0301,.0264,.0225,.0194,.0168,.0147,.0113,.00894,.00718,.00585,.00483,.00403,.00289,.00214,.00164,.00127,.00101,8.17e-4,6.69e-4,5.55e-4,4.66e-4,3.94e-4,3.37e-4,2.90e-4,2.19e-4,1.70e-4,1.34e-4,1.08e-4,8.81e-5]
# 4 1S J=0
X41S=[23.67357,23.7,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,65.0,70.0,75.0,80.0,90.0,100.,110.,120.,130.,140.,160.,180.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y41S=[0.0,.109,.110,.111,.112,.121,.128,.133,.138,.141,.143,.146,.148,.147,.146,.144,.139,.134,.129,.123,.118,.113,.108,.103,.0990,.0922,.0868,.0823,.0786,.0753,.0725,.0677,.0636,.0601,.0527,.0469,.0422,.0382,.0349,.0322,.0277,.0243,.0216,.0195,.0177,.0150,.0130,.0114,.0102,.00925,.00845,.00777,.00719,.00669,.00626]
# 4 3P J=2,1,0
X43P=[23.70789,23.75,23.8,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y43P=[0.0,.085,.110,.118,.152,.177,.194,.205,.211,.215,.215,.209,.200,.189,.178,.167,.156,.146,.136,.127,.110,.0962,.0840,.0736,.0647,.0553,.0475,.0410,.0356,.0310,.0271,.0210,.0165,.0132,.0106,.00865,.00713,.00593,.00498,.00421,.00359,.00266,.00202,.00156,.00123,9.88e-4,8.03e-4,6.60e-4,5.49e-4,4.61e-4,3.90e-4,2.87e-4,2.17e-4,1.67e-4,1.32e-4,1.06e-4,8.18e-5,6.46e-5,5.18e-5,4.22e-5,3.48e-5,2.90e-5,2.45e-5,2.08e-5,1.54e-5,1.17e-5,9.13e-6,7.25e-6,4.78e-6,3.32e-6,2.39e-6,1.78e-6,1.36e-6,1.07e-6,8.50e-7,6.88e-7]
# 4 3D J=3,2,1
X43D=[23.73609,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1500.,1600.]
Y43D=[.0,.0288,.0363,.0407,.0575,.0646,.0681,.0692,.069,.0675,.0629,.0573,.0516,.0461,.0411,.0365,.0325,.0290,.0258,.0231,.0186,.0151,.0123,.0102,.00847,.00681,.00554,.00455,.00378,.00316,.00267,.00194,.00145,.00111,8.61e-4,6.81e-4,5.47e-4,3.66e-4,2.55e-4,1.84e-4,1.37e-4,1.04e-4,8.08e-5,6.39e-5,4.18e-5,2.87e-5,2.05e-5,1.51e-5,1.14e-5,8.32e-6,6.24e-6,4.79e-6,3.75e-6,3.00e-6,2.43e-6,1.99e-6,1.65e-6,1.39e-6,1.18e-6,8.66e-7,6.55e-7,5.08e-7,4.01e-7,3.22e-7,2.63e-7]
# 4 1D J=2
X41D=[23.73633,23.8,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,160.,180.,200.,220.,240.,260.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,800.,900.,1000.,1100.,1200.]
Y41D=[0.0,.0791,.0799,.0846,.0902,.0959,.102,.107,.112,.120,.127,.131,.134,.136,.136,.134,.131,.126,.121,.116,.112,.107,.102,.0978,.0927,.0880,.0836,.0796,.0724,.0663,.0610,.0564,.0489,.0430,.0384,.0346,.0314,.0288,.0246,.0215,.0190,.0171,.0155,.0142,.0128,.0117,.0107,.00990,.00860,.00760,.00681,.00616,.00563]
# 4 3F J=3,4,2
X43F=[23.73701,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.]
Y43F=[0.0,.0357,.0318,.0289,.0161,.0117,.00922,.00760,.00642,.00550,.00478,.00418,.00369,.00327,.00291,.00261,.00234,.00211,.00191,.00173,.00144,.00121,.00102,8.68e-4,7.44e-4,5.57e-4,4.25e-4,3.30e-4,2.61e-4,2.09e-4,1.61e-4,1.26e-4,9.98e-5,8.03e-5,6.53e-5,5.36e-5,3.72e-5,2.66e-5,1.96e-5,1.47e-5]
# 4 1F J=3
X41F=[23.73701,23.8,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,900.,1000.]
Y41F=[0.0,.0175,.0172,.0160,.0149,.0139,.0130,.0122,.0114,.0108,.0102,.00909,.00819,.00742,.00677,.00619,.00569,.00525,.00487,.00452,.00393,.00346,.00307,.00274,.00246,.00217,.00193,.00173,.00156,.00142,.00129,.00108,9.24e-4,7.99e-4,6.99e-4,6.17e-4,5.50e-4,4.47e-4,3.73e-4,3.19e-4,2.77e-4,2.45e-4,2.19e-4,1.99e-4,1.67e-4,1.45e-4,1.28e-4,1.15e-4,1.04e-4,9.39e-5,8.55e-5,7.86e-5,7.27e-5,6.78e-5,6.35e-5,5.63e-5,5.07e-5]
# 4 1P RESONANCE RADIATION J=1 52.222 NM OSC STRENGTH F=0.02986
X41P=[23.74207,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.,640.,680.,720.,760.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.,3400.,3800.,4200.,4600.,5000.,5500.,6000.,6500.,7000.,7500.,8000.,9000.,10000.]
Y41P=[0.00,.0147,.0242,.0334,.107,.158,.196,.227,.255,.281,.307,.333,.360,.387,.414,.442,.470,.498,.526,.553,.606,.657,.704,.748,.789,.826,.860,.891,.919,.944,.986,1.02,1.05,1.06,1.08,1.09,1.10,1.10,1.10,1.09,1.07,1.05,1.03,1.01,.985,.939,.896,.855,.817,.783,.751,.722,.695,.670,.646,.625,.605,.569,.537,.509,.484,.461,.441,.423,.406,.390,.376,.360,.345,.332,.320,.298,.279,.263,.248,.224,.205,.189,.175,.163,.153,.145,.137,.124,.113,.104,.0969,.0905,.0837,.0779,.0729,.0686,.0648,.0614,.0556,.0510]
# 5 1P RESONANCE RADIATION J=1 51.562 NM F=0.01504
# 6 1P RESONANCE RADIATION J=1 51.210 NM F=0.00863
# 7 1P RESONANCE RADIATION J=1 51.000 NM F=0.00540
# 8 1P RESONANCE RADIATION J=1 50.865 NM F=0.00362
# 9 1P RESONANCE RADIATION J=1 50.772 NM F=0.00253
# 10 1P RESONANCE RADIATION J=1 50.706 NM F=0.00184
# 11 1P RESONANCE RADIATION J=1 50.657 NM F=0.00138
# 12 1P RESONANCE RADIATION J=1 50.620 NM F=0.00106
# SUM HIGHER 1P LEVELS RESONANCE RADIATION J=1 F=0.00440
# TOTAL SUM OSCILLATOR STRENGTH = 0.42326
#
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF
Z2T=[42.1,23.5,10.7,5.88,3.25,1.50,.886,.582,.437,.429,.460,.484,.502,.515,.525,.540,.550,.566,.575,.585,.592,.596,.597,.598,.598]
# UNITS 10**-24
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# --------------------------------------------------------------------
if(NANISO == 0):
:
NAME='HE4 ISOTROPIC 2014 '
else:
NAME='HE4 ANISOTROPIC 2014 '
# endif
# --------------------------------------------------------------------
# HELIUM 4 BEST KNOWN GAS USED AS STANDARD ACCURACY BETTER THAN 0.2%
# AT ALL FIELDS.
# 2002: UPDATED 1997 TO INCLUDE ANISOTROPIC ELASTIC SCATTTERING
# 2007: INCREASED FILE UP TO 10 MEV
# 2007: NEW ANISTROPIC SCATTERING def INTRODUCED
# 2007: PENNING FRACTION INTRODUCED
# 2010: SPLIT EXCITATION INTO 49 LEVELS.
# 2014: UPDATED IONISATION TO BE CONSISTENT WITH FURSA AND BRAY CCC
# USED MAINLY THE FOLLOWING THEORETICAL EXCITATION X-SECTIONS:
# AT RESONANCE ENERGIES USED RMPS CALCULATIONS OF
# BARTSCHAT J.PHYS B31(1998)L469
# AT HIGHER ENERGIES USED RALCHENKO AT.NUCL TABLES 94(2008)603
# AT HIGHEST ENERGIES FOR RESONANCE DIPOLE TRANSITIONS USED BEF SCALING
# 2013: INTRODUCED IONISATION WITH CAHRGE STATE =2
# --------------------------------------------------------------------
#
# BORN-BETHE VALUES FOR IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
AM2=0.489
C=5.50
#
NION=2
NATT=1
NIN=49
NNULL=0
IONMODEL=0
#
NBREM=25
DO 6 J=1,NIN
IZBR[J]=0
6 CONTINUE
IZBR[50]=2
#
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=1,NIN
2 KIN[J]=NANISO
NDATA=144
NIOND=90
N23S=139
N21S=128
N23P=128
N21P=125
N33S=106
N31S=87
N33P=91
N33D=108
N31D=94
N31P=114
N43S=59
N41S=55
N43P=76
N43D=65
N41D=53
N43F=40
N41F=57
N41P=96
E[1]=0.0
E[2]=2.0*EMASS/(4.00260*AMU)
E[3]=24.58739
# ENTER EXCITATION X-SECTION AT 1.4MEV
E[4]=0.5841e-19
# ENTER IONISING X-SECTION AT 1.4MEV
E[5]=0.1271e-18
# ENTER EOBY FOR MINIMUM IONISING PARTICLE
E[6]=10.5
# IONISATION ENERGIES
EION[1]=24.58739
EION[2]=79.00515
LEGAS[1]=0
LEGAS[2]=0
ISHELL[1]=0
ISHELL[2]=0
# EOBY AT LOW ENERGY
EOBY[1]=12.0
EOBY[2]=65.0
# FLUORESCENCE DATA
NC0[1]=0
EC0[1]=0.0
WKLM[1]=0.0
EFL[1]=0.0
NG1[1]=0
EG1[1]=0.0
NG2[1]=0
EG2[1]=0.0
NC0[2]=1
EC0[2]=10.0
WKLM[2]=0.0
EFL[2]=0.0
NG1[2]=0
EG1[2]=0.0
NG2[2]=0
EG2[2]=0.0
#
DO 776 J=1,NION
DO 777 I=1,20000
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=19.81961
EIN[2]=20.61577
EIN[3]=20.96409
EIN[4]=21.21802
EIN[5]=22.71847
EIN[6]=22.92032
EIN[7]=23.00707
EIN[8]=23.07365
EIN[9]=23.07407
EIN[10]=23.08702
EIN[11]=23.59396
EIN[12]=23.67357
EIN[13]=23.70789
EIN[14]=23.73609
EIN[15]=23.73633
EIN[16]=23.73701
EIN[17]=23.73701
EIN[18]=23.74207
EIN[19]=23.97197
EIN[20]=24.01121
EIN[21]=24.02822
EIN[22]=24.04266
EIN[23]=24.04280
EIN[24]=24.04315
EIN[25]=24.04315
EIN[26]=24.04580
EIN[27]=24.16900
EIN[28]=24.19116
EIN[29]=24.20081
EIN[30]=24.20916
EIN[31]=24.20925
EIN[32]=24.21100
EIN[33]=24.28456
EIN[34]=24.29828
EIN[35]=24.30429
EIN[36]=24.30954
EIN[37]=24.30960
EIN[38]=24.31071
EIN[39]=24.35810
EIN[40]=24.36718
EIN[41]=24.37116
EIN[42]=24.37468
EIN[43]=24.37472
EIN[44]=24.37547
EIN[45]=24.41989
EIN[46]=24.45168
EIN[47]=24.47518
EIN[48]=24.49308
EIN[49]=24.50708
EIN[50]=0.0
#***********************************************************************
# ENTER PENNING FRACTION FOR EACH LEVEL
# PENNING FRACTION BETWEEN 0.9 AND 1.0 FOR ALL MIXTURES
DO 50 NL=1,NIN
PENFRA[1,NL]=1.00
# PENNING TRANSFER DISTANCE MICRONS
PENFRA[2,NL]=1.0
# PENNING TRANSFER TIME PICOSECONDS
50 PENFRA[3,NL]=1.0
# HORNBECK MOLNAR MOD
# IF PURE GAS SET TO : 0 FOR FIRST 6 LEVELS 0.25 FOR OTHER LEVELS
# PENFRA(1,1)=0.0
# PENFRA(1,2)=0.0
# PENFRA(1,3)=0.0
# PENFRA(1,4)=0.0
# PENFRA(1,5)=0.0
# PENFRA(1,6)=0.0
#***********************************************************************
if(IPEN == 0):
GO TO 4
DO 3 KDUM=1,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 3
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
3 CONTINUE
4 DO 5 NL=1,NIN
DO 651 I=1,20000
if(EG[I]:
> EIN[NL]) :
IOFFN[NL]=I-1
GO TO 5
# endif
651 CONTINUE
5 CONTINUE
SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC HELIUM 4 '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC HELIUM 4 '
# endif
SCRPT[3]=' IONISATION CHARGE STATE=1 ELOSS= 24.58739'
SCRPT[4]=' IONISATION CHARGE STATE=2 ELOSS= 79.00515'
SCRPT[5]=' ATTACHMENT '
SCRPT[6]=' '
SCRPT[7]=' '
SCRPT[8]=' EXC 23S J=1 METASTABLE ELOSS= 19.81961'
SCRPT[9]=' EXC 21S J=0 METASTABLE ELOSS= 20.61577'
SCRPT[10]=' EXC 23P J=2,1,0 ELOSS= 20.96409'
SCRPT[11]=' EXC 21P J=1 RESONANT ELOSS= 21.21802'
SCRPT[12]=' EXC 33S J=1 ELOSS= 22.71847'
SCRPT[13]=' EXC 31S J=0 ELOSS= 22.92032'
SCRPT[14]=' EXC 33P J=2,1,0 ELOSS= 23.00707'
SCRPT[15]=' EXC 33D J=3,2,1 ELOSS= 23.07365'
SCRPT[16]=' EXC 31D J=2 ELOSS= 23.07407'
SCRPT[17]=' EXC 31P J=1 RESONANT ELOSS= 23.08702'
SCRPT[18]=' EXC 43S J=1 ELOSS= 23.59396'
SCRPT[19]=' EXC 41S J=0 ELOSS= 23.67357'
SCRPT[20]=' EXC 43P J=2,1,0 ELOSS= 23.70789'
SCRPT[21]=' EXC 43D J=3,2,1 ELOSS= 23.73609'
SCRPT[22]=' EXC 41D J=2 ELOSS= 23.73633'
SCRPT[23]=' EXC 43F J=3,4,2 ELOSS= 23.73701'
SCRPT[24]=' EXC 41F J=3 ELOSS= 23.73701'
SCRPT[25]=' EXC 41P J=1 RESONANT ELOSS= 23.74207'
SCRPT[26]=' EXC 53S J=1 ELOSS= 23.97197'
SCRPT[27]=' EXC 51S J=0 ELOSS= 24.01121'
SCRPT[28]=' EXC 53P J=2,1,0 ELOSS= 24.02822'
SCRPT[29]=' EXC 53D J=3,2,1 ELOSS= 24.04266'
SCRPT[30]=' EXC 51D J=2 ELOSS= 24.04280'
SCRPT[31]=' EXC 53F J=3,4,2 ELOSS= 24.04315'
SCRPT[32]=' EXC 513 J=3 ELOSS= 24.04315'
SCRPT[33]=' EXC 51P J=1 RESONANT ELOSS= 24.04580'
SCRPT[34]=' EXC 63S J=1 ELOSS= 24.16900'
SCRPT[35]=' EXC 61S J=0 ELOSS= 24.19116'
SCRPT[36]=' EXC 63P J=2,1,0 ELOSS= 24.20081'
SCRPT[37]=' EXC 63D J=3,2,1 ELOSS= 24.20916'
SCRPT[38]=' EXC 61D J=2 ELOSS= 24.20925'
SCRPT[39]=' EXC 61P J=1 RESONANT ELOSS= 24.21100'
SCRPT[40]=' EXC 73S J=1 ELOSS= 24.28456'
SCRPT[41]=' EXC 71S J=0 ELOSS= 24.29828'
SCRPT[42]=' EXC 73P J=2,1,0 ELOSS= 24.30429'
SCRPT[43]=' EXC 73D J=3,2,1 ELOSS= 24.30954'
SCRPT[44]=' EXC 71D J=2 ELOSS= 24.30960'
SCRPT[45]=' EXC 71P J=1 RESONANT ELOSS= 24.31071'
SCRPT[46]=' EXC N3S SUM HIGH ELOSS= 24.35810'
SCRPT[47]=' EXC N1S SUM HIGH ELOSS= 24.36718'
SCRPT[48]=' EXC N3P SUM HIGH ELOSS= 24.37116'
SCRPT[49]=' EXC N3D SUM HIGH ELOSS= 24.37468'
SCRPT[50]=' EXC N1D SUM HIGH ELOSS= 24.37472'
SCRPT[51]=' EXC 81P J=1 RESONANT ELOSS= 24.37547'
SCRPT[52]=' EXC 91P J=1 RESONANT ELOSS= 24.41989'
SCRPT[53]=' EXC 101P J=1 RESONANT ELOSS= 24.45168'
SCRPT[54]=' EXC 111P J=1 RESONANT ELOSS= 24.47518'
SCRPT[55]=' EXC 121P J=1 RESONANT ELOSS= 24.49308'
SCRPT[56]=' EXC N1P SUM HI RESONANT ELOSS= 24.50708'
SCRPT[57]=' BREMSSTRAHLUNG FROM HELIUM ATOM '
# EN=-ESTEP/2.00
DO 9000 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
if(EN > EIN[1]:
) :
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# endif
DO 10 J=2,N
if(EN <= XEN[J]:
) GO TO 20
10 CONTINUE
J=N
20 A=(YEL[J]-YEL[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEL[J]-XEN[J]*YEL[J-1])/(XEN[J-1]-XEN[J])
QELA=(A*EN+B)*1.0D-16
#
A=(YEM[J]-YEM[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEM[J]-XEN[J]*YEM[J-1])/(XEN[J-1]-XEN[J])
QMOM=(A*EN+B)*1.0D-16
PQ1=0.5+(QELA-QMOM)/QELA
#
A=(YEPS[J]-YEPS[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEPS[J]-XEN[J]*YEPS[J-1])/(XEN[J-1]-XEN[J])
PQ2=A*EN+B
# EPSILON=1-PQ2
PQ2=1.00-PQ2
#
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
:
Q[2][I]=QMOM
PEQEL[2][I]=0.5
# endif
# GROSS IONISATION
QION[1][I]=0.00
PEQION[1][I]=0.50
if(NANISO == 2):
PEQION[1][I]=0.00
if(EN <= EION[1]:
) GO TO 200
if(EN > XION(NIOND):
) GO TO 121
DO 110 J=2,NIOND
if(EN <= XION[J]:
) GO TO 120
110 CONTINUE
J=NIOND
120 A=(YION[J]-YION[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YION[J]-XION[J]*YION[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 122
# USE BORN-BETHE X-SECTION ABOVE XION(NIOND) EV
121 AX2=1.00/BETA2
AX1=AX2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)/0.995
122 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFFSET BY
# IONISATION ENERGY
if(EN <= (2.0*EION[1]:
)) GO TO 200
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# ATTACHMENT
200 Q[4][I]=0.00
# COUNTING IONISATION
Q[5][I]=0.00
PEQION[2][I]=0.50
if(NANISO == 2):
PEQION[2][I]=0.00
if(EN <= EION[1]:
) GO TO 250
if(EN > XION(NIOND):
) GO TO 241
DO 230 J=2,NIOND
if(EN <= XION[J]:
) GO TO 240
230 CONTINUE
J=NIOND
240 A=(YINC[J]-YINC[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YINC[J]-XION[J]*YINC[J-1])/(XION[J-1]-XION[J])
Q[5][I]=(A*EN+B)*1.0D-16
GO TO 242
# USE BORN-BETHE X-SECTION ABOVE XION(NIOND) EV
241 Q[5][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)
242 CONTINUE
if(EN <= (2.00*EION[2]:
)) GO TO 250
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
250 Q[6][I]=0.00
# CALCULATE CHARGE STATE 1 AND 2 FROM COUNT AND GROSS
QTEMP1=2.00*Q[5][I]-QION[1][I]
QTEMP2=QION[1][I]-Q[5][I]
QION[1][I]=QTEMP1
QION[2][I]=QTEMP2
if(QION[2][I]:
< 0.0) QION[2][I]=0.0
#
DO 251 NL=1,NIN+1
QIN(NL,I)=0.00
PEQIN(NL,I)=0.50
if(NANISO == 2):
:
PEQIN(NL,I)=0.00
# endif
251 CONTINUE
#
# 2 3S
if(EN <= EIN[1]:
) GO TO 2000
if(EN > X23S(N23S):
) GO TO 311
DO 300 J=2,N23S
if(EN <= X23S[J]:
) GO TO 310
300 CONTINUE
J=N23S
310 A=(Y23S[J]-Y23S[J-1])/(X23S[J]-X23S[J-1])
B=(X23S[J-1]*Y23S[J]-X23S[J]*Y23S[J-1])/(X23S[J-1]-X23S[J])
QIN[1][I]=(A*EN+B)*1.e-18
GO TO 312
# IF ENERGY GT X23S(N23S) EV SCALE BY 1/E**3
311 QIN[1][I]=Y23S(N23S)*(X23S(N23S)/EN)**3*1.e-18
312 if(EN <= (2.0*EIN[1])) GO TO 320
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]
#
# 2 1S
320 if(EN <= EIN[2]) GO TO 2000
if(EN > X21S(N21S):
) GO TO 341
DO 330 J=2,N21S
if(EN <= X21S[J]:
) GO TO 340
330 CONTINUE
J=N21S
340 A=(Y21S[J]-Y21S[J-1])/(X21S[J]-X21S[J-1])
B=(X21S[J-1]*Y21S[J]-X21S[J]*Y21S[J-1])/(X21S[J-1]-X21S[J])
QIN[2][I]=(A*EN+B)*1.e-18
GO TO 342
# IF ENERGY GT X21S(N21S) EV SCALE BY 1/E
341 QIN[2][I]=Y21S(N21S)*(X21S(N21S)/EN)*1.e-18
342 if(EN <= (2.0*EIN[2])) GO TO 350
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]#
# 2 3P
350 if(EN <= EIN[3]) GO TO 2000
if(EN > X23P(N23P):
) GO TO 371
DO 360 J=2,N23P
if(EN <= X23P[J]:
) GO TO 370
360 CONTINUE
J=N23P
370 A=(Y23P[J]-Y23P[J-1])/(X23P[J]-X23P[J-1])
B=(X23P[J-1]*Y23P[J]-X23P[J]*Y23P[J-1])/(X23P[J-1]-X23P[J])
QIN[3][I]=(A*EN+B)*1.e-18
GO TO 372
# IF ENERGY GT X23P(N23P) EV SCALE BY 1/E**3
371 QIN[3][I]=Y23P(N23P)*(X23P(N23P)/EN)**3*1.e-18
372 if(EN <= (2.0*EIN[3])) GO TO 380
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]#
# 2 1P OSC STRENGTH F=0.27608
380 if(EN <= EIN[4]) GO TO 2000
if(EN > X21P(N21P):
) GO TO 401
DO 390 J=2,N21P
if(EN <= X21P[J]:
) GO TO 400
390 CONTINUE
J=N21P
400 A=(Y21P[J]-Y21P[J-1])/(X21P[J]-X21P[J-1])
B=(X21P[J-1]*Y21P[J]-X21P[J]*Y21P[J-1])/(X21P[J-1]-X21P[J])
QIN[4][I]=(A*EN+B)*1.e-18
GO TO 402
# IF ENERGY GT X21P(N21P) EV : USE BEF SCALING
401 QIN[4][I]=0.27608/(EIN[4]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[4]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[4]+E[3])
402 if(EN <= (2.0*EIN[4])) GO TO 410
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]#
# 3 3S
410 if(EN <= EIN[5]) GO TO 2000
if(EN > X33S(N33S):
) GO TO 431
DO 420 J=2,N33S
if(EN <= X33S[J]:
) GO TO 430
420 CONTINUE
J=N33S
430 A=(Y33S[J]-Y33S[J-1])/(X33S[J]-X33S[J-1])
B=(X33S[J-1]*Y33S[J]-X33S[J]*Y33S[J-1])/(X33S[J-1]-X33S[J])
QIN[5][I]=(A*EN+B)*1.e-18
GO TO 432
# IF ENERGY GT X33S(N33S) EV SCALE BY 1/E**3
431 QIN[5][I]=Y33S(N33S)*(X33S(N33S)/EN)**3*1.e-18
432 if(EN <= (2.0*EIN[5])) GO TO 440
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))]#
# 3 1S
440 if(EN <= EIN[6]) GO TO 2000
if(EN > X31S(N31S):
) GO TO 461
DO 450 J=2,N31S
if(EN <= X31S[J]:
) GO TO 460
450 CONTINUE
J=N31S
460 A=(Y31S[J]-Y31S[J-1])/(X31S[J]-X31S[J-1])
B=(X31S[J-1]*Y31S[J]-X31S[J]*Y31S[J-1])/(X31S[J-1]-X31S[J])
QIN[6][I]=(A*EN+B)*1.e-18
GO TO 462
# IF ENERGY GT X31S(N31S) EV SCALE BY 1/E
461 QIN[6][I]=Y31S(N31S)*(X31S(N31S)/EN)*1.e-18
462 if(EN <= (2.0*EIN[6])) GO TO 470
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]#
# 3 3P
470 if(EN <= EIN[7]) GO TO 2000
if(EN > X33P(N33P):
) GO TO 491
DO 480 J=2,N33P
if(EN <= X33P[J]:
) GO TO 490
480 CONTINUE
J=N33P
490 A=(Y33P[J]-Y33P[J-1])/(X33P[J]-X33P[J-1])
B=(X33P[J-1]*Y33P[J]-X33P[J]*Y33P[J-1])/(X33P[J-1]-X33P[J])
QIN[7][I]=(A*EN+B)*1.e-18
GO TO 492
# IF ENERGY GT X33P(N33P) EV SCALE BY 1/E**3
491 QIN[7][I]=Y33P(N33P)*(X33P(N33P)/EN)*1.e-18
492 if(EN <= (2.0*EIN[7])) GO TO 500
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]#
# 3 3D
500 if(EN <= EIN[8]) GO TO 2000
if(EN > X33D[N33D]):
GO TO 521
DO 510 J=2,N33D
if(EN <= X33D[J]):
GO TO 520
510 CONTINUE
J=N33D
520 A=(Y33D[J]-Y33D[J-1])/(X33D[J]-X33D[J-1])
B=(X33D[J-1]*Y33D[J]-X33D[J]*Y33D[J-1])/(X33D[J-1]-X33D[J])
QIN[8][I]=(A*EN+B)*1.e-18
GO TO 522
# IF ENERGY GT X33D[N33D] EV SCALE BY 1/E**3
521 QIN[8][I]=Y33D[N33D]*(X33D[N33D]/EN)*1.e-18
522 if(EN <= (2.0*EIN[8])) GO TO 530
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]#
# 3 1D
530 if(EN <= EIN[9]) GO TO 2000
if(EN > X31D[N31D]):
GO TO 551
DO 540 J=2,N31D
if(EN <= X31D[J]):
GO TO 550
540 CONTINUE
J=N31D
550 A=(Y31D[J]-Y31D[J-1])/(X31D[J]-X31D[J-1])
B=(X31D[J-1]*Y31D[J]-X31D[J]*Y31D[J-1])/(X31D[J-1]-X31D[J])
QIN[9][I]=(A*EN+B)*1.e-18
GO TO 552
# IF ENERGY GT X31D[N31D] EV SCALE BY 1/E
551 QIN[9][I]=Y31D[N31D]*(X31D[N31D]/EN)*1.e-18
552 if(EN <= (2.0*EIN[9])) GO TO 560
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]#
# 3 1P OSC STRENGTH F=0.07342
560 if(EN <= EIN[10]) GO TO 2000
if(EN > X31P(N31P):
) GO TO 581
DO 570 J=2,N31P
if(EN <= X31P[J]:
) GO TO 580
570 CONTINUE
J=N31P
580 A=(Y31P[J]-Y31P[J-1])/(X31P[J]-X31P[J-1])
B=(X31P[J-1]*Y31P[J]-X31P[J]*Y31P[J-1])/(X31P[J-1]-X31P[J])
QIN[10][I]=(A*EN+B)*1.e-18
GO TO 582
# IF ENERGY GT X31P(N31P) EV : USE BEF SCALING
581 QIN[10][I]=0.07342/(EIN[10]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[10]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[10]+E[3])
582 if(EN <= (2.0*EIN[10])) GO TO 590
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
#
# 4 3S
590 if(EN <= EIN[11]) GO TO 2000
if(EN > X43S(N43S):
) GO TO 611
DO 600 J=2,N43S
if(EN <= X43S[J]:
) GO TO 610
600 CONTINUE
J=N43S
610 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[11][I]=(A*EN+B)*1.e-18
GO TO 612
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
611 QIN[11][I]=Y43S(N43S)*(X43S(N43S)/EN)**3*1.e-18
612 if(EN <= (2.0*EIN[11])) GO TO 620
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
#
# 4 1S
620 if(EN <= EIN[12]) GO TO 2000
if(EN > X41S(N41S):
) GO TO 641
DO 630 J=2,N41S
if(EN <= X41S[J]:
) GO TO 640
630 CONTINUE
J=N41S
640 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[12][I]=(A*EN+B)*1.e-18
GO TO 642
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
641 QIN[12][I]=Y41S(N41S)*(X41S(N41S)/EN)*1.e-18
642 if(EN <= (2.0*EIN[12])) GO TO 650
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
#
# 4 3P
650 if(EN <= EIN[13]) GO TO 2000
if(EN > X43P(N43P):
) GO TO 671
DO 660 J=2,N43P
if(EN <= X43P[J]:
) GO TO 670
660 CONTINUE
J=N43P
670 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[13][I]=(A*EN+B)*1.e-18
GO TO 672
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
671 QIN[13][I]=Y43P(N43P)*(X43P(N43P)/EN)**3*1.e-18
672 if(EN <= (2.0*EIN[13])) GO TO 680
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
#
# 4 3D
680 if(EN <= EIN[14]) GO TO 2000
if(EN > X43D[N43D]):
GO TO 701
DO 690 J=2,N43D
if(EN <= X43D[J]):
GO TO 700
690 CONTINUE
J=N43P
700 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[14][I]=(A*EN+B)*1.e-18
GO TO 702
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
701 QIN[14][I]=Y43D[N43D]*(X43D[N43D]/EN)**3*1.e-18
702 if(EN <= (2.0*EIN[14])) GO TO 710
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
#
# 4 1D
710 if(EN <= EIN[15]) GO TO 2000
if(EN > X41D[N41D]):
GO TO 731
DO 720 J=2,N41D
if(EN <= X41D[J]):
GO TO 730
720 CONTINUE
J=N41D
730 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[15][I]=(A*EN+B)*1.e-18
GO TO 732
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
731 QIN[15][I]=Y41D[N41D]*(X41D[N41D]/EN)*1.e-18
732 if(EN <= (2.0*EIN[15])) GO TO 740
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
#
# 4 3F
740 if(EN <= EIN[16]) GO TO 2000
if(EN > X43F(N43F):
) GO TO 761
DO 750 J=2,N43F
if(EN <= X43F[J]:
) GO TO 760
750 CONTINUE
J=N43F
760 A=(Y43F[J]-Y43F[J-1])/(X43F[J]-X43F[J-1])
B=(X43F[J-1]*Y43F[J]-X43F[J]*Y43F[J-1])/(X43F[J-1]-X43F[J])
QIN[16][I]=(A*EN+B)*1.e-18
GO TO 762
# IF ENERGY GT X43F(N43F) EV SCALE BY 1/E**4
761 QIN[16][I]=Y43F(N43F)*(X43F(N43F)/EN)**4*1.e-18
762 if(EN <= (2.0*EIN[16])) GO TO 770
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
#
# 4 1F
770 if(EN <= EIN[17]) GO TO 2000
if(EN > X41F(N41F):
) GO TO 791
DO 780 J=2,N41F
if(EN <= X41F[J]:
) GO TO 790
780 CONTINUE
J=N41F
790 A=(Y41F[J]-Y41F[J-1])/(X41F[J]-X41F[J-1])
B=(X41F[J-1]*Y41F[J]-X41F[J]*Y41F[J-1])/(X41F[J-1]-X41F[J])
QIN[17][I]=(A*EN+B)*1.e-18
GO TO 792
# IF ENERGY GT X41F(N41F) EV SCALE BY 1/E
791 QIN[17][I]=Y41F(N41F)*(X41F(N41F)/EN)*1.e-18
792 if(EN <= (2.0*EIN[17])) GO TO 800
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
#
# 4 1P OSC STRENGTH F=0.02986
800 if(EN <= EIN[18]) GO TO 2000
if(EN > X41P(N41P):
) GO TO 821
DO 810 J=2,N41P
if(EN <= X41P[J]:
) GO TO 820
810 CONTINUE
J=N41P
820 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[18][I]=(A*EN+B)*1.e-18
GO TO 822
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
821 QIN[18][I]=0.02986/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])
822 if(EN <= (2.0*EIN[18])) GO TO 830
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
#
# 5 3S SCALED FROM 4 3S
830 if(EN <= EIN[19]) GO TO 2000
ER=EIN[19]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 851
DO 840 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 850
840 CONTINUE
J=N43S
850 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[19][I]=0.512*(A*ENP+B)*1.e-18
GO TO 852
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
851 QIN[19][I]=0.512*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
852 if(EN <= (2.0*EIN[19])) GO TO 860
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
#
# 5 1S SCALED FROM 4 1S
860 if(EN <= EIN[20]) GO TO 2000
ER=EIN[20]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 881
DO 870 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 880
870 CONTINUE
J=N41S
880 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[20][I]=0.512*(A*ENP+B)*1.e-18
GO TO 882
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
881 QIN[20][I]=0.512*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
882 if(EN <= (2.0*EIN[20])) GO TO 890
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
#
# 5 3P SCALED FROM 4 3P
890 if(EN <= EIN[21]) GO TO 2000
ER=EIN[21]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 911
DO 900 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 910
900 CONTINUE
J=N43P
910 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[21][I]=0.512*(A*ENP+B)*1.e-18
GO TO 912
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
911 QIN[21][I]=0.512*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
912 if(EN <= (2.0*EIN[21])) GO TO 920
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
#
# 5 3D SCALED FROM 4 3D
920 if(EN <= EIN[22]) GO TO 2000
ER=EIN[22]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 941
DO 930 J=2,N43D
if(ENP <= X43D[J]):
GO TO 940
930 CONTINUE
J=N43P
940 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[22][I]=0.512*(A*ENP+B)*1.e-18
GO TO 942
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
941 QIN[22][I]=0.512*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
942 if(EN <= (2.0*EIN[22])) GO TO 950
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
#
# 5 1D SCALED FROM 4 1D
950 if(EN <= EIN[23]) GO TO 2000
ER=EIN[23]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 971
DO 960 J=2,N41D
if(ENP <= X41D[J]):
GO TO 970
960 CONTINUE
J=N41D
970 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[23][I]=0.512*(A*ENP+B)*1.e-18
GO TO 972
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
971 QIN[23][I]=0.512*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
972 if(EN <= (2.0*EIN[23])) GO TO 980
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
#
# 5 3F SCALED FROM 4 3F
980 if(EN <= EIN[24]) GO TO 2000
ER=EIN[24]/EIN[16]
ENP=EN/ER
if(ENP > X43F(N43F):
) GO TO 1001
DO 990 J=2,N43F
if(ENP <= X43F[J]:
) GO TO 1000
990 CONTINUE
J=N43F
1000 A=(Y43F[J]-Y43F[J-1])/(X43F[J]-X43F[J-1])
B=(X43F[J-1]*Y43F[J]-X43F[J]*Y43F[J-1])/(X43F[J-1]-X43F[J])
QIN[24][I]=0.512*(A*ENP+B)*1.e-18
GO TO 1002
# IF ENERGY GT X43F(N43F) EV SCALE BY 1/E**4
1001 QIN[24][I]=0.512*Y43F(N43F)*(X43F(N43F)/ENP)**4*1.e-18
1002 if(EN <= (2.0*EIN[24])) GO TO 1010
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
#
# 5 1F SCALED FROM 4 1F
1010 if(EN <= EIN[25]) GO TO 2000
ER=EIN[25]/EIN[17]
ENP=EN/ER
if(ENP > X41F(N41F):
) GO TO 1031
DO 1020 J=2,N41F
if(ENP <= X41F[J]:
) GO TO 1030
1020 CONTINUE
J=N41F
1030 A=(Y41F[J]-Y41F[J-1])/(X41F[J]-X41F[J-1])
B=(X41F[J-1]*Y41F[J]-X41F[J]*Y41F[J-1])/(X41F[J-1]-X41F[J])
QIN[25][I]=0.512*(A*ENP+B)*1.e-18
GO TO 1032
# IF ENERGY GT X41F(N41F) EV SCALE BY 1/E
1031 QIN[25][I]=0.512*Y41F(N41F)*(X41F(N41F)/ENP)*1.e-18
1032 if(EN <= (2.0*EIN[25])) GO TO 1040
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
#
# 5 1P SCALED FROM 4 1P OSC STRENGTH F=0.01504
1040 if(EN <= EIN[26]) GO TO 2000
ER=EIN[26]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1061
DO 1050 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1060
1050 CONTINUE
J=N41P
1060 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[26][I]=0.01504/0.02986*(A*ENP+B)*1.e-18
GO TO 1062
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1061 QIN[26][I]=0.01504/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])
1062 if(EN <= (2.0*EIN[26])) GO TO 1070
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
#
# 6 3S SCALED FROM 4 3S
1070 if(EN <= EIN[27]) GO TO 2000
ER=EIN[27]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 1091
DO 1080 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 1090
1080 CONTINUE
J=N43S
1090 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[27][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1092
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
1091 QIN[27][I]=0.296*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
1092 if(EN <= (2.0*EIN[27])) GO TO 1100
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
#
# 6 1S SCALED FROM 4 1S
1100 if(EN <= EIN[28]) GO TO 2000
ER=EIN[28]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 1121
DO 1110 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 1120
1110 CONTINUE
J=N41S
1120 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[28][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1122
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
1121 QIN[28][I]=0.296*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
1122 if(EN <= (2.0*EIN[28])) GO TO 1130
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
#
# 6 3P SCALED FROM 4 3P
1130 if(EN <= EIN[29]) GO TO 2000
ER=EIN[29]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 1151
DO 1140 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 1150
1140 CONTINUE
J=N43P
1150 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[29][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1152
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
1151 QIN[29][I]=0.296*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
1152 if(EN <= (2.0*EIN[29])) GO TO 1160
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
#
# 6 3D SCALED FROM 4 3D
1160 if(EN <= EIN[30]) GO TO 2000
ER=EIN[30]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 1181
DO 1170 J=2,N43D
if(ENP <= X43D[J]):
GO TO 1180
1170 CONTINUE
J=N43P
1180 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[30][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1182
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
1181 QIN[30][I]=0.296*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
1182 if(EN <= (2.0*EIN[30])) GO TO 1190
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
#
# 6 1D SCALED FROM 4 1D
1190 if(EN <= EIN[31]) GO TO 2000
ER=EIN[31]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 1211
DO 1200 J=2,N41D
if(ENP <= X41D[J]):
GO TO 1210
1200 CONTINUE
J=N41D
1210 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[31][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1212
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
1211 QIN[31][I]=0.296*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
1212 if(EN <= (2.0*EIN[31])) GO TO 1220
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
#
# 6 1P SCALED FROM 4 1P OSC STRENGTH F=0.00863
1220 if(EN <= EIN[32]) GO TO 2000
ER=EIN[32]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1241
DO 1230 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1240
1230 CONTINUE
J=N41P
1240 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[32][I]=0.00863/0.02986*(A*ENP+B)*1.e-18
GO TO 1242
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1241 QIN[32][I]=0.00863/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])
1242 if(EN <= (2.0*EIN[32])) GO TO 1250
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
#
# 7 3S SCALED FROM 4 3S
1250 if(EN <= EIN[33]) GO TO 2000
ER=EIN[33]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 1271
DO 1260 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 1270
1260 CONTINUE
J=N43S
1270 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[33][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1272
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
1271 QIN[33][I]=0.187*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
1272 if(EN <= (2.0*EIN[33])) GO TO 1280
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
#
# 7 1S SCALED FROM 4 1S
1280 if(EN <= EIN[34]) GO TO 2000
ER=EIN[34]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 1301
DO 1290 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 1300
1290 CONTINUE
J=N41S
1300 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[34][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1302
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
1301 QIN[34][I]=0.187*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
1302 if(EN <= (2.0*EIN[34])) GO TO 1310
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
#
# 7 3P SCALED FROM 4 3P
1310 if(EN <= EIN[35]) GO TO 2000
ER=EIN[35]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 1331
DO 1320 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 1330
1320 CONTINUE
J=N43P
1330 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[35][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1332
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
1331 QIN[35][I]=0.187*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
1332 if(EN <= (2.0*EIN[35])) GO TO 1340
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
#
# 7 3D SCALED FROM 4 3D
1340 if(EN <= EIN[36]) GO TO 2000
ER=EIN[36]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 1361
DO 1350 J=2,N43D
if(ENP <= X43D[J]):
GO TO 1360
1350 CONTINUE
J=N43P
1360 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[36][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1362
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
1361 QIN[36][I]=0.187*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
1362 if(EN <= (2.0*EIN[36])) GO TO 1370
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
#
# 7 1D SCALED FROM 4 1D
1370 if(EN <= EIN[37]) GO TO 2000
ER=EIN[37]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 1391
DO 1380 J=2,N41D
if(ENP <= X41D[J]):
GO TO 1390
1380 CONTINUE
J=N41D
1390 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[37][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1392
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
1391 QIN[37][I]=0.187*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
1392 if(EN <= (2.0*EIN[37])) GO TO 1400
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
#
# 7 1P SCALED FROM 4 1P OSC STRENGTH F=0.00540
1400 if(EN <= EIN[38]) GO TO 2000
ER=EIN[38]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1421
DO 1410 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1420
1410 CONTINUE
J=N41P
1420 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[38][I]=0.00540/0.02986*(A*ENP+B)*1.e-18
GO TO 1422
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1421 QIN[38][I]=0.00540/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+E[3])
1422 if(EN <= (2.0*EIN[38])) GO TO 1430
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
#
# SUM 3S LEVELS FROM 8 3S HIGHER AND SCALED FROM 4 3S
1430 if(EN <= EIN[39]) GO TO 2000
ER=EIN[39]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 1451
DO 1440 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 1450
1440 CONTINUE
J=N43S
1450 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[39][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1452
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
1451 QIN[39][I]=0.553*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
1452 if(EN <= (2.0*EIN[39])) GO TO 1460
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
#
# SUM 1S LEVELS FROM 8 1S HIGHER AND SCALED FROM 4 1S
1460 if(EN <= EIN[40]) GO TO 2000
ER=EIN[40]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 1481
DO 1470 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 1480
1470 CONTINUE
J=N41S
1480 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[40][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1482
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
1481 QIN[40][I]=0.553*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
1482 if(EN <= (2.0*EIN[40])) GO TO 1490
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
#
# SUM 3P LEVELS FROM 8 3P HIGHER AND SCALED FROM 4 3P
1490 if(EN <= EIN[41]) GO TO 2000
ER=EIN[41]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 1511
DO 1500 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 1510
1500 CONTINUE
J=N43P
1510 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[41][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1512
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
1511 QIN[41][I]=0.553*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
1512 if(EN <= (2.0*EIN[41])) GO TO 1520
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
#
# SUM 3D LEVELS FROM 8 3D HIGHER AND SCALED FROM 4 3D
1520 if(EN <= EIN[42]) GO TO 2000
ER=EIN[42]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 1541
DO 1530 J=2,N43D
if(ENP <= X43D[J]):
GO TO 1540
1530 CONTINUE
J=N43P
1540 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[42][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1542
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
1541 QIN[42][I]=0.553*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
1542 if(EN <= (2.0*EIN[42])) GO TO 1550
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
#
# SUM 1D LEVELS FROM 8 1D HIGHER AND SCALED FROM 4 1D
1550 if(EN <= EIN[43]) GO TO 2000
ER=EIN[43]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 1571
DO 1560 J=2,N41D
if(ENP <= X41D[J]):
GO TO 1570
1560 CONTINUE
J=N41D
1570 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[43][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1572
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
1571 QIN[43][I]=0.553*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
1572 if(EN <= (2.0*EIN[43])) GO TO 1580
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
#
# 8 1P SCALED FROM 4 1P OSC STRENGTH F=0.00362
1580 if(EN <= EIN[44]) GO TO 2000
ER=EIN[44]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1601
DO 1590 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1600
1590 CONTINUE
J=N41P
1600 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[44][I]=0.00362/0.02986*(A*ENP+B)*1.e-18
GO TO 1602
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1601 QIN[44][I]=0.00362/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+E[3])
1602 if(EN <= (2.0*EIN[44])) GO TO 1610
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
#
# 9 1P SCALED FROM 4 1P OSC STRENGTH F=0.00253
1610 if(EN <= EIN[45]) GO TO 2000
ER=EIN[45]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1631
DO 1620 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1630
1620 CONTINUE
J=N41P
1630 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[45][I]=0.00253/0.02986*(A*ENP+B)*1.e-18
GO TO 1632
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1631 QIN[45][I]=0.00253/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])
1632 if(EN <= (2.0*EIN[45])) GO TO 1640
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
#
# 10 1P SCALED FROM 4 1P OSC STRENGTH F=0.00184
1640 if(EN <= EIN[46]) GO TO 2000
ER=EIN[46]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1661
DO 1650 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1660
1650 CONTINUE
J=N41P
1660 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[46][I]=0.00184/0.02986*(A*ENP+B)*1.e-18
GO TO 1662
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1661 QIN[46][I]=0.00184/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+E[3])
1662 if(EN <= (2.0*EIN[46])) GO TO 1670
PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]
#
# 11 1P SCALED FROM 4 1P OSC STRENGTH F=0.00138
1670 if(EN <= EIN[47]) GO TO 2000
ER=EIN[47]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1691
DO 1680 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1690
1680 CONTINUE
J=N41P
1690 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[47][I]=0.00138/0.02986*(A*ENP+B)*1.e-18
GO TO 1692
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1691 QIN[47][I]=0.00138/(EIN[47]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[47]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[47]+E[3])
1692 if(EN <= (2.0*EIN[47])) GO TO 1700
PEQIN[47][I]=PEQEL[2][(I-IOFFN[47])]
#
# 12 1P SCALED FROM 4 1P OSC STRENGTH F=0.00106
1700 if(EN <= EIN[48]) GO TO 2000
ER=EIN[48]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1721
DO 1710 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1720
1710 CONTINUE
J=N41P
1720 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[48][I]=0.00106/0.02986*(A*ENP+B)*1.e-18
GO TO 1722
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1721 QIN[48][I]=0.00106/(EIN[48]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[48]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[48]+E[3])
1722 if(EN <= (2.0*EIN[48])) GO TO 1730
PEQIN[48][I]=PEQEL[2][(I-IOFFN[48])]
#
# SUM HIGHER 1P LEVELS OSC STRENGTH F=0.00440
1730 if(EN <= EIN[49]) GO TO 2000
ER=EIN[49]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1751
DO 1740 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1750
1740 CONTINUE
J=N41P
1750 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[49][I]=0.00440/0.02986*(A*ENP+B)*1.e-18
GO TO 1752
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1751 QIN[49][I]=0.00440/(EIN[49]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[49]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[49]+E[3])
1752 if(EN <= (2.0*EIN[49])) GO TO 1760
PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
1760 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTIONS
if(EN <= 1000.):
GO TO 2000
DO 1780 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 1790
1780 CONTINUE
J=NBREM
1790 A=(math.log(Z2T[J])-math.log(Z2T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z2T[J])*EBRM[J-1]-math.log(Z2T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[50][I]=math.exp(A*EN+B)*1.e-24
#
2000 CONTINUE
#
QMET=QIN[1][I]+QIN[2][I]
QDIP=QIN[4][I]+QIN[10][I]+QIN[18][I]+QIN[26][I]+QIN[32][I]+QIN[38][I]+QIN[44][I]+QIN[45][I]+QIN[46][I]+QIN[47][I]+QIN[48][I]+QIN[49][I]
QTRP=QIN[1][I]+QIN[3][I]+QIN[5][I]+QIN[7][I]+QIN[8][I]+QIN[11][I]+QIN[13][I]+QIN[14][I]+QIN[16][I]+QIN[19][I]+QIN[21][I]+QIN[22][I]+QIN[24][I]+QIN[27][I]+QIN[29][I]+QIN[30][I]+QIN[33][I]+QIN[35][I]+QIN[36][I]+QIN[39][I]+QIN[41][I]+QIN[42][I]
QSNG=QIN[2][I]+QIN[4][I]+QIN[6][I]+QIN[9][I]+QIN[10][I]+QIN[12][I]+QIN[15][I]+QIN[17][I]+QIN[18][I]+QIN[20][I]+QIN[23][I]+QIN[25][I]+QIN[26][I]+QIN[28][I]+QIN[31][I]+QIN[32][I]+QIN[34][I]+QIN[37][I]+QIN[38][I]+QIN[40][I]+QIN[43][I]+QIN[44][I]+QIN[45][I]+QIN[46][I]+QIN[47][I]+QIN[48][I]+QIN[49][I]
QINEL=QSNG+QTRP+QION[1][I]+QION[2][I]
Q[1][I]=QELA+QINEL+QIN[50][I]
# EXAMINE X-SECTION
# WRITE(6,986) EN,QIN[4][I],QIN[10][I],QIN[18][I],QIN[26][I],QIN[32][I],
# /QIN[38][I],QIN[44][I],QIN[45][I],QIN[46][I],QIN[47][I],QIN[48][I],
# /QIN[49][I]
# 986 print(' EN=',D11.5,' 21P=','%.3f' %,' 31P=','%.3f' %,' 41P=','%.3f' %,' 51
# /P=','%.3f' %,' 61P=','%.3f' %,' 71P=','%.3f' %,/,8X,' 81P=','%.3f' %,' 91P=',D
# /11.3,' 101P=','%.3f' %,' 111P=','%.3f' %,' 121P=','%.3f' %,' HIP=','%.3f' %)
# WRITE(6,987) EN,QMET,QDIP,QSNG,QTRP,QINEL,Q[1][I]
# 987 print(' EN=',D12.5,' QMET=','%.3f' %,' QDIP=','%.3f' %,' QSNG=','%.3f' %,
# /'QTRP=','%.3f' %,' QINL=','%.4f' % ,' QTOT=','%.4f' % )
9000 CONTINUE
# SAVE COMPUTE TIME
DO 9001 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 9011
# endif
9001 CONTINUE
9011 CONTINUE
if(EN > 1000.):
NIN=50
return
# end
def GAS4(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(144),YEM(144),YEL(144),YEPS(144),XION(90),YION(90),YINC(90),X23S(139),Y23S(139),X21S(128),Y21S(128),X23P(128),Y23P(128),X21P(125),Y21P(125),X33S(106),Y33S(106),X31S(87),Y31S(87),X33P(91),Y33P(91),X33D[108],Y33D[108],X31D[94],Y31D[94],X31P(114),Y31P(114),X43S[59],Y43S[59],X41S[55],Y41S[55],X43P(76),Y43P(76),X43D[65],Y43D[65],X41D[53],Y41D[53],X43F[40],Y43F[40],X41F[57],Y41F[57],X41P(96),Y41P(96),IOFFN[49],IOFFION[2]
DIMENSION Z2T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ELASTIC
XEN=[0.00,.008,.009,0.01,.013,.017,.020,.025,0.03,0.04, 0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.15,0.18,0.20, 0.25,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.20, 1.50,1.80,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00, 9.00,10.0,11.0,12.0,14.0,16.0,18.0,20.0,25.0,30.0, 35.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,200.,250.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,6000.,8000.,10000.,1.25D4,1.5D4,2.0D4,2.5'%.3f' %.0D4,4.0D4,6.0D4,8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC MOMENTUM TRANSFER
YEM=[4.89,5.18,5.19,5.21,5.26,5.31,5.35,5.41,5.46,5.54, 5.62,5.68,5.74,5.79,5.83,5.86,5.94,6.04,6.12,6.16, 6.27,6.35,6.49,6.59,6.66,6.73,6.77,6.82,6.85,6.91, 6.96,6.98,6.99,6.96,6.89,6.62,6.31,6.00,5.68,5.35, 5.03,4.72,4.45,4.20,3.68,3.28,2.95,2.64,2.05,1.63, 1.33,1.09,.785,.590,.465,.375,.309,.262,.179,.132,.0807,.0549,.0400,.0242,.0164,.0119,.00716,.00482,.00234,.0014,.000676,4.03e-4,1.93e-4,1.15e-4,7.65e-5,5.10e-5,3.66e-5,2.17e-5,1.45e-5,1.04e-5,6.18e-6,2.99e-6,1.71e-6,1.21e-6,8.26e-7,6.05e-7,4.66e-7,3.73e-7,2.58e-7,1.92e-7,1.50e-7,1.22e-7,1.01e-7,8.59e-8,6.48e-8,5.11e-8,4.17e-8,3.48e-8,2.96e-8,2.10e-8,1.58e-8,1.24e-8,1.01e-8,7.05e-9,5.24e-9,4.07e-9,3.25e-9,2.67e-9,2.23e-9,1.63e-9,1.25e-9,9.89e-10,8.04e-10,6.67e-10,4.47e-10,3.22e-10,2.43e-10,1.91e-10,1.27e-10,9.04e-11,6.79e-11,5.29e-11,4.24e-11,3.48e-11,2.46e-11,1.84e-11,1.42e-11,1.13e-11,9.26e-12,6.00e-12,4.20e-12,3.10e-12,2.38e-12,1.53e-12,1.06e-12,7.82e-13,5.99e-13,4.74e-13,3.84e-13,2.67e-13,1.96e-13,1.50e-13,1.19e-13,9.62e-14]
# ELASTIC TOTAL
YEL=[4.89,5.19,5.20,5.21,5.26,5.29,5.33,5.37,5.41,5.47,5.53,5.58,5.62,5.66,5.69,5.70,5.76,5.83,5.88,5.90,5.96,6.01,6.08,6.12,6.14,6.16,6.16,6.17,6.16,6.16,6.14,6.11,6.09,6.01,5.90,5.60,5.36,5.10,4.91,4.70,4.51,4.32,4.21,4.10,3.75,3.49,3.27,3.03,2.54,2.14,1.83,1.61,1.27,1.06,.884,.746,.652,.580,.460,.355,.244,.194,.150,.117,.087,.071,.052,.041,.028,.022,.014,.0108,.00722,.00544,.00437,.00352,.00295,.00224,.00182,.00154,.00118,.000830,.000654,.000550,.000466,.000411,.000371,.000342,.000301,.000274,.000255,.000241,.000230,.000222,.000209,.000201,.000195,.000190,.000186,.000180,.000177,.000174,.000172,.000170,.000169,.000168,.000167,.000167,.000167,.000166,.000166,.000166,.000166,.000166,30*.000165]
# ANGULAR DISTRIBUTION PARAMETER EPSILON
# EPSILON = 1.0-YEPS
YEPS=[1.0,.99711,.99712,1.0,1.0,1.00562,1.00565,1.01118,1.01386,1.01920,1.02440,1.02688,1.03202,1.03445,1.03689,1.04209,1.04686,1.05400,1.06119,1.06604,1.07792,1.08474,1.10094,1.11490,1.12663,1.13826,1.14789,1.15724,1.16707,1.18142,1.19873,1.21165,1.21951,1.23447,1.24855,1.26918,1.26215,1.26104,1.23265,1.20568,1.17192,1.13835,1.08539,1.03657,.97200,.90989,.85384,.80836,.71541,.65146,.60355,.53739,.46277,.38963,.35522,.32989,.29979,.27742,.21850,.20332,.16921,.13304,.12155,.08318,.07263,.06130,.04637,.03720,.02338,.016295,.011386,.008195,.005394,.004037,.003205,.002548,.002113,.001572,.001246,.001044,7.61e-4,4.925e-4,3.404e-4,2.803e-4,2.179e-4,1.766e-4,1.475e-4,1.258e-4,9.60e-5,7.65e-5,6.29e-5,5.29e-5,4.53e-5,3.93e-5,3.07e-5,2.47e-5,2.04e-5,1.72e-5,1.47e-5,1.05e-5,7.84e-6,6.12e-6,4.91e-6,3.373e-6,2.463e-6,1.881e-6,1.483e-6,1.200e-6,9.91e-7,7.09e-7,5.322e-7,4.146e-7,3.319e-7,2.718e-7,1.775e-7,1.249e-7,9.27e-8,7.15e-8,4.62e-8,3.23e-8,2.382e-8,1.828e-8,1.447e-8,1.173e-8,8.14e-9,5.97e-9,4.56e-9,3.59e-9,2.90e-9,1.83e-9,1.26e-9,9.10e-10,6.90e-10,4.40e-10,3.00e-10,2.16e-10,1.63e-10,1.27e-10,1.02e-10,7.0D-11,5.1D-11,3.8D-11,3.0D-11,2.4D-11]
# IONISATION (VALUES ABOVE 20KEV GENERATED BY BORN-BETHE IN SUB)
XION=[24.58739,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0,30.5,31.0,31.5,32.0,32.5,33.0,33.5,34.0, 36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,170.,180.,190.,200., 225.,250.,275.,300.,350.,400.,450.,500.,550.,600., 650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,1.0D4,1.2D4,1.4D4,1.6D4,1.8D4,2.0D4]
# GROSS IONISATION
YION=[.0,.0038,.0094,.0155,.0218,.0279,.0336,.0392,.0446,.0504,.0561,.0612,.0667,.0722,.0773,.0826,.0878,.0929,.0981,.103,.121,.138,.154,.188,.219,.242,.262,.276,.290,.301,.311,.319,.326,.333,.336,.338,.340,.341,.342,.342,.343,.342,.341,.340,.338,.335,.332,.326,.322,.316, .302,.290,.279,.268,.246,.231,.216,.203,.191,.180,
..171,.163,.155,.148,.142,.136,.130,.125,.109,.097,.0872,.0795,.0729,.0608,.0524,.0458,.0410,.0368,.0336,.0311,.0293,.0255,.0229,.0206,.0192,.0164,.0147,.0130,.0119,.0108/
# COUNTING IONISATION
YINC=[.0,.0038,.0094,.0155,.0218,.0279,.0336,.0392,.0446,.0504,.0561,.0612,.0667,.0722,.0773,.0826,.0878,.0929,.0981,.103,.121,.138,.154,.188,.219,.242,.262,.276,.290,.301,.311,.319,.326,.333,.336,.338,.340,.341,.341,.341,.342,.341,.340,.339,.337,.334,.331,.325,.321,.315,.301,.289,.278,.267,.245,.230,.215,.202,.190,.179, .170,.162,.154,.147,.141,.135,.129,.124,.108,.096,.0867,.0791,.0725,.0605,.0522,.0456,.0408,.0367,.0335,.0310,.0292,.0254,.0228,.0205,.0191,.0163,.0146,.0129,.0118,.0107]
# ALL EXCITATIONS IN UNITS OF 10**-18
# 2 3S J=1 METASTABLE
X23S=[19.81961,19.83,19.85,19.88,19.9,19.95,20.0,20.05,20.1,20.15,20.2,20.25,20.3,20.35,20.4,20.45,20.50,20.55,20.6,20.63,20.66,20.7,20.75,20.8,20.85,20.90,20.94,20.97,21.0,21.05,21.1,21.15,21.2,21.25,21.3,21.4,21.5,22.0,22.2,22.25,22.3,22.35,22.4,22.42,22.44,22.46,22.48,22.5,22.52,22.55,22.6,22.62,22.64,22.66,22.68,22.7,22.71,22.72,22.75,22.8,22.85,22.88,22.9,22.95,22.97,23.0,23.05,23.1,23.3,23.4,23.5,23.6,23.8,24.0,24.5,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1500.,1600.,1700.,1800.,1900.,2000.]
Y23S=[0.00,.780,1.16,1.64,1.98,2.81,3.53,4.13,4.61,4.96,5.20,5.35,5.41,5.36,5.21,4.95,4.63,4.23,3.66,3.16,3.04,3.13,3.41,3.77,4.14,4.44,4.54,4.43,4.27,3.96,3.69,3.48,3.32,3.21,3.15,3.08,3.06,3.09,3.08,3.04,2.97,2.84,2.25,1.58,1.83,4.91,4.45,4.13,3.95,3.79,3.60,3.51,3.07,2.45,2.61,2.67,2.36,2.97,3.01,2.96,2.87,2.61,3.04,2.75,3.16,3.06,2.90,2.79,2.81,2.86,2.75,2.80,2.71,2.65,2.58,2.48,2.39,2.30,2.19,2.09,1.98,1.84,1.73,1.53,1.36,1.22,1.09,.985,.892,.812,.742,.680,.555,.461,.389,.332,.287,.250,.220,.194,.154,.125,.103,.0861,.0726,.0617,.0529,.0397,.0305,.0239,.0191,.0154,.0126,.0105,.00740,.00542,.00407,.00314,.00247,.00187,.00145,.00115,9.23e-4,7.53e-4,6.22e-4,5.20e-4,4.39e-4,3.74e-4,3.21e-4,2.42e-4,1.86e-4,1.47e-4,1.18e-4,9.57e-5,7.89e-5,6.58e-5,5.54e-5,4.71e-5,4.04e-5]
# 2 1S J=0 METASTABLE
X21S=[20.61577,20.62,20.63,20.65,20.67,20.69,20.72,20.75,20.80,20.85,20.90,20.96,20.98,21.0,21.05,21.1,21.15,21.2,21.22,21.25,21.3,21.4,21.5,21.6,21.7,21.8,21.9,22.0,22.1,22.2,22.25,22.3,22.35,22.4,22.42,22.44,22.46,22.48,22.5,22.55,22.59,22.6,22.61,22.62,22.63,22.64,22.65,22.68,22.7,22.71,22.72,22.73,22.75,22.78,22.8,22.85,22.87,22.88,22.89,22.9,22.91,22.92,22.93,22.94,22.95,22.96,22.97,22.98,22.99,23.0,23.01,23.05,23.1,23.2,23.3,23.4,23.5,23.6,23.8,24.0,24.2,24.4,24.7,25.0,26.0,28.0,30.0,32.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,80.0,90.0,100.,110.,120.,140.,170.,200.,240.,280.,320.,360.,400.,450.,500.,550.,600.,650.,700.,800.,900.,1000.,1100.,1200.,1400.,1600.,1800.,2000.,2200.,2400.,2700.,3000.]
Y21S=[0.00,.406,.477,.664,.820,.946,1.10,1.24,1.47,1.72,2.03,2.52,2.40,2.39,2.39,2.42,2.46,2.53,2.55,2.53,2.52,2.53,2.57,2.59,2.62,2.64,2.65,2.65,2.65,2.62,2.59,2.53,2.42,2.14,1.86,2.17,3.35,3.01,2.79,2.34,1.80,1.88,2.53,3.37,3.64,3.55,3.42,3.23,2.95,2.45,1.84,2.32,2.49,2.60,2.62,2.57,2.40,2.57,2.59,2.32,1.73,2.55,2.36,2.35,2.32,2.23,2.50,2.64,2.61,1.86,2.28,2.53,2.35,2.39,2.44,2.51,2.48,2.45,2.44,2.49,2.57,2.63,2.56,2.54,2.53,2.51,2.45,2.35,2.21,2.05,1.88,1.75,1.65,1.56,1.48,1.41,1.30,1.21,1.14,1.08,1.03,.948,.850,.771,.686,.617,.560,.512,.471,.428,.392,.361,.335,.312,.292,.259,.233,.211,.193,.178,.154,.136,.121,.109,.0997,.0916,.0817,.0737]
# 2 3P J=2,1,0
X23P=[20.96409,20.97,21.0,21.05,21.1,21.15,21.2,21.25,21.3,21.35,21.4,21.5,21.6,21.7,21.8,21.9,22.0,22.1,22.2,22.3,22.4,22.45,22.5,22.55,22.6,22.61,22.62,22.63,22.64,22.65,22.66,22.67,22.68,22.69,22.7,22.71,22.72,22.73,22.75,22.77,22.8,22.85,22.88,22.9,22.91,22.92,22.93,22.96,22.97,22.99,23.0,23.04,23.06,23.07,23.08,23.1,23.2,23.3,23.4,23.5,23.6,23.7,23.8,23.9,24.0,24.2,24.4,24.6,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2300.,2600.,3000.]
Y23P=[0.00,.0936,.241,.442,.611,.761,.912,1.03,1.10,1.17,1.23,1.32,1.40,1.47,1.54,1.60,1.66,1.73,1.80,1.87,1.94,2.05,2.07,2.09,2.22,2.48,2.68,2.60,2.27,1.78,1.45,1.43,1.52,1.59,1.60,1.45,1.47,1.70,1.83,1.91,1.95,1.93,2.32,1.98,1.72,2.23,2.09,2.12,2.07,2.17,1.82,2.18,1.80,1.82,1.94,1.94,1.90,1.88,1.89,2.00,2.16,2.21,2.14,2.08,2.09,2.03,2.16,2.26,2.29,2.41,2.47,2.48,2.47,2.43,2.30,2.15,2.00,1.84,1.69,1.55,1.43,1.31,1.21,1.11,.907,.748,.622,.522,.441,.375,.322,.277,.241,.210,.162,.127,.101,.0812,.0663,.0547,.0455,.0382,.0324,.0277,.0206,.0156,.0121,.00961,.00772,.00518,.00363,.00264,.00197,.00151,.00118,8.48e-4,5.21e-4,3.42e-4,2.37e-4,1.70e-4,9.65e-5,5.99e-5,3.96e-5,2.76e-5,2.00e-5,1.30e-5,8.94e-6,5.78e-6]
# 2 1P RESONANCE RADIATION J=1 58.434 NM OSC STRENGTH F=0.27608
X21P=[21.21802,21.23,21.25,21.3,21.4,21.5,21.6,21.7,21.8,21.9,22.0,22.1,22.2,22.3,22.35,22.4,22.42,22.44,22.46,22.48,22.5,22.55,22.57,22.59,22.6,22.61,22.62,22.63,22.64,22.65,22.66,22.68,22.7,22.71,22.72,22.73,22.75,22.8,22.85,22.87,22.88,22.9,22.91,22.94,22.96,22.97,22.98,22.99,23.0,23.01,23.05,23.1,23.2,23.3,23.4,23.5,23.6,23.7,23.8,23.9,24.0,24.2,24.4,24.6,24.8,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,160.,180.,200.,240.,280.,320.,360.,400.,450.,500.,550.,600.,650.,700.,800.,900.,1000.,1100.,1200.,1300.,1400.]
Y21P=[0.00,.0519,.0884,.163,.290,.397,.493,.582,.666,.748,.831,.914,.994,1.06,1.09,1.10,1.10,1.36,1.46,1.35,1.32,1.30,1.28,1.19,1.07,.943,.922,.941,.872,.751,.737,.959,1.13,1.17,.920,1.03,1.12,1.23,1.35,1.27,1.18,1.22,1.03,1.14,1.12,1.38,1.29,1.25,1.38,1.24,1.12,1.13,1.11,1.12,1.16,1.30,1.41,1.44,1.41,1.37,1.39,1.42,1.52,1.70,1.80,1.89,2.16,2.42,2.69,2.96,3.24,3.53,3.82,4.12,4.42,4.71,5.00,5.29,5.57,5.85,6.12,6.63,7.10,7.53,7.93,8.28,8.61,8.90,9.16,9.39,9.60,9.95,10.2,10.4,10.6,10.7,10.7,10.8,10.8,10.7,10.6,10.4,10.2,10.0,9.57,9.13,8.71,7.96,7.33,6.79,6.32,5.92,5.50,5.13,4.82,4.54,4.30,4.08,3.72,3.41,3.16,2.95,2.76,2.60,2.46]
# 3 3S J=1
X33S=[22.71847,22.72,22.73,22.74,22.75,22.78,22.8,22.83,22.85,22.86,22.87,22.88,22.89,22.9,22.91,22.912,22.914,22.916,22.92,22.94,22.96,22.98,23.0,23.02,23.05,23.1,23.2,23.25,23.3,23.35,23.4,23.44,23.48,23.52,23.57,23.59,23.62,23.65,23.7,23.75,23.82,23.89,23.93,24.0,24.4,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.]
Y33S=[0.00,.800,1.15,1.03,.985,.854,.812,.752,.644,.503,.277,1.79,1.17,1.06,1.32,1.51,1.57,1.37,.896,.848,.907,.816,.838,.656,.872,.859,.890,.900,.860,.750,.620,.810,.770,.960,.870,.870,.730,.710,.710,.730,.770,.690,.760,.742,.725,.694,.665,.635,.605,.577,.550,.524,.499,.452,.409,.370,.336,.305,.278,.253,.231,.212,.178,.151,.130,.112,.0968,.0817,.0696,.0597,.0516,.0449,.0393,.0306,.0242,.0195,.0160,.0132,.0111,.00938,.00800,.00596,.00456,.00356,.00284,.00230,.00188,.00131,9.53e-4,7.13e-4,5.47e-4,4.29e-4,3.25e-4,2.52e-4,1.99e-4,1.60e-4,1.31e-4,1.08e-4,9.02e-5,7.62e-5,6.49e-5,5.58e-5,4.20e-5,3.25e-5,2.56e-5,2.06e-5]
# 3 1S J=0
X31S=[22.92032,22.96,22.985,23.02,23.05,23.07,23.1,23.15,23.2,23.25,23.3,23.33,23.36,23.39,23.41,23.45,23.48,23.51,23.54,23.56,23.59,23.62,23.65,23.68,23.73,23.82,23.88,23.94,24.0,25.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,65.0,70.0,75.0,80.0,90.0,100.,110.,120.,130.,140.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,900.,1000.,1100.,1200.,1300.,1400.,1500.,1600.,1800.,2000.,2400.,2800.,3200.,3600.,4000.]
Y31S=[0.00,.535,.457,.587,.490,.490,.478,.491,.506,.512,.501,.470,.418,.374,.351,.371,.520,.681,.520,.467,.496,.410,.442,.429,.416,.455,.377,.444,.422,.426,.428,.429,.425,.419,.412,.402,.396,.387,.370,.354,.338,.324,.311,.296,.283,.271,.260,.242,.226,.213,.203,.193,.185,.172,.161,.152,.144,.137,.131,.125,.120,.111,.103,.0957,.0894,.0839,.0778,.0725,.0678,.0636,.0599,.0566,.0509,.0462,.0423,.0389,.0361,.0336,.0315,.0296,.0264,.0238,.0199,.0171,.0150,.0133,.0120]
# 3 3P J=2,1,0
X33P=[23.00707,23.02,23.03,23.04,23.05,23.06,23.07,23.08,23.1,23.2,23.3,23.4,23.5,23.55,23.6,23.65,23.7,23.8,23.9,24.0,24.1,24.2,24.3,24.4,24.6,24.8,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y33P=[0.00,.387,.410,.179,.148,.335,.381,.282,.280,.309,.332,.359,.411,.416,.405,.448,.438,.467,.485,.493,.500,.515,.517,.513,.503,.508,.512,.516,.515,.524,.544,.539,.523,.500,.474,.446,.392,.342,.297,.259,.226,.197,.173,.152,.134,.118,.102,.0878,.0762,.0665,.0512,.0401,.0318,.0255,.0208,.0171,.0142,.0119,.00854,.00632,.00479,.00371,.00292,.00234,.00157,.00109,7.93e-4,5.92e-4,4.53e-4,3.34e-4,2.53e-4,1.96e-4,1.55e-4,1.24e-4,1.01e-4,8.37e-5,6.99e-5,5.89e-5,5.02e-5,3.72e-5,2.83e-5,2.21e-5,1.75e-5,1.16e-5,8.05e-6,5.82e-6,4.34e-6,3.32e-6,2.60e-6,2.07e-6,1.68e-6]
# 3 3D J=3,2,1
X33D=[23.07365,23.1,23.15,23.2,23.25,23.3,23.35,23.4,23.45,23.5,23.55,23.6,23.66,23.7,23.75,23.8,23.85,23.9,23.95,24.0,24.05,24.1,24.15,24.2,24.25,24.3,24.35,24.4,24.45,24.5,24.55,24.6,24.65,24.7,24.8,24.9,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.,650.,700.,750.,800.,850.,900.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y33D=[0.00,.00956,.0236,.0401,.0602,.0861,.120,.166,.222,.229,.238,.197,.123,.118,.110,.112,.104,.110,.099,.0985,.113,.107,.109,.114,.118,.119,.118,.116,.113,.105,.112,.116,.118,.119,.120,.120,.119,.115,.118,.121,.121,.120,.113,.105,.0958,.0867,.0780,.0701,.0628,.0563,.0505,.0453,.0407,.0366,.0330,.0298,.0269,.0221,.0183,.0152,.0127,.0107,.00868,.00712,.00588,.00490,.00347,.00252,.00188,.00142,.00110,8.64e-4,5.56e-4,3.76e-4,2.64e-4,1.92e-4,1.44e-4,1.10e-4,8.60e-5,6.84e-5,5.53e-5,4.53e-5,3.76e-5,3.15e-5,2.28e-5,1.70e-5,1.30e-5,1.02e-5,8.12e-6,6.25e-6,4.92e-6,3.94e-6,3.21e-6,2.64e-6,2.21e-6,1.58e-6,1.17e-6,8.95e-7,6.98e-7,5.55e-7,3.67e-7,2.56e-7,1.85e-7,1.38e-7,1.06e-7,8.32e-8,6.64e-8,5.38e-8]
# 3 1D J=2
X31D=[23.07407,23.08,23.1,23.15,23.2,23.25,23.3,23.35,23.4,23.45,23.5,23.55,23.6,23.66,23.7,23.75,23.8,23.85,23.9,23.95,24.0,24.05,24.1,24.15,24.2,24.25,24.3,24.35,24.4,24.45,24.5,24.6,24.7,24.8,25.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,90.0,100.,110.,120.,140.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,370.,400.,440.,480.,520.,560.,600.,650.,700.,800.,900.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y31D=[0.00,.097,.0973,.110,.126,.148,.175,.200,.221,.237,.235,.198,.185,.192,.168,.181,.189,.172,.193,.184,.190,.209,.206,.211,.214,.215,.212,.206,.199,.191,.174,.177,.179,.180,.181,.180,.180,.188,.198,.209,.217,.224,.229,.232,.234,.235,.234,.233,.228,.222,.215,.207,.199,.190,.180,.163,.148,.135,.124,.105,.0913,.0803,.0715,.0643,.0584,.0534,.0492,.0456,.0424,.0397,.0361,.0332,.0299,.0272,.0249,.0230,.0213,.0196,.0181,.0156,.0138,.0124,.0112,.0102,.00938,.00868,.00756,.00669,.00600,.00544,.00497,.00458,.00425,.00396]
# 3 1P RESONANCE RADIATION J=1 53.703 NM OSC STRENGTH F=0.07342
X31P=[23.08702,23.1,23.15,23.2,23.25,23.3,23.35,23.4,23.45,23.5,23.54,23.56,23.60,23.64,23.68,23.7,23.75,23.80,23.88,23.9,23.95,24.0,24.05,24.1,24.15,24.2,24.3,24.4,24.5,24.6,24.7,24.8,25.0,25.2,25.4,25.6,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,900.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.,3400.,3800.,4200.,4600.,5000.,5500.,6000.,6500.,7000.,8000.,9000.,10000.]
Y31P=[0.00,.114,.129,.137,.137,.134,.131,.130,.128,.129,.117,.127,.122,.163,.146,.150,.191,.180,.226,.224,.218,.230,.245,.253,.265,.274,.294,.308,.330,.360,.373,.382,.397,.409,.418,.423,.434,.469,.516,.577,.648,.723,.808,.941,1.07,1.20,1.32,1.43,1.54,1.64,1.74,1.82,1.90,1.97,2.04,2.10,2.15,2.27,2.35,2.42,2.47,2.50,2.52,2.53,2.53,2.52,2.50,2.47,2.42,2.33,2.24,2.14,2.06,1.97,1.90,1.82,1.76,1.64,1.53,1.44,1.36,1.29,1.21,1.15,1.08,1.03,.982,.938,.862,.799,.745,.699,.658,.623,.563,.514,.474,.440,.411,.386,.364,.344,.312,.285,.263,.244,.228,.211,.197,.184,.173,.155,.140,.128]
# 4 3S J=1
X43S=[23.59396,23.62,23.65,23.7,23.8,23.9,24.0,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.]
Y43S=[0.0,.314,.304,.292,.276,.266,.260,.243,.238,.234,.227,.212,.195,.178,.162,.147,.133,.121,.110,.100,.0911,.0832,.0761,.0697,.0640,.0589,.0543,.0464,.0399,.0346,.0301,.0264,.0225,.0194,.0168,.0147,.0113,.00894,.00718,.00585,.00483,.00403,.00289,.00214,.00164,.00127,.00101,8.17e-4,6.69e-4,5.55e-4,4.66e-4,3.94e-4,3.37e-4,2.90e-4,2.19e-4,1.70e-4,1.34e-4,1.08e-4,8.81e-5]
# 4 1S J=0
X41S=[23.67357,23.7,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,65.0,70.0,75.0,80.0,90.0,100.,110.,120.,130.,140.,160.,180.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y41S=[0.0,.109,.110,.111,.112,.121,.128,.133,.138,.141,.143,.146,.148,.147,.146,.144,.139,.134,.129,.123,.118,.113,.108,.103,.0990,.0922,.0868,.0823,.0786,.0753,.0725,.0677,.0636,.0601,.0527,.0469,.0422,.0382,.0349,.0322,.0277,.0243,.0216,.0195,.0177,.0150,.0130,.0114,.0102,.00925,.00845,.00777,.00719,.00669,.00626]
# 4 3P J=2,1,0
X43P=[23.70789,23.75,23.8,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.]
Y43P=[0.0,.085,.110,.118,.152,.177,.194,.205,.211,.215,.215,.209,.200,.189,.178,.167,.156,.146,.136,.127,.110,.0962,.0840,.0736,.0647,.0553,.0475,.0410,.0356,.0310,.0271,.0210,.0165,.0132,.0106,.00865,.00713,.00593,.00498,.00421,.00359,.00266,.00202,.00156,.00123,9.88e-4,8.03e-4,6.60e-4,5.49e-4,4.61e-4,3.90e-4,2.87e-4,2.17e-4,1.67e-4,1.32e-4,1.06e-4,8.18e-5,6.46e-5,5.18e-5,4.22e-5,3.48e-5,2.90e-5,2.45e-5,2.08e-5,1.54e-5,1.17e-5,9.13e-6,7.25e-6,4.78e-6,3.32e-6,2.39e-6,1.78e-6,1.36e-6,1.07e-6,8.50e-7,6.88e-7]
# 4 3D J=3,2,1
X43D=[23.73609,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1500.,1600.]
Y43D=[.0,.0288,.0363,.0407,.0575,.0646,.0681,.0692,.069,.0675,.0629,.0573,.0516,.0461,.0411,.0365,.0325,.0290,.0258,.0231,.0186,.0151,.0123,.0102,.00847,.00681,.00554,.00455,.00378,.00316,.00267,.00194,.00145,.00111,8.61e-4,6.81e-4,5.47e-4,3.66e-4,2.55e-4,1.84e-4,1.37e-4,1.04e-4,8.08e-5,6.39e-5,4.18e-5,2.87e-5,2.05e-5,1.51e-5,1.14e-5,8.32e-6,6.24e-6,4.79e-6,3.75e-6,3.00e-6,2.43e-6,1.99e-6,1.65e-6,1.39e-6,1.18e-6,8.66e-7,6.55e-7,5.08e-7,4.01e-7,3.22e-7,2.63e-7]
# 4 1D J=2
X41D=[23.73633,23.8,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,44.0,48.0,52.0,56.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,160.,180.,200.,220.,240.,260.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,800.,900.,1000.,1100.,1200.]
Y41D=[0.0,.0791,.0799,.0846,.0902,.0959,.102,.107,.112,.120,.127,.131,.134,.136,.136,.134,.131,.126,.121,.116,.112,.107,.102,.0978,.0927,.0880,.0836,.0796,.0724,.0663,.0610,.0564,.0489,.0430,.0384,.0346,.0314,.0288,.0246,.0215,.0190,.0171,.0155,.0142,.0128,.0117,.0107,.00990,.00860,.00760,.00681,.00616,.00563]
# 4 3F J=3,4,2
X43F=[23.73701,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.]
Y43F=[0.0,.0357,.0318,.0289,.0161,.0117,.00922,.00760,.00642,.00550,.00478,.00418,.00369,.00327,.00291,.00261,.00234,.00211,.00191,.00173,.00144,.00121,.00102,8.68e-4,7.44e-4,5.57e-4,4.25e-4,3.30e-4,2.61e-4,2.09e-4,1.61e-4,1.26e-4,9.98e-5,8.03e-5,6.53e-5,5.36e-5,3.72e-5,2.66e-5,1.96e-5,1.47e-5]
# 4 1F J=3
X41F=[23.73701,23.8,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,58.0,62.0,66.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,340.,380.,420.,460.,500.,550.,600.,650.,700.,750.,800.,900.,1000.]
Y41F=[0.0,.0175,.0172,.0160,.0149,.0139,.0130,.0122,.0114,.0108,.0102,.00909,.00819,.00742,.00677,.00619,.00569,.00525,.00487,.00452,.00393,.00346,.00307,.00274,.00246,.00217,.00193,.00173,.00156,.00142,.00129,.00108,9.24e-4,7.99e-4,6.99e-4,6.17e-4,5.50e-4,4.47e-4,3.73e-4,3.19e-4,2.77e-4,2.45e-4,2.19e-4,1.99e-4,1.67e-4,1.45e-4,1.28e-4,1.15e-4,1.04e-4,9.39e-5,8.55e-5,7.86e-5,78.27e-5,6.78e-5,6.35e-5,5.63e-5,5.07e-5]
# 4 1P RESONANCE RADIATION J=1 52.222 NM OSC STRENGTH F=0.02986
X41P=[23.74207,23.8,23.9,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0,60.0,64.0,68.0,72.0,76.0,80.0,85.0,90.0,95.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,240.,260.,280.,300.,320.,340.,360.,380.,400.,440.,480.,520.,560.,600.,640.,680.,720.,760.,800.,850.,900.,950.,1000.,1100.,1200.,1300.,1400.,1600.,1800.,2000.,2200.,2400.,2600.,2800.,3000.,3400.,3800.,4200.,4600.,5000.,5500.,6000.,6500.,7000.,7500.,8000.,9000.,10000.]
Y41P=[0.00,.0147,.0242,.0334,.107,.158,.196,.227,.255,.281,.307,.333,.360,.387,.414,.442,.470,.498,.526,.553,.606,.657,.704,.748,.789,.826,.860,.891,.919,.944,.986,1.02,1.05,1.06,1.08,1.09,1.10,1.10,1.10,1.09,1.07,1.05,1.03,1.01,.985,.939,.896,.855,.817,.783,.751,.722,.695,.670,.646,.625,.605,.569,.537,.509,.484,.461,.441,.423,.406,.390,.376,.360,.345,.332,.320,.298,.279,.263,.248,.224,.205,.189,.175,.163,.153,.145,.137,.124,.113,.104,.0969,.0905,.0837,.0779,.0729,.0686,.0648,.0614,.0556,.0510]
# 5 1P RESONANCE RADIATION J=1 51.562 NM F=0.01504
# 6 1P RESONANCE RADIATION J=1 51.210 NM F=0.00863
# 7 1P RESONANCE RADIATION J=1 51.000 NM F=0.00540
# 8 1P RESONANCE RADIATION J=1 50.865 NM F=0.00362
# 9 1P RESONANCE RADIATION J=1 50.772 NM F=0.00253
# 10 1P RESONANCE RADIATION J=1 50.706 NM F=0.00184
# 11 1P RESONANCE RADIATION J=1 50.657 NM F=0.00138
# 12 1P RESONANCE RADIATION J=1 50.620 NM F=0.00106
# SUM HIGHER 1P LEVELS RESONANCE RADIATION J=1 F=0.00440
# TOTAL SUM OSCILLATOR STRENGTH = 0.42326
#
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF
Z2T=[42.1,23.5,10.7,5.88,3.25,1.50,.886,.582,.437,.429,.460,.484,.502,.515,.525,.540,.550,.566,.575,.585,.592,.596,.597,.598,.598]
# UNITS 10**-24
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# --------------------------------------------------------------------
if(NANISO == 0):
:
NAME='HE3 ISOTROPIC 2014 '
else:
NAME='HE3 ANISOTROPIC 2014 '
# endif
# --------------------------------------------------------------------
# HELIUM 3 USES SAME X-SECTIONS AS HE 4 WITH CORRECT ATOMIC MASS
# HELIUM 4 BEST KNOWN GAS USED AS STANDARD ACCURACY BETTER THAN 0.2%
# AT ALL FIELDS.
# 2002: UPDATED 1997 TO INCLUDE ANISOTROPIC ELASTIC SCATTTERING
# 2007: INCREASED FILE UP TO 10 MEV
# 2007: NEW ANISTROPIC SCATTERING def INTRODUCED
# 2007: PENNING FRACTION INTRODUCED
# 2010: SPLIT EXCITATION INTO 49 LEVELS.
# 2014: UPDATED IONISATION TO BE CONSISTENT WITH FURSA AND BRAY CCC
# USED MAINLY THE FOLLOWING THEORETICAL EXCITATION X-SECTIONS:
# AT RESONANCE ENERGIES USED RMPS CALCULATIONS OF
# BARTSCHAT J.PHYS B31(1998)L469
# AT HIGHER ENERGIES USED RALCHENKO AT.NUCL TABLES 94(2008)603
# AT HIGHEST ENERGIES FOR RESONANCE DIPOLE TRANSITIONS USED BEF SCALING
# 2013: INTRODUCED IONISATION WITH CHARGE STATE =2
# --------------------------------------------------------------------
#
# BORN-BETHE VALUES FOR IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
AM2=0.489
C=5.50
#
NION=2
NATT=1
NIN=49
NNULL=0
IONMODEL=0
#
NBREM=25
DO 6 J=1,NIN
IZBR[J]=0
6 CONTINUE
IZBR[50]=2
#
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=1,NIN
2 KIN[J]=NANISO
NDATA=144
NIOND=90
N23S=139
N21S=128
N23P=128
N21P=125
N33S=106
N31S=87
N33P=91
N33D=108
N31D=94
N31P=114
N43S=59
N41S=55
N43P=76
N43D=65
N41D=53
N43F=40
N41F=57
N41P=96
E[1]=0.0
E[2]=2.0*EMASS/(3.01600*AMU)
E[3]=24.58739
# ENTER EXCITATION X-SECTION AT 1.4MEV
E[4]=0.5841e-19
# ENTER IONISING X-SECTION AT 1.4MEV
E[5]=0.1271e-18
# ENTER EOBY FOR MINIMUM IONISING PARTICLE
E[6]=10.5
# EOBY AT LOW ENERGY
EOBY[1]=12.0
EOBY[2]=65.0
# IONISATION ENERGIES
EION[1]=24.58739
EION[2]=79.00515
LEGAS[1]=0
LEGAS[2]=0
ISHELL[1]=0
ISHELL[2]=0
# AUGER AND FLUORESCENCE DATA
NC0[1]=0
EC0[1]=0.0
WKLM[1]=0.0
EFL[1]=0.0
NG1[1]=0
EG1[1]=0.0
NG2[1]=0
EG2[1]=0.0
NC0[2]=1
EC0[2]=10.0
WKLM[2]=0.0
EFL[2]=0.0
NG1[2]=0
EG1[2]=0.0
NG2[2]=0
EG2[2]=0.0
#
DO 776 J=1,NION
DO 777 I=1,20000
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=19.81961
EIN[2]=20.61577
EIN[3]=20.96409
EIN[4]=21.21802
EIN[5]=22.71847
EIN[6]=22.92032
EIN[7]=23.00707
EIN[8]=23.07365
EIN[9]=23.07407
EIN[10]=23.08702
EIN[11]=23.59396
EIN[12]=23.67357
EIN[13]=23.70789
EIN[14]=23.73609
EIN[15]=23.73633
EIN[16]=23.73701
EIN[17]=23.73701
EIN[18]=23.74207
EIN[19]=23.97197
EIN[20]=24.01121
EIN[21]=24.02822
EIN[22]=24.04266
EIN[23]=24.04280
EIN[24]=24.04315
EIN[25]=24.04315
EIN[26]=24.04580
EIN[27]=24.16900
EIN[28]=24.19116
EIN[29]=24.20081
EIN[30]=24.20916
EIN[31]=24.20925
EIN[32]=24.21100
EIN[33]=24.28456
EIN[34]=24.29828
EIN[35]=24.30429
EIN[36]=24.30954
EIN[37]=24.30960
EIN[38]=24.31071
EIN[39]=24.35810
EIN[40]=24.36718
EIN[41]=24.37116
EIN[42]=24.37468
EIN[43]=24.37472
EIN[44]=24.37547
EIN[45]=24.41989
EIN[46]=24.45168
EIN[47]=24.47518
EIN[48]=24.49308
EIN[49]=24.50708
EIN[50]=0.0
#***********************************************************************
# ENTER PENNING FRACTION FOR EACH LEVEL
# PENNING FRACTION BETWEEN 0.9 AND 1.0 FOR ALL MIXTURES
DO 50 NL=1,NIN
PENFRA[1,NL]=1.00
# PENNING TRANSFER DISTANCE MICRONS
PENFRA[2,NL]=1.0
# PENNING TRANSFER TIME PICOSECONDS
50 PENFRA[3,NL]=1.0
# HORNBECK MOLNAR MOD
# IF PURE GAS SET TO : 0 FOR FIRST 6 LEVELS 0.25 FOR OTHER LEVELS
# PENFRA(1,1)=0.0
# PENFRA(1,2)=0.0
# PENFRA(1,3)=0.0
# PENFRA(1,4)=0.0
# PENFRA(1,5)=0.0
# PENFRA(1,6)=0.0
#***********************************************************************
if(IPEN == 0):
GO TO 4
DO 3 KDUM=1,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 3
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
3 CONTINUE
4 DO 5 NL=1,NIN
DO 651 I=1,20000
if(EG[I]:
> EIN[NL]) :
IOFFN[NL]=I-1
GO TO 5
# endif
651 CONTINUE
5 CONTINUE
SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC HELIUM 3 '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC HELIUM 3 '
# endif
SCRPT[3]=' IONISATION CHARGE STATE=1 ELOSS= 24.58739'
SCRPT[4]=' IONISATION CHARGE STATE=2 ELOSS= 79.00515'
SCRPT[5]=' ATTACHMENT '
SCRPT[6]=' '
SCRPT[7]=' '
SCRPT[8]=' EXC 23S J=1 METASTABLE ELOSS= 19.81961'
SCRPT[9]=' EXC 21S J=0 METASTABLE ELOSS= 20.61577'
SCRPT[10]=' EXC 23P J=2,1,0 ELOSS= 20.96409'
SCRPT[11]=' EXC 21P J=1 RESONANT ELOSS= 21.21802'
SCRPT[12]=' EXC 33S J=1 ELOSS= 22.71847'
SCRPT[13]=' EXC 31S J=0 ELOSS= 22.92032'
SCRPT[14]=' EXC 33P J=2,1,0 ELOSS= 23.00707'
SCRPT[15]=' EXC 33D J=3,2,1 ELOSS= 23.07365'
SCRPT[16]=' EXC 31D J=2 ELOSS= 23.07407'
SCRPT[17]=' EXC 31P J=1 RESONANT ELOSS= 23.08702'
SCRPT[18]=' EXC 43S J=1 ELOSS= 23.59396'
SCRPT[19]=' EXC 41S J=0 ELOSS= 23.67357'
SCRPT[20]=' EXC 43P J=2,1,0 ELOSS= 23.70789'
SCRPT[21]=' EXC 43D J=3,2,1 ELOSS= 23.73609'
SCRPT[22]=' EXC 41D J=2 ELOSS= 23.73633'
SCRPT[23]=' EXC 43F J=3,4,2 ELOSS= 23.73701'
SCRPT[24]=' EXC 41F J=3 ELOSS= 23.73701'
SCRPT[25]=' EXC 41P J=1 RESONANT ELOSS= 23.74207'
SCRPT[26]=' EXC 53S J=1 ELOSS= 23.97197'
SCRPT[27]=' EXC 51S J=0 ELOSS= 24.01121'
SCRPT[28]=' EXC 53P J=2,1,0 ELOSS= 24.02822'
SCRPT[29]=' EXC 53D J=3,2,1 ELOSS= 24.04266'
SCRPT[30]=' EXC 51D J=2 ELOSS= 24.04280'
SCRPT[31]=' EXC 53F J=3,4,2 ELOSS= 24.04315'
SCRPT[32]=' EXC 513 J=3 ELOSS= 24.04315'
SCRPT[33]=' EXC 51P J=1 RESONANT ELOSS= 24.04580'
SCRPT[34]=' EXC 63S J=1 ELOSS= 24.16900'
SCRPT[35]=' EXC 61S J=0 ELOSS= 24.19116'
SCRPT[36]=' EXC 63P J=2,1,0 ELOSS= 24.20081'
SCRPT[37]=' EXC 63D J=3,2,1 ELOSS= 24.20916'
SCRPT[38]=' EXC 61D J=2 ELOSS= 24.20925'
SCRPT[39]=' EXC 61P J=1 RESONANT ELOSS= 24.21100'
SCRPT[40]=' EXC 73S J=1 ELOSS= 24.28456'
SCRPT[41]=' EXC 71S J=0 ELOSS= 24.29828'
SCRPT[42]=' EXC 73P J=2,1,0 ELOSS= 24.30429'
SCRPT[43]=' EXC 73D J=3,2,1 ELOSS= 24.30954'
SCRPT[44]=' EXC 71D J=2 ELOSS= 24.30960'
SCRPT[45]=' EXC 71P J=1 RESONANT ELOSS= 24.31071'
SCRPT[46]=' EXC N3S SUM HIGH ELOSS= 24.35810'
SCRPT[47]=' EXC N1S SUM HIGH ELOSS= 24.36718'
SCRPT[48]=' EXC N3P SUM HIGH ELOSS= 24.37116'
SCRPT[49]=' EXC N3D SUM HIGH ELOSS= 24.37468'
SCRPT[50]=' EXC N1D SUM HIGH ELOSS= 24.37472'
SCRPT[51]=' EXC 81P J=1 RESONANT ELOSS= 24.37547'
SCRPT[52]=' EXC 91P J=1 RESONANT ELOSS= 24.41989'
SCRPT[53]=' EXC 101P J=1 RESONANT ELOSS= 24.45168'
SCRPT[54]=' EXC 111P J=1 RESONANT ELOSS= 24.47518'
SCRPT[55]=' EXC 121P J=1 RESONANT ELOSS= 24.49308'
SCRPT[56]=' EXC N1P SUM HI RESONANT ELOSS= 24.50708'
SCRPT[57]=' BREMSSTRAHLUNG FROM HELIUM ATOM '
# EN=-ESTEP/2.00
DO 9000 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
if(EN > EIN[1]:
) :
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# endif
DO 10 J=2,N
if(EN <= XEN[J]:
) GO TO 20
10 CONTINUE
J=N
20 A=(YEL[J]-YEL[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEL[J]-XEN[J]*YEL[J-1])/(XEN[J-1]-XEN[J])
QELA=(A*EN+B)*1.0D-16
#
A=(YEM[J]-YEM[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEM[J]-XEN[J]*YEM[J-1])/(XEN[J-1]-XEN[J])
QMOM=(A*EN+B)*1.0D-16
PQ1=0.5+(QELA-QMOM)/QELA
#
A=(YEPS[J]-YEPS[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEPS[J]-XEN[J]*YEPS[J-1])/(XEN[J-1]-XEN[J])
PQ2=A*EN+B
# EPSILON = 1-YEPS
PQ2=1.00-PQ2
#
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
:
Q[2][I]=QMOM
PEQEL[2][I]=0.5
# endif
# GROSS IONISATION
QION[1][I]=0.00
PEQION[1][I]=0.50
if(NANISO == 2):
PEQION[1][I]=0.00
if(EN <= EION[1]:
) GO TO 200
if(EN > XION(NIOND):
) GO TO 121
DO 110 J=2,NIOND
if(EN <= XION[J]:
) GO TO 120
110 CONTINUE
J=NIOND
120 A=(YION[J]-YION[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YION[J]-XION[J]*YION[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 122
# USE BORN-BETHE X-SECTION ABOVE XION(NIOND) EV
121 AX2=1.00/BETA2
AX1=AX2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)/0.995
122 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFFSET BY
# IONISATION ENERGY
if(EN <= (2.0*EION[1]:
)) GO TO 200
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# ATTACHMENT
200 Q[4][I]=0.00
# COUNTING IONISATION
Q[5][I]=0.00
PEQION[2][I]=0.50
if(NANISO == 2):
PEQION[2][I]=0.00
if(EN <= EION[1]:
) GO TO 250
if(EN > XION(NIOND):
) GO TO 241
DO 230 J=2,NIOND
if(EN <= XION[J]:
) GO TO 240
230 CONTINUE
J=NIOND
240 A=(YINC[J]-YINC[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YINC[J]-XION[J]*YINC[J-1])/(XION[J-1]-XION[J])
Q[5][I]=(A*EN+B)*1.0D-16
GO TO 242
# USE BORN-BETHE X-SECTION ABOVE XION(NIOND) EV
241 Q[5][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)
242 CONTINUE
if(EN <= (2.00*EION[2]:
)) GO TO 250
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
250 Q[6][I]=0.00
#
QTEMP1=2.0*Q[5][I]-QION[1][I]
QTEMP2=QION[1][I]-Q[5][I]
QION[1][I]=QTEMP1
QION[2][I]=QTEMP2
if(QION[2][I]:
< 0.0) QION[2][I]=0.0
#
DO 251 NL=1,NIN+1
QIN(NL,I)=0.00
PEQIN(NL,I)=0.50
if(NANISO == 2):
:
PEQIN(NL,I)=0.00
# endif
251 CONTINUE
#
# 2 3S
if(EN <= EIN[1]:
) GO TO 2000
if(EN > X23S(N23S):
) GO TO 311
DO 300 J=2,N23S
if(EN <= X23S[J]:
) GO TO 310
300 CONTINUE
J=N23S
310 A=(Y23S[J]-Y23S[J-1])/(X23S[J]-X23S[J-1])
B=(X23S[J-1]*Y23S[J]-X23S[J]*Y23S[J-1])/(X23S[J-1]-X23S[J])
QIN[1][I]=(A*EN+B)*1.e-18
GO TO 312
# IF ENERGY GT X23S(N23S) EV SCALE BY 1/E**3
311 QIN[1][I]=Y23S(N23S)*(X23S(N23S)/EN)**3*1.e-18
312 if(EN <= (2.0*EIN[1])) GO TO 320
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]
#
# 2 1S
320 if(EN <= EIN[2]) GO TO 2000
if(EN > X21S(N21S):
) GO TO 341
DO 330 J=2,N21S
if(EN <= X21S[J]:
) GO TO 340
330 CONTINUE
J=N21S
340 A=(Y21S[J]-Y21S[J-1])/(X21S[J]-X21S[J-1])
B=(X21S[J-1]*Y21S[J]-X21S[J]*Y21S[J-1])/(X21S[J-1]-X21S[J])
QIN[2][I]=(A*EN+B)*1.e-18
GO TO 342
# IF ENERGY GT X21S(N21S) EV SCALE BY 1/E
341 QIN[2][I]=Y21S(N21S)*(X21S(N21S)/EN)*1.e-18
342 if(EN <= (2.0*EIN[2])) GO TO 350
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]#
# 2 3P
350 if(EN <= EIN[3]) GO TO 2000
if(EN > X23P(N23P):
) GO TO 371
DO 360 J=2,N23P
if(EN <= X23P[J]:
) GO TO 370
360 CONTINUE
J=N23P
370 A=(Y23P[J]-Y23P[J-1])/(X23P[J]-X23P[J-1])
B=(X23P[J-1]*Y23P[J]-X23P[J]*Y23P[J-1])/(X23P[J-1]-X23P[J])
QIN[3][I]=(A*EN+B)*1.e-18
GO TO 372
# IF ENERGY GT X23P(N23P) EV SCALE BY 1/E**3
371 QIN[3][I]=Y23P(N23P)*(X23P(N23P)/EN)**3*1.e-18
372 if(EN <= (2.0*EIN[3])) GO TO 380
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]#
# 2 1P OSC STRENGTH F=0.27608
380 if(EN <= EIN[4]) GO TO 2000
if(EN > X21P(N21P):
) GO TO 401
DO 390 J=2,N21P
if(EN <= X21P[J]:
) GO TO 400
390 CONTINUE
J=N21P
400 A=(Y21P[J]-Y21P[J-1])/(X21P[J]-X21P[J-1])
B=(X21P[J-1]*Y21P[J]-X21P[J]*Y21P[J-1])/(X21P[J-1]-X21P[J])
QIN[4][I]=(A*EN+B)*1.e-18
GO TO 402
# IF ENERGY GT X21P(N21P) EV : USE BEF SCALING
401 QIN[4][I]=0.27608/(EIN[4]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[4]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[4]+E[3])
402 if(EN <= (2.0*EIN[4])) GO TO 410
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]#
# 3 3S
410 if(EN <= EIN[5]) GO TO 2000
if(EN > X33S(N33S):
) GO TO 431
DO 420 J=2,N33S
if(EN <= X33S[J]:
) GO TO 430
420 CONTINUE
J=N33S
430 A=(Y33S[J]-Y33S[J-1])/(X33S[J]-X33S[J-1])
B=(X33S[J-1]*Y33S[J]-X33S[J]*Y33S[J-1])/(X33S[J-1]-X33S[J])
QIN[5][I]=(A*EN+B)*1.e-18
GO TO 432
# IF ENERGY GT X33S(N33S) EV SCALE BY 1/E**3
431 QIN[5][I]=Y33S(N33S)*(X33S(N33S)/EN)**3*1.e-18
432 if(EN <= (2.0*EIN[5])) GO TO 440
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))]#
# 3 1S
440 if(EN <= EIN[6]) GO TO 2000
if(EN > X31S(N31S):
) GO TO 461
DO 450 J=2,N31S
if(EN <= X31S[J]:
) GO TO 460
450 CONTINUE
J=N31S
460 A=(Y31S[J]-Y31S[J-1])/(X31S[J]-X31S[J-1])
B=(X31S[J-1]*Y31S[J]-X31S[J]*Y31S[J-1])/(X31S[J-1]-X31S[J])
QIN[6][I]=(A*EN+B)*1.e-18
GO TO 462
# IF ENERGY GT X31S(N31S) EV SCALE BY 1/E
461 QIN[6][I]=Y31S(N31S)*(X31S(N31S)/EN)*1.e-18
462 if(EN <= (2.0*EIN[6])) GO TO 470
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]#
# 3 3P
470 if(EN <= EIN[7]) GO TO 2000
if(EN > X33P(N33P):
) GO TO 491
DO 480 J=2,N33P
if(EN <= X33P[J]:
) GO TO 490
480 CONTINUE
J=N33P
490 A=(Y33P[J]-Y33P[J-1])/(X33P[J]-X33P[J-1])
B=(X33P[J-1]*Y33P[J]-X33P[J]*Y33P[J-1])/(X33P[J-1]-X33P[J])
QIN[7][I]=(A*EN+B)*1.e-18
GO TO 492
# IF ENERGY GT X33P(N33P) EV SCALE BY 1/E**3
491 QIN[7][I]=Y33P(N33P)*(X33P(N33P)/EN)*1.e-18
492 if(EN <= (2.0*EIN[7])) GO TO 500
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]#
# 3 3D
500 if(EN <= EIN[8]) GO TO 2000
if(EN > X33D[N33D]):
GO TO 521
DO 510 J=2,N33D
if(EN <= X33D[J]):
GO TO 520
510 CONTINUE
J=N33D
520 A=(Y33D[J]-Y33D[J-1])/(X33D[J]-X33D[J-1])
B=(X33D[J-1]*Y33D[J]-X33D[J]*Y33D[J-1])/(X33D[J-1]-X33D[J])
QIN[8][I]=(A*EN+B)*1.e-18
GO TO 522
# IF ENERGY GT X33D[N33D] EV SCALE BY 1/E**3
521 QIN[8][I]=Y33D[N33D]*(X33D[N33D]/EN)*1.e-18
522 if(EN <= (2.0*EIN[8])) GO TO 530
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]#
# 3 1D
530 if(EN <= EIN[9]) GO TO 2000
if(EN > X31D[N31D]):
GO TO 551
DO 540 J=2,N31D
if(EN <= X31D[J]):
GO TO 550
540 CONTINUE
J=N31D
550 A=(Y31D[J]-Y31D[J-1])/(X31D[J]-X31D[J-1])
B=(X31D[J-1]*Y31D[J]-X31D[J]*Y31D[J-1])/(X31D[J-1]-X31D[J])
QIN[9][I]=(A*EN+B)*1.e-18
GO TO 552
# IF ENERGY GT X31D[N31D] EV SCALE BY 1/E
551 QIN[9][I]=Y31D[N31D]*(X31D[N31D]/EN)*1.e-18
552 if(EN <= (2.0*EIN[9])) GO TO 560
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]#
# 3 1P OSC STRENGTH F=0.07342
560 if(EN <= EIN[10]) GO TO 2000
if(EN > X31P(N31P):
) GO TO 581
DO 570 J=2,N31P
if(EN <= X31P[J]:
) GO TO 580
570 CONTINUE
J=N31P
580 A=(Y31P[J]-Y31P[J-1])/(X31P[J]-X31P[J-1])
B=(X31P[J-1]*Y31P[J]-X31P[J]*Y31P[J-1])/(X31P[J-1]-X31P[J])
QIN[10][I]=(A*EN+B)*1.e-18
GO TO 582
# IF ENERGY GT X31P(N31P) EV : USE BEF SCALING
581 QIN[10][I]=0.07342/(EIN[10]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[10]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[10]+E[3])
582 if(EN <= (2.0*EIN[10])) GO TO 590
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
#
# 4 3S
590 if(EN <= EIN[11]) GO TO 2000
if(EN > X43S(N43S):
) GO TO 611
DO 600 J=2,N43S
if(EN <= X43S[J]:
) GO TO 610
600 CONTINUE
J=N43S
610 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[11][I]=(A*EN+B)*1.e-18
GO TO 612
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
611 QIN[11][I]=Y43S(N43S)*(X43S(N43S)/EN)**3*1.e-18
612 if(EN <= (2.0*EIN[11])) GO TO 620
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
#
# 4 1S
620 if(EN <= EIN[12]) GO TO 2000
if(EN > X41S(N41S):
) GO TO 641
DO 630 J=2,N41S
if(EN <= X41S[J]:
) GO TO 640
630 CONTINUE
J=N41S
640 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[12][I]=(A*EN+B)*1.e-18
GO TO 642
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
641 QIN[12][I]=Y41S(N41S)*(X41S(N41S)/EN)*1.e-18
642 if(EN <= (2.0*EIN[12])) GO TO 650
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
#
# 4 3P
650 if(EN <= EIN[13]) GO TO 2000
if(EN > X43P(N43P):
) GO TO 671
DO 660 J=2,N43P
if(EN <= X43P[J]:
) GO TO 670
660 CONTINUE
J=N43P
670 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[13][I]=(A*EN+B)*1.e-18
GO TO 672
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
671 QIN[13][I]=Y43P(N43P)*(X43P(N43P)/EN)**3*1.e-18
672 if(EN <= (2.0*EIN[13])) GO TO 680
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
#
# 4 3D
680 if(EN <= EIN[14]) GO TO 2000
if(EN > X43D[N43D]):
GO TO 701
DO 690 J=2,N43D
if(EN <= X43D[J]):
GO TO 700
690 CONTINUE
J=N43P
700 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[14][I]=(A*EN+B)*1.e-18
GO TO 702
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
701 QIN[14][I]=Y43D[N43D]*(X43D[N43D]/EN)**3*1.e-18
702 if(EN <= (2.0*EIN[14])) GO TO 710
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
#
# 4 1D
710 if(EN <= EIN[15]) GO TO 2000
if(EN > X41D[N41D]):
GO TO 731
DO 720 J=2,N41D
if(EN <= X41D[J]):
GO TO 730
720 CONTINUE
J=N41D
730 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[15][I]=(A*EN+B)*1.e-18
GO TO 732
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
731 QIN[15][I]=Y41D[N41D]*(X41D[N41D]/EN)*1.e-18
732 if(EN <= (2.0*EIN[15])) GO TO 740
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
#
# 4 3F
740 if(EN <= EIN[16]) GO TO 2000
if(EN > X43F(N43F):
) GO TO 761
DO 750 J=2,N43F
if(EN <= X43F[J]:
) GO TO 760
750 CONTINUE
J=N43F
760 A=(Y43F[J]-Y43F[J-1])/(X43F[J]-X43F[J-1])
B=(X43F[J-1]*Y43F[J]-X43F[J]*Y43F[J-1])/(X43F[J-1]-X43F[J])
QIN[16][I]=(A*EN+B)*1.e-18
GO TO 762
# IF ENERGY GT X43F(N43F) EV SCALE BY 1/E**4
761 QIN[16][I]=Y43F(N43F)*(X43F(N43F)/EN)**4*1.e-18
762 if(EN <= (2.0*EIN[16])) GO TO 770
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
#
# 4 1F
770 if(EN <= EIN[17]) GO TO 2000
if(EN > X41F(N41F):
) GO TO 791
DO 780 J=2,N41F
if(EN <= X41F[J]:
) GO TO 790
780 CONTINUE
J=N41F
790 A=(Y41F[J]-Y41F[J-1])/(X41F[J]-X41F[J-1])
B=(X41F[J-1]*Y41F[J]-X41F[J]*Y41F[J-1])/(X41F[J-1]-X41F[J])
QIN[17][I]=(A*EN+B)*1.e-18
GO TO 792
# IF ENERGY GT X41F(N41F) EV SCALE BY 1/E
791 QIN[17][I]=Y41F(N41F)*(X41F(N41F)/EN)*1.e-18
792 if(EN <= (2.0*EIN[17])) GO TO 800
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
#
# 4 1P OSC STRENGTH F=0.02986
800 if(EN <= EIN[18]) GO TO 2000
if(EN > X41P(N41P):
) GO TO 821
DO 810 J=2,N41P
if(EN <= X41P[J]:
) GO TO 820
810 CONTINUE
J=N41P
820 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[18][I]=(A*EN+B)*1.e-18
GO TO 822
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
821 QIN[18][I]=0.02986/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])
822 if(EN <= (2.0*EIN[18])) GO TO 830
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
#
# 5 3S SCALED FROM 4 3S
830 if(EN <= EIN[19]) GO TO 2000
ER=EIN[19]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 851
DO 840 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 850
840 CONTINUE
J=N43S
850 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[19][I]=0.512*(A*ENP+B)*1.e-18
GO TO 852
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
851 QIN[19][I]=0.512*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
852 if(EN <= (2.0*EIN[19])) GO TO 860
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
#
# 5 1S SCALED FROM 4 1S
860 if(EN <= EIN[20]) GO TO 2000
ER=EIN[20]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 881
DO 870 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 880
870 CONTINUE
J=N41S
880 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[20][I]=0.512*(A*ENP+B)*1.e-18
GO TO 882
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
881 QIN[20][I]=0.512*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
882 if(EN <= (2.0*EIN[20])) GO TO 890
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
#
# 5 3P SCALED FROM 4 3P
890 if(EN <= EIN[21]) GO TO 2000
ER=EIN[21]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 911
DO 900 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 910
900 CONTINUE
J=N43P
910 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[21][I]=0.512*(A*ENP+B)*1.e-18
GO TO 912
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
911 QIN[21][I]=0.512*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
912 if(EN <= (2.0*EIN[21])) GO TO 920
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
#
# 5 3D SCALED FROM 4 3D
920 if(EN <= EIN[22]) GO TO 2000
ER=EIN[22]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 941
DO 930 J=2,N43D
if(ENP <= X43D[J]):
GO TO 940
930 CONTINUE
J=N43P
940 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[22][I]=0.512*(A*ENP+B)*1.e-18
GO TO 942
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
941 QIN[22][I]=0.512*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
942 if(EN <= (2.0*EIN[22])) GO TO 950
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
#
# 5 1D SCALED FROM 4 1D
950 if(EN <= EIN[23]) GO TO 2000
ER=EIN[23]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 971
DO 960 J=2,N41D
if(ENP <= X41D[J]):
GO TO 970
960 CONTINUE
J=N41D
970 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[23][I]=0.512*(A*ENP+B)*1.e-18
GO TO 972
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
971 QIN[23][I]=0.512*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
972 if(EN <= (2.0*EIN[23])) GO TO 980
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
#
# 5 3F SCALED FROM 4 3F
980 if(EN <= EIN[24]) GO TO 2000
ER=EIN[24]/EIN[16]
ENP=EN/ER
if(ENP > X43F(N43F):
) GO TO 1001
DO 990 J=2,N43F
if(ENP <= X43F[J]:
) GO TO 1000
990 CONTINUE
J=N43F
1000 A=(Y43F[J]-Y43F[J-1])/(X43F[J]-X43F[J-1])
B=(X43F[J-1]*Y43F[J]-X43F[J]*Y43F[J-1])/(X43F[J-1]-X43F[J])
QIN[24][I]=0.512*(A*ENP+B)*1.e-18
GO TO 1002
# IF ENERGY GT X43F(N43F) EV SCALE BY 1/E**4
1001 QIN[24][I]=0.512*Y43F(N43F)*(X43F(N43F)/ENP)**4*1.e-18
1002 if(EN <= (2.0*EIN[24])) GO TO 1010
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
#
# 5 1F SCALED FROM 4 1F
1010 if(EN <= EIN[25]) GO TO 2000
ER=EIN[25]/EIN[17]
ENP=EN/ER
if(ENP > X41F(N41F):
) GO TO 1031
DO 1020 J=2,N41F
if(ENP <= X41F[J]:
) GO TO 1030
1020 CONTINUE
J=N41F
1030 A=(Y41F[J]-Y41F[J-1])/(X41F[J]-X41F[J-1])
B=(X41F[J-1]*Y41F[J]-X41F[J]*Y41F[J-1])/(X41F[J-1]-X41F[J])
QIN[25][I]=0.512*(A*ENP+B)*1.e-18
GO TO 1032
# IF ENERGY GT X41F(N41F) EV SCALE BY 1/E
1031 QIN[25][I]=0.512*Y41F(N41F)*(X41F(N41F)/ENP)*1.e-18
1032 if(EN <= (2.0*EIN[25])) GO TO 1040
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
#
# 5 1P SCALED FROM 4 1P OSC STRENGTH F=0.01504
1040 if(EN <= EIN[26]) GO TO 2000
ER=EIN[26]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1061
DO 1050 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1060
1050 CONTINUE
J=N41P
1060 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[26][I]=0.01504/0.02986*(A*ENP+B)*1.e-18
GO TO 1062
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1061 QIN[26][I]=0.01504/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])
1062 if(EN <= (2.0*EIN[26])) GO TO 1070
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
#
# 6 3S SCALED FROM 4 3S
1070 if(EN <= EIN[27]) GO TO 2000
ER=EIN[27]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 1091
DO 1080 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 1090
1080 CONTINUE
J=N43S
1090 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[27][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1092
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
1091 QIN[27][I]=0.296*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
1092 if(EN <= (2.0*EIN[27])) GO TO 1100
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
#
# 6 1S SCALED FROM 4 1S
1100 if(EN <= EIN[28]) GO TO 2000
ER=EIN[28]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 1121
DO 1110 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 1120
1110 CONTINUE
J=N41S
1120 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[28][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1122
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
1121 QIN[28][I]=0.296*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
1122 if(EN <= (2.0*EIN[28])) GO TO 1130
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
#
# 6 3P SCALED FROM 4 3P
1130 if(EN <= EIN[29]) GO TO 2000
ER=EIN[29]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 1151
DO 1140 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 1150
1140 CONTINUE
J=N43P
1150 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[29][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1152
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
1151 QIN[29][I]=0.296*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
1152 if(EN <= (2.0*EIN[29])) GO TO 1160
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
#
# 6 3D SCALED FROM 4 3D
1160 if(EN <= EIN[30]) GO TO 2000
ER=EIN[30]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 1181
DO 1170 J=2,N43D
if(ENP <= X43D[J]):
GO TO 1180
1170 CONTINUE
J=N43P
1180 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[30][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1182
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
1181 QIN[30][I]=0.296*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
1182 if(EN <= (2.0*EIN[30])) GO TO 1190
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
#
# 6 1D SCALED FROM 4 1D
1190 if(EN <= EIN[31]) GO TO 2000
ER=EIN[31]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 1211
DO 1200 J=2,N41D
if(ENP <= X41D[J]):
GO TO 1210
1200 CONTINUE
J=N41D
1210 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[31][I]=0.296*(A*ENP+B)*1.e-18
GO TO 1212
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
1211 QIN[31][I]=0.296*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
1212 if(EN <= (2.0*EIN[31])) GO TO 1220
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
#
# 6 1P SCALED FROM 4 1P OSC STRENGTH F=0.00863
1220 if(EN <= EIN[32]) GO TO 2000
ER=EIN[32]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1241
DO 1230 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1240
1230 CONTINUE
J=N41P
1240 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[32][I]=0.00863/0.02986*(A*ENP+B)*1.e-18
GO TO 1242
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1241 QIN[32][I]=0.00863/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])
1242 if(EN <= (2.0*EIN[32])) GO TO 1250
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
#
# 7 3S SCALED FROM 4 3S
1250 if(EN <= EIN[33]) GO TO 2000
ER=EIN[33]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 1271
DO 1260 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 1270
1260 CONTINUE
J=N43S
1270 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[33][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1272
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
1271 QIN[33][I]=0.187*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
1272 if(EN <= (2.0*EIN[33])) GO TO 1280
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
#
# 7 1S SCALED FROM 4 1S
1280 if(EN <= EIN[34]) GO TO 2000
ER=EIN[34]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 1301
DO 1290 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 1300
1290 CONTINUE
J=N41S
1300 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[34][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1302
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
1301 QIN[34][I]=0.187*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
1302 if(EN <= (2.0*EIN[34])) GO TO 1310
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
#
# 7 3P SCALED FROM 4 3P
1310 if(EN <= EIN[35]) GO TO 2000
ER=EIN[35]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 1331
DO 1320 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 1330
1320 CONTINUE
J=N43P
1330 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[35][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1332
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
1331 QIN[35][I]=0.187*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
1332 if(EN <= (2.0*EIN[35])) GO TO 1340
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
#
# 7 3D SCALED FROM 4 3D
1340 if(EN <= EIN[36]) GO TO 2000
ER=EIN[36]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 1361
DO 1350 J=2,N43D
if(ENP <= X43D[J]):
GO TO 1360
1350 CONTINUE
J=N43P
1360 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[36][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1362
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
1361 QIN[36][I]=0.187*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
1362 if(EN <= (2.0*EIN[36])) GO TO 1370
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
#
# 7 1D SCALED FROM 4 1D
1370 if(EN <= EIN[37]) GO TO 2000
ER=EIN[37]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 1391
DO 1380 J=2,N41D
if(ENP <= X41D[J]):
GO TO 1390
1380 CONTINUE
J=N41D
1390 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[37][I]=0.187*(A*ENP+B)*1.e-18
GO TO 1392
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
1391 QIN[37][I]=0.187*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
1392 if(EN <= (2.0*EIN[37])) GO TO 1400
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
#
# 7 1P SCALED FROM 4 1P OSC STRENGTH F=0.00540
1400 if(EN <= EIN[38]) GO TO 2000
ER=EIN[38]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1421
DO 1410 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1420
1410 CONTINUE
J=N41P
1420 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[38][I]=0.00540/0.02986*(A*ENP+B)*1.e-18
GO TO 1422
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1421 QIN[38][I]=0.00540/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+E[3])
1422 if(EN <= (2.0*EIN[38])) GO TO 1430
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
#
# SUM 3S LEVELS FROM 8 3S HIGHER AND SCALED FROM 4 3S
1430 if(EN <= EIN[39]) GO TO 2000
ER=EIN[39]/EIN[11]
ENP=EN/ER
if(ENP > X43S(N43S):
) GO TO 1451
DO 1440 J=2,N43S
if(ENP <= X43S[J]:
) GO TO 1450
1440 CONTINUE
J=N43S
1450 A=(Y43S[J]-Y43S[J-1])/(X43S[J]-X43S[J-1])
B=(X43S[J-1]*Y43S[J]-X43S[J]*Y43S[J-1])/(X43S[J-1]-X43S[J])
QIN[39][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1452
# IF ENERGY GT X43S(N43S) EV SCALE BY 1/E**3
1451 QIN[39][I]=0.553*Y43S(N43S)*(X43S(N43S)/ENP)**3*1.e-18
1452 if(EN <= (2.0*EIN[39])) GO TO 1460
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
#
# SUM 1S LEVELS FROM 8 1S HIGHER AND SCALED FROM 4 1S
1460 if(EN <= EIN[40]) GO TO 2000
ER=EIN[40]/EIN[12]
ENP=EN/ER
if(ENP > X41S(N41S):
) GO TO 1481
DO 1470 J=2,N41S
if(ENP <= X41S[J]:
) GO TO 1480
1470 CONTINUE
J=N41S
1480 A=(Y41S[J]-Y41S[J-1])/(X41S[J]-X41S[J-1])
B=(X41S[J-1]*Y41S[J]-X41S[J]*Y41S[J-1])/(X41S[J-1]-X41S[J])
QIN[40][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1482
# IF ENERGY GT X41S(N41S) EV SCALE BY 1/E
1481 QIN[40][I]=0.553*Y41S(N41S)*(X41S(N41S)/ENP)*1.e-18
1482 if(EN <= (2.0*EIN[40])) GO TO 1490
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
#
# SUM 3P LEVELS FROM 8 3P HIGHER AND SCALED FROM 4 3P
1490 if(EN <= EIN[41]) GO TO 2000
ER=EIN[41]/EIN[13]
ENP=EN/ER
if(ENP > X43P(N43P):
) GO TO 1511
DO 1500 J=2,N43P
if(ENP <= X43P[J]:
) GO TO 1510
1500 CONTINUE
J=N43P
1510 A=(Y43P[J]-Y43P[J-1])/(X43P[J]-X43P[J-1])
B=(X43P[J-1]*Y43P[J]-X43P[J]*Y43P[J-1])/(X43P[J-1]-X43P[J])
QIN[41][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1512
# IF ENERGY GT X43P(N43P) EV SCALE BY 1/E**3
1511 QIN[41][I]=0.553*Y43P(N43P)*(X43P(N43P)/ENP)**3*1.e-18
1512 if(EN <= (2.0*EIN[41])) GO TO 1520
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
#
# SUM 3D LEVELS FROM 8 3D HIGHER AND SCALED FROM 4 3D
1520 if(EN <= EIN[42]) GO TO 2000
ER=EIN[42]/EIN[14]
ENP=EN/ER
if(ENP > X43D[N43D]):
GO TO 1541
DO 1530 J=2,N43D
if(ENP <= X43D[J]):
GO TO 1540
1530 CONTINUE
J=N43P
1540 A=(Y43D[J]-Y43D[J-1])/(X43D[J]-X43D[J-1])
B=(X43D[J-1]*Y43D[J]-X43D[J]*Y43D[J-1])/(X43D[J-1]-X43D[J])
QIN[42][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1542
# IF ENERGY GT X43D[N43D] EV SCALE BY 1/E**3
1541 QIN[42][I]=0.553*Y43D[N43D]*(X43D[N43D]/ENP)**3*1.e-18
1542 if(EN <= (2.0*EIN[42])) GO TO 1550
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
#
# SUM 1D LEVELS FROM 8 1D HIGHER AND SCALED FROM 4 1D
1550 if(EN <= EIN[43]) GO TO 2000
ER=EIN[43]/EIN[15]
ENP=EN/ER
if(ENP > X41D[N41D]):
GO TO 1571
DO 1560 J=2,N41D
if(ENP <= X41D[J]):
GO TO 1570
1560 CONTINUE
J=N41D
1570 A=(Y41D[J]-Y41D[J-1])/(X41D[J]-X41D[J-1])
B=(X41D[J-1]*Y41D[J]-X41D[J]*Y41D[J-1])/(X41D[J-1]-X41D[J])
QIN[43][I]=0.553*(A*ENP+B)*1.e-18
GO TO 1572
# IF ENERGY GT X41D[N41D] EV SCALE BY 1/E
1571 QIN[43][I]=0.553*Y41D[N41D]*(X41D[N41D]/ENP)*1.e-18
1572 if(EN <= (2.0*EIN[43])) GO TO 1580
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
#
# 8 1P SCALED FROM 4 1P OSC STRENGTH F=0.00362
1580 if(EN <= EIN[44]) GO TO 2000
ER=EIN[44]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1601
DO 1590 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1600
1590 CONTINUE
J=N41P
1600 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[44][I]=0.00362/0.02986*(A*ENP+B)*1.e-18
GO TO 1602
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1601 QIN[44][I]=0.00362/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+E[3])
1602 if(EN <= (2.0*EIN[44])) GO TO 1610
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
#
# 9 1P SCALED FROM 4 1P OSC STRENGTH F=0.00253
1610 if(EN <= EIN[45]) GO TO 2000
ER=EIN[45]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1631
DO 1620 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1630
1620 CONTINUE
J=N41P
1630 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[45][I]=0.00253/0.02986*(A*ENP+B)*1.e-18
GO TO 1632
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1631 QIN[45][I]=0.00253/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])
1632 if(EN <= (2.0*EIN[45])) GO TO 1640
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
#
# 10 1P SCALED FROM 4 1P OSC STRENGTH F=0.00184
1640 if(EN <= EIN[46]) GO TO 2000
ER=EIN[46]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1661
DO 1650 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1660
1650 CONTINUE
J=N41P
1660 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[46][I]=0.00184/0.02986*(A*ENP+B)*1.e-18
GO TO 1662
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1661 QIN[46][I]=0.00184/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+E[3])
1662 if(EN <= (2.0*EIN[46])) GO TO 1670
PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]
#
# 11 1P SCALED FROM 4 1P OSC STRENGTH F=0.00138
1670 if(EN <= EIN[47]) GO TO 2000
ER=EIN[47]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1691
DO 1680 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1690
1680 CONTINUE
J=N41P
1690 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[47][I]=0.00138/0.02986*(A*ENP+B)*1.e-18
GO TO 1692
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1691 QIN[47][I]=0.00138/(EIN[47]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[47]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[47]+E[3])
1692 if(EN <= (2.0*EIN[47])) GO TO 1700
PEQIN[47][I]=PEQEL[2][(I-IOFFN[47])]
#
# 12 1P SCALED FROM 4 1P OSC STRENGTH F=0.00106
1700 if(EN <= EIN[48]) GO TO 2000
ER=EIN[48]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1721
DO 1710 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1720
1710 CONTINUE
J=N41P
1720 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[48][I]=0.00106/0.02986*(A*ENP+B)*1.e-18
GO TO 1722
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1721 QIN[48][I]=0.00106/(EIN[48]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[48]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[48]+E[3])
1722 if(EN <= (2.0*EIN[48])) GO TO 1730
PEQIN[48][I]=PEQEL[2][(I-IOFFN[48])]
#
# SUM HIGHER 1P LEVELS OSC STRENGTH F=0.00440
1730 if(EN <= EIN[49]) GO TO 2000
ER=EIN[49]/EIN[18]
ENP=EN/ER
if(ENP > X41P(N41P):
) GO TO 1751
DO 1740 J=2,N41P
if(ENP <= X41P[J]:
) GO TO 1750
1740 CONTINUE
J=N41P
1750 A=(Y41P[J]-Y41P[J-1])/(X41P[J]-X41P[J-1])
B=(X41P[J-1]*Y41P[J]-X41P[J]*Y41P[J-1])/(X41P[J-1]-X41P[J])
QIN[49][I]=0.00440/0.02986*(A*ENP+B)*1.e-18
GO TO 1752
# IF ENERGY GT X41P(N41P) EV USE BEF SCALING
1751 QIN[49][I]=0.00440/(EIN[49]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[49]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[49]+E[3])
1752 if(EN <= (2.0*EIN[49])) GO TO 1760
PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
1760 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTION
if(EN <= 1000.):
GO TO 2000
DO 1780 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 1790
1780 CONTINUE
J=NBREM
1790 A=(math.log(Z2T[J])-math.log(Z2T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z2T[J])*EBRM[J-1]-math.log(Z2T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[50][I]=math.exp(A*EN+B)*1.e-24
#
2000 CONTINUE
#
QMET=QIN[1][I]+QIN[2][I]
QDIP=QIN[4][I]+QIN[10][I]+QIN[18][I]+QIN[26][I]+QIN[32][I]+QIN[38][I]+QIN[44][I]+QIN[45][I]+QIN[46][I]+QIN[47][I]+QIN[48][I]+QIN[49][I]
QTRP=QIN[1][I]+QIN[3][I]+QIN[5][I]+QIN[7][I]+QIN[8][I]+QIN[11][I]+QIN[13][I]+QIN[14][I]+QIN[16][I]+QIN[19][I]+QIN[21][I]+QIN[22][I]+QIN[24][I]+QIN[27][I]+QIN[29][I]+QIN[30][I]+QIN[33][I]+QIN[35][I]+QIN[36][I]+QIN[39][I]+QIN[41][I]+QIN[42][I]
QSNG=QIN[2][I]+QIN[4][I]+QIN[6][I]+QIN[9][I]+QIN[10][I]+QIN[12][I]+QIN[15][I]+QIN[17][I]+QIN[18][I]+QIN[20][I]+QIN[23][I]+QIN[25][I]+QIN[26][I]+QIN[28][I]+QIN[31][I]+QIN[32][I]+QIN[34][I]+QIN[37][I]+QIN[38][I]+QIN[40][I]+QIN[43][I]+QIN[44][I]+QIN[45][I]+QIN[46][I]+QIN[47][I]+QIN[48][I]+QIN[49][I]
QINEL=QSNG+QTRP+QION[1][I]+QION[2][I]
Q[1][I]=QELA+QINEL+QIN[50][I]
# EXAMINE X-SECTION
# WRITE(6,986) EN,QIN[4][I],QIN[10][I],QIN[18][I],QIN[26][I],QIN[32][I],
# /QIN[38][I],QIN[44][I],QIN[45][I],QIN[46][I],QIN[47][I],QIN[48][I],
# /QIN[49][I]
# 986 print(' EN=',D11.5,' 21P=','%.3f' %,' 31P=','%.3f' %,' 41P=','%.3f' %,' 51
# /P=','%.3f' %,' 61P=','%.3f' %,' 71P=','%.3f' %,/,8X,' 81P=','%.3f' %,' 91P=',D
# /11.3,' 101P=','%.3f' %,' 111P=','%.3f' %,' 121P=','%.3f' %,' HIP=','%.3f' %)
# WRITE(6,987) EN,QMET,QDIP,QSNG,QTRP,QINEL,Q[1][I]
# 987 print(' EN=',D12.5,' QMET=','%.3f' %,' QDIP=','%.3f' %,' QSNG=','%.3f' %,
# /'QTRP=','%.3f' %,' QINL=','%.4f' % ,' QTOT=','%.4f' % )
9000 CONTINUE
# SAVE COMPUTE TIME
DO 9001 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 9011
# endif
9001 CONTINUE
9011 CONTINUE
if(EFINAL > 1000.):
NIN=50
return
# end
def GAS5(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(125),YXSEC(125),XEL(120),YEL(120),XEPS(196),YEPS(196),XION(74),YION(74),YINC(74),YIN1(74),XIN2[49],YIN2[49],XIN3[41],YIN3[41],XKSH(99),YKSH(99),X1S5(111),Y1S5(111),X1S4(137),Y1S4(137),X1S3(117),Y1S3(117),X1S2(119),Y1S2(119),X2P10(73),Y2P10(73),X2P9(70),Y2P9(70),X2P8(72),Y2P8(72),X2P7(65),Y2P7(65),X2P6[59],Y2P6[59],X2P5[63],Y2P5[63],X2P4(66),Y2P4(66),X2P3[62],Y2P3[62],X2P2[62],Y2P2[62],X2P1[59],Y2P1[59],X2S5[19],Y2S5[19],X2S3[19],Y2S3[19],X3D6[12],Y3D6[12],X3D4P[12],Y3D4P[12],X3D4[12],Y3D4[12],X3D3[12],Y3D3[12],X3D1PP[12],Y3D1PP[12],X3D1P[12],Y3D1P[12],X3S1PPPP[12],Y3S1PPPP[12],X3S1PPP[12],Y3S1PPP[12],X3S1PP[12],Y3S1PP[12],X3P106[16],Y3P106[16],X3P52[16],Y3P52[16],X3P1[16],Y3P1[16],IOFFN[45],IOFFION[10]
DIMENSION Z10T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ELASTIC MOMENTUM TRANSFER
XEN=[1.00,1.20,1.50,1.80,2.00,2.50,3.00,4.00,5.00,6.00, 7.00,8.00,8.71,9.00,10.0,11.0,13.6,15.0,16.5,19.6, 20.0,30.0,40.0,50.0,60.0,70.0,77.0,100.,130.,150., 170.,200.,250.,300.,350.,400.,500.,600.,700.,800.,900.,1000.,1500.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.5D4,2.0D4,2.5'%.3f' %.0D4,4.0D4,5.0D4, 6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
YXSEC=[1.6178,1.69,1.75,1.79,1.82,1.86,1.91,1.98,2.07,2.14, 2.21,2.29,2.35,2.37,2.44,2.51,2.66,2.71,2.76,2.83, 2.84,2.84,2.78,2.58,2.30,2.12,2.03,1.53,1.21,1.03, 0.90,.756,.585,.474,.385,.321,.234,.180,.143,.117,.0977,.0830,.0435,.0271,.0187,.0137,.0105,.00833,.00565,.00410, .00312,.00246,.0020,.00166,.0008,.000478,.00032,.000231,.000138,9.28e-5, 6.72e-5,5.12e-5,4.05e-5,3.30e-5,2.75e-5,1.88e-5,1.38e-5,1.06e-5,8.54e-6,5.9D-6,4.43e-6,3.46e-6,2.81e-6,2.34e-6,1.99e-6,1.50e-6,1.19e-6,9.71e-7,8.12e-7,6.91e-7,4.95e-7,3.74e-7,2.94e-7,2.38e-7,1.67e-7,1.24e-7,9.66e-8,7.74e-8,6.35e-8,5.31e-8,3.89e-8,2.98e-8,2.36e-8,1.92e-8,1.59e-8,1.07e-8,7.71e-9,5.83e-9,4.57e-9,3.03e-9,2.16e-9,1.62e-9,1.26e-9,1.01e-9,8.29e-10,5.86e-10,4.36e-10,3.36e-10,2.67e-10,2.18e-10,1.40e-10,9.78e-11,7.20e-11,5.52e-11,3.54e-11,2.46e-11,1.81e-11,1.38e-11,1.09e-11,8.86e-12,6.15e-12,4.52e-12,3.46e-12,2.73e-12,2.21e-12]
# ELASTIC TOTAL
XEL=[1.00,1.20,1.50,1.80,2.00,2.50,3.00,4.00,5.00,6.00, 8.00,10.0,12.0,14.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,200.,250., 300.,350.,400.,500.,600.,700.,800.,900.,1000.,1200., 1500.,2000.,2500.,3000.,4000.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.5D4,2.0D4,2.5'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,5.0D7,6.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
YEL=[1.5667,1.68,1.82,1.94,2.01,2.16,2.30,2.55,2.80,2.98,3.23,3.39,3.54,3.63,3.67,3.68,3.69,3.61,3.50,3.27,3.09,2.90,2.72,2.54,2.40,2.25,1.96,1.74,1.39,1.21,1.06,.997,.893,.799,.693,.640,.565,.545,.483,.433,.359,.284,.223,.191,.156,.125,.109,.096,.0850,.0770,.0710,.0500,.0389,.0317,.0269,.0208,.0172,.0147,.0129,.0116,.0106,.00977,.00829,.00731,.00661,.00608,.00536,.00488,.00455,.00430,.00411,.00396,.00374,.00358,.00347,.00339,.00333,.00322,.00315,.00310,.00307,.00303,.00301,.00299,.00298,.00298,.00297,.00296,.00296,.00296,.00295,.00295,28*.002945]
# ANGULAR DISTRIBUTION PARAMETER EPSILON
XEPS=[0.0,.0001,.0002,.0003,.0004,.0005,.0006,.0008,.001,.0012,.0014,.0016,.0018,.0020,.0024,.0028,.0032,.0036,.0040,.0045,.0050,.0055,.0060,.0070,.0080,.0090,.0100,.0120,.0140,.0160,.0180,.0200,.0240,.0280,.0320,.0360,.0400,.0450,.0500,.0550,0.060,0.070,0.080,0.090,0.100,0.120,0.140,0.160,0.180,0.200,0.24,0.28,0.32,0.36,0.40,0.45,0.50,0.55,0.60,0.70,0.80,0.90,1.00,1.20,1.50,1.80,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,8.71,9.00,10.0,11.0,12.0,13.6,14.0,15.0,16.0,16.5,18.0,19.6,20.0,25.0,30.0,40.0,50.0,60.0,70.0,77.0,80.0,90.0,100.,125.,130.,150.,170.,200.,250.,300.,350.,400.,500.,600.,700.,800.,900.,1000.,1200.,1500.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.5D4,2.0D4,2.5'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC ANGULAR DISTRIBUTION PARAMETER EPSILON
# EPSILON =1.0-YEPS
YEPS=[1.0,1.02100,1.02805,1.03494,1.03914,1.04259,1.04678,1.05337,1.05831,1.06325,1.06804,1.07208,1.07522,1.07761,1.08388,1.09015,1.09478,1.09866,1.10254,1.10730,1.11177,1.11579,1.11891,1.12531,1.13154,1.13659,1.14163,1.14918,1.15613,1.16248,1.16779,1.17310,1.18075,1.18722,1.19324,1.19778,1.20202,1.20656,1.21006,1.21313,1.21604,1.22041,1.22362,1.22580,1.22725,1.22929,1.22929,1.22856,1.22711,1.22478,1.21852,1.21196,1.20422,1.19734,1.18766,1.17649,1.16544,1.15332,1.14133,1.11787,1.09463,1.07058,1.04888,1.00900,0.94235,0.88434,0.85878,0.79346,0.74891,0.67211,.62059,.59185,.58330,.57958,.58757,.58901,.59407,.60031,.60172,.61669,.61697,.62494,.63173,.63741,.64807,.65936,.66256,.68649,.72161,.77748,.75543,.69554,.67623,.68068,.66811,.60509,.54128,.49618,.47938,.43104,.39642,.37516,.30964,.27292,.21586,.19276,.14022,.11680,.09323,.08333,.06753,.06353,.05492,.03879,.02796,.02349,.01908,.01656,.01297,.01046,.00828,.00689,.00595,.00520,.00457,.00287,.00209,.001374,.001360,.000953,7.88e-4,6.50e-4,5.51e-4,4.75e-4,4.16e-4,3.71e-4,2.89e-4,2.34e-4,1.96e-4,1.67e-4,1.278e-4,1.020e-4,8.40e-5,7.07e-5,6.06e-5,5.27e-5,4.11e-5,3.33e-5,2.74e-5,2.31e-5,1.975e-5,1.418e-5,1.065e-5,8.32e-6,6.69e-6,4.60e-6,3.36e-6,2.57e-6,2.03e-6,1.64e-6,1.355e-6,9.70e-7,7.29e-7,5.68e-7,4.55e-7,3.73e-7,2.43e-7,1.71e-7,1.27e-7,9.80e-8,6.33e-8,4.42e-8,3.26e-8,2.49e-8,1.97e-8,1.60e-8,1.10e-8,8.10e-9,6.14e-9,4.82e-9,3.88e-9,2.44e-9,1.67e-9,1.21e-9,9.1D-10,5.7D-10,3.9D-10,2.8D-10,2.1D-10,1.7D-10,1.3D-10,9.1D-11,6.6D-11,5.0D-11,3.9D-11,3.1D-11]
# IONISATION (VALUES ABOVE 20KEV GENERATED BY BORN-BETHE IN SUB)
XION=[21.56454,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0, 26.5,27.0,27.5,28.0,29.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,90.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,225.,250.,275.,300.,350.,400.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
# GROSS IONISATION
YION=[0.00,.0031,.0085,.0139,.0192,.0248,.0306,.0362,.0417,.0474, .0540,.0602,.0664,.0726,.0847,.0971,.122,.147,.170,.217,.269,.322,.372,.414,.454,.490,.521,.549,.598,.635,.667,.690,.707,.721,.735,.746,.747,.748,.746,.745,.737,.723,.703,.682,.648,.607,.549,.501,.457,.420,.387,.363,.320,.287,.261,.239,.222,.186,.163,.143,.130,.117,.108,.100,.0937,.0826,.0742,.0678,.0623,.0540, .0475,.0426,.0389,.0357]
# COUNTING IONISATION
YINC=[0.00,.0031,.0085,.0139,.0192,.0248,.0306,.0362,.0417,.0474, .0540,.0602,.0664,.0726,.0847,.0971,.122,.147,.170,.217,.269,.322,.372,.414,.454,.490,.521,.548,.595,.630,.657,.678,.692,.703,.714,.721,.721,.720,.717,.715,.705,.690,.670,.650,.616,.577,.522,.476,.435,.400,.369,.345,.305,.273,.248,.228,.211,.177,.155,.136,.124,.111,.103,.0951,.0891,.0786,.0706,.0645,.0592,.0513, .0451,.0406,.0370,.0340]
# IONISATION FOR CHARGE STATE =1
YIN1=[0.00,.0031,.0085,.0139,.0192,.0248,.0306,.0362,.0417,.0474, .0540,.0602,.0664,.0726,.0847,.0971,.122,.147,.170,.217,.269,.322,.372,.414,.454,.490,.521,.547,.592,.624,.648,.666,.677,.684,.693,.698,.696,.693,.689,.685,.673,.658,.637,.619,.586,.548,.496,.454,.416,.383,.354,.331,.293,.262,.238,.219,.202,.170,.149,.130,.119,.106,.0988,.0912,.0855,.0754,.0677,.0619,.0568,.0492, .0433,.0390,.0355,.0326]
# IONISATION FOR CHARGE STATE =2
XIN2=[62.5275,75.0,80.0,90.0,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,225.,250.,275.,300.,350.,400.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YIN2=[0.0,.0005,.00127,.00319,.00586,.0094,.0121,.0155,.0187,.0214,.0240,.0254,.0272,.0280,.0294,.0316,.0315,.0315,.0301,.0291,.0269,.0243,.0212,.0185,.0164,.0148,.0134,.0118,.0106,.00962,.00885,.00819,.00687,.00601,.00528,.00481,.00431,.0040,.00369,.00346,.00305,.00274,.0025,.0023,.0020,.00175,.00158,.00144,.00132]
# IONISATION FOR CHARGE STATE =3
XIN3=[125.9508,150.,160.,170.,180.,190.,200.,225.,250.,275.,300.,350.,400.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YIN3=[0.00,.00005,.000118,.000173,.000263,.000377,.000476,.00072,.00104,.00126,.00138,.00156,.00158,.00143,.00132,.00121,.00103,.000852,.000741,.000656,.000587,.000533,.000490,.000454,.000381,.000333,.000292,.000267,.000239,.000221,.000204,.000192,.000169,.000146,.000139,.000127,.000110,.0000970,.0000873,.0000796,.0000731]
# K-SHELL IONISATION X-SECTION
XKSH=[870.2,874.7,900.,926.,953.,981.,1009.,1038.,1068.,1099.,1131.,1164.,1232.,1305.,1381.,1463.,1594.,1737.,1948.,2122.,2313.,2521.,2747.,2994.,3264.,3557.,3877.,4226.,4606.,5021.,5473.,5966.,6503.,7088.,7727.,8423.,9182.,1.0D4,1.12D4,1.26D4,1.41D4,1.59D4,1.78D4,2.00D4,2.24D4,2.51D4,2.82'%.3f' %.16'%.3f' %.55'%.3f' %.98D4,4.47D4,5.01D4,5.62D4,6.31D4,7.08D4,7.94D4,8.91D4,1.00D5,1.12D5,1.30D5,1.50D5,1.73D5,2.00D5,2.30D5,2.66'%.3f' %.07'%.3f' %.55D5,4.22D5,5.01D5,6.13D5,7.50D5,1.00D6,1.22D6,1.45D6,1.73D6,2.00D6,2.51'%.3f' %.07D6,4.00D6,5.01D6,6.13D6,8.18D6,1.00D7,1.50D7,2.05'%.3f' %.07'%.3f' %.98D7,5.01D7,6.13D7,8.18D7,1.00D8,1.50D8,2.05'%.3f' %.07'%.3f' %.98D8,5.01D8,6.13D8,8.18D8,1.00D9]
YKSH=[0.0,7.15e-6,2.96e-5,5.13e-5,7.23e-5,9.26e-5,1.12e-4,1.31e-4,1.49e-4,1.67e-4,1.84e-4,2.00e-4,2.31e-4,2.59e-4,2.84e-4,3.08e-4,3.39e-4,3.65e-4,3.94e-4,4.10e-4,4.22e-4,4.31e-4,4.36e-4,4.38e-4,4.37e-4,4.34e-4,4.28e-4,4.20e-4,4.11e-4,4.00e-4,3.88e-4,3.75e-4,3.61e-4,3.47e-4,3.33e-4,3.18e-4,3.04e-4,2.90e-4,2.71e-4,2.53e-4,2.36e-4,2.19e-4,2.04e-4,1.89e-4,1.75e-4,1.62e-4,1.50e-4,1.38e-4,1.28e-4,1.18e-4,1.09e-4,1.01e-4,9.32e-5,8.63e-5,8.00e-5,7.43e-5,6.90e-5,6.43e-5,6.00e-5,5.51e-5,5.09e-5,4.73e-5,4.41e-5,4.13e-5,3.89e-5,3.69e-5,3.52e-5,3.36e-5,3.23e-5,3.12e-5,3.05e-5,3.01e-5,3.01e-5,3.04e-5,3.07e-5,3.11e-5,3.19e-5,3.27e-5,3.39e-5,3.50e-5,3.60e-5,3.76e-5,3.87e-5,4.11e-5,4.30e-5,4.54e-5,4.69e-5,4.83e-5,4.96e-5,5.13e-5,5.25e-5,5.50e-5,5.69e-5,5.94e-5,6.10e-5,6.24e-5,6.36e-5,6.54e-5,6.66e-5]
#
# 1S5 METASTABLE J=2 UNITS 10**-18 SCALED BY 1/E**3 ABOVE 50 EV
X1S5=[16.61907,16.625,16.63,16.64,16.65,16.66,16.67,16.68,16.69,16.70,16.71,16.73,16.75,16.79,16.80,16.81,16.82,16.84,16.85,16.86,16.87,16.88,16.89,16.90,16.91,16.92,16.93,16.94,16.95,16.96,16.97,16.98,16.99,17.00,17.02,17.04,17.06,17.08,17.10,17.20,17.30,17.40,17.50,17.60,17.70,17.80,17.90,18.00,18.10,18.20,18.30,18.40,18.41,18.43,18.45,18.47,18.50,18.53,18.55,18.56,18.57,18.58,18.59,18.60,18.61,18.62,18.625,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.73,18.75,18.78,18.80,18.90,18.96,18.97,18.98,18.99,19.00,19.05,19.10,19.20,19.50,19.58,19.60,19.61,19.63,19.65,19.70,19.80,19.90,20.00,21.0,22.0,23.0,24.0,26.0,28.0,30.0,35.0,40.0,45.0,50.0]
Y1S5=[0.0,.114,.142,.190,.228,.256,.275,.304,.342,.399,.446,.532,.598,.646,.665,.674,.693,.750,.788,.845,.902,1.09,1.27,1.47,1.59,1.65,1.65,1.59,1.52,1.44,1.35,1.28,1.20,1.16,1.03,.988,.931,.893,.864,.807,.807,.826,.864,.912,.978,1.03,1.11,1.19,1.26,1.34,1.40,1.42,1.30,1.21,1.15,1.12,1.07,1.02,1.24,1.55,2.13,2.02,1.64,1.23,1.12,1.56,1.70,1.55,1.10,1.28,1.58,1.72,1.65,1.42,1.25,1.10,.988,.959,.883,.827,.817,.836,.779,.931,1.21,1.14,1.02,1.01,1.04,1.08,1.15,1.07,1.01,1.33,1.27,1.23,1.21,1.17,1.14,1.03,1.04,1.04,1.03,1.02,.998,.959,.902,.760,.608,.475,.361]
# 1S4 RESONANCE LEVEL J=1 F=0.0118 UNITS 10**-18 74.3724 NM.
X1S4=[16.67083,16.675,16.68,16.69,16.70,16.71,16.72,16.73,16.74,16.75,16.76,16.77,16.78,16.79,16.80,16.81,16.82,16.83,16.84,16.85,16.86,16.87,16.88,16.89,16.90,16.91,16.92,16.93,16.94,16.95,16.96,16.97,16.98,16.99,17.00,17.02,17.04,17.06,17.08,17.10,17.20,17.30,17.40,17.50,17.60,17.70,17.80,17.90,18.00,18.10,18.20,18.30,18.40,18.41,18.42,18.43,18.44,18.45,18.47,18.50,18.52,18.525,18.53,18.54,18.55,18.56,18.57,18.58,18.59,18.60,18.61,18.62,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.73,18.74,18.75,18.76,18.78,18.80,18.90,18.94,18.96,18.98,18.99,19.00,19.05,19.10,19.20,19.30,19.40,19.50,19.7,19.9,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,30.0,32.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,170.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.]
Y1S4=[0.,.082,.109,.149,.192,.239,.295,.364,.439,.510,.572,.623,.665,.697,.728,.762,.798,.845,.900,.959,1.04,1.13,1.21,1.23,1.23,1.18,1.11,1.04,.978,.918,.852,.824,.784,.750,.722,.674,.646,.608,.598,.580,.541,.541,.551,.570,.598,.627,.665,.712,.760,.807,.855,.893,.893,.855,.836,.807,.798,.798,.779,.760,.760,.874,.770,.788,.836,.978,1.26,1.29,.978,.760,.788,1.08,.864,.770,.940,1.19,1.41,1.33,1.16,1.04,.959,.931,.827,.779,.732,.693,.646,.617,.589,.560,.570,.817,.712,.684,.693,.712,.741,.760,.779,.798,.817,.808,.770,.810,.850,.890,.920,.940,.960,.990,1.00,1.02,1.04,1.05,1.06,1.06,1.05,1.04,1.02,.990,.950,.880,.800,.730,.670,.600,.530,.460,.410,.370,.338,.310,.270,.239,.217,.198,.184]
# 1S3 METASTABLE LEVEL J=0 UNITS 10**-18 SCALED BY 1/E**3 ABOVE 50 EV
X1S3=[16.71538,16.72,16.73,16.74,16.75,16.76,16.77,16.78,16.79,16.80,16.81,16.82,16.83,16.84,16.85,16.86,16.87,16.88,16.89,16.90,16.91,16.92,16.93,16.94,16.95,16.96,16.97,16.98,17.00,17.02,17.04,17.06,17.08,17.10,17.12,17.14,17.16,17.18,17.20,17.22,17.26,17.34,17.40,17.45,17.50,17.60,17.70,17.80,17.90,18.00,18.10,18.20,18.30,18.40,18.41,18.43,18.45,18.47,18.50,18.52,18.525,18.53,18.54,18.55,18.56,18.57,18.58,18.59,18.60,18.61,18.62,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.73,18.74,18.75,18.76,18.78,18.80,18.82,18.84,18.86,18.88,18.90,18.92,18.94,18.95,18.96,18.97,18.98,18.99,19.00,19.05,19.10,19.20,19.30,19.40,19.50,19.60,19.65,19.70,19.80,19.9,20.0,25.0,30.0,35.0,40.0,50.0]
Y1S3=[0.,.025,.038,.046,.054,.063,.078,.095,.117,.144,.175,.205,.238,.274,.311,.350,.387,.415,.420,.408,.387,.361,.341,.319,.298,.284,.268,.251,.229,.201,.197,.186,.176,.170,.165,.161,.159,.157,.155,.153,.152,.152,.154,.157,.161,.168,.178,.190,.203,.217,.231,.243,.256,.255,.244,.229,.226,.225,.218,.210,.335,.220,.218,.226,.253,.343,.427,.315,.230,.235,.325,.260,.223,.247,.376,.537,.524,.457,.402,.365,.328,.299,.274,.251,.229,.201,.179,.166,.158,.154,.150,.146,.141,.130,.126,.134,.214,.249,.199,.189,.188,.194,.204,.212,.218,.223,.226,.219,.213,.232,.228,.221,.210,.175,.145,.125,.085]
# 1S2 RESONANCE LEVEL J=1 F=0.159 UNITS 10**-18 73.5901 NM.
X1S2=[16.84805,16.86,16.87,16.88,16.89,16.90,16.91,16.92,16.93,16.94,16.95,16.96,16.98,17.00,17.05,17.10,17.20,17.30,17.40,17.50,17.60,17.70,17.80,17.90,18.00,18.10,18.20,18.30,18.40,18.42,18.44,18.46,18.49,18.51,18.53,18.54,18.55,18.56,18.57,18.58,18.59,18.60,18.61,18.62,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.73,18.74,18.76,18.78,18.80,18.85,18.90,18.92,18.94,18.95,18.96,18.97,18.98,19.00,19.05,19.10,19.20,19.30,19.40,19.50,19.60,19.70,19.80,19.90,20.00,20.50,21.0,21.5,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,45.0,50.0,60.0,70.0,80.0,100.,120.,150.,180.,200.,240.,280.,320.,360.,400.]
Y1S2=[0.,.230,.513,.864,1.23,1.59,1.83,2.00,2.10,2.16,2.18,2.15,2.12,2.04,1.86,1.73,1.57,1.49,1.46,1.45,1.46,1.50,1.54,1.60,1.67,1.75,1.82,1.89,1.99,2.01,2.03,2.05,2.06,2.11,2.05,1.97,2.06,2.15,2.14,2.01,1.96,2.02,2.00,1.98,1.94,2.03,2.25,2.37,2.30,2.21,2.13,2.09,2.04,2.01,1.99,1.95,1.91,1.88,1.88,1.91,2.01,2.11,2.27,2.29,1.96,1.86,1.93,1.96,1.99,2.01,2.06,2.10,2.15,2.18,2.25,2.29,2.28,2.32,2.36,2.56,2.66,2.80,3.07,3.63,4.22,4.88,5.45,6.00,6.57,7.07,7.52,7.90,8.28,8.60,8.87,9.10,9.30,9.48,9.63,9.76,9.87,9.96,10.0,10.1,10.2,10.3,10.4,10.3,10.0,9.45,9.00,8.00,7.20,6.80,6.10,5.50,5.05,4.73,4.45]
# 2P10 J=1 UNITS 10**-18 SCALE 1/E**2 ABOVE 100 EV
X2P10=[18.38162,18.39,18.40,18.42,18.43,18.44,18.46,18.47,18.48,18.49,18.50,18.509,18.51,18.52,18.53,18.54,18.55,18.56,18.57,18.58,18.59,18.60,18.61,18.62,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.74,18.80,18.90,18.92,18.95,18.96,18.97,19.00,19.10,19.20,19.30,19.40,19.50,19.56,19.57,19.58,19.59,19.60,19.70,19.80,19.90,20.0,21.0,22.0,23.0,24.0,25.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,50.0,60.0,75.0,100.]
Y2P10=[0.00,.060,.091,.201,.261,.287,.310,.328,.354,.389,.440,.589,.394,.574,.716,.960,1.23,1.03,.440,.229,.481,1.16,.777,.606,.863,1.03,1.08,.690,.346,.191,.117,.085,.081,.074,.068,.062,.064,.095,.597,.580,.278,.164,.143,.138,.136,.135,.136,.147,.163,.201,.142,.135,.123,.120,.142,.153,.200,.237,.275,.294,.309,.318,.328,.332,.328,.323,.313,.304,.285,.200,.140,.090,.049]
# 2P9 J=3 UNITS 10**-18 SCALE 1/E**2 ABOVE 100 EV
X2P9=[18.55511,18.56,18.57,18.58,18.59,18.60,18.61,18.62,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.73,18.74,18.75,18.77,18.80,18.82,18.85,18.88,18.90,18.92,18.94,18.96,18.97,18.98,18.99,19.00,19.10,19.20,19.30,19.40,19.50,19.55,19.59,19.60,19.70,19.80,19.90,20.00,20.10,20.20,20.30,20.40,20.6,20.8,21.0,22.0,24.0,26.0,28.0,30.0,32.0,34.0,38.0,42.0,46.0,50.0,55.0,60.0,70.0,80.0,90.0,100.]
Y2P9=[0.0,.093,.157,.233,.183,.114,.092,.132,.102,.116,.164,.322,.472,.392,.286,.218,.175,.148,.133,.123,.119,.116,.120,.124,.131,.139,.147,.163,.193,.300,.320,.180,.128,.131,.135,.142,.151,.159,.171,.179,.213,.143,.178,.195,.215,.205,.222,.242,.257,.268,.286,.307,.328,.418,.465,.503,.513,.503,.484,.456,.404,.332,.285,.256,.204,.171,.128,.097,.078,.062]
# 2P8 J=2 UNITS 10**-18 SCALE BY 1/E ABOVE 60 EV
X2P8=[18.57583,18.58,18.59,18.60,18.61,18.62,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.74,18.76,18.78,18.80,18.82,18.84,18.86,18.88,18.90,18.92,18.94,18.96,18.98,19.00,19.05,19.10,19.20,19.30,19.40,19.50,19.58,19.60,19.62,19.65,19.68,19.70,19.80,19.90,20.00,20.10,20.20,20.40,20.60,20.80,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,55.0,60.0]
Y2P8=[0.0,.142,.198,.206,.250,.193,.158,.172,.403,.506,.467,.420,.381,.353,.326,.308,.275,.249,.229,.214,.201,.195,.192,.192,.194,.200,.215,.271,.206,.177,.177,.179,.185,.192,.200,.207,.205,.243,.228,.224,.228,.192,.218,.239,.260,.272,.289,.315,.339,.364,.385,.437,.475,.513,.537,.546,.551,.551,.546,.532,.513,.494,.475,.456,.437,.423,.408,.394,.385,.370,.337,.313]
# 2P7 J=1 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 60 EV
X2P7=[18.61270,18.62,18.63,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.74,18.76,18.80,18.85,18.90,18.92,18.93,18.94,18.95,18.96,18.97,18.98,18.99,19.00,19.05,19.10,19.20,19.30,19.50,19.60,19.68,18.70,19.80,19.90,20.00,20.10,20.20,20.30,20.4,20.6,20.8,21.0,21.5,22.0,23.0,24.0,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,54.0,60.0]
Y2P7=[0.0,.123,.127,.095,.145,.153,.126,.104,.091,.085,.080,.077,.072,.067,.061,.060,.066,.071,.076,.082,.096,.118,.112,.074,.066,.067,.070,.075,.084,.088,.099,.101,.115,.101,.114,.122,.126,.117,.124,.134,.141,.154,.164,.177,.198,.215,.232,.244,.252,.252,.250,.248,.243,.233,.218,.201,.184,.169,.156,.144,.134,.124,.117,.103,.081]
# 2P6 J=2 UNITS 10**-18 SCALE BY 1/E ABOVE 60 EV
X2P6=[18.63679,18.64,18.65,18.66,18.67,18.68,18.69,18.70,18.71,18.72,18.74,18.76,18.78,18.80,18.82,18.84,18.86,18.90,18.94,18.96,19.00,19.05,19.10,19.20,19.30,19.40,19.50,19.60,19.70,19.80,19.90,20.00,20.10,20.20,20.30,20.40,20.60,20.80,21.00,21.50,22.0,23.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,60.0]
Y2P6=[0.0,.113,.103,.135,.310,.442,.466,.449,.441,.436,.434,.432,.427,.419,.410,.401,.391,.376,.368,.374,.333,.319,.317,.321,.330,.339,.349,.388,.369,.362,.388,.404,.423,.437,.447,.466,.489,.513,.532,.556,.579,.603,.622,.646,.656,.656,.646,.632,.617,.603,.589,.575,.561,.546,.532,.518,.503,.489,.475]
# 2P5 J=1 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 60 EV
X2P5=[18.69336,18.70,18.71,18.72,18.73,18.74,18.75,18.76,18.78,18.80,18.82,18.84,18.86,18.88,18.90,18.92,18.94,18.96,18.98,19.00,19.05,19.10,19.20,19.30,19.40,19.50,19.60,19.67,19.70,19.80,19.9,20.0,20.1,20.2,20.3,20.4,20.5,20.6,20.8,21.0,21.5,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,60.0]
Y2P5=[0.0,.029,.045,.054,.061,.066,.067,.069,.068,.067,.066,.066,.067,.068,.071,.074,.081,.095,.078,.079,.087,.096,.112,.125,.134,.142,.156,.161,.146,.163,.174,.175,.168,.168,.174,.182,.192,.201,.219,.233,.237,.239,.242,.242,.239,.235,.229,.228,.228,.228,.224,.211,.204,.196,.187,.181,.173,.166,.159,.151,.144,.138,.117]
# 2P4 J=2 UNITS 10**-18 SCALE BY 1/E ABOVE 60 EV
X2P4=[18.70407,18.71,18.72,18.73,18.74,18.75,18.76,18.77,18.78,18.79,18.80,18.82,18.84,18.86,18.88,18.90,18.92,18.94,18.96,18.98,19.00,19.02,19.10,19.20,19.30,19.40,19.50,19.58,19.60,19.68,19.70,19.80,19.90,20.00,20.10,20.20,20.30,20.40,20.60,20.80,21.0,21.5,22.0,22.5,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,60.0]
Y2P4=[0.0,.140,.180,.208,.229,.247,.263,.278,.291,.302,.313,.318,.332,.333,.332,.330,.329,.336,.371,.313,.287,.275,.263,.264,.270,.278,.289,.312,.291,.293,.326,.310,.326,.343,.363,.380,.404,.419,.447,.476,.504,.532,.551,.570,.580,.599,.608,.614,.612,.605,.594,.580,.564,.546,.513,.485,.461,.440,.423,.408,.395,.384,.374,.366,.358,.323]
# 2P3 J=0 UNITS 10**-18 SCALE BY 1/E ABOVE 60 EV
X2P3=[18.71138,18.72,18.73,18.74,18.75,18.76,18.77,18.78,18.79,18.80,18.82,18.84,18.86,18.88,18.90,18.92,18.94,18.95,18.96,18.97,18.98,19.00,19.10,19.20,19.30,19.40,19.50,19.60,19.70,19.80,19.9,20.0,20.1,20.2,20.3,20.4,20.6,20.8,21.0,21.5,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,60.0]
Y2P3=[0.0,.028,.037,.046,.054,.062,.068,.073,.078,.082,.087,.090,.092,.095,.098,.104,.124,.139,.142,.083,.064,.068,.065,.066,.069,.072,.076,.078,.086,.087,.097,.095,.101,.110,.116,.119,.125,.133,.139,.143,.149,.152,.153,.151,.150,.149,.146,.142,.137,.127,.120,.112,.107,.104,.100,.097,.094,.091,.088,.085,.081,.072]
# 2P2 J=1 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 60 EV
X2P2=[18.72638,18.73,18.74,18.75,18.76,18.77,18.78,18.79,18.80,18.82,18.84,18.86,18.88,18.90,18.92,18.94,18.95,18.96,18.97,18.98,19.00,19.10,19.20,19.30,19.40,19.50,19.58,19.60,19.70,19.80,19.9,20.0,20.1,20.2,20.3,20.4,20.6,20.8,21.0,21.5,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,60.0]
Y2P2=[0.0,.006,.025,.046,.063,.078,.090,.099,.109,.122,.128,.131,.133,.137,.134,.143,.154,.179,.163,.137,.125,.128,.140,.150,.159,.166,.183,.163,.187,.187,.198,.201,.204,.203,.204,.207,.209,.211,.215,.223,.228,.233,.238,.238,.235,.226,.219,.214,.207,.192,.178,.163,.150,.140,.129,.122,.115,.108,.103,.096,.090,.078]
# 2P1 J=0 UNITS 10**-18 SCALE BY 1/E ABOVE 100 EV
X2P1=[18.96595,18.97,18.98,18.99,19.00,19.01,19.02,19.03,19.04,19.06,19.08,19.10,19.15,19.20,19.30,19.40,19.50,19.57,19.58,19.60,19.66,19.70,19.80,19.90,20.00,20.10,20.20,20.30,20.40,20.60,20.8,21.0,21.5,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,32.0,34.0,36.0,38.0,40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,60.0,70.0,80.0,90.0,100.]
Y2P1=[0.0,.134,.170,.194,.206,.216,.223,.230,.235,.243,.250,.256,.269,.280,.303,.327,.345,.279,.437,.411,.342,.352,.371,.394,.418,.442,.461,.480,.499,.541, .580,.618,.722,.826,.969,1.17,1.35,1.48,1.60,1.73,1.81,1.90,1.97,1.98,1.99,1.99,1.98,1.97,1.97,1.96,1.95,1.94,1.92,1.90,1.86,1.75,1.61,1.48,1.38]
#
# 2S5 J=2 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X2S5=[19.66403,19.8,19.9,20.0,20.5,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,30.0,32.0,36.0,40.0,44.0,50.0]
Y2S5=[0.0,.0217,.0374,.0526,.121,.178,.263,.319,.355,.376,.387,.390,.388,.375,.355,.309,.266,.229,.184]
# 2S4 J=1 RESONANCE LEVEL USE BEF SCALING F=0.0128 62.9743 NM
#
# 2S3 J=0 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X2S3=[19.76060,19.8,19.9,20.0,20.5,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,30.0,32.0,36.0,40.0,44.0,50.0]
Y2S3=[0.0,.0088,.0245,.0376,.0870,.122,.168,.195,.209,.215,.216,.214,.209,.196,.181,.151,.126,.105,.081]
# 2S2 J=1 RESONANCE LEVEL USE BEF SCALING F=0.0166 62.6827 NM
#
# 3D6 J=0 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3D6=[20.02464,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3D6=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3D5 J=1 RESONANCE LEVEL USE BEF SCALING F=0.0048 61.9106 NM
#
# 3D4# J=4 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3D4P=[20.03465,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3D4P=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3D4 J=3 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3D4=[20.03487,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3D4=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3D3 J=2 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3D3=[20.03675,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3D3=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3D2 J=1 RESONANCE LEVEL USE BEF SCALING F=0.0146 61.8676 NM
#
# 3D1## J=2 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3D1PP=[20.04820,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3D1PP=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3D1# J=3 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3D1P=[20.04842,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3D1P=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3S1#### J=2 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3S1PPPP=[20.13611,22.,24.,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3S1PPPP=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3S1### J=3 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3S1PPP=[20.13629,22.,24.,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3S1PPP=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3S1## J=2 UNITS 10**-18 SCALE BY 1/E**2 ABOVE 50 EV
X3S1PP=[20.13751,22.,24.,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0]
Y3S1PP=[0.0,.013,.022,.029,.032,.033,.032,.030,.025,.020,.016,.011]
# 3S1# J=1 RESONANCE LEVEL USE BEF SCALING F=0.00676 61.5632 NM
#
# 3P SUM 3P10-3P6 UNITS 10**-18 SCALE BY 1/E**1.5 ABOVE 50 EV
X3P106=[20.14965,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,50.0]
Y3P106=[0.0,.110,.178,.242,.275,.320,.363,.418,.450,.500,.500,.480,.460,.440,.410,.330]
# 3P SUM 3P5-3P2 UNITS 10**-18 SCALE BY 1/E**1.5 ABOVE 50 EV
X3P52=[20.25918,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,50.0]
Y3P52=[0.0,.088,.142,.194,.220,.256,.290,.335,.360,.400,.400,.380,.370,.350,.330,.270]
# 3P1 J=0 UNITS 10**-18 SCALE 1/E BY ABOVE 50 EV
X3P1=[20.36885,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,50.0]
Y3P1=[0.0,.050,.100,.125,.145,.165,.175,.185,.192,.200,.205,.207,.207,.205,.205,.190]
# HIGH RESONANCE LEVELS :
#
# 3S4 J=1 RESONANCE LEVEL USE BEF SCALING F=0.00635 60.2730 NM
# 3S2 J=1 RESONANCE LEVEL USE BEF SCALING F=0.0044 60.0041 NM
# 4D5 J=1 RESONANCE LEVEL USE BEF SCALING F=0.00705 59.8895 NM
# 4D2 J=1 RESONANCE LEVEL USE BEF SCALING F=0.00235 59.8710 NM
# 4S1# J=1 RESONANCE LEVEL USE BEF SCALING F=0.00435 59.5924 NM
# 4S4 J=1 RESONANCE LEVEL USE BEF SCALING F=0.00325 59.1834 NM
# 5D5 J=1 RESONANCE LEVEL USE BEF SCALING F=0.00383 59.0015 NM
# 5D2 J=1 RESONANCE LEVEL USE BEF SCALING F=0.00127 58.9915 NM
# 4S2 J=1 RESONANCE LEVEL USE BEF SCALING F=0.00165 58.9183 NM
# 5S1# J=1 RESONANCE LEVEL USE BEF SCALING F=0.0025 58.7217 NM
# SUM S STATES 5-INFINITY USE BEF SCALING F=0.00962
# SUM D STATES 6-INFINITY USE BEF SCALING F=0.01695
# TOTAL OSCILLATOR SUM F = 0.2926
#
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF
Z10T=[671.,424.,215.,123.,69.3,32.5,18.8,11.8,7.95,7.19,7.27,7.42,7.59,7.71,7.80,7.94,8.05,8.19,8.29,8.40,8.47,8.51,8.52,8.56,8.57]
# UNITS 10**-24
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# ---------------------------------------------------------------------
if(NANISO == 0):
:
NAME='NEON ISOTROPIC 2013 '
else:
NAME='NEON ANISOTROPIC 2013 '
# endif
# ---------------------------------------------------------------------
# UPDATE OF 2002 FILE USES MORE DETAILED EXCITATION X-SECTIONS FOR USE
# IN PENNING CALCULATIONS.
# SHAPE 0F EXCITATION defS CLOSE TO THRESHOLD GUIDED BY
# ZEMAN AND BARTSCHAT J.PHYS. B 30(1997)4609
# ALL X-SECTIONS CONSISTENT WITH PUBLISHED ELECTRON SCATTERING UP
# TO 2003
# FIT TO RATE COEFICIENTS OF :
# TACHIBANA AN PHELPS : PHYS REV.A36(1987)999
# TACHIBANA AND HARIMA J.PHYS.B 17(1984)879
# GOOD FIT TO DRIFT DIFFUSION OF ROBERTSON AND ALSO OF
# LUCAS AND SAELEE . CLOSE FIT TO TOWNS# end OF CHANIN AND RORK
# 2007: INCREASED BASE UP TO 10MEV ENERGY
# 2007: INTRODUCED NEW ANGULAR DISTRIBUTION def
# 2007: INTRODUCED PENNING TRANSFER FRACTION
# 2010: INTRODUCED MORE DETAILED RMPS CALCULATION OF ZATSARINNY AND
# BARTSCHAT FROM THRESHOLD TO 20EV FOR THE FIRST S AND P STATES
# WHICH ARE IN AGREEMENT WITH ALLANS PRECISE MEASUREMENTS
# J.PHYS.B 42(2009)044009
# SCALED ZATSARINNY AND BARTSCHAT BY 0.95 TO BRING INTO EXACT
# AGREEMENT WITH ALLANS MEASUREMENTS
# NOW CLEAR EVIDENCE THAT THE TOWNS# end EXPERIMENTS ARE
# INACCURATE ESPECIALLY AT LOW FIELDS DUE TO PENNING TRANFERS
# TO IMPURITIES AT THE LEVEL OF 30PPM . NEED MODERN EXPERIMENTS
# WITH LESS THAN 1PPM IMPURITIES TO GIVE ACCURATE TOWNS# end COEF.
# 2013: INTRODUCED K-SHELL IONISATION AND CHARGE STATES 1 2 AND 3
#
# ---------------------------------------------------------------------
#
# BORN BETHE VALUES FOR IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
AM2=1.69
C=17.80
# AVERAGE AUGER EMISSION FOR EACH SHELL
AUGK=1.99
#
NION=4
NATT=1
NIN=45
NNULL=0
IONMODEL=0
#
NBREM=25
DO 55 J=1,NIN
IZBR[J]=0
55 CONTINUE
IZBR[46]=10
#
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=1,NIN
2 KIN[J]=NANISO
#
NEL=120
NDATA=125
NEPSI=196
NIOND=74
NION2=49
NION3=41
NKSH=99
N1S5=111
N1S4=137
N1S3=117
N1S2=119
N2P10=73
N2P9=70
N2P8=72
N2P7=65
N2P6=59
N2P5=63
N2P4=66
N2P3=62
N2P2=62
N2P1=59
N2S5=19
N2S3=19
N3D6=12
N3D4P=12
N3D4=12
N3D3=12
N3D1PP=12
N3D1P=12
N3S1PPPP=12
N3S1PPP=12
N3S1PP=12
N3P106=16
N3P52=16
N3P1=16
#
E[1]=0.0
E[2]=2.0*EMASS/(20.1797*AMU)
E[3]=21.56454
# EXCITATION X=SECTION AT 1.3MEV
E[4]=0.492e-19
# ENTER IONISING X-SECTION AT 1.3MEV
E[5]=0.415e-18
# ENTER EOBY FOR MINIMUM IONISING PARTICLE
E[6]=19.5
# OPAL BEATY AT LOW ENERGY
EOBY[1]=17.4
EOBY[2]=36.0
EOBY[3]=73.0
# OPAL BEATY SPLITTING FOR K SHELL
EOBY[4]=500.0
#
EION[1]=21.56454
EION[2]=62.5275
EION[3]=125.9508
EION[4]=870.2
LEGAS[1]=0
LEGAS[2]=0
LEGAS[3]=0
LEGAS[4]=1
ISHELL[1]=0
ISHELL[2]=0
ISHELL[3]=0
ISHELL[4]=1
# AUGER AND FLUORESCENCE DATA
NC0[1]=0
EC0[1]=0.0
WKLM[1]=0.0
EFL[1]=0.0
NG1[1]=0
EG1[1]=0.0
NG2[1]=0
EG2[1]=0.0
NC0[2]=1
EC0[2]=5.0
WKLM[2]=0.0
EFL[2]=0.0
NG1[2]=0
EG1[2]=0.0
NG2[2]=0
EG2[2]=0.0
NC0[3]=2
EC0[3]=10.0
WKLM[3]=0.0
EFL[3]=0.0
NG1[3]=0
EG1[3]=0.0
NG2[3]=0
EG2[3]=0.0
NC0[4]=2
EC0[4]=806.6
WKLM[4]=0.015
EFL[4]=849.
NG1[4]=2
EG1[4]=801.
NG2[4]=1
EG2[4]=5.0
#
DO 776 J=1,NION
DO 777 I=1,20000
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=16.61907
EIN[2]=16.67083
EIN[3]=16.71538
EIN[4]=16.84805
EIN[5]=18.38162
EIN[6]=18.55511
EIN[7]=18.57583
EIN[8]=18.61270
EIN[9]=18.63679
EIN[10]=18.69336
EIN[11]=18.70407
EIN[12]=18.71138
EIN[13]=18.72638
EIN[14]=18.96595
EIN[15]=19.66403
EIN[16]=19.68819
EIN[17]=19.76060
EIN[18]=19.77977
EIN[19]=20.02464
EIN[20]=20.02644
EIN[21]=20.03465
EIN[22]=20.03487
EIN[23]=20.03675
EIN[24]=20.04039
EIN[25]=20.04820
EIN[26]=20.04842
EIN[27]=20.13611
EIN[28]=20.13629
EIN[29]=20.13751
EIN[30]=20.13946
EIN[31]=20.14965
EIN[32]=20.25918
EIN[33]=20.36885
EIN[34]=20.57056
EIN[35]=20.66277
EIN[36]=20.70230
EIN[37]=20.70871
EIN[38]=20.80551
EIN[39]=20.94928
EIN[40]=21.01388
EIN[41]=21.01743
EIN[42]=21.04354
EIN[43]=21.11401
EIN[44]=21.14638
EIN[45]=21.18286
EIN[46]=0.0
#*****************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# PENNING TRANSFER EFFICIENCY IN NEON MIXTURES BETWEEN 0.3 AND 0.6
DO 50 NL=1,NIN
PENFRA[1,NL]=0.5
# PENNING TRANSFER DISTANCE IN MICRONS
PENFRA[2,NL]=1.0
# PENNING TRANSFER TIME IN PICOSECONDS
50 PENFRA[3,NL]=1.0
#----------------------------------------------------------------
# HORNBECK MOLNAR MOD (THRESHOLD 20.3 EV)
# IF PURE GAS SET TO 0.0 FOR FIRST 32 LEVELS 0.3 FOR OTHER LEVELS
# DO 51 NL=1,32
# 51 PENFRA(1,NL)=0.0
#*****************************************************************
if(IPEN == 0):
GO TO 4
DO 3 KDUM=1,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 3
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
3 CONTINUE
#*****************************************************************
4 DO 5 NL=1,NIN
DO 651 I=1,20000
if(EG[I]:
> EIN[NL]) :
IOFFN[NL]=I-1
GO TO 5
# endif
651 CONTINUE
5 CONTINUE
SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC NEON '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC NEON '
# endif
SCRPT[3]=' IONISATION CHARGE STATE=1 ELOSS= 21.56454'
SCRPT[4]=' IONISATION CHARGE STATE=2 ELOSS= 62.5275 '
SCRPT[5]=' IONISATION CHARGE STATE=3 ELOSS=125.9508 '
SCRPT[6]=' IONISATION NEON K-SHELL ELOSS=870.2 '
SCRPT[7]=' ATTACHMENT '
SCRPT[8]=' '
SCRPT[9]=' '
SCRPT[10]='EX 1S5 J=2 METASTABLE ELVL= 16.61907'
SCRPT[11]='EX 1S4 J=1 RESONANT ELVL= 16.67083'
SCRPT[12]='EX 1S3 J=0 METASTABLE ELVL= 16.71538'
SCRPT[13]='EX 1S2 J=1 RESONANT ELVL= 16.84805'
SCRPT[14]='EX 2P10 J=1 ELVL= 18.38162'
SCRPT[15]='EX 2P9 J=3 ELVL= 18.55511'
SCRPT[16]='EX 2P8 J=2 ELVL= 18.57583'
SCRPT[17]='EX 2P7 J=1 ELVL= 18.61270'
SCRPT[18]='EX 2P6 J=2 ELVL= 18.63679'
SCRPT[19]='EX 2P5 J=1 ELVL= 18.69336'
SCRPT[20]='EX 2P4 J=2 ELVL= 18.70407'
SCRPT[21]='EX 2P3 J=0 ELVL= 18.71138'
SCRPT[22]='EX 2P2 J=1 ELVL= 18.72638'
SCRPT[23]='EX 2P1 J=0 ELVL= 18.96595'
SCRPT[24]='EX 2S5 J=2 ELVL= 19.66403'
SCRPT[25]='EX 2S4 J=1 RESONANT ELVL= 19.68819'
SCRPT[26]='EX 2S3 J=0 ELVL= 19.76060'
SCRPT[27]='EX 2S2 J=1 RESONANT ELVL= 19.77977'
SCRPT[28]='EX 3D6 J=0 ELVL= 20.02464'
SCRPT[29]='EX 3D5 J=1 RESONANT ELVL= 20.02644'
SCRPT[30]='EX 3D4# J=4 ELVL= 20.03465'
SCRPT[31]='EX 3D4 J=3 ELVL= 20.03487'
SCRPT[32]='EX 3D3 J=2 ELVL= 20.03675'
SCRPT[33]='EX 3D2 J=1 RESONANT ELVL= 20.04039'
SCRPT[34]='EX 3D1## J=2 ELVL= 20.04820'
SCRPT[35]='EX 3D1# J=3 ELVL= 20.04842'
SCRPT[36]='EX 3S1#### J=2 ELVL= 20.13611'
SCRPT[37]='EX 3S1### J=3 ELVL= 20.13629'
SCRPT[38]='EX 3S1## J=2 ELVL= 20.13751'
SCRPT[39]='EX 3S1# J=1 RESONANT ELVL= 20.13946'
SCRPT[40]='EX SUM OF 3P10-6 ELVL= 20.14965'
SCRPT[41]='EX SUM OF 3P5-2 ELVL= 20.25918'
SCRPT[42]='EX 3P1 J=0 ELVL= 20.36885'
SCRPT[43]='EX 3S4 J=1 RESONANT ELVL= 20.57056'
SCRPT[44]='EX 3S2 J=1 RESONANT ELVL= 20.66277'
SCRPT[45]='EX 4D5 J=1 RESONANT ELVL= 20.70230'
SCRPT[46]='EX 4D2 J=1 RESONANT ELVL= 20.70871'
SCRPT[47]='EX 4S1# J=1 RESONANT ELVL= 20.80551'
SCRPT[48]='EX 4S4 J=1 RESONANT ELVL= 20.94928'
SCRPT[49]='EX 5D5 J=1 RESONANT ELVL= 21.01388'
SCRPT[50]='EX 5D2 J=1 RESONANT ELVL= 21.01743'
SCRPT[51]='EX 4S2 J=1 RESONANT ELVL= 21.04354'
SCRPT[52]='EX 5S1# J=1 RESONANT ELVL= 21.11401'
SCRPT[53]='EX SUM HIGHER S RESONANT ELVL= 21.14638'
SCRPT[54]='EX SUM HIGHER D RESONANT ELVL= 21.18286'
SCRPT[55]=' BREMSSTRAHLUNG FROM NEON ATOM '
# PARAMETERS OF PHASE SHIFT ANALYSIS
APOL=2.672
LMAX=100
AA=0.2135
DD=3.86
FF=-2.656
A1=1.846
B1=3.29
A2=-0.037
#
# EN=-ESTEP/2.00
DO 9000 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
if(EN > EIN[1]:
) :
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# endif
if(EN > 1.0):
GO TO 7
if(EN == 0.0):
QELA=0.161e-16
if(EN == 0.0):
QMOM=0.161e-16
if(EN == 0.0):
GO TO 12
AK=math.sqrt(EN/ARY)
AK2=AK*AK
AK3=AK2*AK
AK4=AK3*AK
AK5=AK4*AK
AN0=-AA*AK*(1.0+(4.0*APOL/3.0)*AK2*math.log(AK))-(API*APOL/3.0)*AK2+DD*AK3+FF*AK4
AN1=((API/15.0)*APOL*AK2-A1*AK3)/(1.0+B1*AK2)
AN2=API*APOL*AK2/105.0-A2*AK5
ANHIGH=AN2
SUM=(numpy.sin(AN0-AN1))**2
SUM=SUM+2.0*(numpy.sin(AN1-AN2))**2
SIGEL=(numpy.sin(AN0))**2+3.0*(numpy.sin(AN1))**2
DO 6 J=2,LMAX-1
ANLOW=ANHIGH
ANHIGH=API*APOL*AK2/((2.*J+5.0)*(2.*J+3.0)*(2.*J+1.0))
SUMI=6.0/((2.0*J+5.0)*(2.0*J+3.0)*(2.0*J+1.0)*(2.0*J-1.0))
SUM=SUM+(J+1.0)*(numpy.sin(API*APOL*AK2*SUMI))**2
SIGEL=SIGEL+(2.0*J+1.0)*(numpy.sin(ANLOW))**2
6 CONTINUE
QELA=SIGEL*4.0*PIR2/AK2
QMOM=SUM*4.0*PIR2/AK2
GO TO 12
7 CONTINUE):
if(EN <= XEL[J]:
) GO TO 9
8 CONTINUE
J=NEL
9 A=(YEL[J]-YEL[J-1])/(XEL[J]-XEL[J-1])
B=(XEL[J-1]*YEL[J]-XEL[J]*YEL[J-1])/(XEL[J-1]-XEL[J])
QELA=(A*EN+B)*1.0D-16
DO 10 J=2,N
if(EN <= XEN[J]:
) GO TO 11
10 CONTINUE
J=N
11 A=(YXSEC[J]-YXSEC[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YXSEC[J]-XEN[J]*YXSEC[J-1])/(XEN[J-1]-XEN[J])
QMOM=(A*EN+B)*1.0D-16
12 CONTINUE
PQ1=0.5+(QELA-QMOM)/QELA
DO 13 J=2,NEPSI
if(EN <= XEPS[J]:
) GO TO 14
13 CONTINUE
J=NEPSI
14 A=(YEPS[J]-YEPS[J-1])/(XEPS[J]-XEPS[J-1])
B=(XEPS[J-1]*YEPS[J]-XEPS[J]*YEPS[J-1])/(XEPS[J-1]-XEPS[J])
PQ2=A*EN+B
# EPSILON =1.0-YEPS
PQ2=1.00-PQ2
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
:
Q[2][I]=QMOM
PEQEL[2][I]=0.5
# endif
#
# IONISATION FOR CHARGE STATE =1
QION[1][I]=0.00
PEQION[1][I]=0.50
if(NANISO == 2):
PEQION[1][I]=0.00
if(EN <= EION[1]:
) GO TO 129
if(EN > XION(NIOND):
) GO TO 121
DO 110 J=2,NIOND
if(EN <= XION[J]:
) GO TO 120
110 CONTINUE
J=NIOND
120 A=(YIN1[J]-YIN1[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN1[J]-XION[J]*YIN1[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.0D-16
GO TO 122
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
121 AX2=1.00/BETA2
AX1=AX2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)*0.9594
122 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFF SET BY
# THE IONISATION ENERGY
if(EN <= (2.0*EION[1]:
)) GO TO 129
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
#
# IONISATION FOR CHARGE STATE =2
129 QION[2][I]=0.00
PEQION[2][I]=0.50
if(NANISO == 2):
PEQION[2][I]=0.00
if(EN <= EION[2]:
) GO TO 149
if(EN > XIN2(NION2):
) GO TO 141
DO 130 J=2,NION2
if(EN <= XIN2[J]:
) GO TO 140
130 CONTINUE
J=NION2
140 A=(YIN2[J]-YIN2[J-1])/(XIN2[J]-XIN2[J-1])
B=(XIN2[J-1]*YIN2[J]-XIN2[J]*YIN2[J-1])/(XIN2[J-1]-XIN2[J])
QION[2][I]=(A*EN+B)*1.0D-16
GO TO 142
# USE BORN BETHE X-SECTION ABOVE XIN2(NION2) EV
141 AX2=1.00/BETA2
AX1=AX2*math.log(BETA2/(1.00-BETA2))-1.00
QION[2][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)*0.0388
142 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFF SET BY
# THE IONISATION ENERGY
if(EN <= (2.0*EION[2]:
)) GO TO 149
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
#
# IONISATION FOR CHARGE STATE =3
149 QION[3][I]=0.00
PEQION[3][I]=0.50
if(NANISO == 2):
PEQION[3][I]=0.00
if(EN <= EION[3]:
) GO TO 169
if(EN > XIN3(NION3):
) GO TO 161
DO 150 J=2,NION3
if(EN <= XIN3[J]:
) GO TO 160
150 CONTINUE
J=NION3
160 A=(YIN3[J]-YIN3[J-1])/(XIN3[J]-XIN3[J-1])
B=(XIN3[J-1]*YIN3[J]-XIN3[J]*YIN3[J-1])/(XIN3[J-1]-XIN3[J])
QION[3][I]=(A*EN+B)*1.0D-16
GO TO 162
# USE BORN BETHE X-SECTION ABOVE XIN3(NION3) EV
161 AX2=1.00/BETA2
AX1=AX2*math.log(BETA2/(1.00-BETA2))-1.00
QION[3][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)*0.00215
162 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFF SET BY
# THE IONISATION ENERGY
if(EN <= (2.0*EION[3]:
)) GO TO 169
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
#
# CALCULATE K-SHELL IONISATION
169 QION[4][I]=0.00
PEQION[4][I]=0.50
if(NANISO == 2):
PEQION[4][I]=0.0
if(EN <= EION[4]:
) GO TO 198
DO 192 J=2,NKSH
if(EN <= XKSH[J]:
) GO TO 193
192 CONTINUE
J=NKSH
193 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
QION[4][I]=(A*EN+B)*1.e-16
PEQION[4][I]=PEQEL[2][(I-IOFFION[4]])
198 CONTINUE
# ATTACHMENT
Q[4][I]=0.00
# COUNTING IONISATION
Q[5][I]=0.00
PEQEL[5][I]=0.50
if(NANISO == 2):
PEQEL[5][I]=0.00
if(EN <= E[3]:
) GO TO 242
if(EN > XION(NIOND):
) GO TO 241
DO 230 J=2,NIOND
if(EN <= XION[J]:
) GO TO 240
230 CONTINUE
J=NIOND
240 A=(YINC[J]-YINC[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YINC[J]-XION[J]*YINC[J-1])/(XION[J-1]-XION[J])
Q[5][I]=(A*EN+B)*1.0D-16
GO TO 242
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
241 Q[5][I]=CONST*(AM2*(AX1-DEN[I]/2.0)+C*AX2)
242 CONTINUE
# CORRECTION TO CHARGE STATE 1 2 AND 3 X-SECTION FOR K SHELL
# GIVES TOTAL IONISATION EQUAL TO OSCILLATOR SUM
if(Q[5][I]:
== 0.0) :
QCORR=1.0
else:
QCORR=(Q[5][I]-QION[4][I])/Q[5][I]
# endif
QION[1][I]=QION[1][I]*QCORR
QION[2][I]=QION[2][I]*QCORR
QION[3][I]=QION[3][I]*QCORR
#
Q[6][I]=0.00
#
DO 251 NL=1,NIN+1
QIN(NL,I)=0.00
PEQIN(NL,I)=0.50
if(NANISO == 2):
:
PEQIN(NL,I)=0.00
# endif
251 CONTINUE
#
# 1S5 METASTABLE LEVEL
if(EN <= EIN[1]:
) GO TO 2000
if(EN > X1S5(N1S5):
) GO TO 311
DO 300 J=2,N1S5
if(EN <= X1S5[J]:
) GO TO 310
300 CONTINUE
J=N1S5
310 A=(Y1S5[J]-Y1S5[J-1])/(X1S5[J]-X1S5[J-1])
B=(X1S5[J-1]*Y1S5[J]-X1S5[J]*Y1S5[J-1])/(X1S5[J-1]-X1S5[J])
QIN[1][I]=(A*EN+B)*1.0D-18
GO TO 312
# IF ENERGY GT X1S5(N1S5) EV SCALE BY 1/E**3
311 QIN[1][I]=Y1S5(N1S5)*(X1S5(N1S5)/EN)**3*1.0D-18
312 if(EN <= (2.0*EIN[1])) GO TO 320
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]#
# 1S4 RESONANCE LEVEL F=0.0118
320 if(EN <= EIN[2]) GO TO 2000
if(EN > X1S4(N1S4):
) GO TO 341
DO 330 J=2,N1S4
if(EN <= X1S4[J]:
) GO TO 340
330 CONTINUE
J=N1S4
340 A=(Y1S4[J]-Y1S4[J-1])/(X1S4[J]-X1S4[J-1])
B=(X1S4[J-1]*Y1S4[J]-X1S4[J]*Y1S4[J-1])/(X1S4[J-1]-X1S4[J])
QIN[2][I]=(A*EN+B)*1.0D-18
GO TO 342
# IF ENERGY GT X1S4(N1S4) EV USE BEF SCALING
341 QIN[2][I]=0.0118/(EIN[2]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[2]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[2]+E[3])
QIN[2][I]=abs(QIN[2][I])
342 if(EN <= (2.0*EIN[2])) GO TO 350
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]
# 1S3 METASTABLE LEVEL
350 if(EN <= EIN[3]) GO TO 2000
if(EN > X1S3(N1S3):
) GO TO 371
DO 360 J=2,N1S3
if(EN <= X1S3[J]:
) GO TO 370
360 CONTINUE
J=N1S3
370 A=(Y1S3[J]-Y1S3[J-1])/(X1S3[J]-X1S3[J-1])
B=(X1S3[J-1]*Y1S3[J]-X1S3[J]*Y1S3[J-1])/(X1S3[J-1]-X1S3[J])
QIN[3][I]=(A*EN+B)*1.0D-18
GO TO 372
# IF ENERGY GT X1S3(N1S3) EV SCALE BY 1/E**3
371 QIN[3][I]=Y1S3(N1S3)*(X1S3(N1S3)/EN)**3*1.e-18
372 if(EN <= (2.0*EIN[3])) GO TO 380
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]
# 1S2 RESONANCE LEVEL F=0.159
380 if(EN <= EIN[4]) GO TO 2000
if(EN > X1S2(N1S2):
) GO TO 401
DO 390 J=2,N1S2
if(EN <= X1S2[J]:
) GO TO 400
390 CONTINUE
J=N1S2
400 A=(Y1S2[J]-Y1S2[J-1])/(X1S2[J]-X1S2[J-1])
B=(X1S2[J-1]*Y1S2[J]-X1S2[J]*Y1S2[J-1])/(X1S2[J-1]-X1S2[J])
QIN[4][I]=(A*EN+B)*1.0D-18
GO TO 402
# IF ENERGY GT X1S2(N1S2) EV USE BEF SCALING
401 QIN[4][I]=0.1590/(EIN[4]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[4]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[4]+E[3])
QIN[4][I]=abs(QIN[4][I])
402 if(EN <= (2.0*EIN[4])) GO TO 410
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]
# 2P10
410 if(EN <= EIN[5]) GO TO 2000
if(EN > X2P10(N2P10):
) GO TO 431
DO 420 J=2,N2P10
if(EN <= X2P10[J]:
) GO TO 430
420 CONTINUE
J=N2P10
430 A=(Y2P10[J]-Y2P10[J-1])/(X2P10[J]-X2P10[J-1])
B=(X2P10[J-1]*Y2P10[J]-X2P10[J]*Y2P10[J-1])/(X2P10[J-1]-X2P10[J])
QIN[5][I]=(A*EN+B)*1.0D-18
GO TO 432
# IF ENERGY GT X2P10(N2P10) EV SCALE BY 1/E**2
431 QIN[5][I]=Y2P10(N2P10)*(X2P10(N2P10)/EN)**2*1.e-18
432 if(EN <= (2.0*EIN[5])) GO TO 440
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))]
# 2P9
440 if(EN <= EIN[6]) GO TO 2000
if(EN > X2P9(N2P9):
) GO TO 461
DO 450 J=2,N2P9
if(EN <= X2P9[J]:
) GO TO 460
450 CONTINUE
J=N2P9
460 A=(Y2P9[J]-Y2P9[J-1])/(X2P9[J]-X2P9[J-1])
B=(X2P9[J-1]*Y2P9[J]-X2P9[J]*Y2P9[J-1])/(X2P9[J-1]-X2P9[J])
QIN[6][I]=(A*EN+B)*1.0D-18
GO TO 462
# IF ENERGY GT X2P9(N2P9) EV SCALE BY 1/E**2
461 QIN[6][I]=Y2P9(N2P9)*(X2P9(N2P9)/EN)**2*1.e-18
462 if(EN <= (2.0*EIN[6])) GO TO 470
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]
# 2P8
470 if(EN <= EIN[7]) GO TO 2000
if(EN > X2P8(N2P8):
) GO TO 491
DO 480 J=2,N2P8
if(EN <= X2P8[J]:
) GO TO 490
480 CONTINUE
J=N2P8
490 A=(Y2P8[J]-Y2P8[J-1])/(X2P8[J]-X2P8[J-1])
B=(X2P8[J-1]*Y2P8[J]-X2P8[J]*Y2P8[J-1])/(X2P8[J-1]-X2P8[J])
QIN[7][I]=(A*EN+B)*1.0D-18
GO TO 492
# IF ENERGY GT X2P8(N2P8) EV SCALE BY 1/E
491 QIN[7][I]=Y2P8(N2P8)*(X2P8(N2P8)/EN)*1.e-18
492 if(EN <= (2.0*EIN[7])) GO TO 500
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]
# 2P7
500 if(EN <= EIN[8]) GO TO 2000
if(EN > X2P7(N2P7):
) GO TO 521
DO 510 J=2,N2P7
if(EN <= X2P7[J]:
) GO TO 520
510 CONTINUE
J=N2P7
520 A=(Y2P7[J]-Y2P7[J-1])/(X2P7[J]-X2P7[J-1])
B=(X2P7[J-1]*Y2P7[J]-X2P7[J]*Y2P7[J-1])/(X2P7[J-1]-X2P7[J])
QIN[8][I]=(A*EN+B)*1.0D-18
GO TO 522
# IF ENERGY GT X2P7(N2P7) EV SCALE BY 1/E**2
521 QIN[8][I]=Y2P7(N2P7)*(X2P7(N2P7)/EN)**2*1.e-18
522 if(EN <= (2.0*EIN[8])) GO TO 530
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]
# 2P6
530 if(EN <= EIN[9]) GO TO 2000
if(EN > X2P6(N2P6):
) GO TO 551
DO 540 J=2,N2P6
if(EN <= X2P6[J]:
) GO TO 550
540 CONTINUE
J=N2P6
550 A=(Y2P6[J]-Y2P6[J-1])/(X2P6[J]-X2P6[J-1])
B=(X2P6[J-1]*Y2P6[J]-X2P6[J]*Y2P6[J-1])/(X2P6[J-1]-X2P6[J])
QIN[9][I]=(A*EN+B)*1.0D-18
GO TO 552
# IF ENERGY GT X2P6(N2P6) EV SCALE BY 1/E
551 QIN[9][I]=Y2P6(N2P6)*(X2P6(N2P6)/EN)*1.e-18
552 if(EN <= (2.0*EIN[9])) GO TO 560
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]
# 2P5
560 if(EN <= EIN[10]) GO TO 2000
if(EN > X2P5(N2P5):
) GO TO 581
DO 570 J=2,N2P5
if(EN <= X2P5[J]:
) GO TO 580
570 CONTINUE
J=N2P5
580 A=(Y2P5[J]-Y2P5[J-1])/(X2P5[J]-X2P5[J-1])
B=(X2P5[J-1]*Y2P5[J]-X2P5[J]*Y2P5[J-1])/(X2P5[J-1]-X2P5[J])
QIN[10][I]=(A*EN+B)*1.0D-18
GO TO 582
# IF ENERGY GT X2P5(N2P5) EV SCALE BY 1/E**2
581 QIN[10][I]=Y2P5(N2P5)*(X2P5(N2P5)/EN)**2*1.e-18
582 if(EN <= (2.0*EIN[10])) GO TO 590
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
# 2P4
590 if(EN <= EIN[11]) GO TO 2000
if(EN > X2P4(N2P4):
) GO TO 611
DO 600 J=2,N2P4
if(EN <= X2P4[J]:
) GO TO 610
600 CONTINUE
J=N2P4
610 A=(Y2P4[J]-Y2P4[J-1])/(X2P4[J]-X2P4[J-1])
B=(X2P4[J-1]*Y2P4[J]-X2P4[J]*Y2P4[J-1])/(X2P4[J-1]-X2P4[J])
QIN[11][I]=(A*EN+B)*1.0D-18
GO TO 612
# IF ENERGY GT X2P4(N2P4) EV SCALE BY 1/E
611 QIN[11][I]=Y2P4(N2P4)*(X2P4(N2P4)/EN)*1.e-18
612 if(EN <= (2.0*EIN[11])) GO TO 620
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
# 2P3
620 if(EN <= EIN[12]) GO TO 2000
if(EN > X2P3(N2P3):
) GO TO 641
DO 630 J=2,N2P3
if(EN <= X2P3[J]:
) GO TO 640
630 CONTINUE
J=N2P3
640 A=(Y2P3[J]-Y2P3[J-1])/(X2P3[J]-X2P3[J-1])
B=(X2P3[J-1]*Y2P3[J]-X2P3[J]*Y2P3[J-1])/(X2P3[J-1]-X2P3[J])
QIN[12][I]=(A*EN+B)*1.0D-18
GO TO 642
# IF ENERGY GT X2P3(N2P3) EV SCALE BY 1/E
641 QIN[12][I]=Y2P3(N2P3)*(X2P3(N2P3)/EN)*1.e-18
642 if(EN <= (2.0*EIN[12])) GO TO 650
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# 2P2
650 if(EN <= EIN[13]) GO TO 2000
if(EN > X2P2(N2P2):
) GO TO 671
DO 660 J=2,N2P2
if(EN <= X2P2[J]:
) GO TO 670
660 CONTINUE
J=N2P2
670 A=(Y2P2[J]-Y2P2[J-1])/(X2P2[J]-X2P2[J-1])
B=(X2P2[J-1]*Y2P2[J]-X2P2[J]*Y2P2[J-1])/(X2P2[J-1]-X2P2[J])
QIN[13][I]=(A*EN+B)*1.0D-18
GO TO 672
# IF ENERGY GT X2P2(N2P2) EV SCALE BY 1/E**2
671 QIN[13][I]=Y2P2(N2P2)*(X2P2(N2P2)/EN)**2*1.e-18
672 if(EN <= (2.0*EIN[13])) GO TO 680
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# 2P1
680 if(EN <= EIN[14]) GO TO 2000
if(EN > X2P1(N2P1):
) GO TO 701
DO 690 J=2,N2P1
if(EN <= X2P1[J]:
) GO TO 700
690 CONTINUE
J=N2P1
700 A=(Y2P1[J]-Y2P1[J-1])/(X2P1[J]-X2P1[J-1])
B=(X2P1[J-1]*Y2P1[J]-X2P1[J]*Y2P1[J-1])/(X2P1[J-1]-X2P1[J])
QIN[14][I]=(A*EN+B)*1.0D-18
GO TO 702
# IF ENERGY GT X2P1(N2P1) EV SCALE BY 1/E
701 QIN[14][I]=Y2P1(N2P1)*(X2P1(N2P1)/EN)*1.e-18
702 if(EN <= (2.0*EIN[14])) GO TO 710
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# 2S5
710 if(EN <= EIN[15]) GO TO 2000
if(EN > X2S5(N2S5):
) GO TO 731
DO 720 J=2,N2S5
if(EN <= X2S5[J]:
) GO TO 730
720 CONTINUE
J=N2S5
730 A=(Y2S5[J]-Y2S5[J-1])/(X2S5[J]-X2S5[J-1])
B=(X2S5[J-1]*Y2S5[J]-X2S5[J]*Y2S5[J-1])/(X2S5[J-1]-X2S5[J])
QIN[15][I]=(A*EN+B)*1.0D-18
GO TO 732
# IF ENERGY GT X2S5(N2S5) EV SCALE BY 1/E**2
731 QIN[15][I]=Y2S5(N2S5)*(X2S5(N2S5)/EN)**2*1.e-18
732 if(EN <= (2.0*EIN[15])) GO TO 740
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# 2S4 BEF SCALING
740 if(EN <= EIN[16]) GO TO 2000
QIN[16][I]=0.0128/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[16]+E[3])
QIN[16][I]=abs(QIN[16][I])
if(EN <= (2.0*EIN[16]:
)) GO TO 750
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# 2S3
750 if(EN <= EIN[17]) GO TO 2000
if(EN > X2S3(N2S3):
) GO TO 771
DO 760 J=2,N2S3
if(EN <= X2S3[J]:
) GO TO 770
760 CONTINUE
J=N2S3
770 A=(Y2S3[J]-Y2S3[J-1])/(X2S3[J]-X2S3[J-1])
B=(X2S3[J-1]*Y2S3[J]-X2S3[J]*Y2S3[J-1])/(X2S3[J-1]-X2S3[J])
QIN[17][I]=(A*EN+B)*1.0D-18
GO TO 772
# IF ENERGY GT X2S3(N2S3) EV SCALE BY 1/E**2
771 QIN[17][I]=Y2S3(N2S3)*(X2S3(N2S3)/EN)**2*1.e-18
772 if(EN <= (2.0*EIN[17])) GO TO 780
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# 2S2 BEF SCALING
780 if(EN <= EIN[18]) GO TO 2000
QIN[18][I]=0.0166/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])
QIN[18][I]=abs(QIN[18][I])
if(EN <= (2.0*EIN[18]:
)) GO TO 790
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# 3D6
790 if(EN <= EIN[19]) GO TO 2000
if(EN > X3D6(N3D6):
) GO TO 811
DO 800 J=2,N3D6
if(EN <= X3D6[J]:
) GO TO 810
800 CONTINUE
J=N3D6
810 A=(Y3D6[J]-Y3D6[J-1])/(X3D6[J]-X3D6[J-1])
B=(X3D6[J-1]*Y3D6[J]-X3D6[J]*Y3D6[J-1])/(X3D6[J-1]-X3D6[J])
QIN[19][I]=(A*EN+B)*1.0D-18
GO TO 812
# IF ENERGY GT X3D6(N3D6) EV SCALE BY 1/E**2
811 QIN[19][I]=Y3D6(N3D6)*(X3D6(N3D6)/EN)**2*1.e-18
812 if(EN <= (2.0*EIN[19])) GO TO 820
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# 3D5 BEF SCALING
820 if(EN <= EIN[20]) GO TO 2000
QIN[20][I]=0.0048/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+E[3])
QIN[20][I]=abs(QIN[20][I])
if(EN <= (2.0*EIN[20]:
)) GO TO 830
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# 3D4#
830 if(EN <= EIN[21]) GO TO 2000
if(EN > X3D4P(N3D4P):
) GO TO 851
DO 840 J=2,N3D4P
if(EN <= X3D4P[J]:
) GO TO 850
840 CONTINUE
J=N3D4P
850 A=(Y3D4P[J]-Y3D4P[J-1])/(X3D4P[J]-X3D4P[J-1])
B=(X3D4P[J-1]*Y3D4P[J]-X3D4P[J]*Y3D4P[J-1])/(X3D4P[J-1]-X3D4P[J])
QIN[21][I]=(A*EN+B)*1.0D-18
GO TO 852
# IF ENERGY GT X3D4P(N3D4P) EV SCALE BY 1/E**2
851 QIN[21][I]=Y3D4P(N3D4P)*(X3D4P(N3D4P)/EN)**2*1.e-18
852 if(EN <= (2.0*EIN[21])) GO TO 860
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# 3D4
860 if(EN <= EIN[22]) GO TO 2000
if(EN > X3D4(N3D4):
) GO TO 881
DO 870 J=2,N3D4
if(EN <= X3D4[J]:
) GO TO 880
870 CONTINUE
J=N3D4
880 A=(Y3D4[J]-Y3D4[J-1])/(X3D4[J]-X3D4[J-1])
B=(X3D4[J-1]*Y3D4[J]-X3D4[J]*Y3D4[J-1])/(X3D4[J-1]-X3D4[J])
QIN[22][I]=(A*EN+B)*1.0D-18
GO TO 882
# IF ENERGY GT X3D4(N3D4) EV SCALE BY 1/E**2
881 QIN[22][I]=Y3D4(N3D4)*(X3D4(N3D4)/EN)**2*1.e-18
882 if(EN <= (2.0*EIN[22])) GO TO 890
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# 3D3
890 if(EN <= EIN[23]) GO TO 2000
if(EN > X3D3(N3D3):
) GO TO 911
DO 900 J=2,N3D3
if(EN <= X3D3[J]:
) GO TO 910
900 CONTINUE
J=N3D3
910 A=(Y3D3[J]-Y3D3[J-1])/(X3D3[J]-X3D3[J-1])
B=(X3D3[J-1]*Y3D3[J]-X3D3[J]*Y3D3[J-1])/(X3D3[J-1]-X3D3[J])
QIN[23][I]=(A*EN+B)*1.0D-18
GO TO 912
# IF ENERGY GT X3D3(N3D3) EV SCALE BY 1/E**2
911 QIN[23][I]=Y3D3(N3D3)*(X3D3(N3D3)/EN)**2*1.e-18
912 if(EN <= (2.0*EIN[23])) GO TO 920
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# 3D2 BEF SCALING
920 if(EN <= EIN[24]) GO TO 2000
QIN[24][I]=0.0146/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])
QIN[24][I]=abs(QIN[24][I])
if(EN <= (2.0*EIN[24]:
)) GO TO 930
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# 3D1##
930 if(EN <= EIN[25]) GO TO 2000
if(EN > X3D1PP(N3D1PP):
) GO TO 951
DO 940 J=2,N3D1PP
if(EN <= X3D1PP[J]:
) GO TO 950
940 CONTINUE
J=N3D1PP
950 A=(Y3D1PP[J]-Y3D1PP[J-1])/(X3D1PP[J]-X3D1PP[J-1])
B=(X3D1PP[J-1]*Y3D1PP[J]-X3D1PP[J]*Y3D1PP[J-1])/(X3D1PP[J-1]-X3D1PP[J])
QIN[25][I]=(A*EN+B)*1.0D-18
GO TO 952
# IF ENERGY GT X3D1PP(N3D1PP) EV SCALE BY 1/E**2
951 QIN[25][I]=Y3D1PP(N3D1PP)*(X3D1PP(N3D1PP)/EN)**2*1.e-18
952 if(EN <= (2.0*EIN[25])) GO TO 960
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
# 3D1#
960 if(EN <= EIN[26]) GO TO 2000
if(EN > X3D1P(N3D1P):
) GO TO 981
DO 970 J=2,N3D1P
if(EN <= X3D1P[J]:
) GO TO 980
970 CONTINUE
J=N3D1P
980 A=(Y3D1P[J]-Y3D1P[J-1])/(X3D1P[J]-X3D1P[J-1])
B=(X3D1P[J-1]*Y3D1P[J]-X3D1P[J]*Y3D1P[J-1])/(X3D1P[J-1]-X3D1P[J])
QIN[26][I]=(A*EN+B)*1.0D-18
GO TO 982
# IF ENERGY GT X3D1P(N3D1P) EV SCALE BY 1/E**2
981 QIN[26][I]=Y3D1P(N3D1P)*(X3D1P(N3D1P)/EN)**2*1.e-18
982 if(EN <= (2.0*EIN[26])) GO TO 990
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# 3S1####
990 if(EN <= EIN[27]) GO TO 2000
if(EN > X3S1PPPP(N3S1PPPP):
) GO TO 1011
DO 1000 J=2,N3S1PPPP
if(EN <= X3S1PPPP[J]:
) GO TO 1010
1000 CONTINUE
J=N3S1PPPP
1010 A=(Y3S1PPPP[J]-Y3S1PPPP[J-1])/(X3S1PPPP[J]-X3S1PPPP[J-1])
B=(X3S1PPPP[J-1]*Y3S1PPPP[J]-X3S1PPPP[J]*Y3S1PPPP[J-1])/(X3S1PPPP[J-1]-X3S1PPPP[J])
QIN[27][I]=(A*EN+B)*1.0D-18
GO TO 1012
# IF ENERGY GT X3S1PPPP(N3S1PPPP) EV SCALE BY 1/E**2
1011 QIN[27][I]=Y3S1PPPP(N3S1PPPP)*(X3S1PPPP(N3S1PPPP)/EN)**2*1.e-18
1012 if(EN <= (2.0*EIN[27])) GO TO 1020
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# 3S1###
1020 if(EN <= EIN[28]) GO TO 2000
if(EN > X3S1PPP(N3S1PPP):
) GO TO 1041
DO 1030 J=2,N3S1PPP
if(EN <= X3S1PPP[J]:
) GO TO 1040
1030 CONTINUE
J=N3S1PPP
1040 A=(Y3S1PPP[J]-Y3S1PPP[J-1])/(X3S1PPP[J]-X3S1PPP[J-1])
B=(X3S1PPP[J-1]*Y3S1PPP[J]-X3S1PPP[J]*Y3S1PPP[J-1])/(X3S1PPP[J-1]-X3S1PPP[J])
QIN[28][I]=(A*EN+B)*1.0D-18
GO TO 1042
# IF ENERGY GT X3S1PPP(N3S1PPP) EV SCALE BY 1/E**2
1041 QIN[28][I]=Y3S1PPP(N3S1PPP)*(X3S1PPP(N3S1PPP)/EN)**2*1.e-18
1042 if(EN <= (2.0*EIN[28])) GO TO 1050
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# 3S1##
1050 if(EN <= EIN[29]) GO TO 2000
if(EN > X3S1PP(N3S1PP):
) GO TO 1071
DO 1060 J=2,N3S1PP
if(EN <= X3S1PP[J]:
) GO TO 1070
1060 CONTINUE
J=N3S1PP
1070 A=(Y3S1PP[J]-Y3S1PP[J-1])/(X3S1PP[J]-X3S1PP[J-1])
B=(X3S1PP[J-1]*Y3S1PP[J]-X3S1PP[J]*Y3S1PP[J-1])/(X3S1PP[J-1]-X3S1PP[J])
QIN[29][I]=(A*EN+B)*1.0D-18
GO TO 1072
# IF ENERGY GT X3S1PP(N3S1PP) EV SCALE BY 1/E**2
1071 QIN[29][I]=Y3S1PP(N3S1PP)*(X3S1PP(N3S1PP)/EN)**2*1.e-18
1072 if(EN <= (2.0*EIN[29])) GO TO 1080
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# 3S1# BEF SCALING
1080 if(EN <= EIN[30]) GO TO 2000
QIN[30][I]=0.00676/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])
QIN[30][I]=abs(QIN[30][I])
if(EN <= (2.0*EIN[30]:
)) GO TO 1090
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# SUM 3P10--3P6
1090 if(EN <= EIN[31]) GO TO 2000
if(EN > X3P106(N3P106):
) GO TO 1111
DO 1100 J=2,N3P106
if(EN <= X3P106[J]:
) GO TO 1110
1100 CONTINUE
J=N3P106
1110 A=(Y3P106[J]-Y3P106[J-1])/(X3P106[J]-X3P106[J-1])
B=(X3P106[J-1]*Y3P106[J]-X3P106[J]*Y3P106[J-1])/(X3P106[J-1]-X3P106[J])
QIN[31][I]=(A*EN+B)*1.0D-18
GO TO 1112
# IF ENERGY GT X3P106(N3P106) EV SCALE BY 1/E**1.5
1111 QIN[31][I]=Y3P106(N3P106)*(X3P106(N3P106)/EN)**1.5*1.e-18
1112 if(EN <= (2.0*EIN[31])) GO TO 1120
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# SUM 3P5--3P2
1120 if(EN <= EIN[32]) GO TO 2000
if(EN > X3P52(N3P52):
) GO TO 1141
DO 1130 J=2,N3P52
if(EN <= X3P52[J]:
) GO TO 1140
1130 CONTINUE
J=N3P52
1140 A=(Y3P52[J]-Y3P52[J-1])/(X3P52[J]-X3P52[J-1])
B=(X3P52[J-1]*Y3P52[J]-X3P52[J]*Y3P52[J-1])/(X3P52[J-1]-X3P52[J])
QIN[32][I]=(A*EN+B)*1.0D-18
GO TO 1142
# IF ENERGY GT X3P52(N3P52) EV SCALE BY 1/E**1.5
1141 QIN[32][I]=Y3P52(N3P52)*(X3P52(N3P52)/EN)**1.5*1.e-18
1142 if(EN <= (2.0*EIN[32])) GO TO 1150
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# 3P1
1150 if(EN <= EIN[33]) GO TO 2000
if(EN > X3P1(N3P1):
) GO TO 1171
DO 1160 J=2,N3P1
if(EN <= X3P1[J]:
) GO TO 1170
1160 CONTINUE
J=N3P1
1170 A=(Y3P1[J]-Y3P1[J-1])/(X3P1[J]-X3P1[J-1])
B=(X3P1[J-1]*Y3P1[J]-X3P1[J]*Y3P1[J-1])/(X3P1[J-1]-X3P1[J])
QIN[33][I]=(A*EN+B)*1.0D-18
GO TO 1172
# IF ENERGY GT X3P1(N3P1) EV SCALE BY 1/E
1171 QIN[33][I]=Y3P1(N3P1)*(X3P1(N3P1)/EN)*1.e-18
1172 if(EN <= (2.0*EIN[33])) GO TO 1180
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# 3S4 BEF SCALING
1180 if(EN <= EIN[34]) GO TO 2000
QIN[34][I]=0.00635/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])
QIN[34][I]=abs(QIN[34][I])
if(EN <= (2.0*EIN[34]:
)) GO TO 1190
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# 3S2 BEF SCALING
1190 if(EN <= EIN[35]) GO TO 2000
QIN[35][I]=0.00440/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+E[3])
QIN[35][I]=abs(QIN[35][I])
if(EN <= (2.0*EIN[35]:
)) GO TO 1200
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# 4D5 BEF SCALING
1200 if(EN <= EIN[36]) GO TO 2000
QIN[36][I]=0.00705/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[36]+E[3])
QIN[36][I]=abs(QIN[36][I])
if(EN <= (2.0*EIN[36]:
)) GO TO 1210
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
# 4D2 BEF SCALING
1210 if(EN <= EIN[37]) GO TO 2000
QIN[37][I]=0.00235/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+E[3])
QIN[37][I]=abs(QIN[37][I])
if(EN <= (2.0*EIN[37]:
)) GO TO 1220
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
# 4S1# BEF SCALING
1220 if(EN <= EIN[38]) GO TO 2000
QIN[38][I]=0.00435/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+E[3])
QIN[38][I]=abs(QIN[38][I])
if(EN <= (2.0*EIN[38]:
)) GO TO 1230
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
# 4S4 BEF SCALING
1230 if(EN <= EIN[39]) GO TO 2000
QIN[39][I]=0.00325/(EIN[39]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[39]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[39]+E[3])
QIN[39][I]=abs(QIN[39][I])
if(EN <= (2.0*EIN[39]:
)) GO TO 1240
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
# 5D5 BEF SCALING
1240 if(EN <= EIN[40]) GO TO 2000
QIN[40][I]=0.00383/(EIN[40]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[40]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[40]+E[3])
QIN[40][I]=abs(QIN[40][I])
if(EN <= (2.0*EIN[40]:
)) GO TO 1250
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
# 5D2 BEF SCALING
1250 if(EN <= EIN[41]) GO TO 2000
QIN[41][I]=0.00127/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[41]+E[3])
QIN[41][I]=abs(QIN[41][I])
if(EN <= (2.0*EIN[41]:
)) GO TO 1260
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
# 4S2 BEF SCALING
1260 if(EN <= EIN[42]) GO TO 2000
QIN[42][I]=0.00165/(EIN[42]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[42]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[42]+E[3])
QIN[42][I]=abs(QIN[42][I])
if(EN <= (2.0*EIN[42]:
)) GO TO 1270
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
# 5S1# BEF SCALING
1270 if(EN <= EIN[43]) GO TO 2000
QIN[43][I]=0.00250/(EIN[43]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[43]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[43]+E[3])
QIN[43][I]=abs(QIN[43][I])
if(EN <= (2.0*EIN[43]:
)) GO TO 1280
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
# SUM HIGHER RESONANCE S STATES
1280 if(EN <= EIN[44]) GO TO 2000
QIN[44][I]=0.00962/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+E[3])
QIN[44][I]=abs(QIN[44][I])
if(EN <= (2.0*EIN[44]:
)) GO TO 1290
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
# SUM HIGHER RESONANCE S STATES
1290 if(EN <= EIN[45]) GO TO 2000
QIN[45][I]=0.01695/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])
QIN[45][I]=abs(QIN[45][I])
if(EN <= (2.0*EIN[45]:
)) GO TO 2000
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
# LOAD BREMSSTRAHLUNG X-SECTIONS
if(EN < 1000.):
GO TO 2000
DO 1300 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 1310
1300 CONTINUE
J=NBREM
1310 A=(math.log(Z10T[J])-math.log(Z10T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z10T[J])*EBRM[J-1]-math.log(Z10T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[46][I]=math.exp(A*EN+B)*1.e-24
2000 CONTINUE
QINEL=0.0
DO 8000 ILVL=1,NIN
8000 QINEL=QINEL+QIN(ILVL,I)
Q[1][I]=QELA+QION[1][I]+QION[2][I]+QION[3][I]+QION[4][I]+QINEL+QIN[46][I]
# WRITE TOTAL, COUNTING IONISATION, INELASTIC AND ELASTIC X-SECTIONS
# WRITE(6,8001) EN,Q[1][I],Q[5][I],QINEL,QELA
#8001 print(3X,' EN=','%.4f' % ,' QTOT=','%.4f' % ,' QION=','%.4f' % ,' QINEL=',
# /'%.4f' % ,' QELA=','%.4f' % )
9000 CONTINUE
# SAVE COMPUTING TIME
DO 9001 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 9011
# endif
9001 CONTINUE
9011 CONTINUE
if(EFINAL > 1000.):
NIN=46
return
# end
def GAS6(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(162),YXSEC(162),XEL(151),YEL(151),XEPS(186),YEPS(186),XION(65),YION(65),YINC(65),YIN1(65),XIN2[41],YIN2[41],XIN3[35],YIN3[35],XIN4[32],YIN4[32],XKSH(74),YKSH(74),XL1S(83),YL1S(83),XL2S(82),YL2S(82),XL3S(84),YL3S(84),XM1S(91),YM1S(91),XM2S(98),YM2S(98),XM3S(99),YM3S(99),XM4S(105),YM4S(105),XM5S(106),YM5S(106),XEXC1(105),YEXC1(105),XEXC2(86),YEXC2(86),X1S5(169),Y1S5(169),YP1S5(169),X1S4(130),Y1S4(130),YP1S4(130),X1S3(168),Y1S3(168),YP1S3(168),X1S2(150),Y1S2(150),YP1S2(150),X2P10(142),Y2P10(142),YP2P10(142),X2P9(117),Y2P9(117),YP2P9(117),X2P8(120),Y2P8(120),YP2P8(120),X2P7(111),Y2P7(111),YP2P7(111),X2P6(100),Y2P6(100),YP2P6(100),X2P5(102),Y2P5(102),YP2P5(102),X3D6(69),Y3D6(69),YP3D6(69),X3D5(75),Y3D5(75),YP3D5(75),X2P4[64],Y2P4[64],YP2P4[64],X3D3(74),Y3D3(74),YP3D3(74),X3D4P(73),Y3D4P(73),YP3D4P(73),X2P3(73),Y2P3(73),YP2P3(73),X2P2(75),Y2P2(75),YP2P2(75),X3D4[59],Y3D4[59],YP3D4[59],X2P1[51],Y2P1[51],YP2P1[51],X3D1PP[48],Y3D1PP[48],YP3D1PP[48],X3D1P[41],Y3D1P[41],YP3D1P[41],X2S5[44],Y2S5[44],YP2S5[44],X3P10[20],Y3P10[20],YP3P10[20],X3P9[20],Y3P9[20],YP3P9[20],X3P8[20],Y3P8[20],YP3P8[20],X3S1PP[20],Y3S1PP[20],YP3S1PP[20],X3P7[20],Y3P7[20],YP3P7[20],X3P6[20],Y3P6[20],YP3P6[20],X3S1PPPP[20],Y3S1PPPP[20],YP3S1PPPP[20],X3S1PPP[20],Y3S1PPP[20],YP3S1PPP[20],X3P5[20],Y3P5[20],YP3P5[20],X4D6[20],Y4D6[20],YP4D6[20],X4D4P[20],Y4D4P[20],YP4D4P[20],X4D4[19],Y4D4[19],YP4D4[19],X4D3[19],Y4D3[19],YP4D3[19],X2S3[19],Y2S3[19],YP2S3[19],X4D1PP[19],Y4D1PP[19],YP4D1PP[19],X4D1P[19],Y4D1P[19],YP4D1P[19],X3S5[19],Y3S5[19],YP3S5[19],X4FS[19],Y4FS[19],YP4FS[19],IOFFN[51],IOFFION[11]
DIMENSION Z36T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ELASTIC MOMENTUM TRANSFER
XEN=[1.e-6,.001,.003,.005,.007,0.01,.015,0.02,0.03,0.04, 0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.14,0.17,0.20, 0.25,0.30,0.35,0.40,0.45,0.50,0.52,0.54,0.56,0.60, 0.70,0.80,0.90,1.00,1.20,1.40,1.75,2.00,2.50,3.00, 3.30,3.60,4.00,4.40,4.80,5.20,5.60,6.00,6.50,7.00, 7.50,8.00,8.50,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,20.0,30.0,40.0,50.0,60.0,75.0,100.,150.,200.,300.,400.,500.,700.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELFORD UP TO 2.0 EV : FIT TO NAKAMURA DRIFT VELOCITY
YXSEC=[37.4,33.1,30.0,27.9,26.2,24.2,21.6,19.5,16.3,13.9, 12.1,10.6,9.30,8.27,7.29,6.55,5.27,4.30,3.18,2.37, 1.47,.908,.548,.321,.184,.111,.0956,.0870,.0844,.0945,.187,.339,.525,.729,1.15,1.63,2.60,3.38,4.75,6.35, 7.32,8.28,9.51,10.7,11.9,13.2,14.3,15.3,16.6,17.7, 18.6,19.0,18.9,18.7,18.1,17.1,15.7,14.2,12.7,11.1,9.60,6.50,2.95,1.95,1.40,1.25,1.20,1.18,0.94,0.80,0.64,0.54,0.48,0.41,.340,.270,.222,.183,.154,.113,.0881,.0711,.0591,.0501,.0432,.033,.026,.0212,.0176,.0149,.0104,.00778,.00605,.00486,.00336,.00248,.00192,.00153,.00105,.000773,4.76e-4,3.28e-4,2.26e-4,1.68e-4,1.30e-4,1.05e-4,7.35e-5,5.51e-5,4.33e-5,3.53e-5,2.94e-5,2.51e-5,1.90e-5,1.51e-5,1.23e-5,1.03e-5,8.81e-6,6.19e-6,4.68e-6,3.69e-6,2.99e-6,2.10e-6,1.57e-6,1.22e-6,9.76e-7,8.02e-7,6.71e-7,4.92e-7,3.77e-7,2.99e-7,2.43e-7,2.02e-7,1.35e-7,9.74e-8,7.36e-8,5.76e-8,3.81e-8,2.71e-8,2.02e-8,1.57e-8,1.25e-8,1.02e-8,7.13e-9,5.26e-9,4.03e-9,3.19e-9,2.58e-9,1.65e-9,1.14e-9,8.40e-10,6.43e-10,4.11e-10,2.85e-10,2.09e-10,1.60e-10,1.26e-10,1.02e-10,7.10e-11,5.21e-11,3.99e-11,3.15e-11,2.55e-11]
# ELASTIC CONSISTENT WITHIN 1% OF TOTAL X-SECTION SUM
XEL=[1.e-6,.001,.003,.005,.007,0.01,.015,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.14,0.17,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,0.72,0.74,0.76,0.80,0.85,0.90,0.95,1.00,1.10,1.20,1.30,1.40,1.50,1.75,2.00,2.25,2.50,3.00,3.50,4.00,5.00,6.00,7.00,8.00,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0,20.0,22.5,25.0,27.5,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,1000.,1200.,1500.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6.0D3,7.0D3,8.0D3,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,1.D9]
YEL=[37.4,34.6,31.8,29.9,28.4,26.6,24.1,22.2,19.1,16.8,14.9,13.4,12.1,11.0,10.0,9.15,7.71,6.56,5.21,4.38,3.22,2.31,1.75,1.30,1.04,0.83,0.65,0.60,0.58,0.58,0.59,0.60,0.62,0.66,0.73,0.81,0.90,0.98,1.17,1.41,1.66,1.96,2.25,3.14,3.99,4.74,5.62,7.66,9.59,12.0,16.0,20.1,23.0,25.9,27.2,28.1,28.2,28.2,27.5,26.6,25.7,24.2,22.0,20.5,19.3,17.4,15.8,14.9,12.9,11.7,10.8,9.88,8.85,8.00,7.12,6.44,5.84,5.08,4.38,4.15,3.70,3.56,3.15,2.90,2.62,2.44,2.25,2.20,1.92,1.72,1.61,1.41,1.40,1.28,1.13,1.06,.951,.895,.826,.798,.744,.668,.617,.526,.450,.396,.354,.321,.272,.237,
# SMOOTH JOIN TO SALVAT BETWEEN E=10**5 AND 2*10**5 EV.211,.191,.161,.141,.114,.0973,.0817,.0709,.0630,.0568,.0504,.0461,.0430,.0408,.0390,.0376,.0356,.0342,.0332,.0324,.0318,.0308,.0301,.0297,.0294,.0290,.0288,.0286,.0285,.0284,.0284,.0283,.0283,.0283,.0282,.0282,.0282,.0282,.0282,.0282,.0282/
# ELASTIC ANGULAR DISTRIBUTION (EPSILON)
XEPS=[0.00,.001,.003,.005,.007,.010,.015,.020,.030,.040,0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.14,0.17,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.52,0.54,0.55,0.56,0.60,0.65,0.70,0.72,0.74,0.76,0.80,0.85,0.90,0.95,1.00,1.10,1.20,1.30,1.40,1.50,1.75,2.00,2.25,2.50,3.00,3.50,4.00,5.20,5.60,6.00,6.50,7.00,7.50,8.00,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0,20.0,22.5,25.0,27.5,30.0,35.0,40.0,45.0,50.0,60.0,70.0,75.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,1000.,1200.,1250.,1500.,1750.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC ANGULAR DISTRIBUTION PARAMETER EPSILON
# EPSILON= 1.0-YEPS
YEPS=[1.,.935,.9152,.8999,.8841,.8652,.8452,.8187,.7822,.7445,.7225,.6926,.6611,.6378,.6066,.5887,.5459,.5096,.4533,.3720,.2822,.2221,.1554,.1082,.0662,.0445,.0416,.0417,.0432,.0442,.0561,.0948,.1626,.1941,.2313,.2662,.3416,.4243,.5002,.5662,.6269,.6968,.7276,.7502,.7506,.7627,.7454,.7730,.7714,.7703, .7468,.7483,.6947,.6838,.6672,.6508,.6610,.6625,.6480,.6128,.5511,.4952,.4485,.3897,.3447,.3034,.2581,.2253,.1925,.1585,.1198,.1009,.0890,.0780,.0712,.0608,.0537,.0483,.0480,.0536, .0567,.0618,.0706,.0804,.0796,.0878,.0848,.0888,.0784,.0810,.0713,.0697,.0695,.0691,.0694,.0663,.0578,.0560,.0481,.0407, .0394,.0346,.0244,.0213,.0177,.0157,.0139,.0126,.0110,.0090, .0086,.0074,.0065,.0058,.0045,.0037,.0031,.0027,.0023,.0017,.0015,.00126,9.84e-4,8.03e-4,5.85e-4,4.56e-4,3.64e-4,3.04e-4,2.60e-4,2.28e-4,1.746e-4,1.395e-4,1.149e-4,9.68e-5,8.30e-5,7.22e-5,5.64e-5,4.55e-5,3.76e-5,3.17e-5,2.72e-5,1.91e-5,1.43e-5,1.12e-5,9.02e-6,6.21e-6,4.54e-6,3.47e-6,2.74e-6,2.22e-6,1.83e-6,1.31e-6,9.90e-7,7.67e-7,6.15e-7,5.03e-7,3.28e-7,2.31e-7,1.71e-7,1.32e-7,8.46e-8,5.88e-8,4.31e-8,3.29e-8,2.58e-8,2.08e-8,1.43e-8,1.03e-8,7.80e-9,6.10e-9,4.87e-9,3.04e-9,2.07e-9,1.49e-9,1.12e-9,7.0D-10,4.8D-10,3.5D-10,2.6D-10,2.0D-10,1.6D-10,1.1D-10,8.1D-11,6.1D-11,4.7D-11,3.8D-11]
# IONISATION ( VALUES ABOVE 1OKEV GENERATED BY BORN BETHE IN SUB)
XION=[13.9996,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5, 19.0,19.5,20.0,21.0,22.0,23.0,24.0,26.0,28.0,30.0, 32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0, 70.0,80.0,90.0,100.,120.,140.,160.,180.,200.,250., 300.,400.,500.,600.,700.,800.,900.,1000.,1200.,1400., 1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.]
# GROSS IONISATION
YION=[0.00,.078,.160,.255,.360,.450,.552,.655,.766,.878, .980,1.09,1.20,1.34,1.53,1.63,1.84,2.19,2.43,2.66, 2.86,3.02,3.15,3.27,3.37,3.55,3.73,3.86,3.96,4.06, 4.09,4.15,4.13,4.09,3.97,3.79,3.63,3.47,3.34,3.02, 2.76,2.37,2.07,1.86,1.69,1.53,1.42,1.31,1.15,1.03, .930,.854,.781,.667,.579,.510,.458,.415,.387,.356,.332,.293,.264,.240,.219]
# COUNTING IONISATION
YINC=[0.00,.078,.160,.255,.360,.450,.552,.655,.766,.878, .980,1.09,1.20,1.34,1.53,1.63,1.84,2.19,2.43,2.66, 2.86,3.02,3.15,3.27,3.37,3.53,3.64,3.72,3.77,3.83, 3.83,3.84,3.81,3.76,3.62,3.46,3.31,3.17,3.05,2.75, 2.50,2.12,1.84,1.65,1.49,1.34,1.25,1.14,.995,.886, .795,.726,.664,.567,.492,.434,.389,.353,.329,.303,.282,.249,.224,.204,.186]
# IONISATION CHARGE STATE =1
YIN1=[0.00,.078,.160,.255,.360,.450,.552,.655,.766,.878, .980,1.09,1.20,1.34,1.53,1.63,1.84,2.19,2.43,2.66, 2.86,3.02,3.15,3.27,3.37,3.51,3.55,3.58,3.57,3.60, 3.57,3.53,3.49,3.44,3.30,3.16,3.02,2.90,2.79,2.51, 2.29,1.93,1.67,1.49,1.34,1.21,1.12,1.03,.896,.798, .716,.654,.598,.511,.443,.391,.350,.318,.296,.273,.254,.224,.202,.184,.168]
# IONISATION CHARGE STATE =2
XIN2=[38.35944,45.0,50.0,55.0,60.0,65.0,70.0,80.0,90.0,100.,120.,140.,160.,180.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.]
YIN2=[0.0,.0256,.0850,.141,.194,.233,.262,.307,.315,.318,.311,.283,.265,.246,.230,.197,.173,.143,.120,.106,.0958,.0850,.0790,.0699,.0610,.0543,.0487,.0445,.0407,.0348,.0302,.0266,.0238,.0216,.0202,.0186,.0173,.0153,.0137,.0125,.0114]
# IONISATION CHARGE STATE =3
XIN3=[74.029,80.0,90.0,100.,120.,140.,160.,180.,200.,250., 300.,400.,500.,600.,700.,800.,900.,1000.,1200.,1400., 1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.]
YIN3=[0.0,.001,.0036,.0071,.0168,.0216,.0258,.0287,.0303,.0343,.0364,.0390,.0393,.0383,.0382,.0360,.0351,.0332,.0290,.0258, .0231,.0211,.0193,.0165,.0143,.0126,.0113,.0103,.00957,.00882,.00821,.00725,.00652,.00594,.00541]
# IONISATION CHARGE STATE =4
XIN4=[124.88,140.,160.,180.,190.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.]
YIN4=[0.0,.000001,.0001,.0004,.00083,.00123,.00332,.00506,.00835,.00938,.0102,.0101,.00991,.00984,.00940,.00816,.00727,.00652,.00595,.00544,.00465,.00403,.00356,.00319,.00289,.00270,.00248,.00231,.00204,.00184,.00167,.00153]
# K-SHELL IONISATION
XKSH=[14327.26,14585.,15010.,15447.,15896.,16360.,16835.,17325.,17830.,18349.,18882.,19432.,2.00D4,2.06D4,2.18D4,2.31D4,2.45D4,2.59D4,2.74D4,2.91'%.3f' %.08'%.3f' %.26'%.3f' %.55'%.3f' %.87D4,4.22D4,4.60D4,5.02D4,5.47D4,6.13D4,6.88D4,7.72D4,8.66D4,1.00D5,1.15D5,1.33D5,1.54D5,1.78D5,2.05D5,2.37D5,2.74'%.3f' %.16'%.3f' %.76D5,4.47D5,5.31D5,7.08D5,8.17D5,1.00D6,1.22D6,1.45D6,1.73D6,2.00D6,2.51'%.3f' %.07D6,4.00D6,5.01D6,6.13D6,8.18D6,1.00D7,1.45D7,2.05D7,2.99D7,4.10D7,5.01D7,6.13D7,8.18D7,1.00D8,1.45D8,2.05D8,2.99D8,4.10D8,5.01D8,6.13D8,8.18D8,1.00D9]
YKSH=[0.0,6.61e-8,1.68e-7,2.66e-7,3.58e-7,4.46e-7,5.30e-7,6.10e-7,6.86e-7,7.57e-7,8.26e-7,8.91e-7,9.52e-7,1.01e-6,1.12e-6,1.21e-6,1.30e-6,1.37e-6,1.44e-6,1.50e-6,1.55e-6,1.59e-6,1.64e-6,1.68e-6,1.71e-6,1.72e-6,1.73e-6,1.72e-6,1.70e-6,1.67e-6,1.64e-6,1.60e-6,1.54e-6,1.47e-6,1.41e-6,1.35e-6,1.29e-6,1.24e-6,1.19e-6,1.15e-6,1.11e-6,1.08e-6,1.05e-6,1.03e-6,1.02e-6,1.02e-6,1.03e-6,1.04e-6,1.06e-6,1.09e-6,1.11e-6,1.16e-6,1.20e-6,1.25e-6,1.31e-6,1.36e-6,1.43e-6,1.48e-6,1.58e-6,1.68e-6,1.78e-6,1.87e-6,1.92e-6,1.98e-6,2.06e-6,2.11e-6,2.22e-6,2.31e-6,2.41e-6,2.50e-6,2.56e-6,2.61e-6,2.69e-6,2.75e-6]
# L1-SHELL IONISATION
XL1S=[1921.0,1956.6,2013.2,2071.4,2131.4,2193.,2256.,2322.,2389.,2458.,2530.,2680.,2837.,3004.,3181.,3369.,3567.,3777.,4000.,4236.,4616.,5031.,5483.,5976.,6513.,7098.,7737.,8433.,9192.,1.00D4,1.15D4,1.33D4,1.54D4,1.78D4,2.05D4,2.44D4,2.90'%.3f' %.45D4,4.10D4,5.01D4,6.13D4,7.50D4,8.91D4,1.00D5,1.22D5,1.50D5,1.83D5,2.24D5,2.82'%.3f' %.55D5,4.47D5,5.79D5,7.50D5,1.00D6,1.22D6,1.45D6,1.73D6,2.00D6,2.51'%.3f' %.07D6,4.00D6,5.01D6,6.13D6,8.18D6,1.00D7,1.50D7,2.05D7,2.51'%.3f' %.07D7,4.10D7,5.16D7,6.13D7,8.18D7,1.00D8,1.50D8,2.05D8,2.51'%.3f' %.07D8,4.10D8,5.16D8,6.13D8,8.18D8,1.00D9]
YL1S=[0.0,3.47e-6,8.56e-6,1.34e-5,1.80e-5,2.23e-5,2.65e-5,3.04e-5,3.41e-5,3.76e-5,4.10e-5,4.71e-5,5.27e-5,5.76e-5,6.19e-5,6.58e-5,6.91e-5,7.20e-5,7.44e-5,7.65e-5,7.88e-5,8.04e-5,8.12e-5,8.15e-5,8.11e-5,8.03e-5,7.90e-5,7.74e-5,7.55e-5,7.33e-5,6.93e-5,6.49e-5,6.04e-5,5.59e-5,5.14e-5,4.64e-5,4.17e-5,3.74e-5,3.35e-5,2.94e-5,2.59e-5,2.28e-5,2.05e-5,1.91e-5,1.70e-5,1.52e-5,1.38e-5,1.26e-5,1.14e-5,1.06e-5,9.97e-6,9.49e-6,9.21e-6,9.08e-6,9.10e-6,9.16e-6,9.27e-6,9.39e-6,9.62e-6,9.86e-6,1.02e-5,1.05e-5,1.09e-5,1.13e-5,1.17e-5,1.24e-5,1.29e-5,1.33e-5,1.36e-5,1.42e-5,1.46e-5,1.49e-5,1.54e-5,1.58e-5,1.65e-5,1.71e-5,1.74e-5,1.78e-5,1.83e-5,1.88e-5,1.91e-5,1.96e-5,2.00e-5]
# L2-SHELL IONISATION
XL2S=[1730.9,1780.7,1832.6,1886.,1941.,1998.,2056.,2116.,2178.,2241.,2306.,2373.,2443.,2514.,2663.,2820.,2987.,3164.,3352.,3550.,3870.,4219.,4734.,5311.,5959.,6685.,7500.,8660.,1.00D4,1.15D4,1.33D4,1.54D4,1.78D4,2.05D4,2.44D4,2.90'%.3f' %.45D4,4.10D4,5.01D4,6.13D4,7.50D4,8.91D4,1.00D5,1.22D5,1.50D5,1.83D5,2.24D5,2.82'%.3f' %.55D5,4.47D5,5.79D5,7.50D5,1.00D6,1.22D6,1.45D6,1.73D6,2.00D6,2.51'%.3f' %.07D6,4.00D6,5.01D6,6.13D6,8.18D6,1.00D7,1.45D7,2.05D7,2.51'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,8.18D7,1.00D8,1.45D8,2.05D8,2.51'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,8.18D8,1.00D9]
YL2S=[0.0,9.21e-6,1.81e-5,2.65e-5,3.45e-5,4.20e-5,4.92e-5,5.59e-5,6.22e-5,6.81e-5,7.36e-5,7.88e-5,8.37e-5,8.82e-5,9.63e-5,1.03e-4,1.09e-4,1.14e-4,1.18e-4,1.22e-4,1.26e-4,1.28e-4,1.30e-4,1.30e-4,1.29e-4,1.26e-4,1.23e-4,1.17e-4,1.11e-4,1.04e-4,9.74e-5,9.04e-5,8.35e-5,7.69e-5,6.95e-5,6.27e-5,5.64e-5,5.06e-5,4.46e-5,3.93e-5,3.47e-5,3.12e-5,2.92e-5,2.60e-5,2.33e-5,2.11e-5,1.93e-5,1.77e-5,1.64e-5,1.55e-5,1.48e-5,1.44e-5,1.42e-5,1.43e-5,1.44e-5,1.46e-5,1.48e-5,1.52e-5,1.57e-5,1.63e-5,1.69e-5,1.74e-5,1.82e-5,1.88e-5,1.99e-5,2.09e-5,2.15e-5,2.21e-5,2.30e-5,2.36e-5,2.43e-5,2.51e-5,2.58e-5,2.69e-5,2.80e-5,2.86e-5,2.92e-5,3.01e-5,3.08e-5,3.14e-5,3.23e-5,3.29e-5]
# L3-SHELL IONISATION
XL3S=[1678.4,1684.5,1733.6,1784.,1836.,1889.,1944.,2001.,2059.,2119.,2181.,2244.,2310.,2377.,2447.,2518.,2667.,2824.,2991.,3168.,3356.,3554.,3874.,4223.,4738.,5315.,5963.,6689.,7506.,8666.,1.00D4,1.15D4,1.33D4,1.54D4,1.78D4,2.05D4,2.44D4,2.90'%.3f' %.45D4,4.10D4,5.01D4,6.13D4,7.50D4,8.91D4,1.00D5,1.22D5,1.50D5,1.83D5,2.24D5,2.82'%.3f' %.55D5,4.47D5,5.79D5,7.50D5,1.00D6,1.22D6,1.45D6,1.73D6,2.00D6,2.51'%.3f' %.07D6,4.00D6,5.01D6,6.13D6,8.18D6,1.00D7,1.50D7,2.05D7,2.51'%.3f' %.07D7,4.10D7,5.16D7,6.31D7,8.18D7,1.00D8,1.50D8,2.05D8,2.51'%.3f' %.07D8,4.10D8,5.16D8,6.31D8,8.18D8,1.00D9]
YL3S=[0.0,2.31e-6,2.23e-5,4.13e-5,5.91e-5,7.64e-5,9.25e-5,1.08e-4,1.22e-4,1.36e-4,1.48e-4,1.60e-4,1.71e-4,1.82e-4,1.91e-4,2.00e-4,2.16e-4,2.30e-4,2.42e-4,2.52e-4,2.60e-4,2.66e-4,2.73e-4,2.78e-4,2.80e-4,2.79e-4,2.75e-4,2.69e-4,2.61e-4,2.49e-4,2.35e-4,2.21e-4,2.06e-4,1.91e-4,1.76e-4,1.62e-4,1.46e-4,1.32e-4,1.18e-4,1.06e-4,9.34e-5,8.22e-5,7.25e-5,6.53e-5,6.10e-5,5.43e-5,4.88e-5,4.41e-5,4.03e-5,3.69e-5,3.42e-5,3.22e-5,3.08e-5,2.99e-5,2.96e-5,2.97e-5,3.00e-5,3.04e-5,3.08e-5,3.17e-5,3.25e-5,3.38e-5,3.50e-5,3.61e-5,3.77e-5,3.89e-5,4.13e-5,4.33e-5,4.46e-5,4.58e-5,4.77e-5,4.91e-5,5.04e-5,5.21e-5,5.34e-5,5.59e-5,5.80e-5,5.93e-5,6.06e-5,6.24e-5,6.39e-5,6.52e-5,6.68e-5,6.81e-5]
# M1-SHELL IONISATION
XM1S=[292.8,295.7,303.9,312.4,321.1,330.1,339.3,348.8,358.6,368.7,389.7,412.0,435.5,460.5,487.0,515.0,544.7,576.1,609.5,644.8,682.0,742.0,808.0,880.0,1014.,1164.,1344.,1554.,1794.,2064.,2454.,2914.,3464.,4234.,5174.,6324.,7514.,8674.,1.00D4,1.22D4,1.50D4,1.88D4,2.37D4,2.99'%.3f' %.87D4,4.87D4,5.96D4,7.08D4,8.66D4,1.00D5,1.22D5,1.50D5,1.88D5,2.37D5,2.99'%.3f' %.87D5,4.87D5,5.96D5,7.08D5,8.66D5,1.00D6,1.22D6,1.50D6,1.88D6,2.37D6,2.99'%.3f' %.87D6,4.87D6,5.96D6,7.08D6,8.66D6,1.00D7,1.22D7,1.63D7,2.05D7,2.51'%.3f' %.07D7,4.10D7,5.16D7,6.31D7,8.66D7,1.00D8,1.50D8,2.05D8,2.51'%.3f' %.07D8,4.10D8,5.16D8,6.31D8,8.66D8,1.00D9]
YM1S=[0.0,3.29e-5,1.10e-4,1.89e-4,2.72e-4,3.57e-4,4.44e-4,5.32e-4,6.20e-4,7.09e-4,8.86e-4,1.06e-3,1.23e-3,1.39e-3,1.54e-3,1.67e-3,1.80e-3,1.91e-3,2.02e-3,2.10e-3,2.18e-3,2.27e-3,2.33e-3,2.37e-3,2.38e-3,2.35e-3,2.27e-3,2.17e-3,2.04e-3,1.91e-3,1.75e-3,1.58e-3,1.42e-3,1.25e-3,1.09e-3,9.49e-4,8.38e-4,7.53e-4,6.77e-4,5.80e-4,4.96e-4,4.15e-4,3.46e-4,2.89e-4,2.37e-4,1.99e-4,1.71e-4,1.51e-4,1.31e-4,1.19e-4,1.05e-4,9.27e-5,8.16e-5,7.29e-5,6.60e-5,6.02e-5,5.65e-5,5.41e-5,5.26e-5,5.15e-5,5.09e-5,5.06e-5,5.07e-5,5.11e-5,5.19e-5,5.29e-5,5.43e-5,5.57e-5,5.70e-5,5.82e-5,5.96e-5,6.07e-5,6.22e-5,6.43e-5,6.61e-5,6.76e-5,6.92e-5,7.14e-5,7.32e-5,7.48e-5,7.72e-5,7.84e-5,8.15e-5,8.40e-5,8.56e-5,8.72e-5,8.95e-5,9.13e-5,9.29e-5,9.54e-5,9.65e-5]
# M2-SHELL IONISATION
XM2S=[222.2,224.1,230.5,237.0,243.7,250.7,257.8,265.1,272.7,280.5,288.4,305.1,322.8,341.6,361.4,382.4,404.7,428.3,453.3,479.8,508.0,553.0,602.0,656.0,715.0,778.0,848.0,924.0,1007.,1157.,1337.,1547.,1787.,2057.,2377.,2747.,3167.,3767.,4607.,5627.,6687.,7727.,8667.,1.00D4,1.22D4,1.50D4,1.83D4,2.37D4,2.90'%.3f' %.76D4,5.01D4,6.49D4,7.72D4,8.66D4,1.00D5,1.22D5,1.50D5,1.78D5,2.05D5,2.37D5,2.74'%.3f' %.25'%.3f' %.98D5,4.87D5,5.96D5,7.29D5,8.66D5,1.00D6,1.22D6,1.50D6,2.05D6,2.99'%.3f' %.87D6,4.87D6,5.96D6,7.08D6,8.66D6,1.00D7,1.22D7,1.50D7,2.05D7,2.99'%.3f' %.87D7,4.87D7,5.96D7,7.08D7,8.66D7,1.00D8,1.22D8,1.50D8,2.05D8,2.99'%.3f' %.87D8,4.87D8,5.96D8,7.08D8,8.66D8,1.00D9]
YM2S=[0.0,4.89e-5,1.82e-4,3.18e-4,4.56e-4,5.95e-4,7.35e-4,8.75e-4,1.01e-3,1.15e-3,1.29e-3,1.56e-3,1.82e-3,2.07e-3,2.31e-3,2.53e-3,2.74e-3,2.93e-3,3.11e-3,3.27e-3,3.41e-3,3.59e-3,3.74e-3,3.84e-3,3.92e-3,3.96e-3,3.97e-3,3.96e-3,3.92e-3,3.81e-3,3.65e-3,3.46e-3,3.25e-3,3.02e-3,2.80e-3,2.57e-3,2.35e-3,2.10e-3,1.83e-3,1.58e-3,1.39e-3,1.25e-3,1.14e-3,1.02e-3,8.74e-4,7.46e-4,6.36e-4,5.18e-4,4.42e-4,3.61e-4,2.90e-4,2.39e-4,2.12e-4,1.95e-4,1.77e-4,1.56e-4,1.38e-4,1.25e-4,1.16e-4,1.08e-4,1.02e-4,9.52e-5,8.89e-5,8.42e-5,8.06e-5,7.82e-5,7.68e-5,7.60e-5,7.56e-5,7.57e-5,7.68e-5,7.91e-5,8.13e-5,8.34e-5,8.54e-5,8.72e-5,8.94e-5,9.10e-5,9.32e-5,9.55e-5,9.91e-5,1.04e-4,1.07e-4,1.09e-4,1.12e-4,1.14e-4,1.16e-4,1.18e-4,1.20e-4,1.23e-4,1.26e-4,1.31e-4,1.34e-4,1.37e-4,1.39e-4,1.41e-4,1.44e-4,1.45e-4]
# M3-SHELL IONISATION
XM3S=[214.4,218.8,225.0,231.3,237.9,244.6,251.5,258.6,266.0,273.5,281.3,289.3,306.0,323.7,342.4,362.3,383.3,405.6,429.2,454.2,481.0,509.0,554.0,603.0,657.0,715.0,779.0,849.0,925.0,1007.,1157.,1337.,1547.,1787.,2057.,2377.,2747.,3167.,3767.,4607.,5627.,6687.,7727.,8667.,1.00D4,1.22D4,1.50D4,1.83D4,2.37D4,2.90'%.3f' %.76D4,5.01D4,6.49D4,7.72D4,8.66D4,1.00D5,1.22D5,1.50D5,1.78D5,2.05D5,2.37D5,2.74'%.3f' %.25'%.3f' %.98D5,4.87D5,5.96D5,7.29D5,8.66D5,1.00D6,1.22D6,1.50D6,2.05D6,2.99'%.3f' %.87D6,4.87D6,5.96D6,7.08D6,8.66D6,1.00D7,1.22D7,1.50D7,2.05D7,2.99'%.3f' %.87D7,4.87D7,5.96D7,7.08D7,8.66D7,1.00D8,1.22D8,1.50D8,2.05D8,2.99'%.3f' %.87D8,4.87D8,5.96D8,7.08D8,8.66D8,1.00D9]
YM3S=[0.0,2.05e-4,4.91e-4,7.83e-4,1.08e-3,1.38e-3,1.68e-3,1.98e-3,2.28e-3,2.58e-3,2.87e-3,3.17e-3,3.74e-3,4.29e-3,4.81e-3,5.31e-3,5.78e-3,6.21e-3,6.61e-3,6.98e-3,7.31e-3,7.60e-3,7.97e-3,8.27e-3,8.48e-3,8.62e-3,8.70e-3,8.71e-3,8.66e-3,8.56e-3,8.30e-3,7.94e-3,7.51e-3,7.04e-3,6.55e-3,6.04e-3,5.55e-3,5.08e-3,4.53e-3,3.94e-3,3.40e-3,3.00e-3,2.69e-3,2.46e-3,2.20e-3,1.88e-3,1.61e-3,1.37e-3,1.12e-3,9.53e-4,7.79e-4,6.26e-4,5.17e-4,4.57e-4,4.22e-4,3.83e-4,3.37e-4,2.98e-4,2.71e-4,2.52e-4,2.35e-4,2.20e-4,2.06e-4,1.93e-4,1.82e-4,1.75e-4,1.69e-4,1.66e-4,1.65e-4,1.64e-4,1.64e-4,1.67e-4,1.72e-4,1.77e-4,1.81e-4,1.86e-4,1.90e-4,1.95e-4,1.98e-4,2.03e-4,2.08e-4,2.16e-4,2.26e-4,2.32e-4,2.38e-4,2.44e-4,2.48e-4,2.54e-4,2.57e-4,2.63e-4,2.68e-4,2.76e-4,2.86e-4,2.93e-4,2.99e-4,3.04e-4,3.09e-4,3.14e-4,3.18e-4]
# M4-SHELL IONISATION
XM4S=[95.0,96.83,99.67,102.6,105.6,108.7,111.9,115.2,118.5,122.0,125.6,133.0,141.0,149.3,158.2,167.5,177.5,188.0,199.2,211.0,223.5,243.7,265.7,289.8,315.9,344.4,375.5,409.4,446.4,486.7,546.1,612.8,687.6,771.5,866.0,1000.,1150.,1330.,1540.,1780.,2050.,2370.,2740.,3160.,3760.,4600.,5620.,6680.,7720.,8660.,1.00D4,1.22D4,1.50D4,1.83D4,2.37D4,2.90'%.3f' %.76D4,5.01D4,6.49D4,7.72D4,8.66D4,1.00D5,1.22D5,1.50D5,1.78D5,2.05D5,2.37D5,2.74'%.3f' %.25'%.3f' %.98D5,4.87D5,5.96D5,7.29D5,8.66D5,1.00D6,1.22D6,1.50D6,2.05D6,2.99'%.3f' %.87D6,4.87D6,5.96D6,7.08D6,8.66D6,1.00D7,1.22D7,1.50D7,2.05D7,2.99'%.3f' %.87D7,4.87D7,5.96D7,7.08D7,8.66D7,1.00D8,1.22D8,1.50D8,2.05D8,2.99'%.3f' %.87D8,4.87D8,5.96D8,7.08D8,8.66D8,1.00D9]
YM4S=[0.0,1.08e-3,2.62e-3,4.04e-3,5.37e-3,6.62e-3,7.79e-3,8.90e-3,9.96e-3,1.10e-2,1.20e-2,1.38e-2,1.56e-2,1.73e-2,1.90e-2,2.06e-2,2.22e-2,2.37e-2,2.52e-2,2.67e-2,2.80e-2,3.00e-2,3.18e-2,3.34e-2,3.47e-2,3.58e-2,3.66e-2,3.72e-2,3.76e-2,3.77e-2,3.74e-2,3.69e-2,3.60e-2,3.48e-2,3.35e-2,3.17e-2,2.98e-2,2.78e-2,2.58e-2,2.39e-2,2.20e-2,2.02e-2,1.85e-2,1.68e-2,1.49e-2,1.30e-2,1.12e-2,9.90e-3,8.90e-3,8.16e-3,7.32e-3,6.28e-3,5.38e-3,4.60e-3,3.77e-3,3.23e-3,2.66e-3,2.15e-3,1.79e-3,1.58e-3,1.47e-3,1.33e-3,1.18e-3,1.05e-3,9.54e-4,8.87e-4,8.30e-4,7.82e-4,7.33e-4,6.88e-4,6.54e-4,6.29e-4,6.12e-4,6.03e-4,5.99e-4,5.99e-4,6.02e-4,6.15e-4,6.39e-4,6.60e-4,6.81e-4,6.99e-4,7.16e-4,7.37e-4,7.52e-4,7.73e-4,7.94e-4,8.28e-4,8.69e-4,8.98e-4,9.24e-4,9.46e-4,9.65e-4,9.88e-4,1.00e-3,1.03e-3,1.05e-3,1.08e-3,1.13e-3,1.16e-3,1.18e-3,1.20e-3,1.22e-3,1.25e-3,1.26e-3]
# M5-SHELL IONISATION
XM5S=[93.8,94.3,97.0,99.9,102.8,105.8,108.9,112.1,115.3,118.7,122.2,125.8,133.2,141.1,149.5,158.4,167.8,177.7,188.2,199.4,211.2,223.7,243.9,266.0,290.0,316.0,345.0,376.0,410.0,446.0,487.0,546.0,613.0,688.0,772.0,866.0,1000.,1150.,1330.,1540.,1780.,2050.,2370.,2740.,3160.,3760.,4600.,5620.,6680.,7720.,8660.,1.00D4,1.22D4,1.50D4,1.83D4,2.37D4,2.90'%.3f' %.76D4,5.01D4,6.49D4,7.72D4,8.66D4,1.00D5,1.22D5,1.50D5,1.78D5,2.05D5,2.37D5,2.74'%.3f' %.25'%.3f' %.98D5,4.87D5,5.96D5,7.29D5,8.66D5,1.00D6,1.22D6,1.50D6,2.05D6,2.99'%.3f' %.87D6,4.87D6,5.96D6,7.08D6,8.66D6,1.00D7,1.22D7,1.50D7,2.05D7,2.99'%.3f' %.87D7,4.87D7,5.96D7,7.08D7,8.66D7,1.00D8,1.22D8,1.50D8,2.05D8,2.99'%.3f' %.87D8,4.87D8,5.96D8,7.08D8,8.66D8,1.00D9]
YM5S=[0.0,4.52e-4,2.91e-3,5.18e-3,7.29e-3,9.26e-3,1.11e-2,1.29e-2,1.45e-2,1.61e-2,1.76e-2,1.91e-2,2.19e-2,2.46e-2,2.72e-2,2.97e-2,3.22e-2,3.46e-2,3.69e-2,3.92e-2,4.14e-2,4.35e-2,4.65e-2,4.92e-2,5.15e-2,5.35e-2,5.52e-2,5.64e-2,5.73e-2,5.77e-2,5.78e-2,5.74e-2,5.65e-2,5.51e-2,5.33e-2,5.13e-2,4.85e-2,4.55e-2,4.25e-2,3.95e-2,3.66e-2,3.37e-2,3.08e-2,2.82e-2,2.56e-2,2.28e-2,1.98e-2,1.71e-2,1.51e-2,1.36e-2,1.24e-2,1.11e-2,9.56e-3,8.19e-3,7.01e-3,5.74e-3,4.92e-3,4.05e-3,3.27e-3,2.72e-3,2.41e-3,2.23e-3,2.03e-3,1.79e-3,1.59e-3,1.45e-3,1.35e-3,1.26e-3,1.19e-3,1.11e-3,1.05e-3,9.94e-4,9.56e-4,9.31e-4,9.18e-4,9.12e-4,9.10e-4,9.16e-4,9.36e-4,9.72e-4,1.00e-3,1.03e-3,1.06e-3,1.09e-3,1.12e-3,1.14e-3,1.17e-3,1.21e-3,1.26e-3,1.32e-3,1.37e-3,1.40e-3,1.44e-3,1.47e-3,1.50e-3,1.53e-3,1.56e-3,1.59e-3,1.65e-3,1.71e-3,1.76e-3,1.80e-3,1.83e-3,1.86e-3,1.89e-3,1.92e-3]
# 1S5 METASTABLE E=9.91523166 EV J=2
# SHAPE def BELOW 50 EV FROM BARTSCHAT AND ZATSARINNY
# ABOVE 50 EV SCALED BY 1/E**3
X1S5=[9.9152,9.932,9.959,9.973,9.987,10.000,10.027,10.034,10.041,10.048,10.055,10.068,10.082,10.095,10.109,10.123,10.136,10.150,10.163,10.177,10.184,10.191,10.204,10.218,10.231,10.245,10.259,10.313,10.367,10.422,10.476,10.531,10.585,10.612,10.640,10.646,10.653,10.667,10.680,10.694,10.708,10.816,10.925,11.034,11.089,11.143,11.197,11.225,11.252,11.263,11.265,11.268,11.271,11.272,11.274,11.275,11.276,11.279,11.282,11.284,11.287,11.293,11.295,11.298,11.301,11.306,11.309,11.313,11.320,11.327,11.334,11.340,11.347,11.354,11.361,11.367,11.374,11.381,11.388,11.395,11.402,11.415,11.429,11.442,11.456,11.470,11.483,11.497,11.510,11.524,11.538,11.551,11.565,11.578,11.592,11.606,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.701,11.755,11.796,11.851,11.905,11.959,11.973,11.976,11.980,11.984,11.986,11.989,11.993,12.000,12.007,12.014,12.017,12.021,12.027,12.041,12.068,12.095,12.150,12.204,12.259,12.304,12.367,12.422,12.476,12.531,12.585,12.640,12.694,12.748,12.803,12.871,12.925,12.993,13.075,13.197,13.334,13.470,13.578,13.742,14.014,14.558,15.102,15.646,16.191,16.735,17.279,17.959,19.048,20.0,21.0,22.0,24.0,27.0,30.0,35.0,40.0,50.0]
Y1S5=[0.00,1.10,2.18,2.87,3.63,4.38,5.69,6.09,6.58,4.84,3.88,3.18,2.69,2.46,2.40,2.44,2.62,3.01,4.01,6.71,7.86,6.60,3.55,2.67,2.42,2.35,2.35,2.54,2.84,3.19,3.58,4.02,4.42,4.70,5.05,5.19,5.39,5.33,5.29,5.42,5.54,6.42,7.20,7.63,7.68,7.57,7.21,6.83,6.10,5.64,5.66,6.12,7.67,8.69,9.58,9.36,9.07,8.29,7.66,7.20,6.87,6.53,6.64,7.25,8.85,9.99,8.47,7.04,5.99,5.69,5.16,5.23,5.49,6.00,6.85,8.06,9.28,9.92,9.98,9.87,9.62,8.49,7.26,6.26,5.51,4.81,4.19,3.61,3.03,2.59,2.39,3.10,3.69,3.90,3.97,3.97,3.95,4.03,4.40,5.31,5.79,5.91,5.89,5.71,5.34,5.01,4.83,4.93,5.11,5.21,5.28,5.30,5.04,4.80,4.81,5.16,5.83,5.86,5.72,5.48,5.13,4.97,5.85,6.50,7.12,7.16,6.71,6.28,5.89,5.52,5.65,5.63,5.67,5.41,5.29,5.41,5.60,5.77,5.95,6.00,5.83,5.56,5.55,5.74,5.91,5.94,5.99,6.06,6.11,6.16,6.14,6.01,5.80,6.07,6.73,7.37,7.84,8.23,8.57,8.64,8.20,7.60,7.00,6.04,4.70,3.60,2.30,1.45,0.70]
YP1S5=[169*0.0]
# 1S4 E=10.032400 EV J=1 RESONANCE RADIATION 123.585 NM
# USED BEF SCALING ABOVE 20 EV OSC STRENGTH=0.203
# SHAPE def BELOW 20 EV FROM BARTSCHAT AND ZATSARINNY
X1S4=[10.0324,10.034,10.041,10.048,10.055,10.068,10.082,10.095,10.109,10.123,10.136,10.150,10.163,10.204,10.218,10.231,10.245,10.259,10.286,10.354,10.422,10.490,10.558,10.626,10.680,10.748,10.816,10.884,10.953,11.021,11.089,11.157,11.238,11.252,11.265,11.271,11.274,11.276,11.282,11.287,11.295,11.301,11.306,11.309,11.313,11.320,11.334,11.347,11.361,11.374,11.381,11.388,11.395,11.402,11.415,11.429,11.442,11.456,11.483,11.510, 11.538,11.565,11.592,11.619,11.633,11.644,11.649,11.660,11.674,11.701,11.728,11.755,11.776,11.796,11.823,11.851,11.878,11.905,11.932,11.959,11.976,11.984,11.989,12.000,12.014,12.021,12.041,12.068,12.095,12.191,12.245,12.300,12.354,12.408,12.463,12.517,12.572,12.626,12.680,12.735,12.803,12.871,12.925,12.966,13.061,13.157,13.225,13.279,13.347,13.402,13.497,13.606,13.878,14.150,14.422,14.694,14.966,15.238,15.510,15.783,16.055,16.327,16.599,16.871,17.143,17.415,17.687,17.959,19.048,20.000]
Y1S4=[0.00,0.69,2.81,5.49,8.19,6.82,5.53,5.15,5.23,5.74,6.94,9.75,17.4,17.8,9.03,5.97,4.62,3.93,3.42,2.97,3.07,3.35,3.74,4.37,4.81,5.24,5.75,6.37,6.89,7.33,7.66,7.83,7.61,7.46,7.20,7.79,8.62,8.45,8.03,7.78,7.78,8.89,9.48,8.73,8.03,7.38,7.09,7.08,7.79,9.35,9.77,9.75,9.60,9.37,8.58,7.64,6.70,6.56,6.73,6.48,6.23,7.15,7.57,7.95,8.35,8.28,8.02,7.80,7.88,8.06,8.16,8.25,8.31,8.36,8.43,8.49,8.55,8.59,8.62,8.60,9.09,9.57,9.09,8.89,10.0,10.2,9.21,8.96,8.70,9.02,9.25,9.71,9.84,9.76,9.75,9.90,10.1,10.3,10.4,10.8,10.6,10.8,10.8,10.8,10.7,11.0,11.2,11.4,11.5,11.6,11.6,11.8,11.7,11.5,11.4,11.6,12.0,12.5,13.1,13.8,14.5,15.2,15.8,16.4,17.0,17.9,18.9,20.1,22.4,23.7]
YP1S4=[130*0.0]
# 1S3 METASTABLE E=10.56241436 EV J=0
# SHAPE def BELOW 50 EV FROM BARTSCHAT AND ZATSARINNY
# SCALED BY 1/E**3 ABOVE 50 EV
X1S3=[10.5624,10.572,10.585,10.599,10.612,10.626,10.640,10.646,10.653,10.667,10.680,10.694,10.708,10.735,10.762,10.789,10.816,10.844,10.871,10.898,10.925,10.953,10.980,11.007,11.034,11.061,11.089,11.116,11.143,11.170,11.197,11.225,11.252,11.263,11.265,11.268,11.271,11.272,11.274,11.275,11.276,11.279,11.282,11.284,11.287,11.293,11.295,11.298,11.301,11.306,11.309,11.313,11.320,11.327,11.334,11.340,11.347,11.354,11.361,11.367,11.374,11.381,11.388,11.395,11.402,11.415,11.429,11.442,11.456,11.470,11.483,11.497,11.510,11.524,11.538,11.551,11.578,11.606,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.701,11.728,11.755,11.776,11.796,11.823,11.851,11.878,11.905,11.932,11.959,11.980,11.993,12.000,12.007,12.014,12.017,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.110,12.150,12.163,12.177,12.204,12.231,12.259,12.286,12.313,12.340,12.354,12.381,12.435,12.490,12.544,12.599,12.653,12.708,12.762,12.803,12.871,12.993,13.089,13.157,13.225,13.279,13.347,13.374,13.388,13.402,13.415,13.429,13.470,13.497,13.551,13.878,14.422,14.966,15.510,16.055,16.599,17.143,17.687,19.048,20.408,21.089,22.177,23.130,24.490,26.123,28.572,32.654,38.096,43.538,50.0]
Y1S3=[0.00,.255,.560,.671,.508,.377,.265,.211,.263,.459,.428,.360,.330,.316,.320,.330,.344,.362,.375,.392,.411,.428,.448,.468,.488,.509,.529,.547,.564,.577,.581,.568,.511,.555,.674,1.01,1.74,2.09,2.21,2.11,1.91,1.53,1.27,1.11,1.00,.875,.848,.865,.979,1.17,1.07,.944,.815,.921,.792,.744,.718,.702,.698,.717,.780,.891,1.04,1.18,1.28,1.31,1.22,1.14,1.10,1.11,1.13,1.15,1.18,1.24,1.29,1.30,1.27,1.28,1.29,1.29,1.26,1.19,1.16,1.15,1.16,1.18,1.21,1.24,1.24,1.25,1.25,1.25,1.25,1.25,1.24,1.23,1.21,1.18,1.13,1.06,.978,.885,.806,.806,1.15,1.36,1.52,1.47,1.26,1.15,1.04,.937,.816,.706,.412,.403,.444,.520,.609,.644,.686,.687,.729,.782,.840,.889,.919,.939,.951,.934,.915,.916,.921,.969,.993,.914,.919,.956,.989,1.02,1.04,1.05,1.06,1.05,1.02,.936,.938,.947,1.00,1.07,1.07,1.12,1.23,1.30,1.38,1.57,1.86,1.77,1.68,1.54,1.41,1.25,1.10,.906,.656,.422,.275,.172]
YP1S3=[168*0.0]
# 1S2 E=10.6436342 EV J=1 RESONANCE RADIATION 116.487 NM
# USED BEF SCALING ABOVE 20 EV OSC STRENGTH=0.182
# SHAPE def BELOW 20 EV FROM BARTSCHAT AND ZATSARINNY
X1S2=[10.6436,10.646,10.653,10.667,10.680,10.694,10.708,10.721,10.748,10.816,10.884,10.953,11.021,11.089,11.157,11.225,11.238,11.252,11.263,11.265,11.268,11.271,11.272,11.274,11.275,11.276,11.279,11.282,11.284,11.287,11.293,11.295,11.298,11.301,11.306,11.309,11.313,11.334,11.367,11.381,11.388,11.395,11.402,11.415,11.429,11.456,11.483,11.510,11.538,11.565,11.592,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.687,11.714,11.742,11.762,11.783,11.810,11.837,11.864,11.891,11.918,11.946,11.973,11.980,11.986,11.993,12.000,12.007,12.014,12.017,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.286,12.340,12.395,12.449,12.504,12.558,12.612,12.667,12.721,12.735,12.748,12.762,12.769,12.776,12.789,12.803,12.871,12.884,12.898,12.912,12.925,12.966,12.993,13.061,13.075,13.089,13.129,13.170,13.197,13.238,13.265,13.293,13.334,13.361,13.388,13.402,13.415,13.429,13.470,13.497,13.551,13.606,13.878,14.150,14.422,14.694,14.966,15.238,15.510,15.783,16.055,16.327,16.599,17.959,19.048,20.000]
Y1S2=[0.00,.367,1.32,4.25,3.25,2.45,2.09,1.91,1.74,1.66,1.70,1.81,1.98,2.20,2.45,2.72,2.79,2.89,3.35,3.81,4.80,6.47,7.04,6.96,6.49,5.87,4.90,4.36,4.08,3.94,3.91,4.02,4.24,4.53,3.87,3.48,3.28,3.18,3.37,3.58,3.84,4.15,4.40,4.50,4.37,4.26,4.48,4.70,5.09,5.29,5.41,5.58,5.61,5.57,5.35,5.21,5.18,5.18,5.23,5.35,5.46,5.52,5.58,5.66,5.74,5.79,5.83,5.88,5.91,5.91,5.89,5.83,5.69,5.45,5.36,5.18,5.04,4.81,4.67,5.39,5.96,6.52,6.55,6.08,5.77,5.48,5.14,4.66,4.28,3.67,3.80,4.01,4.29,4.50,5.24,5.49,5.77,5.97,6.14,6.27,6.37,6.45,6.53,6.55,6.47,6.32,6.27,6.22,6.16,6.33,6.39,6.50,6.79,6.95,6.97,6.99,6.88,6.76,6.71,6.74,6.86,6.98,7.06,7.18,7.26,7.35,7.49,7.54,7.65,7.68,7.67,7.54,7.44,7.45,7.52,7.58,7.87,8.18,8.29,8.28,8.35,8.58,8.97,9.50,10.1,10.7,11.2,14.3,16.8,18.0]
YP1S2=[150*0.0]
# 2P10 E=11.3034545 EV J=1
# SHAPE def FROM B AND Z ABOVE 30 EV SCALED BY 1/E**3
X2P10=[11.3035,11.306,11.309,11.313,11.320,11.327,11.333,11.340,11.347,11.354,11.361,11.367,11.374,11.381,11.388,11.395,11.402,11.415,11.429,11.442,11.456,11.470,11.483,11.497,11.510,11.524,11.538,11.551,11.565,11.578,11.592,11.606,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.687,11.701,11.714,11.728,11.742,11.755,11.762,11.776,11.782,11.796,11.810,11.823,11.837,11.850,11.864,11.878,11.891,11.905,11.919,11.932,11.946,11.959,11.973,11.976,11.980,11.984,11.987,11.989,11.993,12.000,12.007,12.014,12.016,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.558,12.612,12.653,12.708,12.748,12.803,12.912,12.966,13.061,13.129,13.252,13.347,13.606,14.014,14.558,14.966,15.510,16.055,16.463,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.0]
Y2P10=[0.00,0.64,0.96,1.18,1.48,1.74,2.14,2.61,3.13,3.72,4.35,4.87,5.00,4.66,4.16,3.59,2.85,1.39,0.71,0.58,0.52,0.54,0.57,0.62,0.69,0.76,0.78,0.78,0.76,0.75,0.76,0.80,0.92,1.11,1.54,2.19,2.35,2.27,2.12,1.86,1.52,1.29,1.20,1.15,1.11,1.08,1.06,1.04,1.03,1.03,1.02,1.02,1.02,1.01,1.01,1.01,1.02,1.02,1.03,1.04,1.05,1.06,1.08,1.12,1.22,1.70,1.75,1.63,1.22,1.11,1.13,1.22,1.44,1.75,1.84,1.62,1.21,0.87,0.82,0.86,0.91,0.95,1.02,1.12,1.18,1.17,1.14,1.08,1.05,1.06,1.10,1.15,1.15,1.17,1.17,1.18,1.16,1.14,1.12,1.17,1.14,1.13,1.05,1.01,1.01,1.01,1.02,1.04,1.05,1.06,1.07,1.09,1.10,1.16,1.44,1.11,1.11,1.13,1.07,1.16,1.20,1.25,1.29,1.21,1.23,1.60,1.91,2.64,3.57,4.38,5.45,6.53,7.73,8.54,8.17,7.21,6.26,5.26,4.25,3.39,2.45,2.05]
YP2P10=[142*0.0]
# 2P9 E=11.4430466 EV J=3
# SHAPE def FROM B AND Z ABOVE 30 EV SCALED BY 1/E**3
X2P9=[11.4430,11.456,11.470,11.483,11.497,11.510,11.524,11.538,11.551,11.565,11.578,11.592,11.606,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.687,11.701,11.714,11.728,11.742,11.755,11.762,11.776,11.782,11.796,11.810,11.823,11.837,11.850,11.864,11.878,11.891,11.905,11.919,11.932,11.946,11.959,11.973,11.976,11.980, 11.984,11.987,11.989,11.993,12.000,12.007,12.014,12.016,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.558,12.612,12.653,12.748,12.803,12.898,13.061,13.157,13.252,13.497,13.742,14.014,14.996,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000]
Y2P9=[0.00,0.42,0.67,0.75,0.78,0.83,0.95,1.03,1.09,1.02,1.00,1.02,1.08,1.23,1.38,1.59,1.69,1.54,1.40,1.26,1.10,0.97,0.93,0.96,0.99,1.01,1.02,1.04,1.05,1.06,1.06,1.07,1.07,1.08,1.09,1.10,1.11,1.12,1.13,1.14,1.17,1.16,1.18,1.19,1.21,1.23,1.32,1.35,1.39,1.42,1.44,1.47,1.56,1.90,2.82,4.49,4.71,4.20,3.05,2.15,1.92,1.84,1.82,1.80,1.74,1.98,1.94,1.60,1.64,1.73,1.79,1.86,1.85,1.86,1.84,1.80,1.86,1.96,2.05,2.19,1.86,1.68,1.61,1.60,1.57,1.57,1.58,1.60,1.62,1.64,1.66,1.68,1.76,1.82,1.80,1.76,2.00,1.93,1.92,2.08,2.12,2.13,2.16,2.22,3.50,5.50,6.90,7.83,8.15,7.72,6.77,5.84,4.92,4.03,3.31,2.47,2.11]
YP2P9=[117*0.0]
# 2P8 E=11.4446556 EV J=2
# SHAPE def FROM B AND Z ABOVE 30 EV SCALED BY 1/E
X2P8=[11.4447,11.456,11.470,11.483,11.497,11.510,11.524,11.538,11.551,11.565,11.578,11.592,11.606,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.687,11.701,11.714,11.728,11.742,11.755,11.762,11.776,11.782,11.796,11.810,11.823,11.837,11.850,11.864,11.878,11.891,11.905,11.919,11.932,11.946,11.959,11.973,11.976,11.980,11.984,11.987,11.989,11.993,12.000,12.007,12.014,12.016,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.558,12.599,12.653,12.708,12.762,12.803,12.898,12.993,13.252,13.497,13.742,14.014,14.558,14.966,15.510,16.055,16.463,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.0]
Y2P8=[0.00,0.36,0.72,1.01,1.22,1.36,1.45,1.43,1.35,1.29,1.30,1.33,1.38,1.45,1.50,1.59,1.64,1.61,1.57,1.53,1.48,1.44,1.42,1.41,1.43,1.45,1.47,1.48,1.50,1.52,1.53,1.54,1.55,1.57,1.58,1.60,1.61,1.63,1.64,1.66,1.73,1.68,1.69,1.69,1.70,1.71,1.55,1.67,2.20,2.64,2.50,2.31,2.11,1.98,2.05,2.34,2.44,2.45,2.30,2.15,2.09,2.06,2.04,2.06,2.07,1.97,1.97,1.92,1.92,1.95,2.00,2.07,2.12,2.09,2.12,2.16,2.21,2.25,2.33,2.49,2.26,2.08,2.02,2.03,2.02,1.99,1.97,1.96,1.95,1.96,1.97,1.98,2.03,2.06,1.97,2.43,2.30,2.22,2.24,2.36,2.34,2.43,2.51,2.61,3.01,3.52,4.27,4.97,5.45,5.98,6.96,7.70,7.85,7.66,7.37,7.03,6.65,6.30,5.82,5.55]
YP2P8=[120*0.0]
# 2P7 E=11.5261152 EV J=1
# SHAPE def FROM B AND Z ABOVE 30 EV SCALED BY 1/E**3
X2P7=[11.5261,11.538,11.551,11.565,11.578,11.592,11.606,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.687,11.701,11.714,11.728,11.742,11.755,11.762,11.776,11.782,11.796,11.810,11.823,11.837,11.850,11.864,11.878,11.891,11.905,11.919,11.932,11.946,11.959,11.973,11.976,11.980,11.984,11.987,11.989,11.993,12.000,12.007,12.014,12.016,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.463,12.504,12.558,12.612,12.653,12.694,12.708,12.735,12.762,12.993,13.197,13.293,13.497,13.742,14.014,14.558,14.966,15.510,16.055,16.599,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.0]
Y2P7=[0.00,0.21,0.44,0.45,0.45,0.45,0.46,0.49,0.51,0.55,0.57,0.55,0.53,0.51,0.50,0.49,0.50,0.52,0.57,0.60,0.62,0.65,0.66,0.67,0.68,0.68,0.69,0.69,0.70,0.70,0.71,0.71,0.72,0.72,0.72,0.73,0.74,0.74,0.75,0.73,0.78,0.92,1.00,0.80,0.68,0.64,0.62,0.60,0.53,0.51,0.56,0.66,0.74,0.75,0.76,0.74,0.70,0.65,0.81,0.88,0.98,1.20,1.16,1.18,1.23,1.28,1.35,1.31,1.24,1.15,1.10,1.02,0.99,0.99,0.97,0.94,0.88,0.91,0.88,0.86,0.82,0.83,0.87,0.91,0.95,1.05,1.48,1.17,0.99,1.07,1.03,1.06,1.06,1.09,1.19,1.50,1.81,2.33,2.78,3.11,3.25,3.32,3.08,2.76,2.38,2.07,1.80,1.54,1.31,1.03,0.90]
YP2P7=[111*0.0]
# 2P6 E=11.5458220 EV J=2
# SHAPE def FROM B AND Z SCALED BY 1/E ABOVE 30 EV
X2P6=[11.5458,11.551,11.565,11.578,11.592,11.606,11.619,11.626,11.633,11.640,11.644,11.646,11.649,11.653,11.660,11.665,11.674,11.687,11.701,11.714,11.728,11.742,11.755,11.762,11.776,11.837,11.905,11.959,11.973,11.976,11.987,12.000,12.007,12.014,12.016,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.558,12.599,12.653,12.708,12.762,12.803,12.898,12.993,13.129,13.252,13.497,13.742,14.014,14.558,14.966,15.510,16.055,16.599,17.007,17.415,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000]
Y2P6=[0.00,0.27,0.84,1.06,1.15,1.20,1.23,1.25,1.28,1.29,1.29,1.28,1.27,1.26,1.26,1.25,1.24,1.23,1.23,1.24,1.25,1.25,1.26,1.26,1.27,1.28,1.27,1.24,1.52,1.49,1.50,1.36,1.45,1.80,1.93,1.97,1.83,1.68,1.62,1.60,1.65,1.91,2.49,2.06,2.00,1.94,1.82,1.75,1.69,1.59,1.51,1.54,1.64,1.83,1.83,1.84,1.80,1.78,1.73,1.68,1.62,1.63,1.60,1.58,1.56,1.53,1.51,1.49,1.48,1.47,1.46,1.49,1.54,1.50,1.66,1.57,1.50,1.45,1.47,1.46,1.39,1.39,1.45,1.70,1.84,2.17,2.53,2.83,3.05,3.16,3.25,3.21,3.07,3.01,2.97,2.93,2.86,2.76,2.55,2.43]
YP2P6=[100*0.0]
# 2P5 E=11.6660274 EV J=0
# SHAPE def FROM B AND Z SCALED BY 1/E ABOVE 108.84 EV
X2P5=[11.6660,11.674,11.687,11.701,11.714,11.728,11.742,11.755,11.762,11.776,11.782,11.796,11.810,11.823,11.837,11.850,11.864,11.878,11.891,11.905,11.919,11.932,11.946,11.959,11.973,11.976,11.980,11.984,11.987,11.989,11.993,12.000,12.007,12.014,12.016,12.021,12.027,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.504,12.558,12.599,12.694,12.708,12.748,12.803,12.912,12.993,13.089,13.252,13.497,13.742,14.014,14.558,14.966,15.510,16.055,16.599,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028,81.634,95.239,108.84]
Y2P5=[0.00,0.52,0.75,0.87,0.94,0.99,1.03,1.06,1.08,1.11,1.12,1.14,1.16,1.18,1.21,1.23,1.25,1.27,1.30,1.32,1.35,1.38,1.42,1.46,1.33,1.30,1.28,1.43,1.57,1.66,1.76,1.96,2.22,2.24,2.02,1.66,1.40,1.42,1.48,1.54,1.60,1.67,1.89,2.24,2.28,2.26,2.25,2.26,2.25,2.19,2.12,2.16,2.11,2.02,1.86,1.66,1.59,1.74,2.21,2.19,2.18,2.12,2.09,2.10,2.14,2.19,2.24,2.03,2.21,2.74,2.71,2.65,2.52,2.98,2.93,2.87,3.09,3.48,4.86,6.32,8.30,9.88,10.9,10.7,10.7,9.74,8.95,8.27,7.85,7.76,7.21,6.91,6.59,6.42,6.19,5.82,5.54,5.00,4.42,3.92,3.51,3.16]
YP2P5=[102*0.0]
# 3D6 E=11.998135 J=0
# SHAPE def FRONM B AND Z SCALED BY 1/E**3 ABOVE 54.422 EV
X3D6=[11.9981,12.014,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.449,12.463,12.476,12.490,12.504,12.517,12.558,12.599,12.626,12.640,12.653,12.694,12.748,12.871,12.993,13.129,13.197,13.293,13.402,13.524,13.606,14.014,14.422,14.966,15.510,16.055,16.599,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,25.851,28.572,30.000,32.653,38.096,43.538,54.422]
Y3D6=[0.00,.053,.058,.069,.088,.119,.155,.155,.157,.136,.135,.136,.149,.118,.112,.113,.117,.120,.120,.117,.126,.147,.140,.136,.126,.123,.123,.122,.121,.119,.118,.117,.117,.118,.117,.113,.107,.124,.157,.151,.163,.194,.230,.245,.248,.265,.280,.344,.442,.548,.802,1.09,1.38,1.61,1.87,2.25,2.53,2.55,2.45,2.33,2.16,1.94,1.79,1.48,1.35,1.14,.765,.539,.269]
YP3D6=[69*0.0]
# 3D5 E=12.037029 J=1 RESONANCE RADIATION 103.003 NM F=0.0053
# SHAPE def FROM B AND Z UP TO 68 EV
# ABOVE 68 EV USE BEF SCALING
X3D5=[12.0370,12.041,12.055,12.068,12.082,12.095,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.558,12.612,12.653,12.708,12.762,12.803,12.898,13.061,13.252,13.524,13.742,14.014,14.286,14.558,14.830,14.966,15.238,15.510,15.783,16.055,16.327,16.599,16.871,17.007,17.279,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028]
Y3D5=[0.00,.084,.113,.139,.173,.216,.238,.352,.381,.395,.409,.439,.505,.568,.427,.392,.403,.407,.390,.348,.353,.369,.431,.417,.412,.393,.397,.406,.414,.420,.423,.425,.426,.427,.429,.434,.416,.476,.492,.548,.581,.646,.773,.851,.955,1.08,1.27,1.50,1.67,1.80,2.16,2.53,2.88,3.27,3.74,4.17,4.63,4.79,5.23,5.61,6.40,7.40,7.54,7.31,6.96,6.48,5.90,5.37,4.63,4.25,3.66,2.73,2.05,1.28,.812]
YP3D5=[75*0.0]
# 2P4 E=12.1003506 J=1
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 30.0 EV
X2P4=[12.1004,12.109,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.449,12.463,12.476,12.490,12.504,12.517,12.531,12.544,12.558,12.599,12.653,12.708,12.762,12.803,12.898,12.993,13.089,13.197,13.293,13.402,13.497,13.606,13.878,14.014,14.558,14.966,15.238,15.510,15.919,16.463,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.0]
Y2P4=[0.00,.121,.308,.308,.320,.339,.352,.369,.395,.408,.435,.454,.453,.456,.473,.510,.552,.531,.482,.459,.463,.465,.467,.469,.471,.475,.479,.483,.488,.493,.499,.519,.571,.625,.633,.617,.822,.739,.627,.671,.706,.800,.781,.785,.831,.854,.904,1.09,1.26,1.50,1.80,2.27,2.62,2.88,3.20,3.49,3.48,3.15,2.76,2.34,1.93,1.54,1.17,1.00]
YP2P4=[64*0.0]
# 3D3 E=12.111740 J=2
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 95.239 EV
X3D3=[12.1117,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.517,12.531,12.558,12.572,12.612,12.626,12.640,12.653,12.667,12.694,12.748,12.803,12.898,12.993,13.061,13.129,13.197,13.293,13.402,13.606,13.878,14.150,14.558,14.966,15.510,16.055,16.599,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028,81.634,95.239]
Y3D3=[0.00,.573,.543,.494,.395,.352,.346,.389,.400,.364,.352,.345,.335,.318,.269,.246,.325,.343,.389,.413,.420,.432,.447,.460,.472,.480,.486,.490,.492,.494,.496,.496,.495,.493,.488,.482,.476,.447,.584,.610,.616,.578,.663,.735,.815,.860,.870,.949,1.12,1.33,1.85,2.49,3.35,4.06,4.96,5.51,6.45,7.54,8.83,9.11,8.82,8.32,7.70,6.95,6.18,5.19,4.70,3.89,2.63,1.79,.876,.409,.215,.126]
YP3D3=[74*0.0]
# 3D4# E=12.125317 J=4
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 81.634 EV
X3D4P=[12.1253,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.517,12.531,12.558,12.572,12.612,12.626,12.640,12.653,12.667,12.694,12.748,12.803,12.898,12.993,13.061,13.129,13.197,13.293,13.402,13.606,13.878,14.150,14.558,14.966,15.510,16.055,16.599,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028,81.634]
Y3D4P=[0.00,.057,.081,.179,.137,.150,.184,.210,.245,.290,.328,.327,.324,.305,.285,.303,.318,.296,.313,.330,.334,.349,.363,.373,.380,.385,.390,.393,.397,.401,.408,.412,.424,.427,.430,.447,.498,.525,.571,.713,.691,.640,.702,.790,.836,.889,.944,1.02,1.20,1.47,1.99,2.69,3.74,4.77,5.64,6.27,7.23,7.37,8.24,8.35,7.91,7.30,6.58,5.73,4.92,3.88,3.41,2.69,1.68,1.09,.508,.232,.122]
YP3D4P=[73*0.0]
# 2P3 E=12.1404262 J=1
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 81.634 EV
X2P3=[12.1404,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.517,12.531,12.558,12.572,12.612,12.626,12.640,12.653,12.667,12.694,12.748,12.803,12.898,12.993,13.061,13.129,13.197,13.293,13.402,13.606,13.878,14.150,14.558,14.966,15.510,16.055,16.599,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028,81.634]
Y2P3=[0.00,.108,.284,.400,.456,.485,.496,.544,.568,.536,.506,.485,.484,.495,.509,.559,.593,.581,.576,.562,.559,.551,.543,.537,.533,.532,.532,.534,.536,.540,.551,.557,.580,.586,.591,.613,.729,.777,.646,.678,.873,.725,.672,.632,.644,.667,.723,.657,.690,.652,.676,.818,1.07,1.26,1.74,2.23,2.61,2.94,3.35,3.27,2.86,2.50,2.40,1.75,1.42,1.05,.890,.665,.384,.249,.138,.080,.048]
YP2P3=[73*0.0]
# 2P2 E=12.1436522 J=2
# SHAPE def FROM B AND Z SCALED BY 1/E ABOVE 108.84 EV
X2P2=[12.1437,12.150,12.163,12.177,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.490,12.504,12.517,12.531,12.558,12.572,12.612,12.626,12.640,12.653,12.667,12.694,12.748,12.803,12.898,12.993,13.061,13.129,13.197,13.293,13.402,13.606,13.878,14.150,14.558,14.966,15.510,16.055,16.599,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028,81.634,95.239,108.84]
Y2P2=[0.00,.181,.402,.577,.690,.760,.798,.852,.876,.915,.965,1.01,1.02,1.05,1.09,1.17,1.17,1.15,1.15,1.14,1.12,1.11,1.11,1.11,1.12,1.12,1.14,1.15,1.16,1.18,1.21,1.22,1.27,1.28,1.29,1.29,1.35,1.49,1.43,1.66,1.53,1.76,1.52,1.45,1.50,1.56,1.75,1.70,1.64,1.71,1.91,2.24,2.93,3.26,3.79,4.23,4.62,5.05,5.59,5.74,5.62,5.34,5.00,4.65,4.29,3.88,3.66,3.31,2.76,2.38,1.90,1.53,1.28,1.10,.962]
YP2P2=[75*0.0]
# 3D4 E=12.178504 J=3
# SHAPE def FROM B AND Z SCALED BY 1/E ABOVE 108.84 EV
X3D4=[12.1785,12.191,12.204,12.218,12.231,12.245,12.259,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.395,12.408,12.422,12.436,12.449,12.463,12.476,12.558,12.653,12.748,12.803,12.993,13.089,13.388,13.606,14.014,14.286,14.558,14.830,15.102,15.510,15.919,16.463,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028,81.634,95.239,108.84]
Y3D4=[0.00,.363,.381,.395,.437,.491,.560,.630,.684,.700,.655,.613,.672,.717,.706,.725,.735,.718,.702,.693,.691,.691,.693,.717,.890,.870,.844,.734,.831,.857,.864,.976,1.20,1.52,1.88,2.20,2.69,3.08,3.67,3.93,4.10,4.36,4.66,4.67,4.50,4.26,3.97,3.62,3.28,2.84,2.63,2.31,1.83,1.52,1.21,1.01,.878,.781,.704]
YP3D4=[59*0.0]
# 2P1 E=12.2564658 J=0
# SHAPE def FROM B AND Z SCALED BY 1/E ABOVE 108.84 EV
X2P1=[12.2565,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.463,12.504,12.558,12.612,12.653,12.708,12.762,12.803,12.898,12.966,13.061,13.197,13.402,13.551,13.742,14.014,14.558,14.966,15.510,16.055,16.463,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028,81.634,95.239,108.84]
Y2P1=[0.00,.200,.261,.282,.298,.321,.378,.554,.540,.517,.478,.489,.518,.560,.508,.642,.789,.647,1.01,.822,.922,.866,.995,1.06,1.11,1.20,1.59,2.23,3.27,4.28,4.85,5.41,5.75,5.98,5.74,5.35,4.96,4.70,4.49,4.30,4.14,3.95,3.86,3.73,3.53,3.38,3.09,2.75,2.46,2.20,2.00]
YP2P1=[51*0.0]
# 3D1## E=12.257998 J=2
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 68.028 EV
X3D1PP=[12.2580,12.272,12.286,12.299,12.313,12.327,12.340,12.354,12.367,12.381,12.463,12.504,12.558,12.612,12.653,12.708,12.762,12.803,12.898,12.966,13.061,13.197,13.402,13.551,13.742,14.014,14.558,14.966,15.510,16.055,16.463,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028]
Y3D1PP=[0.00,.038,.055,.073,.093,.107,.125,.158,.178,.204,.231,.253,.283,.319,.380,.368,.399,.473,.318,.348,.450,.455,.524,.516,.552,.631,.926,1.24,1.54,1.75,1.99,2.41,2.63,2.60,2.66,2.63,2.50,2.35,2.18,1.97,1.79,1.48,1.33,1.08,.689,.444,.221,.116]
YP3D1PP=[48*0.0]
# 3D1# E=12.284275 J=3
# SHAPE def FROM B AND Z SCALED BY 1/E ABOVE 38 EV
X3D1P=[12.2843,12.327,12.340,12.354,12.367,12.381,12.463,12.504,12.558,12.612,12.653,12.708,12.762,12.803,12.898,12.966,13.061,13.197,13.402,13.551,13.742,14.014,14.558,14.966,15.510,16.055,16.463,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096]
Y3D1P=[0.00,.313,.357,.448,.451,.465,.527,.568,.604,.637,.685,.742,.625,.781,.553,.538,.588,.591,.606,.566,.535,.529,.688,.891,1.24,1.50,1.53,1.59,1.78,1.68,1.56,1.47,1.42,1.41,1.40,1.40,1.37,1.29,1.23,1.11,.913]
YP3D1P=[41*0.0]
# 2S5 E=12.352158 J=2
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 68 EV
X2S5=[12.3522,12.367,12.381,12.395,12.408,12.422,12.463,12.504,12.558,12.612,12.653,12.708,12.762,12.803,12.898,12.966,13.061,13.197,13.402,13.551,13.742,14.014,14.558,14.966,15.510,16.055,16.463,17.007,17.551,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,32.653,38.096,43.538,54.422,68.028]
Y2S5=[0.00,.235,.250,.475,.598,.674,.773,.845,.945,1.04,1.06,1.18,.748,.861,1.05,1.05,1.17,1.14,1.12,1.07,1.03,.989,1.09,1.22,1.49,1.76,1.85,1.93,1.98,2.03,1.89,1.73,1.55,1.41,1.28,1.12,.995,.812,.725,.586,.377,.246,.119,.058]
YP2S5=[44*0.0]
# 3D2 E=12.354555 J=1 RESONANCE RADIATION 100.356 NM F=0.082
# USE BEF SCALING
#
# 2S4 E=12.3852827 J=1 RESONANCE RADIATION 100.107 NM F=0.154
# USE BEF SCALING
#
# 3P10 E=12.7563854 EV J=1
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 68 EV
X3P10=[12.7564,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3P10=[0.00,.459,.956,1.41,2.20,2.55,3.05,2.96,2.74,2.38,2.04,1.70,1.36,1.07,0.75,0.61,0.23,0.14,.078,.046]
YP3P10=[20*0.0]
# 3P9 E=12.7847085 EV J=3
# SHAPE def FROM B AND Z SCALED BY 1/E**3 ABOVE 68 EV
X3P9=[12.7847,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3P9=[0.00,.511,1.48,2.40,3.02,3.44,3.57,3.57,3.36,2.94,2.54,2.12,1.72,1.40,1.02,0.86,0.38,0.24,.122,.061]
YP3P9=[20*0.0]
# 3P8 E=12.7853913 EV J=2
# SHAPE def FROM B AND Z SCALED BY 1/EN ABOVE 68 EV
X3P8=[12.7854,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3P8=[0.00,.575,1.19,2.00,2.64,2.86,3.08,3.11,3.06,2.91,2.74,2.56,2.36,2.17,1.95,1.83,1.38,1.19,0.94,0.75]
YP3P8=[20*0.0]
# 3S1PP E=12.8033935 EV J=2
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X3S1PP=[12.8034,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3S1PP=[0.00,.328,0.84,1.39,2.05,3.41,4.82,6.11,6.68,6.68,6.40,5.94,5.36,4.81,4.05,3.69,2.14,1.49,0.76,0.36]
YP3S1PP=[20*0.0]
# 3P7 E=12.8092373 EV J=1
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X3P7=[12.8092,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3P7=[0.00,0.29,0.64,1.05,1.31,1.26,1.27,1.10,0.96,0.81,0.70,0.60,0.51,0.44,0.35,0.31,0.17,0.12,.088,.067]
YP3P7=[20*0.0]
# 3P6 E=12.8153298 EV J=2
# SHAPE def FROM B AND Z SCALED BY 1/EN ABOVE 68 EV
X3P6=[12.8153,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3P6=[0.00,0.33,1.18,1.44,1.73,1.98,1.95,1.71,1.50,1.34,1.23,1.14,1.04,0.95,0.81,0.75,0.51,0.42,0.32,0.25]
YP3P6=[20*0.0]
# 3S1PPPP E=12.8252582 EV J=2
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X3S1PPPP=[12.8253,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3S1PPPP=[0.00,0.16,0.41,0.83,1.71,2.50,3.10,3.56,3.83,3.78,3.57,3.26,2.89,2.45,1.97,1.75,0.89,0.58,0.27,0.13]
YP3S1PPPP=[20*0.0]
# 3S1PPP E=12.8573390 EV J=3
# SHAPE def FROM B AND Z SCALED BY 1/EN ABOVE 68 EV
X3S1PPP=[12.8573,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3S1PPP=[0.00,0.29,0.54,0.99,2.02,2.69,3.38,3.90,4.10,4.05,3.84,3.55,3.20,2.80,2.33,2.11,1.27,0.98,0.67,0.50]
YP3S1PPP=[20*0.0]
# 3P5 E=12.8648022 EV J=0
# SHAPE def FROM B AND Z SCALED BY 1/EN ABOVE 68 EV
X3P5=[12.8648,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3P5=[0.00,0.56,2.30,4.54,6.23,6.30,6.01,5.23,4.62,4.10,3.79,3.71,3.29,3.07,2.86,2.75,2.39,2.25,2.02,1.79]
YP3P5=[20*0.0]
# 4D5 E=12.8698 EV J=1 RESONANCE RADIATION 96.3338NM F=0.0140
# USE BEF SCALING
# 4D6 E=12.9034651 EV J=0
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X4D6=[12.9035,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y4D6=[0.00,0.07,0.21,0.32,0.57,0.76,1.09,1.24,1.30,1.28,1.22,1.12,0.98,0.90,0.74,0.67,0.34,0.25,0.12,.056]
YP4D6=[20*0.0]
# 4D4P E=12.972537 EV J=4
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X4D4P=[12.9725,12.993,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y4D4P=[0.00,0.14,0.89,1.48,2.18,3.01,3.72,4.15,4.25,4.08,3.81,3.48,3.07,2.64,2.09,1.84,0.92,0.60,0.28,0.13]
YP4D4P=[20*0.0]
# 3S1P E=13.0043688 EV J=1 RESONANCE RADIATION 95.341 NM F=0.0435
# USE BEF SCALING
#
# 4D4 E=13.0079847 EV J=3
# SHAPE def FROM B AND Z SCALED BY 1/EN ABOVE 68 EV
X4D4=[13.0080,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y4D4=[0.00,1.10,1.37,1.85,2.26,2.34,2.14,1.95,1.78,1.67,1.56,1.46,1.38,1.26,1.20,0.95,0.90,0.84,0.78]
YP4D4=[19*0.0]
# 4D3 E=13.0192383 EV J=2
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X4D3=[13.0192,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y4D3=[0.00,0.65,1.06,1.66,2.16,2.15,2.16,2.08,1.91,1.74,1.58,1.41,1.29,1.05,0.94,0.48,0.32,0.16,0.09]
YP4D3=[19*0.0]
# 2S3 E=13.029666 EV J=0
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X2S3=[13.0297,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y2S3=[0.00,0.13,0.13,0.17,0.27,0.29,0.29,0.27,0.25,0.23,0.21,0.19,0.17,0.15,0.14,.073,.054,.028,.015]
YP2S3=[19*0.0]
# 2S2 E=13.036483 EV J=1 RESONANCE RADIATION 95.106 NM F=0.0105
# USE BEF SCALING
#
# 4D1PP E=13.0386113 J=2
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X4D1PP=[13.0386,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y4D1PP=[0.00,0.50,0.80,1.12,1.46,1.64,1.49,1.40,1.29,1.19,1.17,1.02,0.94,0.80,0.73,0.32,0.22,.109,.059]
YP4D1PP=[19*0.0]
# 4D1P E=13.0441877 J=3
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X4D1P=[13.0442,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y4D1P=[0.00,0.63,0.92,1.47,1.58,1.70,1.50,1.30,1.13,1.02,0.95,0.88,0.84,0.71,0.64,0.33,0.22,.123,.084]
YP4D1P=[19*0.0]
# 3S5 E=13.0986140 J=2
# SHAPE def FROM B AND Z SCALED BY 1/EN**3 ABOVE 68 EV
X3S5=[13.0986,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y3S5=[0.00,0.88,1.56,1.89,1.82,2.08,2.37,2.40,2.21,1.96,1.65,1.30,1.02,0.69,0.57,0.22,0.13,.058,.027]
YP3S5=[19*0.0]
# 4D2 E=13.0987356 EV J=1 RESONANCE RADIATION 94.654 NM F=0.0970
# USE BEF SCALING
#
# 3S4 E=13.1138948 EV J=1 RESONANCE RADIATION 94.545 NM F=0.0808
# USE BEF SCALING
#
# SUM 4F STATES E=13.14 J=1,2,5,4,3,2,4,4
# SHAPE def FROM B AND Z SCALED BY 1/EN ABOVE 68 EV
X4FS=[13.14,14.014,14.966,16.055,17.007,17.959,19.048,20.000,21.089,22.041,23.130,24.490,26.123,28.572,30.000,38.096,43.538,54.422,68.028]
Y4FS=[0.00,1.58,3.51,4.86,4.89,4.50,3.60,2.89,2.24,1.85,1.49,1.19,0.93,0.69,0.59,0.32,0.25,0.18,0.14]
YP4FS=[19*0.0]
# 5D5 E=13.3501402 EV J=1 RESONANCE RADIATION 92.872 NM F=0.0015
# USE BEF SCALING
#
# 5D2 E=13.4223741 EV J=1 RESONANCE RADIATION 92.372 NM F=0.0439
# USE BEF SCALING
#
# 4S4 E=13.4365439 EV J=1 RESONANCE RADIATION 92.274 NM F=0.0203
# USE BEF SCALING
#
# HIGH E=13.6 EV SUM OF HIGHER DIPOLE STATES F=0.168
# USE BEF SCALING
#
# TOTAL OSCILLATOR STRENGTH =1.1258 1.1058
#
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24
Z36T=[3500.,2633.,1689.,1126.,708.,367.,226.,146.,97.2,84.6,82.1,82.5,83.1,83.6,84.0,84.5,85.1,86.0,86.5,87.3,87.4,87.8,88.0,88.3,88.4]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
#----------------------------------------------------------------------
# NANISO=0
if(NANISO == 0):
:
NAME='KRYPTON 2013 ISOTROPIC '
else:
NAME='KRYPTON 2013 ANISOTROPIC'
# endif
#
# --------------------------------------------------------------------
# ON KRYPTON NOT AS GOOD AS ARGON . FIT TO HUNTERS DRIFT VELOCITY
# AND DIFFUSION OF KOZUMI .TOWNS# end COEFFICIENT
# OF KRUITOFF,HEYLEN AND BHATTACHYRA CONSISENT SO AVERAGED AND GOOD
# AGREEMENT OBTAINED WITH CALCULATED VALUES.
# 2007: INCREASED UPPER ENERGY LIMIT TO 2MEV
# 2007: INCLUDED NEW ANGULAR DISTRIBUTION def
# 2007: INCLUDED PENNING TRANSFER FRACTION
# 2011: 51 EXCITATION LEVELS : USED BEF SCALED VALUES FOR DIPOLE STATES
# THE 1S2 AND 1S4 DIPOLE STATES INCLUDE THE RESONANCE STRUCTURE
# CALCULATED BY BARTSCHAT AND ZATSARINNY DBSR MODEL SCALED BY 0.87
# THE 2P AND HIGHER TRIPLET STATES CALCULATED IN THE DBSR MODEL
# ARE ALSO SCALED TO AGREE WITH ELECTRON SCATTERING AND FIT TO THE
# TO THE TOWNS# end GAIN MEASUREMENTS.
# DRIFT VELOCITY AT HIGH FIELD FROM NAKAMURA IS FIITED BY THE
# MOMENTUM TRANSFER X-SECTION.
# EXPERIMENTAL AND TOTAL X-SECTIONS AGREE TO 1%.
# THE DRIFT VELOCITY FIT IS BETTER THAN 1% .
# TOWNS# end CALC IS IN GOOD AGREEMENT WITH JACQUES ET AL AT LOW
# ELECTRIC FIELD BUT NOW ABOUT 8% BELOW KRUITOFF AT HIGH FIELD.
# 2013: INTRODUCED K,L AND M SHELL AND CHARGE 1 2 3 AND 4 IONISATIONS
# --------------------------------------------------------------------
#
# BORN BETHE VALUES FOR IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
AM2=4.65
C=52.7
# BORN BETHE CONSTANT
A0=0.52917720859e-8
RY=13.60569193
API=numpy.arccos(-1.00)
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
# SCALING CONSTANTS
AN1S=0.87
AN2P10=0.4
AN2P5=0.4
AN2P1=0.4
AN2P=0.75
AN3P=0.60
AN3P5=0.4
AN3D=0.65
AN4D=0.4
# AVERAGE AUGER EMISSIONS FROM EACH SHELL
AUGM5=2.0
AUGM4=2.0
AUGM3=3.43
AUGM2=2.0
AUGM1=3.81
AUGL3=4.85
AUGL2=4.41
AUGL1=6.47
AUGK=5.91
#
NION=11
NATT=1
NIN=51
NNULL=0
IONMODEL=0
#
NBREM=25
DO 6 J=1,NIN
IZBR[J]=0
6 CONTINUE
IZBR[52]=36
#
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=1,NIN
2 KIN[J]=NANISO
#
NEL=151
NDATA=162
NEPSI=186
NIONG=65
NION2=41
NION3=35
NION4=32
NKSH=74
NL1S=83
NL2S=82
NL3S=84
NM1S=91
NM2S=98
NM3S=99
NM4S=105
NM5S=106
N1S5=169
N1S4=130
N1S3=168
N1S2=150
N2P10=142
N2P9=117
N2P8=120
N2P7=111
N2P6=100
N2P5=102
N3D6=69
N3D5=75
N2P4=64
N3D3=74
N3D4P=73
N2P3=73
N2P2=75
N3D4=59
N2P1=51
N3D1PP=48
N3D1P=41
N2S5=44
N3P10=20
N3P9=20
N3P8=20
N3S1PP=20
N3P7=20
N3P6=20
N3S1PPPP=20
N3S1PPP=20
N3P5=20
N4D6=20
N4D4P=20
N4D4=19
N4D3=19
N2S3=19
N4D1PP=19
N4D1P=19
N3S5=19
N4FS=19
#
E[1]=0.0
E[2]=2.0*EMASS/(83.798*AMU)
E[3]=13.9996
# EXCITATION X-SECTION AT 1.4MEV
E[4]=0.296e-18
# IONISING X-SECTION AT 1.4MEV
E[5]=0.1217e-17
# EOBY AT MINIMUM IONISING
E[6]=23.0
# EOBY AT LOW ENERGY
EOBY[1]=10.0
EOBY[2]=30.0
EOBY[3]=60.0
EOBY[4]=100.
# EOBY FOR SHELLS
EOBY[5]=175.0
EOBY[6]=180.0
EOBY[7]=250.0
EOBY[8]=1678.4
EOBY[9]=1730.9
EOBY[10]=1921.0
EOBY[11]=14327.26
# AUGER AND FLUORESCENCE DATA
NC0[1]=0
EC0[1]=0.0
WKLM[1]=0.0
EFL[1]=0.0
NG1[1]=0
EG1[1]=0.0
NG2[1]=0
EG2[1]=0.0
NC0[2]=1
EC0[2]=5.0
WKLM[2]=0.0
EFL[2]=0.0
NG1[2]=0
EG1[2]=0.0
NG2[2]=0
EG2[2]=0.0
NC0[3]=2
EC0[3]=10.0
WKLM[3]=0.0
EFL[3]=0.0
NG1[3]=0
EG1[3]=0.0
NG2[3]=0
EG2[3]=0.0
NC0[4]=3
EC0[4]=15.
WKLM[4]=0.0
EFL[4]=0.0
NG1[4]=0
EG1[4]=0.0
NG2[4]=0
EG2[4]=0.0
NC0[5]=3
EC0[5]=135.1
WKLM[5]=0.0
EFL[5]=0.0
NG1[5]=0
EG1[5]=0.0
NG2[5]=0
EG2[5]=0.0
NC0[6]=2
EC0[6]=186.8
WKLM[6]=0.0
EFL[6]=0.0
NG1[6]=0
EG1[6]=0.0
NG2[6]=0
EG2[6]=0.0
NC0[7]=4
EC0[7]=200.9
WKLM[7]=0.0
EFL[7]=0.0
NG1[7]=0
EG1[7]=0.0
NG2[7]=0
EG2[7]=0.0
NC0[8]=5
EC0[8]=1555.
WKLM[8]=0.0216
EFL[8]=1584.
NG1[8]=3
EG1[8]=1490.
NG2[8]=2
EG2[8]=54.
NC0[9]=4
EC0[9]=1619.9
WKLM[9]=0.0211
EFL[9]=1636.
NG1[9]=3
EG1[9]=1580.
NG2[9]=2
EG2[9]=60.
NC0[10]=7
EC0[10]=1698.4
WKLM[10]=0.0022
EFL[10]=1700.
NG1[10]=5
EG1[10]=1538.
NG2[10]=2
EG2[10]=160.
NC0[11]=10
EC0[11]=13993.
WKLM[11]=0.65
EFL[11]=12649.
NG1[11]=5
EG1[11]=12438.
NG2[11]=5
EG2[11]=1555.
#
EION[1]=13.99960
EION[2]=38.35944
EION[3]=74.029
EION[4]=124.88
EION[5]=214.4
EION[6]=222.2
EION[7]=292.8
EION[8]=1678.4
EION[9]=1730.9
EION[10]=1921.0
EION[11]=14327.26
LEGAS[1]=0
LEGAS[2]=0
LEGAS[3]=0
LEGAS[4]=0
LEGAS[5]=1
LEGAS[6]=1
LEGAS[7]=1
LEGAS[8]=1
LEGAS[9]=1
LEGAS[10]=1
LEGAS[11]=1
ISHELL[1]=0
ISHELL[2]=0
ISHELL[3]=0
ISHELL[4]=0
ISHELL[5]=7
ISHELL[6]=6
ISHELL[7]=5
ISHELL[8]=4
ISHELL[9]=3
ISHELL[10]=2
ISHELL[11]=1
#
DO 776 J=1,NION
DO 777 I=1,20000
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=9.9152
EIN[2]=10.0324
EIN[3]=10.5624
EIN[4]=10.6436
EIN[5]=11.3035
EIN[6]=11.4430
EIN[7]=11.4447
EIN[8]=11.5261
EIN[9]=11.5458
EIN[10]=11.6660
EIN[11]=11.9981
EIN[12]=12.0370
EIN[13]=12.1004
EIN[14]=12.1117
EIN[15]=12.1253
EIN[16]=12.1404
EIN[17]=12.1437
EIN[18]=12.1785
EIN[19]=12.2565
EIN[20]=12.2580
EIN[21]=12.2843
EIN[22]=12.3522
EIN[23]=12.3546
EIN[24]=12.3853
EIN[25]=12.7564
EIN[26]=12.7847
EIN[27]=12.7854
EIN[28]=12.8034
EIN[29]=12.8092
EIN[30]=12.8153
EIN[31]=12.8253
EIN[32]=12.8573
EIN[33]=12.8648
EIN[34]=12.8698
EIN[35]=12.9035
EIN[36]=12.9725
EIN[37]=13.0044
EIN[38]=13.0080
EIN[39]=13.0192
EIN[40]=13.0297
EIN[41]=13.0365
EIN[42]=13.0386
EIN[43]=13.0442
EIN[44]=13.0986
EIN[45]=13.0987
EIN[46]=13.1139
EIN[47]=13.14
EIN[48]=13.3501
EIN[49]=13.4224
EIN[50]=13.4365
EIN[51]=13.6
EIN[52]=0.0
#**********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# USE PENNING TRANSFER FRACTION BETWEEN 0.0 AND 0.2
DO 50 NL=1,NIN
PENFRA[1,NL]=0.0
# PENNING TRANSFER DISTANCE MICRONS
PENFRA[2,NL]=1.0
# PENNING TRANSFER TIME
50 PENFRA[3,NL]=1.0
#**********************************************************************
if(IPEN == 0):
GO TO 4
DO 3 KDUM=1,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 3
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
3 CONTINUE
4 DO 5 NL=1,NIN
DO 651 I=1,20000
if(EG[I]:
> EIN[NL]) :
IOFFN[NL]=I-1
GO TO 5
# endif
651 CONTINUE
5 CONTINUE
SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC KRYPTON '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC KRYPTON '
# endif
SCRPT[3]=' IONISATION CHARGE STATE=1 ELOSS= 13.99960'
SCRPT[4]=' IONISATION CHARGE STATE=2 ELOSS= 38.35944'
SCRPT[5]=' IONISATION CHARGE STATE=3 ELOSS= 74.029 '
SCRPT[6]=' IONISATION CHARGE STATE=4 ELOSS= 124.88 '
SCRPT[7]=' IONISATION M3 SHELL ELOSS= 214.4 '
SCRPT[8]=' IONISATION M2 SHELL ELOSS= 222.2 '
SCRPT[9]=' IONISATION M1 SHELL ELOSS= 292.8 '
SCRPT[10]=' IONISATION L3 SHELL ELOSS= 1678.4 '
SCRPT[11]=' IONISATION L2 SHELL ELOSS= 1730.9 '
SCRPT[12]=' IONISATION L1 SHELL ELOSS= 1921.0 '
SCRPT[13]=' IONISATION K SHELL ELOSS= 14327.26 '
SCRPT[14]=' ATTACHMENT '
SCRPT[15]=' '
SCRPT[16]=' '
SCRPT[17]=' EXC 1S5 J=2 METASTABLE ELEVEL= 9.9152'
SCRPT[18]=' EXC 1S4 J=1 RESONANT ELEVEL= 10.0324'
SCRPT[19]=' EXC 1S3 J=0 METASTABLE ELEVEL= 10.5624'
SCRPT[20]=' EXC 1S2 J=1 RESONANT ELEVEL= 10.6436'
SCRPT[21]=' EXC 2P10 J=1 ELEVEL= 11.3035'
SCRPT[22]=' EXC 2P9 J=3 ELEVEL= 11.4430'
SCRPT[23]=' EXC 2P8 J=2 ELEVEL= 11.4447'
SCRPT[24]=' EXC 2P7 J=1 ELEVEL= 11.5261'
SCRPT[25]=' EXC 2P6 J=2 ELEVEL= 11.5458'
SCRPT[26]=' EXC 2P5 J=0 ELEVEL= 11.6660'
SCRPT[27]=' EXC 3D6 J=0 ELEVEL= 11.9981'
SCRPT[28]=' EXC 3D5 J=1 RESONANT ELEVEL= 12.0370'
SCRPT[29]=' EXC 2P4 J=1 ELEVEL= 12.1004'
SCRPT[30]=' EXC 3D3 J=2 ELEVEL= 12.1117'
SCRPT[31]=' EXC 3D4# J=4 ELEVEL= 12.1253'
SCRPT[32]=' EXC 2P3 J=1 ELEVEL= 12.1404'
SCRPT[33]=' EXC 2P2 J=2 ELEVEL= 12.1437'
SCRPT[34]=' EXC 3D4 J=3 ELEVEL= 12.1785'
SCRPT[35]=' EXC 2P1 J=0 ELEVEL= 12.2565'
SCRPT[36]=' EXC 3D1## J=2 ELEVEL= 12.2580'
SCRPT[37]=' EXC 3D1# J=3 ELEVEL= 12.2843'
SCRPT[38]=' EXC 2S5 J=2 ELEVEL= 12.3522'
SCRPT[39]=' EXC 3D2 J=1 RESONANT ELEVEL= 12.3546'
SCRPT[40]=' EXC 2S4 J=1 RESONANT ELEVEL= 12.3853'
SCRPT[41]=' EXC 3P10 J=1 ELEVEL= 12.7564'
SCRPT[42]=' EXC 3P9 J=3 ELEVEL= 12.7847'
SCRPT[43]=' EXC 3P8 J=2 ELEVEL= 12.7854'
SCRPT[44]=' EXC 3S1## J=2 ELEVEL= 12.8034'
SCRPT[45]=' EXC 3P7 J=1 ELEVEL= 12.8092'
SCRPT[46]=' EXC 3P6 J=2 ELEVEL= 12.8153'
SCRPT[47]=' EXC 3S1#### J=2 ELEVEL= 12.8253'
SCRPT[48]=' EXC 3S1### J=3 ELEVEL= 12.8573'
SCRPT[49]=' EXC 3P5 J=0 ELEVEL= 12.8648'
SCRPT[50]=' EXC 4D5 J=1 RESONANT ELEVEL= 12.8698'
SCRPT[51]=' EXC 4D6 J=0 ELEVEL= 12.9035'
SCRPT[52]=' EXC 4D4# J=4 ELEVEL= 12.9725'
SCRPT[53]=' EXC 3S1# J=1 RESONANT ELEVEL= 13.0044'
SCRPT[54]=' EXC 4D4 J=3 ELEVEL= 13.0080'
SCRPT[55]=' EXC 4D3 J=2 ELEVEL= 13.0192'
SCRPT[56]=' EXC 2S3 J=0 ELEVEL= 13.0297'
SCRPT[57]=' EXC 3S2 J=1 RESONANT ELEVEL= 13.0365'
SCRPT[58]=' EXC 4D1## J=2 ELEVEL= 13.0386'
SCRPT[59]=' EXC 4D1# J=3 ELEVEL= 13.0442'
SCRPT[60]=' EXC 3S5 J=2 ELEVEL= 13.0986'
SCRPT[61]=' EXC 4D2 J=1 RESONANT ELEVEL= 13.0987'
SCRPT[62]=' EXC 3S4 J=1 RESONANT ELEVEL= 13.1139'
SCRPT[63]=' EXC 4F SUM ELEVEL= 13.14 '
SCRPT[64]=' EXC 5D5 J=1 RESONANT ELEVEL= 13.3501'
SCRPT(65)=' EXC 5D2 J=1 RESONANT ELEVEL= 13.4224'
SCRPT(66)=' EXC 4S4 J=1 RESONANT ELEVEL= 13.4365'
SCRPT(67)=' EXC HIGH J=1 RESONANT ELEVEL= 13.6 '
SCRPT(68)=' BREMSSTRAHLUNG FROM KRYPTON ATOM '
# EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
if(EN > EIN[1]:
) :
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# endif
if(EN == 0.0):
:
QELA=37.8D-16
QMOM=37.8D-16
GO TO 200
# endif
DO 110 J=2,NEL
if(EN <= XEL[J]:
) GO TO 120
110 CONTINUE
J=NEL
# USE LOG INTERPOLATION
120 Y1=math.log(YEL[J-1])
Y2=math.log(YEL[J])
X1=math.log(XEL[J-1])
X2=math.log(XEL[J])
A=(Y2-Y1)/(X2-X1)
B=(X1*Y2-X2*Y1)/(X1-X2)
QELA=math.exp((A*math.log(EN)+B))*1.0D-16
DO 150 J=2,N
if(EN <= XEN[J]:
) GO TO 160
150 CONTINUE
J=NDATA
# USE LOG INTERPOLATION
160 Y1=math.log(YXSEC[J-1])
Y2=math.log(YXSEC[J])
X1=math.log(XEN[J-1])
X2=math.log(XEN[J])
A=(Y2-Y1)/(X2-X1)
B=(X1*Y2-X2*Y1)/(X1-X2)
QMOM=math.exp((A*math.log(EN)+B))*1.0D-16
200 CONTINUE
PQ1=0.5+(QELA-QMOM)/QELA
DO 201 J=2,NEPSI
if(EN <= XEPS[J]:
) GO TO 202
201 CONTINUE
J=NEPSI
202 A=(YEPS[J]-YEPS[J-1])/(XEPS[J]-XEPS[J-1])
B=(XEPS[J-1]*YEPS[J]-XEPS[J]*YEPS[J-1])/(XEPS[J-1]-XEPS[J])
PQ2=A*EN+B
# EPSILON =1.0-YEPS
PQ2=1.00-PQ2
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
:
Q[2][I]=QMOM
PEQEL[2][I]=0.5
# endif
# IONISATION FOR CHARGE =1
QION[1][I]=0.0
PEQION[1][I]=0.50
if(NANISO == 2):
PEQION[1][I]=0.00
if(EN <= EION[1]:
) GO TO 225
if(EN > XION(NIONG):
) GO TO 221
DO 210 J=2,NIONG
if(EN <= XION[J]:
) GO TO 220
210 CONTINUE
J=NIONG
220 A=(YIN1[J]-YIN1[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN1[J]-XION[J]*YIN1[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.0D-16
GO TO 222
# USE BORN BETHE ABOVE XION(NIONG) EV.
221 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.9009
222 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC DISTRIBUTION SAME AS ELASTIC AT ENERGY OFFSET BY
# IONISATION ENERGY
if(EN <= (2.0*EION[1]:
)) GO TO 225
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# IONISATION FOR CHARGE =2
225 QION[2][I]=0.00
PEQION[2][I]=0.50
if(NANISO == 2):
PEQION[2][I]=0.00
if(EN <= EION[2]:
) GO TO 2253
if(EN > XIN2(NION2):
) GO TO 1251
DO 2251 J=2,NION2
if(EN <= XIN2[J]:
) GO TO 2252
2251 CONTINUE
J=NION2
2252 A=(YIN2[J]-YIN2[J-1])/(XIN2[J]-XIN2[J-1])
B=(XIN2[J-1]*YIN2[J]-XIN2[J]*YIN2[J-1])/(XIN2[J-1]-XIN2[J])
QION[2][I]=(A*EN+B)*1.e-16
GO TO 1252
# USE BORN BETHE ABOVE XIN2(NION2)
1251 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0613
1252 CONTINUE
if(EN <= (2.0*EION[2]:
)) GO TO 2253
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# IONISATION FOR CHARGE =3
2253 QION[3][I]=0.00
PEQION[3][I]=0.50
if(NANISO == 2):
PEQION[3][I]=0.00
if(EN <= EION[3]:
) GO TO 3256
if(EN > XIN3(NION3):
) GO TO 1253
DO 2254 J=2,NION3
if(EN <= XIN3[J]:
) GO TO 2255
2254 CONTINUE
J=NION3
2255 A=(YIN3[J]-YIN3[J-1])/(XIN3[J]-XIN3[J-1])
B=(XIN3[J-1]*YIN3[J]-XIN3[J]*YIN3[J-1])/(XIN3[J-1]-XIN3[J])
QION[3][I]=(A*EN+B)*1.e-16
GO TO 1254
# USE BORN BETHE ABOVE XIN3(NION3) EV
1253 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0291
1254 CONTINUE
if(EN <= (2.0*EION[3]:
)) GO TO 3256
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# IONISATION FOR CHARGE STATE =4
3256 QION[4][I]=0.00
PEQION[4][I]=0.50
if(NANISO == 2):
PEQION[4][I]=0.00
if(EN <= EION[4]:
) GO TO 2256
if(EN > XIN4(NION4):
) GO TO 3253
DO 3254 J=2,NION4
if(EN <= XIN4[J]:
) GO TO 3255
3254 CONTINUE
J=NION4
3255 A=(YIN4[J]-YIN4[J-1])/(XIN4[J]-XIN4[J-1])
B=(XIN4[J-1]*YIN4[J]-XIN4[J]*YIN4[J-1])/(XIN4[J-1]-XIN4[J])
QION[4][I]=(A*EN+B)*1.e-16
GO TO 1255
# USE BORN BETHE ABOBVE XIN4(NION4) EV
3253 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[4][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0082
1255 CONTINUE
if(EN <= (2.0*EION[4]:
)) GO TO 2256
PEQION[4][I]=PEQEL[2][(I-IOFFION[4]])
#
# M3 SHELL IONISATION
2256 QION[5][I]=0.00
PEQION[5][I]=0.50
if(NANISO == 2):
PEQION[5][I]=0.00
if(EN <= EION[5]:
) GO TO 2259
DO 2257 J=2,NM3S
if(EN <= XM3S[J]:
) GO TO 2258
2257 CONTINUE
J=NM3S
2258 A=(YM3S[J]-YM3S[J-1])/(XM3S[J]-XM3S[J-1])
B=(XM3S[J-1]*YM3S[J]-XM3S[J]*YM3S[J-1])/(XM3S[J-1]-XM3S[J])
QION[5][I]=(A*EN+B)*1.e-16
PEQION[5][I]=PEQEL[2][(I-IOFFION[5]])
# M2 SHELL IONISATION
2259 QION[6][I]=0.00
PEQION[6][I]=0.50
if(NANISO == 2):
PEQION[6][I]=0.00
if(EN <= EION[6]:
) GO TO 2262
DO 2260 J=2,NM2S
if(EN <= XM2S[J]:
) GO TO 2261
2260 CONTINUE
J=NM2S
2261 A=(YM2S[J]-YM2S[J-1])/(XM2S[J]-XM2S[J-1])
B=(XM2S[J-1]*YM2S[J]-XM2S[J]*YM2S[J-1])/(XM2S[J-1]-XM2S[J])
QION[6][I]=(A*EN+B)*1.e-16
PEQION[6][I]=PEQEL[2][(I-IOFFION[6]])
# M1 SHELL IONISATION
2262 QION[7][I]=0.00
PEQION[7][I]=0.50
if(NANISO == 2):
PEQION[7][I]=0.00
if(EN <= EION[7]:
) GO TO 2265
DO 2263 J=2,NM1S
if(EN <= XM1S[J]:
) GO TO 2264
2263 CONTINUE
J=NM1S
2264 A=(YM1S[J]-YM1S[J-1])/(XM1S[J]-XM1S[J-1])
B=(XM1S[J-1]*YM1S[J]-XM1S[J]*YM1S[J-1])/(XM1S[J-1]-XM1S[J])
QION[7][I]=(A*EN+B)*1.e-16
PEQION[7][I]=PEQEL[2][(I-IOFFION[7]])
# L3 SHELL IONISATION
2265 QION[8][I]=0.00
PEQION[8][I]=0.50
if(NANISO == 2):
PEQION[8][I]=0.00
if(EN <= EION[8]:
) GO TO 2268
DO 2266 J=2,NL3S
if(EN <= XL3S[J]:
) GO TO 2267
2266 CONTINUE
J=NL3S
2267 A=(YL3S[J]-YL3S[J-1])/(XL3S[J]-XL3S[J-1])
B=(XL3S[J-1]*YL3S[J]-XL3S[J]*YL3S[J-1])/(XL3S[J-1]-XL3S[J])
QION[8][I]=(A*EN+B)*1.e-16
PEQION[8][I]=PEQEL[2][(I-IOFFION[8]])
# L2 SHELL IONISATION
2268 QION[9][I]=0.00
PEQION[9][I]=0.50
if(NANISO == 2):
PEQION[9][I]=0.00
if(EN <= EION[9]:
) GO TO 2271
DO 2269 J=2,NL2S
if(EN <= XL2S[J]:
) GO TO 2270
2269 CONTINUE
J=NL2S
2270 A=(YL2S[J]-YL2S[J-1])/(XL2S[J]-XL2S[J-1])
B=(XL2S[J-1]*YL2S[J]-XL2S[J]*YL2S[J-1])/(XL2S[J-1]-XL2S[J])
QION[9][I]=(A*EN+B)*1.e-16
PEQION[9][I]=PEQEL[2][(I-IOFFION[9]])
# L1 SHELL IONISATION
2271 QION[10][I]=0.00
PEQION[10][I]=0.50
if(NANISO == 2):
PEQION[10][I]=0.00
if(EN <= EION[10]:
) GO TO 2274
DO 2272 J=2,NL1S
if(EN <= XL1S[J]:
) GO TO 2273
2272 CONTINUE
J=NL1S
2273 A=(YL1S[J]-YL1S[J-1])/(XL1S[J]-XL1S[J-1])
B=(XL1S[J-1]*YL1S[J]-XL1S[J]*YL1S[J-1])/(XL1S[J-1]-XL1S[J])
QION[10][I]=(A*EN+B)*1.e-16
PEQION[10][I]=PEQEL[2][(I-IOFFION[10]))
# K SHELL IONISATION
2274 QION[11][I]=0.00
PEQION[11][I]=0.50
if(NANISO == 2):
PEQION[11][I]=0.00
if(EN <= EION[11]:
) GO TO 2277
DO 2275 J=2,NKSH
if(EN <= XKSH[J]:
) GO TO 2276
2275 CONTINUE
J=NKSH
2276 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
QION[11][I]=(A*EN+B)*1.e-16
PEQION[11][I]=PEQEL[2][(I-IOFFION[11]))
# ATTACHMENT
2277 Q[4][I]=0.0
# COUNTING IONISATION
Q[5][I]=0.0
PEQEL[5][I]=0.50
if(NANISO == 2):
PEQEL[5][I]=0.00
if(EN <= E[3]:
) GO TO 242
if(EN > XION(NIONG):
) GO TO 241
DO 231 J=2,NIONG
if(EN <= XION[J]:
) GO TO 240
231 CONTINUE
J=NIONG
240 A=(YINC[J]-YINC[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YINC[J]-XION[J]*YINC[J-1])/(XION[J-1]-XION[J])
Q[5][I]=(A*EN+B)*1.e-16
GO TO 242
# USE BORN BETHE X-SECTION ABOVE XION(NIONG) EV.
241 Q[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
242 CONTINUE
# CORRECTION TO SHARGE STATE 1 2 3 AND 4 X-SECTION FOR K L AND M SHELLS
# GIVES TOTAL IONISATION EQUAL TO OSCILLATOR SUM
QTEMP=QION[5][I]+QION[6][I]+QION[7][I]+QION[8][I]+QION[9][I]+QION[10][I]+QION[11][I]
if(Q[5][I]:
== 0.0) :
QCORR=1.0
else:
QCORR=(Q[5][I]-QTEMP)/Q[5][I]
# endif
QION[1][I]=QION[1][I]*QCORR
QION[2][I]=QION[2][I]*QCORR
QION[3][I]=QION[3][I]*QCORR
QION[4][I]=QION[4][I]*QCORR
#
Q[6][I]=0.0
#
DO 251 NL=1,NIN+1
QIN(NL,I)=0.00
PEQIN(NL,I)=0.50
if(NANISO == 2):
:
PEQIN(NL,I)=0.00
# endif
251 CONTINUE
# 1S5
if(EN <= EIN[1]:
) GO TO 899
if(EN > X1S5(N1S5):
) GO TO 352
DO 350 J=2,N1S5
if(EN <= X1S5[J]:
) GO TO 351
350 CONTINUE
J=N1S5
351 A=(Y1S5[J]-Y1S5[J-1])/(X1S5[J]-X1S5[J-1])
B=(X1S5[J-1]*Y1S5[J]-X1S5[J]*Y1S5[J-1])/(X1S5[J-1]-X1S5[J])
QIN[1][I]=(A*EN+B)*1.0D-18*AN1S
GO TO 353
# SCALED X-SECTION ABOVE X1S5(N1S5) EV BY 1/E**3
352 QIN[1][I]=Y1S5(N1S5)*(X1S5(N1S5)/EN)**3*1.0D-18*AN1S
353 if(EN <= (2.0*EIN[1])) GO TO 354
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]# 1S4 F=0.203
354 if(EN <= EIN[2]) GO TO 899
if(EN > X1S4(N1S4):
) GO TO 357
DO 355 J=2,N1S4
if(EN <= X1S4[J]:
) GO TO 356
355 CONTINUE
J=N1S4
356 A=(Y1S4[J]-Y1S4[J-1])/(X1S4[J]-X1S4[J-1])
B=(X1S4[J-1]*Y1S4[J]-X1S4[J]*Y1S4[J-1])/(X1S4[J-1]-X1S4[J])
QIN[2][I]=(A*EN+B)*1.0D-18*AN1S
GO TO 358
357 QIN[2][I]=0.203/(EIN[2]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[2]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[2]+E[3])
358 if(EN <= (2.0*EIN[2])) GO TO 359
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]# 1S3
359 if(EN <= EIN[3]) GO TO 899
if(EN > X1S3(N1S3):
) GO TO 362
DO 360 J=2,N1S3
if(EN <= X1S3[J]:
) GO TO 361
360 CONTINUE
J=N1S3
361 A=(Y1S3[J]-Y1S3[J-1])/(X1S3[J]-X1S3[J-1])
B=(X1S3[J-1]*Y1S3[J]-X1S3[J]*Y1S3[J-1])/(X1S3[J-1]-X1S3[J])
QIN[3][I]=(A*EN+B)*1.0D-18*AN1S
GO TO 363
# SCALED X-SECTION ABOVE X1S3(N1S3) EV BY 1/E**3
362 QIN[3][I]=Y1S3(N1S3)*(X1S3(N1S3)/EN)**3*1.0D-18*AN1S
363 if(EN <= (2.0*EIN[3])) GO TO 364
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]# 1S2 F=0.182
364 if(EN <= EIN[4]) GO TO 899
if(EN > X1S2(N1S2):
) GO TO 367
DO 365 J=2,N1S2
if(EN <= X1S2[J]:
) GO TO 366
365 CONTINUE
J=N1S2
366 A=(Y1S2[J]-Y1S2[J-1])/(X1S2[J]-X1S2[J-1])
B=(X1S2[J-1]*Y1S2[J]-X1S2[J]*Y1S2[J-1])/(X1S2[J-1]-X1S2[J])
QIN[4][I]=(A*EN+B)*1.0D-18*AN1S
GO TO 368
367 QIN[4][I]=0.182/(EIN[4]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[4]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[4]+E[3])
368 if(EN <= (2.0*EIN[4])) GO TO 369
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]# 2P10
369 if(EN <= EIN[5]) GO TO 899
if(EN > X2P10(N2P10):
) GO TO 372
DO 370 J=2,N2P10
if(EN <= X2P10[J]:
) GO TO 371
370 CONTINUE
J=N2P10
371 A=(Y2P10[J]-Y2P10[J-1])/(X2P10[J]-X2P10[J-1])
B=(X2P10[J-1]*Y2P10[J]-X2P10[J]*Y2P10[J-1])/(X2P10[J-1]-X2P10[J])
QIN[5][I]=(A*EN+B)*1.0D-18*AN2P10
GO TO 373
# SCALED X-SECTION ABOVE X2P10(N2P10) EV BY 1/E**3
372 QIN[5][I]=Y2P10(N2P10)*(X2P10(N2P10)/EN)**3*1.0D-18*AN2P10
373 if(EN <= (2.0*EIN[5])) GO TO 374
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))]# 2P9
374 if(EN <= EIN[6]) GO TO 899
if(EN > X2P9(N2P9):
) GO TO 377
DO 375 J=2,N2P9
if(EN <= X2P9[J]:
) GO TO 376
375 CONTINUE
J=N2P9
376 A=(Y2P9[J]-Y2P9[J-1])/(X2P9[J]-X2P9[J-1])
B=(X2P9[J-1]*Y2P9[J]-X2P9[J]*Y2P9[J-1])/(X2P9[J-1]-X2P9[J])
QIN[6][I]=(A*EN+B)*1.0D-18*AN2P
GO TO 378
# SCALED X-SECTION ABOVE X2P9(N2P9) EV BY 1/E**3
377 QIN[6][I]=Y2P9(N2P9)*(X2P9(N2P9)/EN)**3*1.0D-18*AN2P
378 if(EN <= (2.0*EIN[6])) GO TO 379
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]# 2P8
379 if(EN <= EIN[7]) GO TO 899
if(EN > X2P8(N2P8):
) GO TO 382
DO 380 J=2,N2P8
if(EN <= X2P8[J]:
) GO TO 381
380 CONTINUE
J=N2P8
381 A=(Y2P8[J]-Y2P8[J-1])/(X2P8[J]-X2P8[J-1])
B=(X2P8[J-1]*Y2P8[J]-X2P8[J]*Y2P8[J-1])/(X2P8[J-1]-X2P8[J])
QIN[7][I]=(A*EN+B)*1.0D-18*AN2P
GO TO 383
# SCALED X-SECTION ABOVE X2P8(N2P8) EV BY 1/E
382 QIN[7][I]=Y2P8(N2P8)*(X2P8(N2P8)/EN)*1.0D-18*AN2P
383 if(EN <= (2.0*EIN[7])) GO TO 384
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]# 2P7
384 if(EN <= EIN[8]) GO TO 899
if(EN > X2P7(N2P7):
) GO TO 387
DO 385 J=2,N2P7
if(EN <= X2P7[J]:
) GO TO 386
385 CONTINUE
J=N2P7
386 A=(Y2P7[J]-Y2P7[J-1])/(X2P7[J]-X2P7[J-1])
B=(X2P7[J-1]*Y2P7[J]-X2P7[J]*Y2P7[J-1])/(X2P7[J-1]-X2P7[J])
QIN[8][I]=(A*EN+B)*1.0D-18*AN2P
GO TO 388
# SCALED X-SECTION ABOVE X2P7(N2P7) EV BY 1/E**3
387 QIN[8][I]=Y2P7(N2P7)*(X2P7(N2P7)/EN)**3*1.0D-18*AN2P
388 if(EN <= (2.0*EIN[8])) GO TO 389
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]# 2P6
389 if(EN <= EIN[9]) GO TO 899
if(EN > X2P6(N2P6):
) GO TO 392
DO 390 J=2,N2P6
if(EN <= X2P6[J]:
) GO TO 391
390 CONTINUE
J=N2P6
391 A=(Y2P6[J]-Y2P6[J-1])/(X2P6[J]-X2P6[J-1])
B=(X2P6[J-1]*Y2P6[J]-X2P6[J]*Y2P6[J-1])/(X2P6[J-1]-X2P6[J])
QIN[9][I]=(A*EN+B)*1.0D-18*AN2P
GO TO 393
# SCALED X-SECTION ABOVE X2P6(N2P6) EV BY 1/E
392 QIN[9][I]=Y2P6(N2P6)*(X2P6(N2P6)/EN)*1.0D-18*AN2P
393 if(EN <= (2.0*EIN[9])) GO TO 394
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]# 2P5
394 if(EN <= EIN[10]) GO TO 899
if(EN > X2P5(N2P5):
) GO TO 397
DO 395 J=2,N2P5
if(EN <= X2P5[J]:
) GO TO 396
395 CONTINUE
J=N2P5
396 A=(Y2P5[J]-Y2P5[J-1])/(X2P5[J]-X2P5[J-1])
B=(X2P5[J-1]*Y2P5[J]-X2P5[J]*Y2P5[J-1])/(X2P5[J-1]-X2P5[J])
QIN[10][I]=(A*EN+B)*1.0D-18*AN2P5
GO TO 398
# SCALED X-SECTION ABOVE X2P5(N2P5) EV BY 1/E
397 QIN[10][I]=Y2P5(N2P5)*(X2P5(N2P5)/EN)*1.0D-18*AN2P5
398 if(EN <= (2.0*EIN[10])) GO TO 399
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
# 3D6
399 if(EN <= EIN[11]) GO TO 899
if(EN > X3D6(N3D6):
) GO TO 402
DO 400 J=2,N3D6
if(EN <= X3D6[J]:
) GO TO 401
400 CONTINUE
J=N3D6
401 A=(Y3D6[J]-Y3D6[J-1])/(X3D6[J]-X3D6[J-1])
B=(X3D6[J-1]*Y3D6[J]-X3D6[J]*Y3D6[J-1])/(X3D6[J-1]-X3D6[J])
QIN[11][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 403
# SCALED X-SECTION ABOVE X3D6(N3D6) EV BY 1/E**3
402 QIN[11][I]=Y3D6(N3D6)*(X3D6(N3D6)/EN)**3*1.0D-18*AN3D
403 if(EN <= (2.0*EIN[11])) GO TO 404
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
# 3D5
404 if(EN <= EIN[12]) GO TO 899
if(EN > X3D5(N3D5):
) GO TO 407
DO 405 J=2,N3D5
if(EN <= X3D5[J]:
) GO TO 406
405 CONTINUE
J=N3D5
406 A=(Y3D5[J]-Y3D5[J-1])/(X3D5[J]-X3D5[J-1])
B=(X3D5[J-1]*Y3D5[J]-X3D5[J]*Y3D5[J-1])/(X3D5[J-1]-X3D5[J])
QIN[12][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 408
# USE BEF SCALING ABOVE X3D5(N3D5) EV F=0.0053
407 QIN[12][I]=0.0053/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[12]+E[3])
if(QIN[12][I]:
< 0.0) QIN[12][I]=0.00
408 if(EN <= (2.0*EIN[12])) GO TO 409
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# 2P4
409 if(EN <= EIN[13]) GO TO 899
if(EN > X2P4(N2P4):
) GO TO 412
DO 410 J=2,N2P4
if(EN <= X2P4[J]:
) GO TO 411
410 CONTINUE
J=N2P4
411 A=(Y2P4[J]-Y2P4[J-1])/(X2P4[J]-X2P4[J-1])
B=(X2P4[J-1]*Y2P4[J]-X2P4[J]*Y2P4[J-1])/(X2P4[J-1]-X2P4[J])
QIN[13][I]=(A*EN+B)*1.0D-18*AN2P
GO TO 413
# SCALED X-SECTION ABOVE X2P4(N2P4) EV BY 1/E**3
412 QIN[13][I]=Y2P4(N2P4)*(X2P4(N2P4)/EN)**3*1.0D-18*AN2P
413 if(EN <= (2.0*EIN[13])) GO TO 414
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# 3D3
414 if(EN <= EIN[14]) GO TO 899
if(EN > X3D3(N3D3):
) GO TO 417
DO 415 J=2,N3D3
if(EN <= X3D3[J]:
) GO TO 416
415 CONTINUE
J=N3D3
416 A=(Y3D3[J]-Y3D3[J-1])/(X3D3[J]-X3D3[J-1])
B=(X3D3[J-1]*Y3D3[J]-X3D3[J]*Y3D3[J-1])/(X3D3[J-1]-X3D3[J])
QIN[14][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 418
# SCALED X-SECTION ABOVE X3D3(N3D3) EV BY 1/E**3
417 QIN[14][I]=Y3D3(N3D3)*(X3D3(N3D3)/EN)**3*1.0D-18*AN3D
418 if(EN <= (2.0*EIN[14])) GO TO 419
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# 3D4P
419 if(EN <= EIN[15]) GO TO 899
if(EN > X3D4P(N3D4P):
) GO TO 422
DO 420 J=2,N3D4P
if(EN <= X3D4P[J]:
) GO TO 421
420 CONTINUE
J=N3D4P
421 A=(Y3D4P[J]-Y3D4P[J-1])/(X3D4P[J]-X3D4P[J-1])
B=(X3D4P[J-1]*Y3D4P[J]-X3D4P[J]*Y3D4P[J-1])/(X3D4P[J-1]-X3D4P[J])
QIN[15][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 423
# SCALED X-SECTION ABOVE X3D4P(N3D4P) EV BY 1/E**3
422 QIN[15][I]=Y3D4P(N3D4P)*(X3D4P(N3D4P)/EN)**3*1.0D-18*AN3D
423 if(EN <= (2.0*EIN[15])) GO TO 424
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# 2P3
424 if(EN <= EIN[16]) GO TO 899
if(EN > X2P3(N2P3):
) GO TO 427
DO 425 J=2,N2P3
if(EN <= X2P3[J]:
) GO TO 426
425 CONTINUE
J=N2P3
426 A=(Y2P3[J]-Y2P3[J-1])/(X2P3[J]-X2P3[J-1])
B=(X2P3[J-1]*Y2P3[J]-X2P3[J]*Y2P3[J-1])/(X2P3[J-1]-X2P3[J])
QIN[16][I]=(A*EN+B)*1.0D-18*AN2P
GO TO 428
# SCALED X-SECTION ABOVE X2P3(N2P3) EV BY 1/E**3
427 QIN[16][I]=Y2P3(N2P3)*(X2P3(N2P3)/EN)**3*1.0D-18*AN2P
428 if(EN <= (2.0*EIN[16])) GO TO 429
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# 2P2
429 if(EN <= EIN[17]) GO TO 899
if(EN > X2P2(N2P2):
) GO TO 432
DO 430 J=2,N2P2
if(EN <= X2P2[J]:
) GO TO 431
430 CONTINUE
J=N2P2
431 A=(Y2P2[J]-Y2P2[J-1])/(X2P2[J]-X2P2[J-1])
B=(X2P2[J-1]*Y2P2[J]-X2P2[J]*Y2P2[J-1])/(X2P2[J-1]-X2P2[J])
QIN[17][I]=(A*EN+B)*1.0D-18*AN2P
GO TO 433
# SCALED X-SECTION ABOVE X2P2(N2P2) EV BY 1/E
432 QIN[17][I]=Y2P2(N2P2)*(X2P2(N2P2)/EN)*1.0D-18*AN2P
433 if(EN <= (2.0*EIN[17])) GO TO 434
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# 3D4
434 if(EN <= EIN[18]) GO TO 899
if(EN > X3D4(N3D4):
) GO TO 437
DO 435 J=2,N3D4
if(EN <= X3D4[J]:
) GO TO 436
435 CONTINUE
J=N3D4
436 A=(Y3D4[J]-Y3D4[J-1])/(X3D4[J]-X3D4[J-1])
B=(X3D4[J-1]*Y3D4[J]-X3D4[J]*Y3D4[J-1])/(X3D4[J-1]-X3D4[J])
QIN[18][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 438
# SCALED X-SECTION ABOVE X3D4(N3D4) EV BY 1/E
437 QIN[18][I]=Y3D4(N3D4)*(X3D4(N3D4)/EN)*1.0D-18*AN3D
438 if(EN <= (2.0*EIN[18])) GO TO 439
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# 2P1
439 if(EN <= EIN[19]) GO TO 899
if(EN > X2P1(N2P1):
) GO TO 442
DO 440 J=2,N2P1
if(EN <= X2P1[J]:
) GO TO 441
440 CONTINUE
J=N2P1
441 A=(Y2P1[J]-Y2P1[J-1])/(X2P1[J]-X2P1[J-1])
B=(X2P1[J-1]*Y2P1[J]-X2P1[J]*Y2P1[J-1])/(X2P1[J-1]-X2P1[J])
QIN[19][I]=(A*EN+B)*1.0D-18*AN2P1
GO TO 443
# SCALED X-SECTION ABOVE X2P1(N2P1) EV BY 1/E
442 QIN[19][I]=Y2P1(N2P1)*(X2P1(N2P1)/EN)*1.0D-18*AN2P1
443 if(EN <= (2.0*EIN[19])) GO TO 444
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# 3D1PP
444 if(EN <= EIN[20]) GO TO 899
if(EN > X3D1PP(N3D1PP):
) GO TO 447
DO 445 J=2,N3D1PP
if(EN <= X3D1PP[J]:
) GO TO 446
445 CONTINUE
J=N3D1PP
446 A=(Y3D1PP[J]-Y3D1PP[J-1])/(X3D1PP[J]-X3D1PP[J-1])
B=(X3D1PP[J-1]*Y3D1PP[J]-X3D1PP[J]*Y3D1PP[J-1])/(X3D1PP[J-1]-X3D1PP[J])
QIN[20][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 448
# SCALED X-SECTION ABOVE X3D1PP(N3D1PP) EV BY 1/E**3
447 QIN[20][I]=Y3D1PP(N3D1PP)*(X3D1PP(N3D1PP)/EN)**3*1.0D-18*AN3D
448 if(EN <= (2.0*EIN[20])) GO TO 449
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# 3D1P
449 if(EN <= EIN[21]) GO TO 899
if(EN > X3D1P(N3D1P):
) GO TO 452
DO 450 J=2,N3D1P
if(EN <= X3D1P[J]:
) GO TO 451
450 CONTINUE
J=N3D1P
451 A=(Y3D1P[J]-Y3D1P[J-1])/(X3D1P[J]-X3D1P[J-1])
B=(X3D1P[J-1]*Y3D1P[J]-X3D1P[J]*Y3D1P[J-1])/(X3D1P[J-1]-X3D1P[J])
QIN[21][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 453
# SCALED X-SECTION ABOVE X3D1P(N3D1P) EV BY 1/E
452 QIN[21][I]=Y3D1P(N3D1P)*(X3D1P(N3D1P)/EN)*1.0D-18*AN3D
453 if(EN <= (2.0*EIN[21])) GO TO 454
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# 2S5
454 if(EN <= EIN[22]) GO TO 899
if(EN > X2S5(N2S5):
) GO TO 457
DO 455 J=2,N2S5
if(EN <= X2S5[J]:
) GO TO 456
455 CONTINUE
J=N2S5
456 A=(Y2S5[J]-Y2S5[J-1])/(X2S5[J]-X2S5[J-1])
B=(X2S5[J-1]*Y2S5[J]-X2S5[J]*Y2S5[J-1])/(X2S5[J-1]-X2S5[J])
QIN[22][I]=(A*EN+B)*1.0D-18*AN1S
GO TO 458
# SCALED X-SECTION ABOVE X2S5(N2S5) EV BY 1/E**3
457 QIN[22][I]=Y2S5(N2S5)*(X2S5(N2S5)/EN)**3*1.0D-18*AN1S
458 if(EN <= (2.0*EIN[22])) GO TO 459
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# 3D2 BEF SCALED F=0.082
459 if(EN <= EIN[23]) GO TO 899
QIN[23][I]=0.082/(EIN[23]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[23]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[23]+E[3])
if(QIN[23][I]:
< 0.0) QIN[23][I]=0.00
if(EN <= (2.0*EIN[23]:
)) GO TO 460
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# 2S4 BEF SCALED F=0.154
460 if(EN <= EIN[24]) GO TO 899
QIN[24][I]=0.154/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (2.0*EIN[24]:
)) GO TO 461
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# 3P10
461 if(EN <= EIN[25]) GO TO 899
if(EN > X3P10(N3P10):
) GO TO 464
DO 462 J=2,N3P10
if(EN <= X3P10[J]:
) GO TO 463
462 CONTINUE
J=N3P10
463 A=(Y3P10[J]-Y3P10[J-1])/(X3P10[J]-X3P10[J-1])
B=(X3P10[J-1]*Y3P10[J]-X3P10[J]*Y3P10[J-1])/(X3P10[J-1]-X3P10[J])
QIN[25][I]=(A*EN+B)*1.0D-18*AN3P
GO TO 465
# SCALED X-SECTION ABOVE X3P10(N3P10) EV BY 1/E**3
464 QIN[25][I]=Y3P10(N3P10)*(X3P10(N3P10)/EN)**3*1.0D-18*AN3P
465 if(EN <= (2.0*EIN[25])) GO TO 466
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
# 3P9
466 if(EN <= EIN[26]) GO TO 899
if(EN > X3P9(N3P9):
) GO TO 469
DO 467 J=2,N3P9
if(EN <= X3P9[J]:
) GO TO 468
467 CONTINUE
J=N3P9
468 A=(Y3P9[J]-Y3P9[J-1])/(X3P9[J]-X3P9[J-1])
B=(X3P9[J-1]*Y3P9[J]-X3P9[J]*Y3P9[J-1])/(X3P9[J-1]-X3P9[J])
QIN[26][I]=(A*EN+B)*1.0D-18*AN3P
GO TO 470
# SCALED X-SECTION ABOVE X3P9(N3P9) EV BY 1/E**3
469 QIN[26][I]=Y3P9(N3P9)*(X3P9(N3P9)/EN)**3*1.0D-18*AN3P
470 if(EN <= (2.0*EIN[26])) GO TO 471
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# 3P8
471 if(EN <= EIN[27]) GO TO 899
if(EN > X3P8(N3P8):
) GO TO 474
DO 472 J=2,N3P8
if(EN <= X3P8[J]:
) GO TO 473
472 CONTINUE
J=N3P8
473 A=(Y3P8[J]-Y3P8[J-1])/(X3P8[J]-X3P8[J-1])
B=(X3P8[J-1]*Y3P8[J]-X3P8[J]*Y3P8[J-1])/(X3P8[J-1]-X3P8[J])
QIN[27][I]=(A*EN+B)*1.0D-18*AN3P
GO TO 475
# SCALED X-SECTION ABOVE X3P8(N3P8) EV BY 1/E
474 QIN[27][I]=Y3P8(N3P8)*(X3P8(N3P8)/EN)*1.0D-18*AN3P
475 if(EN <= (2.0*EIN[27])) GO TO 476
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# 3S1PP
476 if(EN <= EIN[28]) GO TO 899
if(EN > X3S1PP(N3S1PP):
) GO TO 479
DO 477 J=2,N3S1PP
if(EN <= X3S1PP[J]:
) GO TO 478
477 CONTINUE
J=N3S1PP
478 A=(Y3S1PP[J]-Y3S1PP[J-1])/(X3S1PP[J]-X3S1PP[J-1])
B=(X3S1PP[J-1]*Y3S1PP[J]-X3S1PP[J]*Y3S1PP[J-1])/(X3S1PP[J-1]-X3S1PP[J])
QIN[28][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 480
# SCALED X-SECTION ABOVE X3S1PP(N3S1PP) EV BY 1/E**3
479 QIN[28][I]=Y3S1PP(N3S1PP)*(X3S1PP(N3S1PP)/EN)**3*1.0D-18*AN3D
480 if(EN <= (2.0*EIN[28])) GO TO 481
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# 3P7
481 if(EN <= EIN[29]) GO TO 899
if(EN > X3P7(N3P7):
) GO TO 484
DO 482 J=2,N3P7
if(EN <= X3P7[J]:
) GO TO 483
482 CONTINUE
J=N3P7
483 A=(Y3P7[J]-Y3P7[J-1])/(X3P7[J]-X3P7[J-1])
B=(X3P7[J-1]*Y3P7[J]-X3P7[J]*Y3P7[J-1])/(X3P7[J-1]-X3P7[J])
QIN[29][I]=(A*EN+B)*1.0D-18*AN3P
GO TO 485
# SCALED X-SECTION ABOVE X3P7(N3P7) EV BY 1/E**3
484 QIN[29][I]=Y3P7(N3P7)*(X3P7(N3P7)/EN)**3*1.0D-18*AN3P
485 if(EN <= (2.0*EIN[29])) GO TO 486
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# 3P6
486 if(EN <= EIN[30]) GO TO 899
if(EN > X3P6(N3P6):
) GO TO 489
DO 487 J=2,N3P6
if(EN <= X3P6[J]:
) GO TO 488
487 CONTINUE
J=N3P6
488 A=(Y3P6[J]-Y3P6[J-1])/(X3P6[J]-X3P6[J-1])
B=(X3P6[J-1]*Y3P6[J]-X3P6[J]*Y3P6[J-1])/(X3P6[J-1]-X3P6[J])
QIN[30][I]=(A*EN+B)*1.0D-18*AN3P
GO TO 490
# SCALED X-SECTION ABOVE X3P6(N3P6) EV BY 1/E
489 QIN[30][I]=Y3P6(N3P6)*(X3P6(N3P6)/EN)*1.0D-18*AN3P
490 if(EN <= (2.0*EIN[30])) GO TO 491
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# 3S1PPPP
491 if(EN <= EIN[31]) GO TO 899
if(EN > X3S1PPPP(N3S1PPPP):
) GO TO 494
DO 492 J=2,N3S1PPPP
if(EN <= X3S1PPPP[J]:
) GO TO 493
492 CONTINUE
J=N3S1PPPP
493 A=(Y3S1PPPP[J]-Y3S1PPPP[J-1])/(X3S1PPPP[J]-X3S1PPPP[J-1])
B=(X3S1PPPP[J-1]*Y3S1PPPP[J]-X3S1PPPP[J]*Y3S1PPPP[J-1])/(X3S1PPPP[J-1]-X3S1PPPP[J])
QIN[31][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 495
# SCALED X-SECTION ABOVE X3S1PPPP(N3S1PPPP) EV BY 1/E**3
494 QIN[31][I]=Y3S1PPPP(N3S1PPPP)*(X3S1PPPP(N3S1PPPP)/EN)**3*1.0D-18*AN3D
495 if(EN <= (2.0*EIN[31])) GO TO 496
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# 3S1PPP
496 if(EN <= EIN[32]) GO TO 899
if(EN > X3S1PPP(N3S1PPP):
) GO TO 499
DO 497 J=2,N3S1PPP
if(EN <= X3S1PPP[J]:
) GO TO 498
497 CONTINUE
J=N3S1PPP
498 A=(Y3S1PPP[J]-Y3S1PPP[J-1])/(X3S1PPP[J]-X3S1PPP[J-1])
B=(X3S1PPP[J-1]*Y3S1PPP[J]-X3S1PPP[J]*Y3S1PPP[J-1])/(X3S1PPP[J-1]-X3S1PPP[J])
QIN[32][I]=(A*EN+B)*1.0D-18*AN3D
GO TO 500
# SCALED X-SECTION ABOVE X3S1PPP(N3S1PPP) EV BY 1/E
499 QIN[32][I]=Y3S1PPP(N3S1PPP)*(X3S1PPP(N3S1PPP)/EN)*1.0D-18*AN3D
500 if(EN <= (2.0*EIN[32])) GO TO 501
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# 3P5
501 if(EN <= EIN[33]) GO TO 899
if(EN > X3P5(N3P5):
) GO TO 504
DO 502 J=2,N3P5
if(EN <= X3P5[J]:
) GO TO 503
502 CONTINUE
J=N3P5
503 A=(Y3P5[J]-Y3P5[J-1])/(X3P5[J]-X3P5[J-1])
B=(X3P5[J-1]*Y3P5[J]-X3P5[J]*Y3P5[J-1])/(X3P5[J-1]-X3P5[J])
QIN[33][I]=(A*EN+B)*1.0D-18*AN3P5
GO TO 505
# SCALED X-SECTION ABOVE X3P5(N3P5) EV BY 1/E
504 QIN[33][I]=Y3P5(N3P5)*(X3P5(N3P5)/EN)*1.0D-18*AN3P5
505 if(EN <= (2.0*EIN[33])) GO TO 506
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# 4D5 BEF SCALED F=0.0140
506 if(EN <= EIN[34]) GO TO 899
QIN[34][I]=0.014/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.00
if(EN <= (2.0*EIN[34]:
)) GO TO 507
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# 4D6
507 if(EN <= EIN[35]) GO TO 899
if(EN > X4D6(N4D6):
) GO TO 510
DO 508 J=2,N4D6
if(EN <= X4D6[J]:
) GO TO 509
508 CONTINUE
J=N4D6
509 A=(Y4D6[J]-Y4D6[J-1])/(X4D6[J]-X4D6[J-1])
B=(X4D6[J-1]*Y4D6[J]-X4D6[J]*Y4D6[J-1])/(X4D6[J-1]-X4D6[J])
QIN[35][I]=(A*EN+B)*1.0D-18*AN4D
GO TO 511
# SCALED X-SECTION ABOVE X4D6(N4D6) EV BY 1/E**3
510 QIN[35][I]=Y4D6(N4D6)*(X4D6(N4D6)/EN)**3*1.0D-18*AN4D
511 if(EN <= (2.0*EIN[35])) GO TO 512
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# 4D4P
512 if(EN <= EIN[36]) GO TO 899
if(EN > X4D4P(N4D4P):
) GO TO 515
DO 513 J=2,N4D4P
if(EN <= X4D4P[J]:
) GO TO 514
513 CONTINUE
J=N4D4P
514 A=(Y4D4P[J]-Y4D4P[J-1])/(X4D4P[J]-X4D4P[J-1])
B=(X4D4P[J-1]*Y4D4P[J]-X4D4P[J]*Y4D4P[J-1])/(X4D4P[J-1]-X4D4P[J])
QIN[36][I]=(A*EN+B)*1.0D-18*AN4D
GO TO 516
# SCALED X-SECTION ABOVE X4D4P(N4D4P) EV BY 1/E**3
515 QIN[36][I]=Y4D4P(N4D4P)*(X4D4P(N4D4P)/EN)**3*1.0D-18*AN4D
516 if(EN <= (2.0*EIN[36])) GO TO 517
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
# 3S1P BEF SCALED F=0.0435
517 if(EN <= EIN[37]) GO TO 899
QIN[37][I]=0.0435/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+E[3])
if(QIN[37][I]:
< 0.0) QIN[37][I]=0.00
if(EN <= (2.0*EIN[37]:
)) GO TO 518
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
# 4D4
518 if(EN <= EIN[38]) GO TO 899
if(EN > X4D4(N4D4):
) GO TO 521
DO 519 J=2,N4D4
if(EN <= X4D4[J]:
) GO TO 520
519 CONTINUE
J=N4D4
520 A=(Y4D4[J]-Y4D4[J-1])/(X4D4[J]-X4D4[J-1])
B=(X4D4[J-1]*Y4D4[J]-X4D4[J]*Y4D4[J-1])/(X4D4[J-1]-X4D4[J])
QIN[38][I]=(A*EN+B)*1.0D-18*AN4D
GO TO 522
# SCALED X-SECTION ABOVE X4D4(N4D4) EV BY 1/E
521 QIN[38][I]=Y4D4(N4D4)*(X4D4(N4D4)/EN)*1.0D-18*AN4D
522 if(EN <= (2.0*EIN[38])) GO TO 523
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
# 4D3
523 if(EN <= EIN[39]) GO TO 899
if(EN > X4D3(N4D3):
) GO TO 526
DO 524 J=2,N4D3
if(EN <= X4D3[J]:
) GO TO 525
524 CONTINUE
J=N4D3
525 A=(Y4D3[J]-Y4D3[J-1])/(X4D3[J]-X4D3[J-1])
B=(X4D3[J-1]*Y4D3[J]-X4D3[J]*Y4D3[J-1])/(X4D3[J-1]-X4D3[J])
QIN[39][I]=(A*EN+B)*1.0D-18*AN4D
GO TO 527
# SCALED X-SECTION ABOVE X4D3(N4D3) EV BY 1/E**3
526 QIN[39][I]=Y4D3(N4D3)*(X4D3(N4D3)/EN)**3*1.0D-18*AN4D
527 if(EN <= (2.0*EIN[39])) GO TO 528
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
# 2S3
528 if(EN <= EIN[40]) GO TO 899
if(EN > X2S3(N2S3):
) GO TO 531
DO 529 J=2,N2S3
if(EN <= X2S3[J]:
) GO TO 530
529 CONTINUE
J=N2S3
530 A=(Y2S3[J]-Y2S3[J-1])/(X2S3[J]-X2S3[J-1])
B=(X2S3[J-1]*Y2S3[J]-X2S3[J]*Y2S3[J-1])/(X2S3[J-1]-X2S3[J])
QIN[40][I]=(A*EN+B)*1.0D-18*AN1S
GO TO 532
# SCALED X-SECTION ABOVE X2S3(N2S3) EV BY 1/E**3
531 QIN[40][I]=Y2S3(N2S3)*(X2S3(N2S3)/EN)**3*1.0D-18*AN1S
532 if(EN <= (2.0*EIN[40])) GO TO 533
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
# 2S2 BEF SCALED F=0.0105
533 if(EN <= EIN[41]) GO TO 899
QIN[41][I]=0.0105/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[41]+E[3])
if(QIN[41][I]:
< 0.0) QIN[41][I]=0.00
if(EN <= (2.0*EIN[41]:
)) GO TO 534
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
# 4D1PP
534 if(EN <= EIN[42]) GO TO 899
if(EN > X4D1PP(N4D1PP):
) GO TO 537
DO 535 J=2,N4D1PP
if(EN <= X4D1PP[J]:
) GO TO 536
535 CONTINUE
J=N4D1PP
536 A=(Y4D1PP[J]-Y4D1PP[J-1])/(X4D1PP[J]-X4D1PP[J-1])
B=(X4D1PP[J-1]*Y4D1PP[J]-X4D1PP[J]*Y4D1PP[J-1])/(X4D1PP[J-1]-X4D1PP[J])
QIN[42][I]=(A*EN+B)*1.0D-18*AN4D
GO TO 538
# SCALED X-SECTION ABOVE X4D1PP(N4D1PP) EV BY 1/E**3
537 QIN[42][I]=Y4D1PP(N4D1PP)*(X4D1PP(N4D1PP)/EN)**3*1.0D-18*AN4D
538 if(EN <= (2.0*EIN[42])) GO TO 539
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
# 4D1P
539 if(EN <= EIN[43]) GO TO 899
if(EN > X4D1P(N4D1P):
) GO TO 542
DO 540 J=2,N4D1P
if(EN <= X4D1P[J]:
) GO TO 541
540 CONTINUE
J=N4D1P
541 A=(Y4D1P[J]-Y4D1P[J-1])/(X4D1P[J]-X4D1P[J-1])
B=(X4D1P[J-1]*Y4D1P[J]-X4D1P[J]*Y4D1P[J-1])/(X4D1P[J-1]-X4D1P[J])
QIN[43][I]=(A*EN+B)*1.0D-18*AN4D
GO TO 543
# SCALED X-SECTION ABOVE X4D1P(N4D1P) EV BY 1/E**3
542 QIN[43][I]=Y4D1P(N4D1P)*(X4D1P(N4D1P)/EN)**3*1.0D-18*AN4D
543 if(EN <= (2.0*EIN[43])) GO TO 544
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
# 3S5
544 if(EN <= EIN[44]) GO TO 899
if(EN > X3S5(N3S5):
) GO TO 547
DO 545 J=2,N3S5
if(EN <= X3S5[J]:
) GO TO 546
545 CONTINUE
J=N3S5
546 A=(Y3S5[J]-Y3S5[J-1])/(X3S5[J]-X3S5[J-1])
B=(X3S5[J-1]*Y3S5[J]-X3S5[J]*Y3S5[J-1])/(X3S5[J-1]-X3S5[J])
QIN[44][I]=(A*EN+B)*1.0D-18*AN1S
GO TO 548
# SCALED X-SECTION ABOVE X3S5(N3S5) EV BY 1/E**3
547 QIN[44][I]=Y3S5(N3S5)*(X3S5(N3S5)/EN)**3*1.0D-18*AN1S
548 if(EN <= (2.0*EIN[44])) GO TO 549
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
# 4D2 BEF SCALED F=0.0970
549 if(EN <= EIN[45]) GO TO 899
QIN[45][I]=0.0970/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])
if(QIN[45][I]:
< 0.0) QIN[45][I]=0.00
if(EN <= (2.0*EIN[45]:
)) GO TO 550
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
# 3S4 BEF SCALED F=0.0808
550 if(EN <= EIN[46]) GO TO 899
QIN[46][I]=0.0808/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+E[3])
if(QIN[46][I]:
< 0.0) QIN[46][I]=0.00
if(EN <= (2.0*EIN[46]:
)) GO TO 551
PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]
# 4FS
551 if(EN <= EIN[47]) GO TO 899
if(EN > X4FS(N4FS):
) GO TO 554
DO 552 J=2,N4FS
if(EN <= X4FS[J]:
) GO TO 553
552 CONTINUE
J=N4FS
553 A=(Y4FS[J]-Y4FS[J-1])/(X4FS[J]-X4FS[J-1])
B=(X4FS[J-1]*Y4FS[J]-X4FS[J]*Y4FS[J-1])/(X4FS[J-1]-X4FS[J])
QIN[47][I]=(A*EN+B)*1.0D-18*AN4D
GO TO 555
# SCALED X-SECTION ABOVE X4FS(N4FS) EV BY 1/E
554 QIN[47][I]=Y4FS(N4FS)*(X4FS(N4FS)/EN)*1.0D-18*AN4D
555 if(EN <= (2.0*EIN[47])) GO TO 556
PEQIN[47][I]=PEQEL[2][(I-IOFFN[47])]
# 5D5 BEF SCALED F=0.0015
556 if(EN <= EIN[48]) GO TO 899
QIN[48][I]=0.0015/(EIN[48]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[48]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[48]+E[3])
if(QIN[48][I]:
< 0.0) QIN[48][I]=0.00
if(EN <= (2.0*EIN[48]:
)) GO TO 557
PEQIN[48][I]=PEQEL[2][(I-IOFFN[48])]
# 5D2 BEF SCALED F=0.0439
557 if(EN <= EIN[49]) GO TO 899
QIN[49][I]=0.0439/(EIN[49]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[49]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[49]+E[3])
if(QIN[49][I]:
< 0.0) QIN[49][I]=0.00
if(EN <= (2.0*EIN[49]:
)) GO TO 558
PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
# 4S4 BEF SCALED F=0.0203
558 if(EN <= EIN[50]) GO TO 899
QIN[50][I]=0.0203/(EIN[50]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[50]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[50]+E[3])
if(QIN[50][I]:
< 0.0) QIN[50][I]=0.00
if(EN <= (2.0*EIN[50]:
)) GO TO 559
PEQIN[50][I]=PEQEL[2][(I-IOFFN[50])]
# SUM OF HIGHER DIPOLE STATES BEF SCALED F=0.1680
559 if(EN <= EIN[51]) GO TO 899
QIN[51][I]=0.1680/(EIN[51]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[51]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[51]+E[3])
if(QIN[51][I]:
< 0.0) QIN[51][I]=0.00
if(EN <= (2.0*EIN[51]:
)) GO TO 899
PEQIN[51][I]=PEQEL[2][(I-IOFFN[51])]
# LOAD BREMSSTRAHLUNG X-SECTIONS
if(EN <= 1000.):
GO TO 899
DO 600 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 610
600 CONTINUE
J=NBREM
610 A=(math.log(Z36T[J])-math.log(Z36T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z36T[J])*EBRM[J-1]-math.log(Z36T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[52][I]=math.exp(A*EN+B)*1.e-24
899 CONTINUE
#
# CALCULATE TOTAL X-SECTION
Q1SUM=QIN[1][I]+QIN[2][I]+QIN[3][I]+QIN[4][I]
Q2SUM=QIN[5][I]+QIN[6][I]+QIN[7][I]+QIN[8][I]+QIN[9][I]+QIN[10][I]
Q3SUM=0.0
Q4SUM=0.0
DO 700 JK=11,24
700 Q3SUM=Q3SUM+QIN(JK,I)
DO 701 JK=25,51
701 Q4SUM=Q4SUM+QIN(JK,I)
QINEL=Q1SUM+Q2SUM+Q3SUM+Q4SUM
Q[1][I]=QELA+QINEL+QION[1][I]+QION[2][I]+QION[3][I]+QION[4][I]+QION[5][I]+QION[6][I]+QION[7][I]+QION[8][I]+QION[9][I]+QION[10][I]+QION[11][I]+QIN[52][I]
# WRITE(6,8976) EN,Q1SUM,Q2SUM,Q3SUM,Q4SUM,QINEL
#8976 print(' EN=',F9.1,' Q1=','%.3f' %,' Q2=','%.3f' %,' Q3=','%.3f' %,' Q4=',
# /'%.3f' %,' QSUM=','%.3f' %)
900 CONTINUE
# SAVE COMPUTE TIME
DO 910 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 911
# endif
910 CONTINUE
911 CONTINUE
if(EFINAL > 1000.):
NIN=52
return
# end
def GAS7(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION XEN(182),YMOM(182),XEL(153),YEL(153),XEPS(182),YEPS(182)
DIMENSION XION(76),YION(76),YINC(76),YIN1(76),XIN2[54],YIN2[54],XIN3[47],YIN3[47],XIN4[42],YIN4[42],XIN5[37],YIN5[37],XIN6[35],YIN6[35],XKSH[60],YKSH[60],XL1S(76),YL1S(76),XL2S(76),YL2S(76),XL3S(76),YL3S(76),XM1S(79),YM1S(79),XM2S(80),YM2S(80),XM3S(80),YM3S(80),XM4S(82),YM4S(82),XM5S(83),YM5S(83)
DIMENSION X1S5(70),Y1S5(70),YP1S5(70),X1S4[38],Y1S4[38],YP1S4[38],X1S3[46],Y1S3[46],YP1S3[46],X1S2[20],Y1S2[20],YP1S2[20],X2P10[22],Y2P10[22],YP2P10[22],X2P9[21],Y2P9[21],YP2P9[21],X2P8[22],Y2P8[22],YP2P8[22],X2P7[22],Y2P7[22],YP2P7[22],X2P6[22],Y2P6[22],YP2P6[22],X3D6[24],Y3D6[24],YP3D6[24],X2P5[15],Y2P5[15],YP2P5[15],X3D4P[24],Y3D4P[24],YP3D4P[24],X3D3[24],Y3D3[24],YP3D3[24],X3D4[26],Y3D4[26],YP3D4[26],X3D1PP[23],Y3D1PP[23],YP3D1PP[23],X3D1P[22],Y3D1P[22],YP3D1P[22],X2S5[18],Y2S5[18],YP2S5[18],X3P105[18],Y3P105[18],YP3P105[18],X2P4[14],Y2P4[14],YP2P4[14],X4DSUM[16],Y4DSUM[16],YP4DSUM[16],X2P3[14],Y2P3[14],YP2P3[14],X2P2[14],Y2P2[14],YP2P2[14],X2P1[15],Y2P1[15],YP2P1[15],IOFFN[50],IOFFION[12]
DIMENSION Z54T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ELASTIC MOMENTUM TRANSFER
XEN=[0.00,.001,.005,.007,0.01,.015,0.02,.025,0.03,0.04,0.05,0.06,0.07,0.08,0.10,0.12,0.14,0.17,0.20,0.25, 0.27,0.30,0.32,0.35,0.37,0.40,0.42,0.44,0.46,0.48,0.50,0.51,0.52,0.53,0.54,0.55,0.56,0.57,0.58,0.59,0.60,0.61,0.62,0.63,0.64,0.65,0.66,0.67,0.68,0.69,0.70,.715,0.73,0.75,0.77,0.80,0.83,0.85,0.87,0.90,1.00,1.08,1.14,1.20,1.30,1.40,1.50,1.70,2.00,2.50, 3.00,3.50,4.00,4.50,5.00,5.50,6.00,6.50,7.00,8.00, 9.00,10.0,12.0,15.0,18.0,20.0,25.0,30.0,40.0,50.0, 60.0,70.0,80.0,90.0,100.,125.,150.,200.,250.,300., 400.,500.,600.,700.,800.,1000.,1500.,2000.,3000.,4000., 5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4, 8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
YMOM=[131.,115.,97.0,91.1,83.9,74.6,67.3,61.2,56.1,47.9,41.4,36.2,31.8,28.2,22.5,18.1,14.8,11.1,8.36,5.33,4.47,3.43,2.88,2.22,1.86,1.43,1.20,1.01,.844,.708,.596,.548,.504,.465,.430,.399,.372,.348,.328,.310,.296,.285,.276,.270,.266,.265,.266,.270,.276,.287,.306,.341,.377,.427,.479,.562,.651,.713,.778,.880,1.26,1.62,1.92,2.25,2.85,3.51,4.22,5.73,7.97,11.8,15.8,20.4,24.4,28.0,30.7,31.5,32.3,31.6,31.0,27.8, 23.5,19.8,15.0,10.9,8.40,7.25,5.65,5.00,4.50,3.10, 2.42,2.17,2.00,1.89,1.80,1.73,1.65,1.50,1.39,1.26, 1.09,0.94,0.84,0.75,0.68,0.56,0.38,0.26,.155,.105, .076,.059,.038,.027,.0148,.0094,.0050,.0031,.0022,.00163,.001024,.000714,.000498,.000372,.000291,.000236,.000166,.000125,9.90e-5,8.08e-5,6.76e-5,5.77e-5,4.38e-5,3.48e-5,2.85e-5,2.39e-5,2.04e-5,1.43e-5,1.08e-5,8.52e-6,6.91e-6,4.85e-6,3.62e-6,2.81e-6,2.25e-6,1.85e-6,1.55e-6,1.13e-6,8.67e-7,6.86e-7,5.58e-7,4.63e-7,3.10e-7,2.23e-7,1.68e-7,1.31e-7,8.64e-8,6.11e-8,4.54e-8,3.51e-8,2.78e-8,2.26e-8,1.57e-8,1.15e-8,8.79e-9,6.93e-9,5.60e-9,3.57e-9,2.47e-9,1.81e-9,1.38e-9,8.82e-10,6.11e-10,4.48e-10,3.43e-10,2.71e-10,2.19e-10,1.52e-10,1.12e-10,8.55e-11,6.75e-11,5.47e-11]
# ELASTIC TOTAL
XEL=[0.00,.001,.005,.007,0.01,.015,0.02,.025,0.03,0.04,0.05,0.06,0.07,0.08,0.10,0.12,0.14,0.17,0.20,0.25, 0.27,0.30,0.32,0.35,0.37,0.40,0.42,0.44,0.46,0.48,0.50,0.51,0.52,0.53,0.54,0.55,0.56,0.57,0.58,0.59,0.60,0.61,0.62,0.63,0.64,0.65,0.66,0.67,0.68,0.69,0.70,0.75,0.80,0.85,0.90,1.00,1.20,1.50,1.75,2.00,2.50,2.75,3.00,3.75,4.00,4.50,5.00,5.50,6.00,6.50,7.00,8.00,9.00,10.0,12.0,15.0,18.0,20.0,25.0,30.0, 40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,200., 250.,300.,400.,500.,600.,700.,800.,1000.,1500.,2000., 3000.,4000.,5000.,6000.,8000.,1.0D4,1.5D4,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,7.0D7,1.D9]
YEL=[131.,117.,101.,95.4,88.8,80.1,73.3,67.5,62.6,54.7,48.4,43.2,38.8,35.2,29.4,24.7,21.2,17.1,14.0,10.3,9.10,7.75,6.94,5.95,5.40,4.50,4.25,3.95,3.65,3.45,3.20,3.11,3.00,2.90,2.79,2.69,2.59,2.48,2.37,2.25,2.14,2.02,1.92,1.80,1.69,1.58,1.48,1.40,1.32,1.28,1.26,1.24,1.30,1.45,1.50,1.87,2.80,4.76,6.68,8.85,13.7,16.3,18.7,24.5,29.0,32.7,36.8,39.3,41.7,41.7,41.8,41.8,41.0,40.0,37.4,34.2,32.4,30.8,21.9,14.1, 8.58,6.78,5.97,5.49,5.29,5.21,5.10,4.66,4.58,4.67, 4.53,4.35,4.12,3.77,3.58,3.30,3.12,2.80,2.36,2.07, 1.72,1.52,1.34,1.13,.937,.817,.632,.523,.397,.326,.279,.246,.203,.175,.152,.136,.124,.116,.103,.0946,.0886,.0841,.0807,.0779,.0739,.0711,.0690,.0674,.0662,.0640,.0627,.0618,.0612,.0604,.0599,.0596,.0594,.0593,.0592,.0590,.0589,.0589,.0588,.0588,.0587,.0587,.0587,.0587,.0587,.05867,.05866,.05865,.05865]
# ELASTIC ANGULAR DISTRIBUTION ( EPSILON)
XEPS=[0.00,.001,.005,.007,.010,.015,.020,.025,.030,.040,0.05,0.06,0.07,0.08,0.10,0.12,0.14,0.17,0.20,0.25,0.27,0.30,0.32,0.35,0.37,0.40,0.42,0.44,0.46,0.48,0.50,0.51,0.52,0.53,0.54,0.55,0.56,0.57,0.58,0.59,0.60,0.61,0.62,0.63,0.64,0.65,0.66,0.67,0.68,0.69,0.70,0.71,0.72,0.73,0.75,0.77,0.80,0.83,0.85,0.87,0.90,1.00,1.10,1.20,1.30,1.40,1.50,1.70,2.00,2.50,3.00,3.50,4.00,4.50,5.00,5.50,6.00,6.50,7.00,8.00,9.00,10.0,12.0,15.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,200.,250.,300.,400.,500.,600.,700.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,10000.,15000.,2.0'%.3f' %.0D4,4.0D4,5.0D4,6.0D4,8.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC ANGULAR DISTRIBUTION PARAMETER EPSILON
# YEPS=1.0-EPSILON
YEPS=[1.,.9744,.9406,.9325,.9173,.8972,.8776,.8606,.845,.8148,.7851,.7598,.7333,.7069,.6565,.6117,.5651,.5015,.4373,.3459,.3177,.2684,.2421,.2044,.1803,.1590,.1326,.1141,.0981,.0822,.0714,.0659,.0615,.0575,.0544,.0515,.0492,.0476,.0467,.0464,.0467,.0480,.0493,.0523,.0560,.0614,.0678,.0751,.0845,.0937,.1056,.1183,.1321,.1471,.1802,.2095,.2585,.2944,.3183,.3588,.4247,.5332,.6259,.7104,.7648,.8047,.8308,.8717,.8515,.7938,.7699,.7682,.7647,.7864,.7544,.7075,.6695,.6461,.6238,.5219,.4088,.3217,.2293,.1597,.1165,.1011,.1156,.1887,.3535,.2829,.2332,.2240,.2087,.1956,.1873,.2028,.1934,.1617,.1506,.1379,.1201,.1098,.1003,.0956,.0899,.0792,.0579,.0408,.0259,.0182,.0140,.0126,.0091,.0070,.0046,.00331,.00215,.00154,.00123,.00100,7.30e-4,5.69e-4,4.42e-4,3.59e-4,3.00e-4,2.56e-4,1.96e-4,1.57e-4,1.29e-4,1.09e-4,9.34e-5,8.12e-5,6.34e-5,5.12e-5,4.23e-5,3.563e-5,3.048e-5,2.134e-5,1.607e-5,1.255e-5,1.009e-5,6.944e-6,5.077e-6,3.875e-6,3.056e-6,2.473e-6,2.043e-6,1.461e-6,1.097e-6,8.531e-7,6.826e-7,5.583e-7,3.635e-7,2.550e-7,1.885e-7,1.447e-7,9.266e-8,6.407e-8,4.674e-8,3.548e-8,2.775e-8,2.224e-8,1.512e-8,1.089e-8,8.19e-9,6.36e-9,5.08e-9,3.16e-8,2.14e-9,1.54e-9,1.163e-9,7.25e-10,4.93e-10,3.56e-10,2.69e-10,2.10e-10,1.68e-10,1.15e-10,8.3D-11,6.3D-11,4.9D-11,3.9D-11]
# IONISATION (VALUES ABOVE 20KEV GENERATED BY BORN BETHE IN SUB)
XION=[12.129843,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,26.0,28.0, 30.0,32.0,34.0,36.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,80.0,90.0,100.,110.,120.,130.,140.,150.,160., 180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500., 3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
# GROSS IONISATION
YION=[0.00,.137,.344,.549,.748,.939,1.12,1.29,1.46,1.62, 1.77,2.04,2.30,2.52,2.73,2.93,3.10,3.27,3.56,3.82, 4.06,4.27,4.42,4.53,4.73,4.94,5.11,5.21,5.31,5.36,5.40,5.46,5.56,5.68,5.75,5.75,5.70,5.58,5.48,5.35, 5.11,4.83,4.36,4.02,3.72,3.46,3.24,3.06,2.87,2.72,2.49,2.26,2.10,1.94,1.68,1.48,1.35,1.23,1.13,.964, .836,.736,.663,.602,.555,.515,.480,.424,.382,.346,.319,.273,.242,.218,.200,.186]
# COUNTING IONISATION
YINC=[0.00,.137,.344,.549,.748,.939,1.12,1.29,1.46,1.62, 1.77,2.04,2.30,2.52,2.73,2.93,3.10,3.27,3.56,3.82, 4.06,4.27,4.42,4.53,4.66,4.77,4.84,4.89,4.95,4.99,5.02,5.04,5.03,5.02,4.98,4.90,4.80,4.69,4.60,4.49,4.27,4.01,3.58,3.27,3.00,2.76,2.57,2.41,2.25,2.12,1.93,1.75,1.62,1.49,1.28,1.12,1.03,.923,.855,.731,.632,.557,.501,.455,.420,.389,.364,.320,.289,.262,.241,.206,.183,.165,.152,.141]
# IONISATION CHARGE STATE =1
YIN1=[0.00,.137,.344,.549,.748,.939,1.12,1.29,1.46,1.62, 1.77,2.04,2.30,2.52,2.73,2.93,3.10,3.27,3.56,3.82, 4.06,4.27,4.42,4.51,4.59,4.60,4.58,4.60,4.62,4.64,4.67,4.64,4.53,4.44,4.33,4.21,4.08,4.01,3.93,3.85,3.65,3.44,3.06,2.77,2.48,2.31,2.15,2.00,1.87,1.75,1.58,1.42,1.32,1.21,1.03,.903,.830,.744,.689,.589,.509,.449,.404,.367,.339,.314,.293,.258,.233,.211,.194,.166,.148,.133,.123,.114]
# IONISATION CHARGE STATE =2
XIN2=[33.105,36.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,80.0,90.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YIN2=[0.0,0.02,.0688,.174,.257,.318,.363,.376,.386,.398,.461,.503,.534,.533,.521,.495,.470,.447,.405,.373,.325,.305,.294,.267,.253,.240,.230,.220,.204,.190,.175,.170,.145,.127,.117,.105,.0969,.0828,.0716,.0631,.0568,.0516,.0476,.0441,.0412,.0363,.0327,.0297,.0220,.0188,.0176,.0151,.0139,.0129]
# IONISATION CHARGE STATE =3
XIN3=[64.15,70.0,80.0,90.0,100.,110.,120.,130.,140.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YIN3=[0.0,.001,.010,.0324,.0764,.122,.159,.184,.190,.189,.180,.169,.158,.142,.140,.137,.129,.123,.118,.112,.107,.102,.0921,.0844,.0825,.0703,.0616,.0566,.0507,.0470,.0402,.0347,.0306,.0275,.0250,.0231,.0214,.0200,.0176,.0159,.0144,.0132,.0113,.0101,.00907,.00835,.00775]
# IONISATION CHARGE STATE =4
XIN4=[106.35,120.,130.,140.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YIN4=[0.0,.0002,.00098,.0033,.0103,.0157,.0279,.0426,.0483,.0421,.0425,.0409,.0402,.0395,.0382,.0369,.0348,.0339,.0319,.0294,.0251,.0219,.0202,.0181,.0167,.0143,.0124,.0109,.00981,.00891,.00823,.00762,.00713,.00627,.00566,.00513,.00472,.00404,.00358,.00323,.00298,.00276]
# IONISATION CHARGE STATE =5
XIN5=[160.45,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YIN5=[0.0,.00013,.0018,.0062,.0101,.0113,.0106,.0108,.0109,.0104,.0098,.0089,.0078,.0073,.0069,.059,.051,.0047,.0042,.0039,.0034,.0029,.0026,.0023,.0021,.00193,.00179,.00167,.00147,.00133,.00120,.00111,.00095,.00084,.00076,.00070,.00065]
# IONISATION CHARGE STATE =6
XIN6=[227.2,250.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YIN6=[0.0,.00005,.00036,.00082,.00128,.00140,.00153,.00162,.00171,.00188,.00182,.00191,.00188,.00160,.00140,.00129,.00116,.00107,.00092,.00079,.00070,.00063,.00057,.00053,.00049,.00046,.00040,.00036,.00033,.00030,.00026,.00023,.00021,.00019,.00018]
# K-SHELL IONISATION
XKSH=[34561.,35490.,36526.,37592.,38690.,39819.,40982.,42178.,43410.,45981.,48706.,51591.,54648.,57885.,64947.,72871.,81761.,1.00D5,1.22D5,1.50D5,1.83D5,2.24D5,2.82'%.3f' %.65D5,4.87D5,6.49D5,8.66D5,1.00D6,1.22D6,1.50D6,1.83D6,2.24D6,2.82'%.3f' %.65D6,4.87D6,6.49D6,8.66D6,1.00D7,1.22D7,1.50D7,2.05D7,2.51'%.3f' %.07D7,4.10D7,5.16D7,6.31D7,7.50D7,8.66D7,1.00D8,1.22D8,1.50D8,2.05D8,2.51'%.3f' %.07D8,4.10D8,5.16D8,6.31D8,7.50D8,8.66D8,1.00D9]
YKSH=[0.0,1.74e-8,3.56e-8,5.30e-8,6.98e-8,8.58e-8,1.01e-7,1.16e-7,1.29e-7,1.55e-7,1.78e-7,1.99e-7,2.17e-7,2.34e-7,2.62e-7,2.84e-7,3.00e-7,3.20e-7,3.31e-7,3.35e-7,3.34e-7,3.31e-7,3.26e-7,3.21e-7,3.20e-7,3.23e-7,3.29e-7,3.34e-7,3.43e-7,3.55e-7,3.68e-7,3.83e-7,4.01e-7,4.23e-7,4.50e-7,4.77e-7,5.05e-7,5.20e-7,5.40e-7,5.61e-7,5.93e-7,6.14e-7,6.35e-7,6.65e-7,6.89e-7,7.10e-7,7.28e-7,7.43e-7,7.58e-7,7.79e-7,7.99e-7,8.32e-7,8.53e-7,8.74e-7,9.03e-7,9.27e-7,9.47e-7,9.65e-7,9.79e-7,9.94e-7]
# L1-SHELL IONISATION
XL1S=[5453.,5499.2,5658.7,5823.,5992.,6166.,6345.,6529.,6719.,6914.,7321.,7753.,8210.,8695.,9208.,1.00D4,1.09D4,1.19D4,1.30D4,1.41D4,1.58D4,1.78D4,2.00D4,2.24D4,2.51D4,2.90'%.3f' %.35'%.3f' %.87D4,4.47D4,5.16D4,6.13D4,7.29D4,8.66D4,1.00D5,1.22D5,1.54D5,2.00D5,2.59'%.3f' %.35D5,4.47D5,5.96D5,8.66D5,1.00D6,1.22D6,1.50D6,1.83D6,2.30D6,2.90'%.3f' %.65D6,4.60D6,5.79D6,7.50D6,8.66D6,1.00D7,1.22D7,1.50D7,1.83D7,2.30D7,2.90'%.3f' %.65D7,4.60D7,5.79D7,7.29D7,8.66D7,1.00D8,1.22D8,1.50D8,1.83D8,2.30D8,2.90'%.3f' %.65D8,4.60D8,5.79D8,7.29D8,8.66D8,1.00D9]
YL1S=[0.0,2.21e-7,9.39e-7,1.62e-6,2.26e-6,2.86e-6,3.43e-6,3.96e-6,4.47e-6,4.95e-6,5.82e-6,6.59e-6,7.26e-6,7.86e-6,8.37e-6,9.02e-6,9.52e-6,9.89e-6,1.02e-5,1.03e-5,1.04e-5,1.04e-5,1.02e-5,9.98e-6,9.68e-6,9.23e-6,8.73e-6,8.20e-6,7.66e-6,7.14e-6,6.53e-6,5.97e-6,5.46e-6,5.06e-6,4.57e-6,4.08e-6,3.64e-6,3.30e-6,3.04e-6,2.84e-6,2.71e-6,2.64e-6,2.64e-6,2.66e-6,2.69e-6,2.74e-6,2.82e-6,2.90e-6,3.00e-6,3.11e-6,3.23e-6,3.36e-6,3.44e-6,3.52e-6,3.63e-6,3.74e-6,3.85e-6,3.98e-6,4.12e-6,4.25e-6,4.38e-6,4.51e-6,4.65e-6,4.75e-6,4.83e-6,4.95e-6,5.06e-6,5.18e-6,5.32e-6,5.45e-6,5.58e-6,5.72e-6,5.85e-6,5.99e-6,6.09e-6,6.17e-6]
# L2-SHELL IONISATION
XL2S=[5107.,5160.6,5311.3,5466.,5626.,5790.,5959.,6133.,6312.,6686.,7081.,7501.,7945.,8416.,9175.,1.00D4,1.09D4,1.19D4,1.30D4,1.41D4,1.58D4,1.78D4,2.00D4,2.24D4,2.51D4,2.90'%.3f' %.35'%.3f' %.87D4,4.47D4,5.16D4,6.13D4,7.29D4,8.66D4,1.00D5,1.22D5,1.54D5,2.00D5,2.59'%.3f' %.35D5,4.47D5,5.96D5,8.66D5,1.00D6,1.22D6,1.50D6,1.83D6,2.30D6,2.90'%.3f' %.65D6,4.60D6,5.79D6,7.50D6,8.66D6,1.00D7,1.22D7,1.50D7,2.05D7,2.59'%.3f' %.16D7,4.10D7,5.16D7,6.31D7,7.50D7,8.66D7,1.00D8,1.22D8,1.50D8,2.05D8,2.59'%.3f' %.16D8,4.10D8,5.16D8,6.31D8,7.50D8,8.66D8,1.00D9]
YL2S=[0.0,4.47e-7,1.62e-6,2.72e-6,3.76e-6,4.73e-6,5.64e-6,6.49e-6,7.28e-6,8.71e-6,9.94e-6,1.10e-5,1.19e-5,1.27e-5,1.36e-5,1.43e-5,1.47e-5,1.50e-5,1.52e-5,1.52e-5,1.51e-5,1.49e-5,1.45e-5,1.41e-5,1.36e-5,1.29e-5,1.21e-5,1.13e-5,1.06e-5,9.81e-6,8.97e-6,8.20e-6,7.49e-6,6.96e-6,6.29e-6,5.63e-6,5.03e-6,4.55e-6,4.19e-6,3.92e-6,3.75e-6,3.66e-6,3.66e-6,3.69e-6,3.74e-6,3.82e-6,3.93e-6,4.06e-6,4.20e-6,4.36e-6,4.52e-6,4.72e-6,4.83e-6,4.94e-6,5.10e-6,5.26e-6,5.52e-6,5.71e-6,5.88e-6,6.09e-6,6.28e-6,6.45e-6,6.59e-6,6.71e-6,6.83e-6,7.00e-6,7.17e-6,7.43e-6,7.63e-6,7.79e-6,8.01e-6,8.20e-6,8.37e-6,8.51e-6,8.63e-6,8.75e-6]
# L3-SHELL IONISATION
XL3S=[4786.,4881.6,5023.7,5170.,5321.,5476.,5635.,5800.,5968.,6321.,6695.,7091.,7511.,8187.,8924.,1.00D4,1.09D4,1.19D4,1.30D4,1.41D4,1.58D4,1.78D4,2.00D4,2.24D4,2.51D4,2.90'%.3f' %.35'%.3f' %.87D4,4.47D4,5.16D4,6.13D4,7.29D4,8.66D4,1.00D5,1.22D5,1.54D5,2.00D5,2.59'%.3f' %.35D5,4.47D5,5.96D5,8.66D5,1.00D6,1.22D6,1.50D6,1.83D6,2.30D6,2.90'%.3f' %.65D6,4.60D6,5.79D6,7.50D6,8.66D6,1.00D7,1.22D7,1.50D7,1.83D7,2.30D7,2.90'%.3f' %.65D7,4.60D7,5.79D7,7.50D7,8.66D7,1.00D8,1.22D8,1.50D8,1.83D8,2.30D8,2.90'%.3f' %.65D8,4.60D8,5.79D8,7.50D8,8.66D8,1.00D9]
YL3S=[0.0,1.94e-6,4.64e-6,7.17e-6,9.54e-6,1.18e-5,1.38e-5,1.58e-5,1.76e-5,2.08e-5,2.36e-5,2.60e-5,2.80e-5,3.05e-5,3.23e-5,3.40e-5,3.48e-5,3.52e-5,3.54e-5,3.53e-5,3.48e-5,3.41e-5,3.31e-5,3.19e-5,3.06e-5,2.86e-5,2.70e-5,2.52e-5,2.34e-5,2.17e-5,1.98e-5,1.81e-5,1.65e-5,1.53e-5,1.38e-5,1.23e-5,1.09e-5,9.89e-6,9.10e-6,8.49e-6,8.10e-6,7.90e-6,7.89e-6,7.93e-6,8.04e-6,8.19e-6,8.41e-6,8.67e-6,8.97e-6,9.29e-6,9.63e-6,1.00e-5,1.03e-5,1.05e-5,1.08e-5,1.12e-5,1.15e-5,1.19e-5,1.23e-5,1.27e-5,1.31e-5,1.35e-5,1.39e-5,1.42e-5,1.45e-5,1.48e-5,1.52e-5,1.55e-5,1.59e-5,1.63e-5,1.67e-5,1.71e-5,1.75e-5,1.80e-5,1.82e-5,1.85e-5]
# M1-SHELL IONISATION
XM1S=[1148.7,1180.9,1214.7,1249.4,1285.1,1321.8,1359.7,1398.6,1438.7,1479.9,1566.,1657.,1754.,1856.,1965.,2140.,2330.,2538.,2765.,3012.,3376.,3784.,4243.,4758.,5335.,6157.,7105.,8201.,1.00D4,1.22D4,1.50D4,1.88D4,2.37'%.3f' %.00'%.3f' %.76D4,4.87D4,6.31D4,8.41D4,1.00D5,1.22D5,1.50D5,1.88D5,2.37'%.3f' %.00'%.3f' %.76D5,4.87D5,6.31D5,8.41D5,1.00D6,1.22D6,1.50D6,1.88D6,2.37'%.3f' %.00'%.3f' %.76D6,4.87D6,6.31D6,8.41D6,1.00D7,1.22D7,1.50D7,1.88D7,2.37D7,2.99'%.3f' %.76D7,4.87D7,6.31D7,8.41D7,1.00D8,1.22D8,1.50D8,1.88D8,2.37D8,2.99'%.3f' %.76D8,4.87D8,6.31D8,8.41D8,1.00D9]
YM1S=[0.0,2.13e-5,4.08e-5,5.85e-5,7.47e-5,8.95e-5,1.03e-4,1.16e-4,1.27e-4,1.37e-4,1.56e-4,1.71e-4,1.84e-4,1.95e-4,2.04e-4,2.15e-4,2.23e-4,2.28e-4,2.30e-4,2.31e-4,2.29e-4,2.24e-4,2.18e-4,2.10e-4,2.01e-4,1.88e-4,1.75e-4,1.62e-4,1.44e-4,1.27e-4,1.12e-4,9.60e-5,8.20e-5,6.83e-5,5.92e-5,4.93e-5,4.11e-5,3.38e-5,3.03e-5,2.67e-5,2.38e-5,2.10e-5,1.88e-5,1.71e-5,1.58e-5,1.47e-5,1.40e-5,1.35e-5,1.34e-5,1.33e-5,1.34e-5,1.35e-5,1.37e-5,1.40e-5,1.44e-5,1.48e-5,1.53e-5,1.59e-5,1.62e-5,1.66e-5,1.70e-5,1.75e-5,1.80e-5,1.85e-5,1.90e-5,1.96e-5,2.01e-5,2.08e-5,2.11e-5,2.16e-5,2.20e-5,2.25e-5,2.30e-5,2.35e-5,2.40e-5,2.46e-5,2.52e-5,2.58e-5,2.62e-5]
# M2-SHELL IONISATION
XM2S=[1002.1,1012.5,1041.7,1071.7,1102.6,1134.5,1167.2,1201.,1236.,1271.,1346.,1425.,1509.,1597.,1691.,1843.,2008.,2188.,2384.,2598.,2913.,3267.,3664.,4109.,4744.,5635.,6695.,7730.,8925.,1.00D4,1.22D4,1.50D4,1.88D4,2.37'%.3f' %.00'%.3f' %.76D4,4.87D4,6.31D4,8.41D4,1.00D5,1.22D5,1.50D5,1.88D5,2.37'%.3f' %.00'%.3f' %.76D5,4.87D5,6.31D5,8.41D5,1.00D6,1.22D6,1.50D6,1.88D6,2.37'%.3f' %.00'%.3f' %.76D6,4.87D6,6.31D6,8.41D6,1.00D7,1.22D7,1.50D7,1.88D7,2.37D7,2.99'%.3f' %.76D7,4.87D7,6.31D7,8.41D7,1.00D8,1.22D8,1.50D8,1.88D8,2.37D8,2.99'%.3f' %.76D8,4.87D8,6.31D8,8.41D8,1.00D9]
YM2S=[0.0,1.17e-5,4.18e-5,6.88e-5,9.29e-5,1.15e-4,1.34e-4,1.52e-4,1.68e-4,1.83e-4,2.08e-4,2.30e-4,2.49e-4,2.64e-4,2.78e-4,2.95e-4,3.09e-4,3.19e-4,3.27e-4,3.31e-4,3.34e-4,3.32e-4,3.27e-4,3.19e-4,3.06e-4,2.86e-4,2.64e-4,2.45e-4,2.26e-4,2.11e-4,1.86e-4,1.63e-4,1.39e-4,1.19e-4,1.01e-4,8.55e-5,7.12e-5,5.94e-5,4.90e-5,4.38e-5,3.87e-5,3.45e-5,3.05e-5,2.74e-5,2.50e-5,2.31e-5,2.16e-5,2.06e-5,1.99e-5,1.98e-5,1.97e-5,1.98e-5,2.01e-5,2.05e-5,2.10e-5,2.16e-5,2.23e-5,2.31e-5,2.40e-5,2.46e-5,2.52e-5,2.59e-5,2.67e-5,2.75e-5,2.83e-5,2.91e-5,3.00e-5,3.09e-5,3.20e-5,3.26e-5,3.33e-5,3.40e-5,3.48e-5,3.56e-5,3.65e-5,3.73e-5,3.82e-5,3.91e-5,4.01e-5,4.08e-5]
# M3-SHELL IONISATION
XM3S=[940.6,958.1,985.7,1014.1,1043.3,1073.3,1104.3,1136.1,1168.9,1202.6,1273.,1348.,1427.,1510.,1599.,1693.,1844.,2009.,2189.,2385.,2599.,2915.,3269.,3666.,4111.,4746.,5637.,6697.,7732.,8927.,1.00D4,1.22D4,1.50D4,1.88D4,2.37'%.3f' %.00'%.3f' %.76D4,4.87D4,6.31D4,8.41D4,1.00D5,1.22D5,1.50D5,1.88D5,2.37'%.3f' %.00'%.3f' %.76D5,4.87D5,6.31D5,8.41D5,1.00D6,1.22D6,1.88D6,2.37'%.3f' %.00'%.3f' %.76D6,4.87D6,6.31D6,8.41D6,1.00D7,1.22D7,1.50D7,1.88D7,2.37D7,2.99'%.3f' %.76D7,4.87D7,6.31D7,8.41D7,1.00D8,1.22D8,1.50D8,1.88D8,2.37D8,2.99'%.3f' %.76D8,4.87D8,6.31D8,8.41D8,1.00D9]
YM3S=[0.0,5.19e-5,1.24e-4,1.88e-4,2.44e-4,2.95e-4,3.40e-4,3.81e-4,4.18e-4,4.51e-4,5.10e-4,5.59e-4,6.01e-4,6.37e-4,6.68e-4,6.96e-4,7.29e-4,7.56e-4,7.75e-4,7.88e-4,7.96e-4,7.96e-4,7.88e-4,7.72e-4,7.50e-4,7.15e-4,6.66e-4,6.12e-4,5.66e-4,5.20e-4,4.85e-4,4.27e-4,3.74e-4,3.19e-4,2.72e-4,2.31e-4,1.96e-4,1.63e-4,1.36e-4,1.12e-4,1.00e-4,8.86e-5,7.89e-5,6.99e-5,6.27e-5,5.71e-5,5.29e-5,4.94e-5,4.71e-5,4.57e-5,4.53e-5,4.52e-5,4.61e-5,4.71e-5,4.82e-5,4.96e-5,5.13e-5,5.31e-5,5.52e-5,5.65e-5,5.81e-5,5.97e-5,6.15e-5,6.34e-5,6.53e-5,6.71e-5,6.93e-5,7.14e-5,7.38e-5,7.52e-5,7.69e-5,7.86e-5,8.05e-5,8.24e-5,8.43e-5,8.62e-5,8.84e-5,9.05e-5,9.29e-5,9.43e-5]
# M4-SHELL IONISATION
XM4S=[689.0,706.2,726.8,748.1,770.0,792.6,815.7,839.6,864.2,889.5,942.3,998.2,1057.,1120.,1187.,1294.,1411.,1538.,1677.,1828.,2052.,2302.,2583.,2899.,3253.,3756.,4338.,5010.,5786.,6681.,7716.,8911.,1.00D4,1.22D4,1.50D4,1.88D4,2.37'%.3f' %.00'%.3f' %.76D4,4.87D4,6.31D4,8.41D4,1.00D5,1.22D5,1.50D5,1.88D5,2.37'%.3f' %.00'%.3f' %.76D5,4.87D5,6.31D5,8.41D5,1.00D6,1.22D6,1.88D6,2.37'%.3f' %.00'%.3f' %.76D6,4.87D6,6.31D6,8.41D6,1.00D7,1.22D7,1.50D7,1.88D7,2.37D7,2.99'%.3f' %.76D7,4.87D7,6.31D7,8.41D7,1.00D8,1.22D8,1.50D8,1.88D8,2.37D8,2.99'%.3f' %.76D8,4.87D8,6.31D8,8.41D8,1.00D9]
YM4S=[0.0,1.79e-4,3.69e-4,5.38e-4,6.89e-4,8.24e-4,9.45e-4,1.05e-3,1.15e-3,1.24e-3,1.39e-3,1.52e-3,1.62e-3,1.71e-3,1.79e-3,1.88e-3,1.95e-3,2.00e-3,2.03e-3,2.05e-3,2.06e-3,2.05e-3,2.01e-3,1.97e-3,1.91e-3,1.82e-3,1.72e-3,1.61e-3,1.50e-3,1.39e-3,1.29e-3,1.18e-3,1.11e-3,9.84e-4,8.68e-4,7.49e-4,6.43e-4,5.51e-4,4.71e-4,3.96e-4,3.33e-4,2.77e-4,2.50e-4,2.22e-4,1.99e-4,1.77e-4,1.60e-4,1.47e-4,1.37e-4,1.29e-4,1.24e-4,1.21e-4,1.21e-4,1.21e-4,1.25e-4,1.29e-4,1.33e-4,1.38e-4,1.43e-4,1.49e-4,1.56e-4,1.61e-4,1.66e-4,1.71e-4,1.77e-4,1.83e-4,1.89e-4,1.96e-4,2.03e-4,2.10e-4,2.18e-4,2.22e-4,2.28e-4,2.33e-4,2.40e-4,2.46e-4,2.52e-4,2.58e-4,2.65e-4,2.73e-4,2.80e-4,2.85e-4]
# M5-SHELL IONISATION
XM5S=[676.4,686.9,707.0,727.7,748.9,770.8,793.4,816.6,840.4,865.0,916.3,970.7,1028.,1089.,1154.,1258.,1372.,1495.,1630.,1777.,1994.,2238.,2511.,2817.,3161.,3651.,4216.,4869.,5622.,6493.,7717.,8911.,1.00D4,1.22D4,1.50D4,1.88D4,2.37'%.3f' %.00'%.3f' %.76D4,4.87D4,6.31D4,8.41D4,1.00D5,1.22D5,1.50D5,1.88D5,2.37'%.3f' %.00'%.3f' %.76D5,4.87D5,6.31D5,8.41D5,1.00D6,1.22D6,1.50D6,1.88D6,2.37'%.3f' %.00'%.3f' %.76D6,4.87D6,6.31D6,8.41D6,1.00D7,1.22D7,1.50D7,1.88D7,2.37D7,2.99'%.3f' %.76D7,4.87D7,6.31D7,8.41D7,1.00D8,1.22D8,1.50D8,1.88D8,2.37D8,2.99'%.3f' %.76D8,4.87D8,6.31D8,8.41D8,1.00D9]
YM5S=[0.0,1.84e-4,4.98e-4,7.77e-4,1.02e-3,1.25e-3,1.44e-3,1.62e-3,1.78e-3,1.92e-3,2.16e-3,2.37e-3,2.53e-3,2.67e-3,2.79e-3,2.93e-3,3.04e-3,3.12e-3,3.18e-3,3.21e-3,3.23e-3,3.21e-3,3.16e-3,3.09e-3,2.99e-3,2.86e-3,2.70e-3,2.53e-3,2.36e-3,2.19e-3,1.99e-3,1.83e-3,1.71e-3,1.52e-3,1.34e-3,1.16e-3,9.92e-4,8.50e-4,7.27e-4,6.10e-4,5.14e-4,4.28e-4,3.85e-4,3.42e-4,3.06e-4,2.73e-4,2.47e-4,2.26e-4,2.11e-4,1.98e-4,1.91e-4,1.86e-4,1.86e-4,1.87e-4,1.89e-4,1.93e-4,1.98e-4,2.04e-4,2.11e-4,2.20e-4,2.29e-4,2.40e-4,2.47e-4,2.55e-4,2.63e-4,2.72e-4,2.81e-4,2.91e-4,3.00e-4,3.11e-4,3.22e-4,3.34e-4,3.41e-4,3.50e-4,3.58e-4,3.68e-4,3.77e-4,3.87e-4,3.97e-4,4.08e-4,4.18e-4,4.31e-4,4.38e-4]
#
# EXCITATION UNITS OF 10**-18CM**2
#
# 1S5 METASTABLE E=8.3153155 EV J=2
# SHAPE def BELOW 11EV FROM BARTSCHAT AND ZATSARINNY
# ABOVE 100EV SCALED BY 1/E**3
X1S5=[8.3153,8.35,8.40,8.44,8.48,8.52,8.56,8.60,8.65,8.70,8.75,8.80,8.85,8.90,8.95,9.00,9.05,9.10,9.15,9.20,9.25,9.30,9.35,9.40,9.45,9.50,9.516,9.52,9.525,9.53,9.54,9.545,9.55,9.555,9.56,9.57,9.58,9.59,9.60,9.61,9.615,9.62,9.625,9.63,9.64,9.65,9.66,9.67,9.68,9.70,9.75,10.0,10.5,11.0,11.5,12.0,12.5,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y1S5=[0.00,2.38,4.93,6.41,3.42,2.84,3.00,3.33,3.89,4.59,5.45,6.48,7.72,9.05,10.4,11.5,12.3,12.2,10.8,9.45,8.84,9.04,9.18,9.18,9.11,9.32,23.6,15.7,12.1,10.7,9.79,11.4,15.8,18.0,15.9,13.1,13.6,12.6,10.4,12.1,14.9,20.5,21.5,18.5,17.2,16.9,15.9,13.8,12.4,11.1,10.1,10.0,9.90,9.80,9.70,9.60,9.30,8.80,8.10,7.45,6.80,5.50,4.40,2.20,1.10,.500,.230,.150,.065,.034]
YP1S5=[70*0.0]
# 1S4 E=8.4365236 EV J=1 RESONANCE RADIATION 146.96 NM F=0.260
# USED BEF SCALING ABOVE 11.0EV
# SHAPE def BELOW 11EV FROM BARTSCHAT AND ZATSARINNY
X1S4=[8.4365,8.45,8.46,8.47,8.48,8.49,8.50,8.52,8.54,8.56,8.60,8.65,8.70,8.75,8.80,8.85,8.90,8.95,9.00,9.05,9.10,9.15,9.20,9.25,9.30,9.35,9.40,9.45,9.50,9.55,9.60,9.62,9.65,9.70,9.75,9.80,10.0,11.0]
Y1S4=[0.00,2.60,5.60,6.09,5.50,4.72,4.27,3.70,3.42,3.24,3.10,3.02,3.34,3.70,4.25,5.03,6.00,7.23,8.70,9.67,10.3,10.1,9.37,9.00,8.70,8.55,8.62,8.77,9.00,10.1,10.5,10.7,10.2,9.22,9.40,9.60,10.8,16.87]
YP1S4=[38*0.0]
# 1S3 METASTABLE E=9.4471945 EV J=0
# SHAPE def BELOW 11EV FROM BARTSCAT AND ZATSARINNY
# ABOVE 100EV SCALED BY 1/E**3
X1S3=[9.4472,9.45,9.47,9.48,9.49,9.50,9.506,9.51,9.52,9.525,9.53,9.54,9.55,9.555,9.56,9.57,9.58,9.60,9.62,9.64,9.67,9.68,9.69,9.70,9.71,9.72,9.73,9.74,9.75,9.80,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0,20.0,24.0,30.0,40.0,50.0,60.0,80.0,100.]
Y1S3=[0.00,.313,.324,.230,.360,1.67,3.78,2.57,1.26,1.71,1.80,1.78,2.23,2.70,2.43,.635,1.14,1.04,1.49,1.59,1.62,2.77,3.89,6.21,9.38,8.28,6.75,4.29,3.97,.556,0.77,3.30,4.30,4.50,4.30,3.70,3.30,2.65,2.25,1.50,0.80,0.32,0.17,0.10,.040,.021]
YP1S3=[46*0.0]
# 1S2 E=9.5697248 EV J=1 RESONANCE RADIATION 129.56 NM F=0.183
# USED BEF SCALING ABOVE 11.0EV
# SHAPE def BELOW 11EV FROM BARTSCHAT AND ZATSARINNY
X1S2=[9.5697,9.58,9.59,9.60,9.61,9.62,9.63,9.64,9.65,9.67,9.68,9.69,9.70,9.75,9.77,9.80,9.85,9.90,10.0,11.0]
Y1S2=[0.00,1.21,1.32,1.41,1.41,1.30,1.88,2.00,2.02,2.02,2.83,2.11,2.07,1.78,2.10,1.96,1.75,1.87,2.17,5.305]
YP1S2=[20*0.0]
# 2P10 E=9.5801524 EV J=1
# ABOVE 100EV SCALED BY 1/E**3
X2P10=[9.5802,9.80,10.0,10.5,11.0,11.5,12.0,12.5,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y2P10=[0.00,0.69,1.23,2.34,3.15,3.73,4.14,4.41,4.59,4.76,4.74,4.63,4.26,3.84,2.91,2.23,1.75,1.40,0.95,0.69,.406,.267]
YP2P10=[22*0.0]
# 2P9 E=9.6856199 EV J=2
# ABOVE 100EV SCALED BY 1/E
X2P9=[9.6856,10.0,10.5,11.0,11.5,12.0,12.5,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y2P9=[0.00,1.50,3.37,4.49,5.47,6.04,6.48,6.91,7.41,7.49,7.41,6.98,6.26,5.04,4.17,3.52,3.09,2.52,2.08,1.58,1.22]
YP2P9=[21*0.0]
# 2P8 E=9.7207401 EV J=3
# ABOVE 100EV SCALED BY 1/E**3
X2P8=[9.7207,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y2P8=[0.00,1.16,2.78,3.88,4.86,5.44,5.83,6.02,6.35,6.41,6.48,6.33,4.89,3.24,1.51,0.72,0.43,0.26,0.11,.061,.021,.0093]
YP2P8=[22*0.0]
# 2P7 E=9.7892996 EV J=1
# ABOVE 100EV SCALED BY 1/E**2
X2P7=[9.7893,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y2P7=[0.00,0.66,1.68,2.52,3.12,3.48,3.72,3.90,4.02,4.14,4.20,4.20,3.90,3.48,2.64,1.80,1.26,0.96,0.63,0.42,0.24,0.15]
YP2P7=[22*0.0]
# 2P6 E=9.8210934 EV J=2
# ABOVE 100EV SCALED BY 1/E
X2P6=[9.8211,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y2P6=[0.00,0.26,1.05,1.47,1.92,2.19,2.32,2.43,2.53,2.62,2.64,2.88,3.06,2.94,2.70,2.10,1.68,1.53,1.26,1.02,0.78,0.60]
YP2P6=[22*0.0]
# 3D6 E=9.8903760 EV J=0
# ABOVE 100EV SCALED BY 1/E**1.5
X3D6=[9.8904,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,16.0,17.0,18.0,20.0,22.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y3D6=[0.00,0.23,0.83,1.50,2.17,2.77,3.22,3.60,3.90,4.20,4.42,4.65,4.80,5.02,5.02,4.80,4.50,3.90,2.78,1.87,1.35,1.01,0.66,0.48]
YP3D6=[24*0.0]
#
# 3D5 E=9.9170761 EV J=1 RESONACE RADIATION 125.02 NM F=0.010
#
# 2P5 E=9.9334847 EV J=0
# ABOVE 100EV SCALED BY 1/E
X2P5=[9.9335,13.0,16.0,17.5,20.0,24.0,26.0,28.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y2P5=[0.00,1.60,2.16,2.70,4.26,7.32,8.46,8.88,8.70,8.40, 7.50,5.70,4.80,3.60,3.00]
YP2P5=[15*0.0]
# 3D4# E=9.9431141 EV J=4
# ABOVE 100EV SCALED BY 1/E**1.5
X3D4P=[9.9431,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,16.0,17.0,18.0,20.0,22.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y3D4P=[0.00,0.45,1.65,3.00,4.35,5.55,6.45,7.20,7.80,8.40,8.85,9.30,9.60,10.1,10.1,9.60,9.00,7.80,5.77,3.75,2.70,2.03,1.32,0.96]
YP3D4P=[24*0.0]
# 3D3 E=9.9587506 EV J=2
# ABOVE 100EV SCALED BY 1/E**1.5
X3D3=[9.9588,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,16.0,17.0,18.0,20.0,22.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y3D3=[0.00,0.48,1.76,3.20,4.64,5.92,6.88,7.68,8.32,8.96,9.44,9.92,10.2,10.7,10.7,10.2,9.60,8.32,5.92,4.00,2.88,2.16,1.41,1.03]
YP3D3=[24*0.0]
# 3D4 E=10.039054 EV J=3
# ABOVE 100EV SCALED BY 1/E**2
X3D4=[10.0391,10.2,10.5,10.7,11.0,11.2,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,16.0,18.0,20.0,22.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y3D4=[0.00,0.50,1.50,2.20,3.30,4.00,5.00,6.90,8.70,10.7,12.2,13.3,13.6,13.6,12.8,10.2,9.00,7.30,5.70,3.40,2.90,2.20,1.45,1.00,0.56,0.36]
YP3D4=[26*0.0]
# 3D1## E=10.157469 EV J=2
# ABOVE 100EV SCALED BY 1/E**3
X3D1PP=[10.1575,10.5,10.7,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,16.0,18.0,20.0,22.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y3D1PP=[0.00,0.70,1.30,2.00,3.20,4.50,5.70,6.80,7.80,8.30,8.50,8.50,8.20,6.70,5.30,3.80,2.90,1.55,0.67,0.35,0.20,.085,.044]
YP3D1PP=[23*0.0]
# 3D1# E=10.220042 J=3
# ABOVE 100EV SCALED BY 1/E
X3D1P=[10.2200,10.7,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,16.0,18.0,20.0,22.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y3D1P=[0.00,0.60,1.04,1.83,2.39,3.00,3.39,3.65,3.83,3.94,4.00,4.00,3.95,3.85,3.70,3.45,2.90,2.15,1.70,1.45,1.08,.875]
YP3D1P=[22*0.0]
#
# 3D2 E=10.401030 J=1 RESONANCE RADIATION 119.20 NM F=0.379
#
# 2S5 E=10.562062 EV J=2 NOT OBSERVED USE 1S5 SCALED BY 0.25
# ABOVE 100EV SCALED BY 1/E**3
X2S5=[10.5621,11.0,11.5,12.0,12.5,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y2S5=[0.00,0.10,0.25,0.50,1.00,1.50,2.02,1.75,1.70,1.37,1.10,.550,.275,.125,.057,.037,.016,.0085]
YP2S5=[18*0.0]
#
# 2S4 E=10.593211 EV J=1 RESONANCE RADIATION 117.04 NM F=0.086
#
# 3P10+3P9+3P8+3P7+3P6+3P5 E=10.9016 EV SCALED SUM OF 2P10--2P5 BY 0.25
# ABOVE 100EV SCALED BY 1/E
X3P105=[10.9016,11.50,12.0,12.5,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y3P105=[0.00,1.00,2.70,3.42,4.20,5.10,5.70,5.94,5.93,5.52,5.31,4.71,4.09,3.54,2.68,2.18,1.59,1.26]
YP3P105=[18*0.0]
# 2P4 E=10.957614 J=1
# ABOVE 100EV SCALED BY 1/E**2
X2P4=[10.9576,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y2P4=[0.00,0.75,1.10,1.20,1.10,0.75,0.60,0.38,0.25,.145,.095,.065,.037,.025]
YP2P4=[14*0.0]
# 4D6+4D3+4D4#+4D4+4D1##+4D1# SUM 4D E=10.9715
# SHAPE FROM PETROV NORMALISED TO HAYASHI TOTAL
# ABOVE 100EV SCALED BY 1/E**3
X4DSUM=[10.9715,12.0,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y4DSUM=[0.00,1.50,4.35,4.65,4.50,4.05,3.00,2.25,0.96,0.57,0.36,0.21,.099,.060,.024,.011]
YP4DSUM=[16*0.0]
#
# 4D5 E=10.978772 J=1 RESONANCE RADIATION AT 112.93 NM F=0.001
#
# 2P3 E=11.054723 J=2
# ABOVE 100 EV SCALED BY 1/E
X2P3=[11.0547,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y2P3=[0.00,2.20,3.00,3.50,3.60,3.50,3.20,2.60,2.20,1.65,1.35,1.10,0.83,0.65]
YP2P3=[14*0.0]
# 2P2 E=11.069148 J=1
# ABOVE 100EV SCALED BY 1/E**2
X2P2=[11.0691,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
Y2P2=[0.00,0.75,1.00,1.08,1.08,0.97,0.85,0.56,0.40,0.22,.145,.100,.054,.035]
YP2P2=[14*0.0]
# 2P1 E=11.141221 J=0
# ABOVE 100EV SCALED BY 1/E
X2P1=[11.1412,13.0,14.0,15.0,16.0,18.0,20.0,25.0,30.0,35.0,40.0,50.0,60.0,80.0,100.]
Y2P1=[0.00,0.80,1.50,1.90,1.90,1.80,1.60,1.30,1.05,0.91,0.77,0.64,0.52,0.39,0.31]
YP2P1=[15*0.0]
#
# 4D2 E=11.162564 EV J=1 RESONANCE RADIATION AT 111.07 NM F=0.0835
# 3S4 E=11.274184 EV J=1 RESONANCE RADIATION AT 109.97 NM F=0.0225
# 5D5 E=11.422451 EV J=1 RESONANCE RADIATION AT 108.55 NM F=0.0227
# 5D2 E=11.495075 EV J=1 RESONANCE RADIATION AT 107.86 NM F=0.002
# 4S4 E=11.582864 EV J=1 RESONANCE RADIATION AT 107.04 NM F=0.0005
# 3S1# E=11.60718 EV J=1 RESONANCE RADIATION AT 106.82 NM F=0.1910
# 6D5 E=11.682783 EV J=1 RESONANCE RADIATION AT 106.13 NM F=0.0088
# 6D2 E=11.739501 EV J=1 RESONANCE RADIATION AT 105.61 NM F=0.0967
# 5S4 E=11.752100 EV J=1 RESONANCE RADIATION AT 105.50 NM F=0.0288
# 7D5 E=11.806816 EV J=1 RESONANCE RADIATION AT 105.01 NM F=0.0042
# 7D2 E=11.84030 EV J=1 RESONANCE RADIATION AT 104.71 NM F=0.0625
# 6S4 E=11.85177 EV J=1 RESONANCE RADIATION AT 104.61 NM F=0.0025
# 2S2 E=11.877758 EV J=1 RESONANCE RADIATION AT 104.38 NM F=0.029
# 8D5 E=11.891681 EV J=1 RESONANCE RADIATION AT 104.26 NM F=0.0035
# 8D2 E=11.90816 EV J=1 RESONANCE RADIATION AT 104.12 NM F=0.0386
# 7S4 E=11.91770 EV J=1 RESONANCE RADIATION AT 104.03 NM F=0.005
# 9D5 E=11.94156 EV J=1 RESONANCE RADIATION AT 103.83 NM F=0.0005
# 9D2 E=11.95502 EV J=1 RESONANCE RADIATION AT 103.71 NM F=0.025
# 8S4 E=11.96207 EV J=1 RESONANCE RADIATION AT 103.64 NM F=0.0023
# 10D5 E=11.978893 EV J=1 RESONANCE RADIATION AT 103.50 NM F=0.0005
# 10D2 E=11.98858 EV J=1 RESONANCE RADIATION AT 103.42 NM F=0.0164
# 9S4 E=11.993947 EV J=1 RESONANCE RADIATION AT 103.37 NM F=0.0014
# SUM HIGHER STATES E=12.0 EV F=0.0831
#
# TOTAL OSCILLATOR SUM =1.650
#
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24
Z54T=[4948.,4086.,2921.,2088.,1396.,776.,492.,328.,220.,189.,179.7,178.6,179.0,179.3,179.6,180.2,180.3,181.5,182.1,182.7,183.6,184.4,184.7,185.5,185.7]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
#-----------------------------------------------------------------------
if(NANISO == 0):
NAME='XENON 2013 ISOTROPIC '
else:
NAME='XENON 2013 ANISOTROPIC '
# endif
#
# --------------------------------------------------------------------
# ON XENON NOT AS GOOD AS ARGON .
# USED MOMENTUM TRANSFER X-SECTION FROM SCHMIDT UP TO 2 EV.
# FIT TO TOWNS# end COEFFICIENT OF JACQUES ET AL J.PHYS D19(1986)1731
# AND KRUITHOF TO OBTAIN INELASTIC X-SECTIONS.
# 2013: INCLUDED SHELL IONISATION X-SECTIONS
# 2010: UPDATED IONISATION X-SECTIONS
# 2009: INCLUDED ALL RESONANCE STATES AND SOME P AND D STATES
# 2007: INCREASED ENERGY RANGE TO 2MEV
# 2007: INCLUDED NEW ANGULAR DISTRIBUTION
# 2007: INCLUDED PENNING TRANSFER FRACTION
# 2013: INTRODUCED K L AND M SHELL AND CHARGE 1 2 AND (3+4+5) IONISATION
# --------------------------------------------------------------------
#
# BORN BETHE VALUES FOR IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
AM2=8.04
C=75.25
#
# AVERAGE AUGER EMISSIONS FROM EACH SHELL
AUGM5=4.34
AUGM4=4.43
AUGM3=6.79
AUGM2=6.85
AUGM1=7.94
AUGL3=8.21
AUGL2=8.45
AUGL1=9.39
AUGK=8.49
IONMODEL=0
#
NION=12
NATT=1
NIN=50
NNULL=0
#
NBREM=25
DO 6 J=1,NIN
IZBR[J]=0
6 CONTINUE
IZBR[51]=54
#
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=1,NIN
2 KIN[J]=NANISO
#
NDATA=182
NEL=153
NEPSI=182
NIONG=76
NION2=54
NION3=47
NION4=42
NION5=37
NION6=35
NIONK=60
NIONL1=76
NIONL2=76
NIONL3=76
NIONM1=79
NIONM2=80
NIONM3=80
NIONM4=82
NIONM5=83
N1S5=70
N1S4=38
N1S3=46
N1S2=20
N2P10=22
N2P9=21
N2P8=22
N2P7=22
N2P6=22
N3D6=24
N2P5=15
N3D4P=24
N3D3=24
N3D4=26
N3D1PP=23
N3D1P=22
N2S5=18
N3PSUM=18
N2P4=14
N4DSUM=16
N2P3=14
N2P2=14
N2P1=15
#
E[1]=0.0
E[2]=2.0*EMASS/(131.30*AMU)
E[3]=12.129843
# EXCITATION X-SECTION AT 1.3 MEV
E[4]=0.511e-18
# IONISING X-SECTION AT 1.3 MEV
E[5]=0.1782e-17
# EOBY FOR MINIMUM IONISING PARTICLE
E[6]=23.7
# EOBY AT LOW ENERGY
EOBY[1]=8.7
EOBY[2]=20.0
EOBY[3]=38.0
# EOBY FOR SHELLS
EOBY[4]=400.
EOBY[5]=410.
EOBY[6]=750.0
EOBY[7]=800.0
EOBY[8]=920.0
EOBY[9]=3850.
EOBY[10]=4100.
EOBY[11]=4400.
EOBY[12]=34561.
#
EION[1]=12.129843
EION[2]=33.105
EION[3]=64.155
EION[4]=676.4
EION[5]=689.0
EION[6]=940.6
EION[7]=1002.1
EION[8]=1148.7
EION[9]=4786.
EION[10]=5107.
EION[11]=5453.
EION[12]=34561.
LEGAS[1]=0
LEGAS[2]=0
LEGAS[3]=0
LEGAS[4]=1
LEGAS[5]=1
LEGAS[6]=1
LEGAS[7]=1
LEGAS[8]=1
LEGAS[9]=1
LEGAS[10]=1
LEGAS[11]=1
LEGAS[12]=1
ISHELL[1]=0
ISHELL[2]=0
ISHELL[3]=0
ISHELL[4]=9
ISHELL[5]=8
ISHELL[6]=7
ISHELL[7]=6
ISHELL[8]=5
ISHELL[9]=4
ISHELL[10]=3
ISHELL[11]=2
ISHELL[12]=1
# FLUORESCENCE DATA
NC0[1]=0
EC0[1]=0.0
WKLM[1]=0.0
EFL[1]=0.0
NG1[1]=0
EG1[1]=0.0
NG2[1]=0
EG2[1]=0.0
NC0[2]=1
EC0[2]=5.0
WKLM[2]=0.0
EFL[2]=0.0
NG1[2]=0
EG1[2]=0.0
NG2[2]=0
EG2[2]=0.0
NC0[3]=2
EC0[3]=10.0
WKLM[3]=0.0
EFL[3]=0.0
NG1[3]=0
EG1[3]=0.0
NG2[3]=0
EG2[3]=0.0
NC0[4]=4
EC0[4]=593.7
WKLM[4]=0.0
EFL[4]=0.0
NG1[4]=0
EG1[4]=0.0
NG2[4]=0
EG2[4]=0.0
NC0[5]=4
EC0[5]=604.0
WKLM[5]=0.0
EFL[5]=0.0
NG1[5]=0
EG1[5]=0.0
NG2[5]=0
EG2[5]=0.0
NC0[6]=7
EC0[6]=782.2
WKLM[6]=0.0
EFL[6]=0.0
NG1[6]=0
EG1[6]=0.0
NG2[6]=0
EG2[6]=0.0
NC0[7]=7
EC0[7]=839.7
WKLM[7]=0.0
EFL[7]=0.0
NG1[7]=0
EG1[7]=0.0
NG2[7]=0
EG2[7]=0.0
NC0[8]=8
EC0[8]=911.4
WKLM[8]=0.0
EFL[8]=0.0
NG1[8]=0
EG1[8]=0.0
NG2[8]=0
EG2[8]=0.0
NC0[9]=9
EC0[9]=4494.3
WKLM[9]=0.0942
EFL[9]=4106.
NG1[9]=5
EG1[9]=3900.
NG2[9]=4
EG2[9]=594.
NC0[10]=9
EC0[10]=4774.8
WKLM[10]=0.093
EFL[10]=4427.
NG1[10]=5
EG1[10]=4181.
NG2[10]=4
EG2[10]=594.
NC0[11]=10
EC0[11]=5015.2
WKLM[11]=0.0475
EFL[11]=4483.
NG1[11]=5
EG1[11]=4233.
NG2[11]=6
EG2[11]=782.
NC0[12]=17
EC0[12]=33900.
WKLM[12]=0.89
EFL[12]=29775.
NG1[12]=8
EG1[12]=29406.
NG2[12]=9
EG2[12]=4494.
#
DO 776 J=1,NION
DO 777 I=1,20000
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=8.3153
EIN[2]=8.4365
EIN[3]=9.4472
EIN[4]=9.5697
EIN[5]=9.5802
EIN[6]=9.6856
EIN[7]=9.7207
EIN[8]=9.7893
EIN[9]=9.8211
EIN[10]=9.8904
EIN[11]=9.9171
EIN[12]=9.9335
EIN[13]=9.9431
EIN[14]=9.9588
EIN[15]=10.0391
EIN[16]=10.1575
EIN[17]=10.2200
EIN[18]=10.4010
EIN[19]=10.5621
EIN[20]=10.5932
EIN[21]=10.9016
EIN[22]=10.9576
EIN[23]=10.9715
EIN[24]=10.9788
EIN[25]=11.0547
EIN[26]=11.0691
EIN[27]=11.1412
EIN[28]=11.1626
EIN[29]=11.2742
EIN[30]=11.4225
EIN[31]=11.4951
EIN[32]=11.5829
EIN[33]=11.6072
EIN[34]=11.6828
EIN[35]=11.7395
EIN[36]=11.7521
EIN[37]=11.8068
EIN[38]=11.8403
EIN[39]=11.8518
EIN[40]=11.8778
EIN[41]=11.8917
EIN[42]=11.9082
EIN[43]=11.9177
EIN[44]=11.9416
EIN[45]=11.9550
EIN[46]=11.9621
EIN[47]=11.9789
EIN[48]=11.9886
EIN[49]=11.9939
EIN[50]=12.0
EIN[51]=0.0
#***********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# USE TRANSFER FRACTION BETWEEN 0.0 AND 0.1 FOR XENON
DO 50 NL=1,NIN
PENFRA[1,NL]=0.0
# PENNING TRANSFER DISTANCE MICRONS
PENFRA[2,NL]=1.0
# PENNING TRANSFER TIME PICOSECONDS
50 PENFRA[3,NL]=1.0
#***********************************************************************
if(IPEN == 0):
GO TO 4
DO 3 KDUM=1,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 3
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
3 CONTINUE
4 DO 5 NL=1,NIN
DO 555 I=1,20000
if(EG[I]:
> EIN[NL]) :
IOFFN[NL]=I-1
GO TO 5
# endif
555 CONTINUE
5 CONTINUE
#
SCRPT[1]=' '
SCRPT[2]='ELASTIC ANISOTROPIC XENON '
if(NANISO == 0):
:
SCRPT[2]='ELASTIC ISOTROPIC XENON '
# endif
SCRPT[3]='IONISATION CHARGE STATE=1 ELOSS= 12.12984'
SCRPT[4]='IONISATION CHARGE STATE=2 ELOSS= 33.105 '
SCRPT[5]='IONISATION CHARGE STATE=3+4+5+6 ELOSS= 64.155 '
SCRPT[6]='IONISATION M5-SHELL ELOSS= 676.4 '
SCRPT[7]='IONISATION M4-SHELL ELOSS= 689.0 '
SCRPT[8]='IONISATION M3-SHELL ELOSS= 940.6 '
SCRPT[9]='IONISATION M2-SHELL ELOSS= 1002.1 '
SCRPT[10]='IONISATION M1-SHELL ELOSS= 1148.7 '
SCRPT[11]='IONISATION L3-SHELL ELOSS= 4786. '
SCRPT[12]='IONISATION L2-SHELL ELOSS= 5107. '
SCRPT[13]='IONISATION L1-SHELL ELOSS= 5453. '
SCRPT[14]='IONISATION K-SHELL ELOSS= 34561. '
SCRPT[15]='ATTACHMENT '
SCRPT[16]=' '
SCRPT[17]=' '
SCRPT[18]=' EXC 1S5 J=2 METASTABLE ELOSS= 8.3153 '
SCRPT[19]=' EXC 1S4 J=1 RESONANT ELOSS= 8.4365 '
SCRPT[20]=' EXC 1S3 J=0 METASTABLE ELOSS= 9.4472 '
SCRPT[21]=' EXC 1S2 J=1 RESONANT ELOSS= 9.5697 '
SCRPT[22]=' EXC 2P10 J=1 ELOSS= 9.5802 '
SCRPT[23]=' EXC 2P9 J=2 ELOSS= 9.6856 '
SCRPT[24]=' EXC 2P8 J=3 ELOSS= 9.7207 '
SCRPT[25]=' EXC 2P7 J=1 ELOSS= 9.7893 '
SCRPT[26]=' EXC 2P6 J=2 ELOSS= 9.8211 '
SCRPT[27]=' EXC 3D6 J=0 ELOSS= 9.8904 '
SCRPT[28]=' EXC 3D5 J=1 RESONANT ELOSS= 9.9171 '
SCRPT[29]=' EXC 2P5 J=0 ELOSS= 9.9335 '
SCRPT[30]=' EXC 3D4# J=4 ELOSS= 9.9431 '
SCRPT[31]=' EXC 3D3 J=2 ELOSS= 9.9588 '
SCRPT[32]=' EXC 3D4 J=3 ELOSS= 10.0391 '
SCRPT[33]=' EXC 3D1## J=2 ELOSS= 10.1575 '
SCRPT[34]=' EXC 3D1# J=3 ELOSS= 10.2200 '
SCRPT[35]=' EXC 3D2 J=1 RESONANT ELOSS= 10.4010 '
SCRPT[36]=' EXC 2S5 J=2 ELOSS= 10.5621 '
SCRPT[37]=' EXC 2S4 J=1 RESONANT ELOSS= 10.5932 '
SCRPT[38]=' EXC SUM 3P10-5 ELOSS= 10.9016 '
SCRPT[39]=' EXC 2P4 J=1 ELOSS= 10.9576 '
SCRPT[40]=' EXC SUM 4D ELOSS= 10.9715 '
SCRPT[41]=' EXC 4D5 J=1 RESONANT ELOSS= 10.9788 '
SCRPT[42]=' EXC 2P3 J=2 ELOSS= 11.0547 '
SCRPT[43]=' EXC 2P2 J=1 ELOSS= 11.0691 '
SCRPT[44]=' EXC 2P1 J=0 ELOSS= 11.1412 '
SCRPT[45]=' EXC 4D2 J=1 RESONANT ELOSS= 11.1626 '
SCRPT[46]=' EXC 3S4 J=1 RESONANT ELOSS= 11.2742 '
SCRPT[47]=' EXC 5D5 J=1 RESONANT ELOSS= 11.4225 '
SCRPT[48]=' EXC 5D2 J=1 RESONANT ELOSS= 11.4951 '
SCRPT[49]=' EXC 4S4 J=1 RESONANT ELOSS= 11.5829 '
SCRPT[50]=' EXC 3S1# J=1 RESONANT ELOSS= 11.6072 '
SCRPT[51]=' EXC 6D5 J=1 RESONANT ELOSS= 11.6828 '
SCRPT[52]=' EXC 6D2 J=1 RESONANT ELOSS= 11.7395 '
SCRPT[53]=' EXC 5S4 J=1 RESONANT ELOSS= 11.7521 '
SCRPT[54]=' EXC 7D5 J=1 RESONANT ELOSS= 11.8068 '
SCRPT[55]=' EXC 7D2 J=1 RESONANT ELOSS= 11.8403 '
SCRPT[56]=' EXC 6S4 J=1 RESONANT ELOSS= 11.8518 '
SCRPT[57]=' EXC 2S2 J=1 RESONANT ELOSS= 11.8778 '
SCRPT[58]=' EXC 8D5 J=1 RESONANT ELOSS= 11.8917 '
SCRPT[59]=' EXC 8D2 J=1 RESONANT ELOSS= 11.9082 '
SCRPT[60]=' EXC 7S4 J=1 RESONANT ELOSS= 11.9177 '
SCRPT[61]=' EXC 9D5 J=1 RESONANT ELOSS= 11.9416 '
SCRPT[62]=' EXC 9D2 J=1 RESONANT ELOSS= 11.9550 '
SCRPT[63]=' EXC 8S4 J=1 RESONANT ELOSS= 11.9621 '
SCRPT[64]=' EXC 10D5 J=1 RESONANT ELOSS= 11.9789 '
SCRPT(65)=' EXC 10D2 J=1 RESONANT ELOSS= 11.9886 '
SCRPT(66)=' EXC 9S4 J=1 RESONANT ELOSS= 11.9939 '
SCRPT(67)=' EXC HIGH J=1 RESONANT ELOSS= 12.0 '
SCRPT(68)=' BREMSSTRAHLUNG FROM XENON ATOM '
# EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
if(EN > EIN[1]:
) :
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# endif
if(EN <= XEN[2]:
) :
QELA=122.e-16
QMOM=122.e-16
GO TO 200
# endif
DO 110 J=2,NEL
if(EN <= XEL[J]:
) GO TO 120
110 CONTINUE
J=NEL
120 YXJ=math.log(YEL[J])
YXJ1=math.log(YEL[J-1])
XNJ=math.log(XEL[J])
XNJ1=math.log(XEL[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QELA=math.exp(A*math.log(EN)+B)*1.e-16
DO 150 J=2,N
if(EN <= XEN[J]:
) GO TO 160
150 CONTINUE
J=N
160 YXJ=math.log(YMOM[J])
YXJ1=math.log(YMOM[J-1])
XNJ=math.log(XEN[J])
XNJ1=math.log(XEN[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QMOM=math.exp(A*math.log(EN)+B)*1.e-16
200 CONTINUE
PQ1=0.5+(QELA-QMOM)/QELA
DO 201 J=2,NEPSI
if(EN <= XEPS[J]:
) GO TO 202
201 CONTINUE
J=NEPSI
202 A=(YEPS[J]-YEPS[J-1])/(XEPS[J]-XEPS[J-1])
B=(XEPS[J-1]*YEPS[J]-XEPS[J]*YEPS[J-1])/(XEPS[J-1]-XEPS[J])
PQ2=A*EN+B
# EPSILON =1.0-YEPS
PQ2=1.00-PQ2
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
# IONISATION CHARGE STATE =1
QION[1][I]=0.0
PEQION[1][I]=0.50
if(NANISO == 2):
PEQION[1][I]=0.00
if(EN <= EION[1]:
) GO TO 3200
if(EN > XION(NIONG):
) GO TO 221
DO 210 J=2,NIONG
if(EN <= XION[J]:
) GO TO 220
210 CONTINUE
J=NIONG
220 A=(YIN1[J]-YIN1[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN1[J]-XION[J]*YIN1[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.0D-16
GO TO 222
# USE BORN-BETHE X-SECTION ABOVE XION(NIONG) EV
221 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.8061
222 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFF SET BY
# IONISATION ENERGY
if(EN <= (2.0*EION[1]:
)) GO TO 3200
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# IONISATION CHARGE STATE =2
3200 QION[2][I]=0.0
PEQION[2][I]=0.50
if(NANISO == 2):
PEQION[2][I]=0.00
if(EN <= EION[2]:
) GO TO 3350
if(EN > XIN2(NION2):
) GO TO 3221
DO 3210 J=2,NION2
if(EN <= XIN2[J]:
) GO TO 3220
3210 CONTINUE
J=NION2
3220 A=(YIN2[J]-YIN2[J-1])/(XIN2[J]-XIN2[J-1])
B=(XIN2[J-1]*YIN2[J]-XIN2[J]*YIN2[J-1])/(XIN2[J-1]-XIN2[J])
QION[2][I]=(A*EN+B)*1.0D-16
GO TO 3222
# USE BORN-BETHE X-SECTION ABOVE XIN2(NION2) EV
3221 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.1133
3222 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFF SET BY
# IONISATION ENERGY
if(EN <= (2.0*EION[2]:
)) GO TO 3250
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# IONISATION CHARGE STATE =3
3250 QION[3][I]=0.0
PEQION[3][I]=0.50
if(NANISO == 2):
PEQION[3][I]=0.00
if(EN <= EION[3]:
) GO TO 3300
if(EN > XIN3(NION3):
) GO TO 3271
DO 3265 J=2,NION3
if(EN <= XIN3[J]:
) GO TO 3270
3265 CONTINUE
J=NION3
3270 A=(YIN3[J]-YIN3[J-1])/(XIN3[J]-XIN3[J-1])
B=(XIN3[J-1]*YIN3[J]-XIN3[J]*YIN3[J-1])/(XIN3[J-1]-XIN3[J])
QION[3][I]=(A*EN+B)*1.0D-16
GO TO 3272
# USE BORN-BETHE X-SECTION ABOVE XIN3(NION3) EV
3271 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.05496
3272 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON FOR
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION SAME AS ELASTIC AT ENERGY OFF SET BY
# IONISATION ENERGY
if(EN <= (2.0*EION[3]:
)) GO TO 3300
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# GROSS SUM OF IONISATION STATE =4+5+6
3300 Q456=0.0
if(EN <= 106.35):
GO TO 3350
if(EN > XIN4(NION4):
) GO TO 3349
DO 3310 J=2,NION4
if(EN <= XIN4[J]:
) GO TO 3325
3310 CONTINUE
J=NION4
3325 A=(YIN4[J]-YIN4[J-1])/(XIN4[J]-XIN4[J-1])
B=(XIN4[J-1]*YIN4[J]-XIN4[J]*YIN4[J-1])/(XIN4[J-1]-XIN4[J])
Q456=(A*EN+B)*1.0D-16
Q456=Q456*4.0/3.0
if(EN <= 160.45):
GO TO 3350
if(EN > XIN5(NION5):
) GO TO 3349
DO 3377 J=2,NION5
if(EN <= XIN5[J]:
) GO TO 3322
3377 CONTINUE
J=NION5
3322 A=(YIN5[J]-YIN5[J-1])/(XIN5[J]-XIN5[J-1])
B=(XIN5[J-1]*YIN5[J]-XIN5[J]*YIN5[J-1])/(XIN5[J-1]-XIN5[J])
Q456=Q456+(A*EN+B)*1.0D-16*5.0/3.0
if(EN <= 227.2):
GO TO 3350
if(EN > XIN6(NION6):
) GO TO 3349
DO 3323 J=2,NION6
if(EN <= XIN6[J]:
) GO TO 3324
3323 CONTINUE
J=NION6
3324 A=(YIN6[J]-YIN6[J-1])/(XIN6[J]-XIN6[J-1])
B=(XIN6[J-1]*YIN6[J]-XIN6[J]*YIN6[J-1])/(XIN6[J-1]-XIN6[J])
Q456=Q456+(A*EN+B)*1.0D-16*6.0/3.0
GO TO 3350
# USE BORN BETHE X-SECTION ABOVE XIN4(NION4) EV
3349 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
# 0.3629 = .01959*4/3 + .004597*5/3 + .002504*6/3
Q456=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.03629
# SUM 3 + 456
3350 QION[3][I]=QION[3][I]+Q456
# M5-SHELL IONISATION
QION[4][I]=0.00
PEQION[4][I]=0.50
if(NANISO == 2):
PEQION[4][I]=0.00
if(EN <= EION[4]:
) GO TO 2233
DO 2231 J=2,NIONM5
if(EN <= XM5S[J]:
) GO TO 2232
2231 CONTINUE
J=NIONM5
2232 A=(YM5S[J]-YM5S[J-1])/(XM5S[J]-XM5S[J-1])
B=(XM5S[J-1]*YM5S[J]-XM5S[J]*YM5S[J-1])/(XM5S[J-1]-XM5S[J])
QION[4][I]=(A*EN+B)*1.e-16
PEQION[4][I]=PEQEL[2][(I-IOFFION[4]])
# M4-SHELL IONISATION
2233 QION[5][I]=0.00
PEQION[5][I]=0.50
if(NANISO == 2):
PEQION[5][I]=0.00
if(EN <= EION[5]:
) GO TO 2236
DO 2234 J=2,NIONM4
if(EN <= XM4S[J]:
) GO TO 2235
2234 CONTINUE
J=NIONM4
2235 A=(YM4S[J]-YM4S[J-1])/(XM4S[J]-XM4S[J-1])
B=(XM4S[J-1]*YM4S[J]-XM4S[J]*YM4S[J-1])/(XM4S[J-1]-XM4S[J])
QION[5][I]=(A*EN+B)*1.e-16
PEQION[5][I]=PEQEL[2][(I-IOFFION[5]])
# M3-SHELL IONISATION
2236 QION[6][I]=0.00
PEQION[6][I]=0.50
if(NANISO == 2):
PEQION[6][I]=0.00
if(EN <= EION[6]:
) GO TO 2239
DO 2237 J=2,NIONM3
if(EN <= XM3S[J]:
) GO TO 2238
2237 CONTINUE
J=NIONM3
2238 A=(YM3S[J]-YM3S[J-1])/(XM3S[J]-XM3S[J-1])
B=(XM3S[J-1]*YM3S[J]-XM3S[J]*YM3S[J-1])/(XM3S[J-1]-XM3S[J])
QION[6][I]=(A*EN+B)*1.e-16
PEQION[6][I]=PEQEL[2][(I-IOFFION[6]])
# M2-SHELL IONISATION
2239 QION[7][I]=0.00
PEQION[7][I]=0.50
if(NANISO == 2):
PEQION[7][I]=0.00
if(EN <= EION[7]:
) GO TO 2242
DO 2240 J=2,NIONM2
if(EN <= XM2S[J]:
) GO TO 2241
2240 CONTINUE
J=NIONM2
2241 A=(YM2S[J]-YM2S[J-1])/(XM2S[J]-XM2S[J-1])
B=(XM2S[J-1]*YM2S[J]-XM2S[J]*YM2S[J-1])/(XM2S[J-1]-XM2S[J])
QION[7][I]=(A*EN+B)*1.e-16
PEQION[7][I]=PEQEL[2][(I-IOFFION[7]])
# M1-SHELL IONISATION
2242 QION[8][I]=0.00
PEQION[8][I]=0.50
if(NANISO == 2):
PEQION[8][I]=0.00
if(EN <= EION[8]:
) GO TO 2245
DO 2243 J=2,NIONM1
if(EN <= XM1S[J]:
) GO TO 2244
2243 CONTINUE
J=NIONM1
2244 A=(YM1S[J]-YM1S[J-1])/(XM1S[J]-XM1S[J-1])
B=(XM1S[J-1]*YM1S[J]-XM1S[J]*YM1S[J-1])/(XM1S[J-1]-XM1S[J])
QION[8][I]=(A*EN+B)*1.e-16
PEQION[8][I]=PEQEL[2][(I-IOFFION[8]])
# L3-SHELL IONISATION
2245 QION[9][I]=0.00
PEQION[9][I]=0.50
if(NANISO == 2):
PEQION[9][I]=0.00
if(EN <= EION[9]:
) GO TO 2248
DO 2246 J=2,NIONL3
if(EN <= XL3S[J]:
) GO TO 2247
2246 CONTINUE
J=NIONL3
2247 A=(YL3S[J]-YL3S[J-1])/(XL3S[J]-XL3S[J-1])
B=(XL3S[J-1]*YL3S[J]-XL3S[J]*YL3S[J-1])/(XL3S[J-1]-XL3S[J])
QION[9][I]=(A*EN+B)*1.e-16
PEQION[9][I]=PEQEL[2][(I-IOFFION[9]])
# L2-SHELL IONISATION
2248 QION[10][I]=0.00
PEQION[10][I]=0.50
if(NANISO == 2):
PEQION[10][I]=0.00
if(EN <= EION[10]:
) GO TO 2251
DO 2249 J=2,NIONL2
if(EN <= XL2S[J]:
) GO TO 2250
2249 CONTINUE
J=NIONL2
2250 A=(YL2S[J]-YL2S[J-1])/(XL2S[J]-XL2S[J-1])
B=(XL2S[J-1]*YL2S[J]-XL2S[J]*YL2S[J-1])/(XL2S[J-1]-XL2S[J])
QION[10][I]=(A*EN+B)*1.e-16
PEQION[10][I]=PEQEL[2][(I-IOFFION[10]))
# L1-SHELL IONISATION
2251 QION[11][I]=0.00
PEQION[11][I]=0.50
if(NANISO == 2):
PEQION[11][I]=0.00
if(EN <= EION[11]:
) GO TO 2254
DO 2252 J=2,NIONL1
if(EN <= XL1S[J]:
) GO TO 2253
2252 CONTINUE
J=NIONL1
2253 A=(YL1S[J]-YL1S[J-1])/(XL1S[J]-XL1S[J-1])
B=(XL1S[J-1]*YL1S[J]-XL1S[J]*YL1S[J-1])/(XL1S[J-1]-XL1S[J])
QION[11][I]=(A*EN+B)*1.e-16
PEQION[11][I]=PEQEL[2][(I-IOFFION[11]))
# K-SHELL IONISATION
2254 QION[12][I]=0.00
PEQION[12][I]=0.50
if(NANISO == 2):
PEQION[12][I]=0.00
if(EN <= EION[12]:
) GO TO 2257
DO 2255 J=2,NIONK
if(EN <= XKSH[J]:
) GO TO 2256
2255 CONTINUE
J=NIONK
2256 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
QION[12][I]=(A*EN+B)*1.e-16
PEQION[12][I]=PEQEL[2][(I-IOFFION[12]))
2257 CONTINUE
# ATTACHMENT
Q[4][I]=0.0
# COUNTING IONISATION
Q[5][I]=0.0
PEQEL[5][I]=0.50
if(NANISO == 2):
PEQEL[5][I]=0.00
if(EN <= EION[1]:
) GO TO 242
if(EN > XION(NIONG):
) GO TO 241
DO 231 J=2,NIONG
if(EN <= XION[J]:
) GO TO 240
231 CONTINUE
J=NIONG
240 A=(YINC[J]-YINC[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YINC[J]-XION[J]*YINC[J-1])/(XION[J-1]-XION[J])
Q[5][I]=(A*EN+B)*1.0D-16
GO TO 242
# USE BORN-BETHE X-SECTION ABOVE XION(NION) EV
241 Q[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
242 CONTINUE
# CORRECTION TO CHARGE STATE 1 2 3+4+5+6 X-SECTION FOR K L AND M SHELLS
# CORRECTION GIVES TOTAL IONISATION EQUAL TO OSCILLATOR SUM
QTEMP=QION[4][I]+QION[5][I]+QION[6][I]+QION[7][I]+QION[8][I]+QION[9][I]+QION[10][I]+QION[11][I]+QION[12][I]
if(Q[5][I]:
== 0.0) :
QCORR=1.0
else:
QCORR=(Q[5][I]-QTEMP)/Q[5][I]
# endif
QION[1][I]=QION[1][I]*QCORR
QION[2][I]=QION[2][I]*QCORR
QION[3][I]=QION[3][I]*QCORR
#
Q[6][I]=0.0
#
DO 251 NL=1,NIN+1
QIN(NL,I)=0.0
PEQIN(NL,I)=0.50
if(NANISO == 2):
:
PEQIN(NL,I)=0.00
# endif
251 CONTINUE
# 1S5
if(EN <= EIN[1]:
) GO TO 413
if(EN > X1S5(N1S5):
) GO TO 3110
DO 310 J=2,N1S5
if(EN <= X1S5[J]:
) GO TO 311
310 CONTINUE
J=N1S5
311 A=(Y1S5[J]-Y1S5[J-1])/(X1S5[J]-X1S5[J-1])
B=(X1S5[J-1]*Y1S5[J]-X1S5[J]*Y1S5[J-1])/(X1S5[J-1]-X1S5[J])
QIN[1][I]=(A*EN+B)*1.0D-18
GO TO 3111
3110 QIN[1][I]=Y1S5(N1S5)*(X1S5(N1S5)/EN)**3*1.0D-18
3111 if(EN <= (2.0*EIN[1])) GO TO 312
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]
# 1S4 F=0.260
312 if(EN <= EIN[2]) GO TO 413
if(EN > X1S4(N1S4):
) GO TO 3141
DO 313 J=2,N1S4
if(EN <= X1S4[J]:
) GO TO 314
313 CONTINUE
J=N1S4
314 A=(Y1S4[J]-Y1S4[J-1])/(X1S4[J]-X1S4[J-1])
B=(X1S4[J-1]*Y1S4[J]-X1S4[J]*Y1S4[J-1])/(X1S4[J-1]-X1S4[J])
QIN[2][I]=(A*EN+B)*1.0D-18
GO TO 3142
3141 QIN[2][I]=0.260/(EIN[2]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[2]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[2]+E[3])
3142 if(EN <= (2.0*EIN[2])) GO TO 315
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]
# 1S3
315 if(EN <= EIN[3]) GO TO 413
if(EN > X1S3(N1S3):
) GO TO 3170
DO 316 J=2,N1S3
if(EN <= X1S3[J]:
) GO TO 317
316 CONTINUE
J=N1S3
317 A=(Y1S3[J]-Y1S3[J-1])/(X1S3[J]-X1S3[J-1])
B=(X1S3[J-1]*Y1S3[J]-X1S3[J]*Y1S3[J-1])/(X1S3[J-1]-X1S3[J])
QIN[3][I]=(A*EN+B)*1.0D-18
GO TO 3171
3170 QIN[3][I]=Y1S3(N1S3)*(X1S3(N1S3)/EN)**3*1.0D-18
3171 if(EN <= (2.0*EIN[3])) GO TO 318
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]
# 1S2 F=0.183
318 if(EN <= EIN[4]) GO TO 413
if(EN > X1S2(N1S2):
) GO TO 3201
DO 319 J=2,N1S2
if(EN <= X1S2[J]:
) GO TO 320
319 CONTINUE
J=N1S2
320 A=(Y1S2[J]-Y1S2[J-1])/(X1S2[J]-X1S2[J-1])
B=(X1S2[J-1]*Y1S2[J]-X1S2[J]*Y1S2[J-1])/(X1S2[J-1]-X1S2[J])
QIN[4][I]=(A*EN+B)*1.0D-18
GO TO 3202
3201 QIN[4][I]=0.183/(EIN[4]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[4]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[4]+E[3])
3202 if(EN <= (2.0*EIN[4])) GO TO 321
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]#
# P STATES
#
# 2P10
321 if(EN <= EIN[5]) GO TO 413
if(EN > X2P10(N2P10):
) GO TO 3230
DO 322 J=2,N2P10
if(EN <= X2P10[J]:
) GO TO 323
322 CONTINUE
J=N2P10
323 A=(Y2P10[J]-Y2P10[J-1])/(X2P10[J]-X2P10[J-1])
B=(X2P10[J-1]*Y2P10[J]-X2P10[J]*Y2P10[J-1])/(X2P10[J-1]-X2P10[J])
QIN[5][I]=(A*EN+B)*1.0D-18
GO TO 3231
3230 QIN[5][I]=Y2P10(N2P10)*(X2P10(N2P10)/EN)**3*1.0D-18
3231 if(EN <= (2.0*EIN[5])) GO TO 324
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))]# 2P9
324 if(EN <= EIN[6]) GO TO 413
if(EN > X2P9(N2P9):
) GO TO 3260
DO 325 J=2,N2P9
if(EN <= X2P9[J]:
) GO TO 326
325 CONTINUE
J=N2P9
326 A=(Y2P9[J]-Y2P9[J-1])/(X2P9[J]-X2P9[J-1])
B=(X2P9[J-1]*Y2P9[J]-X2P9[J]*Y2P9[J-1])/(X2P9[J-1]-X2P9[J])
QIN[6][I]=(A*EN+B)*1.0D-18
GO TO 3261
3260 QIN[6][I]=Y2P9(N2P9)*(X2P9(N2P9)/EN)*1.0D-18
3261 if(EN <= (2.0*EIN[6])) GO TO 327
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]# 2P8
327 if(EN <= EIN[7]) GO TO 413
if(EN > X2P8(N2P8):
) GO TO 3290
DO 328 J=2,N2P8
if(EN <= X2P8[J]:
) GO TO 329
328 CONTINUE
J=N2P8
329 A=(Y2P8[J]-Y2P8[J-1])/(X2P8[J]-X2P8[J-1])
B=(X2P8[J-1]*Y2P8[J]-X2P8[J]*Y2P8[J-1])/(X2P8[J-1]-X2P8[J])
QIN[7][I]=(A*EN+B)*1.0D-18
GO TO 3291
3290 QIN[7][I]=Y2P8(N2P8)*(X2P8(N2P8)/EN)**3*1.0D-18
3291 if(EN <= (2.0*EIN[7])) GO TO 330
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]# 2P7
330 if(EN <= EIN[8]) GO TO 413
if(EN > X2P7(N2P7):
) GO TO 3320
DO 331 J=2,N2P7
if(EN <= X2P7[J]:
) GO TO 332
331 CONTINUE
J=N2P7
332 A=(Y2P7[J]-Y2P7[J-1])/(X2P7[J]-X2P7[J-1])
B=(X2P7[J-1]*Y2P7[J]-X2P7[J]*Y2P7[J-1])/(X2P7[J-1]-X2P7[J])
QIN[8][I]=(A*EN+B)*1.0D-18
GO TO 3321
3320 QIN[8][I]=Y2P7(N2P7)*(X2P7(N2P7)/EN)**2*1.0D-18
3321 if(EN <= (2.0*EIN[8])) GO TO 333
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]# 2P6
333 if(EN <= EIN[9]) GO TO 413
if(EN > X2P6(N2P6):
) GO TO 3355
DO 334 J=2,N2P6
if(EN <= X2P6[J]:
) GO TO 335
334 CONTINUE
J=N2P6
335 A=(Y2P6[J]-Y2P6[J-1])/(X2P6[J]-X2P6[J-1])
B=(X2P6[J-1]*Y2P6[J]-X2P6[J]*Y2P6[J-1])/(X2P6[J-1]-X2P6[J])
QIN[9][I]=(A*EN+B)*1.0D-18
GO TO 3356
3355 QIN[9][I]=Y2P6(N2P6)*(X2P6(N2P6)/EN)*1.0D-18
3356 if(EN <= (2.0*EIN[9])) GO TO 336
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]# 3D6
336 if(EN <= EIN[10]) GO TO 413
if(EN > X3D6(N3D6):
) GO TO 3380
DO 337 J=2,N3D6
if(EN <= X3D6[J]:
) GO TO 338
337 CONTINUE
J=N3D6
338 A=(Y3D6[J]-Y3D6[J-1])/(X3D6[J]-X3D6[J-1])
B=(X3D6[J-1]*Y3D6[J]-X3D6[J]*Y3D6[J-1])/(X3D6[J-1]-X3D6[J])
QIN[10][I]=(A*EN+B)*1.0D-18
GO TO 3381
3380 QIN[10][I]=Y3D6(N3D6)*(X3D6(N3D6)/EN)**1.5*1.0D-18
3381 if(EN <= (2.0*EIN[10])) GO TO 339
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
# 3D5 J=1 F=0.0100
339 if(EN <= EIN[11]) GO TO 413
QIN[11][I]=0.0100/(EIN[11]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[11]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[11]+E[3])
if(QIN[11][I]:
< 0.0) QIN[11][I]=0.0
if(EN <= (2.0*EIN[11]:
)) GO TO 340
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
# 2P5
340 if(EN <= EIN[12]) GO TO 413
if(EN > X2P5(N2P5):
) GO TO 3420
DO 341 J=2,N2P5
if(EN <= X2P5[J]:
) GO TO 342
341 CONTINUE
J=N2P5
342 A=(Y2P5[J]-Y2P5[J-1])/(X2P5[J]-X2P5[J-1])
B=(X2P5[J-1]*Y2P5[J]-X2P5[J]*Y2P5[J-1])/(X2P5[J-1]-X2P5[J])
QIN[12][I]=(A*EN+B)*1.0D-18
GO TO 3421
3420 QIN[12][I]=Y2P5(N2P5)*(X2P5(N2P5)/EN)*1.0D-18
3421 if(EN <= (2.0*EIN[12])) GO TO 343
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# 3D4#
343 if(EN <= EIN[13]) GO TO 413
if(EN > X3D4P(N3D4P):
) GO TO 3450
DO 344 J=2,N3D4P
if(EN <= X3D4P[J]:
) GO TO 345
344 CONTINUE
J=N3D4P
345 A=(Y3D4P[J]-Y3D4P[J-1])/(X3D4P[J]-X3D4P[J-1])
B=(X3D4P[J-1]*Y3D4P[J]-X3D4P[J]*Y3D4P[J-1])/(X3D4P[J-1]-X3D4P[J])
QIN[13][I]=(A*EN+B)*1.0D-18
GO TO 3451
3450 QIN[13][I]=Y3D4P(N3D4P)*(X3D4P(N3D4P)/EN)**1.5*1.0D-18
3451 if(EN <= (2.0*EIN[13])) GO TO 346
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# 3D3
346 if(EN <= EIN[14]) GO TO 413
if(EN > X3D3(N3D3):
) GO TO 3480
DO 347 J=2,N3D3
if(EN <= X3D3[J]:
) GO TO 348
347 CONTINUE
J=N3D3
348 A=(Y3D3[J]-Y3D3[J-1])/(X3D3[J]-X3D3[J-1])
B=(X3D3[J-1]*Y3D3[J]-X3D3[J]*Y3D3[J-1])/(X3D3[J-1]-X3D3[J])
QIN[14][I]=(A*EN+B)*1.0D-18
GO TO 3481
3480 QIN[14][I]=Y3D3(N3D3)*(X3D3(N3D3)/EN)**1.5*1.0D-18
3481 if(EN <= (2.0*EIN[14])) GO TO 349
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# 3D4
349 if(EN <= EIN[15]) GO TO 413
if(EN > X3D4(N3D4):
) GO TO 3510
DO 350 J=2,N3D4
if(EN <= X3D4[J]:
) GO TO 351
350 CONTINUE
J=N3D4
351 A=(Y3D4[J]-Y3D4[J-1])/(X3D4[J]-X3D4[J-1])
B=(X3D4[J-1]*Y3D4[J]-X3D4[J]*Y3D4[J-1])/(X3D4[J-1]-X3D4[J])
QIN[15][I]=(A*EN+B)*1.0D-18
GO TO 3511
3510 QIN[15][I]=Y3D4(N3D4)*(X3D4(N3D4)/EN)**2*1.0D-18
3511 if(EN <= (2.0*EIN[15])) GO TO 352
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# 3D1##
352 if(EN <= EIN[16]) GO TO 413
if(EN > X3D1PP(N3D1PP):
) GO TO 3540
DO 353 J=2,N3D1PP
if(EN <= X3D1PP[J]:
) GO TO 354
353 CONTINUE
J=N3D1PP
354 A=(Y3D1PP[J]-Y3D1PP[J-1])/(X3D1PP[J]-X3D1PP[J-1])
B=(X3D1PP[J-1]*Y3D1PP[J]-X3D1PP[J]*Y3D1PP[J-1])/(X3D1PP[J-1]-X3D1PP[J])
QIN[16][I]=(A*EN+B)*1.0D-18
GO TO 3541
3540 QIN[16][I]=Y3D1PP(N3D1PP)*(X3D1PP(N3D1PP)/EN)**3*1.0D-18
3541 if(EN <= (2.0*EIN[16])) GO TO 355
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# 3D1#
355 if(EN <= EIN[17]) GO TO 413
if(EN > X3D1P(N3D1P):
) GO TO 3570
DO 356 J=2,N3D1P
if(EN <= X3D1P[J]:
) GO TO 357
356 CONTINUE
J=N3D1P
357 A=(Y3D1P[J]-Y3D1P[J-1])/(X3D1P[J]-X3D1P[J-1])
B=(X3D1P[J-1]*Y3D1P[J]-X3D1P[J]*Y3D1P[J-1])/(X3D1P[J-1]-X3D1P[J])
QIN[17][I]=(A*EN+B)*1.0D-18
GO TO 3571
3570 QIN[17][I]=Y3D1P(N3D1P)*(X3D1P(N3D1P)/EN)*1.0D-18
3571 if(EN <= (2.0*EIN[17])) GO TO 358
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# 3D2 J=1 F=0.379
358 if(EN <= EIN[18]) GO TO 413
QIN[18][I]=0.3790/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])
if(QIN[18][I]:
< 0.0) QIN[18][I]=0.0
if(EN <= (2.0*EIN[18]:
)) GO TO 359
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# 2S5
359 if(EN <= EIN[19]) GO TO 413
if(EN > X2S5(N2S5):
) GO TO 3610
DO 360 J=2,N2S5
if(EN <= X2S5[J]:
) GO TO 361
360 CONTINUE
J=N2S5
361 A=(Y2S5[J]-Y2S5[J-1])/(X2S5[J]-X2S5[J-1])
B=(X2S5[J-1]*Y2S5[J]-X2S5[J]*Y2S5[J-1])/(X2S5[J-1]-X2S5[J])
QIN[19][I]=(A*EN+B)*1.0D-18
GO TO 3611
3610 QIN[19][I]=Y2S5(N2S5)*(X2S5(N2S5)/EN)**3*1.0D-18
3611 if(EN <= (2.0*EIN[19])) GO TO 362
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# 2S4 J=1 F=0.086
362 if(EN <= EIN[20]) GO TO 413
QIN[20][I]=0.086/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+E[3])
if(QIN[20][I]:
< 0.0) QIN[20][I]=0.0
if(EN <= (2.0*EIN[20]:
)) GO TO 363
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# SUM 3P10+3P9+3P8+3P7+3P6+3P5
363 if(EN <= EIN[21]) GO TO 413
if(EN > X3P105(N3PSUM):
) GO TO 3650
DO 364 J=2,N3PSUM
if(EN <= X3P105[J]:
) GO TO 365
364 CONTINUE
J=N3PSUM
365 A=(Y3P105[J]-Y3P105[J-1])/(X3P105[J]-X3P105[J-1])
B=(X3P105[J-1]*Y3P105[J]-X3P105[J]*Y3P105[J-1])/(X3P105[J-1]-X3P105[J])
QIN[21][I]=(A*EN+B)*1.0D-18
GO TO 3651
3650 QIN[21][I]=Y3P105(N3PSUM)*(X3P105(N3PSUM)/EN)*1.0D-18
3651 if(EN <= (2.0*EIN[21])) GO TO 366
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# 2P4
366 if(EN <= EIN[22]) GO TO 413
if(EN > X2P4(N2P4):
) GO TO 3680
DO 367 J=2,N2P4
if(EN <= X2P4[J]:
) GO TO 368
367 CONTINUE
J=N2P4
368 A=(Y2P4[J]-Y2P4[J-1])/(X2P4[J]-X2P4[J-1])
B=(X2P4[J-1]*Y2P4[J]-X2P4[J]*Y2P4[J-1])/(X2P4[J-1]-X2P4[J])
QIN[22][I]=(A*EN+B)*1.0D-18
GO TO 3681
3680 QIN[22][I]=Y2P4(N2P4)*(X2P4(N2P4)/EN)**2*1.0D-18
3681 if(EN <= (2.0*EIN[22])) GO TO 369
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# SUM 4D6+4D3+4D4P+4D4+4D1PP+4D1P
369 if(EN <= EIN[23]) GO TO 413
if(EN > X4DSUM(N4DSUM):
) GO TO 3710
DO 370 J=2,N4DSUM
if(EN <= X4DSUM[J]:
) GO TO 371
370 CONTINUE
J=N4DSUM
371 A=(Y4DSUM[J]-Y4DSUM[J-1])/(X4DSUM[J]-X4DSUM[J-1])
B=(X4DSUM[J-1]*Y4DSUM[J]-X4DSUM[J]*Y4DSUM[J-1])/(X4DSUM[J-1]-X4DSUM[J])
QIN[23][I]=(A*EN+B)*1.0D-18
GO TO 3711
3710 QIN[2][I]=Y4DSUM(N4DSUM)*(X4DSUM(N4DSUM)/EN)**3*1.0D-18
3711 if(EN <= (2.0*EIN[23])) GO TO 372
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# 4D5 J=1 F=0.0010
372 if(EN <= EIN[24]) GO TO 413
QIN[24][I]=0.0010/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (2.0*EIN[24]:
)) GO TO 373
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# 2P3
373 if(EN <= EIN[25]) GO TO 413
if(EN > X2P3(N2P3):
) GO TO 3750
DO 374 J=2,N2P3
if(EN <= X2P3[J]:
) GO TO 375
374 CONTINUE
J=N2P3
375 A=(Y2P3[J]-Y2P3[J-1])/(X2P3[J]-X2P3[J-1])
B=(X2P3[J-1]*Y2P3[J]-X2P3[J]*Y2P3[J-1])/(X2P3[J-1]-X2P3[J])
QIN[25][I]=(A*EN+B)*1.0D-18
GO TO 3751
3750 QIN[25][I]=Y2P3(N2P3)*(X2P3(N2P3)/EN)*1.e-18
3751 if(EN <= (2.0*EIN[25])) GO TO 376
# 2P2
376 if(EN <= EIN[26]) GO TO 413
if(EN > X2P2(N2P2):
) GO TO 3780
DO 377 J=2,N2P2
if(EN <= X2P2[J]:
) GO TO 378
377 CONTINUE
J=N2P2
378 A=(Y2P2[J]-Y2P2[J-1])/(X2P2[J]-X2P2[J-1])
B=(X2P2[J-1]*Y2P2[J]-X2P2[J]*Y2P2[J-1])/(X2P2[J-1]-X2P2[J])
QIN[26][I]=(A*EN+B)*1.0D-18
GO TO 3781
3780 QIN[26][I]=Y2P2(N2P2)*(X2P2(N2P2)/EN)**2*1.0D-18
3781 if(EN <= (2.0*EIN[26])) GO TO 379
# 2P1
379 if(EN <= EIN[27]) GO TO 413
if(EN > X2P1(N2P1):
) GO TO 3810
DO 380 J=2,N2P1
if(EN <= X2P1[J]:
) GO TO 381
380 CONTINUE
J=N2P1
381 A=(Y2P1[J]-Y2P1[J-1])/(X2P1[J]-X2P1[J-1])
B=(X2P1[J-1]*Y2P1[J]-X2P1[J]*Y2P1[J-1])/(X2P1[J-1]-X2P1[J])
QIN[27][I]=(A*EN+B)*1.0D-18
GO TO 3811
3810 QIN[27][I]=Y2P1(N2P1)*(X2P1(N2P1)/EN)*1.e-18
3811 if(EN <= (2.0*EIN[27])) GO TO 382
# 4D2 J=1 F=0.0835
382 if(EN <= EIN[28]) GO TO 413
QIN[28][I]=0.0835/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+E[3])
if(QIN[28][I]:
< 0.0) QIN[28][I]=0.0
if(EN <= (2.0*EIN[28]:
)) GO TO 383
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# 3S4 J=1 F=0.0225
383 if(EN <= EIN[29]) GO TO 413
QIN[29][I]=0.0225/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+E[3])
if(QIN[29][I]:
< 0.0) QIN[29][I]=0.0
if(EN <= (2.0*EIN[29]:
)) GO TO 384
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# 5D5 J=1 F=0.0227
384 if(EN <= EIN[30]) GO TO 413
QIN[30][I]=0.0227/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])
if(QIN[30][I]:
< 0.0) QIN[30][I]=0.0
if(EN <= (2.0*EIN[30]:
)) GO TO 385
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# 5D2 J=1 F=0.0020
385 if(EN <= EIN[31]) GO TO 413
QIN[31][I]=0.0020/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[31]+E[3])
if(QIN[31][I]:
< 0.0) QIN[31][I]=0.0
if(EN <= (2.0*EIN[31]:
)) GO TO 386
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# 4S4 J=1 F=0.0005
386 if(EN <= EIN[32]) GO TO 413
QIN[32][I]=0.0005/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])
if(QIN[32][I]:
< 0.0) QIN[32][I]=0.0
if(EN <= (2.0*EIN[32]:
)) GO TO 387
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# 3S1# J=1 F=0.1910
387 if(EN <= EIN[33]) GO TO 413
QIN[33][I]=0.1910/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+E[3])
if(QIN[33][I]:
< 0.0) QIN[33][I]=0.0
if(EN <= (2.0*EIN[33]:
)) GO TO 388
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# 6D5 J=1 F=0.0088
388 if(EN <= EIN[34]) GO TO 413
QIN[34][I]=0.0088/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.0
if(EN <= (2.0*EIN[34]:
)) GO TO 389
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# 6D2 J=1 F=0.0967
389 if(EN <= EIN[35]) GO TO 413
QIN[35][I]=0.0967/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+E[3])
if(QIN[35][I]:
< 0.0) QIN[35][I]=0.0
if(EN <= (2.0*EIN[35]:
)) GO TO 390
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# 5S4 J=1 F=0.0288
390 if(EN <= EIN[36]) GO TO 413
QIN[36][I]=0.0288/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[36]+E[3])
if(QIN[36][I]:
< 0.0) QIN[36][I]=0.0
if(EN <= (2.0*EIN[36]:
)) GO TO 391
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
# 7D5 J=1 F=0.0042
391 if(EN <= EIN[37]) GO TO 413
QIN[37][I]=0.0042/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+E[3])
if(QIN[37][I]:
< 0.0) QIN[37][I]=0.0
if(EN <= (2.0*EIN[37]:
)) GO TO 392
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
# 7D2 J=1 F=0.0625
392 if(EN <= EIN[38]) GO TO 413
QIN[38][I]=0.0625/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+E[3])
if(QIN[38][I]:
< 0.0) QIN[38][I]=0.0
if(EN <= (2.0*EIN[38]:
)) GO TO 393
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
# 6S4 J=1 F=0.0025
393 if(EN <= EIN[39]) GO TO 413
QIN[39][I]=0.0025/(EIN[39]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[39]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[39]+E[3])
if(QIN[39][I]:
< 0.0) QIN[39][I]=0.0
if(EN <= (2.0*EIN[39]:
)) GO TO 394
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
# 2S2 J=1 F=0.0290
394 if(EN <= EIN[40]) GO TO 413
QIN[40][I]=0.0290/(EIN[40]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[40]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[40]+E[3])
if(QIN[40][I]:
< 0.0) QIN[40][I]=0.0
if(EN <= (2.0*EIN[40]:
)) GO TO 395
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
# 8D5 J=1 F=0.0035
395 if(EN <= EIN[41]) GO TO 413
QIN[41][I]=0.0035/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[41]+E[3])
if(QIN[41][I]:
< 0.0) QIN[41][I]=0.0
if(EN <= (2.0*EIN[41]:
)) GO TO 396
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
# 8D2 J=1 F=0.0386
396 if(EN <= EIN[42]) GO TO 413
QIN[42][I]=0.0386/(EIN[42]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[42]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[42]+E[3])
if(QIN[42][I]:
< 0.0) QIN[42][I]=0.0
if(EN <= (2.0*EIN[42]:
)) GO TO 397
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
# 7S4 J=1 F=0.0050
397 if(EN <= EIN[43]) GO TO 413
QIN[43][I]=0.0050/(EIN[43]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[43]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[43]+E[3])
if(QIN[43][I]:
< 0.0) QIN[43][I]=0.0
if(EN <= (2.0*EIN[43]:
)) GO TO 398
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
# 9D5 J=1 F=0.0005
398 if(EN <= EIN[44]) GO TO 413
QIN[44][I]=0.0005/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+E[3])
if(QIN[44][I]:
< 0.0) QIN[44][I]=0.0
if(EN <= (2.0*EIN[44]:
)) GO TO 399
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
# 9D2 J=1 F=0.0250
399 if(EN <= EIN[45]) GO TO 413
QIN[45][I]=0.0250/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])
if(QIN[45][I]:
< 0.0) QIN[45][I]=0.0
if(EN <= (2.0*EIN[45]:
)) GO TO 400
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
# 8S4 J=1 F=0.0023
400 if(EN <= EIN[46]) GO TO 413
QIN[46][I]=0.0023/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+E[3])
if(QIN[46][I]:
< 0.0) QIN[46][I]=0.0
if(EN <= (2.0*EIN[46]:
)) GO TO 401
PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]
# 10D5 J=1 F=0.0005
401 if(EN <= EIN[47]) GO TO 413
QIN[47][I]=0.0005/(EIN[47]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[47]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[47]+E[3])
if(QIN[47][I]:
< 0.0) QIN[47][I]=0.0
if(EN <= (2.0*EIN[47]:
)) GO TO 402
PEQIN[47][I]=PEQEL[2][(I-IOFFN[47])]
# 10D2 J=1 F=0.0164
402 if(EN <= EIN[48]) GO TO 413
QIN[48][I]=0.0164/(EIN[48]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[48]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[48]+E[3])
if(QIN[48][I]:
< 0.0) QIN[48][I]=0.0
if(EN <= (2.0*EIN[48]:
)) GO TO 403
PEQIN[48][I]=PEQEL[2][(I-IOFFN[48])]
# 9S4 J=1 F=0.0014
403 if(EN <= EIN[49]) GO TO 413
QIN[49][I]=0.0014/(EIN[49]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[49]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[49]+E[3])
if(QIN[49][I]:
< 0.0) QIN[49][I]=0.0
if(EN <= (2.0*EIN[49]:
)) GO TO 404
PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
# HIGH J=1 F=0.0831
404 if(EN <= EIN[50]) GO TO 413
QIN[50][I]=0.0831/(EIN[50]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[50]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[50]+E[3])
if(QIN[50][I]:
< 0.0) QIN[50][I]=0.0
if(EN <= (2.0*EIN[50]:
)) GO TO 405
PEQIN[50][I]=PEQEL[2][(I-IOFFN[50])]
405 CONTINUE
if(EN <= 1000.):
GO TO 413
DO 500 J=2,NBREM
if(EN <= EBRM[2]:
) GO TO 510
500 CONTINUE
J=NBREM
510 A=(math.log(Z54T[J])-math.log(Z54T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z54T[J])*EBRM[J-1]-math.log(Z54T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[51][I]=math.exp(A*EN+B)*1.e-24
#
# CALCULATE TOTAL X-SECTION
413 QEXC=0.0
DO 414 NLEV=1,NIN
414 QEXC=QEXC+QIN(NLEV,I)
Q[1][I]=QELA+QION[1][I]+QION[2][I]+QION[3][I]+QION[4][I]+QION[5][I]+QION[6][I]+QION[7][I]+QION[8][I]+QION[9][I]+QION[10][I]+QION[11][I]+QION[12][I]+QEXC+QIN[51][I]
#
# WRITE(6,997) EN,Q[1][I],QEXC,Q[5][I],QELA
# 997 print(' EN =','%.4f' % ,' QTOT =','%.3f' %,' QEXC =','%.3f' %,' QION =',D12
# /.3,' QELA = ','%.3f' %)
#
900 CONTINUE
# SAVE COMPUTE TIME
DO 910 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 911
# endif
910 CONTINUE
911 CONTINUE
if(EFINAL > 1000.):
NIN=51
return
# end
def GAS8(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(153),YELM(153),YELT(153),YEPS(153),XATT[6],YATT[6], XVBV4[26],YVBV4[26],XVBV2[29],YVBV2[29],XVBV1[30],YVBV1[30],XVBV3[25],YVBV3[25],XVBH1[14],YVBH1[14],XVBH2[14],YVBH2[14],XION(70),YION(70),YINC(70),XINF(70),YINF(70),XINF1(68),YINF1(68),XINF2(66),YINF2(66),XINF3[53],YINF3[53],XINF4[51],YINF4[51],XINF5[50],YINF5[50],XIN'%.4f' %8),YIN'%.4f' %8),XINPP[49],YINPP[49],XDET[9],YDET[9],XTR1[12],YTR1[12],XTR2[11],YTR2[11],XTR3[11],YTR3[11],XCHD[32],YCHD[32],XCHB[35],YCHB[35],XHAL[34],YHAL[34],XHBE[34],YHBE[34],XKSH(83),YKSH(83),IOFFN[34],IOFFION[10]
DIMENSION Z1T[25],Z6T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
XEN=[0.00,.0001,.001,.002,.004,.007,0.01,.012,.014,.017,0.02,.025,0.03,.035,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.14,0.17,0.20,0.24,0.28,0.32,0.36,0.40,0.45,0.50,0.60,0.70,0.80,1.00,1.20,1.40,1.70,2.00,2.50,3.00,3.50,4.00,5.00,6.00,7.00,8.00,9.00,10.0,12.0,15.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.,150.,200.,300.,400.,500.,600.,800.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,7000.,8000.,9000.,1.D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D9,9.0D8,1.0D9]
# ELASTIC MOMENTUM TRANSFER X-SECTION
YELM=[26.7,25.4,22.6,21.0,18.8,16.5,14.8,13.9,13.0,12.0,11.2,10.05,9.05,8.20,7.50,6.25,5.30,4.60,3.88,3.22,2.60,1.74,1.19,0.70,.440,.290,.270,.270,.325,.410,.540,.645,.850,1.08,1.30,1.75,2.25,2.70,3.50,4.35,6.00,7.70,9.70,11.7,14.9,17.0,18.4,18.6,18.6,17.7,14.6,10.6,6.90,4.80,3.90,2.75,2.15,1.75,1.24,0.96,0.59,.400,.235,0.16,.115,0.09,0.06,.045,.0223,.0134,.00654,.0039,.00261,.00188,.00142,.00112,9.01e-4,7.44e-4,4.96e-4,3.56e-4,2.69e-4,2.11e-4,1.41e-4,1.01e-4,7.67e-5,6.03e-5,4.88e-5,4.04e-5,2.92e-5,2.22e-5,1.76e-5,1.43e-5,1.19e-5,8.09e-6,5.93e-6,4.57e-6,3.66e-6,2.54e-6,1.89e-6,1.48e-6,1.20e-6,9.96e-7,8.45e-7,6.38e-7,5.04e-7,4.11e-7,3.43e-7,2.92e-7,2.09e-7,1.58e-7,1.24e-7,1.00e-7,7.01e-8,5.21e-8,4.04e-8,3.24e-8,2.66e-8,2.22e-8,1.62e-8,1.24e-8,9.84e-9,8.00e-9,6.64e-9,4.45e-9,3.20e-9,2.42e-9,1.90e-9,1.26e-9,8.98e-10,6.74e-10,5.25e-10,4.21e-10,3.45e-10,2.44e-10,1.82e-10,1.40e-10,1.12e-10,9.11e-11,5.89e-11,4.11e-11,3.03e-11,2.32e-11,1.49e-11,1.04e-11,7.63e-12,5.84e-12,4.62e-12,3.74e-12,2.60e-12,1.91e-12,1.46e-12,1.16e-12,9.36e-13]
# ELASTIC TOTAL X-SECTION
YELT=[26.7,25.6,23.3,22.0,19.9,17.9,16.4,15.5,14.8,13.8,12.9,11.6,10.6,9.67,8.89,7.60,6.57,5.70,4.90,4.20,3.70,2.80,2.20,1.62,1.23,0.95,0.82,0.75,0.72,0.71,0.73,0.77,0.95,1.10,1.28,1.72,2.25,3.00,3.96,5.05,6.93,8.93,11.2,13.4,17.9,21.5,23.3,24.0,24.1,24.0,22.2,19.9,16.0,13.4,11.6,8.94,7.57,6.46,5.11,4.24,2.79,2.21,1.56,1.06,0.80,0.63,0.50,0.40,0.31,.252,.202,.167,.147,.123,.106,.093,.083,.075,.060,.051,.044,.039,.0315,.0266,.0231,.0205,.0185,.0169,.0144,.0127,.0117,.0104,.00957,.00812,.00715,.00647,.00595,.00524,.00477,.00444,.00420,.00401,.00387,.00365,.00350,.00340,.00331,.00325,.00314,.00308,.00303,.00300,.00296,.00294,.00293,.00292,.00291,.00290,.00290,.00289,.00289,.00289,.00289,.00288,.00288,.00288,.00288,26*.002879]
# EPSILON FOR ELASTIC ANGULAR DISTRIBUTION
# EPSILON=1.0-YEPS
YEPS=[1.00,.9883,.9550,.9319,.9172,.8830,.8543,.8459,.8188,.8058,.8039,.8012,.7827,.7743,.7680,.7373,.7149,.7153,.6937,.6584,.5712,.4669,.3718,.2583,.1913,.1495,.1680,.1932,.2771,.4139,.6212,.7594,.8429,.9727,1.0234,1.0262,1.000,.8507,.8268,.7939,.8003,.7951,.8007,.8111,.7518,.6921,.6907,.6700,.6655,.6181,.5124,.3626,.2575,.1917,.1736,.1512,.1338,.1245,.1054,.0951,.0859,.0685,.0526,.0528,.0493,.0488,.0383,.0350,.0192,.0129,.0069,.0046,.00326,.00272,.00232,.00204,.00180,.00162,.00130,.00107,.00091,.000791,.000634,.000523,.000448,.000390,.000344,.000307,.000254,.000215,1.81e-4,1.63e-4,1.46e-4,1.14e-4,9.23e-5,7.71e-5,6.60e-5,5.06e-5,4.04e-5,3.33e-5,2.81e-5,2.41e-5,2.09e-5,1.63e-5,1.32e-5,1.09e-5,9.17e-6,7.85e-6,5.64e-6,4.24e-6,3.31e-6,2.66e-6,1.83e-6,1.37e-6,1.03e-6,8.09e-7,6.55e-7,5.41e-7,3.88e-7,2.92e-7,2.27e-7,1.82e-7,1.49e-7,9.75e-8,6.87e-8,5.10e-8,3.93e-8,2.54e-8,1.78e-8,1.31e-8,1.01e-8,7.97e-9,6.46e-9,4.48e-9,3.28e-9,2.50e-9,1.97e-9,1.59e-9,1.00e-9,6.86e-10,4.98e-10,3.77e-10,2.37e-10,1.62e-10,1.17e-10,8.90e-11,6.90e-11,5.60e-11,3.80e-11,2.70e-11,2.10e-11,1.60e-11,1.30e-11]
# V4 DIPOLE PART AS ANALYTIC def IN def
# ABOVE 100 EV SCALED BY 1/E**2
XVBV4=[.1625135,0.20,0.30,0.40,0.50,0.60,0.80,1.00,1.50,2.00,3.00,5.00,6.00,7.00,8.00,9.00,10.0,12.5,15.0,20.0,30.0,40.0,50.0,60.0,80.0,100.]
YVBV4=[0.00,.0001,.060,.057,.055,.050,.040,.035,.041,.056,.082,.278,.406,0.47,0.44,.383,.323,.266,.201,.126,.056,.031,.020,.014,.0079,.005]
# V2
XVBV2=[.1901087,.195,0.20,0.21,0.22,0.23,0.24,0.26,0.28,0.30,0.40,0.50,0.60,0.80,1.00,1.50,2.00,3.00,5.00,6.00,7.00,8.00,9.00,10.0,12.5,15.0,20.0,30.0,40.0]
YVBV2=[0.00,.028,.038,.051,.060,.066,.071,.075,.076,.077, .080,.081,.082,.082,.083,.084,.086,.118,.308,.446,0.49,0.46,.403,.333,.217,.171,.102,.045,.025]
# V1
XVBV1=[.3615974,.363,.365,.367,0.37,.375,0.38,0.39,0.40,0.42,0.45,0.50,0.60,0.70,0.80,1.00,1.50,2.00,3.00,5.00,6.00,7.00,8.00,9.00,10.0,12.5,15.0,20.0,30.0,40.0]
YVBV1=[.0,.0028,.0043,.0054,.0066,.0083,.0095,.0115,.013,.015,.017,.019,0.02,0.02,.021,.022,.023,.025,.042,.157,.226,.260,.260,.215,.190,.151,.120,.085,.038,.021]
# V3 DIPOLE PART AS ANALYTIC def
XVBV3=[.3743690,0.40,0.50,0.60,0.70,0.80,1.00,1.50,2.00,3.00,5.00,6.00,7.00,8.00,9.00,10.0,12.5,15.0,20.0,30.0,40.0,50.0,60.0,80.0,100.]
YVBV3=[.0,.004,0.01,.011,.011,.011,.011,.015,.019,.105,.458,.596,.680,.680,.593,.433,.300,.241,.142,.063,.0355,.0227,.0158,.0089,.0057]
# VIBRATION HARMONIC
XVBH1=[.544,1.00,2.00,3.00,5.00,6.00,7.00,8.00,9.00,10.0,12.5,15.0,17.5,20.0]
YVBH1=[0.00,.0007,.0028,.014,.053,.068,.075,.075,.061,.044,.031,.021,.015,.011]
# VIBRATION HARMONIC
XVBH2=[.736,1.00,2.00,3.00,5.00,6.00,7.00,8.00,9.00,10.0,12.5,15.0,17.5,20.0]
YVBH2=[0.00,.0005,.0022,.0135,.044,.058,.064,.064,.053,.039,.024,.014,.010,.006]
# IONISATION X-SECTION ABOVE 1KEV GIVEN BY BORN-BETHE
XION=[12.65,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5, 18.0,18.5,19.0,19.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
# GROSS IONISATION WEIGHTED AVERAGE OF: RAP AND ENGLANDER,
# LINDSAY AND STEBBINGS, AND NISHIMURA
YION=[0.00,.035,.075,.132,.201,.282,.366,.451,.538,.625, .715,.803,.892,.990,1.26,1.36,1.44,1.52,1.60,1.68,1.75,2.00,2.23,2.41,2.58,2.72,2.83,2.95,3.06,3.25,3.41,3.52,3.61,3.66,3.71,3.73,3.74,3.75,3.74,3.73,3.71,3.68,3.66,3.63,3.60,3.57,3.53,3.50,3.46,3.42,3.36,3.27,3.12,3.00,2.69,2.40,2.22,2.04,1.88,1.74,1.64,1.53,1.44,1.36,1.30,1.25,1.19,1.15,1.10,1.053]
# COUNTING IONISATION
YINC=[0.00,.035,.075,.132,.201,.282,.366,.451,.538,.625, .715,.803,.892,.990,1.26,1.36,1.44,1.52,1.60,1.68,1.75,2.00,2.22,2.40,2.57,2.71,2.82,2.93,3.04,3.23,3.38,3.49,3.57,3.62,3.67,3.69,3.70,3.71,3.70,3.69,3.67,3.64,3.62,3.59,3.56,3.53,3.49,3.46,3.43,3.39,3.33,3.24,3.09,2.97,2.66,2.38,2.20,2.02,1.86,1.72,1.62,1.52,1.43,1.35,1.29,1.24,1.18,1.14,1.09,1.042]
# IONISATION TO DOUBLE CHARGE FINAL STATES
XINPP=[27.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINPP=[0.00,.005,.005,.005,.005,.005,0.01,0.01,0.01,.015,.015,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,.015,.015,.015,.015,.015,.015,.015,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01]
# IONISATION TO CH4 +
XINF=[12.65,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINF=[0.0,.035,.075,.119,.169,.228,.284,.335,.383,.425,.479,.529,.579,.632,.773,.824,.862,.899,.938,.976,1.008,1.114,1.199,1.254,1.308,1.342,1.363,1.389,1.412,1.443,1.477,1.497,1.502,1.508,1.514,1.514,1.510,1.508,1.499,1.494,1.485,1.470,1.459,1.446,1.434,1.422,1.409,1.401,1.392,1.380,1.359,1.325,1.269,1.227,1.119,1.016,.9535,.8886,.8206,.7609,.7199,.6785,.6419,.6094,.5824,.5599,.5355,.5200,.4990,.4787]
# IONISATION TO CH3 +
XINF1=[14.25,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINF1=[0.0,.013,.032,.054,.081,.114,.152,.195,.230,.267,.304,.347,.471,.517,.557,.598,.633,.668,.700,.808,.896,.968,1.017,1.052,1.073,1.092,1.110,1.145,1.178,1.205,1.221,1.227,1.233,1.232,1.227,1.230,1.226,1.220,1.211,1.201,1.194,1.188,1.181,1.175,1.163,1.153,1.144,1.132,1.113,1.088,1.047,1.011,.9249,.8351,.7766,.7171,.6676,.6240,.5890,.5539,.5237,.4968,.4769,.4605,.4381,.4232,.4048,.3872]
# IONISATION TO CH2 +
XINF2=[15.2,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINF2=[0.0,.0004,.0010,.0019,.0030,.0044,.0058,.0073,.0089,.0108,.0166,.0189,.0209,.0231,.0273,.0318,.0363,.0593,.0888,.1208,.1499,.1797,.2034,.2220,.2415,.2684,.2781,.2866,.2926,.2953,.2980,.3008,.3029,.3001,.2958,.2968,.2969,.2949,.2937,.2902,.2868,.2834,.2790,.2755,.2720,.2677,.2619,.2528,.2381,.2286,.1971,.1729,.1554,.1386,.1268,.1164,.1091,.1019,.0942,.0874,.0839,.0809,.0764,.0732,.0694,.0658]
# IONISATION TO H +
XINF3=[22.2,23.0,23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINF3=[0.0,.00104,.00218,.00341,.00962,.0176,.0265,.0419,.0585,.0782,.1016,.1266,.1885,.2404,.2799,.3187,.3435,.3688,.3845,.3992,.4088,.4166,.4188,.4198,.4193,.4200,.4154,.4112,.4067,.4003,.3951,.3896,.3834,.3750,.3622,.3405,.3219,.2655,.2247,.2000,.1765,.1570,.1398,.1291,.1187,.1083,.0990,.0933,.0883,.0824,.0780,.0735,.0692]
# IONISATION TO CH+ NOTE THRESHOLD INCREASED FROM 22.3 DUE TO EXC. STATE
XINF4=[23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINF4=[0.0,.00112,.00758,.0166,.0269,.0438,.0621,.0785,.0933,.1090,.1308,.1391,.1490,.1579,.1629,.1679,.1680,.1675,.1689,.1693,.1665,.1631,.1611,.1596,.1570,.1545,.1520,.1491,.1467,.1443,.1415,.1378,.1320,.1220,.1138,.0971,.0824,.0730,.0641,.0573,.0513,.0471,.0430,.0399,.0370,.0349,.0332,.0315,.0304,.0289,.0274]
# IONISATION TO C +
XINF5=[25.2,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINF5=[0.0,.00092,.0018,.0028,.0068,.0112,.0160,.0212,.0267,.0331,.0412,.0446,.0477,.0508,.0539,.0561,.0581,.0581,.0578,.0579,.0578,.0581,.0585,.0581,.0576,.0571,.0561,.0553,.0546,.0536,.0524,.0501,.0463,.0436,.0352,.0303,.0256,.0213,.0188,.0166,.0154,.0142,.0131,.0122,.0106,.0099,.0095,.0093,.0088,.0083]
# IONISATION TO H2 +
XINF6=[27.9,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
YINF6=[0.0,.0010,.0028,.0047,.0074,.0109,.0146,.0214,.0259,.0286,.0311,.0326,.0342,.0349,.0354,.0359,.0361,.0361,.0360,.0356,.0352,.0348,.0344,.0341,.0336,.0332,.0328,.0324,.0317,.0300,.0272,.0248,.0212,.0185,.0160,.0138,.0122,.0109,.0103,.0098,.0089,.0082,.0077,.0073,.0065,.0059,.0057,.0054]
# K-SHELL IONISATION X-SECTION CARBON
XKSH=[285.,298.,307.,316.,325.,335.,345.,365.,398.,422.,447.,473.,501.,531.,613.,668.,708.,750.,817.,917.,1000.,1122.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.0D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.0D6,1.26D6,1.5D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.0D7,1.26D7,1.5D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.0D8,1.26D8,1.5D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.0D9]
YKSH=[0.00,1.66e-4,3.48e-4,5.25e-4,6.96e-4,8.63e-4,1.02e-3,1.33e-3,1.75e-3,2.01e-3,2.24e-3,2.46e-3,2.66e-3,2.84e-3,3.21e-3,3.38e-3,3.47e-3,3.55e-3,3.65e-3,3.72e-3,3.75e-3,3.74e-3,3.68e-3,3.57e-3,3.45e-3,3.31e-3,3.19e-3,3.07e-3,2.91e-3,2.66e-3,2.25e-3,1.95e-3,1.55e-3,1.21e-3,8.97e-4,7.07e-4,6.07e-4,5.21e-4,4.21e-4,3.63e-4,3.14e-4,2.84e-4,2.57e-4,2.25e-4,1.74e-4,1.50e-4,1.28e-4,1.15e-4,1.09e-4,1.05e-4,1.03e-4,1.02e-4,1.01e-4,1.005e-4,1.01e-4,1.03e-4,1.07e-4,1.11e-4,1.14e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.29e-4,1.32e-4,1.38e-4,1.45e-4,1.50e-4,1.54e-4,1.58e-4,1.60e-4,1.63e-4,1.67e-4,1.71e-4,1.74e-4,1.80e-4,1.87e-4,1.92e-4,1.96e-4,2.00e-4,2.02e-4,2.05e-4,2.09e-4]
# ATTACHMENT - DEATTACHMENT VIA H- 9.8 EV RESONANCE (RAWAT ET AL)
XDET=[7.80,8.00,9.00,9.80,10.0,11.0,12.0,13.0,14.0]
YDET=[0.00,.0049,.0134,.0153,.0150,.0113,.0038,.0095,0.00]
# ATTACHMENT VIA CH2- ONLY (RAWAT ET AL)
XATT=[9.00,10.0,10.4,11.0,12.0,13.0]
YATT=[0.00,0.00092,.00112,.00089,.00027,0.00]
# DISSOCIATION TRIPLET + SINGLETS ( SINGLETS GIVEN ANALYTICALLY)
# TRIPLETS
XTR1=[7.50,8.50,10.0,11.0,12.0,13.0,15.0,17.0,20.0,23.0,27.0,30.0]
YTR1=[0.00,.015,.050,.075,.084,.090,.098,.100,.090,.075,.055,.043]
XTR2=[8.50,10.0,11.0,12.0,13.0,15.0,17.0,20.0,23.0,27.0,30.0]
YTR2=[0.00,.088,.161,.185,.198,.216,.220,.198,.165,.121,.095]
XTR3=[10.0,11.0,12.0,13.0,15.0,17.0,20.0,23.0,27.0,30.0,35.0]
YTR3=[0.00,.245,.504,.588,.665,.700,.700,.665,.525,.406,.301]
# LIGHT EMISSION FROM CH(A2DELTA TO X2PI)
XCHD=[13.4,13.5,14.5,18.5,20.6,21.6,22.5,23.6,27.7,31.8,33.5,33.9,35.4,37.5,39.2,40.0,44.0,49.1,55.6,58.3,60.1,63.2,67.0,71.3,76.3,80.3,100.,150.,200.,400.,700.,1000.]
YCHD=[0.00,.0041,.0065,.0116,.0169,.0205,.0232,.0261,.0299,.0327,.0339,.0355,.0363,.0392,.0411,.0441,.0462,.0469,.0476,.0479,.0481,.0485,.0489,.0491,.0487,.0477,.0403,.0292,.0232,.0131,.0082,.0060]
# LIGHT EMISSION FROM CH(B2SIGMA- TO X2PI)
XCHB=[13.7,13.8,14.8,18.8,20.9,21.9,22.8,23.9,28.0,32.1,33.8,34.2,35.7,37.8,39.5,42.1,43.4,44.3,49.4,56.0,58.6,60.4,63.5,67.3,71.6,76.6,80.6,100.,150.,200.,400.,700.,1000.,1500.,2000.]
YCHB=[0.00,2.44e-4,3.91e-4,6.96e-4,.00102,.00123,.0014,.00157,.0018,.00197,.00204,.00214,.00219,.00236,.00248,.00259,.00265,.00278,.00283,.00286,.00289,.00290,.00292,.00295,.00296,.00293,.00287,.00242,.00176,.00139,7.88e-4,4.93e-4,3.63e-4,2.57e-4,2.00e-4]
# LIGHT EMISSION FROM H(ALPHA)
XHAL=[16.14,16.3,16.6,16.9,17.2,18.1,19.2,20.0,20.8,22.6,25.2,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,144.,185.,200.,224.,245.,284.,364.,453.,500.,600.,700.,800.,1000.,1500.,2000.]
YHAL=[0.00,2.54e-4,3.80e-4,5.05e-4,6.60e-4,.00101,.00142,.00175,.00209,.00288,.00431,.00686,.01225,.0156,.0181,.0195,.0204,.0203,.0200,.0181,.0148,.0134,.0127,.0119,.0103,.00789,.00598,.00529,.00425,.00357,.00309,.00227,.0016,.00125]
# LIGHT EMISSION FROM H(BETA)
XHBE=[16.8,18.0,21.9,23.4,24.5,25.5,26.4,28.2,30.0,33.7,37.2,40.0,50.0,57.7,80.0,100.,141.,169.,200.,226.,247.,284.,340.,363.,398.,455.,500.,550.,654.,700.,800.,999.,1500.,2000.]
YHBE=[0.00,1.53e-4,5.44e-4,7.19e-4,8.85e-4,.00114,.00128,.00159,.00194,.00228,.00269,.00316,.00374,.00419,.00481,.00463,.00419,.00374,.00314,.00288,.00269,.00227,.00194,.00179,.00160,.00140,.00128,.00114,9.5D-4,8.85e-4,7.19e-4,5.45e-4,3.84e-4,3.00e-4]
# BREMSSTRAHLUNG X-SECTION WITH CUT UNITS 10**-24
Z1T=[11.3,6.18,2.80,1.54,.858,.407,.251,.176,.145,.150,.167,.178,.187,.193,.198,.205,.210,.218,.222,.228,.231,.233,.234,.235,.235]
Z6T=[298.,178.,85.2,47.5,26.3,12.2,7.06,4.45,3.06,2.82,2.89,2.99,3.08,3.13,3.18,3.25,3.31,3.39,3.44,3.49,3.52,3.54,3.55,3.57,3.57]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
#-----------------------------------------------------------------------
# 2015: INCLUDED IMPLICIT IONISATION DISSOCIATION CHANNELS AND
# REMOVED IONISATION-EXCITATION (DISSOCIATION) CHANNEL.
# ADDED ENERGY LOSS TO EXCITED ION LEVELS AS AN
# APPROXIMATE CROSS SECTION WITH ENERGY LOSS 16 EV
#-----------------------------------------------------------------------
# 2013: UPDATE INCLUDES USE OF OSCILLATOR STRENGTHS FOR DIPOLE SINGLET
# DISSOCIATION X-SECTION. USED OSCILLATOR STRENGTH FROM
# AN AVERAGE OF BRION AND KATEMA WITH HIGH ENERGY VALUES FROM
# BERKOWITZ. 1-2% SCALING FACTOR AT # end OF BEF FORMULA IS FROM
# INCREASED ENERGY LOSS FROM THRESHOLD ENERGY TO AVERAGE ENERGY
# FOR THE DIPOLE STATES.
# 3 TRIPLET STATE DISSOCIATION X-SECTIONS ALLOWED TO VARY IN ORDER
# TO GIVE FIT TO TOWNS# end COEFICIENT AT LOW FIELD.
# INTRODUCED DISSOCIATIVE IONISATION X-SECTION OF APPROXIMATELY
# 50% OF TOTAL IONISATION X-SECTION . AGREES WITH EXPERIMENTAL
# FRAGMENT YIELD FROM LINDSAY AND IMPROVES AGREEMENT WITH WINTERS
# TOTAL DISSOCIATION X-SECTION.
# K-SHELL IONISATION INTRODUCED FOR DE/DX AND FANO CALCULATIONS.
# ---------------------------------------------------------------------
# 2007: UPDATE OF 2004 DATABASE
# NOW SPLIT V24 AND V13 VIBRATIONS INTO V1 V2 V3 AND V4 X-SECTIONS
# SHAPE OF VIBRATIONS GIVEN BY SHAPE defS FROM THEORETICAL
# PREDICTIONS BY GIANTURCO ET AL. AND EXPERIMENT BY ALLAN.
# VIBRATION ANGULAR DISTRIBUTIONS MODELLED BY MODIFIED CAPITELLI/LONGO
# ELASTIC ANGULAR DISTRIBUTIONS CAN BE EITHER ISOTROPIC OR MODELLED
# BY OKHRIMOVSKYY ET AL ALGORITHM
# IONISATION AND DISSOCIATION ANGULAR DISTRIBUTIONS GIVEN BY ELASTIC
# ANGULAR DISTRIBUTION WITH ENERGY OFFSET GIVEN BY THRESHOLD ENERGY.
# DATABASE EXT# endED TO MIP REGION.
# NOW INCLUDES LIGHT EMISSION X-SECTIONS FROM
# SASIC ,PETROVIC ET AL NEW JOURNAL OF PHYSICS 6(2004)74
#----------------------------------------------------------------------
# ATTACHMENT CROSS-SECTION OF RAWAT ET AL : JOURNAL OF PHYSICS:
# CONFERENCE SERIES 80(2007)012018 NOW USED INSTEAD OF SHARP AND DOWELL
# DE-ATTACHMENT FOR PART OF ATTACHMENT TO H- ION ASSUMED DUE TO
# HIGH COLLISIONAL ENERGY printION.
# ---------------------------------------------------------------------
# FIT TO METHANE DRIFT VELOCITY OF HADDAD AND SCHMIDT AT LOW FIELD
# AND HUNTER AND KLINE AND YOSHIDA AT HIGH FIELD.
# CALCULATED DRIFT VELOCITY IS WITHIN 1% AT ALL FIELDS UP TO 1000 TD
# TRANSVERSE AND LONGITUDINAL DIFFUSION WITHIN 3% AT ALL FIELDS
# TOWNS# end COEFICIENT WITHIN 3% AT ALL FIELDS
# REPRODUCES DRIFT VELOCITY AND LORENTZ ANGLES IN ARGON METHANE MIXTURES
# LORENTZ ANGLE ACCURACY LESS THAN 1 DEGREE IN ARGON MIXTURES
# DRIFT VELOCITY BETTER THAN 0.75% IN ARGON MIXTURES.
# ALL ENERGY DEP# endENT FANO FACTORS WITHIN EXPERIMENTAL ERRORS OF 5%
#-----------------------------------------------------------------------
# NANISO=0
if(NANISO == 0):
:
NAME=' CH4 2015 ISOTROPIC '
else:
NAME=' CH4 2015 ANISOTROPIC '
# endif
#-----------------------------------------------------------------------
# BORN BETHE CONSTANTS
A0=0.52917720859e-08
RY=13.60569193
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
BBCONST=16.00*API*A0*A0*RY*RY/EMASS2
#
# BORN BETHE VALUES FOR IONISATION
AM2=3.75
C=42.5
# BORN BETHE FOR EXCITATION
AM2EXC=1.40
CEXC=19.0
# ARRAY SIZE
NASIZE=20000
#
NION=9
NATT=1
NIN=34
NNULL=0
IONMODEL=0
#
NBREM=25
DO 8 J=1,NIN
IZBR[J]=0
8 CONTINUE
IZBR[35]=6
IZBR[36]=1
#
DO 1 J=1,6
1 KEL[J]=NANISO
# SUPERELASTIC, V2 V1 AND HARMONIC VIBRATIONS ASSUMED ISOTROPIC
KIN[1]=0
KIN[3]=0
KIN[4]=0
KIN[5]=0
KIN[7]=0
KIN[8]=0
# V4 AND V3 VIBRATIONS ANISOTROPIC ( CAPITELLI-LONGO)
KIN[2]=1
KIN[6]=1
# ANGULAR DISTRIBUTION FOR DISSOCIATIVE EXCITATION IS OKHRIMOVSKYY TYPE
DO 2 J=9,NIN
2 KIN[J]=2
#
# RAT IS MOMENTUM TRANSFER TO TOTAL RATIO FOR VIBRATIONS IN THE
# RESONANCE REGION AND ALSO FOR THE VIBRATIONS V1 AND V2 .
# USED DIPOLE ANGULAR DISTRIBUTION FOR V3 AND V4 NEAR THRESHOLD.
RAT=1.0
#
NDATA=153
NVIBV4=26
NVIBV2=29
NVIBV1=30
NVIBV3=25
NVIBH1=14
NVIBH2=14
NIOND=70
NIONF=70
NIONF1=68
NIONF2=66
NIONF3=53
NIONF4=51
NIONF5=50
NION'%.4f' %8
NIONPP=49
NKSH=83
NATT1=6
NDET=9
NTRP1=12
NTRP2=11
NTRP3=11
NCHD=32
NCHB=35
NHAL=34
NHBE=34
# VIBRATIONAL DEGENERACY
DEGV4=3.0
DEGV2=2.0
DEGV1=1.0
DEGV3=3.0
#
E[1]=0.0
E[2]=2.0*EMASS/(16.0426*AMU)
E[3]=12.65
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=12.65
EION[2]=14.25
EION[3]=15.2
EION[4]=22.2
EION[5]=23.5
EION[6]=25.2
EION[7]=27.0
EION[8]=27.9
EION[9]=285.0
# OPAL BEATY
SCLOBY=0.475
EOBY[1]=EION[1]*SCLOBY
EOBY[2]=EION[2]*SCLOBY
EOBY[3]=EION[3]*SCLOBY
EOBY[4]=EION[4]*SCLOBY
EOBY[5]=EION[5]*SCLOBY
EOBY[6]=EION[6]*SCLOBY
EOBY[7]=EION[7]*SCLOBY
EOBY[8]=EION[8]*SCLOBY
EOBY[9]=EION[9]*0.63
#
DO 44 JK=1,8
LEGAS(JK)=0
ISHELL(JK)=0
NC0(JK)=0
EC0(JK)=0.0
WKLM(JK)=0.0
EFL(JK)=0.0
NG1(JK)=0
EG1(JK)=0.0
NG2(JK)=0
EG2(JK)=0.0
44 CONTINUE
# DOUBLE CAHRGED IONS STATES (EXTRA ELECTRON)
NC0[7]=1
EC0[7]=6.0
# FLUORESCENCE DATA
LEGAS[9]=1
ISHELL[9]=1
NC0[9]=2
EC0[9]=253.
WKLM[9]=0.0026
EFL[9]=273.
NG1[9]=1
EG1[9]=253.
NG2[9]=2
EG2[9]=5.
# OFFSET ENERGY FOR IONISATION ELECTRON ANGULAR DISTRIBUTION
DO 776 J=1,NION
DO 777 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=-0.1625135
EIN[2]=0.1625135
EIN[3]=-0.1901087
EIN[4]=0.1901087
EIN[5]=0.3615974
EIN[6]=0.3743690
EIN[7]=0.544
EIN[8]=0.736
EIN[9]=7.50
EIN[10]=7.80
EIN[11]=8.50
EIN[12]=8.75
EIN[13]=9.25
EIN[14]=9.75
EIN[15]=10.0
EIN[16]=10.25
EIN[17]=10.75
EIN[18]=11.25
EIN[19]=11.75
EIN[20]=12.25
EIN[21]=12.75
EIN[22]=13.25
EIN[23]=13.4
EIN[24]=13.7
EIN[25]=13.75
EIN[26]=14.25
EIN[27]=14.75
EIN[28]=15.25
EIN[29]=15.75
EIN[30]=16.0
EIN[31]=16.14
EIN[32]=16.8
EIN[33]=20.5
EIN[34]=22.0
EIN[35]=0.0
EIN[36]=0.0
# OFFSET ENERGY FOR EXCITATION LEVELS ANGULAR DISTRIBUTION
DO 3 NL=1,NIN
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 3
# endif
651 CONTINUE
3 CONTINUE
#***********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# LEVELS ARE DISSOCIATIVE SO DO NOT GIVE PENNING TRANSFERS
for 4 K in range(1,34):
DO 4 L=1,3
4 PENFRA[L,K]=0.0
if(IPEN == 0):
GO TO 6
DO 5 KDUM=10,14
if(PENFRA[1,KDUM] == 0.0):
GO TO 5
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
5 CONTINUE
#***********************************************************************
#
6 SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC METHANE '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC METHANE '
# endif
SCRPT[3]=' IONISATION CH4 + ELOSS= 12.65 '
SCRPT[4]=' IONISATION CH3 + ELOSS= 14.25 '
SCRPT[5]=' IONISATION CH2 + ELOSS= 15.2 '
SCRPT[6]=' IONISATION H + ELOSS= 22.2 '
SCRPT[7]=' IONISATION CH + ELOSS= 23.5 '
SCRPT[8]=' IONISATION C + ELOSS= 25.2 '
SCRPT[9]=' IONISATION 2(+) ELOSS= 27.0 '
SCRPT[10]=' IONISATION H2 + ELOSS= 27.9 '
SCRPT[11]=' IONISATION CARBON K-SHELL ELOSS=285.0 '
SCRPT[12]=' ATTACHMENT (CH2- ION ONLY) '
SCRPT[13]=' '
SCRPT[14]=' '
SCRPT[15]=' VIBRATION V4 SUPERELASTIC ELOSS=-0.162513'
SCRPT[16]=' VIBRATION V4 ELOSS= 0.162513'
SCRPT[17]=' VIBRATION V2 SUPERELASTIC ELOSS=-0.190109'
SCRPT[18]=' VIBRATION V2 ELOSS= 0.190109'
SCRPT[19]=' VIBRATION V1 ELOSS= 0.361597'
SCRPT[20]=' VIBRATION V3 ELOSS= 0.374369'
SCRPT[21]=' VIBRATION HARMONICS NV1+NV3 ELOSS= 0.544 '
SCRPT[22]=' VIBRATION HARMONICS NV2+NV3 ELOSS= 0.736 '
SCRPT[23]=' EXCITATION TRIPLET DISSOCIATION ELOSS= 7.5 '
SCRPT[24]=' ATTACHMENT - DEATTACHMENT ELOSS= 7.8 '
SCRPT[25]=' EXCITATION TRIPLET DISSOCIATION ELOSS= 8.5 '
SCRPT[26]=' EXCITATION SINGLET DISSOCIATION ELOSS= 8.75 '
SCRPT[27]=' EXCITATION SINGLET DISSOCIATION ELOSS= 9.25 '
SCRPT[28]=' EXCITATION SINGLET DISSOCIATION ELOSS= 9.75 '
SCRPT[29]=' EXCITATION TRIPLET DISSOCIATION ELOSS= 10.0 '
SCRPT[30]=' EXCITATION SINGLET DISSOCIATION ELOSS= 10.25 '
SCRPT[31]=' EXCITATION SINGLET DISSOCIATION ELOSS= 10.75 '
SCRPT[32]=' EXCITATION SINGLET DISSOCIATION ELOSS= 11.25 '
SCRPT[33]=' EXCITATION SINGLET DISSOCIATION ELOSS= 11.75 '
SCRPT[34]=' EXCITATION SINGLET DISSOCIATION ELOSS= 12.25 '
SCRPT[35]=' EXCITATION SINGLET DISSOCIATION ELOSS= 12.75 '
SCRPT[36]=' EXCITATION SINGLET DISSOCIATION ELOSS= 13.25 '
SCRPT[37]=' EXCITATION A2D TO GROUND STATE. ELOSS= 13.4 '
SCRPT[38]=' EXCITATION B2PI TO GROUND STATE ELOSS= 13.7 '
SCRPT[39]=' EXCITATION SINGLET DISSOCIATION ELOSS= 13.75 '
SCRPT[40]=' EXCITATION SINGLET DISSOCIATION ELOSS= 14.25 '
SCRPT[41]=' EXCITATION SINGLET DISSOCIATION ELOSS= 14.75 '
SCRPT[42]=' EXCITATION SINGLET DISSOCIATION ELOSS= 15.25 '
SCRPT[43]=' EXCITATION SINGLET DISSOCIATION ELOSS= 15.75 '
SCRPT[44]=' EXC. OF POSITIVE ION LEVELS ELOSS= 16.0 '
SCRPT[45]=' EXCITATION H(ALPHA) ELOSS= 16.14 '
SCRPT[46]=' EXCITATION H(BETA) ELOSS= 16.8 '
SCRPT[47]=' EXCITATION SINGLET DISSOCIATION ELOSS= 20.25 '
SCRPT[48]=' EXCITATION SINGLET DISSOCIATION ELOSS= 22.0 '
SCRPT[49]=' BREMSSTRAHLUNG FROM CARBON ATOM '
SCRPT[50]=' BREMSSTRAHLUNG FROM HYDROGEN ATOM '
# CALC LEVEL POPULATIONS
APOPV4=DEGV4*math.exp(EIN[1]/AKT)
APOPV2=DEGV2*math.exp(EIN[3]/AKT)
APOPGS=1.0
APOPSUM=APOPGS+APOPV4+APOPV2
APOPGS=1.0/APOPSUM
APOPV4=APOPV4/APOPSUM
APOPV2=APOPV2/APOPSUM
# RENORMALISE GROUND STATE TO ALLOW FOR INCREASED EXCITATION X-SEC
# FROM EXCITED VIBRATIONAL STATE ( EXACT FOR TWICE GROUND STATE XSEC)
APOPGS=1.0
#
# EN=-ESTEP/2.0
DO 1000 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# USE LOG INTERPOLATION FOR ELASTIC
if(EN <= XEN[2]:
) :
QELA=26.7D-16
QMOM=26.7D-16
PQ2=0.0
GO TO 30
# endif
DO 10 J=2,N
if(EN <= XEN[J]:
) GO TO 11
10 CONTINUE
J=N
11 YXJ=math.log(YELT[J])
YXJ1=math.log(YELT[J-1])
XNJ=math.log(XEN[J])
XNJ1=math.log(XEN[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QELA=math.exp(A*math.log(EN)+B)*1.e-16
YXJ=math.log(YELM[J])
YXJ1=math.log(YELM[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QMOM=math.exp(A*math.log(EN)+B)*1.e-16
#
YXJ=math.log(YEPS[J])
YXJ1=math.log(YEPS[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
PQ2=math.exp(A*math.log(EN)+B)
# EPSILON =1-YEPS
PQ2=1.00-PQ2
30 CONTINUE
PQ1=0.5+(QELA-QMOM)/QELA
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
# IONISATION TO CH4 +
QION[1][I]=0.0
PEQION[1][I]=0.5
if(NANISO == 2):
PEQION[1][I]=0.0
if(EN < EION[1]:
) GO TO 110
if(EN > XINF(NIONF):
) GO TO 103
DO 101 J=2,NIONF
if(EN <= XINF[J]:
) GO TO 102
101 CONTINUE
J=NIONF
102 A=(YINF[J]-YINF[J-1])/(XINF[J]-XINF[J-1])
B=(XINF[J-1]*YINF[J]-XINF[J]*YINF[J-1])/(XINF[J-1]-XINF[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 104
# USE BORN BETHE X-SECTION ABOVE XINF(NIONF) EV
103 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.4594
104 CONTINUE
if(EN <= (2.0*EION[1]:
)) GO TO 110
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# IONISATION TO CH3 +
110 QION[2][I]=0.0
PEQION[2][I]=0.5
if(NANISO == 2):
PEQION[2][I]=0.0
if(EN < EION[2]:
) GO TO 120
if(EN > XINF1(NIONF1):
) GO TO 113
DO 111 J=2,NIONF1
if(EN <= XINF1[J]:
) GO TO 112
111 CONTINUE
J=NIONF1
112 A=(YINF1[J]-YINF1[J-1])/(XINF1[J]-XINF1[J-1])
B=(XINF1[J-1]*YINF1[J]-XINF1[J]*YINF1[J-1])/(XINF1[J-1]-XINF1[J])
QION[2][I]=(A*EN+B)*1.e-16
GO TO 114
# USE BORN BETHE X-SECTION ABOVE XINF1(NIONF1) EV
113 QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.3716
114 CONTINUE
if(EN <= (2.0*EION[2]:
)) GO TO 120
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# IONISATION TO CH2 +
120 QION[3][I]=0.0
PEQION[3][I]=0.5
if(NANISO == 2):
PEQION[3][I]=0.0
if(EN < EION[3]:
) GO TO 130
if(EN > XINF2(NIONF2):
) GO TO 123
DO 121 J=2,NIONF2
if(EN <= XINF2[J]:
) GO TO 122
121 CONTINUE
J=NIONF2
122 A=(YINF2[J]-YINF2[J-1])/(XINF2[J]-XINF2[J-1])
B=(XINF2[J-1]*YINF2[J]-XINF2[J]*YINF2[J-1])/(XINF2[J-1]-XINF2[J])
QION[3][I]=(A*EN+B)*1.e-16
GO TO 124
# USE BORN BETHE X-SECTION ABOVE XINF2(NIONF2) EV
123 QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.06312
124 CONTINUE
if(EN <= (2.0*EION[3]:
)) GO TO 130
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# IONISATION TO H +
130 QION[4][I]=0.0
PEQION[4][I]=0.5
if(NANISO == 2):
PEQION[4][I]=0.0
if(EN < EION[4]:
) GO TO 140
if(EN > XINF3(NIONF3):
) GO TO 133
DO 131 J=2,NIONF3
if(EN <= XINF3[J]:
) GO TO 132
131 CONTINUE
J=NIONF3
132 A=(YINF3[J]-YINF3[J-1])/(XINF3[J]-XINF3[J-1])
B=(XINF3[J-1]*YINF3[J]-XINF3[J]*YINF3[J-1])/(XINF3[J-1]-XINF3[J])
QION[4][I]=(A*EN+B)*1.e-16
GO TO 134
# USE BORN BETHE X-SECTION ABOVE XINF3(NIONF3) EV
133 QION[4][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0664
134 CONTINUE
if(EN <= (2.0*EION[4]:
)) GO TO 140
PEQION[4][I]=PEQEL[2][(I-IOFFION[4]])
# IONISATION TO CH +
140 QION[5][I]=0.0
PEQION[5][I]=0.5
if(NANISO == 2):
PEQION[5][I]=0.0
if(EN < EION[5]:
) GO TO 150
if(EN > XINF4(NIONF4):
) GO TO 143
DO 141 J=2,NIONF4
if(EN <= XINF4[J]:
) GO TO 142
141 CONTINUE
J=NIONF4
142 A=(YINF4[J]-YINF4[J-1])/(XINF4[J]-XINF4[J-1])
B=(XINF4[J-1]*YINF4[J]-XINF4[J]*YINF4[J-1])/(XINF4[J-1]-XINF4[J])
QION[5][I]=(A*EN+B)*1.e-16
GO TO 144
# USE BORN BETHE X-SECTION ABOVE XINF4(NIONF4) EV
143 QION[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.02625
144 CONTINUE
if(EN <= (2.0*EION[5]:
)) GO TO 150
PEQION[5][I]=PEQEL[2][(I-IOFFION[5]])
# IONISATION TO C +
150 QION[6][I]=0.0
PEQION[6][I]=0.5
if(NANISO == 2):
PEQION[6][I]=0.0
if(EN < EION[6]:
) GO TO 160
if(EN > XINF5(NIONF5):
) GO TO 153
DO 151 J=2,NIONF5
if(EN <= XINF5[J]:
) GO TO 152
151 CONTINUE
J=NIONF5
152 A=(YINF5[J]-YINF5[J-1])/(XINF5[J]-XINF5[J-1])
B=(XINF5[J-1]*YINF5[J]-XINF5[J]*YINF5[J-1])/(XINF5[J-1]-XINF5[J])
QION[6][I]=(A*EN+B)*1.e-16
GO TO 154
# USE BORN BETHE X-SECTION ABOVE XINF5(NIONF5) EV
153 QION[6][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.00798
154 CONTINUE
if(EN <= (2.0*EION[6]:
)) GO TO 160
PEQION[6][I]=PEQEL[2][(I-IOFFION[6]])
# IONISATION TO DOUBLY POSITIVE CHARGED FINAL STATES
160 QION[7][I]=0.0
PEQION[7][I]=0.5
if(NANISO == 2):
PEQION[7][I]=0.0
if(EN < EION[7]:
) GO TO 170
if(EN > XINPP(NIONPP):
) GO TO 163
DO 161 J=2,NIONPP
if(EN <= XINPP[J]:
) GO TO 162
161 CONTINUE
J=NIONPP
162 A=(YINPP[J]-YINPP[J-1])/(XINPP[J]-XINPP[J-1])
B=(XINPP[J-1]*YINPP[J]-XINPP[J]*YINPP[J-1])/(XINPP[J-1]-XINPP[J])
QION[7][I]=(A*EN+B)*1.e-16
GO TO 164
# USE BORN BETHE X-SECTION ABOVE XINPP(NIONPP) EV
163 QION[7][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0095969
164 CONTINUE
if(EN <= (2.0*EION[7]:
)) GO TO 170
PEQION[7][I]=PEQEL[2][(I-IOFFION[7]])
# IONISATION TO H2 +
170 QION[8][I]=0.0
PEQION[8][I]=0.5
if(NANISO == 2):
PEQION[8][I]=0.0
if(EN < EION[8]:
) GO TO 180
if(EN > XINF6(NIONF6):
) GO TO 173
DO 171 J=2,NIONF6
if(EN <= XINF6[J]:
) GO TO 172
171 CONTINUE
J=NIONF6
172 A=(YINF6[J]-YINF6[J-1])/(XINF6[J]-XINF6[J-1])
B=(XINF6[J-1]*YINF6[J]-XINF6[J]*YINF6[J-1])/(XINF6[J-1]-XINF6[J])
QION[8][I]=(A*EN+B)*1.e-16
GO TO 174
# USE BORN BETHE X-SECTION ABOVE XINF6(NIONF6) EV
173 QION[8][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.00523
174 CONTINUE
if(EN <= (2.0*EION[8]:
)) GO TO 180
PEQION[8][I]=PEQEL[2][(I-IOFFION[8]])
# CALCULATE K-SHELL IONISATION
180 QION[9][I]=0.00
PEQION[9][I]=0.5
if(NANISO == 2):
PEQION[9][I]=0.0
if(EN <= EION[9]:
) GO TO 200
DO 192 J=2,NKSH
if(EN <= XKSH[J]:
) GO TO 193
192 CONTINUE
J=NKSH
193 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
QION[9][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EION[9]:
)) GO TO 194
PEQION[9][I]=PEQEL[2][(I-IOFFION[9]])
# COORECT IONISATION FOR SPLIT INTO K-SHELL
194 QSUM=0.0
DO 195 L=1,8
195 QSUM=QSUM+QION(L,I)
if(QSUM == 0.0):
GO TO 200
FAC=(QSUM-QION[9][I])/QSUM
DO 196 L=1,8
196 QION(L,I)=QION(L,I)*FAC
#
# ATTACHMENT
200 Q[4][I]=0.0
if(EN < XATT[1]:
) GO TO 250
if(EN > XATT[NATT1]:
) GO TO 250
DO 210 J=2,NATT1
if(EN <= XATT[J]:
) GO TO 220
210 CONTINUE
J=NATT1
220 A=(YATT[J]-YATT[J-1])/(XATT[J]-XATT[J-1])
B=(XATT[J-1]*YATT[J]-XATT[J]*YATT[J-1])/(XATT[J-1]-XATT[J])
Q[4][I]=(A*EN+B)*1.e-16
# COUNTING IONISATION
250 Q[5][I]=0.0
# PEQEL[5][I]=0.5
# IF(NANISO == 2) PEQEL[5][I]=0.0
# IF(EN <= E(3)) GO TO 300
# IF(EN > XION(NIOND)) GO TO 280
# DO 260 J=2,NIOND
# IF(EN <= XION[J]) GO TO 270
# 260 CONTINUE
# J=NIOND
# 270 A=(YINC[J]-YINC[J-1])/(XION[J]-XION[J-1])
# B=(XION[J-1]*YINC[J]-XION[J]*YINC[J-1])/(XION[J-1]-XION[J])
# Q[5][I]=(A*EN+B)*1.e-16
# GO TO 290
# USE BORN-BETHE X-SECTION ABOVE XION(NIOND) EV
# 280 Q[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
# 290 CONTINUE
# IF(EN <= (2.0*E(3))) GO TO 295
# PEQEL[5][I]=PEQEL[2][(I-IOFFION[1]])
# 295 CONTINUE
#
300 Q[6][I]=0.0
# V4 SUPERELASTIC ISOTROPIC
QIN[1][I]=0.0
PEQIN[1][I]=0.50
if(EN <= 0.0):
GO TO 350
if((EN+EIN[2]:
) > XVBV4(NVIBV4)) GO TO 325
DO 310 J=2,NVIBV4
if((EN+EIN[2]:
) <= XVBV4[J]) GO TO 320
310 CONTINUE
J=NVIBV4
320 A=(YVBV4[J]-YVBV4[J-1])/(XVBV4[J]-XVBV4[J-1])
B=(XVBV4[J-1]*YVBV4[J]-XVBV4[J]*YVBV4[J-1])/(XVBV4[J-1]-XVBV4[J])
QIN[1][I]=(EN+EIN[2])*(A*(EN+EIN[2])+B)/EN
GO TO 326
325 QIN[1][I]=YVBV4(NVIBV4)*(XVBV4(NVIBV4)/(EN+EIN[2]))**2
326 EFAC=math.sqrt(1.0-(EIN[1]/EN))
QIN[1][I]=QIN[1][I]+0.076*math.log((EFAC+1.0)/(EFAC-1.0))/EN
QIN[1][I]=QIN[1][I]*APOPV4*1.e-16
QIN[1][I]=QIN[1][I]/DEGV4
350 CONTINUE
# V4 ANISOTROPIC
QIN[2][I]=0.0
PEQIN[2][I]=0.50
if(EN <= EIN[2]:
) GO TO 400
if(EN > XVBV4(NVIBV4):
) GO TO 375
DO 360 J=2,NVIBV4
if(EN <= XVBV4[J]:
) GO TO 370
360 CONTINUE
J=NVIBV4
370 A=(YVBV4[J]-YVBV4[J-1])/(XVBV4[J]-XVBV4[J-1])
B=(XVBV4[J-1]*YVBV4[J]-XVBV4[J]*YVBV4[J-1])/(XVBV4[J-1]-XVBV4[J])
QIN[2][I]=A*EN+B
GO TO 376
375 QIN[2][I]=YVBV4(NVIBV4)*(XVBV4(NVIBV4)/EN)**2
376 EFAC=math.sqrt(1.0-(EIN[2]/EN))
ADIP=0.076*math.log((1.0+EFAC)/(1.0-EFAC))/EN
ELF=EN-EIN[2]
FWD=math.log((EN+ELF)/(EN+ELF-2.0*math.sqrt(EN*ELF)))
BCK=math.log((EN+ELF+2.0*math.sqrt(EN*ELF))/(EN+ELF))
# RATIO OF MT TO TOTAL X-SECT FOR RESONANCE PART =RAT
XMT=((1.5-FWD/(FWD+BCK))*ADIP+RAT*QIN[2][I])*APOPGS*1.e-16
QIN[2][I]=(QIN[2][I]+ADIP)*APOPGS*1.e-16
PEQIN[2][I]=0.5+(QIN[2][I]-XMT)/QIN[2][I]
# V2 SUPERELASTIC ISOTROPIC
400 QIN[3][I]=0.0
PEQIN[3][I]=0.50
if(EN <= 0.0):
GO TO 450
if((EN+EIN[4]:
) > XVBV2(NVIBV2)) GO TO 421
DO 410 J=2,NVIBV2
if((EN+EIN[4]:
) <= XVBV2[J]) GO TO 420
410 CONTINUE
J=NVIBV2
420 A=(YVBV2[J]-YVBV2[J-1])/(XVBV2[J]-XVBV2[J-1])
B=(XVBV2[J-1]*YVBV2[J]-XVBV2[J]*YVBV2[J-1])/(XVBV2[J-1]-XVBV2[J])
QIN[3][I]=(EN+EIN[4])*(A*(EN+EIN[4])+B)/EN
QIN[3][I]=QIN[3][I]*APOPV2*1.e-16
QIN[3][I]=QIN[3][I]/DEGV2
GO TO 450
# SCALE BY 1/E**2 ABOVE XVBV2(NVIBV2) EV
421 QIN[3][I]=YVBV2(NVIBV2)*(XVBV2(NVIBV2)/(EN+EIN[4]))**2*APOPV2*1.e-16/DEGV2
# V2 ISOTROPIC
450 QIN[4][I]=0.0
PEQIN[4][I]=0.50
if(EN <= EIN[4]:
) GO TO 500
if(EN > XVBV2(NVIBV2):
) GO TO 471
DO 460 J=2,NVIBV2
if(EN <= XVBV2[J]:
) GO TO 470
460 CONTINUE
J=NVIBV2
470 A=(YVBV2[J]-YVBV2[J-1])/(XVBV2[J]-XVBV2[J-1])
B=(XVBV2[J-1]*YVBV2[J]-XVBV2[J]*YVBV2[J-1])/(XVBV2[J-1]-XVBV2[J])
QIN[4][I]=(A*EN+B)*APOPGS*1.e-16
GO TO 500
# SCALE BY 1/E**2 ABOVE XVBV2(NVIBV2) EV
471 QIN[4][I]=YVBV2(NVIBV2)*(XVBV2(NVIBV2)/EN)**2*APOPGS*1.e-16
# V1 ISOTROPIC
500 QIN[5][I]=0.0
PEQIN[5][I]=0.50
if(EN <= EIN[5]:
) GO TO 550
if(EN > XVBV1(NVIBV1):
) GO TO 521
DO 510 J=2,NVIBV1
if(EN <= XVBV1[J]:
) GO TO 520
510 CONTINUE
J=NVIBV1
520 A=(YVBV1[J]-YVBV1[J-1])/(XVBV1[J]-XVBV1[J-1])
B=(XVBV1[J-1]*YVBV1[J]-XVBV1[J]*YVBV1[J-1])/(XVBV1[J-1]-XVBV1[J])
QIN[5][I]=(A*EN+B)*1.e-16
GO TO 550
# SCALE BY 1/E**2 ABOVE XVBV1(NVIBV1) EV
521 QIN[5][I]=YVBV1(NVIBV1)*(XVBV1(NVIBV1)/EN)**2*1.e-16
# V3 ANISOTROPIC
550 QIN[6][I]=0.0
PEQIN[6][I]=0.50
# PEQIN[6][I]=0.00
if(EN <= EIN[6]:
) GO TO 600
if(EN > XVBV3(NVIBV3):
) GO TO 575
DO 560 J=2,NVIBV3
if(EN <= XVBV3[J]:
) GO TO 570
560 CONTINUE
J=NVIBV3
570 A=(YVBV3[J]-YVBV3[J-1])/(XVBV3[J]-XVBV3[J-1])
B=(XVBV3[J-1]*YVBV3[J]-XVBV3[J]*YVBV3[J-1])/(XVBV3[J-1]-XVBV3[J])
QIN[6][I]=A*EN+B
GO TO 576
575 QIN[6][I]=YVBV3(NVIBV3)*(XVBV3(NVIBV3)/EN)**2
576 EFAC=math.sqrt(1.0-(EIN[6]/EN))
ADIP=0.076*math.log((1.0+EFAC)/(1.0-EFAC))/EN
ELF=EN-EIN[6]
FWD=math.log((EN+ELF)/(EN+ELF-2.0*math.sqrt(EN*ELF)))
BCK=math.log((EN+ELF+2.0*math.sqrt(EN*ELF))/(EN+ELF))
# RATIO OF MT TO TOTAL X-SECT FOR RESONANCE PART =RAT
XMT=((1.5-FWD/(FWD+BCK))*ADIP+RAT*QIN[6][I])*1.e-16
QIN[6][I]=(ADIP+QIN[6][I])*1.e-16
PEQIN[6][I]=0.5+(QIN[6][I]-XMT)/QIN[6][I]
# VIBRATION HARMONICS 1 ISOTROPIC
600 QIN[7][I]=0.0
PEQIN[7][I]=0.50
if(EN <= EIN[7]:
) GO TO 650
if(EN > XVBH1(NVIBH1):
) GO TO 621
DO 610 J=2,NVIBH1
if(EN <= XVBH1[J]:
) GO TO 620
610 CONTINUE
J=NVIBH1
620 A=(YVBH1[J]-YVBH1[J-1])/(XVBH1[J]-XVBH1[J-1])
B=(XVBH1[J-1]*YVBH1[J]-XVBH1[J]*YVBH1[J-1])/(XVBH1[J-1]-XVBH1[J])
QIN[7][I]=(A*EN+B)*1.e-16
GO TO 650
# SCALE BY 1/E**2 ABOVE XVBH1(NVBH1) EV
621 QIN[7][I]=YVBH1(NVIBH1)*(XVBH1(NVIBH1)/EN)**2*1.e-16
# VIBRATION HARMONICS 2 ISOTROPIC
650 QIN[8][I]=0.0
PEQIN[8][I]=0.50
if(EN <= EIN[8]:
) GO TO 700
if(EN > XVBH2(NVIBH2):
) GO TO 671
DO 660 J=2,NVIBH2
if(EN <= XVBH2[J]:
) GO TO 670
660 CONTINUE
J=NVIBH2
670 A=(YVBH2[J]-YVBH2[J-1])/(XVBH2[J]-XVBH2[J-1])
B=(XVBH2[J-1]*YVBH2[J]-XVBH2[J]*YVBH2[J-1])/(XVBH2[J-1]-XVBH2[J])
QIN[8][I]=(A*EN+B)*1.e-16
GO TO 700
# SCALE BY 1/E**2 ABOVE XVBH2(NVIBH2) EV
671 QIN[8][I]=YVBH2(NVIBH2)*(XVBH2(NVIBH2)/EN)**2*1.e-16
# TRIPLET DISSOCIATION 7.5EV
700 QIN[9][I]=0.0
PEQIN[9][I]=0.0
if(EN <= EIN[9]:
) GO TO 705
if(EN > XTR1(NTRP1):
) GO TO 703
DO 701 J=2,NTRP1
if(EN <= XTR1[J]:
) GO TO 702
701 CONTINUE
J=NTRP1
702 A=(YTR1[J]-YTR1[J-1])/(XTR1[J]-XTR1[J-1])
B=(XTR1[J-1]*YTR1[J]-XTR1[J]*YTR1[J-1])/(XTR1[J-1]-XTR1[J])
QIN[9][I]=(A*EN+B)*1.e-16
GO TO 704
# SCALE BY 1/E**2 ABOVE XTR1(NTRP1) EV
703 QIN[9][I]=YTR1(NTRP1)*(XTR1(NTRP1)/EN)**2*1.e-16
704 if(EN <= (3.0*EIN[9])) GO TO 705
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]
# ATTACHMENT - DEATTACHMENT RESONANCE VIA H- AT 9.8EV RESONANCE
705 QIN[10][I]=0.0
PEQIN[10][I]=0.0
if(EN <= EIN[10]:
) GO TO 708
if(EN > XDET(NDET):
) GO TO 708
DO 706 J=2,NDET
if(EN <= XDET[J]:
) GO TO 707
706 CONTINUE
J=NDET
707 A=(YDET[J]-YDET[J-1])/(XDET[J]-XDET[J-1])
B=(XDET[J-1]*YDET[J]-XDET[J]*YDET[J-1])/(XDET[J-1]-XDET[J])
QIN[10][I]=(A*EN+B)*1.e-16
if(EN <= (3.0*EIN[10]:
)) GO TO 708
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
# TRIPLET DISSOCIATION AT 8.5 EV
708 QIN[11][I]=0.0
PEQIN[11][I]=0.0
if(EN <= EIN[11]:
) GO TO 713
if(EN > XTR2(NTRP2):
) GO TO 711
DO 709 J=2,NTRP2
if(EN <= XTR2[J]:
) GO TO 710
709 CONTINUE
J=NTRP2
710 A=(YTR2[J]-YTR2[J-1])/(XTR2[J]-XTR2[J-1])
B=(XTR2[J-1]*YTR2[J]-XTR2[J]*YTR2[J-1])/(XTR2[J-1]-XTR2[J])
QIN[11][I]=(A*EN+B)*1.e-16
GO TO 712
# SCALE BY 1/E**2 ABOVE XTR2(NTRP2) EV
711 QIN[11][I]=YTR2(NTRP2)*(XTR2(NTRP2)/EN)**2*1.e-16
712 if(EN <= (3.0*EIN[11])) GO TO 713
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
# SINGLET DISSOCIATION AT 8.75 EV USE BEF SCALING WITH F=0.0271
713 QIN[12][I]=0.0
PEQIN[12][I]=0.0
if(EN <= EIN[12]:
) GO TO 714
QIN[12][I]=0.0271/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[12]+E[3])*1.029
if(QIN[12][I]:
< 0.0) QIN[12][I]=0.0
if(EN <= (3.0*EIN[12]:
)) GO TO 714
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# SINGLET DISSOCIATION AT 9.25 EV USE BEF SCALING WITH F=0.0442
714 QIN[13][I]=0.0
PEQIN[13][I]=0.0
if(EN <= EIN[13]:
) GO TO 715
QIN[13][I]=0.0442/(EIN[13]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[13]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[13]+E[3])*1.027
if(QIN[13][I]:
< 0.0) QIN[13][I]=0.0
if(EN <= (3.0*EIN[13]:
)) GO TO 715
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# SINGLET DISSOCIATION AT 9.75 EV USE BEF SCALING WITH F=0.0859
715 QIN[14][I]=0.0
PEQIN[14][I]=0.0
if(EN <= EIN[14]:
) GO TO 716
QIN[14][I]=0.0859/(EIN[14]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[14]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[14]+E[3])*1.026
if(QIN[14][I]:
< 0.0) QIN[14][I]=0.0
if(EN <= (3.0*EIN[14]:
)) GO TO 716
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# TRIPLET DISSOCIATION AT 10.0EV
716 QIN[15][I]=0.0
PEQIN[15][I]=0.0
if(EN <= EIN[15]:
) GO TO 721
if(EN > XTR3(NTRP3):
) GO TO 719
DO 717 J=2,NTRP3
if(EN <= XTR3[J]:
) GO TO 718
717 CONTINUE
J=NTRP3
718 A=(YTR3[J]-YTR3[J-1])/(XTR3[J]-XTR3[J-1])
B=(XTR3[J-1]*YTR3[J]-XTR3[J]*YTR3[J-1])/(XTR3[J-1]-XTR3[J])
QIN[15][I]=(A*EN+B)*1.e-16
GO TO 720
# SCALE BY 1/E**2 ABOVE XTR3(NTRP3) EV
719 QIN[15][I]=YTR3(NTRP3)*(XTR3(NTRP3)/EN)**2*1.e-16
720 if(EN <= (3.0*EIN[15])) GO TO 721
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# SINGLET DISSOCIATION AT 10.25 EV USE BEF SCALING WITH F=0.0906
721 QIN[16][I]=0.00
PEQIN[16][I]=0.0
if(EN <= EIN[16]:
) GO TO 722
QIN[16][I]=0.0906/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[16]+E[3])*1.024
if(QIN[16][I]:
< 0.0) QIN[16][I]=0.0
if(EN <= (3.0*EIN[16]:
)) GO TO 722
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# SINGLET DISSOCIATION AT 10.75 EV USE BEF SCALING WITH F=0.0841
722 QIN[17][I]=0.0
PEQIN[17][I]=0.0
if(EN <= EIN[17]:
) GO TO 723
QIN[17][I]=0.0841/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[17]+E[3])*1.023
if(QIN[17][I]:
< 0.0) QIN[17][I]=0.0
if(EN <= (3.0*EIN[17]:
)) GO TO 723
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# SINGLET DISSOCIATION AT 11.25 EV USE BEF SCALING WITH F=0.1036
723 QIN[18][I]=0.0
PEQIN[18][I]=0.0
if(EN <= EIN[18]:
) GO TO 724
QIN[18][I]=0.1036/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])*1.022
if(QIN[18][I]:
< 0.0) QIN[18][I]=0.0
if(EN <= (3.0*EIN[18]:
)) GO TO 724
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# SINGLET DISSOCIATION AT 11.75 EV USE BEF SCALING WITH F=0.1460
724 QIN[19][I]=0.0
PEQIN[19][I]=0.0
if(EN <= EIN[19]:
) GO TO 725
QIN[19][I]=0.1460/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[19]+E[3])*1.021
if(QIN[19][I]:
< 0.0) QIN[19][I]=0.0
if(EN <= (3.0*EIN[19]:
)) GO TO 725
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# SINGLET DISSOCIATION AT 12.25 EV USE BEF SCALING WITH F=0.1548
725 QIN[20][I]=0.0
PEQIN[20][I]=0.0
if(EN <= EIN[20]:
) GO TO 726
QIN[20][I]=0.1548/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+E[3])*1.020
if(QIN[20][I]:
< 0.0) QIN[20][I]=0.0
if(EN <= (3.0*EIN[20]:
)) GO TO 726
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# SINGLET DISSOCIATION AT 12.75 EV USE BEF SCALING WITH F=0.1927
726 QIN[21][I]=0.0
PEQIN[21][I]=0.0
if(EN <= EIN[21]:
) GO TO 727
QIN[21][I]=0.1927/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[21]+E[3])*1.020
if(QIN[21][I]:
< 0.0) QIN[21][I]=0.0
if(EN <= (3.0*EIN[21]:
)) GO TO 727
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# SINGLET DISSOCIATION AT 13.25 EV USE BEF SCALING WITH F=0.1981
727 QIN[22][I]=0.0
PEQIN[22][I]=0.0
if(EN <= EIN[22]:
) GO TO 728
QIN[22][I]=0.1981/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[22]+E[3])*1.019
if(QIN[22][I]:
< 0.0) QIN[22][I]=0.0
if(EN <= (3.0*EIN[22]:
)) GO TO 728
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# DISSOCIATIVE EXC TO STATES DECAYING VIA CH(A2DELTA TO G.S.)
728 QIN[23][I]=0.0
PEQIN[23][I]=0.0
if(EN <= EIN[23]:
) GO TO 731
if(EN > XCHD[NCHD]):
GO TO 7311
DO 729 J=2,NCHD
if(EN <= XCHD[J]):
GO TO 730
729 CONTINUE
J=NCHD
730 A=(YCHD[J]-YCHD[J-1])/(XCHD[J]-XCHD[J-1])
B=(XCHD[J-1]*YCHD[J]-XCHD[J]*YCHD[J-1])/(XCHD[J-1]-XCHD[J])
QIN[23][I]=(A*EN+B)*1.e-16
GO TO 7312
# ABOVE XCHD[NCHD] EV SCALE BY 1/E
7311 QIN[23][I]=YCHD[NCHD]*(XCHD[NCHD]/EN)*1.e-16
7312 if(EN <= (3.0*EIN[23])) GO TO 731
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# DISSOCIATIVE EXC TO STATES DECAYING VIA CH(B2SIGMA- TO G.S.)
731 QIN[24][I]=0.0
PEQIN[24][I]=0.0
if(EN <= EIN[24]:
) GO TO 734
if(EN > XCHB[NCHB]):
GO TO 7341
DO 732 J=2,NCHB
if(EN <= XCHB[J]):
GO TO 733
732 CONTINUE
J=NCHB
733 A=(YCHB[J]-YCHB[J-1])/(XCHB[J]-XCHB[J-1])
B=(XCHB[J-1]*YCHB[J]-XCHB[J]*YCHB[J-1])/(XCHB[J-1]-XCHB[J])
QIN[24][I]=(A*EN+B)*1.e-16
GO TO 7342
# ABOVE XCHB[NCHB] EV SCALE BY 1/E
7341 QIN[24][I]=YCHB[NCHB]*(XCHB[NCHB]/EN)*1.0D-16
7342 if(EN <= (3.0*EIN[24])) GO TO 734
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# SINGLET DISSOCIATION AT 13.75 EV USE BEF SCALING WITH F=0.1628
734 QIN[25][I]=0.0
PEQIN[25][I]=0.0
if(EN <= EIN[25]:
) GO TO 735
QIN[25][I]=0.1628/(EIN[25]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[25]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[25]+E[3])*1.018
if(QIN[25][I]:
< 0.0) QIN[25][I]=0.0
if(EN <= (3.0*EIN[25]:
)) GO TO 735
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
# SINGLET DISSOCIATION AT 14.25 EV USE BEF SCALING WITH F=0.1093
735 QIN[26][I]=0.0
PEQIN[26][I]=0.0
if(EN <= EIN[26]:
) GO TO 736
QIN[26][I]=0.1093/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])*1.018
if(QIN[26][I]:
< 0.0) QIN[26][I]=0.0
if(EN <= (3.0*EIN[26]:
)) GO TO 736
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# SINGLET DISSOCIATION AT 14.75 EV USE BEF SCALING WITH F=0.0628
736 QIN[27][I]=0.0
PEQIN[27][I]=0.0
if(EN <= EIN[27]:
) GO TO 737
QIN[27][I]=0.0628/(EIN[27]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[27]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[27]+E[3])*1.017
if(QIN[27][I]:
< 0.0) QIN[27][I]=0.0
if(EN <= (3.0*EIN[27]:
)) GO TO 737
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# SINGLET DISSOCIATION AT 15.25 EV USE BEF SCALING WITH F=0.0297
737 QIN[28][I]=0.0
PEQIN[28][I]=0.0
if(EN <= EIN[28]:
) GO TO 738
QIN[28][I]=0.0297/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+E[3])*1.016
if(QIN[28][I]:
< 0.0) QIN[28][I]=0.0
if(EN <= (3.0*EIN[28]:
)) GO TO 738
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# SINGLET DISSOCIATION AT 15.75 EV USE BEF SCALING WITH F=0.0074
738 QIN[29][I]=0.0
PEQIN[29][I]=0.0
if(EN <= EIN[29]:
) GO TO 7381
QIN[29][I]=0.0074/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+E[3])*1.016
if(QIN[29][I]:
< 0.0) QIN[29][I]=0.0
if(EN <= (3.0*EIN[29]:
)) GO TO 7381
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# ENERGY LOSS TO EXCITED POSITIVE IONS NOT ALREADY INCLUDED
7381 QIN[30][I]=0.0
PEQIN[30][I]=0.0
if(EN <= EIN[30]:
) GO TO 739
QIN[30][I]=0.5000/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])
if(QIN[30][I]:
< 0.0) QIN[30][I]=0.0
if(EN <= (3.0*EIN[30]:
)) GO TO 739
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# DISSOCIATIVE EXC TO STATES DECAYING VIA H(ALPHA)
739 QIN[31][I]=0.0
PEQIN[31][I]=0.0
if(EN <= EIN[31]:
) GO TO 742
if(EN > XHAL(NHAL):
) GO TO 7421
DO 740 J=2,NHAL
if(EN <= XHAL[J]:
) GO TO 741
740 CONTINUE
J=NHAL
741 A=(YHAL[J]-YHAL[J-1])/(XHAL[J]-XHAL[J-1])
B=(XHAL[J-1]*YHAL[J]-XHAL[J]*YHAL[J-1])/(XHAL[J-1]-XHAL[J])
QIN[31][I]=(A*EN+B)*1.e-16
GO TO 7422
# ABOVE XHAL(NHAL) EV SCALE BY 1/E
7421 QIN[31][I]=YHAL(NHAL)*(XHAL(NHAL)/EN)*1.e-16
7422 if(EN <= (3.0*EIN[31])) GO TO 742
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# DISSOCIATIVE EXC TO STATES DECAYING VIA H(BETA)
742 QIN[32][I]=0.0
PEQIN[32][I]=0.0
if(EN <= EIN[32]:
) GO TO 745
if(EN > XHBE(NHBE):
) GO TO 7451
DO 743 J=2,NHBE
if(EN <= XHBE[J]:
) GO TO 744
743 CONTINUE
J=NHBE
744 A=(YHBE[J]-YHBE[J-1])/(XHBE[J]-XHBE[J-1])
B=(XHBE[J-1]*YHBE[J]-XHBE[J]*YHBE[J-1])/(XHBE[J-1]-XHBE[J])
QIN[32][I]=(A*EN+B)*1.e-16
GO TO 7452
# ABOVE XHBE(NHBE) EV SCALE BY 1/E
7451 QIN[32][I]=YHBE(NHBE)*(XHBE(NHBE)/EN)*1.0D-16
7452 if(EN <= (3.0*EIN[32])) GO TO 745
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# SINGLET DISSOCIATION AT 20.50 EV USE BEF SCALING WITH F=0.0045
745 QIN[33][I]=0.0
PEQIN[33][I]=0.0
if(EN <= EIN[33]:
) GO TO 746
QIN[33][I]=0.0045/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+E[3])*1.037
if(QIN[33][I]:
< 0.0) QIN[33][I]=0.0
if(EN <= (3.0*EIN[33]:
)) GO TO 746
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# SINGLET DISSOCIATION AT 22.00 EV USE BEF SCALING WITH F=0.0045
746 QIN[34][I]=0.0
PEQIN[34][I]=0.0
if(EN <= EIN[34]:
) GO TO 747
QIN[34][I]=0.0045/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])*1.034
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.0
if(EN <= (3.0*EIN[34]:
)) GO TO 747
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
747 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTIONS
QIN[35][I]=0.0
QIN[36][I]=0.0
if(EN <= 1000.):
GO TO 800
DO 780 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 790
780 CONTINUE
J=NBREM
790 A=(math.log(Z6T[J])-math.log(Z6T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z6T[J])*EBRM[J-1]-math.log(Z6T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
A1=(math.log(Z1T[J])-math.log(Z1T[J-1]))/(EBRM[J]-EBRM[J-1])
B1=(math.log(Z1T[J])*EBRM[J-1]-math.log(Z1T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[35][I]=math.exp(A*EN+B)*1.e-24
QIN[36][I]=math.exp(A1*EN+B1)*4.e-24
800 CONTINUE
# WRITE(6,881) EN
# 881 print('EN=',D14.6)
# WRITE(6,882) QIN[1][I],QIN[2][I],QIN[3][I],QIN[4][I],QIN[5][I]
# WRITE(6,882) QIN[6][I],QIN[7][I],QIN[8][I],QIN[9][I],QIN[10][I]
# WRITE(6,882) QIN[11][I],QIN[12][I],QIN[13][I],QIN[14][I],QIN[15][I]
# WRITE(6,882) QIN[16][I],QIN[17][I],QIN[18][I],QIN[19][I],QIN[20][I]
# WRITE(6,882) QIN[21][I],QIN[22][I],QIN[23][I],QIN[24][I],QIN[25][I]
# WRITE(6,882) QIN[26][I],QIN[27][I],QIN[28][I],QIN[29][I],QIN[30][I]
# WRITE(6,882) QIN[31][I],QIN[32][I],QIN[33][I],QIN[34][I],QIN[35][I]
# 882 print(' QIN ',5'%.4f' % )
# WRITE(6,883) Q[2][I],Q[3][I],Q[4][I],Q[5][I]
# 883 print(' Q 2 3 4 5',4'%.4f' % )
# WRITE(6,884) QION[1][I],QION[2][I],QION[3][I]
# 884 print('QION 1 2 3 ',3'%.4f' % )
#
QSUP=QIN[1][I]+QIN[3][I]
QVIB=QIN[2][I]+QIN[4][I]+QIN[5][I]+QIN[6][I]+QIN[7][I]+QIN[8][I]
QDATT=QIN[10][I]
QSING=QIN[12][I]+QIN[13][I]+QIN[14][I]+QIN[16][I]+QIN[17][I]+QIN[18][I]+QIN[19][I]+QIN[20][I]+QIN[21][I]+QIN[22][I]+QIN[25][I]+QIN[26][I]+QIN[27][I]+QIN[28][I]+QIN[29][I]+QIN[30][I]+QIN[33][I]+QIN[34][I]
QTRIP=QIN[9][I]+QIN[11][I]+QIN[15][I]
QEXC=QIN[23][I]+QIN[24][I]+QIN[31][I]+QIN[32][I]
QTTT=QEXC+QTRIP+QSING+QDATT
QWINT=QION[2][I]+QTTT
QINEL=QSUP+QVIB+QDATT+QSING+QTRIP+QEXC+Q[5][I]+Q[4][I]
Q[1][I]=Q[2][I]+Q[5][I]+Q[4][I]+QTTT+QSUP+QVIB
QIONSUM=QION[1][I]+QION[2][I]+QION[3][I]+QION[4][I]+QION[5][I]+QION[6][I]+QION[7][I]+QION[8][I]+QION[8][I]+QION[9][I]
# Q[1][I]=Q[2][I]+Q[5][I]+Q[4][I]+QTTT+QSUP+QVIB+QIN[34][I]+QIN[35][I]
# WRITE(6,767) EN,Q[1][I],QSUP,QVIB,QDATT,QSING,QTRIP,QEXC,QTTT,QINEL
#767 print(' EN=',F9.2,' QTOT=','%.3f' %,' QSUP=','%.3f' %,' QVIB=','%.3f' %,/,
# /' QDATT=','%.3f' %,' QSING=','%.3f' %,' QTRIP=','%.3f' %,' QEXC=','%.3f' %,/,
# /' QTTT=','%.3f' %,' QINELSUM=','%.3f' %,/)
c WRITE(6,768) EN,QIONSUM
c 768 print(' EN=',F9.2,' QIONSUM=','%.3f' %)
#
1000 CONTINUE
# SAVE COMPUTE TIME
DO 1010 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 1011
# endif
1010 CONTINUE
1011 CONTINUE
if(EFINAL > 1000.):
NIN=36
#
return
# end
def GAS9(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(164),YMT(164),YEL(164),YEPS(164),XATT1[11],YATT1[11],XATT2[9],YATT2[9],XVIB1[29],YVIB1[29],XVIB2[28],YVIB2[28],XVIB3[28],YVIB3[28],XVIB4[46],YVIB4[46],XVIB5[16],YVIB5[16],XTR1[12],YTR1[12],XTR2[11],YTR2[11],XTR3[11],YTR3[11],IOFFN(250)
DIMENSION XNUL1[25],YNUL1[25],XNUL2[13],YNUL2[13],XNUL3[14],YNUL3[14]
DIMENSION XION1[31],YION1[31],XION2[31],YION2[31],XION3[31],YION3[31],XION4[30],YION4[30],XION5[29],YION5[29],XION6[29],YION6[29],XION7[26],YION7[26],XION8[26],YION8[26],XION9[25],YION9[25],XION10[24],YION10[24],XION11[24],YION11[24],XION12[24],YION12[24],XION13[23],YION13[23],XION14[21],YION14[21],XION15[21],YION15[21],XION16(83),YION16(83),XION[50],YIONG[50],YIONC[50],IOFFION[16]
DIMENSION Z1T[25],Z6T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
XEN=[0.00,.001,.002,.003,.004,.005,.007,0.01,.014,0.02,.025,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.11,0.12, 0.13,0.14,0.16,0.18,0.20,0.25,0.30,0.35,0.40,0.50,0.60,0.70,0.80,1.00,1.50,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,12.0,14.0,16.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
YMT=[32.0,31.0,29.0,27.0,26.0,25.0,23.0,20.0,17.6,15.2,13.0,11.2,7.25,4.70,3.25,2.40,1.80,1.40,1.15,1.10,1.08, 1.08,1.10,1.25,1.50,1.85,2.40,3.15,4.10,4.85,6.10,6.90,7.15,7.30,7.70,8.45,9.10,10.3,11.6,13.9,17.8,20.7,21.4,21.3,20.0,17.6,13.9,11.3,9.40,8.00,7.20,5.75,4.90,3.76,3.00,2.50,2.15,1.80,1.41,1.10,0.91,.770,.680,.540,.440,.370,.325,.280,.252,.200,.159, .127,.104,.0870,.0592,.0431,.0329,.0260,.0175,.0127,.00961,.00756,.00612,.00506,.00364,.00276,.00216,.00175,.00144,9.62e-4,6.91e-4,5.22e-4,4.10e-4,2.74e-4,1.97e-4,1.49e-4,1.17e-4,9.48e-5,7.85e-5,5.67e-5,4.31e-5,3.41e-5,2.77e-5,2.31e-5,1.57e-5,1.15e-5,8.88e-6,7.11e-6,4.93e-6,3.67e-6,2.87e-6,2.33e-6,1.94e-6,1.64e-6,1.24e-6,9.79e-7,7.98e-7,6.67e-7,5.68e-7,4.06e-7,3.06e-7,2.41e-7,1.95e-7,1.36e-7,1.01e-7,7.87e-8,6.30e-8,5.17e-8,4.32e-8,3.16e-8,2.42e-8,1.92e-8,1.56e-8,1.29e-8,8.67e-9,6.23e-9,4.71e-9,3.69e-9,2.45e-9,1.75e-9,1.31e-9,1.02e-9,8.19e-10,6.71e-10,4.75e-10,3.53e-10,2.73e-10,2.18e-10,1.77e-10,1.14e-10,7.99e-11,5.89e-11,4.52e-11,2.90e-11,2.02e-11,1.48e-11,1.14e-11,8.98e-12,7.28e-12,5.06e-12,3.71e-12,2.85e-12,2.25e-12,1.82e-12]
# ASSUME ELASTIC = MOMENTUM TRANSFER UP TO 3.0 EV (NO GOOD ELASTIC DATA)
YEL=[32.0,31.0,29.0,27.0,26.0,25.0,23.0,20.0,17.6,15.2,13.0,11.2,7.25,4.70,3.25,2.40,1.80,1.40,1.15,1.10,1.08, 1.08,1.10,1.25,1.50,1.85,2.40,3.15,4.10,4.85,6.10,6.90,7.15,7.30,7.70,8.45,9.10,10.3,15.2,18.9,23.4,27.2,29.6,31.9,31.0,30.1,27.7,25.9,24.1,23.3,22.1,20.0,17.3,13.4,11.9,10.7,9.85,9.02,7.40,6.25,5.50,4.95,4.50,3.90,3.43,3.04,2.74,2.49,2.29,1.97,1.73,1.54,1.39,1.27,1.04,.877,.760,.671,.544,.458,.395,.348,.311,.281,.235,.203,.178,.159,.144,.116,.0978,.0845,.0745,.0605,.0512,.0445,.0395,.0356,.0325,.0278,.0244,.0226,.0200,.0184,.0156,.0138,.0124,.0115,.0101,.00918,.00855,.00808,.00772,.00744,.00702,.00674,.00653,.00637,.00625,.00605,.00592,.00584,.00578,.00570,.00566,.00563,.00561,.00560,.00559,.00557,.00556,.00556,.00555,.00555,.00555,29*.00554]
YEPS=[38*1.0,.65352,.61534,.65007,.65056,.59839,.52532,.49651,.42242,.32895,.26232,.21931,.17939,.16529,.13630,.13322,.13133,.11165,.09963,.09005,.07893,.07377,.06576,.06017,.05510,.05287,.04673,.04198,.03896,.03770,.03497,.03403,.03050,.02667,.02302,.02024,.01805,.01418,.01167,.00990,.00860,.00681,.00563,.00480,.00418,.00370,.00332,.00276,.00235,.00205,.00182,.00163,.00130,.00108,.000924,.000806,.000641,.000531,.000452,.000393,.000348,3.11e-4,2.56e-4,2.17e-4,1.82e-4,1.65e-4,1.47e-4,1.15e-4,9.32e-5,7.80e-5,6.67e-5,5.10e-5,4.08e-5,3.36e-5,2.83e-5,2.43e-5,2.11e-5,1.65e-5,1.33e-5,1.10e-5,9.27e-6,7.94e-6,5.71e-6,4.29e-6,3.35e-6,2.69e-6,1.86e-6,1.36e-6,1.04e-6,8.19e-7,6.63e-7,5.48e-7,3.93e-7,2.95e-7,2.30e-7,1.84e-7,1.57e-7,9.87e-8,6.96e-8,5.16e-8,3.98e-8,2.58e-8,1.80e-8,1.33e-8,1.02e-8,8.06e-9,6.54e-9,4.53e-9,3.32e-9,2.53e-9,1.99e-9,1.61e-9,1.01e-9,6.94e-10,5.04e-10,3.82e-10,2.40e-10,1.64e-10,1.19e-10,9.0D-11,7.00e-11,5.6D-11,3.8D-11,2.8D-11,2.1D-11,1.6D-11,1.3D-11]
#
XVIB1=[.117,0.13,0.15,0.17,0.20,0.23,0.25,0.30,0.40,0.50,0.60,0.70,0.85,1.00,1.50,2.00,2.50,3.00,3.50,4.00,5.00,6.00,7.50,8.50,10.0,15.0,20.0,30.0,40.0]
YVIB1=[0.00,.070,.105,.126,.135,.140,.140,.129,.105,.082,.067,.057,.049,.049,.064,.087,.108,.129,.152,.187,.246,.316,.433,.433,.351,.246,.164,.073,.042]
XVIB2=[.148,0.16,0.17,0.20,0.23,0.25,0.30,0.40,0.50,0.60,0.70,0.85,1.00,1.50,2.00,2.50,3.00,3.50,4.00,5.00,6.00,7.50,8.50,10.0,15.0,20.0,30.0,40.0]
YVIB2=[0.00,.044,.077,.108,.115,.123,.123,.108,.092,.077,.065,.055,.054,.062,.077,.096,.115,.139,.169,.223,.293,.370,.370,.308,.216,.142,.065,.037]
XVIB3=[.182,0.19,0.20,0.23,0.25,0.30,0.35,0.40,0.50,0.60,0.70,0.85,1.00,1.50,2.00,2.50,3.00,3.50,4.00,5.00,6.00,7.50,8.50,10.0,15.0,20.0,30.0,40.0]
YVIB3=[0.00,.070,.091,.189,.231,.259,.266,.259,.224,.182,.164,.154,.157,.171,.189,.210,.252,.301,.364,.490,.623,.805,.805,.665,.434,.294,.133,.077]
XVIB4=[.366,.367,.368,.370,.375,.380,.385,.390,.395,.400,.410,.420,.430,.440,.450,.460,.480,.500,.520,.550,.600,.650,.700,.800,.900,1.00,1.10,1.20,1.30,1.40,1.50,1.70,2.00,2.50,3.00,3.50,4.00,5.00,6.00,7.50,8.50,10.0,15.0,20.0,30.0,40.0]
YVIB4=[0.00,.03782,.05336,.07494,.1107,.1361,.1561,.1727,.1864,.2002,.2210,.2382,.2520,.2641,.2728,.2814,.2952,.3056,.3125,.3194,.3246,.3246,.3229,.3143,.3026,.3026,.3048,.3071,.3115,.3160,.320,.329,.343,.387,.472,.570,.694,.908,1.16,1.32,1.16,.935,.507,.289,.129,.715]
XVIB5=[.548,1.00,1.50,2.00,3.00,3.50,4.00,5.00,6.00,7.50,8.50,10.0,15.0,20.0,30.0,40.0]
YVIB5=[0.00,.001,.002,.003,.0055,.011,.044,.094,.134,.143,.134,.116,.068,.0383,.0171,.0096]
# GROSS IONISATION X-SECTION AVERAGE OF TIAN AND VIDAL AND
# NISHIMURA AND TAWARA (WITHIN 4% OF EACH OTHER) TYPICALLY REDUCE
# NISHIMURA BY 2% ...
# BELOW 20 EV USE AVERAGE OVER ALL
# ABOVE 3 KEV USE SCALED SCHRAM TO 60 KEV : SMOOTH JOIN
# TO MATRIX ELEMENT FIT OF BY RIEKE AND PREPJCHAL
XION=[11.52,12.0,12.5,13.0,14.0,15.0,16.0,17.0,18.0,19.0, 20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,4000.,7000.,10000.,60000.]
# GROSS IONISATION
YIONG=[0.00,.017,.038,.061,.270,.518,0.87,1.28,1.62,1.95, 2.24,3.48,4.45,4.96,5.54,5.87,6.09,6.63,6.80,6.78, 6.82,6.83,6.46,6.18,5.86,5.57,5.31,4.96,4.71,4.51,4.08,3.80,3.44,3.28,3.13,2.94,2.66,2.33,2.21,1.99,1.72,1.49,1.34,1.20,1.06,.881,.657,.411,.290,.0599]
# COUNTING IONISATION
YIONC=[0.0,.017,.038,.061,.270,.518,0.87,1.28,1.62,1.95,2.24,3.48,4.45,4.94,5.47,5.65,5.78,6.27,6.42,6.39,6.44,6.45,6.07,5.79,5.47,5.18,4.94,4.61,4.38,4.19,3.80,3.53,3.20,3.05,2.91,2.74,2.47,2.17,2.06,1.85,1.60,1.39,1.25,1.12,.986,.820,.611,.382,.270,.0557]
# ALL INDIVIDUAL BREAKUP CHANNELS FROM TIAN AND VIDAL
# CORRECTED BY WANG AND VIDAL FOR DISSOCIATION OF C2H6++
#
# C2H6+
XION1=[11.52,13.0,14.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION1=[0.0,.055,.095,.130,.215,.366,.566,.664,.684,.747,.734,.724,.773,.768,.758,.749,.751,.717,.692,.665,.642,.618,.583,.560,.544,.499,.473,.430,.417,.401,.377]
# C2H4+
XION2=[12.05,13.0,14.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION2=[.0,.005,.140,.290,.672,1.068,1.705,2.240,2.350,2.461,2.481,2.473,2.607,2.568,2.517,2.510,2.492,2.346,2.273,2.179,2.103,2.031,1.925,1.841,1.777,1.635,1.542,1.408,1.352,1.301,1.226]
# C2H5+
XION3=[12.65,13.0,14.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION3=[0.0,.001,.034,.070,.156,.266,.412,.507,.556,.568,.569,.565,.597,.603,.589,.595,.588,.566,.546,.529,.514,.490,.468,.451,.432,.401,.381,.349,.337,.321,.302]
# CH3+
XION4=[13.65,14.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION4=[0.0,.001,.018,.051,.070,.083,.095,.104,.120,.114,.130,.176,.203,.216,.218,.218,.197,.178,.159,.138,.130,.114,.106,.099,.084,.071,.063,.058,.051,.047]
# C2H3+
XION5=[14.8,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION5=[0.0,.005,.175,.294,.432,.553,.709,.814,.836,.827,.882,.889,.862,.855,.847,.786,.746,.702,.658,.630,.586,.564,.540,.489,.455,.415,.391,.373,.351]
# C2H2+
XION6=[14.8,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION6=[0.0,.005,.118,.174,.268,.322,.394,.503,.550,.578,.614,.626,.611,.609,.600,.543,.500,.459,.426,.396,.364,.338,.324,.289,.259,.232,.217,.206,.192]
# H+
XION7=[20.5,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION7=[0.0,.011,.041,.053,.055,.001,.001,.001,.062,.111,.166,.189,.189,.166,.135,.094,.080,.063,.046,.035,.014,.004,.001,.0003,.0001,.00003]
# H2+
XION8=[21.5,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION8=[0.0,.002,.007,.013,.015,.020,.008,.023,.039,.041,.048,.050,.042,.034,.028,.023,.020,.014,.012,.010,.006,.004,.003,.002,.0015,.001]
# CH2+
XION9=[25.8,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION9=[0.0,.020,.036,.056,.054,.065,.098,.109,.110,.117,.117,.106,.094,.083,.069,.064,.057,.051,.048,.040,.034,.026,.023,.020,.018]
# C2H+
XION10=[26.2,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION10=[0.0,.021,.044,.059,.074,.096,.109,.113,.114,.116,.105,.092,.081,.070,.064,.053,.050,.043,.036,.031,.025,.022,.019,.017]
# C2H6++
XION11=[32.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION11=[0.0,.019,.074,.219,.313,.360,.380,.385,.383,.384,.385,.390,.390,.389,.370,.347,.331,.315,.285,.265,.240,.228,.217,.204]
# H3+
XION12=[32.5,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION12=[0.0,.001,.002,.001,.001,.011,.012,.017,.015,.015,.013,.011,.008,.006,.005,.003,.002,.001,.0005,.00025,.00013,.000062,.000045,.00003]
# CH+
XION13=[36.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION13=[0.0,.006,.012,.016,.026,.038,.041,.046,.047,.043,.036,.029,.025,.023,.019,.015,.014,.010,.007,.005,.003,.002,.0015]
# C2+
XION14=[37.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION14=[0.0,.001,.003,.007,.011,.014,.017,.017,.015,.013,.011,.009,.007,.006,.005,.003,.0017,.0007,.0003,.00017,.00009]
# C+
XION15=[37.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.]
YION15=[0.0,.001,.004,.008,.011,.015,.016,.017,.015,.013,.011,.010,.008,.007,.006,.005,.004,.003,.0018,.0009,.0005]
# K-SHELL IONISATION X-SECTION CARBON (SCALED BY 2 IN def)
XION16=[285.,298.,307.,316.,325.,335.,345.,365.,398.,422.,447.,473.,501.,531.,613.,668.,708.,750.,817.,917.,1000.,1122.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.0D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.0D6,1.26D6,1.5D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.0D7,1.26D7,1.5D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.0D8,1.26D8,1.5D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.0D9]
YION16=[0.00,1.66e-4,3.48e-4,5.25e-4,6.96e-4,8.63e-4,1.02e-3,1.33e-3,1.75e-3,2.01e-3,2.24e-3,2.46e-3,2.66e-3,2.84e-3,3.21e-3,3.38e-3,3.47e-3,3.55e-3,3.65e-3,3.72e-3,3.75e-3,3.74e-3,3.68e-3,3.57e-3,3.45e-3,3.31e-3,3.19e-3,3.07e-3,2.91e-3,2.66e-3,2.25e-3,1.95e-3,1.55e-3,1.21e-3,8.97e-4,7.07e-4,6.07e-4,5.21e-4,4.21e-4,3.63e-4,3.14e-4,2.84e-4,2.57e-4,2.25e-4,1.74e-4,1.50e-4,1.28e-4,1.15e-4,1.09e-4,1.05e-4,1.03e-4,1.02e-4,1.01e-4,1.005e-4,1.01e-4,1.03e-4,1.07e-4,1.11e-4,1.14e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.29e-4,1.32e-4,1.38e-4,1.45e-4,1.50e-4,1.54e-4,1.58e-4,1.60e-4,1.63e-4,1.67e-4,1.71e-4,1.74e-4,1.80e-4,1.87e-4,1.92e-4,1.96e-4,2.00e-4,2.02e-4,2.05e-4,2.09e-4]
# ATTACHMENT H- EXCLUDING ION PAIRS
XATT1=[7.00,7.50,8.00,8.50,9.00,9.18,9.50,10.0,10.5,11.0, 11.5]
YATT1=[0.00,7.65e-5,2.52e-4,8.42e-4,1.55e-3,1.70e-3,1.50e-3,8.33e-4,2.50e-4,7.65e-5,0.00]
# ATTACHMENT CH2- EXCLUDING ION PAIRS
XATT2=[7.90,8.40,8.90,9.40,9.90,10.1,10.4,10.9,11.4]
YATT2=[0.00,1.53e-5,5.04e-5,1.68e-4,3.10e-4,3.40e-4,3.00e-4,1.67e-4,0.0]
#
# NON DIPOLE AT 6.85 EV
XTR1=[6.85,8.00,9.00,10.0,11.0,12.0,14.0,16.0,19.0,22.0,26.0,30.0]
YTR1=[0.00,.030,.042,.048,.054,.057,.060,.060,.054,.048, .036,.026]
c NON DIPOLE AT 8.00 EV
XTR2=[8.00,9.50,10.5,11.5,12.5,14.5,16.5,19.5,22.5,26.5,30.0]
YTR2=[0.00,.205,.295,.336,.353,.369,.369,.344,.295,.230,.181]
c NON DIPOLE AT 10.0 EV
XTR3=[10.0,11.0,12.0,13.0,14.0,17.0,20.0,23.0,27.0,30.0,35.0]
YTR3=[0.00,.331,.680,.794,.898,.945,.945,.898,.777,.675,.513]
#
# BREMSSTRAHLUNG X-SECTION WITH CUT UNITS 10**-24
Z1T=[11.3,6.18,2.80,1.54,.858,.407,.251,.176,.145,.150,.167,.178,.187,.193,.198,.205,.210,.218,.222,.228,.231,.233,.234,.235,.235]
Z6T=[298.,178.,85.2,47.5,26.3,12.2,7.06,4.45,3.06,2.82,2.89,2.99,3.08,3.13,3.18,3.25,3.31,3.39,3.44,3.49,3.52,3.54,3.55,3.57,3.57]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# WINTERS CHEM.PHYS.36(1979)353 (NULL COLLISION)
# REDUCED BY 0.9 IN def
XNUL1=[8.4,10.3,15.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,550.,600.]
YNUL1=[0.0,0.20,1.30,3.20,4.00,5.60,6.40,7.00,7.40,7.60,7.65,7.60,7.50,7.30,7.10,6.90,6.70,6.40,6.00,5.60,5.30,4.90,4.60,4.30,4.10]
# LIGHT EMISSION FROM H ALPHA
# MOHLMANN CHEM PHYS 19(1977)233
XNUL2=[20.0,40.0,60.0,80.0,100.,150.,200.,300.,500.,1000.,1300.,1700.,2000.]
YNUL2=[0.0,.0116,.0196,.0241,.0250,.0222,.0186,.0121,.007,.0034,.0026,.0020,.0017]
# LIGHT EMISSION FROM CH2(A2DELTA -X2PI)
# MOHLMANN CHEM PHYS 19(1977)233
XNUL3=[16.0,20.0,40.0,60.0,80.0,100.,150.,200.,300.,500.,1000.,1300.,1700.,2000.]
YNUL3=[0.0,.0011,.0041,.0057,.0062,.0061,.0050,.0041,.0028,.0017,.0008,.0006,.0005,.0004]
# ---------------------------------------------------------------------
# UPDATED TO DEC 1994 . INCLUDES LATEST ELECTRON SCATTERING RESULTS
# GIVES BETTER FIT THAN PREVIOUS SET
# 1999 MOD USES VIBRATION AT 35.8 MV AND ALSO SUPER ELASTICS.
# ALSO MOD TO ELASTIC AT LOW ENERGY BELOW 20 MV
# ---------------------------------------------------------------------
c NANISO=0
if(NANISO == 0):
:
NAME=' C2H6 2016 ISOTROPIC '
else:
NAME=' C2H6 2016 ANISOTROPIC '
# endif
#-----------------------------------------------------------------------
# BORN-BETHE CONSTANTS
A0=0.52917720859e-08
RY=13.60569193
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
BBCONST=16.00*API*A0*A0*RY*RY/EMASS2
#
# BORN BETHE FOR IONISATION
AM2=7.21
C=70.5
#
# ARRAY SIZE
NASIZE=20000
#
NION=16
NATT=2
NIN=55
NNULL=3
IONMODEL=1
#
NBREM=25
DO 8 J=1,NIN
IZBR[J]=0
8 CONTINUE
IZBR(NIN+1)=6
IZBR(NIN+2)=1
#
DO 1 J=1,6
1 KEL[J]=NANISO
# SET VIBRATIONAL ANGULAR DISTRIBUTIONS TO ANISOTROPIC
for 2 J in range(1,10):
2 KIN[J]=NANISO
# SET ANG DISTRIBUTION FOR DISSOCIATIVE EXCITATIONS TO OKHRIMOVSKYY TYPE
DO 31 J=11,NIN
31 KIN[J]=2
NDATA=164
#
NIOND=50
NION1=31
NION2=31
NION3=31
NION4=30
NION5=29
NION6=29
NION7=26
NION8=26
NION9=25
NION10=24
NION11=24
NION12=24
NION13=23
NION14=21
NION15=21
NION16=83
#
NATT1=11
NATT2=9
NVIB1=29
NVIB2=28
NVIB3=28
NVIB4=46
NVIB5=16
NTR1=12
NTR2=11
NTR3=11
NUL1=25
NUL2=13
NUL3=14
# SCALING OF NULL CROSS-SECTIONS
SCLN[1]=1.0
SCLN[2]=1.0
SCLN[3]=1.0
#
#
E[1]=0.0
E[2]=2.0*EMASS/(30.06964*AMU)
E[3]=11.52
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=11.52
EION[2]=12.05
EION[3]=12.65
EION[4]=13.65
EION[5]=14.8
EION[6]=14.8
EION[7]=20.5
EION[8]=21.5
EION[9]=25.8
EION[10]=26.2
EION[11]=32.0
EION[12]=32.5
EION[13]=36.0
EION[14]=37.0
EION[15]=37.0
EION[16]=285.0
# OPAL BEATY
SCLOBY=0.6
SCLOBY=1.0
# SCLOBY=1.0
DO 33 J=1,NION
EOBY[J]=EION[J]*SCLOBY
33 CONTINUE
EOBY(NION)=EION(NION)*0.63
#
ESPLIT(1,1)=0.99*EION[2]
ESPLIT(1,2)=0.76*EION[2]
#
DO 44 JK=1,15
LEGAS(JK)=0
ISHELL(JK)=0
NC0(JK)=0
EC0(JK)=0.0
WKLM(JK)=0.0
EFL(JK)=0.0
NG1(JK)=0
EG1(JK)=0.0
NG2(JK)=0
EG2(JK)=0.0
44 CONTINUE
# DOUBLE CHARGE , ++ ION STATES ( EXTRA ELECTRON )
NC0[11]=1
EC0[11]=6.0
# FLUORESCENCE (KSHELL)
LEGAS[16]=1
ISHELL[16]=1
NC0[16]=2
EC0[16]=253.
WKLM[16]=0.0026
EFL[16]=273.
NG1[16]=1
EG1[16]=253.
NG2[16]=2
EG2[16]=5.
# OFFSET ENERGY FOR IONISATION ELECTRON ANGULAR DISTRIBUTION
DO 776 J=1,NION
DO 777 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=-0.0358
EIN[2]=0.0358
EIN[3]=-0.117
EIN[4]=0.117
EIN[5]=-0.148
EIN[6]=0.148
EIN[7]=-0.182
EIN[8]=0.182
EIN[9]=0.366
EIN[10]=0.548
EIN[11]=6.85
EIN[12]=7.93
EIN[13]=8.00
EIN[14]=8.15
EIN[15]=8.48
EIN[16]=8.723
EIN[17]=8.865
EIN[18]=9.007
EIN[19]=9.149
EIN[20]=9.291
EIN[21]=9.433
EIN[22]=9.575
EIN[23]=9.717
EIN[24]=9.859
EIN[25]=10.0
EIN[26]=10.115
EIN[27]=10.45
EIN[28]=10.672
EIN[29]=10.816
EIN[30]=10.960
EIN[31]=11.104
EIN[32]=11.248
EIN[33]=11.392
EIN[34]=11.732
EIN[35]=12.4
EIN[36]=13.0
EIN[37]=13.5
EIN[38]=14.1
EIN[39]=14.7
EIN[40]=15.3
EIN[41]=15.9
EIN[42]=16.5
EIN[43]=17.1
EIN[44]=17.7
EIN[45]=18.5
EIN[46]=19.5
EIN[47]=20.5
EIN[48]=21.5
EIN[49]=22.5
EIN[50]=23.5
EIN[51]=24.5
EIN[52]=25.5
EIN[53]=26.5
EIN[54]=27.5
EIN[55]=28.5
EIN[56]=0.0
EIN[57]=0.0
# OFFSET ENERGY FOR EXCITATION LEVELS ANGULAR DISTRIBUTION
DO 3 NL=1,NIN
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 3
# endif
651 CONTINUE
3 CONTINUE
#*****************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# LEVELS THAT ARE DISSOCIATIVE DO NOT GIVE PENNING TRANSFERS
DO 4 K=1,NIN
DO 4 L=1,3
4 PENFRA[L,K]=0.0
# ENTER PENNING CONSTANTS IN PREVIOUS LINE
if(IPEN == 0):
GO TO 6
# PRINT OUT PENNING CONSTANTS
DO 5 KDUM=10,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 5
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A25,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
5 CONTINUE
#*********************************************************************
#
6 SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC ETHANE 2016 '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC ETHANE 2016 '
# endif
SCRPT[3]=' IONISATION C2H6+ ELOSS= 11.52 '
SCRPT[4]=' IONISATION C2H4+ ELOSS= 12.05 '
SCRPT[5]=' IONISATION C2H5+ ELOSS= 12.65 '
SCRPT[6]=' IONISATION CH3+ ELOSS= 13.65 '
SCRPT[7]=' IONISATION C2H3+ ELOSS= 14.8 '
SCRPT[8]=' IONISATION C2H2+ ELOSS= 14.8 '
SCRPT[9]=' IONISATION H+ ELOSS= 20.5 '
SCRPT[10]=' IONISATION H2+ ELOSS= 21.5 '
SCRPT[11]=' IONISATION CH2+ ELOSS= 25.8 '
SCRPT[12]=' IONISATION C2H+ ELOSS= 26.2 '
SCRPT[13]=' ION-DISS C2H6++ (100% DISS) ELOSS= 32.0 '
SCRPT[14]=' IONISATION H3+ ELOSS= 32.5 '
SCRPT[15]=' IONISATION CH+ ELOSS= 36.0 '
SCRPT[16]=' IONISATION C2+ ELOSS= 37.0 '
SCRPT[17]=' IONISATION C+ ELOSS= 37.0 '
SCRPT[18]=' IONISATION CARBON K-SHELL ELOSS=285.0 '
SCRPT[19]=' ATTACHMENT H- '
SCRPT[20]=' ATTACHMENT CH2- '
SCRPT[21]=' '
SCRPT[22]=' '
SCRPT[23]=' TORSION V4 SUPERELASTIC ELOSS= -0.0358 '
SCRPT[24]=' TORSION V4 ELOSS= 0.0358 '
SCRPT[25]=' V12+V3 ROCKING SUPERELASTIC ELOSS= -0.117 '
SCRPT[26]=' V12+V3 ROCKING VIBRATIONS ELOSS= 0.117 '
SCRPT[27]=' V9 ROCKING SUPERELASTIC ELOSS= -0.148 '
SCRPT[28]=' V9 ROCKING ELOSS= 0.148 '
SCRPT[29]=' V2+V6+V8+V11 SUPERELASTIC ELOSS= -0.182 '
SCRPT[30]=' V2+V6+V8+V11 B# end VIBRATION ELOSS= 0.182 '
SCRPT[31]=' V1+V5+V7+V10 STRETCH VIBRATION ELOSS= 0.366 '
SCRPT[32]=' VIBRATION HARMONICS ELOSS= 0.548 '
SCRPT[33]=' TRIPLET DISSOCIATION ELOSS= 6.85 '
SCRPT[34]=' SINGLET DISSOC. F = 0.000136 ELOSS= 7.93 '
SCRPT[35]=' TRIPLET DISSOCIATION ELOSS= 8.00 '
SCRPT[36]=' SINGLET DISSOC. F = 0.001744 ELOSS= 8.15 '
SCRPT[37]=' SINGLET DISSOC. F = 0.008187 ELOSS= 8.48 '
SCRPT[38]=' SINGLET DISSOC. F = 0.006312 ELOSS= 8.723 '
SCRPT[39]=' SINGLET DISSOC. F = 0.011877 ELOSS= 8.865 '
SCRPT[40]=' SINGLET DISSOC. F = 0.020856 ELOSS= 9.007 '
SCRPT[41]=' SINGLET DISSOC. F = 0.031444 ELOSS= 9.149 '
SCRPT[42]=' SINGLET DISSOC. F = 0.039549 ELOSS= 9.291 '
SCRPT[43]=' SINGLET DISSOC. F = 0.042350 ELOSS= 9.433 '
SCRPT[44]=' SINGLET DISSOC. F = 0.041113 ELOSS= 9.575 '
SCRPT[45]=' SINGLET DISSOC. F = 0.038256 ELOSS= 9.717 '
SCRPT[46]=' SINGLET DISSOC. F = 0.036556 ELOSS= 9.859 '
SCRPT[47]=' TRIPLET DISSOCIATION ELOSS= 10.0 '
SCRPT[48]=' SINGLET DISSOC. F = 0.096232 ELOSS= 10.115 '
SCRPT[49]=' SINGLET DISSOC. F = 0.083738 ELOSS= 10.450 '
SCRPT[50]=' SINGLET DISSOC. F = 0.043456 ELOSS= 10.672 '
SCRPT[51]=' SINGLET DISSOC. F = 0.047436 ELOSS= 10.816 '
SCRPT[52]=' SINGLET DISSOC. F = 0.047800 ELOSS= 10.960 '
SCRPT[53]=' SINGLET DISSOC. F = 0.048914 ELOSS= 11.104 '
SCRPT[54]=' SINGLET DISSOC. F = 0.054353 ELOSS= 11.248 '
SCRPT[55]=' SINGLET DISSOC. F = 0.061019 ELOSS= 11.392 '
SCRPT[56]=' SINGLET DISSOC. F = 0.24443 ELOSS= 11.732 '
SCRPT[57]=' SINGLET DISSOC. F = 0.28479 ELOSS= 12.4 '
SCRPT[58]=' SINGLET DISSOC. F = 0.095973 ELOSS= 13.0 '
SCRPT[59]=' SINGLET DISSOC. F = 0.090728 ELOSS= 13.5 '
SCRPT[60]=' SINGLET DISSOC. F = 0.071357 ELOSS= 14.1 '
SCRPT[61]=' SINGLET DISSOC. F = 0.074875 ELOSS= 14.7 '
SCRPT[62]=' SINGLET DISSOC. F = 0.054542 ELOSS= 15.3 '
SCRPT[63]=' SINGLET DISSOC. F = 0.022479 ELOSS= 15.9 '
SCRPT[64]=' SINGLET DISSOC. F = 0.008585 ELOSS= 16.5 '
SCRPT(65)=' SINGLET DISSOC. F = 0.004524 ELOSS= 17.1 '
SCRPT(66)=' SINGLET DISSOC. F = 0.004982 ELOSS= 17.7 '
SCRPT(67)=' SINGLET DISSOC. F = 0.01013 ELOSS= 18.5 '
SCRPT(68)=' SINGLET DISSOC. F = 0.01332 ELOSS= 19.5 '
SCRPT(69)=' SINGLET DISSOC. F = 0.01331 ELOSS= 20.5 '
SCRPT(70)=' SINGLET DISSOC. F = 0.01076 ELOSS= 21.5 '
SCRPT(71)=' SINGLET DISSOC. F = 0.009797 ELOSS= 22.5 '
SCRPT(72)=' SINGLET DISSOC. F = 0.009198 ELOSS= 23.5 '
SCRPT(73)=' SINGLET DISSOC. F = 0.008312 ELOSS= 24.5 '
SCRPT(74)=' SINGLET DISSOC. F = 0.007139 ELOSS= 25.5 '
SCRPT(75)=' SINGLET DISSOC. F = 0.004715 ELOSS= 26.5 '
SCRPT(76)=' SINGLET DISSOC. F = 0.002137 ELOSS= 27.5 '
SCRPT(77)=' SINGLET DISSOC. F = 0.000662 ELOSS= 28.5 '
SCRPT(78)=' BREMSSTRAHLUNG FROM CARBON ATOM '
SCRPT(79)=' BREMSSTRAHLUNG FROM HYDROGEN ATOM '
# NULL COLLISIONS
SCRPTN[1]=' C2H6:DISSOCIATION : WINTERS CHEM.PHYS 36(1979)353'
SCRPTN[2]=' C2H6: LIGHT EMISSION: Halpha '
SCRPTN[3]=' C2H6: LIGHT EMISSION: CH2(A2DELTA - X2PI) '
#
# CALC LEVEL POPULATIONS
APOP1=math.exp(EIN[1]/AKT)
APOP2=math.exp(EIN[3]/AKT)
APOP3=math.exp(EIN[5]/AKT)
APOP4=math.exp(EIN[7]/AKT)
#
#
# EN=-ESTEP/2.0
DO 1000 I=1,NSTEP
EN=EG[I]
ENLG=math.log(EN)
# EN=EN+ESTEP
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
#
DO 10 J=2,N
if(EN > 10.0):
GO TO 21
if(EN <= XEN[J]:
) GO TO 20
10 CONTINUE
J=N
20 A=(YMT[J]-YMT[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YMT[J]-XEN[J]*YMT[J-1])/(XEN[J-1]-XEN[J])
QMT=(A*EN+B)*1.e-16
A=(YEL[J]-YEL[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEL[J]-XEN[J]*YEL[J-1])/(XEN[J-1]-XEN[J])
QEL=(A*EN+B)*1.e-16
A=(YEPS[J]-YEPS[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEPS[J]-XEN[J]*YEPS[J-1])/(XEN[J-1]-XEN[J])
PQ2=A*EN+B
GO TO 30
# USE LOG INTERPOLATION ABOVE 10 EV
21 DO 22 J=2,NDATA
if(EN <= XEN[J]:
) GO TO 23
22 CONTINUE
J=NDATA
23 YXJ=math.log(YEL[J])
YXJ1=math.log(YEL[J-1])
XNJ=math.log(XEN[J])
XNJ1=math.log(XEN[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QEL=math.exp(A*math.log(EN)+B)*1.e-16
YXJ=math.log(YMT[J])
YXJ1=math.log(YMT[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QMT=math.exp(A*math.log(EN)+B)*1.e-16
YXJ=math.log(YEPS[J])
YXJ1=math.log(YEPS[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
PQ2=math.exp(A*math.log(EN)+B)
30 CONTINUE
# EPSILON= 1-YEPS
PQ2=1.00-PQ2
PQ1=0.5+(QEL-QMT)/QEL
# CALCULATE PQ1 AND PQ2
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QEL
if(NANISO == 0):
Q[2][I]=QMT
#
# IONISATION
#
Q[3][I]=0.0
DO 100 J=L,NION
QION(L,I)=0.00
PEQION(L,I)=0.5
if(NANISO == 2):
PEQION(L,I)=0.0
100 CONTINUE
# C2H6+
if(EN <= EION[1]:
) GO TO 110
if(EN > XION1(NION1):
) GO TO 103
DO 101 J=2,NION1
if(EN <= XION1[J]:
) GO TO 102
101 CONTINUE
J=NION1
102 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])
B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 107
103 if(EN > XION(NIOND)) GO TO 106
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# USE LOG INTERPOLATION
DO 104 J=2,NIOND
if(EN <= XION[J]:
) GO TO 105
104 CONTINUE
J=NIOND
105 YXJ=math.log(YIONC[J])
YXJ1=math.log(YIONC[J-1])
XNJ=math.log(XION[J])
XNJ1=math.log(XION[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QCOUNT=math.exp(A*math.log(EN)+B)*1.e-16
# FRACTION OF QCOUNT
QION[1][I]=QCOUNT*0.1378
GO TO 107
# USE BORN BETHE ABOVE XION(NIOND) EV
106 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QBB=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
QION[1][I]=QBB*0.1378
107 CONTINUE
if(EN < (2.0*EION[1]:
)) GO TO 110
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# C2H4+
110 if(EN <= EION[2]) GO TO 120
if(EN > XION2(NION2):
) GO TO 113
DO 111 J=2,NION2
if(EN <= XION2[J]:
) GO TO 112
111 CONTINUE
J=NION2
112 A=(YION2[J]-YION2[J-1])/(XION2[J]-XION2[J-1])
B=(XION2[J-1]*YION2[J]-XION2[J]*YION2[J-1])/(XION2[J-1]-XION2[J])
QION[2][I]=(A*EN+B)*1.e-16
GO TO 117
113 if(EN > XION(NIOND)) GO TO 116
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[2][I]=QCOUNT*0.4481
GO TO 117
# USE BORN BETHE ABOVE XION(NIOND) EV
116 QION[2][I]=QBB*0.4481
117 CONTINUE
if(EN < (2.0*EION[2]:
)) GO TO 120
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# C2H5+
120 if(EN <= EION[3]) GO TO 130
if(EN > XION3(NION3):
) GO TO 123
DO 121 J=2,NION3
if(EN <= XION3[J]:
) GO TO 122
121 CONTINUE
J=NION3
122 A=(YION3[J]-YION3[J-1])/(XION3[J]-XION3[J-1])
B=(XION3[J-1]*YION3[J]-XION3[J]*YION3[J-1])/(XION3[J-1]-XION3[J])
QION[3][I]=(A*EN+B)*1.e-16
GO TO 127
123 if(EN > XION(NIOND)) GO TO 126
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[3][I]=QCOUNT*0.1104
GO TO 127
# USE BORN BETHE ABOVE XION(NIOND) EV
126 QION[3][I]=QBB*0.1104
127 CONTINUE
if(EN < (2.0*EION[3]:
)) GO TO 130
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# CH3+
130 if(EN <= EION[4]) GO TO 140
if(EN > XION4(NION4):
) GO TO 133
DO 131 J=2,NION4
if(EN <= XION4[J]:
) GO TO 132
131 CONTINUE
J=NION4
132 A=(YION4[J]-YION4[J-1])/(XION4[J]-XION4[J-1])
B=(XION4[J-1]*YION4[J]-XION4[J]*YION4[J-1])/(XION4[J-1]-XION4[J])
QION[4][I]=(A*EN+B)*1.e-16
GO TO 137
133 if(EN > XION(NIOND)) GO TO 136
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[4][I]=QCOUNT*0.01718
GO TO 137
# USE BORN BETHE ABOVE XION(NIOND) EV
136 QION[4][I]=QBB*0.01718
137 CONTINUE
if(EN < (2.0*EION[4]:
)) GO TO 140
PEQION[4][I]=PEQEL[2][(I-IOFFION[4]])
# C2H3+
140 if(EN <= EION[5]) GO TO 150
if(EN > XION5(NION5):
) GO TO 143
DO 141 J=2,NION5
if(EN <= XION5[J]:
) GO TO 142
141 CONTINUE
J=NION5
142 A=(YION5[J]-YION5[J-1])/(XION5[J]-XION5[J-1])
B=(XION5[J-1]*YION5[J]-XION5[J]*YION5[J-1])/(XION5[J-1]-XION5[J])
QION[5][I]=(A*EN+B)*1.e-16
GO TO 147
143 if(EN > XION(NIOND)) GO TO 146
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[5][I]=QCOUNT*0.1283
GO TO 147
# USE BORN BETHE ABOVE XION(NIOND) EV
146 QION[5][I]=QBB*0.1283
147 CONTINUE
if(EN < (2.0*EION[5]:
)) GO TO 150
PEQION[5][I]=PEQEL[2][(I-IOFFION[5]])
# C2H2+
150 if(EN <= EION[6]) GO TO 160
if(EN > XION6(NION6):
) GO TO 153
DO 151 J=2,NION6
if(EN <= XION6[J]:
) GO TO 152
151 CONTINUE
J=NION6
152 A=(YION6[J]-YION6[J-1])/(XION6[J]-XION6[J-1])
B=(XION6[J-1]*YION6[J]-XION6[J]*YION6[J-1])/(XION6[J-1]-XION6[J])
QION[6][I]=(A*EN+B)*1.e-16
GO TO 157
153 if(EN > XION(NIOND)) GO TO 156
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[6][I]=QCOUNT*0.0700
GO TO 157
# USE BORN BETHE ABOVE XION(NIOND) EV
156 QION[6][I]=QBB*0.0700
157 CONTINUE
if(EN < (2.0*EION[6]:
)) GO TO 160
PEQION[6][I]=PEQEL[2][(I-IOFFION[6]])
# H+
160 if(EN <= EION[7]) GO TO 170
if(EN > XION7(NION7):
) GO TO 163
DO 161 J=2,NION7
if(EN <= XION7[J]:
) GO TO 162
161 CONTINUE
J=NION7
162 A=(YION7[J]-YION7[J-1])/(XION7[J]-XION7[J-1])
B=(XION7[J-1]*YION7[J]-XION7[J]*YION7[J-1])/(XION7[J-1]-XION7[J])
QION[7][I]=(A*EN+B)*1.e-16
GO TO 167
163 if(EN > XION(NIOND)) GO TO 166
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[7][I]=QCOUNT*0.000011
GO TO 167
# USE BORN BETHE ABOVE XION(NIOND) EV
166 QION[7][I]=QBB*0.000011
167 CONTINUE
if(EN < (2.0*EION[7]:
)) GO TO 170
PEQION[7][I]=PEQEL[2][(I-IOFFION[7]])
# H2+
170 if(EN <= EION[8]) GO TO 180
if(EN > XION8(NION8):
) GO TO 173
DO 171 J=2,NION8
if(EN <= XION8[J]:
) GO TO 172
171 CONTINUE
J=NION8
172 A=(YION8[J]-YION8[J-1])/(XION8[J]-XION8[J-1])
B=(XION8[J-1]*YION8[J]-XION8[J]*YION8[J-1])/(XION8[J-1]-XION8[J])
QION[8][I]=(A*EN+B)*1.e-16
GO TO 177
173 if(EN > XION(NIOND)) GO TO 176
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[8][I]=QCOUNT*0.00036
GO TO 177
# USE BORN BETHE ABOVE XION(NIOND) EV
176 QION[8][I]=QBB*0.00036
177 CONTINUE
if(EN < (2.0*EION[8]:
)) GO TO 180
PEQION[8][I]=PEQEL[2][(I-IOFFION[8]])
# CH2+
180 if(EN <= EION[9]) GO TO 190
if(EN > XION9(NION9):
) GO TO 183
DO 181 J=2,NION9
if(EN <= XION9[J]:
) GO TO 182
181 CONTINUE
J=NION9
182 A=(YION9[J]-YION9[J-1])/(XION9[J]-XION9[J-1])
B=(XION9[J-1]*YION9[J]-XION9[J]*YION9[J-1])/(XION9[J-1]-XION9[J])
QION[9][I]=(A*EN+B)*1.e-16
GO TO 187
183 if(EN > XION(NIOND)) GO TO 186
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[9][I]=QCOUNT*0.0066
GO TO 187
# USE BORN BETHE ABOVE XION(NIOND) EV
186 QION[9][I]=QBB*0.0066
187 CONTINUE
if(EN < (2.0*EION[9]:
)) GO TO 190
PEQION[9][I]=PEQEL[2][(I-IOFFION[9]])
# C2H+
190 if(EN <= EION[10]) GO TO 200
if(EN > XION10(NION10):
) GO TO 193
DO 191 J=2,NION10
if(EN <= XION10[J]:
) GO TO 192
191 CONTINUE
J=NION10
192 A=(YION10[J]-YION10[J-1])/(XION10[J]-XION10[J-1])
B=(XION10[J-1]*YION10[J]-XION10[J]*YION10[J-1])/(XION10[J-1]-XION10[J])
QION[10][I]=(A*EN+B)*1.e-16
GO TO 197
193 if(EN > XION(NIOND)) GO TO 196
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[10][I]=QCOUNT*0.0062
GO TO 197
# USE BORN BETHE ABOVE XION(NIOND) EV
196 QION[10][I]=QBB*0.0062
197 CONTINUE
if(EN < (2.0*EION[10]:
)) GO TO 200
PEQION[10][I]=PEQEL[2][(I-IOFFION[10]))
# C2H6++
200 if(EN <= EION[11]) GO TO 210
if(EN > XION11(NION11):
) GO TO 203
DO 201 J=2,NION11
if(EN <= XION11[J]:
) GO TO 202
201 CONTINUE
J=NION11
202 A=(YION11[J]-YION11[J-1])/(XION11[J]-XION11[J-1])
B=(XION11[J-1]*YION11[J]-XION11[J]*YION11[J-1])/(XION11[J-1]-XION11[J])
QION[11][I]=(A*EN+B)*1.e-16
GO TO 207
203 if(EN > XION(NIOND)) GO TO 206
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[11][I]=QCOUNT*0.0745
GO TO 207
# USE BORN BETHE ABOVE XION(NIOND) EV
206 QION[11][I]=QBB*0.0745
207 CONTINUE
if(EN < (2.0*EION[11]:
)) GO TO 210
PEQION[11][I]=PEQEL[2][(I-IOFFION[11]))
# H3+
210 if(EN <= EION[12]) GO TO 220
if(EN > XION12(NION12):
) GO TO 213
DO 211 J=2,NION12
if(EN <= XION12[J]:
) GO TO 212
211 CONTINUE
J=NION12
212 A=(YION12[J]-YION12[J-1])/(XION12[J]-XION12[J-1])
B=(XION12[J-1]*YION12[J]-XION12[J]*YION12[J-1])/(XION12[J-1]-XION12[J])
QION[12][I]=(A*EN+B)*1.e-16
GO TO 217
213 if(EN > XION(NIOND)) GO TO 216
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[12][I]=QCOUNT*0.0000055
GO TO 217
# USE BORN BETHE ABOVE XION(NIOND) EV
216 QION[12][I]=QBB*0.0000055
217 CONTINUE
if(EN < (2.0*EION[12]:
)) GO TO 220
PEQION[12][I]=PEQEL[2][(I-IOFFION[12]))
# CH+
220 if(EN <= EION[13]) GO TO 230
if(EN > XION13(NION13):
) GO TO 223
DO 221 J=2,NION13
if(EN <= XION13[J]:
) GO TO 222
221 CONTINUE
J=NION13
222 A=(YION13[J]-YION13[J-1])/(XION13[J]-XION13[J-1])
B=(XION13[J-1]*YION13[J]-XION13[J]*YION13[J-1])/(XION13[J-1]-XION13[J])
QION[13][I]=(A*EN+B)*1.e-16
GO TO 227
223 if(EN > XION(NIOND)) GO TO 226
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[13][I]=QCOUNT*0.00037
GO TO 227
# USE BORN BETHE ABOVE XION(NIOND) EV
226 QION[13][I]=QBB*0.00037
227 CONTINUE
if(EN < (2.0*EION[13]:
)) GO TO 230
PEQION[13][I]=PEQEL[2][(I-IOFFION[13]))
# C2+
230 if(EN <= EION[14]) GO TO 240
if(EN > XION14(NION14):
) GO TO 233
DO 231 J=2,NION14
if(EN <= XION14[J]:
) GO TO 232
231 CONTINUE
J=NION14
232 A=(YION14[J]-YION14[J-1])/(XION14[J]-XION14[J-1])
B=(XION14[J-1]*YION14[J]-XION14[J]*YION14[J-1])/(XION14[J-1]-XION14[J])
QION[14][I]=(A*EN+B)*1.e-16
GO TO 237
233 if(EN > XION(NIOND)) GO TO 236
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[14][I]=QCOUNT*0.000022
GO TO 237
# USE BORN BETHE ABOVE XION(NIOND) EV
236 QION[14][I]=QBB*0.000022
237 CONTINUE
if(EN < (2.0*EION[14]:
)) GO TO 240
PEQION[14][I]=PEQEL[2][(I-IOFFION[14]))
# C+
240 if(EN <= EION[15]) GO TO 250
if(EN > XION15(NION15):
) GO TO 243
DO 241 J=2,NION15
if(EN <= XION15[J]:
) GO TO 242
241 CONTINUE
J=NION15
242 A=(YION15[J]-YION15[J-1])/(XION15[J]-XION15[J-1])
B=(XION15[J-1]*YION15[J]-XION15[J]*YION15[J-1])/(XION15[J-1]-XION15[J])
QION[15][I]=(A*EN+B)*1.e-16
GO TO 247
243 if(EN > XION(NIOND)) GO TO 246
# USE FRACTION OF COUNTING IONISATION ABOVE 600 EV
# FRACTION OF QCOUNT
QION[15][I]=QCOUNT*0.00011
GO TO 247
# USE BORN BETHE ABOVE XION(NIOND) EV
246 QION[15][I]=QBB*0.00011
247 CONTINUE
if(EN < (2.0*EION[15]:
)) GO TO 250
PEQION[15][I]=PEQEL[2][(I-IOFFION[15]))
# CARBON K-SHELL
250 if(EN <= EION[16]) GO TO 260
DO 251 J=2,NION16
if(EN <= XION16[J]:
) GO TO 252
251 CONTINUE
J=NION16
252 A=(YION16[J]-YION16[J-1])/(XION16[J]-XION16[J-1])
B=(XION16[J-1]*YION16[J]-XION16[J]*YION16[J-1])/(XION16[J-1]-XION16[J])
QION[16][I]=(A*EN+B)*1.e-16
if(EN < (2.0*EION[16]:
)) GO TO 255
PEQION[16][I]=PEQEL[2][(I-IOFFION[16]))
# CORRECTION TO INISATION FOR SPLIT OFF KSHELL
255 QSUM=0.00
DO 256 L=1,15
256 QSUM=QSUM+QION(L,I)
if(QSUM == 0.0):
GO TO 260
FAC=(QSUM-QION[16][I])/QSUM
DO 257 L=1,15
257 QION(L,I)=QION(L,I)*FAC
#
# ATTACHMENT TO H-
#
260 Q[4][I]=0.0
QATT[1][I]=0.0
if(EN < XATT1[1]:
) GO TO 290
if(EN >= XATT1(NATT1):
) GO TO 290
DO 270 J=2,NATT1
if(EN <= XATT1[J]:
) GO TO 280
270 CONTINUE
J=NATT1
280 A=(YATT1[J]-YATT1[J-1])/(XATT1[J]-XATT1[J-1])
B=(XATT1[J-1]*YATT1[J]-XATT1[J]*YATT1[J-1])/(XATT1[J-1]-XATT1[J])
QATT[1][I]=(A*EN+B)*1.e-16
# ATTACHMENT TO CH2-
290 QATT[2][I]=0.0
if(EN < XATT2[1]:
) GO TO 300
if(EN >= XATT2(NATT2):
) GO TO 300
DO 291 J=2,NATT2
if(EN <= XATT2[J]:
) GO TO 292
291 CONTINUE
J=NATT2
292 A=(YATT2[J]-YATT2[J-1])/(XATT2[J]-XATT2[J-1])
B=(XATT2[J-1]*YATT2[J]-XATT2[J]*YATT2[J-1])/(XATT2[J-1]-XATT2[J])
QATT[2][I]=(A*EN+B)*1.e-16
#
300 Q[5][I]=0.0
Q[6][I]=0.0
# SET ZEROS
DO 310 L=1,NIN
QIN(L,I)=0.00
310 PEQIN(L,I)=0.00
#
# SUPERELASTIC VIBRATION-TORSION ANISOTROPIC ABOVE 10 EV
if(EN <= 0.0):
GO TO 350
EFAC=math.sqrt(1.0-(EIN[1]/EN))
QIN[1][I]=0.0045*math.log((EFAC+1.0)/(EFAC-1.0))/EN
QIN[1][I]=QIN[1][I]*APOP1/(1.0+APOP1)*1.e-16
if(EN > 10.0):
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]#
# VIBRATION-TORSION ANISOTROPIC ABOVE 10 EV
350 if(EN <= EIN[2]) GO TO 351
EFAC=math.sqrt(1.0-(EIN[2]/EN))
QIN[2][I]=0.0045*math.log((1.0+EFAC)/(1.0-EFAC))/EN
QIN[2][I]=QIN[2][I]*1.0/(1.0+APOP1)*1.e-16
if(EN > 10.0):
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]#
# SUPERELASTIC VIB1 ANISOTROPIC ABOVE 10 EV
351 if(EN <= 0.0) GO TO 356
if((EN+EIN[4]:
) > XVIB1(NVIB1)) GO TO 354
DO 352 J=2,NVIB1
if((EN+EIN[4]:
) <= XVIB1[J]) GO TO 353
352 CONTINUE
J=NVIB1
353 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN[3][I]=(EN+EIN[4])*(A*(EN+EIN[4])+B)/EN
GO TO 355
354 QIN[3][I]=YVIB1(NVIB1)*(XVIB1(NVIB1)/(EN+EIN[4]))**2
355 QIN[3][I]=QIN[3][I]*APOP2/(1.0+APOP2)*1.e-16
if(EN > 10.0):
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]# VIB1 ANISOTROPIC ABOVE 10 EV
356 if(EN <= EIN[4]) GO TO 361
if(EN > XVIB1(NVIB1):
) GO TO 359
DO 357 J=2,NVIB1
if(EN <= XVIB1[J]:
) GO TO 358
357 CONTINUE
J=NVIB1
358 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN[4][I]=(A*EN+B)
GO TO 360
359 QIN[4][I]=YVIB1(NVIB1)*(XVIB1(NVIB1)/EN)**2
360 QIN[4][I]=QIN[4][I]/(1.0+APOP2)*1.e-16
if(EN > 10.0):
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]
# SUPERELASTIC VIB2 ANISOTROPIC ABOVE 10 EV
361 if(EN <= 0.0) GO TO 366
if((EN+EIN[6]:
) > XVIB2(NVIB2)) GO TO 364
DO 362 J=2,NVIB2
if((EN+EIN[6]:
) <= XVIB2[J]) GO TO 363
362 CONTINUE
J=NVIB2
363 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[5][I]=(EN+EIN[6])*(A*(EN+EIN[6])+B)/EN
GO TO 365
364 QIN[5][I]=YVIB2(NVIB2)*(XVIB2(NVIB2)/(EN+EIN[6]))**2
365 QIN[5][I]=QIN[5][I]*APOP3/(1.0+APOP3)*1.e-16
if(EN > 10.0):
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))]# VIB2 ANISOTROPIC ABOVE 10 EV
366 if(EN <= EIN[6]) GO TO 371
if(EN > XVIB2(NVIB2):
) GO TO 369
DO 367 J=2,NVIB2
if(EN <= XVIB2[J]:
) GO TO 368
367 CONTINUE
J=NVIB2
368 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[6][I]=(A*EN+B)
GO TO 370
369 QIN[6][I]=YVIB2(NVIB2)*(XVIB2(NVIB2)/EN)**2
370 QIN[6][I]=QIN[6][I]/(1.0+APOP3)*1.e-16
if(EN > 10.0):
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]
# SUPERELASTIC VIB3 ANISOTROPIC ABOVE 10 EV
371 if(EN <= 0.0) GO TO 376
if((EN+EIN[8]:
) > XVIB3(NVIB3)) GO TO 374
DO 372 J=2,NVIB3
if((EN+EIN[8]:
) <= XVIB3[J]) GO TO 373
372 CONTINUE
J=NVIB3
373 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN[7][I]=(EN+EIN[8])*(A*(EN+EIN[8])+B)/EN
GO TO 375
374 QIN[7][I]=YVIB3(NVIB3)*(XVIB3(NVIB3)/(EN+EIN[8]))**2
375 QIN[7][I]=QIN[7][I]*APOP4/(1.0+APOP4)*1.e-16
if(EN > 10.0):
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]# VIB3 ANISOTROPIC ABOBE 10 EV
376 if(EN <= EIN[8]) GO TO 381
if(EN > XVIB3(NVIB3):
) GO TO 379
DO 377 J=2,NVIB3
if(EN <= XVIB3[J]:
) GO TO 378
377 CONTINUE
J=NVIB3
378 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN[8][I]=(A*EN+B)
GO TO 380
379 QIN[8][I]=YVIB3(NVIB3)*(XVIB3(NVIB3)/EN)**2
380 QIN[8][I]=QIN[8][I]/(1.0+APOP4)*1.e-16
if(EN > 10.0):
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]
# VIB4 ANISOTROPIC ABOVE 10 EV
381 if(EN <= EIN[9]) GO TO 386
if(EN > XVIB4(NVIB4):
) GO TO 384
DO 382 J=2,NVIB4
if(EN <= XVIB4[J]:
) GO TO 383
382 CONTINUE
J=NVIB4
383 A=(YVIB4[J]-YVIB4[J-1])/(XVIB4[J]-XVIB4[J-1])
B=(XVIB4[J-1]*YVIB4[J]-XVIB4[J]*YVIB4[J-1])/(XVIB4[J-1]-XVIB4[J])
QIN[9][I]=(A*EN+B)*1.e-16
GO TO 385
384 QIN[9][I]=YVIB4(NVIB4)*(XVIB4(NVIB4)/EN)**2*1.e-16
385 if(EN > 10.0) PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]
# VIB HARMONICS ANISOTROPIC ABOVE 10 EV
386 if(EN <= EIN[10]) GO TO 391
if(EN > XVIB5[NVIB5]:
) GO TO 389
DO 387 J=2,NVIB5
if(EN <= XVIB5[J]:
) GO TO 388
387 CONTINUE
J=NVIB5
388 A=(YVIB5[J]-YVIB5[J-1])/(XVIB5[J]-XVIB5[J-1])
B=(XVIB5[J-1]*YVIB5[J]-XVIB5[J]*YVIB5[J-1])/(XVIB5[J-1]-XVIB5[J])
QIN[10][I]=(A*EN+B)*1.e-16
GO TO 390
389 QIN[10][I]=YVIB5[NVIB5]*(XVIB5[NVIB5]/EN)**2*1.e-16
390 if(EN > 10.0) PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
391 CONTINUE
#
# EXCITATION TO TRIPLET AND SINGLET LEVELS
#
# FIRST TRIPLET AT 6.85 EV
if(EN <= EIN[11]:
) GO TO 405
if(EN > XTR1[NTR1]:
) GO TO 403
DO 401 J=2,NTR1
if(EN <= XTR1[J]:
) GO TO 402
401 CONTINUE
J=NTR1
402 A=(YTR1[J]-YTR1[J-1])/(XTR1[J]-XTR1[J-1])
B=(XTR1[J-1]*YTR1[J]-XTR1[J]*YTR1[J-1])/(XTR1[J-1]-XTR1[J])
QIN[11][I]=(A*EN+B)*1.e-16
GO TO 404
# SCALE BY 1/E**2 ABOVE XTR1[NTR1] EV
403 QIN[11][I]=YTR1[NTR1]*(XTR1[NTR1]/EN)**2*1.e-16
404 if(EN <= (3.0*EIN[11])) GO TO 405
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
#
# SINGLET DISSOCIATION AT 7.93 EV BEF SCALING F=.000136
405 if(EN <= (EIN[12])) GO TO 406
QIN[12][I]=0.000136/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[12]+E[3])
if(QIN[12][I]:
< 0.0) QIN[12][I]=0.0
if(EN <= (3.0*EIN[12]:
)) GO TO 406
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
#
# SECOND TRIPLET AT 8.00 EV
406 if(EN <= EIN[13]) GO TO 411
if(EN > XTR2[NTR2]:
) GO TO 409
DO 407 J=2,NTR2
if(EN <= XTR2[J]:
) GO TO 408
407 CONTINUE
J=NTR2
408 A=(YTR2[J]-YTR2[J-1])/(XTR2[J]-XTR2[J-1])
B=(XTR2[J-1]*YTR2[J]-XTR2[J]*YTR2[J-1])/(XTR2[J-1]-XTR2[J])
QIN[13][I]=(A*EN+B)*1.e-16
GO TO 410
# SCALE BY 1/E**2 ABOVE XTR2[NTR2] EV
409 QIN[13][I]=YTR2[NTR2]*(XTR2[NTR2]/EN)**2*1.e-16
410 if(EN <= (3.0*EIN[13])) GO TO 411
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
#
# SINGLET DISSOCIATION AT 8.15 EV BEF SCALING F=.001744
411 if(EN <= (EIN[14])) GO TO 412
QIN[14][I]=0.001744/(EIN[14]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[14]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[14]+E[3])
if(QIN[14][I]:
< 0.0) QIN[14][I]=0.0
if(EN <= (3.0*EIN[14]:
)) GO TO 412
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# SINGLET DISSOCIATION AT 8.48 EV BEF SCALING F=.008187
412 if(EN <= (EIN[15])) GO TO 413
QIN[15][I]=0.008187/(EIN[15]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[15]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[15]+E[3])
if(QIN[15][I]:
< 0.0) QIN[15][I]=0.0
if(EN <= (3.0*EIN[15]:
)) GO TO 413
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# SINGLET DISSOCIATION AT 8.723 EV BEF SCALING F=.006312
413 if(EN <= (EIN[16])) GO TO 414
QIN[16][I]=0.006312/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[16]+E[3])
if(QIN[16][I]:
< 0.0) QIN[16][I]=0.0
if(EN <= (3.0*EIN[16]:
)) GO TO 414
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# SINGLET DISSOCIATION AT 8.865 EV BEF SCALING F=.011877
414 if(EN <= (EIN[17])) GO TO 415
QIN[17][I]=0.011877/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[17]+E[3])
if(QIN[17][I]:
< 0.0) QIN[17][I]=0.0
if(EN <= (3.0*EIN[17]:
)) GO TO 415
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# SINGLET DISSOCIATION AT 9.007 EV BEF SCALING F=.020856
415 if(EN <= (EIN[18])) GO TO 416
QIN[18][I]=0.020856/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])
if(QIN[18][I]:
< 0.0) QIN[18][I]=0.0
if(EN <= (3.0*EIN[18]:
)) GO TO 416
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# SINGLET DISSOCIATION AT 9.149 EV BEF SCALING F=.031444
416 if(EN <= (EIN[19])) GO TO 417
QIN[19][I]=0.031444/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[19]+E[3])
if(QIN[19][I]:
< 0.0) QIN[19][I]=0.0
if(EN <= (3.0*EIN[19]:
)) GO TO 417
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# SINGLET DISSOCIATION AT 9.291 EV BEF SCALING F=.039549
417 if(EN <= (EIN[21])) GO TO 418
QIN[20][I]=0.039549/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+E[3])
if(QIN[20][I]:
< 0.0) QIN[20][I]=0.0
if(EN <= (3.0*EIN[20]:
)) GO TO 418
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# SINGLET DISSOCIATION AT 9.433 EV BEF SCALING F=.042350
418 if(EN <= (EIN[21])) GO TO 419
QIN[21][I]=0.042350/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[21]+E[3])
if(QIN[21][I]:
< 0.0) QIN[21][I]=0.0
if(EN <= (3.0*EIN[21]:
)) GO TO 419
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# SINGLET DISSOCIATION AT 9.575 EV BEF SCALING F=.041113
419 if(EN <= (EIN[22])) GO TO 420
QIN[22][I]=0.041113/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[22]+E[3])
if(QIN[22][I]:
< 0.0) QIN[22][I]=0.0
if(EN <= (3.0*EIN[22]:
)) GO TO 420
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# SINGLET DISSOCIATION AT 9.717 EV BEF SCALING F=.038256
420 if(EN <= (EIN[23])) GO TO 421
QIN[23][I]=0.038256/(EIN[23]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[23]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[23]+E[3])
if(QIN[23][I]:
< 0.0) QIN[23][I]=0.0
if(EN <= (3.0*EIN[23]:
)) GO TO 421
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# SINGLET DISSOCIATION AT 9.859 EV BEF SCALING F=.036556
421 if(EN <= (EIN[24])) GO TO 422
QIN[24][I]=0.036556/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (3.0*EIN[24]:
)) GO TO 422
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
#
# THIRD TRIPLET AT 10.0 EV
422 if(EN <= EIN[25]) GO TO 427
if(EN > XTR3[NTR3]:
) GO TO 425
DO 423 J=2,NTR3
if(EN <= XTR3[J]:
) GO TO 424
423 CONTINUE
J=NTR3
424 A=(YTR3[J]-YTR3[J-1])/(XTR3[J]-XTR3[J-1])
B=(XTR3[J-1]*YTR3[J]-XTR3[J]*YTR3[J-1])/(XTR3[J-1]-XTR3[J])
QIN[25][I]=(A*EN+B)*1.e-16
GO TO 426
# SCALE BY 1/E**2 ABOVE XTR2[NTR2] EV
425 QIN[25][I]=YTR3[NTR3]*(XTR3[NTR3]/EN)**2*1.e-16
426 if(EN <= (3.0*EIN[25])) GO TO 427
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
#
# SINGLET DISSOCIATION AT 10.115 EV BEF SCALING F=.096232
427 if(EN <= (EIN[26])) GO TO 428
QIN[26][I]=0.096232/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])
if(QIN[26][I]:
< 0.0) QIN[26][I]=0.0
if(EN <= (3.0*EIN[26]:
)) GO TO 428
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# SINGLET DISSOCIATION AT 10.45 EV BEF SCALING F=.083738
428 if(EN <= (EIN[27])) GO TO 429
QIN[27][I]=0.083738/(EIN[27]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[27]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[27]+E[3])
if(QIN[27][I]:
< 0.0) QIN[27][I]=0.0
if(EN <= (3.0*EIN[27]:
)) GO TO 429
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# SINGLET DISSOCIATION AT 10.672 EV BEF SCALING F=.043456
429 if(EN <= (EIN[28])) GO TO 430
QIN[28][I]=0.043456/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+E[3])
if(QIN[28][I]:
< 0.0) QIN[28][I]=0.0
if(EN <= (3.0*EIN[28]:
)) GO TO 430
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# SINGLET DISSOCIATION AT 10.816 EV BEF SCALING F=.047436
430 if(EN <= (EIN[29])) GO TO 431
QIN[29][I]=0.047436/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+E[3])
if(QIN[29][I]:
< 0.0) QIN[29][I]=0.0
if(EN <= (3.0*EIN[29]:
)) GO TO 431
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# SINGLET DISSOCIATION AT 10.960 EV BEF SCALING F=.047800
431 if(EN <= (EIN[30])) GO TO 432
QIN[30][I]=0.047800/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])
if(QIN[30][I]:
< 0.0) QIN[30][I]=0.0
if(EN <= (3.0*EIN[30]:
)) GO TO 432
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# SINGLET DISSOCIATION AT 11.104 EV BEF SCALING F=.048914
432 if(EN <= (EIN[31])) GO TO 433
QIN[31][I]=0.048914/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[31]+E[3])
if(QIN[31][I]:
< 0.0) QIN[31][I]=0.0
if(EN <= (3.0*EIN[31]:
)) GO TO 433
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# SINGLET DISSOCIATION AT 11.248 EV BEF SCALING F=.054353
433 if(EN <= (EIN[32])) GO TO 434
QIN[32][I]=0.054353/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])
if(QIN[32][I]:
< 0.0) QIN[32][I]=0.0
if(EN <= (3.0*EIN[32]:
)) GO TO 434
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# SINGLET DISSOCIATION AT 11.392 EV BEF SCALING F=.061019
434 if(EN <= (EIN[33])) GO TO 435
QIN[33][I]=0.061019/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+E[3])
if(QIN[33][I]:
< 0.0) QIN[33][I]=0.0
if(EN <= (3.0*EIN[33]:
)) GO TO 435
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# SINGLET DISSOCIATION AT 11.732 EV BEF SCALING F=.244430
435 if(EN <= (EIN[34])) GO TO 436
QIN[34][I]=0.244430/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.0
if(EN <= (3.0*EIN[34]:
)) GO TO 436
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# SINGLET DISSOCIATION AT 12.4 EV BEF SCALING F=.284790
436 if(EN <= (EIN[35])) GO TO 437
QIN[35][I]=0.284790/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+E[3])
if(QIN[35][I]:
< 0.0) QIN[35][I]=0.0
if(EN <= (2.0*EIN[35]:
)) GO TO 437
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# SINGLET DISSOCIATION AT 13.0 EV BEF SCALING F=.095973
437 if(EN <= (EIN[36])) GO TO 438
QIN[36][I]=0.095973/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[36]+E[3])
if(QIN[36][I]:
< 0.0) QIN[36][I]=0.0
if(EN <= (2.0*EIN[36]:
)) GO TO 438
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
# SINGLET DISSOCIATION AT 13.5 EV BEF SCALING F=.090728
438 if(EN <= (EIN[37])) GO TO 439
QIN[37][I]=0.090728/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+E[3])
if(QIN[37][I]:
< 0.0) QIN[37][I]=0.0
if(EN <= (2.0*EIN[37]:
)) GO TO 439
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
# SINGLET DISSOCIATION AT 14.1 EV BEF SCALING F=.071357
439 if(EN <= (EIN[38])) GO TO 440
QIN[38][I]=0.071357/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+E[3])
if(QIN[38][I]:
< 0.0) QIN[38][I]=0.0
if(EN <= (2.0*EIN[38]:
)) GO TO 440
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
# SINGLET DISSOCIATION AT 14.7 EV BEF SCALING F=.074875
440 if(EN <= (EIN[39])) GO TO 441
QIN[39][I]=0.074875/(EIN[39]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[39]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[39]+E[3])
if(QIN[39][I]:
< 0.0) QIN[39][I]=0.0
if(EN <= (2.0*EIN[39]:
)) GO TO 441
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
# SINGLET DISSOCIATION AT 15.3 EV BEF SCALING F=.054542
441 if(EN <= (EIN[40])) GO TO 442
QIN[40][I]=0.054542/(EIN[40]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[40]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[40]+E[3])
if(QIN[40][I]:
< 0.0) QIN[40][I]=0.0
if(EN <= (2.0*EIN[40]:
)) GO TO 442
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
# SINGLET DISSOCIATION AT 15.9 EV BEF SCALING F=.022479
442 if(EN <= (EIN[41])) GO TO 443
QIN[41][I]=0.022479/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[41]+E[3])
if(QIN[41][I]:
< 0.0) QIN[41][I]=0.0
if(EN <= (2.0*EIN[41]:
)) GO TO 443
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
# SINGLET DISSOCIATION AT 16.5 EV BEF SCALING F=.008585
443 if(EN <= (EIN[42])) GO TO 444
QIN[42][I]=0.008585/(EIN[42]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[42]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[42]+E[3])
if(QIN[42][I]:
< 0.0) QIN[42][I]=0.0
if(EN <= (2.0*EIN[42]:
)) GO TO 444
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
# SINGLET DISSOCIATION AT 17.1 EV BEF SCALING F=.004524
444 if(EN <= (EIN[43])) GO TO 445
QIN[43][I]=0.004524/(EIN[43]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[43]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[43]+E[3])
if(QIN[43][I]:
< 0.0) QIN[43][I]=0.0
if(EN <= (2.0*EIN[43]:
)) GO TO 445
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
# SINGLET DISSOCIATION AT 17.7 EV BEF SCALING F=.004982
445 if(EN <= (EIN[44])) GO TO 446
QIN[44][I]=0.004982/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+E[3])
if(QIN[44][I]:
< 0.0) QIN[44][I]=0.0
if(EN <= (2.0*EIN[44]:
)) GO TO 446
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
# SINGLET DISSOCIATION AT 18.5 EV BEF SCALING F=.010130
446 if(EN <= (EIN[45])) GO TO 447
QIN[45][I]=0.010130/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])
if(QIN[45][I]:
< 0.0) QIN[45][I]=0.0
if(EN <= (2.0*EIN[45]:
)) GO TO 447
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
# SINGLET DISSOCIATION AT 19.5 EV BEF SCALING F=.013320
447 if(EN <= (EIN[46])) GO TO 448
QIN[46][I]=0.013320/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+E[3])
if(QIN[46][I]:
< 0.0) QIN[46][I]=0.0
if(EN <= (2.0*EIN[46]:
)) GO TO 448
PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]
# SINGLET DISSOCIATION AT 20.5 EV BEF SCALING F=.013310
448 if(EN <= (EIN[47])) GO TO 449
QIN[47][I]=0.013310/(EIN[47]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[47]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[47]+E[3])
if(QIN[47][I]:
< 0.0) QIN[47][I]=0.0
if(EN <= (2.0*EIN[47]:
)) GO TO 449
PEQIN[47][I]=PEQEL[2][(I-IOFFN[47])]
# SINGLET DISSOCIATION AT 21.5 EV BEF SCALING F=.010760
449 if(EN <= (EIN[48])) GO TO 450
QIN[48][I]=0.010760/(EIN[48]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[48]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[48]+E[3])
if(QIN[48][I]:
< 0.0) QIN[48][I]=0.0
if(EN <= (2.0*EIN[48]:
)) GO TO 450
PEQIN[48][I]=PEQEL[2][(I-IOFFN[48])]
# SINGLET DISSOCIATION AT 22.5 EV BEF SCALING F=.009797
450 if(EN <= (EIN[49])) GO TO 451
QIN[49][I]=0.009797/(EIN[49]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[49]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[49]+E[3])
if(QIN[49][I]:
< 0.0) QIN[49][I]=0.0
if(EN <= (2.0*EIN[49]:
)) GO TO 451
PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
# SINGLET DISSOCIATION AT 23.5 EV BEF SCALING F=.009198
451 if(EN <= (EIN[50])) GO TO 452
QIN[50][I]=0.009198/(EIN[50]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[50]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[50]+E[3])
if(QIN[50][I]:
< 0.0) QIN[50][I]=0.0
if(EN <= (2.0*EIN[50]:
)) GO TO 452
PEQIN[50][I]=PEQEL[2][(I-IOFFN[50])]
# SINGLET DISSOCIATION AT 24.5 EV BEF SCALING F=.008312
452 if(EN <= (EIN[51])) GO TO 453
QIN[51][I]=0.008312/(EIN[51]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[51]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[51]+E[3])
if(QIN[51][I]:
< 0.0) QIN[51][I]=0.0
if(EN <= (2.0*EIN[51]:
)) GO TO 453
PEQIN[51][I]=PEQEL[2][(I-IOFFN[51])]
# SINGLET DISSOCIATION AT 25.5 EV BEF SCALING F=.007139
453 if(EN <= (EIN[52])) GO TO 454
QIN[52][I]=0.007139/(EIN[52]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[52]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[52]+E[3])
if(QIN[52][I]:
< 0.0) QIN[52][I]=0.0
if(EN <= (2.0*EIN[52]:
)) GO TO 454
PEQIN[52][I]=PEQEL[2][(I-IOFFN[52])]
# SINGLET DISSOCIATION AT 26.5 EV BEF SCALING F=.004715
454 if(EN <= (EIN[53])) GO TO 455
QIN[53][I]=0.004715/(EIN[53]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[53]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[53]+E[3])
if(QIN[53][I]:
< 0.0) QIN[53][I]=0.0
if(EN <= (2.0*EIN[53]:
)) GO TO 455
PEQIN[53][I]=PEQEL[2][(I-IOFFN[53])]
# SINGLET DISSOCIATION AT 27.5 EV BEF SCALING F=.002137
455 if(EN <= (EIN[54])) GO TO 456
QIN[54][I]=0.002137/(EIN[54]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[54]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[54]+E[3])
if(QIN[54][I]:
< 0.0) QIN[54][I]=0.0
if(EN <= (2.0*EIN[54]:
)) GO TO 456
PEQIN[54][I]=PEQEL[2][(I-IOFFN[54])]
# SINGLET DISSOCIATION AT 28.5 EV BEF SCALING F=.000662
456 if(EN <= (EIN[55])) GO TO 457
QIN[55][I]=0.000662/(EIN[55]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[55]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[55]+E[3])
if(QIN[55][I]:
< 0.0) QIN[55][I]=0.0
if(EN <= (2.0*EIN[55]:
)) GO TO 457
PEQIN[55][I]=PEQEL[2][(I-IOFFN[55])]
457 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTION
QIN[56][I]=0.0
QIN[57][I]=0.0
if(EN <= 1000.):
GO TO 800
DO 780 J=2,NBRM
if(EN <= EBRM[J]:
) GO TO 790
780 CONTINUE
J=NBREM
790 A=(math.log(Z6T[J])-math.log(Z6T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z6T[J])*EBRM[J-1]-math.log(Z6T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
A1=(math.log(Z1T[J])-math.log(Z1T[J-1]))/(EBRM[J]-EBRM[J-1])
B1=(math.log(Z1T[J])*EBRM[J-1]-math.log(Z1T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[56][I]=math.exp(A*EN+B)*2.e-24
QIN[57][I]=math.exp(A1*EN+B1)*6.e-24
800 CONTINUE
#
# LOAD NULL COLLISIONS
#
# WINTERS DISSOCIATION X-SECTION REDUCED BY * 0.9
c WINTERS CHEM.PHYS. 36(1979)353
QNULL[1][I]=0.0
if(EN <= XNUL1[1]:
) GO TO 805
if(EN > XNUL1(NUL1):
) GO TO 803
DO 801 J=2,NUL1
if(EN <= XNUL1[J]:
) GO TO 802
801 CONTINUE
J=NUL1
802 A=(YNUL1[J]-YNUL1[J-1])/(XNUL1[J]-XNUL1[J-1])
B=(XNUL1[J-1]*YNUL1[J]-XNUL1[J]*YNUL1[J-1])/(XNUL1[J-1]-XNUL1[J])
QNULL[1][I]=(A*EN+B)*1.e-16*0.9*SCLN[1]
GO TO 805
# SCALE BY 1/E ABOVE XNUL1(NUL1)) EV
803 QNULL[1][I]=YNUL1(NUL1)*(XNUL1(NUL1)/EN)*1.e-16*0.9*SCLN[1]
#
# LIGHT EMISSION FROM H ALPHA
# MOHLMANN AND DE HEER CHEM.PHYS.19(1979)233
#
805 QNULL[2][I]=0.0
if(EN <= XNUL2[1]:
) GO TO 810
if(EN > XNUL2(NUL2):
) GO TO 808
DO 806 J=2,NUL2
if(EN <= XNUL2[J]:
) GO TO 807
806 CONTINUE
J=NUL2
807 A=(YNUL2[J]-YNUL2[J-1])/(XNUL2[J]-XNUL2[J-1])
B=(XNUL2[J-1]*YNUL2[J]-XNUL2[J]*YNUL2[J-1])/(XNUL2[J-1]-XNUL2[J])
QNULL[2][I]=(A*EN+B)*1.e-16*SCLN[2]
GO TO 810
# SCALE BY 1/E ABOVE XNUL2(NUL2)) EV
808 QNULL[2][I]=YNUL2(NUL2)*(XNUL2(NUL2)/EN)*1.e-16*SCLN[2]
#
# LIGHT EMISSION FROM CH2(A2DELTA - X2PI)
# MOHLMANN AND DE HEER CHEM.PHYS.19(1979)233
#
810 QNULL[3][I]=0.0
if(EN <= XNUL3[1]:
) GO TO 815
if(EN > XNUL3(NUL3):
) GO TO 813
DO 811 J=2,NUL3
if(EN <= XNUL3[J]:
) GO TO 812
811 CONTINUE
J=NUL3
812 A=(YNUL3[J]-YNUL3[J-1])/(XNUL3[J]-XNUL3[J-1])
B=(XNUL3[J-1]*YNUL3[J]-XNUL3[J]*YNUL3[J-1])/(XNUL3[J-1]-XNUL3[J])
QNULL[3][I]=(A*EN+B)*1.e-16*SCLN[3]
GO TO 815
# SCALE BY 1/E ABOVE XNUL3(NUL3)) EV
813 QNULL[3][I]=YNUL3(NUL3)*(XNUL3(NUL3)/EN)*1.e-16*SCLN[3]
#
815 CONTINUE
SUMEXC=0.0
DO 850 J=1,NIN
850 SUMEXC=SUMEXC+QIN[J][I]
SUMION=0.0
DO 851 J=1,NION
851 SUMION=SUMION+QION[J][I]
SUMATT=0.0
# DO 852 J=1,NATT
# 852 SUMATT=SUMATT+QATT[J][I]
SUMINEL=SUMEXC+SUMION+SUMATT
c WRITE(6,888) EN,SUMEXC,SUMION,SUMINEL
c 888 print(' EN=','%.3f' %,' SUMEXC=','%.3f' %,' SUMION=','%.3f' %,'SUMINEL=',
c /'%.3f' %)
1000 CONTINUE
# SAVE COMPUTE TIME
DO 1010 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 1011
# endif
1010 CONTINUE
1011 CONTINUE
if(EFINAL > 1000.):
NIN=57
#
return
# end
def GAS10(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
#
DIMENSION XEN(166),YMT(166),YEL(166),YEPS(166),XION[45],YIONG[45],YIONC[45],XION1[45],YION1[45],XION2[45],YION2[45],XION3[45],YION3[45],XION4[45],YION4[45],XION5[45],YION5[45],XION6[44],YION6[44],XION7[44],YION7[44],XION8[44],YION8[44],XION9[44],YION9[44],XION10[44],YION10[44],XION11[43],YION11[43],XION12[41],YION12[41],XION13[41],YION13[41],XION14[40],YION14[40],XION15[39],YION15[39],XION16[39],YION16[39],XION17[39],YION17[39],XION18[38],YION18[38],XION19[39],YION19[39],XION20[38],YION20[38],XION21[36],YION21[36],XION22[36],YION22[36],XION23[36],YION23[36],XION24(83),YION24(83),XATT1[9],YATT1[9],XATT2[9],YATT2[9], XVIB1[25],YVIB1[25],XVIB2[24],YVIB2[24],XVIB3[25],YVIB3[25], XVIB4[17],YVIB4[17],XTR1[14],YTR1[14],XTR2[11],YTR2[11],XTR3[11],YTR3[11],XTR4[11],YTR4[11],IOFFION[24],IOFFN(250)
DIMENSION XNUL1[14],YNUL1[14],XNUL2[14],YNUL2[14]
DIMENSION Z1T[25],Z6T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
XEN=[0.00,0.001,0.002,0.003,0.004,0.005,0.007,0.01,0.014,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.11,0.12, 0.13,0.14,0.16,0.18,0.20,0.22,0.24,0.27,0.30,0.35,0.40,0.50,0.60,0.80,1.00,1.40,2.00,2.50,3.00,3.50,4.00,5.00,6.00,7.00,7.50,8.50,10.0,12.5,15.0,17.5,20.0,25.0,30.0,35.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC MT : ABOVE 250EV FROM THEORY
# BELOW 250EV FIT TO TRANSPORT DATA
YMT=[50.9,50.9,42.6,37.0,33.3,29.6,25.5,20.8,18.0,15.3,13.1,11.6,10.4,9.08,7.79,6.36,5.03,3.61,2.85,2.52,2.47,2.47,2.75,3.23,3.94,4.80,5.40,6.45,7.35,8.35,9.07,10.05,10.9,11.8,12.3,12.8,13.6,14.4,15.7,17.5,19.5,23.3,27.2,29.0,29.0,28.0,25.5,21.5,18.5,17.0,15.5,12.8,11.0,9.50,8.40,6.90,5.80,5.00,4.40,4.00,3.60,2.85,2.27,1.85,1.59,1.22,.921,.725,.587,.486,.410,.304,.236,.188,.154,.129,.0878,.0639,.0488,.0386,.0260,.0188,.0143,.0112,9.08e-3,7.51e-3,5.41e-3,4.09e-3,3.21e-3,2.59e-3,2.14e-3,1.43e-3,1.03e-3,7.76e-4,6.08e-4,4.06e-4,2.92e-4,2.21e-4,1.74e-4,1.41e-4,1.17e-4,8.42e-5,6.41e-5,5.06e-5,4.12e-5,3.43e-5,2.33e-5,1.71e-5,1.32e-5,1.06e-5,7.32e-6,5.45e-6,4.26e-6,3.46e-6,2.87e-6,2.44e-6,1.84e-6,1.45e-6,1.19e-6,9.91e-7,8.44e-7,6.04e-7,4.55e-7,3.58e-7,2.90e-7,2.03e-7,1.51e-7,1.17e-7,9.36e-8,7.68e-8,6.42e-8,4.70e-8,3.60e-8,2.85e-8,2.31e-8,1.92e-8,1.29e-8,9.27e-9,7.01e-9,5.49e-9,3.64e-9,2.60e-9,1.95e-9,1.52e-9,1.22e-9,9.98e-10,7.06e-10,5.25e-10,4.06e-10,3.23e-10,2.63e-10,1.70e-10,1.19e-10,8.76e-11,6.72e-11,4.31e-11,3.00e-11,2.20e-11,1.69e-11,1.33e-11,1.08e-11,7.51e-12,5.52e-12,4.23e-12,3.34e-12,2.71e-12]
# ELASTIC: ABOVE 150EV FROM THEORY
# BETWEEN 0.5 AND 150 EV FROM CONSISTENCY IN TOTAL X-SECTION
# BELOW 0.5EV SIMILAR TO MERZ AND LINDER
YEL=[50.9,50.9,42.6,37.0,33.0,29.6,25.5,20.8,18.4,16.4,14.2,12.6,11.4,10.5,9.70,9.00,8.30,7.70,7.10,6.60,6.20,5.80,5.50,6.15,6.85,7.60,8.20,9.00,9.70,10.5,11.3,12.1,12.7,13.1,14.1,15.5,17.4,18.7,20.5,22.0,24.6,30.8,37.7,41.2,42.9,44.6,42.8,38.5,35.8,33.4,31.3,27.5,24.7,22.8,21.3,19.1,17.2,15.5,14.0,13.0,11.9,9.90,8.50,7.57,6.86,5.80,5.05,4.48,4.03,3.67,3.37,2.90,2.55,2.27,2.05,1.87,1.53,1.30,1.12,.993,.805,.677,.585,.515,.460,.416,.349,.301,.264,.236,.213,.172,.145,.125,.110,.0896,.0758,.0659,.0585,.0527,.0480,.0411,.0362,.0334,.0296,.0273,.0231,.0204,.0184,.0169,.0149,.0136,.0127,.0120,.0114,.0110,.0104,.00997,.00970,.00944,.00926,.00895,.00877,.00864,.00855,.00844,.00838,.00833,.00831,.00829,.00827,.00825,.00824,.00823,.00822,.00822,.00821,.00821,.00821,.00820,.00820,.00820,.00820,23*0.00820]
YEPS=[1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,.96740,.89959,.88412,.88129,.86888,.79880,.70972,.57649,.44800,.29459,.22957,.21203,.22682,.25233,.32703,.35433,.41118,.47945,.51353,.58989,.64598,.69856,.70909,.74912,.78931,.85180,.80991,.74224,.67932,.66312,.65727,.69887,.69494,.66427,.59639,.57278,.53606,.47475,.43564,.39174,.34508,.33665,.32195,.29117,.27113,.24366,.22319,.19428,.17440,.16276,.15632,.15128,.14738,.13657,.12181,.10656,.09845,.08527,.06923,.05829,.05019,.04390,.039014,.031780,.026828,.023104,.020285,.018120,.014236,.011650,9.981e-3,8.631e-3,6.832e-3,5.656e-3,4.828e-3,4.180e-3,3.711e-3,3.327e-3,2.765e-3,2.358e-3,2.063e-3,1.824e-3,1.642e-3,1.311e-3,1.089e-3,9.288e-4,8.106e-4,6.428e-4,5.323e-4,4.534e-4,3.948e-4,3.495e-4,3.140e-4,2.573e-4,2.179e-4,1.824e-4,1.657e-4,1.475e-4,1.151e-4,9.342e-5,7.843e-5,6.746e-5,5.133e-5,4.090e-5,3.356e-5,2.837e-5,2.439e-5,2.122e-5,1.653e-5,1.332e-5,1.105e-5,9.308e-6,7.972e-6,5.738e-6,4.306e-6,3.371e-6,2.711e-6,1.867e-6,1.365e-6,1.043e-6,8.219e-7,6.658e-7,5.504e-7,3.946e-7,2.968e-7,2.313e-7,1.849e-7,1.517e-7,9.933e-8,6.983e-8,5.185e-8,4.003e-8,2.586e-8,1.810e-8,1.334e-8,1.025e-8,8.120e-9,6.566e-9,4.555e-9,3.332e-9,2.541e-9,1.997e-9,1.608e-9,1.016e-9,6.98e-10,5.06e-10,3.83e-10,2.40e-10,1.64e-10,1.19e-10,9.0D-11,7.0D-11,5.6D-11,3.8D-11,2.8D-11,2.1D-11,1.6D-11,1.3D-11]
# GROSS IONISATION X-SECTION AVERAGE OF 1) WANG AND VIDAL
# And 2) TAWARA AND NISHIMURA
# ABOVE 2KEV USE SCHRAM NORMALISED TO 2KEV POINT OF TAWARA
# ABOVE 10KEV USE UPDATED FIT TO RIEKE AND PREPJCHAL WITH CORRECTED
# IONISATION OSCILLATOR STRENGTH
#
XION=[11.12,12.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
# GROSS IONISATION
YIONG=[0.00,.206,1.14,2.30,3.31,5.21,6.47,7.37,8.00,8.54,9.22,9.79,10.09,10.20,10.24,10.23,9.90,9.36,8.84,8.35,7.80,6.84,6.25,5.78,5.26,4.93,4.33,3.99,3.67,3.27,3.05,2.64,2.27,2.06,1.88,1.57,1.35,1.19,1.06,.887,.764,.673,.603,.548,.5024]
# COUNTING IONISATION
YIONC=[0.00,.206,1.14,2.30,3.31,5.21,6.47,7.32,7.81,8.00,8.43,8.83,9.019,9.118,9.154,9.145,8.85,8.37,7.90,7.46,6.97,6.11,5.59,5.17,4.70,4.41,3.87,3.57,3.28,2.92,2.73,2.36,2.03,1.84,1.68,1.40,1.21,1.06,.952,.793,.683,.602,.539,.490,.4491]
# BREAKUP CHANNELS FROM SCALED WANG AND VIDAL CORRECTED FOR DISSOCIATION
# FROM ++ STATES
#
# C3H8+
XION1=[11.11,12.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION1=[0.00,.055,.213,.337,.456,.722,.854,.877,.960,.920,.931,.964,.936,.945,.949,.948,.917,.867,.819,.773,.722,.634,.579,.535,.487,.457,.401,.370,.340,.303,.282,.245,.210,.191,.174,.145,.125,.110,.0987,.0822,.0708,.0624,.0559,.0508,.0465]
# C3H7+
XION2=[11.55,12.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION2=[0.00,.020,.126,.219,.295,.468,.579,.634,.649,.634,.646,.662,.666,.673,.675,.675,.653,.617,.583,.551,.514,.451,.412,.381,.347,.325,.286,.263,.242,.216,.201,.174,.150,.136,.124,.103,.0893,.0782,.0702,.0585,.0504,.0444,.0398,.0361,.0331]
# C3H6+
XION3=[11.75,12.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION3=[0.00,.003,.031,.051,.071,.113,.140,.153,.157,.153,.156,.160,.161,.162,.163,.163,.157,.149,.140,.133,.124,.109,.0993,.0919,.0836,.0784,.0688,.0634,.0583,.0520,.0485,.0420,.0361,.0327,.0299,.0249,.0215,.0188,.0169,.0141,.0121,.0107,.00958,.00871,.00798]
# C2H4+
XION4=[11.75,12.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION4=[0.00,.027,.257,.444,.604,.957,1.188,1.298,1.330,1.300,1.324,1.356,1.366,1.379,1.385,1.383,1.339,1.266,1.195,1.129,1.055,.9248,.8451,.7816,.7112,.6666,.5855,.5396,.4963,.4421,.4123,.3570,.3069,.2785,.2543,.2118,.1830,.1603,.1440,.1200,.1033,.0911,.0815,.0741,.0679]
# C2H5+
XION5=[11.91,12.0,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION5=[0.00,.016,.394,.684,.954,1.512,1.877,2.050,2.100,2.053,2.091,2.141,2.156,2.178,2.186,2.184,2.114,1.998,1.887,1.783,1.665,1.460,1.334,1.234,1.123,1.053,.9245,.8519,.7836,.6981,.6511,.5637,.4846,.4397,.4015,.3344,.2890,.2532,.2274,.1894,.1631,.1438,.1287,.1170,.1073]
# C3H5+
XION6=[13.48,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION6=[0.00,.044,.107,.163,.259,.321,.351,.359,.351,.358,.366,.369,.373,.374,.374,.362,.342,.323,.305,.285,.250,.228,.211,.192,.180,.158,.146,.134,.119,.111,.0964,.0829,.0752,.0687,.0572,.0494,.0433,.0389,.0324,.0279,.0246,.0220,.0200,.0184]
# CH3+
XION7=[13.65,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION7=[0.00,.019,.049,.078,.123,.153,.167,.171,.167,.170,.174,.175,.177,.177,.177,.171,.162,.153,.145,.135,.118,.108,.100,.0911,.0854,.0750,.0691,.0636,.0566,.0528,.0457,.0393,.0357,.0326,.0271,.0234,.0205,.0184,.0154,.0132,.0117,.0104,.00949,.00870]
# C3H4+
XION8=[13.79,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION8=[0.00,.0061,.0171,.0270,.0406,.0525,.0670,.0672,.0674,.0686,.0702,.0708,.0715,.0718,.0717,.0694,.0656,.0620,.0585,.0547,.0479,.0438,.0405,.0369,.0346,.0304,.0280,.0257,.0229,.0214,.0185,.0159,.0144,.0132,.0110,.00949,.00831,.00747,.00622,.00536,.00472,.00423,.00384,.00352]
# C2H2+
XION9=[14.1,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION9=[0.00,.013,.047,.078,.117,.151,.193,.223,.223,.226,.234,.229,.231,.232,.232,.224,.212,.200,.189,.177,.155,.142,.131,.119,.112,.0981,.0904,.0832,.0741,.0691,.0598,.0514,.0467,.0426,.0355,.0307,.0269,.0241,.0201,.173,.0153,.0137,.0124,.0114]
# C2H3+
XION10=[14.5,15.0,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION10=[0.00,.038,.219,.387,.582,.742,.964,.987,.965,.983,1.006,1.013,1.024,1.028,1.027,.9934,.9392,.8870,.8379,.7826,.6863,.6272,.5800,.5278,.4947,.4345,.4004,.3683,.3281,.3060,.2649,.2278,.2067,.1887,.1572,.1358,.1190,.1069,.0890,.0767,.0676,.0605,.0550,.0504]
# C3H3+
XION11=[16.5,17.5,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION11=[0.00,.125,.197,.312,.387,.423,.434,.424,.432,.442,.446,.450,.452,.451,.437,.413,.390,.368,.344,.302,.276,.255,.232,.218,.191,.176,.162,.144,.135,.116,.1001,.0909,.0830,.0691,.0597,.0523,.0470,.0391,.0337,.0297,.0266,.0242,.0222]
# H+
XION12=[20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION12=[0.00,.00175,.00656,.00845,.00879,.00016,.00016,.00016,.0093,.0172,.0173,.0173,.0167,.0158,.0149,.0141,.0131,.0115,.0105,.00973,.00886,.00830,.00729,.00672,.00618,.00551,.00514,.00445,.00382,.00347,.00317,.00264,.00228,.00200,.00179,.00149,.00129,.00113,.00102,.000923,.000846]
# H2+ AND H3+
XION13=[21.5,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION13=[0.00,.00070,.00246,.00455,.00527,.00685,.00710,.00784,.00916,.00925,.00929,.00928,.00898,.00849,.00802,.00758,.00708,.00621,.00567,.00524,.00477,.00447,.00393,.00362,.00333,.00297,.00277,.00240,.00206,.00187,.00171,.00142,.00123,.00108,.000966,.000805,.000693,.000611,.000547,.000497,.000456]
# CH2+
XION14=[25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION14=[0.00,.0146,.0262,.0409,.0385,.0475,.0527,.0573,.0578,.0581,.0580,.0561,.0531,.0501,.0473,.0442,.0388,.0354,.0328,.0298,.0279,.0245,.0226,.0208,.0185,.0173,.0150,.0129,.0117,.0107,.00888,.00767,.00672,.00604,.00503,.00433,.00382,.00342,.00311,.00285]
# C3H2+
XION15=[26.5,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION15=[0.00,.032,.067,.088,.113,.116,.121,.128,.123,.123,.119,.112,.106,.100,.0934,.0819,.0749,.0692,.0630,.0591,.0519,.0478,.0440,.0392,.0365,.0316,.0272,.0247,.0225,.0188,.0162,.0142,.0128,.0106,.00915,.00807,.00722,.00657,.00602]
# C3H+
XION16=[29.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION16=[0.00,.0196,.0412,.0539,.0694,.0724,.0744,.0751,.0754,.0754,.0729,.0689,.0651,.0615,.0574,.0504,.0460,.0426,.0387,.0363,.0319,.0294,.0270,.0241,.0225,.0194,.0167,.0152,.0139,.0115,.00997,.00873,.00784,.00653,.00563,.00496,.00444,.00404,.00370]
# C2H+
XION17=[30.4,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION17=[0.00,.0048,.0121,.0131,.0169,.0176,.0181,.0183,.0183,.0183,.0177,.0168,.0158,.0150,.0140,.0123,.0112,.0104,.00942,.00883,.00776,.00715,.00658,.00586,.00546,.00473,.00407,.00369,.00337,.00281,.00242,.00212,.00191,.00159,.00137,.00121,.00108,.000982,.000900]
# ALL STABLE ++ STATES
XION18=[32.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION18=[0.00,.0062,.0178,.0262,.0321,.0369,.0372,.0374,.0374,.0362,.0342,.0323,.0305,.0285,.0250,.0228,.0211,.0192,.0180,.0158,.0146,.0134,.0119,.0111,.00964,.00829,.00752,.00687,.00572,.00494,.00433,.00389,.00324,.00279,.00246,.00220,.00200,.00183]
# ALL DISSOCIATING ++ STATES
XION19=[32.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION19=[0.00,.0460,.1797,.5189,.7608,.9316,1.0718,1.0824,1.0867,1.0856,1.0506,.9933,.9381,.8861,.8277,.7258,.6633,.6134,.5582,.5232,.4595,.4235,.3895,.3470,.3236,.2802,.2409,.2186,.1996,.1662,.1436,.1258,.1130,.0941,.0811,.0715,.0640,.0582,.0533]
# CH+
XION20=[36.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION20=[0.00,.0040,.0077,.0106,.0145,.0187,.0189,.0189,.0189,.0183,.0173,.0164,.0155,.0144,.0127,.0116,.0107,.00973,.00912,.00801,.00738,.00679,.00605,.00564,.00489,.00420,.00381,.00348,.00290,.00250,.00219,.00197,.00164,.00141,.00125,.00112,.00101,.000930]
# C+
XION21=[39.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION21=[0.00,.00080,.00388,.00756,.00763,.00766,.00765,.00741,.00700,.00661,.00625,.00584,.00512,.00468,.00432,.00394,.00369,.00324,.00299,.00275,.00245,.00228,.00198,.00170,.00154,.00141,.00117,.00101,.000887,.000797,.000664,.000572,.000504,.000451,.000410,.000376]
# C2+
XION22=[39.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION22=[0.00,.000054,.000264,.000515,.000520,.000522,.000521,.000504,.000477,.000450,.000425,.000397,.000348,.000318,.000295,.000268,.000251,.000221,.000203,.000187,.000167,.000155,.000135,.000116,.000105,.000096,.000080,.000069,.000060,.000054,.000045,.000039,.000034,.000031,.000028,.0000256]
# C3+
XION23=[39.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.]
YION23=[0.00,.00099,.00481,.00934,.00943,.00947,.00946,.00915,.00865,.00817,.00772,.00721,.00632,.00578,.00534,.00486,.00456,.00400,.00369,.00339,.00302,.00282,.00244,.00210,.00190,.00174,.00145,.00125,.00110,.00098,.00082,.00071,.00062,.00056,.00051,.000464]
# K-SHELL IONISATION X-SECTION CARBON (SCALED BY 3 IN def)
XION24=[285.,298.,307.,316.,325.,335.,345.,365.,398.,422.,447.,473.,501.,531.,613.,668.,708.,750.,817.,917.,1000.,1122.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.0D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.0D6,1.26D6,1.5D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.0D7,1.26D7,1.5D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.0D8,1.26D8,1.5D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.0D9]
YION24=[0.00,1.66e-4,3.48e-4,5.25e-4,6.96e-4,8.63e-4,1.02e-3,1.33e-3,1.75e-3,2.01e-3,2.24e-3,2.46e-3,2.66e-3,2.84e-3,3.21e-3,3.38e-3,3.47e-3,3.55e-3,3.65e-3,3.72e-3,3.75e-3,3.74e-3,3.68e-3,3.57e-3,3.45e-3,3.31e-3,3.19e-3,3.07e-3,2.91e-3,2.66e-3,2.25e-3,1.95e-3,1.55e-3,1.21e-3,8.97e-4,7.07e-4,6.07e-4,5.21e-4,4.21e-4,3.63e-4,3.14e-4,2.84e-4,2.57e-4,2.25e-4,1.74e-4,1.50e-4,1.28e-4,1.15e-4,1.09e-4,1.05e-4,1.03e-4,1.02e-4,1.01e-4,1.005e-4,1.01e-4,1.03e-4,1.07e-4,1.11e-4,1.14e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.29e-4,1.32e-4,1.38e-4,1.45e-4,1.50e-4,1.54e-4,1.58e-4,1.60e-4,1.63e-4,1.67e-4,1.71e-4,1.74e-4,1.80e-4,1.87e-4,1.92e-4,1.96e-4,2.00e-4,2.02e-4,2.05e-4,2.09e-4]
#
# CH3- ATTACHMENT
XATT1=[7.60,8.00,8.50,9.00,9.50,10.0,10.5,11.0,11.5]
YATT1=[0.00,2.4D-6,1.1D-5,5.1D-5,6.0D-5,5.1D-5,1.1D-5,2.4D-6,0.0]
# H- ATTACHMENT
XATT2=[7.80,8.00,8.50,9.00,9.50,10.0,10.5,11.0,11.5]
YATT2=[0.00,1.6D-5,7.2D-5,2.8D-4,4.0D-4,2.8D-4,7.2D-5,1.6D-5,0.0]
#
XVIB1=[.108,.125,0.14,0.15,.175,0.20,.225,0.25,0.30,0.40,0.50,0.70,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.50,8.50,10.0,12.5,15.0,20.0]
YVIB1=[0.00,.137,.222,.265,.312,.359,.368,.368,.333,.282,.248,.205,.162,.162,.197,.291,.432,.567,.731,.957,1.02,.787,.585,.475,.325]
XVIB2=[.173,0.18,0.19,0.20,.215,0.23,0.25,0.30,0.40,0.50,0.70,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.50,8.50,10.0,12.5,15.0,20.0]
YVIB2=[0.00,.085,.180,.248,.299,.325,.351,.368,.351,.325,.274,.222,.205,.214,.332,.493,.647,.835,1.09,1.16,.898,.665,.531,.370]
XVIB3=[.363,0.38,0.40,.425,0.45,.475,0.50,0.55,0.60,0.65,0.70,0.80,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.50,10.0,12.5,15.0,20.0]
YVIB3=[0.00,.226,.314,.379,.420,.446,.465,.485,.493,.493,.489,.474,.437,.418,.456,.665,.950,1.23,1.65,2.00,1.70,1.32,1.02,0.80,0.56]
XVIB4=[.519,1.00,1.25,1.50,2.00,2.50,3.00,3.50,4.00,5.00,6.00,7.50,8.50,10.0,12.5,15.0,20.0]
YVIB4=[0.00,.000,.005,.0075,.0163,.030,.0513,.080,.118,.218,.363,.613,.625,.500,.350,.269,.175]
# EFFECTIVE TRIPLET LEVELS
# NON DIPOLE LEVEL AT 6.60 EV
XTR1=[6.60,7.15,7.70,8.00,8.70,9.70,10.7,11.7,13.7,15.7,18.7,21.7,25.7,29.7]
YTR1=[0.00,.072,.216,.304,.384,.409,.424,.432,.424,.408,.352,.296,.216,.160]
# NON DIPOLE LEVEL AT 7.70 EV
XTR2=[7.70,9.20,10.2,11.2,12.2,14.2,16.2,19.2,22.2,26.2,29.7]
YTR2=[0.00,.164,.236,.265,.282,.295,.295,.275,.235,.175,.140]
# NON DIPOLE LEVEL AT 9.60 EV
XTR3=[9.60,10.6,11.6,12.6,13.6,16.6,19.6,22.6,26.6,29.6,34.6]
YTR3=[0.00,.298,.614,.716,.810,.853,.853,.810,.702,.610,.464]
# NON DIPOLE LEVEL AT 26.0 EV
XTR4=[26.0,27.0,28.0,29.0,30.0,33.0,36.0,39.0,43.0,46.0,51.0]
YTR4=[0.00,1.43,2.95,3.44,3.89,4.08,4.08,3.89,3.37,2.93,2.22]
#
# BREMSSTRAHLUNG X-SECTION WITH CUT UNITS 10**-24
Z1T=[11.3,6.18,2.80,1.54,.858,.407,.251,.176,.145,.150,.167,.178,.187,.193,.198,.205,.210,.218,.222,.228,.231,.233,.234,.235,.235]
Z6T=[298.,178.,85.2,47.5,26.3,12.2,7.06,4.45,3.06,2.82,2.89,2.99,3.08,3.13,3.18,3.25,3.31,3.39,3.44,3.49,3.52,3.54,3.55,3.57,3.57]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# LIGHT EMISSION FROM H ALPHA
# MOHLMANN CHEM PHYS 19(1977)233
XNUL1=[18.0,20.0,40.0,60.0,80.0,100.,150.,200.,300.,500.,1000.,1300.,1700.,2000.]
YNUL1=[0.0,.0019,.0073,.0140,.0162,.0178,.0181,.0144,.0093,.0053,.0025,.0019,.0014,.0012]
# LIGHT EMISSION FROM CH2(A2DELTA -X2PI)
# MOHLMANN CHEM PHYS 19(1977)233
XNUL2=[16.0,20.0,40.0,60.0,80.0,100.,150.,200.,300.,500.,1000.,1300.,1700.,2000.]
YNUL2=[0.0,.000,.0037,.0054,.0056,.0053,.0048,.0041,.0028,.0016,.0007,.0005,.0004,.0003]
# ---------------------------------------------------------------------
# ----------------------------------------------------------------------
# UPDATE OF PROPANE TO INCLUDE DISSOCIATIVE IONISATION AND
# OSCILLATOR STRENGTH FOR NEUTRAL DISSOCIATION .
# EXT# endED BASE TO HIGH ENERGY TO ALLOW USE IN DEGRAD
#
# NANISO=0
if(NANISO == 0):
:
NAME=' C3H8 2017 ISOTROPIC '
else:
NAME=' C3H8 2017 ANISOTROPIC '
# endif
# ---------------------------------------------------------------------
# BORN-BETHE CONSTANTS
A0=0.52917720859e-08
RY=13.60569193
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
BBCONST=16.00*API*A0*A0*RY*RY/EMASS2
#
# BORN BETHE FOR IONISATION
AM2=10.52
C=125.50
# ARRAY SIZE
NASIZE=4000
#
NION=24
NATT=2
NIN=64
NNULL=2
IONMODEL=1
#
NBREM=25
DO 8 J=1,NIN
IZBR[J]=0
8 CONTINUE
IZBR(NIN+1)=6
IZBR(NIN+2)=1
#
DO 1 J=1,6
1 KEL[J]=NANISO
# SET VIBRATIONAL ANGULAR DISTRIBUTIONS TO ANISOTROPIC
DO 2 J=1,8
2 KIN[J]=NANISO
# SET ANG DITRIBUTIONS FOR DISSOCIATIVE EXCITATIONS TO OKHRIMOVSKYY TYPE
DO 31 J=9,NIN
31 KIN[J]=2
#
NDATA=166
NIONG=46
NION1=45
NION2=45
NION3=45
NION4=45
NION5=45
NION6=44
NION7=44
NION8=44
NION9=44
NION10=44
NION11=43
NION12=41
NION13=41
NION14=40
NION15=39
NION16=39
NION17=39
NION18=38
NION19=39
NION20=38
NION21=36
NION22=36
NION23=36
NION24=83
#
NATT1=9
NATT2=9
NVIB1=25
NVIB2=24
NVIB3=25
NVIB4=17
NTR1=14
NTR2=11
NTR3=11
NTR4=11
NUL1=14
NUL2=14
# SCALING OF NULL CROSS-SECTION
SCLN[1]=1.0
SCLN[2]=1.0
#
E[1]=0.0
E[2]=2.0*EMASS/(44.09652*AMU)
E[3]=11.05
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=11.11
EION[2]=11.55
EION[3]=11.75
EION[4]=11.75
EION[5]=11.91
EION[6]=13.48
EION[7]=13.65
EION[8]=13.79
EION[9]=14.1
EION[10]=14.5
EION[11]=16.5
EION[12]=20.0
EION[13]=21.5
EION[14]=25.0
EION[15]=26.5
EION[16]=29.0
EION[17]=30.4
EION[18]=32.0
EION[19]=32.0
EION[20]=36.0
EION[21]=39.0
EION[22]=39.0
EION[23]=39.0
EION[24]=285.0
# OPAL BEATY
SCLOBY=1.0
DO 33 J=1,NION
EOBY[J]=EION[J]*SCLOBY
33 CONTINUE
EOBY(NION)=EOBY(NION)*0.63
#
ESPLIT(1,1)=0.80*EION[2]
ESPLIT(1,2)=0.58*EION[2]
#
DO 44 JK=1,23
LEGAS(JK)=0
ISHELL(JK)=0
NC0(JK)=0
EC0(JK)=0.0
WKLM(JK)=0.0
EFL(JK)=0.0
NG1(JK)=0
EG1(JK)=0.0
NG2(JK)=0
EG2(JK)=0.0
44 CONTINUE
# DOUBLE CHARGE , ++ ION STATES ( EXTRA ELECTRON )
NC0[18]=1
EC0[18]=4.0
NC0[19]=1
EC0[19]=4.0
# FLUORESCENCE (KSHELL)
LEGAS[24]=1
ISHELL[24]=1
NC0[24]=2
EC0[24]=253.0
WKLM[24]=0.0026
EFL[24]=273.0
NG1[24]=1
EG1[24]=253.0
NG2[24]=2
EG2[24]=5.
# OFFSET ENERGY FOR IONISATION ELECTRON ANGULAR DISTRIBUTION
DO 776 J=1,NION
DO 777 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=-0.036
EIN[2]=0.036
EIN[3]=-0.108
EIN[4]=0.108
EIN[5]=-0.173
EIN[6]=0.173
EIN[7]=0.363
EIN[8]=0.519
EIN[9]=6.60
EIN[10]=7.65
EIN[11]=7.70
EIN[12]=7.95
EIN[13]=8.25
EIN[14]=8.55
EIN[15]=8.85
EIN[16]=9.15
EIN[17]=9.45
EIN[18]=9.60
EIN[19]=9.75
EIN[20]=10.05
EIN[21]=10.35
EIN[22]=10.65
EIN[23]=10.9
EIN[24]=11.1
EIN[25]=11.3
EIN[26]=11.5
EIN[27]=11.7
EIN[28]=11.9
EIN[29]=12.1
EIN[30]=12.3
EIN[31]=12.5
EIN[32]=12.7
EIN[33]=12.9
EIN[34]=13.1
EIN[35]=13.3
EIN[36]=13.5
EIN[37]=13.7
EIN[38]=13.9
EIN[39]=14.1
EIN[40]=14.3
EIN[41]=14.5
EIN[42]=14.7
EIN[43]=14.9
EIN[44]=15.2
EIN[45]=15.6
EIN[46]=16.0
EIN[47]=16.4
EIN[48]=16.8
EIN[49]=17.25
EIN[50]=17.75
EIN[51]=18.25
EIN[52]=18.75
EIN[53]=19.25
EIN[54]=19.75
EIN[55]=20.25
EIN[56]=20.75
EIN[57]=21.5
EIN[58]=22.5
EIN[59]=23.5
EIN[60]=24.5
EIN[61]=25.5
EIN[62]=26.0
EIN[63]=26.5
EIN[64]=27.5
EIN(65)=0.0
EIN(66)=0.0
# OFFSET ENERGY FOR EXCITATION LEVELS ANGULAR DISTRIBUTION
DO 3 NL=1,NIN
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 3
# endif
651 CONTINUE
3 CONTINUE
#***********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# LEVELS THAT ARE DISSOCIATIVE DO NOT GIVE PENNING TRANSFERS
DO 4 K=1,NIN
DO 4 L=1,3
4 PENFRA[L,K]=0.0
# ENTER PENNING CONSTANTS IN PREVIOUS LINE
if(IPEN == 0):
GO TO 6
# PRINT OUT PENNING CONSTANTS
DO 5 KDUM=1,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 5
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A25,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
5 CONTINUE
#***********************************************************************
#
6 SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC PROPANE 2017 '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC PROPANE 2017 '
# endif
SCRPT[3]=' IONISATION C3H8+ ELOSS=11.11 '
SCRPT[4]=' IONISATION C3H7+ ELOSS=11.55 '
SCRPT[5]=' IONISATION C3H6+ ELOSS=11.75 '
SCRPT[6]=' IONISATION C2H4+ ELOSS=11.75 '
SCRPT[7]=' IONISATION C2H5+ ELOSS=11.91 '
SCRPT[8]=' IONISATION C3H5+ ELOSS=13.48 '
SCRPT[9]=' IONISATION CH3+ ELOSS=13.65 '
SCRPT[10]=' IONISATION C3H4+ ELOSS=13.79 '
SCRPT[11]=' IONISATION C2H2+ ELOSS=14.1 '
SCRPT[12]=' IONISATION C2H3+ ELOSS=14.5 '
SCRPT[13]=' IONISATION C3H3+ ELOSS=16.5 '
SCRPT[14]=' IONISATION H+ ELOSS=20.0 '
SCRPT[15]=' IONISATION H2+ AND H3+ ELOSS=21.5 '
SCRPT[16]=' IONISATION CH2+ ELOSS=25.0 '
SCRPT[17]=' IONISATION C3H2+ ELOSS=26.5 '
SCRPT[18]=' IONISATION C3H+ ELOSS=29.0 '
SCRPT[19]=' IONISATION C2H+ ELOSS=30.4 '
SCRPT[20]=' IONISATION ++ STATES STABLE ELOSS=32.0 '
SCRPT[21]=' IONISATION ++ STATES DISSOC. ELOSS=32.0 '
SCRPT[22]=' IONISATION CH+ ELOSS=36.0 '
SCRPT[23]=' IONISATION C+ ELOSS=39.0 '
SCRPT[24]=' IONISATION C2+ ELOSS=39.0 '
SCRPT[25]=' IONISATION C3+ ELOSS=39.0 '
SCRPT[26]=' IONISATION CARBON K-SHELL ELOSS=285.0 '
SCRPT[27]=' ATTACHMENT CH3- '
SCRPT[28]=' ATTACHMENT H- '
SCRPT[29]=' '
SCRPT[30]=' '
SCRPT[31]=' TORSION SUPERELASTIC ELOSS= -0.036 '
SCRPT[32]=' TORSION ELOSS= 0.036 '
SCRPT[33]=' VIB ROCK AND STRETCH SUPERELASTIC ELOSS= -0.108 '
SCRPT[34]=' VIB ROCK AND STRETCH ELOSS= 0.108 '
SCRPT[35]=' VIB DEprintION SUPERELASTIC ELOSS= -0.173 '
SCRPT[36]=' VIB DEprintION ELOSS= 0.173 '
SCRPT[37]=' VIB STRETCH ELOSS= 0.363 '
SCRPT[38]=' VIB HARMONICS ELOSS= 0.519 '
SCRPT[39]=' TRIPLET DISSOCIATION ELOSS= 6.60 '
SCRPT[40]=' SINGLET DISSOC. F=0.000339 ELOSS= 7.65 '
SCRPT[41]=' TRIPLET DISSOCIATION ELOSS= 7.70 '
SCRPT[42]=' SINGLET DISSOC. F=0.004660 ELOSS= 7.95 '
SCRPT[43]=' SINGLET DISSOC. F=0.012816 ELOSS= 8.25 '
SCRPT[44]=' SINGLET DISSOC. F=0.037747 ELOSS= 8.55 '
SCRPT[45]=' SINGLET DISSOC. F=0.081783 ELOSS= 8.85 '
SCRPT[46]=' SINGLET DISSOC. F=0.084248 ELOSS= 9.15 '
SCRPT[47]=' SINGLET DISSOC. F=0.090347 ELOSS= 9.45 '
SCRPT[48]=' TRIPLET DISSOCIATION ELOSS= 9.60 '
SCRPT[49]=' SINGLET DISSOC. F=0.098580 ELOSS= 9.75 '
SCRPT[50]=' SINGLET DISSOC. F=0.10415 ELOSS= 10.05 '
SCRPT[51]=' SINGLET DISSOC. F=0.11379 ELOSS= 10.35 '
SCRPT[52]=' SINGLET DISSOC. F=0.12674 ELOSS= 10.65 '
SCRPT[53]=' SINGLET DISSOC. F=0.096356 ELOSS= 10.9 '
SCRPT[54]=' SINGLET DISSOC. F=0.10387 ELOSS= 11.1 '
SCRPT[55]=' SINGLET DISSOC. F=0.10183 ELOSS= 11.3 '
SCRPT[56]=' SINGLET DISSOC. F=0.096718 ELOSS= 11.5 '
SCRPT[57]=' SINGLET DISSOC. F=0.090149 ELOSS= 11.7 '
SCRPT[58]=' SINGLET DISSOC. F=0.086661 ELOSS= 11.9 '
SCRPT[59]=' SINGLET DISSOC. F=0.086097 ELOSS= 12.1 '
SCRPT[60]=' SINGLET DISSOC. F=0.083324 ELOSS= 12.3 '
SCRPT[61]=' SINGLET DISSOC. F=0.079943 ELOSS= 12.5 '
SCRPT[62]=' SINGLET DISSOC. F=0.077210 ELOSS= 12.7 '
SCRPT[63]=' SINGLET DISSOC. F=0.070368 ELOSS= 12.9 '
SCRPT[64]=' SINGLET DISSOC. F=0.061365 ELOSS= 13.1 '
SCRPT(65)=' SINGLET DISSOC. F=0.053208 ELOSS= 13.3 '
SCRPT(66)=' SINGLET DISSOC. F=0.046320 ELOSS= 13.5 '
SCRPT(67)=' SINGLET DISSOC. F=0.042827 ELOSS= 13.7 '
SCRPT(68)=' SINGLET DISSOC. F=0.038898 ELOSS= 13.9 '
SCRPT(69)=' SINGLET DISSOC. F=0.035930 ELOSS= 14.1 '
SCRPT(70)=' SINGLET DISSOC. F=0.033632 ELOSS= 14.3 '
SCRPT(71)=' SINGLET DISSOC. F=0.030562 ELOSS= 14.5 '
SCRPT(72)=' SINGLET DISSOC. F=0.028559 ELOSS= 14.7 '
SCRPT(73)=' SINGLET DISSOC. F=0.027052 ELOSS= 14.9 '
SCRPT(74)=' SINGLET DISSOC. F=0.048051 ELOSS= 15.2 '
SCRPT(75)=' SINGLET DISSOC. F=0.036375 ELOSS= 15.6 '
SCRPT(76)=' SINGLET DISSOC. F=0.020165 ELOSS= 16.0 '
SCRPT(77)=' SINGLET DISSOC. F=0.010038 ELOSS= 16.4 '
SCRPT(78)=' SINGLET DISSOC. F=0.0054441 ELOSS= 16.8 '
SCRPT(79)=' SINGLET DISSOC. F=0.0050790 ELOSS= 17.25 '
SCRPT(80)=' SINGLET DISSOC. F=0.0057699 ELOSS= 17.75 '
SCRPT(81)=' SINGLET DISSOC. F=0.0072715 ELOSS= 18.25 '
SCRPT(82)=' SINGLET DISSOC. F=0.010296 ELOSS= 18.75 '
SCRPT(83)=' SINGLET DISSOC. F=0.014152 ELOSS= 19.25 '
SCRPT(84)=' SINGLET DISSOC. F=0.013698 ELOSS= 19.75 '
SCRPT(85)=' SINGLET DISSOC. F=0.010362 ELOSS= 20.25 '
SCRPT(86)=' SINGLET DISSOC. F=0.0088401 ELOSS= 20.75 '
SCRPT(87)=' SINGLET DISSOC. F=0.022195 ELOSS= 21.5 '
SCRPT(88)=' SINGLET DISSOC. F=0.0191721 ELOSS= 22.5 '
SCRPT(89)=' SINGLET DISSOC. F=0.011553 ELOSS= 23.5 '
SCRPT(90)=' SINGLET DISSOC. F=0.0089679 ELOSS= 24.5 '
SCRPT(91)=' SINGLET DISSOC. F=0.0064815 ELOSS= 25.5 '
SCRPT(92)=' TRIPLET DISSOCIATION ELOSS= 26.0 '
SCRPT(93)=' SINGLET DISSOC. F=0.0035484 ELOSS= 26.5 '
SCRPT(94)=' SINGLET DISSOC. F=0.0010872 ELOSS= 27.5 '
SCRPT(95)=' BREMSSTRAHLUNG FROM CARBON ATOM '
SCRPT(96)=' BREMSSTRAHLUNG FROM HYDROGEN ATOM '
# NULL COLLISIONS
SCRPTN[1]=' C3H8: LIGHT EMISSION : Halpha '
SCRPTN[2]=' C3H8: LIGHT EMISSION : CH2(A2DELTA-X2PI) '
#
# CALC LEVEL POPULATIONS
APOP1=math.exp(EIN[1]/AKT)
APOP2=math.exp(EIN[3]/AKT)
APOP3=math.exp(EIN[5]/AKT)
#
# EN=-ESTEP/2.0
DO 1000 I=1,NSTEP
EN=EG[I]
ENLG=math.log(EN)
# EN=EN+ESTEP
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
#
DO 10 J=2,N
if(EN > 10.0):
GO TO 21
if(EN <= XEN[J]:
) GO TO 20
10 CONTINUE
J=N
20 A=(YMT[J]-YMT[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YMT[J]-XEN[J]*YMT[J-1])/(XEN[J-1]-XEN[J])
QMT=(A*EN+B)*1.e-16
A=(YEL[J]-YEL[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEL[J]-XEN[J]*YEL[J-1])/(XEN[J-1]-XEN[J])
QEL=(A*EN+B)*1.e-16
A=(YEPS[J]-YEPS[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEPS[J]-XEN[J]*YEPS[J-1])/(XEN[J-1]-XEN[J])
PQ2=A*EN+B
GO TO 30
# USE LOG INTERPOLATION ABOVE 10 EV
21 DO 22 J=2,NDATA
if(EN <= XEN[J]:
) GO TO 23
22 CONTINUE
J=NDATA
23 YXJ=math.log(YEL[J])
YXJ1=math.log(YEL[J-1])
XNJ=math.log(XEN[J])
XNJ1=math.log(XEN[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QEL=math.exp(A*math.log(EN)+B)*1.e-16
YXJ=math.log(YMT[J])
YXJ1=math.log(YMT[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QMT=math.exp(A*math.log(EN)+B)*1.e-16
YXJ=math.log(YEPS[J])
YXJ1=math.log(YEPS[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
PQ2=math.exp(A*math.log(EN)+B)
30 CONTINUE
# EPSILON = 1-YEPS
PQ2=1.00-PQ2
PQ1=0.5+(QEL-QMT)/QEL
# CALCULATE PQ1 AND PQ2
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QEL
if(NANISO == 0):
Q[2][I]=QMT
#
# IONISATION
#
Q[3][I]=0.0
DO 40 L=1,NION
QION(L,I)=0.00
PEQION(L,I)=0.5
if(NANISO == 2):
PEQION(L,I)=0.0
40 CONTINUE
# CALCULATE GROSS AND COUNTING IONISATIONS
# NOT USED: ONLY FOR COMPARISON TO TOTAL OF SUMMED IONISATION CHANNELS
#
# GROSS AND COUNTING IONISATIONS:
#
if(EN <= EION[1]:
) GO TO 50
if(EN > XION(NIONG):
) GO TO 43
DO 41 J=2,NIONG
if(EN <= XION[J]:
) GO TO 42
41 CONTINUE
J=NION
42 A=(YIONG[J]-YIONG[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIONG[J]-XION[J]*YIONG[J-1])/(XION[J-1]-XION[J])
QIONG=(A*EN+B)*1.e-16
A=(YIONC[J]-YIONC[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIONC[J]-XION[J]*YIONC[J-1])/(XION[J-1]-XION[J])
QIONC=(A*EN+B)*1.e-16
GO TO 50
# USE BORN-BETHE ABOVE XION(NIONG) EV
43 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QBB=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
QIONC=QBB
QIONG=QIONC/0.8939
50 CONTINUE
#
# C3H8+
if(EN <= EION[1]:
) GO TO 65
if(EN > XION1(NION1):
) GO TO 63
DO 61 J=2,NION1
if(EN <= XION1[J]:
) GO TO 62
61 CONTINUE
J=NION1
62 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])
B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 64
# USE BORN BETHE ABOVE XION1(NION1) EV
63 QION[1][I]=QIONC*0.103628
64 CONTINUE
if(EN < (2.0*EION[1]:
)) GO TO 65
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# C3H7+
65 if(EN <= EION[2]) GO TO 70
if(EN > XION2(NION2):
) GO TO 68
DO 66 J=2,NION2
if(EN <= XION2[J]:
) GO TO 67
66 CONTINUE
J=NION2
67 A=(YION2[J]-YION2[J-1])/(XION2[J]-XION2[J-1])
B=(XION2[J-1]*YION2[J]-XION2[J]*YION2[J-1])/(XION2[J-1]-XION2[J])
QION[2][I]=(A*EN+B)*1.e-16
GO TO 69
# USE BORN BETHE ABOVE XION2(NION2) EV
68 QION[2][I]=QIONC*0.073774
69 CONTINUE
if(EN < (2.0*EION[2]:
)) GO TO 70
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# C3H6+
70 if(EN <= EION[3]) GO TO 75
if(EN > XION3(NION3):
) GO TO 73
DO 71 J=2,NION3
if(EN <= XION3[J]:
) GO TO 72
71 CONTINUE
J=NION3
72 A=(YION3[J]-YION3[J-1])/(XION3[J]-XION3[J-1])
B=(XION3[J-1]*YION3[J]-XION3[J]*YION3[J-1])/(XION3[J-1]-XION3[J])
QION[3][I]=(A*EN+B)*1.e-16
GO TO 74
# USE BORN BETHE ABOVE XION3(NION3) EV
73 QION[3][I]=QIONC*0.017780
74 CONTINUE
if(EN < (2.0*EION[3]:
)) GO TO 75
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# C2H4+
75 if(EN <= EION[4]) GO TO 80
if(EN > XION4(NION4):
) GO TO 78
DO 76 J=2,NION4
if(EN <= XION4[J]:
) GO TO 77
76 CONTINUE
J=NION4
77 A=(YION4[J]-YION4[J-1])/(XION4[J]-XION4[J-1])
B=(XION4[J-1]*YION4[J]-XION4[J]*YION4[J-1])/(XION4[J-1]-XION4[J])
QION[4][I]=(A*EN+B)*1.e-16
GO TO 79
# USE BORN BETHE ABOVE XION4(NION4) EV
78 QION[4][I]=QIONC*0.151263
79 CONTINUE
if(EN < (2.0*EION[4]:
)) GO TO 80
PEQION[4][I]=PEQEL[2][(I-IOFFION[4]])
# C2H5+
80 if(EN <= EION[5]) GO TO 85
if(EN > XION5(NION5):
) GO TO 83
DO 81 J=2,NION5
if(EN <= XION5[J]:
) GO TO 82
81 CONTINUE
J=NION5
82 A=(YION5[J]-YION5[J-1])/(XION5[J]-XION5[J-1])
B=(XION5[J-1]*YION5[J]-XION5[J]*YION5[J-1])/(XION5[J-1]-XION5[J])
QION[5][I]=(A*EN+B)*1.e-16
GO TO 84
# USE BORN BETHE ABOVE XION5(NION5) EV
83 QION[5][I]=QIONC*0.238836
84 CONTINUE
if(EN < (2.0*EION[5]:
)) GO TO 85
PEQION[5][I]=PEQEL[2][(I-IOFFION[5]])
# C3H5+
85 if(EN <= EION[6]) GO TO 90
if(EN > XION6(NION6):
) GO TO 88
DO 86 J=2,NION6
if(EN <= XION6[J]:
) GO TO 87
86 CONTINUE
J=NION6
87 A=(YION6[J]-YION6[J-1])/(XION6[J]-XION6[J-1])
B=(XION6[J-1]*YION6[J]-XION6[J]*YION6[J-1])/(XION6[J-1]-XION6[J])
QION[6][I]=(A*EN+B)*1.e-16
GO TO 89
# USE BORN BETHE ABOVE XION6(NION6) EV
88 QION[6][I]=QIONC*0.040867
89 CONTINUE
if(EN < (2.0*EION[6]:
)) GO TO 90
PEQION[6][I]=PEQEL[2][(I-IOFFION[6]])
# CH3+
90 if(EN <= EION[7]) GO TO 95
if(EN > XION7(NION7):
) GO TO 93
DO 91 J=2,NION7
if(EN <= XION7[J]:
) GO TO 92
91 CONTINUE
J=NION7
92 A=(YION7[J]-YION7[J-1])/(XION7[J]-XION7[J-1])
B=(XION7[J-1]*YION7[J]-XION7[J]*YION7[J-1])/(XION7[J-1]-XION7[J])
QION[7][I]=(A*EN+B)*1.e-16
GO TO 94
# USE BORN BETHE ABOVE XION7(NION7) EV
93 QION[7][I]=QIONC*0.019372
94 CONTINUE
if(EN < (2.0*EION[7]:
)) GO TO 95
PEQION[7][I]=PEQEL[2][(I-IOFFION[7]])
# C3H4+
95 if(EN <= EION[8]) GO TO 100
if(EN > XION8(NION8):
) GO TO 98
DO 96 J=2,NION8
if(EN <= XION8[J]:
) GO TO 97
96 CONTINUE
J=NION8
97 A=(YION8[J]-YION8[J-1])/(XION8[J]-XION8[J-1])
B=(XION8[J-1]*YION8[J]-XION8[J]*YION8[J-1])/(XION8[J-1]-XION8[J])
QION[8][I]=(A*EN+B)*1.e-16
GO TO 99
# USE BORN BETHE ABOVE XION8(NION8) EV
98 QION[8][I]=QIONC*0.007842
99 CONTINUE
if(EN < (2.0*EION[8]:
)) GO TO 100
PEQION[8][I]=PEQEL[2][(I-IOFFION[8]])
# C2H2+
100 if(EN <= EION[9]) GO TO 105
if(EN > XION9(NION9):
) GO TO 103
DO 101 J=2,NION9
if(EN <= XION9[J]:
) GO TO 102
101 CONTINUE
J=NION9
102 A=(YION9[J]-YION9[J-1])/(XION9[J]-XION9[J-1])
B=(XION9[J-1]*YION9[J]-XION9[J]*YION9[J-1])/(XION9[J-1]-XION9[J])
QION[9][I]=(A*EN+B)*1.e-16
GO TO 104
# USE BORN BETHE ABOVE XION9(NION9) EV
103 QION[9][I]=QIONC*0.025343
104 CONTINUE
if(EN < (2.0*EION[9]:
)) GO TO 105
PEQION[9][I]=PEQEL[2][(I-IOFFION[9]])
# C2H3+
105 if(EN <= EION[10]) GO TO 110
if(EN > XION10(NION10):
) GO TO 108
DO 106 J=2,NION10
if(EN <= XION10[J]:
) GO TO 107
106 CONTINUE
J=NION10
107 A=(YION10[J]-YION10[J-1])/(XION10[J]-XION10[J-1])
B=(XION10[J-1]*YION10[J]-XION10[J]*YION10[J-1])/(XION10[J-1]-XION10[J])
QION[10][I]=(A*EN+B)*1.e-16
GO TO 109
# USE BORN BETHE ABOVE XION10(NION10) EV
108 QION[10][I]=QIONC*0.112253
109 CONTINUE
if(EN < (2.0*EION[10]:
)) GO TO 110
PEQION[10][I]=PEQEL[2][(I-IOFFION[10]))
# C3H3+
110 if(EN <= EION[11]) GO TO 115
if(EN > XION11(NION11):
) GO TO 113
DO 111 J=2,NION11
if(EN <= XION11[J]:
) GO TO 112
111 CONTINUE
J=NION11
112 A=(YION11[J]-YION11[J-1])/(XION11[J]-XION11[J-1])
B=(XION11[J-1]*YION11[J]-XION11[J]*YION11[J-1])/(XION11[J-1]-XION11[J])
QION[11][I]=(A*EN+B)*1.e-16
GO TO 114
# USE BORN BETHE ABOVE XION11(NION11) EV
113 QION[11][I]=QIONC*0.049359
114 CONTINUE
if(EN < (2.0*EION[11]:
)) GO TO 115
PEQION[11][I]=PEQEL[2][(I-IOFFION[11]))
# H+
115 if(EN <= EION[12]) GO TO 120
if(EN > XION12(NION12):
) GO TO 118
DO 116 J=2,NION12
if(EN <= XION12[J]:
) GO TO 117
116 CONTINUE
J=NION12
117 A=(YION12[J]-YION12[J-1])/(XION12[J]-XION12[J-1])
B=(XION12[J-1]*YION12[J]-XION12[J]*YION12[J-1])/(XION12[J-1]-XION12[J])
QION[12][I]=(A*EN+B)*1.e-16
GO TO 119
# USE BORN BETHE ABOVE XION12(NION12) EV
118 QION[12][I]=QIONC*0.001884
119 CONTINUE
if(EN < (2.0*EION[12]:
)) GO TO 120
PEQION[12][I]=PEQEL[2][(I-IOFFION[12]))
# H2+ AND H3+
120 if(EN <= EION[13]) GO TO 125
if(EN > XION13(NION13):
) GO TO 123
DO 121 J=2,NION13
if(EN <= XION13[J]:
) GO TO 122
121 CONTINUE
J=NION13
122 A=(YION13[J]-YION13[J-1])/(XION13[J]-XION13[J-1])
B=(XION13[J-1]*YION13[J]-XION13[J]*YION13[J-1])/(XION13[J-1]-XION13[J])
QION[13][I]=(A*EN+B)*1.e-16
GO TO 124
# USE BORN BETHE ABOVE XION13(NION13) EV
123 QION[13][I]=QIONC*0.001015
124 CONTINUE
if(EN < (2.0*EION[13]:
)) GO TO 125
PEQION[13][I]=PEQEL[2][(I-IOFFION[13]))
# CH2+
125 if(EN <= EION[14]) GO TO 130
if(EN > XION14(NION14):
) GO TO 128
DO 126 J=2,NION14
if(EN <= XION14[J]:
) GO TO 127
126 CONTINUE
J=NION14
127 A=(YION14[J]-YION14[J-1])/(XION14[J]-XION14[J-1])
B=(XION14[J-1]*YION14[J]-XION14[J]*YION14[J-1])/(XION14[J-1]-XION14[J])
QION[14][I]=(A*EN+B)*1.e-16
GO TO 129
# USE BORN BETHE ABOVE XION14(NION14) EV
128 QION[14][I]=QIONC*0.006342
129 CONTINUE
if(EN < (2.0*EION[14]:
)) GO TO 130
PEQION[14][I]=PEQEL[2][(I-IOFFION[14]))
# C3H2+
130 if(EN <= EION[15]) GO TO 135
if(EN > XION15(NION15):
) GO TO 133
DO 131 J=2,NION15
if(EN <= XION15[J]:
) GO TO 132
131 CONTINUE
J=NION15
132 A=(YION15[J]-YION15[J-1])/(XION15[J]-XION15[J-1])
B=(XION15[J-1]*YION15[J]-XION15[J]*YION15[J-1])/(XION15[J-1]-XION15[J])
QION[15][I]=(A*EN+B)*1.e-16
GO TO 134
# USE BORN BETHE ABOVE XION15(NION15) EV
133 QION[15][I]=QIONC*0.013401
134 CONTINUE
if(EN < (2.0*EION[15]:
)) GO TO 135
PEQION[15][I]=PEQEL[2][(I-IOFFION[15]))
# C3H+
135 if(EN <= EION[16]) GO TO 140
if(EN > XION16(NION16):
) GO TO 138
DO 136 J=2,NION16
if(EN <= XION16[J]:
) GO TO 137
136 CONTINUE
J=NION16
137 A=(YION16[J]-YION16[J-1])/(XION16[J]-XION16[J-1])
B=(XION16[J-1]*YION16[J]-XION16[J]*YION16[J-1])/(XION16[J-1]-XION16[J])
QION[16][I]=(A*EN+B)*1.e-16
GO TO 139
# USE BORN BETHE ABOVE XION16(NION16) EV
138 QION[16][I]=QIONC*0.008240
139 CONTINUE
if(EN < (2.0*EION[16]:
)) GO TO 140
PEQION[16][I]=PEQEL[2][(I-IOFFION[16]))
# C2H+
140 if(EN <= EION[17]) GO TO 145
if(EN > XION17(NION17):
) GO TO 143
DO 141 J=2,NION17
if(EN <= XION17[J]:
) GO TO 142
141 CONTINUE
J=NION17
142 A=(YION17[J]-YION17[J-1])/(XION17[J]-XION17[J-1])
B=(XION17[J-1]*YION17[J]-XION17[J]*YION17[J-1])/(XION17[J-1]-XION17[J])
QION[17][I]=(A*EN+B)*1.e-16
GO TO 144
# USE BORN BETHE ABOVE XION17(NION17) EV
143 QION[17][I]=QIONC*0.002004
144 CONTINUE
if(EN < (2.0*EION[17]:
)) GO TO 145
PEQION[17][I]=PEQEL[2][(I-IOFFION[17])]
# ++ DOUBLE CHARGED STABLE IONS
145 if(EN <= EION[18]) GO TO 150
if(EN > XION18(NION18):
) GO TO 148
DO 146 J=2,NION18
if(EN <= XION18[J]:
) GO TO 147
146 CONTINUE
J=NION18
147 A=(YION18[J]-YION18[J-1])/(XION18[J]-XION18[J-1])
B=(XION18[J-1]*YION18[J]-XION18[J]*YION18[J-1])/(XION18[J-1]-XION18[J])
QION[18][I]=(A*EN+B)*1.e-16
GO TO 149
# USE BORN BETHE ABOVE XION18(NION18) EV
148 QION[18][I]=QIONC*0.004085
149 CONTINUE
if(EN < (2.0*EION[18]:
)) GO TO 150
PEQION[18][I]=PEQEL[2][(I-IOFFION[18])]
# ++ DOUBLE CHARGED UNSTABLE IONS (DISSOCIATIVE)
150 if(EN <= EION[19]) GO TO 155
if(EN > XION19(NION19):
) GO TO 153
DO 151 J=2,NION19
if(EN <= XION19[J]:
) GO TO 152
151 CONTINUE
J=NION19
152 A=(YION19[J]-YION19[J-1])/(XION19[J]-XION19[J-1])
B=(XION19[J-1]*YION19[J]-XION19[J]*YION19[J-1])/(XION19[J-1]-XION19[J])
QION[19][I]=(A*EN+B)*1.e-16
GO TO 154
# USE BORN BETHE ABOVE XION19(NION19) EV
153 QION[19][I]=QIONC*0.118714
154 CONTINUE
if(EN < (2.0*EION[19]:
)) GO TO 155
PEQION[19][I]=PEQEL[2][(I-IOFFION[19])]
# CH+
155 if(EN <= EION[20]) GO TO 160
if(EN > XION20(NION20):
) GO TO 158
DO 156 J=2,NION20
if(EN <= XION20[J]:
) GO TO 157
156 CONTINUE
J=NION20
157 A=(YION20[J]-YION20[J-1])/(XION20[J]-XION20[J-1])
B=(XION20[J-1]*YION20[J]-XION20[J]*YION20[J-1])/(XION20[J-1]-XION20[J])
QION[20][I]=(A*EN+B)*1.e-16
GO TO 159
# USE BORN BETHE ABOVE XION20(NION20) EV
158 QION[20][I]=QIONC*0.002070
159 CONTINUE
if(EN < (2.0*EION[20]:
)) GO TO 160
PEQION[20][I]=PEQEL[2][(I-IOFFION[20])]
# C+
160 if(EN <= EION[21]) GO TO 165
if(EN > XION21(NION21):
) GO TO 163
DO 161 J=2,NION21
if(EN <= XION21[J]:
) GO TO 162
161 CONTINUE
J=NION21
162 A=(YION21[J]-YION21[J-1])/(XION21[J]-XION21[J-1])
B=(XION21[J-1]*YION21[J]-XION21[J]*YION21[J-1])/(XION21[J-1]-XION21[J])
QION[21][I]=(A*EN+B)*1.e-16
GO TO 164
# USE BORN BETHE ABOVE XION21(NION21) EV
163 QION[21][I]=QIONC*0.000837
164 CONTINUE
if(EN < (2.0*EION[21]:
)) GO TO 165
PEQION[21][I]=PEQEL[2][(I-IOFFION[21])]
# C2+
165 if(EN <= EION[22]) GO TO 170
if(EN > XION22(NION22):
) GO TO 168
DO 166 J=2,NION22
if(EN <= XION22[J]:
) GO TO 167
166 CONTINUE
J=NION22
167 A=(YION22[J]-YION22[J-1])/(XION22[J]-XION22[J-1])
B=(XION22[J-1]*YION22[J]-XION22[J]*YION22[J-1])/(XION22[J-1]-XION22[J])
QION[22][I]=(A*EN+B)*1.e-16
GO TO 169
# USE BORN BETHE ABOVE XION22(NION22) EV
168 QION[22][I]=QIONC*0.000057
169 CONTINUE
if(EN < (2.0*EION[22]:
)) GO TO 170
PEQION[22][I]=PEQEL[2][(I-IOFFION[22])]
# C3+
170 if(EN <= EION[23]) GO TO 175
if(EN > XION23(NION23):
) GO TO 173
DO 171 J=2,NION23
if(EN <= XION23[J]:
) GO TO 172
171 CONTINUE
J=NION23
172 A=(YION23[J]-YION23[J-1])/(XION23[J]-XION23[J-1])
B=(XION23[J-1]*YION23[J]-XION23[J]*YION23[J-1])/(XION23[J-1]-XION23[J])
QION[23][I]=(A*EN+B)*1.e-16
GO TO 174
# USE BORN BETHE ABOVE XION23(NION23) EV
173 QION[23][I]=QIONC*0.001034
174 CONTINUE
if(EN < (2.0*EION[23]:
)) GO TO 175
PEQION[23][I]=PEQEL[2][(I-IOFFION[23])]
# CARBON K-SHELL
175 if(EN <= EION[24]) GO TO 180
DO 176 J=2,NION24
if(EN <= XION24[J]:
) GO TO 177
176 CONTINUE
J=NION24
177 A=(YION24[J]-YION24[J-1])/(XION24[J]-XION24[J-1])
B=(XION24[J-1]*YION24[J]-XION24[J]*YION24[J-1])/(XION24[J-1]-XION24[J])
# FACTOR 3 FOR 3 CARBON ATOMS
QION[24][I]=3.0*(A*EN+B)*1.e-16
if(EN < (2.0*EION[24]:
)) GO TO 180
PEQION[24][I]=PEQEL[2][(I-IOFFION[24])]
# CORRECTION TO TOTAL I0NISATION DUE TO SPLIT OFF KSHELL
180 QSUM=0.00
DO 181 L=1,23
181 QSUM=QSUM+QION(L,I)
if(QSUM == 0.0):
GO TO 200
FAC=(QSUM-QION[24][I])/QSUM
DO 182 L=1,23
182 QION(L,I)=QION(L,I)*FAC
#
# DISSOCIATIVE ATTACHMENT TO CH3-
#
200 Q[4][I]=0.0
QATT[1][I]=0.0
if(EN <= XATT1[1]:
) GO TO 230
if(EN >= XATT1(NATT1):
) GO TO 230
DO 210 J=2,NATT1
if(EN <= XATT1[J]:
) GO TO 220
210 CONTINUE
J=NATT1
220 A=(YATT1[J]-YATT1[J-1])/(XATT1[J]-XATT1[J-1])
B=(XATT1[J-1]*YATT1[J]-XATT1[J]*YATT1[J-1])/(XATT1[J-1]-XATT1[J])
QATT[1][I]=(A*EN+B)*1.e-16
# DISSOCIATIVE ATTACHMENT TO H-
230 QATT[2][I]=0.0
if(EN <= XATT2[1]:
) GO TO 300
if(EN >= XATT2(NATT2):
) GO TO 300
DO 240 J=2,NATT2
if(EN <= XATT2[J]:
) GO TO 250
240 CONTINUE
J=NATT2
250 A=(YATT2[J]-YATT2[J-1])/(XATT2[J]-XATT2[J-1])
B=(XATT2[J-1]*YATT2[J]-XATT2[J]*YATT2[J-1])/(XATT2[J-1]-XATT2[J])
QATT[2][I]=(A*EN+B)*1.e-16
#
300 Q[5][I]=0.0
Q[6][I]=0.0
# SET ZEROS
DO 301 L=1,NIN
QIN(L,I)=0.00
301 PEQIN(L,I)=0.00
#
# SUPERELASTIC VIBRATION TORSION ANISOTROPIC ABOVE 10EV
if(EN <= 0.0):
GO TO 302
EFAC=math.sqrt(1.0-(EIN[1]/EN))
QIN[1][I]=0.00536*math.log((EFAC+1.0)/(EFAC-1.0))/EN
QIN[1][I]=QIN[1][I]*APOP1/(1.0+APOP1)*1.e-16
if(EN > 10.0):
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1])] # VIBRATION TORSION ANISOTROPIC ABOVE 10EV
302 if(EN <= EIN[2]) GO TO 303
EFAC=math.sqrt(1.0-(EIN[2]/EN))
QIN[2][I]=0.00536*math.log((1.0+EFAC)/(1.0-EFAC))/EN
QIN[2][I]=QIN[2][I]*1.0/(1.0+APOP1)*1.e-16
if(EN > 10.0):
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2])] #
# VIBRATION SUPERELASTIC ANISOTROPIC ABOVE 10EV
303 if(EN <= 0.0) GO TO 316
if((EN+EIN[4]:
) > XVIB1(NVIB1)) GO TO 314
DO 312 J=2,NVIB1
if((EN+EIN[4]:
) <= XVIB1[J]) GO TO 313
312 CONTINUE
J=NVIB1
313 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN[3][I]=(EN+EIN[4])*(A*(EN+EIN[4])+B)/EN
GO TO 315
314 QIN[3][I]=YVIB1(NVIB1)*(XVIB1(NVIB1)/(EN+EIN[4]))**2
315 QIN[3][I]=QIN[3][I]*APOP2/(1.0+APOP2)*1.e-16
if(EN > 10.0):
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3])] #
# VIBRATION INELASTIC ANISOTROPIC ABOVE 10EV
316 if(EN <= EIN[4]) GO TO 321
if(EN > XVIB1(NVIB1):
) GO TO 319
DO 317 J=2,NVIB1
if(EN <= XVIB1[J]:
) GO TO 318
317 CONTINUE
J=NVIB1
318 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN[4][I]=(A*EN+B)
GO TO 320
319 QIN[4][I]=YVIB1(NVIB1)*(XVIB1(NVIB1)/EN)**2
320 QIN[4][I]=QIN[4][I]/(1.0+APOP2)*1.e-16
if(EN > 10.0):
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4])]
#
# SUPERELASTIC VIBRATION ANISOTROPIC ABOVE 10EV
321 if(EN <= 0.0) GO TO 326
if((EN+EIN[6]:
) > XVIB2(NVIB2)) GO TO 324
DO 322 J=2,NVIB2
if((EN+EIN[6]:
) <= XVIB2[J]) GO TO 323
322 CONTINUE
J=NVIB2
323 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[5][I]=(EN+EIN[6])*(A*(EN+EIN[6])+B)/EN
GO TO 325
324 QIN[5][I]=YVIB2(NVIB2)*(XVIB2(NVIB2)/(EN+EIN[6]))**2
325 QIN[5][I]=QIN[5][I]*APOP3/(1.0+APOP3)*1.e-16
if(EN > 10.0):
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5])]
#
# VIBRATION ANISOTROPIC ABOVE 10EV
326 if(EN <= EIN[6]) GO TO 331
if(EN > XVIB2(NVIB2):
) GO TO 329
DO 327 J=2,NVIB2
if(EN <= XVIB2[J]:
) GO TO 328
327 CONTINUE
J=NVIB2
328 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[6][I]=(A*EN+B)
GO TO 330
329 QIN[6][I]=YVIB2(NVIB2)*(XVIB2(NVIB2)/EN)**2
330 QIN[6][I]=QIN[6][I]/(1.0+APOP3)*1.e-16
if(EN > 10.0):
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6])]
#
# VIBRATION INELASTIC
331 if(EN <= EIN[7]) GO TO 341
if(EN > XVIB3(NVIB3):
) GO TO 334
DO 332 J=2,NVIB3
if(EN <= XVIB3[J]:
) GO TO 333
332 CONTINUE
J=NVIB3
333 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN[7][I]=(A*EN+B)
GO TO 335
334 QIN[7][I]=YVIB3(NVIB3)*(XVIB3(NVIB3)/EN)**2
335 QIN[7][I]=QIN[7][I]*1.e-16
if(EN > 10.0):
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7])]
#
# VIBRATION INELASTIC
341 if(EN <= EIN[8]) GO TO 351
if(EN > XVIB4(NVIB4):
) GO TO 344
DO 342 J=2,NVIB4
if(EN <= XVIB4[J]:
) GO TO 343
342 CONTINUE
J=NVIB4
343 A=(YVIB4[J]-YVIB4[J-1])/(XVIB4[J]-XVIB4[J-1])
B=(XVIB4[J-1]*YVIB4[J]-XVIB4[J]*YVIB4[J-1])/(XVIB4[J-1]-XVIB4[J])
QIN[8][I]=(A*EN+B)
GO TO 345
344 QIN[8][I]=YVIB4(NVIB4)*(XVIB4(NVIB4)/EN)**2
345 QIN[8][I]=QIN[8][I]*1.e-16
if(QIN[8][I]:
< 0.0) QIN[8][I]=0.0
if(EN > 10.0):
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8])]
351 CONTINUE
#
# EXCITATIONS
#
#
# EXCITATION TO TRIPLET AND SINGLET LEVELS
#
# FIRST TRIPLET AT 6.57 EV
if(EN <= EIN[9]:
) GO TO 405
if(EN > XTR1[NTR1]:
) GO TO 403
DO 401 J=2,NTR1
if(EN <= XTR1[J]:
) GO TO 402
401 CONTINUE
J=NTR1
402 A=(YTR1[J]-YTR1[J-1])/(XTR1[J]-XTR1[J-1])
B=(XTR1[J-1]*YTR1[J]-XTR1[J]*YTR1[J-1])/(XTR1[J-1]-XTR1[J])
QIN[9][I]=(A*EN+B)*1.e-16
GO TO 404
# SCALE BY 1/E**2 ABOVE XTR1[NTR1] EV
403 QIN[9][I]=YTR1[NTR1]*(XTR1[NTR1]/EN)**2*1.e-16
404 if(EN <= (3.0*EIN[9])) GO TO 405
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9])] #
# SINGLET DISSOCIATION AT 7.65 EV BEF SCALING F=.000339
405 if(EN <= (EIN[10])) GO TO 406
QIN[10][I]=0.000339/(EIN[10]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[10]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[10]+E[3])
if(QIN[10][I]:
< 0.0) QIN[10][I]=0.0
if(EN <= (3.0*EIN[10]:
)) GO TO 406
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
#
# SECOND TRIPLET AT 7.67 EV
406 if(EN <= EIN[11]) GO TO 411
if(EN > XTR2[NTR2]:
) GO TO 409
DO 407 J=2,NTR2
if(EN <= XTR2[J]:
) GO TO 408
407 CONTINUE
J=NTR2
408 A=(YTR2[J]-YTR2[J-1])/(XTR2[J]-XTR2[J-1])
B=(XTR2[J-1]*YTR2[J]-XTR2[J]*YTR2[J-1])/(XTR2[J-1]-XTR2[J])
QIN[11][I]=(A*EN+B)*1.e-16
GO TO 410
# SCALE BY 1/E**2 ABOVE XTR2[NTR2] EV
409 QIN[11][I]=YTR2[NTR2]*(XTR2[NTR2]/EN)**2*1.e-16
410 if(EN <= (3.0*EIN[11])) GO TO 411
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
#
# SINGLET DISSOCIATION AT 7.95 EV BEF SCALING F=.004660
411 if(EN <= (EIN[12])) GO TO 412
QIN[12][I]=0.004660/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[12]+E[3])
if(QIN[12][I]:
< 0.0) QIN[12][I]=0.0
if(EN <= (3.0*EIN[12]:
)) GO TO 412
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# SINGLET DISSOCIATION AT 8.25 EV BEF SCALING F=.012816
412 if(EN <= (EIN[13])) GO TO 413
QIN[13][I]=0.012816/(EIN[13]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[13]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[13]+E[3])
if(QIN[13][I]:
< 0.0) QIN[13][I]=0.0
if(EN <= (3.0*EIN[13]:
)) GO TO 413
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# SINGLET DISSOCIATION AT 8.55 EV BEF SCALING F=.037747
413 if(EN <= (EIN[14])) GO TO 414
QIN[14][I]=0.037747/(EIN[14]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[14]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[14]+E[3])
if(QIN[14][I]:
< 0.0) QIN[14][I]=0.0
if(EN <= (3.0*EIN[14]:
)) GO TO 414
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# SINGLET DISSOCIATION AT 8.85 EV BEF SCALING F=.081783
414 if(EN <= (EIN[15])) GO TO 415
QIN[15][I]=0.081783/(EIN[15]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[15]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[15]+E[3])
if(QIN[15][I]:
< 0.0) QIN[15][I]=0.0
if(EN <= (3.0*EIN[15]:
)) GO TO 415
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# SINGLET DISSOCIATION AT 9.15 EV BEF SCALING F=.084248
415 if(EN <= (EIN[16])) GO TO 416
QIN[16][I]=0.084248/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[16]+E[3])
if(QIN[16][I]:
< 0.0) QIN[16][I]=0.0
if(EN <= (3.0*EIN[16]:
)) GO TO 416
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# SINGLET DISSOCIATION AT 9.45 EV BEF SCALING F=.090347
416 if(EN <= (EIN[17])) GO TO 422
QIN[17][I]=0.090347/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[17]+E[3])
if(QIN[17][I]:
< 0.0) QIN[17][I]=0.0
if(EN <= (3.0*EIN[17]:
)) GO TO 422
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
#
# THIRD TRIPLET AT 9.59 EV
422 if(EN <= EIN[18]) GO TO 417
if(EN > XTR3[NTR3]:
) GO TO 425
DO 423 J=2,NTR3
if(EN <= XTR3[J]:
) GO TO 424
423 CONTINUE
J=NTR3
424 A=(YTR3[J]-YTR3[J-1])/(XTR3[J]-XTR3[J-1])
B=(XTR3[J-1]*YTR3[J]-XTR3[J]*YTR3[J-1])/(XTR3[J-1]-XTR3[J])
QIN[18][I]=(A*EN+B)*1.e-16
GO TO 426
# SCALE BY 1/E**2 ABOVE XTR3[NTR3] EV
425 QIN[18][I]=YTR3[NTR3]*(XTR3[NTR3]/EN)**2*1.e-16
426 if(EN <= (3.0*EIN[18])) GO TO 417
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
#
# SINGLET DISSOCIATION AT 9.75 EV BEF SCALING F=.098580
417 if(EN <= (EIN[19])) GO TO 418
QIN[19][I]=0.098580/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[19]+E[3])
if(QIN[19][I]:
< 0.0) QIN[19][I]=0.0
if(EN <= (3.0*EIN[19]:
)) GO TO 418
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# SINGLET DISSOCIATION AT 10.05 EV BEF SCALING F=.10415
418 if(EN <= (EIN[20])) GO TO 419
QIN[20][I]=0.104150/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+E[3])
if(QIN[20][I]:
< 0.0) QIN[20][I]=0.0
if(EN <= (3.0*EIN[20]:
)) GO TO 419
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# SINGLET DISSOCIATION AT 10.35 EV BEF SCALING F=.11379
419 if(EN <= (EIN[21])) GO TO 420
QIN[21][I]=0.113790/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[21]+E[3])
if(QIN[21][I]:
< 0.0) QIN[21][I]=0.0
if(EN <= (3.0*EIN[21]:
)) GO TO 420
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# SINGLET DISSOCIATION AT 10.65 EV BEF SCALING F=.12674
420 if(EN <= (EIN[22])) GO TO 421
QIN[22][I]=0.126740/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[22]+E[3])
if(QIN[22][I]:
< 0.0) QIN[22][I]=0.0
if(EN <= (3.0*EIN[22]:
)) GO TO 421
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# SINGLET DISSOCIATION AT 10.9 EV BEF SCALING F=.096356
421 if(EN <= (EIN[23])) GO TO 427
QIN[23][I]=0.096356/(EIN[23]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[23]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[23]+E[3])
if(QIN[23][I]:
< 0.0) QIN[23][I]=0.0
if(EN <= (3.0*EIN[23]:
)) GO TO 427
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# SINGLET DISSOCIATION AT 11.1 EV BEF SCALING F=.10387
427 if(EN <= (EIN[24])) GO TO 428
QIN[24][I]=0.103870/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (3.0*EIN[24]:
)) GO TO 428
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# SINGLET DISSOCIATION AT 11.3 EV BEF SCALING F=.10183
428 if(EN <= (EIN[25])) GO TO 429
QIN[25][I]=0.101830/(EIN[25]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[25]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[25]+E[3])
if(QIN[25][I]:
< 0.0) QIN[25][I]=0.0
if(EN <= (3.0*EIN[25]:
)) GO TO 429
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
# SINGLET DISSOCIATION AT 11.5 EV BEF SCALING F=.096718
429 if(EN <= (EIN[26])) GO TO 430
QIN[26][I]=0.096718/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])
if(QIN[26][I]:
< 0.0) QIN[26][I]=0.0
if(EN <= (3.0*EIN[26]:
)) GO TO 430
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# SINGLET DISSOCIATION AT 11.7 EV BEF SCALING F=.090149
430 if(EN <= (EIN[27])) GO TO 431
QIN[27][I]=0.090149/(EIN[27]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[27]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[27]+E[3])
if(QIN[27][I]:
< 0.0) QIN[27][I]=0.0
if(EN <= (3.0*EIN[27]:
)) GO TO 431
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# SINGLET DISSOCIATION AT 11.9 EV BEF SCALING F=.086661
431 if(EN <= (EIN[28])) GO TO 432
QIN[28][I]=0.086661/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+E[3])
if(QIN[28][I]:
< 0.0) QIN[28][I]=0.0
if(EN <= (3.0*EIN[28]:
)) GO TO 432
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# SINGLET DISSOCIATION AT 12.1 EV BEF SCALING F=.086097
432 if(EN <= (EIN[29])) GO TO 433
QIN[29][I]=0.086097/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+E[3])
if(QIN[29][I]:
< 0.0) QIN[29][I]=0.0
if(EN <= (3.0*EIN[29]:
)) GO TO 433
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# SINGLET DISSOCIATION AT 12.3 EV BEF SCALING F=.083324
433 if(EN <= (EIN[30])) GO TO 434
QIN[30][I]=0.083324/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])
if(QIN[30][I]:
< 0.0) QIN[30][I]=0.0
if(EN <= (3.0*EIN[30]:
)) GO TO 434
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# SINGLET DISSOCIATION AT 12.5 EV BEF SCALING F=.079943
434 if(EN <= (EIN[31])) GO TO 435
QIN[31][I]=0.079943/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[31]+E[3])
if(QIN[31][I]:
< 0.0) QIN[31][I]=0.0
if(EN <= (3.0*EIN[31]:
)) GO TO 435
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# SINGLET DISSOCIATION AT 12.7 EV BEF SCALING F=.077210
435 if(EN <= (EIN[32])) GO TO 436
QIN[32][I]=0.077210/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])
if(QIN[32][I]:
< 0.0) QIN[32][I]=0.0
if(EN <= (3.0*EIN[32]:
)) GO TO 436
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# SINGLET DISSOCIATION AT 12.9 EV BEF SCALING F=.070368
436 if(EN <= (EIN[33])) GO TO 437
QIN[33][I]=0.070368/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+E[3])
if(QIN[33][I]:
< 0.0) QIN[33][I]=0.0
if(EN <= (2.0*EIN[33]:
)) GO TO 437
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# SINGLET DISSOCIATION AT 13.1 EV BEF SCALING F=.061365
437 if(EN <= (EIN[34])) GO TO 438
QIN[34][I]=0.061365/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.0
if(EN <= (2.0*EIN[34]:
)) GO TO 438
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# SINGLET DISSOCIATION AT 13.3 EV BEF SCALING F=.053208
438 if(EN <= (EIN[35])) GO TO 439
QIN[35][I]=0.053208/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+E[3])
if(QIN[35][I]:
< 0.0) QIN[35][I]=0.0
if(EN <= (2.0*EIN[35]:
)) GO TO 439
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# SINGLET DISSOCIATION AT 13.5 EV BEF SCALING F=.046320
439 if(EN <= (EIN[36])) GO TO 440
QIN[36][I]=0.046320/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[36]+E[3])
if(QIN[36][I]:
< 0.0) QIN[36][I]=0.0
if(EN <= (2.0*EIN[36]:
)) GO TO 440
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
# SINGLET DISSOCIATION AT 13.7 EV BEF SCALING F=.042827
440 if(EN <= (EIN[37])) GO TO 441
QIN[37][I]=0.042827/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+E[3])
if(QIN[37][I]:
< 0.0) QIN[37][I]=0.0
if(EN <= (2.0*EIN[37]:
)) GO TO 441
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
# SINGLET DISSOCIATION AT 13.9 EV BEF SCALING F=.038898
441 if(EN <= (EIN[38])) GO TO 442
QIN[38][I]=0.038898/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+E[3])
if(QIN[38][I]:
< 0.0) QIN[38][I]=0.0
if(EN <= (2.0*EIN[38]:
)) GO TO 442
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
# SINGLET DISSOCIATION AT 14.1 EV BEF SCALING F=.035930
442 if(EN <= (EIN[39])) GO TO 443
QIN[39][I]=0.035930/(EIN[39]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[39]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[39]+E[3])
if(QIN[39][I]:
< 0.0) QIN[39][I]=0.0
if(EN <= (2.0*EIN[39]:
)) GO TO 443
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
# SINGLET DISSOCIATION AT 14.3 EV BEF SCALING F=.033632
443 if(EN <= (EIN[40])) GO TO 444
QIN[40][I]=0.033632/(EIN[40]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[40]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[40]+E[3])
if(QIN[40][I]:
< 0.0) QIN[40][I]=0.0
if(EN <= (2.0*EIN[40]:
)) GO TO 444
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
# SINGLET DISSOCIATION AT 14.5 EV BEF SCALING F=.030562
444 if(EN <= (EIN[41])) GO TO 445
QIN[41][I]=0.030562/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[41]+E[3])
if(QIN[41][I]:
< 0.0) QIN[41][I]=0.0
if(EN <= (2.0*EIN[41]:
)) GO TO 445
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
# SINGLET DISSOCIATION AT 14.7 EV BEF SCALING F=.028559
445 if(EN <= (EIN[42])) GO TO 446
QIN[42][I]=0.028559/(EIN[42]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[42]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[42]+E[3])
if(QIN[42][I]:
< 0.0) QIN[42][I]=0.0
if(EN <= (2.0*EIN[42]:
)) GO TO 446
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
# SINGLET DISSOCIATION AT 14.9 EV BEF SCALING F=.027052
446 if(EN <= (EIN[43])) GO TO 447
QIN[43][I]=0.027052/(EIN[43]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[43]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[43]+E[3])
if(QIN[43][I]:
< 0.0) QIN[43][I]=0.0
if(EN <= (2.0*EIN[43]:
)) GO TO 447
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
# SINGLET DISSOCIATION AT 15.2 EV BEF SCALING F=.048051
447 if(EN <= (EIN[44])) GO TO 448
QIN[44][I]=0.048051/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+E[3])
if(QIN[44][I]:
< 0.0) QIN[44][I]=0.0
if(EN <= (2.0*EIN[44]:
)) GO TO 448
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
# SINGLET DISSOCIATION AT 15.6 EV BEF SCALING F=.036375
448 if(EN <= (EIN[45])) GO TO 449
QIN[45][I]=0.036375/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+E[3])
if(QIN[45][I]:
< 0.0) QIN[45][I]=0.0
if(EN <= (2.0*EIN[45]:
)) GO TO 449
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
# SINGLET DISSOCIATION AT 16.0 EV BEF SCALING F=.020165
449 if(EN <= (EIN[46])) GO TO 450
QIN[46][I]=0.020165/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+E[3])
if(QIN[46][I]:
< 0.0) QIN[46][I]=0.0
if(EN <= (2.0*EIN[46]:
)) GO TO 450
PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]
# SINGLET DISSOCIATION AT 16.4 EV BEF SCALING F=.010038
450 if(EN <= (EIN[47])) GO TO 451
QIN[47][I]=0.010038/(EIN[47]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[47]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[47]+E[3])
if(QIN[47][I]:
< 0.0) QIN[47][I]=0.0
if(EN <= (2.0*EIN[47]:
)) GO TO 451
PEQIN[47][I]=PEQEL[2][(I-IOFFN[47])]
# SINGLET DISSOCIATION AT 16.8 EV BEF SCALING F=.0054441
451 if(EN <= (EIN[48])) GO TO 452
QIN[48][I]=0.0054441/(EIN[48]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[48]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[48]+E[3])
if(QIN[48][I]:
< 0.0) QIN[48][I]=0.0
if(EN <= (2.0*EIN[48]:
)) GO TO 452
PEQIN[48][I]=PEQEL[2][(I-IOFFN[48])]
# SINGLET DISSOCIATION AT 17.25 EV BEF SCALING F=.0050790
452 if(EN <= (EIN[49])) GO TO 453
QIN[49][I]=0.0050790/(EIN[49]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[49]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[49]+E[3])
if(QIN[49][I]:
< 0.0) QIN[49][I]=0.0
if(EN <= (2.0*EIN[49]:
)) GO TO 453
PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
# SINGLET DISSOCIATION AT 17.75 EV BEF SCALING F=.0057699
453 if(EN <= (EIN[50])) GO TO 454
QIN[50][I]=0.0057699/(EIN[50]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[50]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[50]+E[3])
if(QIN[50][I]:
< 0.0) QIN[50][I]=0.0
if(EN <= (2.0*EIN[50]:
)) GO TO 454
PEQIN[50][I]=PEQEL[2][(I-IOFFN[50])]
# SINGLET DISSOCIATION AT 18.25 EV BEF SCALING F=.0072715
454 if(EN <= (EIN[51])) GO TO 455
QIN[51][I]=0.0072715/(EIN[51]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[51]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[51]+E[3])
if(QIN[51][I]:
< 0.0) QIN[51][I]=0.0
if(EN <= (2.0*EIN[51]:
)) GO TO 455
PEQIN[51][I]=PEQEL[2][(I-IOFFN[51])]
# SINGLET DISSOCIATION AT 18.75 EV BEF SCALING F=.010296
455 if(EN <= (EIN[52])) GO TO 456
QIN[52][I]=0.010296/(EIN[52]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[52]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[52]+E[3])
if(QIN[52][I]:
< 0.0) QIN[52][I]=0.0
if(EN <= (2.0*EIN[52]:
)) GO TO 456
PEQIN[52][I]=PEQEL[2][(I-IOFFN[52])]
# SINGLET DISSOCIATION AT 19.25 EV BEF SCALING F=.014152
456 if(EN <= (EIN[53])) GO TO 457
QIN[53][I]=0.014152/(EIN[53]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[53]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[53]+E[3])
if(QIN[53][I]:
< 0.0) QIN[53][I]=0.0
if(EN <= (2.0*EIN[53]:
)) GO TO 457
PEQIN[53][I]=PEQEL[2][(I-IOFFN[53])]
# SINGLET DISSOCIATION AT 19.75 EV BEF SCALING F=.013698
457 if(EN <= (EIN[54])) GO TO 458
QIN[54][I]=0.013698/(EIN[54]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[54]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[54]+E[3])
if(QIN[54][I]:
< 0.0) QIN[54][I]=0.0
if(EN <= (2.0*EIN[54]:
)) GO TO 458
PEQIN[54][I]=PEQEL[2][(I-IOFFN[54])]
# SINGLET DISSOCIATION AT 20.25 EV BEF SCALING F=.010362
458 if(EN <= (EIN[55])) GO TO 459
QIN[55][I]=0.010362/(EIN[55]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[55]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[55]+E[3])
if(QIN[55][I]:
< 0.0) QIN[55][I]=0.0
if(EN <= (2.0*EIN[55]:
)) GO TO 459
PEQIN[55][I]=PEQEL[2][(I-IOFFN[55])]
# SINGLET DISSOCIATION AT 20.75 EV BEF SCALING F=.0088401
459 if(EN <= (EIN[56])) GO TO 460
QIN[56][I]=0.0088401/(EIN[56]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[56]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[56]+E[3])
if(QIN[56][I]:
< 0.0) QIN[56][I]=0.0
if(EN <= (2.0*EIN[56]:
)) GO TO 460
PEQIN[56][I]=PEQEL[2][(I-IOFFN[56])]
# SINGLET DISSOCIATION AT 21.5 EV BEF SCALING F=.022195
460 if(EN <= (EIN[57])) GO TO 461
QIN[57][I]=0.022195/(EIN[57]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[57]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[57]+E[3])
if(QIN[57][I]:
< 0.0) QIN[57][I]=0.0
if(EN <= (2.0*EIN[57]:
)) GO TO 461
PEQIN[57][I]=PEQEL[2][(I-IOFFN[57])]
# SINGLET DISSOCIATION AT 22.5 EV BEF SCALING F=.019172
461 if(EN <= (EIN[58])) GO TO 462
QIN[58][I]=0.019172/(EIN[58]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[58]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[58]+E[3])
if(QIN[58][I]:
< 0.0) QIN[58][I]=0.0
if(EN <= (2.0*EIN[58]:
)) GO TO 462
PEQIN[58][I]=PEQEL[2][(I-IOFFN[58])]
# SINGLET DISSOCIATION AT 23.5 EV BEF SCALING F=.011553
462 if(EN <= (EIN[59])) GO TO 463
QIN[59][I]=0.011553/(EIN[59]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[59]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[59]+E[3])
if(QIN[59][I]:
< 0.0) QIN[59][I]=0.0
if(EN <= (2.0*EIN[59]:
)) GO TO 463
PEQIN[59][I]=PEQEL[2][(I-IOFFN[59])]
# SINGLET DISSOCIATION AT 24.5 EV BEF SCALING F=.0089679
463 if(EN <= (EIN[60])) GO TO 464
QIN[60][I]=0.0089679/(EIN[60]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[60]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[60]+E[3])
if(QIN[60][I]:
< 0.0) QIN[60][I]=0.0
if(EN <= (2.0*EIN[60]:
)) GO TO 464
PEQIN[60][I]=PEQEL[2][(I-IOFFN[60])]
# SINGLET DISSOCIATION AT 25.5 EV BEF SCALING F=.0064815
464 if(EN <= (EIN[61])) GO TO 465
QIN[61][I]=0.0064815/(EIN[61]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[61]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[61]+E[3])
if(QIN[61][I]:
< 0.0) QIN[61][I]=0.0
if(EN <= (2.0*EIN[61]:
)) GO TO 465
PEQIN[61][I]=PEQEL[2][(I-IOFFN[61])]
#
# FOURTH TRIPLET AT 26.0 EV
465 if(EN <= EIN[62]) GO TO 470
if(EN > XTR4(NTR4):
) GO TO 468
DO 466 J=2,NTR4
if(EN <= XTR4[J]:
) GO TO 467
466 CONTINUE
J=NTR4
467 A=(YTR4[J]-YTR4[J-1])/(XTR4[J]-XTR4[J-1])
B=(XTR4[J-1]*YTR4[J]-XTR4[J]*YTR4[J-1])/(XTR4[J-1]-XTR4[J])
QIN[62][I]=(A*EN+B)*1.e-16
GO TO 469
# SCALE BY 1/E**2 ABOVE XTR4(NTR4) EV
468 QIN[62][I]=YTR4(NTR4)*(XTR4(NTR4)/EN)**2*1.e-16
469 if(EN <= (3.0*EIN[62])) GO TO 470
PEQIN[62][I]=PEQEL[2][(I-IOFFN[62])]
#
# SINGLET DISSOCIATION AT 26.5 EV BEF SCALING F=.0035484
470 if(EN <= (EIN[63])) GO TO 471
QIN[63][I]=0.0035484/(EIN[63]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[63]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[63]+E[3])
if(QIN[63][I]:
< 0.0) QIN[63][I]=0.0
if(EN <= (2.0*EIN[63]:
)) GO TO 471
PEQIN[63][I]=PEQEL[2][(I-IOFFN[63])]
# SINGLET DISSOCIATION AT 27.5 EV BEF SCALING F=.0010872
471 if(EN <= (EIN[64])) GO TO 472
QIN[64][I]=0.0010872/(EIN[64]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[64]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[64]+E[3])
if(QIN[64][I]:
< 0.0) QIN[64][I]=0.0
if(EN <= (2.0*EIN[64]:
)) GO TO 472
PEQIN[64][I]=PEQEL[2][(I-IOFFN[64])]
472 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTION
QIN[65][I]=0.0
QIN[66][I]=0.0
if(EN <= 1000.):
GO TO 800
DO 780 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 790
780 CONTINUE
J=NBREM
790 A=(math.log(Z6T[J])-math.log(Z6T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z6T[J])*EBRM[J-1]-math.log(Z6T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
A1=(math.log(Z1T[J])-math.log(Z1T[J-1]))/(EBRM[J]-EBRM[J-1])
B1=(math.log(Z1T[J])*EBRM[J-1]-math.log(Z1T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[65][I]=math.exp(A*EN+B)*3.e-24
QIN[66][I]=math.exp(A1*EN+B1)*8.e-24
800 CONTINUE
#
# LOAD NULL COLLISIONS
#
# LIGHT EMISSION FROM H ALPHA
# MOHLMANN AND DE HEER CHEM.PHYS.19(1979)233
QNULL[1][I]=0.0
if(EN <= XNUL1[1]:
) GO TO 805
if(EN > XNUL1(NUL1):
) GO TO 803
DO 801 J=2,NUL1
if(EN <= XNUL1[J]:
) GO TO 802
801 CONTINUE
J=NUL1
802 A=(YNUL1[J]-YNUL1[J-1])/(XNUL1[J]-XNUL1[J-1])
B=(XNUL1[J-1]*YNUL1[J]-XNUL1[J]*YNUL1[J-1])/(XNUL1[J-1]-XNUL1[J])
QNULL[1][I]=(A*EN+B)*1.e-16*SCLN[1]
GO TO 805
# SCALE BY 1/E ABOVE XNUL1(NUL1)) EV
803 QNULL[1][I]=YNUL1(NUL1)*(XNUL1(NUL1)/EN)*1.e-16*SCLN[1]
#
# LIGHT EMISSION FROM CH2(A2DELTA - X2PI)
# MOHLMANN AND DE HEER CHEM.PHYS.19(1979)233
#
805 QNULL[2][I]=0.0
if(EN <= XNUL2[1]:
) GO TO 810
if(EN > XNUL2(NUL2):
) GO TO 808
DO 806 J=2,NUL2
if(EN <= XNUL2[J]:
) GO TO 807
806 CONTINUE
J=NUL2
807 A=(YNUL2[J]-YNUL2[J-1])/(XNUL2[J]-XNUL2[J-1])
B=(XNUL2[J-1]*YNUL2[J]-XNUL2[J]*YNUL2[J-1])/(XNUL2[J-1]-XNUL2[J])
QNULL[2][I]=(A*EN+B)*1.e-16*SCLN[2]
GO TO 810
# SCALE BY 1/E ABOVE XNUL2(NUL2)) EV
808 QNULL[2][I]=YNUL2(NUL2)*(XNUL2(NUL2)/EN)*1.e-16*SCLN[2]
#
810 CONTINUE
#
815 CONTINUE
SUMEXC=0.0
DO 850 J=9,NIN
850 SUMEXC=SUMEXC+QIN[J][I]
SUMION=0.0
DO 851 J=1,NION
851 SUMION=SUMION+QION[J][I]
SUMATT=0.0
DO 852 J=1,NATT
852 SUMATT=SUMATT+QATT[J][I]
SUMVIB=0.0
DO 853 J=1,8
853 SUMVIB=SUMVIB+QIN[J][I]
SUMELMT=QMT
SUMEL=QEL
SUMTOTM=SUMVIB+SUMEXC+SUMION+SUMATT+SUMELMT
SUMTOT=SUMVIB+SUMEXC+SUMION+SUMATT+SUMEL
SUMNONEL=SUMVIB+SUMEXC+SUMION+SUMATT
SUMTRIPLET=QIN[9][I]+QIN[11][I]+QIN[18][I]+QIN[62][I]
SUMDIPOLE=SUMEXC-SUMTRIPLET
#
# WRITE(6,887) EN,QIN[1][I],QIN[2][I]
# 887 print(' EN = ','%.4f' % ,' TORS SUP = ','%.4f' % ,' TORSION = ','%.4f' % )
# WRITE(6,888) EN,QMT,SUMVIB,SUMEXC,SUMION,SUMATT,SUMNONEL,SUMTOTM,
# /SUMTRIPLET,SUMDIPOLE
# 888 print(' EN=','%.4f' % ,' QMT =','%.3f' %,' SUMVIB=','%.3f' %,' SUMEXC =',
# /'%.3f' %,' SUMION =','%.3f' %,' SUMATT =','%.3f' %,' SUMNONEL =','%.3f' %,
# /' SUMTOTM =','%.3f' %,/,' SUMTRIPLET =','%.3f' %,' SUMDIPOLE =','%.3f' %)
#
1000 CONTINUE
# SAVE COMPUTE TIME
DO 1010 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 1011
# endif
1010 CONTINUE
1011 CONTINUE
if(EFINAL > 1000.):
NIN=66
#
return
# end
def GAS11(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NCO,ECO,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(157),YELM(157),YELT(157),YEPS(157),XION[42],YION[42],YINC[42],XATT[10],YATT[10],XKSH(83),YKSH(83), XVIB1[30],YVIB1[30],XVIB2[24],YVIB2[24],XVIB3[24],YVIB3[24], XVIB4[29],YVIB4[29],XVIB5[15],YVIB5[15],XEXC1[16],YEXC1[16],XEXC2[16],YEXC2[16],IOFFN[24],IOFFION[10]
DIMENSION Z6T[25],Z1T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ELASTIC
XEN=[0.00,0.001,0.002,0.003,0.004,0.005,0.007,0.01,0.014,0.02,.025,0.03,.035,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.11,0.12,0.13,0.14,0.16,0.18,0.20,0.23,0.26,0.30,0.35,0.40,0.50,0.60,0.80,1.00,1.40,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,12.5,15.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,100.,120.,140.,170.,200.,250.,300.,400.,500.,750.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.D4,1.25D4,1.5D4,1.75D4,2.D4,2.5'%.3f' %.'%.3f' %.5D4,4.D4,4.5D4,5.D4,6.D4,7.D4,8.D4,9.D4,1.D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.'%.3f' %.5D5,4.D5,4.5D5,5.D5,6.D5,7.D5,8.D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC MOMENTUM TRANSFER X-SECTION
YELM=[255.,255.,255.,255.,255.,210.,150.,105.,74.5,52.0, 41.4,34.5,29.6,25.9,20.7,17.2,14.8,13.0,11.7,10.8,10.0,9.30,8.60,8.00,7.00,5.50,3.50,3.60,4.80,7.50,9.60,11.2,12.9,13.8,14.7,15.3,16.1,17.3,19.8,23.2,27.8,32.3,35.0,35.0,33.0,30.0,25.0,21.5,17.0,13.7,11.5,9.00,7.30,6.10,5.20,4.50,3.50,2.80,2.21,1.72,1.40,1.10,0.87,0.61,0.47,0.28,.171,.116,.0848,.0648,.0505,.0345,.0249,.0189,.0149,.0120,.00996,.00717,.00542,.00426,.00344,.00284,.00190,.00136,.00103,.000807,.000539,.000387,.000293,.000231,1.87e-4,1.55e-4,1.12e-4,8.50e-5,6.72e-5,5.46e-5,4.55e-5,3.10e-5,2.27e-5,1.75e-5,1.40e-5,9.71e-6,7.24e-6,5.66e-6,4.59e-6,3.81e-6,3.24e-6,2.44e-6,1.93e-6,1.57e-6,1.31e-6,1.12e-6,8.01e-7,6.04e-7,4.75e-7,3.84e-7,2.69e-7,2.00e-7,1.55e-7,1.24e-7,1.02e-7,8.52e-8,6.23e-8,4.77e-8,3.78e-8,3.07e-8,2.55e-8,1.71e-8,1.23e-8,9.30e-9,7.28e-9,4.83e-9,3.45e-9,2.59e-9,2.02e-9,1.61e-9,1.32e-9,9.36e-10,6.97e-10,5.39e-10,4.29e-10,3.50e-10,2.26e-10,1.58e-10,1.16e-10,8.92e-11,5.72e-11,3.98e-11,2.92e-11,2.24e-11,1.77e-11,1.44e-11,9.97e-12,7.33e-12,5.61e-12,4.43e-12,3.59e-12]
# ELASTIC X-SECTION ASSUMED ISOTROPIC BELOW 2.0 EV
YELT=[255.,255.,255.,255.,255.,210.,150.,105.,74.5,52.0, 41.4,34.5,29.6,25.9,20.7,17.2,14.8,13.0,11.7,10.8,10.0,9.30,8.60,8.00,7.00,5.50,3.50,3.60,4.80,7.50,9.60,11.2,12.9,13.8,14.7,15.3,16.1,17.3,25.0,32.0,39.0,43.0,46.0,48.0,48.0,46.0,43.5,41.5,37.0,32.0,27.5,22.5,19.0,16.5,14.7,13.3,11.0,9.60,8.40,7.20,6.40,5.30,4.60,3.65,3.05,2.20,1.72,1.42,1.21,1.08,0.96,0.80,.690,.600,.545,.490,.450,.385,.335,.305,.275,.250,.210,.180,.158,.142,.119,.100,.0873,.0774,.0698,.0636,.0545,.0479,.0443,.0392,.0361,.0306,.0270,.0244,.0225,.0198,.0180,.0168,.0158,.0151,.0146,.0138,.0132,.0128,.0125,.0123,.0119,.0116,.0114,.0113,.0112,.0111,.0110,.0110,.0110,.0110,.0109,.0109,.0109,.0109,.0109,30*.01086]
# EPSILON FOR ELASTIC ANGULAR DISTRIBUTION
# EPSILON=1.0-YEPS
YEPS=[38*1.0,.6940,.6011,.5847,.6369,.6507,.6068,.5511,.5054,.4106,.3465,.2851,.2545,.2451,.2283,.2141,.2015,.1880,.1753,.1593,.1393,.1191,.1030,.0903,.0836,.0730,.0610,.0544,.0415,.0296,.0227,.0185,.0151,.01272,.00985,.00786,.00662,.00555,.00484,.00427,.00346,.00291,.00244,.00213,.00190,.001449,.001171,9.84e-4,8.38e-4,6.43e-4,5.35e-4,4.54e-4,3.97e-4,3.50e-4,3.14e-4,2.58e-4,2.19e-4,1.83e-4,1.658e-4,1.481e-4,1.157e-4,9.37e-5,7.84e-5,6.69e-5,5.12e-5,4.11e-5,3.37e-5,2.86e-5,2.45e-5,2.12e-5,1.65e-5,1.34e-5,1.11e-5,9.33e-6,7.99e-6,5.75e-6,4.32e-6,3.37e-6,2.71e-6,1.87e-6,1.37e-6,1.04e-6,8.24e-7,6.67e-7,5.52e-7,3.95e-7,2.97e-7,2.32e-7,1.86e-7,1.52e-7,9.94e-8,7.00e-8,5.20e-8,4.01e-8,2.59e-8,1.81e-8,1.34e-8,1.03e-8,8.12e-9,6.58e-9,4.56e-9,3.34e-9,2.55e-9,2.00e-9,1.62e-9,1.02e-9,7.00e-10,5.07e-10,3.84e-10,2.41e-10,1.65e-10,1.19e-10,9.00e-11,7.1D-11,5.7D-11,3.9D-11,2.8D-11,2.1D-11,1.6D-11,1.3D-11]
# IONISATION
XION=[10.67,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,75.0,85.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]
# GROSS IONISATION
YION=[0.00,.004,.070,0.18,0.37,0.59,0.84,1.10,1.60,2.20,3.00,5.11,6.71,8.00,8.82,9.51,10.0,10.5,10.7,10.8,10.7,10.5,10.0,9.41,8.87,8.33,7.29,6.51,5.90,5.40,4.99,4.65,4.36,4.11,3.88,3.69,3.52,3.36,3.22,3.09,2.98,2.872]
# K-SHELL IONISATION X-SECTION CARBON (MUTILPY BY 4 FOR MOLECULE)
XKSH=[285.,298.,307.,316.,325.,335.,345.,365.,398.,422.,447.,473.,501.,531.,613.,668.,708.,750.,817.,917.,1000.,1122.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.0D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.0D6,1.26D6,1.5D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.0D7,1.26D7,1.5D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.0D8,1.26D8,1.5D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.0D9]
YKSH=[0.00,1.66e-4,3.48e-4,5.25e-4,6.96e-4,8.63e-4,1.02e-3,1.33e-3,1.75e-3,2.01e-3,2.24e-3,2.46e-3,2.66e-3,2.84e-3,3.21e-3,3.38e-3,3.47e-3,3.55e-3,3.65e-3,3.72e-3,3.75e-3,3.74e-3,3.68e-3,3.57e-3,3.45e-3,3.31e-3,3.19e-3,3.07e-3,2.91e-3,2.66e-3,2.25e-3,1.95e-3,1.55e-3,1.21e-3,8.97e-4,7.07e-4,6.07e-4,5.21e-4,4.21e-4,3.63e-4,3.14e-4,2.84e-4,2.57e-4,2.25e-4,1.74e-4,1.50e-4,1.28e-4,1.15e-4,1.09e-4,1.05e-4,1.03e-4,1.02e-4,1.01e-4,1.005e-4,1.01e-4,1.03e-4,1.07e-4,1.11e-4,1.14e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.29e-4,1.32e-4,1.38e-4,1.45e-4,1.50e-4,1.54e-4,1.58e-4,1.60e-4,1.63e-4,1.67e-4,1.71e-4,1.74e-4,1.80e-4,1.87e-4,1.92e-4,1.96e-4,2.00e-4,2.02e-4,2.05e-4,2.09e-4]
# COUNTING IONISATION
YINC=[42*0.0]
# ATTACHMENT
XATT=[10*0.0]
YATT=[10*0.0]
# VIBRATION/TORSION
# ABOVE 40EV SCALE BY 1/E
XVIB1=[.052,.055,.060,.065,.070,.075,0.08,0.10,0.12,0.14, 0.20,0.25,0.30,0.40,0.50,0.70,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0,15.0,20.0,30.0,40.0]
YVIB1=[0.00,.014,.021,.024,.026,.027,.028,.028,.027,.025, .021,.018,.016,.014,.012,.009,.008,.012,.015,.024,.036,.047,.060,.079,.079,.065,.038,.025,.012,.008]
# VIBRATION
# ABOVE 40EV SCALE BY 1/E
XVIB2=[.108,.125,0.15,0.20,0.23,0.25,0.30,0.40,0.50,0.70, 1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0, 15.0,20.0,30.0,40.0]
YVIB2=[0.00,0.27,0.52,0.71,0.73,0.73,0.66,0.56,0.49,0.41, 0.32,0.32,0.39,0.63,0.93,1.22,1.57,2.06,2.06,1.69, 1.00,0.66,0.35,0.22]
# VIBRATION
# ABOVE 40EV SCALE BY 1/E
XVIB3=[.173,0.18,0.19,0.20,0.23,0.25,0.30,0.40,0.50,0.70, 1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0, 15.0,20.0,30.0,40.0]
YVIB3=[0.00,0.13,0.27,0.38,0.49,0.53,0.56,0.53,0.49,0.42, 0.34,0.31,0.33,0.48,0.72,0.94,1.21,1.59,1.59,1.35, 0.80,0.52,0.28,.175]
# VIBRATION
# ABOVE 40EV SCALE BY 1/E
XVIB4=[.363,.365,0.37,0.38,0.39,0.40,0.42,0.45,0.50,0.55,0.60,0.70,0.80,0.90,1.00,1.20,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0,15.0,20.0,30.0,40.0]
YVIB4=[0.00,.108,.198,.299,.366,.416,.487,.555,.615,.645, .655,.650,.630,.605,.580,0.55,0.57,0.67,1.05,1.50,2.00,2.45,2.70,2.70,2.10,1.15,0.76,0.42,0.27]
# VIBRATION HARMONICS
# ABOVE 40EV SCALE BY 1/E
XVIB5=[.519,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00, 10.0,15.0,20.0,30.0,40.0]
YVIB5=[0.00,.001,0.01,.033,.085,0.16,0.20,0.27,0.30,0.30, 0.23,.125,.085,.047,.032]
# EXCITATION TRIPLET
XEXC1=[7.20,8.00,9.00,10.0,12.0,14.0,16.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,100.]
YEXC1=[0.00,0.10,0.30,0.45,0.52,0.55,0.51,0.45,0.30,0.20,0.10,0.06,.037,.026,.019,.011]
# EXCITATION TRIPLET
XEXC2=[8.60,9.40,10.4,11.4,13.4,15.4,17.4,21.4,26.0,30.0,40.0,50.0,60.0,70.0,80.0,100.]
YEXC2=[0.00,0.10,0.30,0.45,0.52,0.55,0.51,0.45,0.30,0.20,0.10,0.06,.037,.026,.019,.011]
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24 CM**2
Z6T=[298.,178.,85.2,47.5,26.3,12.2,7.06,4.45,3.06,2.82,2.89,2.99,3.08,3.13,3.18,3.25,3.31,3.39,3.44,3.49,3.52,3.54,3.55,3.57,3.57]
Z1T=[11.3,6.18,2.80,1.54,.858,.407,.251,.176,.145,.150,.167,.178,.187,.193,.198,.205,.210,.218,.222,.228,.231,.233,.234,.235,.235]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
#**********************************************************************
# 2014 UPDATE INCLUDES CORRECT OSCILLATOR STRENGTH AND FIT TO NEW
# TOWNS# end DATA
# 2012 UPDATE INCLUDES K-SHELL IONISATION
# 2009 UPDATE OF 1999 def
# VERSION INCLUDES ANISOTROPIC SCATTERING. USED ISOTROPIC ELASTIC
# SCATTERING BELOW 2 EV DUE TO LACK OF EXPERIMENTAL ELECTRON
# SCATTERING DATA.
# ALSO INCLUDES BETTER TREATMENT OF TORSIONAL EXCITATION (USED A
# 2-LEVEL APPROXIMATION FOR TORSION)
# IMPROVED FANO FACTOR AND W FROM BETTER EXCITATION/DISSOCIATION
# X-SECTIONS . PUBLISHED ELECTRON SCATTERING UP TO 2009 IS
# INCLUDED IN ANALYSIS. GOOD FIT +-1% TO SCHMIDTS HE/ISO .
# SCHMIDT AND MARTENS : HEIDELBERG PREPRINT :HD-PY 92/02
# STILL SOME PROBLEMS WITH AR/ISO FITS +-2% BUT PROBABLY CAUSED
# BY POOR QUALITY EXPERIMENTAL DRIFT VELOCITY DATA.
# E.G. NO CONSISTANCY AT 3% LEVEL BETWEEN :
# FUJII ET AL: NIM A245(1986)35
# AND BECKER : HTTP://CYCLO.MIT.EDU/DRIFT/WWW
# FUTURE IMPROVEMENT: INCLUDE EFFECTIVE ROTATIONAL STATE AT 0.005EV
#***********************************************************************
#--------------------------------------------------------
if(NANISO == 0):
:
NAME='ISO-C4H10 2014 ISOTROPIC '
else:
NAME='ISO-C4H10 2014 ANISOTRPIC'
# endif
# ---------------------------------------------------------------------
#
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
CONST=1.873884e-20
EMASS2=1021997.804
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
# BORN BETHE VALUES FOR IONISATION
AM2=14.8
C=141.9
#
# AVERAGE AUGER EMISSIONS FROM K-SHELL
AUGK=2.0
#
# ARRAY SIZE
NASIZE=20000
# SCALE SINGLET X-SECTIONS TO ALLOW FOR INCREASED ENERGY LOSS DUE TO 5%
# STEP IN ENERGY BETWEEN SINGLET LEVELS.
ASING=1.02
#
NION=3
NATT=1
NIN=24
NNULL=0
IONMODEL=0
#
NBREM=25
DO 18 J=1,NIN
IZBR[J]=0
18 CONTINUE
IZBR[25]=6
IZBR[26]=1
#
# USE NANISO=2 ONLY (OKHRIMOVSKY)
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=1,NIN
2 KIN[J]=2
#
NDATA=157
NIOND=42
NATT1=10
NVIB1=30
NVIB2=24
NVIB3=24
NVIB4=29
NVIB5=15
NEXC1=16
NEXC2=16
NKSH=83
#
E[1]=0.0
E[2]=2.0*EMASS/(58.1234*AMU)
E[3]=10.67
# EXCITATION X-SECTION AT 1.2 MEV
E[4]=0.0145e-16
# IONISATION X-SECTION AT 1.2 MEV
E[5]=0.0374e-16
# OPAL BEATY IONISATION ENERGY SPLITTING AT 1.2 MEV
E[6]=7.00
# OPAL BEATY IONISATION AT LOW ENERGY
EOBY[1]=6.8
# OPAL BEATY FOR DISSOCIATION AND K-SHELL
EOBY[2]=6.8
EOBY[3]=180.0
#
EION[1]=10.67
EION[2]=17.0
EION[3]=285.0
LEGAS[1]=0
LEGAS[2]=0
LEGAS[3]=1
ISHELL[1]=0
ISHELL[2]=0
ISHELL[3]=1
# FLUORESCENCE DATA
NC0[1]=0
EC0[1]=0.0
WKLM[1]=0.0
EFL[1]=0.0
NG1[1]=0
EG1[1]=0.0
NG2[1]=0
EG2[1]=0.0
NC0[2]=0
EC0[2]=0.0
WKLM[2]=0.0
EFL[2]=0.0
NG1[2]=0
EG1[2]=0.0
NG2[2]=0
EG2[2]=0.0
NC0[3]=2
EC0[3]=253.
WKLM[3]=0.0026
EFL[3]=273.
NG1[3]=1
EG1[3]=253.
NG2[3]=2
EG2[3]=5.0
#
EIN[1]=-0.032
EIN[2]=0.032
EIN[3]=-0.108
EIN[4]=0.108
EIN[5]=-0.173
EIN[6]=0.173
EIN[7]=-0.363
EIN[8]=0.363
EIN[9]=0.519
EIN[10]=7.2
EIN[11]=8.6
EIN[12]=7.50
EIN[13]=8.0
EIN[14]=8.5
EIN[15]=9.0
EIN[16]=9.5
EIN[17]=10.0
EIN[18]=10.5
EIN[19]=11.0
EIN[20]=11.5
EIN[21]=12.0
EIN[22]=12.5
EIN[23]=13.0
EIN[24]=13.5
EIN[25]=0.0
EIN[26]=0.0
#
DO 776 J=1,NION
DO 777 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
DO 652 NL=1,NIN
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 652
# endif
651 CONTINUE
652 CONTINUE
#***********************************************************************
# PENNING TRANSFER FRACTION FOR EACH LEVEL
for 5 K in range(1,24):
DO 5 L=1,3
5 PENFRA[L,K]=0.0
PENSUM=0.0
# PENNING TRANSFER FRACTION FOR EXCITATION LEVELS ONLY
DO 555 K=10,24
PENFRA[1][K]=0.0
PENSUM=PENSUM+PENFRA[1][K]
# PENNING TRANSFER DISTANCE IN MICRONS
PENFRA[2][K]=1.0
# PENNING TRANSFER TIME IN PICOSECONDS
PENFRA[3][K]=1.0
555 CONTINUE
if(IPEN == 0):
GO TO 8
if((PENSUM):
== 0.0) GO TO 8
DO 6 K=10,24
6 WRITE(6,999) NAME,EIN[K],PENFRA[1][K],PENFRA[2][K],PENFRA[3][K]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY = ','%.3f' % ,' ABS.LENGTH = ',F7.2,' DECAY TIME = ',F7.1,/)
8 CONTINUE
#***********************************************************************
SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC ISOBUTANE '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC ISOBUTANE '
# endif
SCRPT[3]=' IONISATION ELOSS= 10.67 '
SCRPT[4]=' IONISATION-EXCITATION (BREAKUP) ELOSS= 17.0 '
SCRPT[5]=' IONISATION K-SHELL ELOSS= 285.0 '
SCRPT[6]=' ATTACHMENT '
SCRPT[7]=' '
SCRPT[8]=' '
SCRPT[9]=' TORSION ELOSS= -0.032 '
SCRPT[10]=' TORSION ELOSS= 0.032 '
SCRPT[11]=' VIBRATION B# end ELOSS= -0.108 '
SCRPT[12]=' VIBRATION B# end ELOSS= 0.108 '
SCRPT[13]=' VIBRATION STRETCH ELOSS= -0.173 '
SCRPT[14]=' VIBRATION STRETCH ELOSS= 0.173 '
SCRPT[15]=' VIBRATION STRETCH ELOSS= -0.363 '
SCRPT[16]=' VIBRATION STRETCH ELOSS= 0.363 '
SCRPT[17]=' VIBRATION STRETCH ELOSS= 0.519 '
SCRPT[18]=' EXC. TRIPLET ELOSS= 7.2 '
SCRPT[19]=' EXC. TRIPLET ELOSS= 8.6 '
SCRPT[20]=' EXC. SINGLET F=.0013 ELOSS= 7.5 '
SCRPT[21]=' EXC. SINGLET F=.0150 ELOSS= 8.0 '
SCRPT[22]=' EXC. SINGLET F=.1140 ELOSS= 8.5 '
SCRPT[23]=' EXC. SINGLET F=.1570 ELOSS= 9.0 '
SCRPT[24]=' EXC. SINGLET F=.1710 ELOSS= 9.5 '
SCRPT[25]=' EXC. SINGLET F=.1880 ELOSS= 10.0 '
SCRPT[26]=' EXC. SINGLET F=.2050 ELOSS= 10.5 '
SCRPT[27]=' EXC. SINGLET F=.1930 ELOSS= 11.0 '
SCRPT[28]=' EXC. SINGLET F=.1620 ELOSS= 11.5 '
SCRPT[29]=' EXC. SINGLET F=.1030 ELOSS= 12.0 '
SCRPT[30]=' EXC. SINGLET F=.0670 ELOSS= 12.5 '
SCRPT[31]=' EXC. SINGLET F=.0640 ELOSS= 13.0 '
SCRPT[32]=' EXC. SINGLET F=.0280 ELOSS= 13.5 '
SCRPT[33]=' BREMSSTRAHLUNG FROM CARBON ATOM '
SCRPT[34]=' BREMSSTRAHLUNG FROM HYDROGEN ATOM '
# CALCULATE POPULATION OF TORSIONAL STATES
APOP1=math.exp(EIN[1]/AKT)
APOP2=math.exp(2.0*EIN[1]/AKT)
APOP3=math.exp(3.0*EIN[1]/AKT)
APOP4=math.exp(4.0*EIN[1]/AKT)
APOP5=math.exp(5.0*EIN[1]/AKT)
APOP6=math.exp(6.0*EIN[1]/AKT)
APOP7=math.exp(7.0*EIN[1]/AKT)
APOP8=math.exp(8.0*EIN[1]/AKT)
APOP9=math.exp(9.0*EIN[1]/AKT)
APOP10=math.exp(10.0*EIN[1]/AKT)
APOPGST=1.0
APOPSUM=APOPGST+APOP1+APOP2+APOP3+APOP4+APOP5+APOP6+APOP7+APOP8+APOP9+APOP10
APOPGST=1.0/APOPSUM
APOP1=APOP1/APOPSUM
APOP2=APOP2/APOPSUM
APOP3=APOP3/APOPSUM
APOP4=APOP4/APOPSUM
APOP5=APOP5/APOPSUM
APOP6=APOP6/APOPSUM
APOP7=APOP7/APOPSUM
APOP8=APOP8/APOPSUM
APOP9=APOP9/APOPSUM
APOP10=APOP10/APOPSUM
# USE 2 LEVEL APPROXIMATION FOR TORSION
APOP1=APOP1+APOP2+APOP3+APOP4+APOP5+APOP6+APOP7+APOP8+APOP9+APOP10
APOPGST=1.0
# CALCULATE POPULATION OF VIBRATIONAL STATES
# ASSUME ALL STATE DEGENERACIES ARE EQUAL
APOPV2=math.exp(EIN[3]/AKT)
APOPV3=math.exp(EIN[5]/AKT)
APOPV4=math.exp(EIN[7]/AKT)
APOPGS=1.0+APOPV2+APOPV3+APOPV4
APOPV2=APOPV2/APOPGS
APOPV3=APOPV3/APOPGS
APOPV4=APOPV4/APOPGS
APOPGS=1.0/APOPGS
# RENORMALISE GROUND STATE POPULATION ( GIVES CORRECTION THAT
# ALLOWS FOR VIBRATIONAL EXCITATION FROM EXCITED VIBRATIONAL STATES)
APOPGS=1.0
#
# EN=-ESTEP/2.0
DO 1000 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
#
DO 10 J=2,N
if(EN <= XEN[J]:
) GO TO 20
10 CONTINUE
J=N
20 A=(YELM[J]-YELM[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YELM[J]-XEN[J]*YELM[J-1])/(XEN[J-1]-XEN[J])
QMOM=(A*EN+B)*1.e-16
A=(YELT[J]-YELT[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YELT[J]-XEN[J]*YELT[J-1])/(XEN[J-1]-XEN[J])
QELA=(A*EN+B)*1.e-16
A=(YEPS[J]-YEPS[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEPS[J]-XEN[J]*YEPS[J-1])/(XEN[J-1]-XEN[J])
PQ2=(A*EN+B)
# EPSILON = 1.0-YEPS
PQ2=1.00-PQ2
PQ1=0.5+(QELA-QMOM)/QELA
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
# GROSS IONISATION
QION[1][I]=0.0
PEQION[1][I]=0.5
if(NANISO == 2):
PEQION[1][I]=0.0
if(EN < EION[1]:
) GO TO 150
if(EN > XION(NIOND):
) GO TO 123
DO 100 J=2,NIOND
if(EN <= XION[J]:
) GO TO 110
100 CONTINUE
J=NIOND
110 A=(YION[J]-YION[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YION[J]-XION[J]*YION[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 124
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
123 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
124 CONTINUE
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON AT
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION EQUAL TO ELASTIC ANGULAR DISTRIBUTION
# AT AN ENERGY OFFSET BY THE IONISATION ENERGY
if(EN <= (2.0*EION[1]:
)) GO TO 150
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# CALCULATE IONISATION-EXCITATION AND SPLIT IONISATION INTO
# IONISATION ONLY AND IONISATION +EXCITATION
150 QION[2][I]=0.0
PEQION[2][I]=0.50
if(NANISO == 2):
PEQIN[2][I]=0.0
if(EN <= EION[2]:
) GO TO 160
QION[2][I]=12.00/(EION[2]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EION[2]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EION[2]+E[3])
if(QION[2][I]:
< 0.0) QION[2][I]=0.0
# FIND IONISATION ONLY
QION[1][I]=QION[1][I]-QION[2][I]
if(EN <= (2.0*EION[2]:
)) GO TO 160
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# K-SHELL IONISATION
160 QION[3][I]=0.0
PEQION[3][I]=0.5
if(NANISO == 2):
PEQION[3][I]=0.0
if(EN < EION[3]:
) GO TO 170
DO 161 J=2,NKSH
if(EN <= XKSH[J]:
) GO TO 162
161 CONTINUE
J=NKSH
162 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
# FACTOR OF 4 FROM NUMBER OF ATOMS ON MOLECULE
QION[3][I]=4.0*(A*EN+B)*1.e-16
# USE ANISOTROPIC SCATTERING FOR PRIMARY IONISATION ELECTRON AT
# ENERGIES ABOVE 2 * IONISATION ENERGY
# ANISOTROPIC ANGULAR DISTRIBUTION EQUAL TO ELASTIC ANGULAR DISTRIBUTION
# AT AN ENERGY OFFSET BY THE IONISATION ENERGY
if(EN <= (2.0*EION[3]:
)) GO TO 170
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# CORRECT DISSOCIATIVE IONISATION FOR SPLIT INTO K-SHELL
170 QION[2][I]=QION[2][I]-QION[3][I]
# ATTACHMENT (NO ATTACHMENT)
Q[4][I]=0.0
# COUNTING IONISATION
200 Q[5][I]=0.0
PEQEL[5][I]=0.5
if(NANISO == 2):
PEQEL[5][I]=0.0
if(EN <= E[3]:
) GO TO 210
# SET COUNTING IONISATION = GROSS IONISATION (LACK OF EXPERIMENTAL DATA)
Q[5][I]=QION[1][I]+AUGK*QION[3][I]
Q[5][I]=Q[5][I]-QION[3][I]
if(EN <= (2.0*E[3]:
)) GO TO 210
PEQEL[5][I]=PEQEL[2][(I-IOFFION[1]])
210 CONTINUE
#**********************************************************************
# TEMPORARY MOD FOR RANGE PARAMETERS
# IF(EN > 1000.) QION[1][I]=Q[5][I]
#*********************************************************************
Q[6][I]=0.0
# SUPERELASTIC TORSION
QIN[1][I]=0.0
PEQIN[1][I]=0.5
if(NANISO == 2):
PEQIN[1][I]=0.0
if(EN == 0.0):
GO TO 305
EFAC=math.sqrt(1.0-(EIN[1]/EN))
QIN[1][I]=0.009*math.log((EFAC+1.0)/(EFAC-1.0))/EN
QIN[1][I]=APOP1*QIN[1][I]*1.e-16
if(EN < (5.0*abs(EIN[1]:
))) GO TO 305
if(NANISO == 2):
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))] # TORSION
305 QIN[2][I]=0.0
PEQIN[2][I]=0.5
if(NANISO == 2):
PEQIN[2][I]=0.0
if(EN <= EIN[2]:
) GO TO 400
EFAC=math.sqrt(1.0-(EIN[2]/EN))
QIN[2][I]=0.009*math.log((1.0+EFAC)/(1.0-EFAC))/EN
QIN[2][I]=APOPGST*QIN[2][I]*1.e-16
if(EN < (5.0*abs(EIN[2]:
))) GO TO 400
if(NANISO == 2):
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))] # SUPERELASTIC VIB B# end MODES
400 QIN[3][I]=0.0
PEQIN[3][I]=0.5
if(NANISO == 2):
PEQIN[3][I]=0.0
if(EN == 0.0):
GO TO 450
if((EN+EIN[4]:
) > XVIB2(NVIB2)) GO TO 425
DO 410 J=2,NVIB2
if((EN+EIN[4]:
) <= XVIB2[J]) GO TO 420
410 CONTINUE
J=NVIB2
420 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[3][I]=APOPV2*(EN+EIN[4])*(A*(EN+EIN[4])+B)*1.e-16/EN
GO TO 426
425 QIN[3][I]=APOPV2*YVIB2(NVIB2)*(XVIB2(NVIB2)/EN)*1.e-16
426 if(EN < (3.0*abs(EIN[3]))) GO TO 450
if(NANISO == 2):
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))] # VIB B# end MODES
450 QIN[4][I]=0.0
PEQIN[4][I]=0.5
if(NANISO == 2):
PEQIN[4][I]=0.0
if(EN <= EIN[4]:
) GO TO 500
if(EN > XVIB2(NVIB2):
) GO TO 475
DO 460 J=2,NVIB2
if(EN <= XVIB2[J]:
) GO TO 470
460 CONTINUE
J=NVIB2
470 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[4][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 476
475 QIN[4][I]=APOPGS*YVIB2(NVIB2)*(XVIB2(NVIB2)/EN)*1.e-16
476 if(EN < (3.0*abs(EIN[4]))) GO TO 500
if(NANISO == 2):
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))] # SUPERELASTIC VIB STRETCH MODES
500 CONTINUE
QIN[5][I]=0.0
PEQIN[5][I]=0.5
if(NANISO == 2):
PEQIN[5][I]=0.0
if(EN == 0.0):
GO TO 550
if((EN+EIN[6]:
) > XVIB3(NVIB3)) GO TO 525
DO 510 J=2,NVIB3
if((EN+EIN[6]:
) <= XVIB3[J]) GO TO 520
510 CONTINUE
J=NVIB3
520 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN[5][I]=APOPV3*(EN+EIN[6])*(A*(EN+EIN[6])+B)*1.e-16/EN
GO TO 526
525 QIN[5][I]=APOPV3*YVIB3(NVIB3)*(XVIB3(NVIB3)/EN)*1.e-16
526 if(EN < (3.0*abs(EIN[5]))) GO TO 550
if(NANISO == 2):
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))] # VIB STRETCH MODES
550 CONTINUE
QIN[6][I]=0.0
PEQIN[6][I]=0.5
if(NANISO == 2):
PEQIN[6][I]=0.0
if(EN <= EIN[6]:
) GO TO 600
if(EN > XVIB3(NVIB3):
) GO TO 575
DO 560 J=2,NVIB3
if(EN <= XVIB3[J]:
) GO TO 570
560 CONTINUE
J=NVIB3
570 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN[6][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 576
575 QIN[6][I]=APOPGS*YVIB3(NVIB3)*(XVIB3(NVIB3)/EN)*1.e-16
576 if(EN < (3.0*abs(EIN[6]))) GO TO 600
if(NANISO == 2):
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))] # SUPERELASTIC VIB STRETCH MODES
600 CONTINUE
QIN[7][I]=0.0
PEQIN[7][I]=0.5
if(NANISO == 2):
PEQIN[7][I]=0.0
if(EN == 0.0):
GO TO 650
if((EN+EIN[8]:
) > XVIB4(NVIB4)) GO TO 625
DO 610 J=2,NVIB4
if((EN+EIN[8]:
) <= XVIB4[J]) GO TO 620
610 CONTINUE
J=NVIB4
620 A=(YVIB4[J]-YVIB4[J-1])/(XVIB4[J]-XVIB4[J-1])
B=(XVIB4[J-1]*YVIB4[J]-XVIB4[J]*YVIB4[J-1])/(XVIB4[J-1]-XVIB4[J])
QIN[7][I]=APOPV4*(EN+EIN[8])*(A*(EN+EIN[8])+B)*1.e-16/EN
GO TO 626
625 QIN[7][I]=APOPV4*YVIB4(NVIB4)*(XVIB4(NVIB4)/EN)*1.e-16
626 if(EN < (3.0*abs(EIN[7]))) GO TO 650
if(NANISO == 2):
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))] # VIB STRETCH MODES
650 CONTINUE
QIN[8][I]=0.0
PEQIN[8][I]=0.5
if(NANISO == 2):
PEQIN[8][I]=0.0
if(EN <= EIN[8]:
) GO TO 700
if(EN > XVIB4(NVIB4):
) GO TO 675
DO 660 J=2,NVIB4
if(EN <= XVIB4[J]:
) GO TO 670
660 CONTINUE
J=NVIB4
670 A=(YVIB4[J]-YVIB4[J-1])/(XVIB4[J]-XVIB4[J-1])
B=(XVIB4[J-1]*YVIB4[J]-XVIB4[J]*YVIB4[J-1])/(XVIB4[J-1]-XVIB4[J])
QIN[8][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 676
675 QIN[8][I]=APOPGS*YVIB4(NVIB4)*(XVIB4(NVIB4)/EN)*1.e-16
676 if(EN < (3.0*abs(EIN[8]))) GO TO 700
if(NANISO == 2):
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]
# HIGHER VIBRATIONAL MODES
700 QIN[9][I]=0.0
PEQIN[9][I]=0.5
if(NANISO == 2):
PEQIN[9][I]=0.0
if(EN <= EIN[9]:
) GO TO 800
if(EN > XVIB5[NVIB5]:
) GO TO 725
DO 710 J=2,NVIB5
if(EN <= XVIB5[J]:
) GO TO 720
710 CONTINUE
J=NVIB5
720 A=(YVIB5[J]-YVIB5[J-1])/(XVIB5[J]-XVIB5[J-1])
B=(XVIB5[J-1]*YVIB5[J]-XVIB5[J]*YVIB5[J-1])/(XVIB5[J-1]-XVIB5[J])
QIN[9][I]=(A*EN+B)*1.e-16
GO TO 726
725 QIN[9][I]=YVIB5[NVIB5]*(XVIB5[NVIB5]/EN)*1.e-16
726 if(EN < (3.0*abs(EIN[9]))) GO TO 800
if(NANISO == 2):
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))] # EXCITATION TRIPLET ABOVE XEXC1(NEXC1) SCALE BY 1/EN**3
800 QIN[10][I]=0.0
PEQIN[10][I]=0.5
if(NANISO == 2):
PEQIN[10][I]=0.0
if(EN <= EIN[10]:
) GO TO 850
if(EN > XEXC1(NEXC1):
) GO TO 830
DO 810 J=2,NEXC1
if(EN <= XEXC1[J]:
) GO TO 820
810 CONTINUE
J=NEXC1
820 A=(YEXC1[J]-YEXC1[J-1])/(XEXC1[J]-XEXC1[J-1])
B=(XEXC1[J-1]*YEXC1[J]-XEXC1[J]*YEXC1[J-1])/(XEXC1[J-1]-XEXC1[J])
QIN[10][I]=(A*EN+B)*1.e-16
GO TO 840
# SCALE BY 1/E**3
830 QIN[10][I]=YEXC1(NEXC1)*(XEXC1(NEXC1)/EN)**3*1.e-16
840 if(EN <= (2.0*EIN[10])) GO TO 850
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
# EXCITATION TRIPLET ABOVE XEXC2(NEXC2) SCALE BY 1/E**3
850 QIN[11][I]=0.0
PEQIN[11][I]=0.5
if(NANISO == 2):
PEQIN[11][I]=0.0
if(EN <= EIN[11]:
) GO TO 900
if(EN > XEXC2(NEXC2):
) GO TO 880
DO 860 J=2,NEXC2
if(EN <= XEXC2[J]:
) GO TO 870
860 CONTINUE
J=NEXC2
870 A=(YEXC2[J]-YEXC2[J-1])/(XEXC2[J]-XEXC2[J-1])
B=(XEXC2[J-1]*YEXC2[J]-XEXC2[J]*YEXC2[J-1])/(XEXC2[J-1]-XEXC2[J])
QIN[11][I]=(A*EN+B)*1.e-16
GO TO 890
# SCALE BY 1/E**3
880 QIN[11][I]=YEXC2(NEXC2)*(XEXC2(NEXC2)/EN)**3*1.e-16
890 if(EN <= (2.0*EIN[11])) GO TO 900
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
# EXCITATION F=0.00131
900 QIN[12][I]=0.0
PEQIN[12][I]=0.0
if(EN <= EIN[12]:
) GO TO 905
QIN[12][I]=.00131/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[12])*ASING
if(QIN[12][I]:
< 0.0) QIN[12][I]=0.0
if(EN <= (2.0*EIN[12]:
)) GO TO 905
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# EXCITATION F=0.0150
905 QIN[13][I]=0.0
PEQIN[13][I]=0.0
if(EN <= EIN[13]:
) GO TO 910
QIN[13][I]=.01500/(EIN[13]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[13]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[13])*ASING
if(QIN[13][I]:
< 0.0) QIN[13][I]=0.0
if(EN <= (2.0*EIN[13]:
)) GO TO 910
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# EXCITATION F=0.11400
910 QIN[14][I]=0.0
PEQIN[14][I]=0.0
if(EN <= EIN[14]:
) GO TO 915
QIN[14][I]=.11400/(EIN[14]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[14]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[14])*ASING
if(QIN[14][I]:
< 0.0) QIN[14][I]=0.0
if(EN <= (2.0*EIN[14]:
)) GO TO 915
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# EXCITATION F=0.15700
915 QIN[15][I]=0.0
PEQIN[15][I]=0.0
if(EN <= EIN[15]:
) GO TO 920
QIN[15][I]=.15700/(EIN[15]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[15]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[15])*ASING
if(QIN[15][I]:
< 0.0) QIN[15][I]=0.0
if(EN <= (2.0*EIN[15]:
)) GO TO 920
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# EXCITATION F=0.17100
920 QIN[16][I]=0.0
PEQIN[16][I]=0.0
if(EN <= EIN[16]:
) GO TO 925
QIN[16][I]=.17100/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[16])*ASING
if(QIN[16][I]:
< 0.0) QIN[16][I]=0.0
if(EN <= (2.0*EIN[16]:
)) GO TO 925
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# EXCITATION F=0.18800
925 QIN[17][I]=0.0
PEQIN[17][I]=0.0
if(EN <= EIN[17]:
) GO TO 930
QIN[17][I]=.18800/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[17])*ASING
if(QIN[17][I]:
< 0.0) QIN[17][I]=0.0
if(EN <= (2.0*EIN[17]:
)) GO TO 930
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# EXCITATION F=0.20500
930 QIN[18][I]=0.0
PEQIN[18][I]=0.0
if(EN <= EIN[18]:
) GO TO 935
QIN[18][I]=.20500/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[18])*ASING
if(QIN[18][I]:
< 0.0) QIN[18][I]=0.0
if(EN <= (2.0*EIN[18]:
)) GO TO 935
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# EXCITATION F=0.19300
935 QIN[19][I]=0.0
PEQIN[19][I]=0.0
if(EN <= EIN[19]:
) GO TO 940
QIN[19][I]=.19300/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[19])*ASING
if(QIN[19][I]:
< 0.0) QIN[19][I]=0.0
if(EN <= (2.0*EIN[19]:
)) GO TO 940
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# EXCITATION F=0.16200
940 QIN[20][I]=0.0
PEQIN[20][I]=0.0
if(EN <= EIN[20]:
) GO TO 945
QIN[20][I]=.16200/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[20])*ASING
if(QIN[20][I]:
< 0.0) QIN[20][I]=0.0
if(EN <= (2.0*EIN[20]:
)) GO TO 945
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# EXCITATION F=0.10300
945 QIN[21][I]=0.0
PEQIN[21][I]=0.0
if(EN <= EIN[21]:
) GO TO 950
QIN[21][I]=.10300/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[21])*ASING
if(QIN[21][I]:
< 0.0) QIN[21][I]=0.0
if(EN <= (2.0*EIN[21]:
)) GO TO 950
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# EXCITATION F=0.06700
950 QIN[22][I]=0.0
PEQIN[22][I]=0.0
if(EN <= EIN[22]:
) GO TO 955
QIN[22][I]=.06700/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[22])*ASING
if(QIN[22][I]:
< 0.0) QIN[22][I]=0.0
if(EN <= (2.0*EIN[22]:
)) GO TO 955
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# EXCITATION F=0.06400
955 QIN[23][I]=0.0
PEQIN[23][I]=0.0
if(EN <= EIN[23]:
) GO TO 960
QIN[23][I]=.06400/(EIN[23]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[23]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[23])*ASING
if(QIN[23][I]:
< 0.0) QIN[23][I]=0.0
if(EN <= (2.0*EIN[23]:
)) GO TO 960
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# EXCITATION F=0.02800
960 QIN[24][I]=0.0
PEQIN[24][I]=0.0
if(EN <= EIN[24]:
) GO TO 965
QIN[24][I]=.02800/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN[24])*ASING
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (2.0*EIN[24]:
)) GO TO 965
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
965 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTIONS
QIN[25][I]=0.0
QIN[26][I]=0.0
if(EN <= 1000.):
GO TO 990
DO 972 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 973
972 CONTINUE
J=NBREM
973 A=(math.log(Z6T[J])-math.log(Z6T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z6T[J])*EBRM[J-1]-math.log(Z6T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
A1=(math.log(Z1T[J])-math.log(Z1T[J-1]))/(EBRM[J]-EBRM[J-1])
B1=(math.log(Z1T[J])*EBRM[J-1]-math.log(Z1T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[25][I]=math.exp(A*EN+B)*4.0*1.e-24
QIN[26][I]=math.exp(A1*EN+B1)*10.0*1.e-24
990 CONTINUE
#
QSNG=QIN[12][I]+QIN[13][I]+QIN[14][I]+QIN[15][I]+QIN[16][I]+QIN[17][I]+QIN[18][I]+QIN[19][I]+QIN[20][I]+QIN[21][I]+QIN[22][I]+QIN[23][I]+QIN[24][I]
QTRP=QIN[10][I]+QIN[11][I]
QTOTEXC=QTRP+QSNG
Q[1][I]=Q[2][I]+Q[5][I]+Q[4][I]+QIN[1][I]+QIN[2][I]+QIN[3][I]+QIN[4][I]+ QIN[5][I]+QIN[6][I]+QIN[7][I]+QIN[8][I]+QIN[9][I]+QEXCTOT
# /QIN[5][I]+QIN[6][I]+QIN[7][I]+QIN[8][I]+QIN[9][I]+QEXCTOT+
# /QIN[25][I]+QIN[26][I]
# WRITE(6,991) EN,QTRP,QSNG,QTOTEXC
# 991 print(' EN=','%.4f' % ,' QTRP=','%.4f' % ,' QSNG=','%.4f' % ,' QEXCTOT=',
# /'%.4f' % )
c WRITE(6,992) EN,QION[1][I],QION[2][I],QION[3][I]
# 992 print(' EN=','%.4f' % ,' ION1=','%.4f' % ,' ION2=','%.4f' % ,' ION3=','%.4f' % )
1000 CONTINUE
# SAVE COMPUTE TIME
DO 997 K=14,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 998
# endif
997 CONTINUE
998 CONTINUE
if(EFINAL > 1000.):
NIN=NIN+2
return
# end
'''defGAS12(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN):# IMPLICIT #real*8 (A-H,O-Z)# IMPLICIT #integer*8 (I-N) globalECHARG,EMASS,AMU,PIR2globalNGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPENglobalEG,EROOT,QT1,QT2,QT3,QT4globalDENECHARG=conf.ECHARGEMASS=conf.EMASSAMU=conf.AMUPIR2=conf.PIR2NGAS=conf.NGASNSTEP=conf.NSTEPNANISO=conf.NANISOEFINAL=conf.EFINALESTEP=conf.ESTEPAKT=conf.AKTARY=conf.ARYTEMPC=conf.TEMPCTORR=conf.TORRIPEN=conf.IPENEG=conf.EEROOT=conf.EROOTQT1=conf.QT1QT2=conf.QT2QT3=conf.QT3QT4=conf.QT4DEN=conf.DENQATT=numpy.reshape(QATT,(8+1,20000+1))QNULL=numpy.reshape(QNULL,(10+1,20000+1))SCLN=numpy.reshape(SCLN,(10+1))ESPLIT=numpy.reshape(ESPLIT,(5+1,20+1))PEQEL=numpy.reshape(PEQEL,(6+1,20000+1))PEQIN=numpy.reshape(PEQIN,(250+1,20000+1))KIN=numpy.reshape(KIN,(250+1))KEL=numpy.reshape(KEL,(6+1))QION=numpy.reshape(QION,(30+1,20000+1))PEQION=numpy.reshape(PEQION,(30+1,20000+1))EION=numpy.reshape(EION,(30+1))EOBY=numpy.reshape(EOBY,(30+1))NC0=numpy.reshape(NC0,(30+1))EC0=numpy.reshape(EC0,(30+1))WKLM=numpy.reshape(WKLM,(30+1))EFL=numpy.reshape(EFL,(30+1))NG1=numpy.reshape(NG1,(30+1))EG1=numpy.reshape(EG1,(30+1))NG2=numpy.reshape(NG2,(30+1))EG2=numpy.reshape(EG2,(30+1))IZBR=numpy.reshape(IZBR,(250+1))LEGAS=numpy.reshape(LEGAS,(30+1))ISHELL=numpy.reshape(ISHELL,(30+1))Q=numpy.zeros((6+1,20000+1))QIN=numpy.reshape(QIN,(250+1,20000+1))E=numpy.reshape(E,(6+1))EIN=numpy.reshape(EIN,(250+1))PENFRA=numpy.reshape(PENFRA,(3+1,250+1))PJ=numpy.zeros((220+1))XEN=numpy.zeros((158+1))YMOM=numpy.zeros((158+1))YEL=numpy.zeros((158+1))YVBMOM=numpy.zeros((158+1))YVBEL=numpy.zeros((158+1))YEPS=numpy.zeros((158+1))XION1=numpy.zeros((63+1))YION1=numpy.zeros((63+1))XION2=numpy.zeros((66+1))YION2=numpy.zeros((66+1))XION3=numpy.zeros((66+1))YION3=numpy.zeros((66+1))XION4=numpy.zeros((41+1))YION4=numpy.zeros((41+1))XION5=numpy.zeros((41+1))YION5=numpy.zeros((41+1))XION6=numpy.zeros((40+1))YION6=numpy.zeros((40+1))XION7=numpy.zeros((37+1))YION7=numpy.zeros((37+1))XION8=numpy.zeros((30+1))YION8=numpy.zeros((30+1))XION9=numpy.zeros((27+1))YION9=numpy.zeros((27+1))XATT=numpy.zeros((68+1))YATT=numpy.zeros((68+1))XV2=numpy.zeros((17+1))YV2=numpy.zeros((17+1))X2V2=numpy.zeros((19+1))Y2V2=numpy.zeros((19+1))XV1=numpy.zeros((26+1))YV1=numpy.zeros((26+1))X3V2=numpy.zeros((11+1))Y3V2=numpy.zeros((11+1))XV3=numpy.zeros((11+1))YV3=numpy.zeros((11+1))XVPD3=numpy.zeros((14+1))YVPD3=numpy.zeros((14+1))XV130=numpy.zeros((12+1))YV130=numpy.zeros((12+1))XVPD4=numpy.zeros((14+1))YVPD4=numpy.zeros((14+1))XVPD5=numpy.zeros((11+1))YVPD5=numpy.zeros((11+1))XVPD6=numpy.zeros((11+1))YVPD6=numpy.zeros((11+1))XVPD7=numpy.zeros((11+1))YVPD7=numpy.zeros((11+1))XVPD8=numpy.zeros((11+1))YVPD8=numpy.zeros((11+1))XVPD9=numpy.zeros((11+1))YVPD9=numpy.zeros((11+1))XVPDH=numpy.zeros((9+1))YVPDH=numpy.zeros((9+1))XTRP1=numpy.zeros((11+1))YTRP1=numpy.zeros((11+1))XTRP2=numpy.zeros((11+1))YTRP2=numpy.zeros((11+1))XKSHC=numpy.zeros((83+1))YKSHC=numpy.zeros((83+1))XKSHO=numpy.zeros((81+1))YKSHO=numpy.zeros((81+1))IOFFN=numpy.zeros((144+1))IOFFION=numpy.zeros((11+1))Z6T=numpy.zeros((25+1))Z8T=numpy.zeros((25+1))EBRM=numpy.zeros((25+1))# CHARACTER*50 SCRPT(300),SCRPTN[10] # CHARACTER*25 NAME # ELASTIC +ROTATIONAL XEN=[0]+[1.e-6,.001,.002,.004,.007,.010,.014,.020,.030,.040,0.05,0.06,0.08,0.10,.125,.150,.175,0.20,0.25,0.30,0.35,0.40,0.50,0.60,0.70,0.85,1.00,1.25,1.50,1.70,1.90,2.10,2.30,2.50,2.80,3.00,3.30,3.60,3.80,4.00,4.50,5.00,5.50,6.00,7.00,8.00,10.0,12.0,15.0,17.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,120.,150.,170.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1500.,2000.,3000.,4000.,5000.,6000.,8000.,1.0e4,1.25e4,1.5e4,1.75e4,2.0e4,2.5e4,3.0e4,3.5e4,4.0e4,4.5e4,5.0e4,6.0e4,7.0e4,8.0e4,9.0e4,1.0e5,1.25e5,1.5e5,1.75e5,2.0e5,2.5e5,3.0e5,3.5e5,4.0e5,4.5e5,5.0e5,6.0e5,7.0e5,8.0e5,9.0e5,1.0e6,1.25e6,1.5e6,1.75e6,2.0e6,2.5e6,3.0e6,3.5e6,4.0e6,4.5e6,5.0e6,6.0e6,7.0e6,8.0e6,9.0e6,1.0e7,1.25e7,1.5e7,1.75e7,2.0e7,2.5e7,3.0e7,3.5e7,4.0e7,4.5e7,5.0e7,6.0e7,7.0e7,8.0e7,9.0e7,1.0e8,1.25e8,1.5e8,1.75e8,2.0e8,2.5e8,3.0e8,3.5e8,4.0e8,4.5e8,5.0e8,6.0e8,7.0e8,8.0e8,9.0e8,1.0e9]# GROUND STATE AND BEND MODE ELASTIC + ROTATION. MOMENTUM TRANSFER# AT 293.15 KELVIN YMOM=[0]+[148.,148.,146.,141.,134.,128.,119.,109.,95.0,85.0,76.5,69.5,59.0,52.5,47.5,41.0,36.0,30.0,22.0,16.2,12.8,10.6,8.20,6.45,5.35,4.30,3.90,3.65,3.60,3.65,3.75,3.85,4.00,4.20,4.60,4.90,5.30,5.80,6.00,6.00,5.50,5.10,5.00,5.20,6.10,7.30,8.80,9.80,10.5,10.5,9.80,8.50,7.00,5.10,4.00,3.50,3.10,2.90,2.70,2.50,2.20,1.88,1.67,1.50,1.25,1.04,.832,.682,.571,.486,.367,.287,.232,.192,.161,.0819,.0501,.0247,.0149,.0100,.00721,.00430,.00288,.00192,.00138,.00105,8.23e-4,5.5e-4,3.96e-4,3.0e-4,2.36e-4,1.91e-4,1.59e-4,1.15e-4,8.73e-5,6.90e-5,5.62e-5,4.68e-5,3.19e-5,2.34e-5,1.81e-5,1.45e-5,1.00e-5,7.48e-6,5.86e-6,4.75e-6,3.95e-6,3.36e-6,2.54e-6,2.00e-6,1.63e-6,1.37e-6,1.16e-6,8.32e-7,6.28e-7,4.94e-7,4.00e-7,2.80e-7,2.08e-7,1.62e-7,1.30e-7,1.06e-7,8.89e-8,6.51e-8,4.98e-8,3.95e-8,3.21e-8,2.66e-8,1.79e-8,1.29e-8,9.73e-9,7.63e-9,5.06e-9,3.61e-9,2.71e-9,2.11e-9,1.69e-9,1.38e-9,9.79e-10,7.28e-10,5.63e-10,4.48e-10,3.65e-10,2.35e-10,1.64e-10,1.21e-10,9.27e-11,5.95e-11,4.13e-11,3.04e-11,2.33e-11,1.84e-11,1.49e-11,1.03e-11,7.61e-12,5.83e-12,4.60e-12,3.73e-12]# GROUND STATE AND BEND MODE ELASTIC + ROTATION. AT 293.15 KELVIN YEL=[0]+[148.,148.,146.,141.,135.,129.,120.,110.,96.0,86.0,77.5,70.5,60.0,53.5,48.5,42.0,37.0,31.5,24.8,20.4,17.4,15.5,13.0,10.7,9.20,7.50,6.30,5.30,4.65,4.46,4.45,4.45,4.60,4.75,5.10,5.55,6.80,7.90,8.50,7.80,6.25,6.15,6.60,7.10,8.20,9.60,11.5,13.1,14.0,14.2,14.3,14.4,14.0,12.2,10.4,9.20,8.20,7.75,7.40,7.00,6.25,5.50,5.10,4.75,4.25,3.85,3.56,3.24,2.99,2.77,2.42,2.16,1.95,1.78,1.63,1.16,.907,.630,.484,.393,.331,.252,.204,.165,.139,.120,.106,.0865,.0731,.0636,.0565,.0509,.0465,.0398,.0350,.0317,.0286,.0264,.0224,.0197,.0178,.0164,.0145,.0132,.0123,.0116,.0111,.0107,.0101,.00967,.00937,.00915,.00897,.00868,.00849,.00837,.00829,.00818,.00812,.00808,.00805,.00803,.00801,.00799,.00798,.00797,.00797,.007965,.007957,.007954,.007951,.007951,.007948,.007948,.007948,.007948,.007946,.007945,*20*[.007945]]# ELASTIC FOR BEND MODE VIBRATIONS. MOMENTUM TRANSFER YVBMOM=[0]+[148.,148.,146.,141.,134.,128.,119.,109.,95.0,85.0,76.5,69.5,59.0,53.5,50.0,46.5,45.5,45.0,43.0,37.0,28.5,22.5,16.0,11.5,8.95,6.80,5.80,5.05,4.80,4.65,4.65,4.70,4.80,5.00,5.35,5.65,6.00,6.20,6.20,6.10,5.50,5.10,5.00,5.20,6.10,7.30,8.80,9.80,10.5,10.5,9.80,8.50,7.00,5.10,4.00,3.50,3.10,2.90,2.70,2.50,2.20,1.88,1.67,1.50,1.25,1.04,.832,.682,.571,.486,.367,.287,.232,.192,.161,.0819,.0501,.0247,.0149,.0100,.00721,.00430,.00288,.00192,.00138,.00105,8.23e-4,5.5e-4,3.96e-4,3.0e-4,2.36e-4,1.91e-4,1.59e-4,1.15e-4,8.73e-5,6.90e-5,5.62e-5,4.68e-5,3.19e-5,2.34e-5,1.81e-5,1.45e-5,1.00e-5,7.48e-6,5.86e-6,4.75e-6,3.95e-6,3.36e-6,2.54e-6,2.00e-6,1.63e-6,1.37e-6,1.16e-6,8.32e-7,6.28e-7,4.94e-7,4.00e-7,2.80e-7,2.08e-7,1.62e-7,1.30e-7,1.06e-7,8.89e-8,6.51e-8,4.98e-8,3.95e-8,3.21e-8,2.66e-8,1.79e-8,1.29e-8,9.73e-9,7.63e-9,5.06e-9,3.61e-9,2.71e-9,2.11e-9,1.69e-9,1.38e-9,9.79e-10,7.28e-10,5.63e-10,4.48e-10,3.65e-10,2.35e-10,1.64e-10,1.21e-10,9.27e-11,5.95e-11,4.13e-11,3.04e-11,2.33e-11,1.84e-11,1.49e-11,1.03e-11,7.61e-12,5.83e-12,4.60e-12,3.73e-12]# ELASTIC FOR BEND MODE VIBRATIONS. YVBEL=[0]+[148.,148.,146.,141.,135.,129.,120.,110.,96.0,86.0,77.5,70.5,60.0,54.5,51.1,47.6,46.8,47.2,48.5,46.6,38.7,32.9,25.4,19.1,15.4,11.9,9.37,7.33,6.20,5.68,5.52,5.43,5.52,5.65,5.93,6.40,7.70,8.44,8.78,7.93,6.25,6.15,6.60,7.10,8.20,9.60,11.5,13.1,14.0,14.2,14.3,14.4,14.0,12.2,10.4,9.20,8.20,7.75,7.40,7.00,6.25,5.50,5.10,4.75,4.25,3.85,3.56,3.24,2.99,2.77,2.42,2.16,1.95,1.78,1.63,1.16,.907,.630,.484,.393,.331,.252,.204,.165,.139,.120,.106,.0865,.0731,.0636,.0565,.0509,.0465,.0398,.0350,.0317,.0286,.0264,.0224,.0197,.0178,.0164,.0145,.0132,.0123,.0116,.0111,.0107,.0101,.00967,.00937,.00915,.00897,.00868,.00849,.00837,.00829,.00818,.00812,.00808,.00805,.00803,.00801,.00799,.00798,.00797,.00797,.007965,.007957,.007954,.007951,.007951,.007948,.007948,.007948,.007948,.007946,.007945,*20*[.007945]]# EPSILON FOR ELASTIC ANGULAR DISTRIBUTION# EPSILON= 1.0-YEPSYEPS=[0]+[1.0,.99999,.9999,.999,.98889,.98838,.98751,.98637,.98437,.98256,.98065,.97873,.97500,.97197,.96908,.96429,.95947,.92864,.83162,.69698,.61559,.54634,.47845,.44409,.41864,.40901,.46393,.55266,.66891,.73158,.76665,.79940,.80584,.82736,.85357,.82540,.67623,.61361,.57544,.66197,.82116,.74722,.64577,.61117,.62691,.64971,.65638,.63267,.63530,.62080,.54823,.42904,.32703,.24494,.21449,.21081,.20872,.20537,.19735,.19081,.18652,.17814,.16660,.15748,.14114,.12395,.099839,.085294,.074236,.065563,.052933,.044215,.037873,.033074,.029321,.018575,.013522,.008720,.006419,.005074,.00419,.00311,.00247,.00196,.001619,.001393,.001209,.000954,7.917e-4,6.736e-4,5.847e-4,5.164e-4,4.637e-4,3.818e-4,3.224e-4,2.758e-4,2.454e-4,2.182e-4,1.701e-4,1.385e-4,1.162e-4,9.92e-5,7.50e-5,6.02e-5,4.96e-5,4.19e-5,3.58e-5,3.12e-5,2.44e-5,1.97e-5,1.63e-5,1.37e-5,1.17e-5,8.44e-6,6.34e-6,4.95e-6,3.98e-6,2.74e-6,2.00e-6,1.53e-6,1.21e-6,9.78e-7,8.09e-7,5.79e-7,4.36e-7,3.39e-7,2.72e-7,2.23e-7,1.46e-7,1.026e-7,7.610e-8,5.868e-8,3.796e-8,2.652e-8,1.955e-8,1.499e-8,1.186e-8,9.60e-9,6.65e-9,4.87e-9,3.71e-9,2.91e-9,2.35e-9,1.48e-9,1.01e-9,7.34e-10,5.55e-10,3.48e-10,2.38e-10,1.72e-10,1.30e-10,1.02e-10,8.2e-11,5.6e-11,4.0e-11,3.0e-11,2.4e-11,1.9e-11]# # V(010) BEND MODE ( ANALYTICAL DIPOLE FUNCTION AT THRESHOLD)# ABOVE 70EV SCALED BY 1/EXV2=[0]+[.08275,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,8.00,10.0,15.0,20.0,30.0,50.0,70.0]YV2=[0]+[0.00,0.00,0.24,0.48,1.29,1.70,1.70,1.17,0.74,0.42,0.01,0.08,0.05,0.08,0.12,0.07,.001]# V(020) BEND MODE HARMONIC RESONANCE ABOVE 70EV SCALED BY 1/EX2V2=[0]+[.15937,0.18,0.50,1.00,2.00,3.00,3.50,3.80,4.00,4.50,5.00,6.00,8.00,10.0,15.0,20.0,30.0,50.0,70.0]Y2V2=[0]+[0.00,0.02,0.01,.003,.025,0.09,0.31,0.44,0.56,0.49,0.35,0.17,0.08,0.10,0.02,.008,.015,.008,.001]# V(100) SYMMETRIC STRETCH ABOVE 70EV SCALED BY 1/E XV1=[0]+[.17211,0.18,0.20,0.23,0.25,0.30,0.40,0.50,0.60,1.00,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,8.00,10.0,15.0,20.0,30.0,50.0,70.0]YV1=[0]+[0.00,.475,.790,0.91,0.91,0.82,0.58,0.43,0.34,0.32,0.38,0.66,0.89,1.27,1.32,1.04,0.53,0.18,.084,.075,.077,.030,.009,.030,.008,.001]# V(030) + V(110) ABOVE 10EV SCALED BY 1/E X3V2=[0]+[.251,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]Y3V2=[0]+[0.00,0.00,0.01,0.17,0.36,0.58,0.58,0.36,0.17,0.01,.001]# V(001) ASYMMETRIC STRETCH (ANALYTICAL DIPOLE FUNCTION AT THRESHOLD)# ABOVE 10EV SCALED BY 1/E XV3=[0]+[.29126,2.00,3.00,3.50,3.80,4.00,4.50,5.00,6.00,8.00,10.0]YV3=[0]+[0.00,0.00,.002,.005,.010,.005,.002,.001,.001,.001,.001]# V(040) + V(120) + V(200) POLYAD 3 ABOVE 10EV SCALED BY 1/EXVPD3=[0]+[.335,0.35,0.50,0.80,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPD3=[0]+[0.00,0.09,.035,0.02,0.02,0.02,0.21,0.43,0.70,0.70,0.43,0.21,0.05,.020]# V(130) + V(210) ABOVE 20EV SCALED BY 1/E XV130=[0]+[0.422,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0,20.0]YV130=[0]+[0.00,0.00,.005,0.10,0.22,0.35,0.35,0.22,0.10,.025,.005,.002]# POLYAD 4 ABOVE 10EV SCALED BY 1/EXVPD4=[0]+[0.505,0.55,0.65,1.00,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPD4=[0]+[0.00,.0017,.0005,.0001,.0001,.005,0.12,0.24,0.40,0.40,0.24,0.13,0.01,.001]# POLYAD 5 ABOVE 10EV SCALED BY 1/E XVPD5=[0]+[0.685,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPD5=[0]+[0.00,0.00,.003,0.07,0.14,0.24,0.24,0.14,0.08,.006,.001]# POLYAD 6 ABOVE 10EV SCALED BY 1/E XVPD6=[0]+[0.825,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPD6=[0]+[0.00,0.00,.001,0.05,0.10,0.16,0.16,0.10,0.05,.004,.001]# POLYAD 7 ABOVE 10EV SCALED BY 1/EXVPD7=[0]+[0.995,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPD7=[0]+[0.00,0.00,.001,0.03,0.06,0.10,0.10,0.06,0.03,.003,.001]# POLYAD 8 ABOVE 10EV SCALED BY 1/EXVPD8=[0]+[1.160,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPD8=[0]+[0.00,0.00,.001,0.03,0.06,0.10,0.10,0.06,0.03,.003,.001]# POLYAD 9 ABOVE 10EV SCALED BY 1/EXVPD9=[0]+[1.320,2.00,2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPD9=[0]+[0.00,0.00,.001,0.03,0.06,0.10,0.10,0.06,0.03,.003,.001]# SUM HIGHER POLYADS ABOVE 10EV SCALED BY 1/EXVPDH=[0]+[2.50,3.00,3.50,3.80,4.00,4.50,5.00,6.00,10.0]YVPDH=[0]+[0.00,0.01,0.36,0.58,0.58,0.36,0.16,.045,.001]# FROM RAP AND BRIGLIA ( SCALED BY 1.031 FROM INCREASE IN CO2# IONISATION X-SEC)# ABOVE 10EV SCALED BY 1/E**3XATT=[0]+[3.30,3.40,3.50,3.60,3.70,3.80,3.90,4.00,4.10,4.20,4.30,4.40,4.50,4.60,4.70,4.80,4.90,5.00,5.10,5.20,5.30,5.40,5.50,5.60,5.70,5.80,5.90,6.00,6.10,6.20,6.30,6.40,6.50,6.60,6.70,6.80,6.90,7.00,7.10,7.20,7.30,7.40,7.50,7.60,7.70,7.80,7.90,8.00,8.10,8.20,8.30,8.40,8.50,8.60,8.70,8.80,8.90,9.00,9.10,9.20,9.30,9.40,9.50,9.60,9.70,9.80,9.90,10.0]YATT=[0]+[.0,1.81e-5,6.35e-5,1.45e-4,2.81e-4,5.44e-4,8.43e-4,1.09e-3,1.32e-3,1.45e-3,1.53e-3,1.40e-3,1.25e-3,1.01e-3,7.98e-4,6.17e-4,4.54e-4,2.91e-4,2.00e-4,1.36e-4,9.98e-5,6.35e-5,2.72e-5,1.81e-5,9.07e-6,1.00e-6,9.07e-6,1.81e-5,2.72e-5,4.54e-5,6.35e-5,1.09e-4,1.45e-4,2.08e-4,2.99e-4,3.99e-4,5.44e-4,9.25e-4,9.25e-4,1.18e-3,1.49e-3,1.84e-3,2.23e-3,2.75e-3,3.22e-3,3.68e-3,4.08e-3,4.37e-3,4.41e-3,4.26e-3,3.92e-3,3.46e-3,2.92e-3,2.22e-3,1.77e-3,1.40e-3,1.05e-3,8.07e-4,6.35e-4,4.99e-4,3.80e-4,2.99e-4,2.36e-4,1.81e-4,1.36e-4,1.09e-4,8.17e-5,1.00e-6]# USE 1/EN**2 EXTRAPOLATION ABOVE 30EVXTRP1=[0]+[8.89,10.0,11.0,12.0,13.0,15.0,17.0,20.0,23.0,27.0,30.0]YTRP1=[0]+[0.00,.110,.201,.231,.248,.270,.275,.248,.206,.151,.122]# USE 1/E**2 EXTRAPOLATION ABOVE 36EVXTRP2=[0]+[11.3,12.0,13.0,14.0,16.0,18.0,21.0,24.0,28.0,31.0,36.0]YTRP2=[0]+[0.00,.322,.662,.772,.873,.919,.919,.873,.689,.562,.417]# IONISATION VALUES ABOVE 1KEV GENERATED BY BORN BETHE IN SUB) # FROM RAPP, LINDSAY AND RIEKE ALSO BB THEORY#C XION/13.776,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,# /19.0,19.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,26.0, # /28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,# /60.0,65.0,70.0,75.0,80.0,85.0,90.0,100.,110.,130.,# /140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,# /450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,# /950.,1000./ # GROSS IONISATION # YION/0.00,.055,.097,.135,.174,.215,.255,.293,.333,.373,# /.428,.452,.577,.623,.676,.727,.777,.828,.880,1.14, # /1.37,1.54,1.70,1.84,1.96,2.07,2.19,2.45,2.67,2.84, # /3.02,3.16,3.27,3.36,3.45,3.51,3.56,3.64,3.66,3.65,# /3.63,3.52,3.43,3.32,3.21,3.05,2.97,2.82,2.58,2.43,# /2.23,2.09,1.96,1.85,1.77,1.68,1.61,1.53,1.45,1.41, # /1.36,1.30/ # COUNTING IONISATION# YINC/0.00,.055,.097,.135,.174,.215,.255,.293,.333,.373,# /.428,.452,.577,.623,.676,.727,.777,.828,.880,1.14, # /1.37,1.54,1.70,1.84,1.96,2.07,2.19,2.45,2.67,2.84, # /3.01,3.14,3.26,3.33,3.43,3.48,3.54,3.62,3.63,3.62,# /3.60,3.48,3.40,3.29,3.17,3.02,2.94,2.79,2.55,2.41,# /2.21,2.08,1.94,1.84,1.75,1.66,1.60,1.51,1.44,1.40, # /1.35,1.29/ # # IONISATION VALUES ABOVE 1KEV GENERATED BY BORN BETHE IN SUB) # FROM RAPP, LINDSAY AND RIEKE ALSO BB THEORYXION1=[13.776,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]# IONISATION CO2+ ( INCLUDING EXCITED STATES A2PIu and B2SIGMA+u )YION1=[0.00,.056,.100,.139,.179,.221,.263,.302,.343,.384,.441,.466,.594,.642,.696,.749,.800,.853,.906,1.05,1.21,1.32,1.40,1.47,1.55,1.63,1.70,1.84,1.94,2.00,2.06,2.10,2.13,2.15,2.19,2.20,2.22,2.23,2.25,2.23,2.23,2.19,2.12,2.08,2.01,1.95,1.87,1.83,1.75,1.62,1.54,1.43,1.35,1.27,1.21,1.16,1.10,1.06,1.01,.964,.941,.909,.876]# IONISATION EXCITATION CO2+(A2PIu) 17.314ev# ITIKAWA THEN SCALED CO2+ BY 38.5% ABOVE 400EVXION2=[17.314,18.8,19.9,21.1,22.4,23.7,25.1,26.6,28.2,29.8,31.6,33.5,35.4,37.5,39.8,42.1,44.6,47.2,50.0,53.0,56.1,59.5,63.0,66.7,70.7,74.8,79.3,88.9,94.2,99.8,106.,112.,119.,126.,133.,141.,149.,158.,167.,177.,188.,199.,211.,223.,236.,250.,265.,281.,298.,315.,334.,354.,375.,397.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION2=[0.0,.0314,.0494,.0682,.0873,.107,.128,.150,.168,.191,.214,.233,.256,.280,.304,.331,.356,.388,.416,.445,.476,.508,.541,.579,.615,.646,.675,.723,.740,.754,.767,.776,.784,.790,.796,.796,.798,.796,.796,.791,.784,.775,.763,.750,.734,.718,.702,.687,.671,.656,.640,.624,.609,.593,.551,.520,.489,.466,.447,.423,.408,.389,.371,.362,.350,.337]# IONISATION EXCITATION CO2+(B2SIGMA+u) 18.077ev # ITIKAWA THEN SCALED CO2+ BY 22.0% ABOVE 400EVXION3=[18.077,18.8,19.9,21.1,22.4,23.7,25.1,26.6,28.2,29.8,31.6,33.5,35.4,37.5,39.8,42.1,44.6,47.2,50.0,53.0,56.1,59.5,63.0,66.7,70.7,74.8,79.3,88.9,94.2,99.8,106.,112.,119.,126.,133.,141.,149.,158.,167.,177.,188.,199.,211.,223.,236.,250.,265.,281.,298.,315.,334.,354.,375.,397.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION3=[0.0,.0121,.0247,.0384,.0517,.0653,.0797,.0932,.106,.120,.134,.147,.162,.176,.191,.207,.222,.239,.256,.272,.288,.304,.321,.337,.353,.371,.386,.415,.425,.434,.443,.451,.457,.462,.466,.468,.469,.467,.466,.462,.457,.449,.441,.432,.423,.414,.404,.395,.386,.377,.368,.357,.348,.339,.315,.297,.279,.266,.255,.242,.233,.222,.212,.207,.200,.193]# IONISATION O+XION4=[19.07,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION4=[0.0,.0419,.0986,.150,.195,.245,.299,.352,.407,.452,.485,.526,.556,.584,.606,.622,.640,.663,.671,.680,.670,.647,.631,.606,.572,.553,.524,.470,.433,.388,.361,.339,.311,.299,.283,.268,.252,.238,.229,.222,.209]# IONISATION CO+XION5=[19.47,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION5=[0.0,.0279,.139,.247,.281,.299,.319,.339,.362,.369,.379,.380,.386,.389,.390,.390,.389,.386,.378,.365,.340,.333,.314,.300,.278,.269,.250,.226,.211,.193,.178,.165,.154,.145,.139,.132,.124,.119,.113,.110,.103]# IONISATION C+XION6=[27.82,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION6=[0.0,.0024,.028,.0782,.121,.149,.178,.208,.229,.246,.261,.278,.285,.296,.306,.310,.322,.323,.331,.321,.309,.301,.288,.273,.260,.245,.215,.202,.183,.169,.154,.145,.136,.127,.123,.116,.108,.105,.101,.0964]# IONISATION CO2++XION7=[37.4,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION7=[0.0,.00166,.00399,.00686,.0106,.0126,.0159,.0172,.0206,.0219,.0227,.0246,.0265,.0285,.0290,.0294,.0290,.0285,.0272,.0257,.0232,.0231,.0203,.0183,.0175,.0165,.0141,.0128,.0125,.0113,.0106,.00986,.00961,.00883,.00823,.00741,.00723]# IONISATION C++XION8=[72.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION8=[0.0,.000179,.000215,.000311,.000506,.000520,.000751,.00108,.00157,.00186,.00249,.00279,.00256,.00291,.00247,.00252,.00216,.00224,.00198,.00177,.00184,.00145,.00169,.00147,.00157,.00139,.00129,.000965,.000897,.000984]# IONISATION O++XION9=[74.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.]YION9=[0.0,.000169,.000197,.000324,.000721,.00133,.00159,.00217,.00233,.00271,.00286,.00304,.00276,.00249,.00215,.00193,.00192,.00168,.00156,.00142,.00176,.00147,.00127,.00127,.00100,.00116,.00103]# CARBON K-SHELL IONISATION X-SECTION XKSHC=[285.,298.,307.,316.,325.,335.,345.,365.,398.,422.,447.,473.,501.,531.,613.,668.,708.,750.,817.,917.,1000.,1122.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.0e4,1.50e4,2.05e4,2.51e4,3.07e4,4.10e4,5.01e4,6.13e4,7.08e4,8.18e4,1.0e5,1.54e5,2.05e5,2.99e5,4.10e5,5.01e5,6.13e5,7.08e5,8.18e5,1.0e6,1.26e6,1.5e6,2.05e6,3.07e6,4.10e6,5.01e6,6.13e6,7.08e6,8.18e6,1.0e7,1.26e7,1.5e7,2.05e7,3.07e7,4.10e7,5.01e7,6.13e7,7.08e7,8.18e7,1.0e8,1.26e8,1.5e8,2.05e8,3.07e8,4.10e8,5.01e8,6.13e8,7.08e8,8.18e8,1.0e9]YKSHC=[0.00,1.66e-4,3.48e-4,5.25e-4,6.96e-4,8.63e-4,1.02e-3,1.33e-3,1.75e-3,2.01e-3,2.24e-3,2.46e-3,2.66e-3,2.84e-3,3.21e-3,3.38e-3,3.47e-3,3.55e-3,3.65e-3,3.72e-3,3.75e-3,3.74e-3,3.68e-3,3.57e-3,3.45e-3,3.31e-3,3.19e-3,3.07e-3,2.91e-3,2.66e-3,2.25e-3,1.95e-3,1.55e-3,1.21e-3,8.97e-4,7.07e-4,6.07e-4,5.21e-4,4.21e-4,3.63e-4,3.14e-4,2.84e-4,2.57e-4,2.25e-4,1.74e-4,1.50e-4,1.28e-4,1.15e-4,1.09e-4,1.05e-4,1.03e-4,1.02e-4,1.01e-4,1.005e-4,1.01e-4,1.03e-4,1.07e-4,1.11e-4,1.14e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.29e-4,1.32e-4,1.38e-4,1.45e-4,1.50e-4,1.54e-4,1.58e-4,1.60e-4,1.63e-4,1.67e-4,1.71e-4,1.74e-4,1.80e-4,1.87e-4,1.92e-4,1.96e-4,2.00e-4,2.02e-4,2.05e-4,2.09e-4]# OXYGEN K-SHELL IONISATION X-SECTION (MULTIPLY BY 2 FOR MOLECULE)XKSHO=[532.,541.,557.,574.,591.,609.,627.,646.,665.,685.,706.,727.,749.,793.,841.,891.,944.,1000.,1090.,1188.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.00e4,1.50e4,2.05e4,2.51e4,3.07e4,4.10e4,5.01e4,6.13e4,7.08e4,8.18e4,1.00e5,1.54e5,2.05e5,2.99e5,4.10e5,5.01e5,6.13e5,7.08e5,8.18e5,1.00e6,1.25e6,1.50e6,2.05e6,3.07e6,4.10e6,5.01e6,6.13e6,7.08e6,8.18e6,1.00e7,1.26e7,1.50e7,2.05e7,3.07e7,4.10e7,5.01e7,6.13e7,7.08e7,8.18e7,1.00e8,1.26e8,1.50e8,2.05e8,3.07e8,4.10e8,5.01e8,6.13e8,7.08e8,8.18e8,1.00e9]YKSHO=[0.00,3.31e-5,8.86e-5,1.42e-4,1.95e-4,2.45e-4,2.94e-4,3.41e-4,3.87e-4,4.31e-4,4.73e-4,5.14e-4,5.53e-4,6.27e-4,6.95e-4,7.56e-4,8.13e-4,8.63e-4,9.29e-4,9.84e-4,1.03e-3,1.08e-3,1.10e-3,1.11e-3,1.11e-3,1.10e-3,1.08e-3,1.03e-3,9.24e-4,8.27e-4,6.81e-4,5.49e-4,4.18e-4,3.35e-4,2.90e-4,2.50e-4,2.04e-4,1.77e-4,1.53e-4,1.39e-4,1.26e-4,1.11e-4,8.62e-5,7.45e-5,6.36e-5,5.75e-5,5.48e-5,5.29e-5,5.20e-5,5.13e-5,5.08e-5,5.08e-5,5.12e-5,5.24e-5,5.47e-5,5.68e-5,5.84e-5,6.00e-5,6.13e-5,6.26e-5,6.44e-5,6.65e-5,6.81e-5,7.11e-5,7.50e-5,7.78e-5,7.97e-5,8.17e-5,8.31e-5,8.45e-5,8.65e-5,8.87e-5,9.04e-5,9.36e-5,9.75e-5,1.00e-4,1.02e-4,1.04e-4,1.06e-4,1.07e-4,1.09e-4]# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24 CM**2Z6T=[298.,178.,85.2,47.5,26.3,12.2,7.06,4.45,3.06,2.82,2.89,2.99,3.08,3.13,3.18,3.25,3.31,3.39,3.44,3.49,3.52,3.54,3.55,3.57,3.57]Z8T=[477.,294.,145.,81.6,45.8,21.2,12.2,7.69,5.22,4.76,4.84,4.99,5.10,5.20,5.27,5.38,5.46,5.58,5.65,5.72,5.77,5.80,5.81,5.83,5.84]EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]# ---------------------------------------------------------------------# 2015: UPGRADE INCLUDES :# 1) OSCILLATOR STRENGTH FROM ANALYSIS OF FROM# BRION GROUP AND SHAW ET AL . OSCILLATOR SUM S(0)=21.9856# S(-1)i=5.372# 2) USED STRAUB FOR DISSOCIATIVE IONISATION ABOVE 30EV# AND RAP AND ENGLADER-GOLDEN AT LOW ENERGY# 3) IONISATION-EXCITATION FROM ITIKAWA REVIEW## ANGULAR DISTRIBUTION ONLY ALLOWED FOR ELASTIC , IONISATION AND # EXCITATION ABOVE 10EV. # # ---------------------------------------------------------------------# NANISO=0if(NANISO==0):NAME='CO2 2015 ISOTROPIC 'else:NAME='CO2 2015 ANISOTROPIC '# endif# --------------------------------------------------------------------# ---------------------------------------------------------------------# BORN-BETHE VALUES FOR IONISATIONCONST=1.873884e-20EMASS2=1021997.804API=numpy.arccos(-1.00)A0=0.52917720859e-8RY=13.60569193BBCONST=16.0*API*A0*A0*RY*RY/EMASS2#AM2=5.38C=57.0EOBFAC=0.56# # AVERAGE AUGER EMISSIONS FROM EACH SHELLAUGKC=2.0AUGKO=1.99# ARRAY SIZENASIZE=20000#NION=11NATT=1NIN=144NNULL=0IONMODEL=0#NBREM=25forJinrange(1,NIN+1):IZBR[J]=0IZBR[145]=6IZBR[146]=8#forJinrange(1,6+1):KEL[J]=NANISOforJinrange(1,NIN+1):KIN[J]=NANISO# NEL=158NV2=17N2V2=19NV1=26N3V2=11NV3=11NPD3=14NV130=12NPD4=14NPD5=11NPD6=11NPD7=11NPD8=11NPD9=11NPDH=9NATT1=68NTRP1=11NTRP2=11NION1=63NION2=66NION3=66NION4=41NION5=41NION6=40NION7=37NION8=30NION9=27NKSHC=83NKSHO=81# E[1]=0.0E[2]=2.0*EMASS/(44.0095*AMU)E[3]=13.776E[4]=0.0E[5]=0.0E[6]=0.0# EION[1]=13.776EION[2]=17.314EION[3]=18.077EION[4]=19.07EION[5]=19.47EION[6]=27.82EION[7]=37.4EION[8]=72.0EION[9]=74.0EION[10]=285.0EION[11]=532.0# OPAL AND BEATY # DO 90 JK=1,9forJKinrange(1,11+1):EOBY[JK]=EION[JK]*EOBFACEOBY[JK]=13.8# OPAL BEATY FOR CARBON AND OXYGEN K-SHELLS# EOBY[10]=200.0# EOBY[11]=375.0#forJKinrange(1,9+1):LEGAS[JK]=0ISHELL[JK]=0NC0[JK]=0EC0[JK]=0.0WKLM[JK]=0.0EFL[JK]=0.0NG1[JK]=0EG1[JK]=0.0NG2[JK]=0EG2[JK]=0.0# DOUBLE CHARGE ++ ION STATES (EXTRA ELECTRON)NC0[7]=1EC0[7]=1.0NC0[8]=1EC0[8]=1.0NC0[9]=1EC0[9]=1.0# FLUORESCENCE K SHELLS LEGAS[10]=1LEGAS[11]=2ISHELL[10]=1ISHELL[11]=1#NC0[10]=2EC0[10]=253.WKLM[10]=0.0026EFL[10]=273.NG1[10]=1EG1[10]=253.NG2[10]=2EG2[10]=5.NC0[11]=3EC0[11]=485.WKLM[11]=0.0069EFL[11]=518.NG1[11]=1EG1[11]=480.NG2[11]=2EG2[11]=5.0# forJinrange(1,NION+1):forIinrange(1,NASIZE+1):if(EG[I]>EION[J]):IOFFION[J]=I-1break# endif # DIPOLE TRANSITION STRENGTH FOR VIBRATIONS V010 AND V001 AMPV2=0.1703AMPV3=0.3922#-----------------------------------------------------------------------# B0 IS ROTATIONAL CONSTANT# QBQA IS QUADRUPOLE MOMENT B0=4.838e-5A0=0.5291772083e-8QBQA=3.24QBK=1.67552*(QBQA*A0)**2#--------------------------------------------------------------------- # CALC FRACTIONAL POPULATION DENSITY OF ROTATIONAL STATESPJ[1]=1.0forLinrange(2,31+1):J=(2*L)-2PJ[L]=(2*J+1)*math.exp(-J*(J+1)*B0/AKT)SUM=0.0forLinrange(1,31+1):SUM=SUM+PJ[L]forLinrange(1,31+1):PJ[L]=PJ[L]/SUM#--------------------------------------------------------------------- # CALC ROTATIONAL TRANSITION ENERGIESforKinrange(1,59+1,2-1+1):EIN[K]=B0*(4*K+2)EIN[K+1]=-EIN[K]EIN[61]=-0.08275EIN[62]=0.08275EIN[63]=-0.15937EIN[64]=0.15937EIN[65]=-0.17211EIN[66]=0.17211EIN[67]=-0.251EIN[68]=0.251EIN[69]=-0.29126EIN[70]=0.29126EIN[71]=0.335EIN[72]=0.422EIN[73]=0.505EIN[74]=0.685EIN[75]=0.825EIN[76]=0.995EIN[77]=1.160EIN[78]=1.320EIN[79]=2.500EIN[80]=6.50EIN[81]=6.75EIN[82]=7.00EIN[83]=7.25EIN[84]=7.50EIN[85]=7.75EIN[86]=8.00EIN[87]=8.25EIN[88]=8.50EIN[89]=8.75EIN[90]=8.89EIN[91]=8.90EIN[92]=9.15EIN[93]=9.40EIN[94]=9.65EIN[95]=9.90EIN[96]=10.15EIN[97]=10.7EIN[98]=11.048EIN[99]=11.3EIN[100]=11.385EIN[101]=11.543EIN[102]=11.608EIN[103]=11.683EIN[104]=11.758EIN[105]=11.826EIN[106]=11.971EIN[107]=12.142EIN[108]=12.301EIN[109]=12.469EIN[110]=12.627EIN[111]=12.75EIN[112]=12.901EIN[113]=13.01EIN[114]=13.15EIN[115]=13.28EIN[116]=13.39EIN[117]=13.51EIN[118]=13.68EIN[119]=13.78EIN[120]=14.0EIN[121]=14.25EIN[122]=14.5EIN[123]=14.75EIN[124]=15.0EIN[125]=15.25EIN[126]=15.5EIN[127]=15.75EIN[128]=16.0EIN[129]=16.25EIN[130]=16.5EIN[131]=16.75EIN[132]=17.0EIN[133]=17.25EIN[134]=17.5EIN[135]=17.75EIN[136]=18.0EIN[137]=18.25EIN[138]=18.50EIN[139]=18.75EIN[140]=19.0EIN[141]=19.25EIN[142]=19.50EIN[143]=19.75EIN[144]=25.0EIN[145]=0.0EIN[146]=0.0# OFFSET ENERGY FOR EXCITATION LEVELS ANGULAR DISTRIBUTIONforNLinrange(1,144+1):forIinrange(1,NASIZE+1):if(EG[I]>abs(EIN[NL])):IOFFN[NL]=I-1break# endif# 551 CONTINUE#***********************************************************************# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL# FIRST 81 LEVELS UNLIKELY TO HAVE ENOUGH ENERGYforKinrange(1,81+1):forLinrange(1,3+1):PENFRA[L][K]=0.0# PENNING TRANSFER FRACTION FOR LEVELS forKinrange(82,NIN+1):PENFRA[1][K]=0.0# PENNING TRANSFER DISTANCE IN MICRONSPENFRA[2][K]=1.0# PENNING TRANSFER TIME IN PICOSECONDSPENFRA[3][K]=1.0# 7000 CONTINUEif(IPEN==0):# GO TO 9passelse:forKDUMinrange(82,NIN+1):if(PENFRA[1][KDUM]==0.0):# GO TO 8break# WRITE(6,999) NAME,EIN[KDUM],PENFRA[1][KDUM],PENFRA[2][KDUM],PENFRA[3][KDUM]print(' GAS = %s ENERGY LEVEL = %.4f EV. \n PENNING PROBABILITY =%.3f ABS.LENGTH =%.2f DECAY TIME =%.1f'%(NAME,EIN[KDUM],PENFRA[1][KDUM],PENFRA[2][KDUM],PENFRA[3][KDUM]))# 8 CONTINUE#***********************************************************************# # DEGENERACY OF VIBRATIONAL STATES# 9 DEGV1=1.0DEGV2=2.0DEGV3=1.0DEG2V2=3.0# 3V2 === SUM (3V2 + V12) = 4+2DEG3V2=6.0#---------------------------------------------------- # CALC POPULATION OF VIBRATIONAL STATES SUM=0.0APOPV2=DEGV2*math.exp(EIN[61]/AKT)APOP2V2=DEG2V2*math.exp(EIN[63]/AKT)APOPV1=DEGV1*math.exp(EIN[65]/AKT)APOP3V2=DEG3V2*math.exp(EIN[67]/AKT)APOPV3=DEGV3*math.exp(EIN[69]/AKT)SUM=1.0+APOPV2+APOP2V2+APOPV1+APOP3V2+APOPV3APOPGS=1.0/SUMAPOPV2=APOPV2/SUMAPOP2V2=APOP2V2/SUMAPOPV1=APOPV1/SUMAPOP3V2=APOP3V2/SUMAPOPV3=APOPV3/SUMAPBEND=APOPV2+APOP2V2+APOP3V2# WRITE(6,865) APOPGS,APOPV2,APOP2V2,APOPV1,APOP3V2,APOPV3,APB# end# 865 print(' APOPGS=',F8.6,' APOPV2=',F8.6,' APOP2V2=',F8.6,' APOPV1='# /,F8.6,' APOP3V2=',F8.6,' APOPV3=',F8.6,/,' APB# end=',F12.10)# # RENORMALISE VIBRATIONAL GROUND STATE POPULATION IN ORDER TO ACCOUNT # FOR EXCITATION FROM VIBRATIONALLY EXCITED STATES APOPGS=1.0# B# end MODE AND EFFECTIVE GROUND STATE POPULATION AT 293.15 KELVIN AEXT20=7.51373753e-2AGST20=1.0-AEXT20# WRITE(6,866) APOPGS,AEXT20 # 866 print(' RENORMALISED GS POPULATION=', '%.4f' %,' AEXT20=',F12.10) #------------------------------------------------------ SCRPT[1]=' 'SCRPT[2]=' ELASTIC ANISOTROPIC CO2 'if(NANISO==0):SCRPT[2]=' ELASTIC ISOTROPIC CO2 '# endifSCRPT[3]=' IONISATION CO2+ ELOSS= 13.776 'SCRPT[4]=' IONISATION-EXC CO2+(A2PIu) ELOSS= 17.314 'SCRPT[5]=' IONISATION-EXC CO2+(B2SIG+u) ELOSS= 18.077 'SCRPT[6]=' DISSOCIATIVE ION O+ ELOSS= 19.07 'SCRPT[7]=' DISSOCIATIVE ION CO+ ELOSS= 19.47 'SCRPT[8]=' DISSOCIATIVE ION C+ ELOSS= 27.82 'SCRPT[9]=' DISSOCIATIVE ION CO2++ ELOSS= 37.4 'SCRPT[10]=' DISSOCIATIVE ION C++ ELOSS= 72.0 'SCRPT[11]=' DISSOCIATIVE ION O++ ELOSS= 74.0 'SCRPT[12]=' IONISATION CARBON K-SHELL ELOSS= 285.0 'SCRPT[13]=' IONISATION OXYGEN K-SHELL ELOSS= 532.0 'SCRPT[14]=' ATTACHMENT 'SCRPT[15]=' 'SCRPT[16]=' 'SCRPT[17]=' ROTATION 0-2 ELOSS= 0.00029 'SCRPT[18]=' ROTATION 2-0 ELOSS= -0.00029 'SCRPT[19]=' ROTATION 2-4 ELOSS= 0.00068 'SCRPT[20]=' ROTATION 4-2 ELOSS= -0.00068 'SCRPT[21]=' ROTATION 4-6 ELOSS= 0.00106 'SCRPT[22]=' ROTATION 6-4 ELOSS= -0.00106 'SCRPT[23]=' ROTATION 6-8 ELOSS= 0.00145 'SCRPT[24]=' ROTATION 8-6 ELOSS= -0.00145 'SCRPT[25]=' ROTATION 8-10 ELOSS= 0.00184 'SCRPT[26]=' ROTATION 10-8 ELOSS= -0.00184 'SCRPT[27]=' ROTATION 10-12 ELOSS= 0.00223 'SCRPT[28]=' ROTATION 12-10 ELOSS= -0.00223 'SCRPT[29]=' ROTATION 12-14 ELOSS= 0.00261 'SCRPT[30]=' ROTATION 14-12 ELOSS= -0.00261 'SCRPT[31]=' ROTATION 14-16 ELOSS= 0.00300 'SCRPT[32]=' ROTATION 16-14 ELOSS= -0.00300 'SCRPT[33]=' ROTATION 16-18 ELOSS= 0.00339 'SCRPT[34]=' ROTATION 18-16 ELOSS= -0.00339 'SCRPT[35]=' ROTATION 18-20 ELOSS= 0.00377 'SCRPT[36]=' ROTATION 20-18 ELOSS= -0.00377 'SCRPT[37]=' ROTATION 20-22 ELOSS= 0.00416 'SCRPT[38]=' ROTATION 22-20 ELOSS= -0.00416 'SCRPT[39]=' ROTATION 22-24 ELOSS= 0.00455 'SCRPT[40]=' ROTATION 24-22 ELOSS= -0.00455 'SCRPT[41]=' ROTATION 24-26 ELOSS= 0.00493 'SCRPT[42]=' ROTATION 26-24 ELOSS= -0.00493 'SCRPT[43]=' ROTATION 26-28 ELOSS= 0.00532 'SCRPT[44]=' ROTATION 28-26 ELOSS= -0.00532 'SCRPT[45]=' ROTATION 28-30 ELOSS= 0.00571 'SCRPT[46]=' ROTATION 30-28 ELOSS= -0.00571 'SCRPT[47]=' ROTATION 30-32 ELOSS= 0.00610 'SCRPT[48]=' ROTATION 32-30 ELOSS= -0.00610 'SCRPT[49]=' ROTATION 32-34 ELOSS= 0.00648 'SCRPT[50]=' ROTATION 34-32 ELOSS= -0.00648 'SCRPT[51]=' ROTATION 34-36 ELOSS= 0.00687 'SCRPT[52]=' ROTATION 36-34 ELOSS= -0.00687 'SCRPT[53]=' ROTATION 36-38 ELOSS= 0.00726 'SCRPT[54]=' ROTATION 38-36 ELOSS= -0.00726 'SCRPT[55]=' ROTATION 38-40 ELOSS= 0.00764 'SCRPT[56]=' ROTATION 40-38 ELOSS= -0.00764 'SCRPT[57]=' ROTATION 40-42 ELOSS= 0.00803 'SCRPT[58]=' ROTATION 42-40 ELOSS= -0.00803 'SCRPT[59]=' ROTATION 42-44 ELOSS= 0.00842 'SCRPT[60]=' ROTATION 44-42 ELOSS= -0.00842 'SCRPT[61]=' ROTATION 44-46 ELOSS= 0.00881 'SCRPT[62]=' ROTATION 46-44 ELOSS= -0.00881 'SCRPT[63]=' ROTATION 46-48 ELOSS= 0.00919 'SCRPT[64]=' ROTATION 48-46 ELOSS= -0.00919 'SCRPT[65]=' ROTATION 48-50 ELOSS= 0.00958 'SCRPT[66]=' ROTATION 50-48 ELOSS= -0.00958 'SCRPT[67]=' ROTATION 50-52 ELOSS= 0.00997 'SCRPT[68]=' ROTATION 52-50 ELOSS= -0.00997 'SCRPT[69]=' ROTATION 52-54 ELOSS= 0.01035 'SCRPT[70]=' ROTATION 54-52 ELOSS= -0.01035 'SCRPT[71]=' ROTATION 54-56 ELOSS= 0.01074 'SCRPT[72]=' ROTATION 56-54 ELOSS= -0.01074 'SCRPT[73]=' ROTATION 56-58 ELOSS= 0.01113 'SCRPT[74]=' ROTATION 58-56 ELOSS= -0.01113 'SCRPT[75]=' ROTATION 58-60 ELOSS= 0.01151 'SCRPT[76]=' ROTATION 60-58 ELOSS= -0.01151 'SCRPT[77]=' VIBRATION (010) ELOSS= -0.08275 'SCRPT[78]=' VIBRATION (010) ELOSS= 0.08275 'SCRPT[79]=' VIBRATION (020) ELOSS= -0.15937 'SCRPT[80]=' VIBRATION (020) ELOSS= 0.15937 'SCRPT[81]=' VIBRATION (100) ELOSS= -0.17211 'SCRPT[82]=' VIBRATION (100) ELOSS= 0.17211 'SCRPT[83]=' VIBRATION (030)+(110) ELOSS= -0.251 'SCRPT[84]=' VIBRATION (030)+(110) ELOSS= 0.251 'SCRPT[85]=' VIBRATION (001) ELOSS= -0.29126 'SCRPT[86]=' VIBRATION (001) ELOSS= 0.29126 'SCRPT[87]=' VIBRATION POLYAD 3 ELOSS= 0.335 'SCRPT[88]=' VIBRATION (130)+(210) ELOSS= 0.422 'SCRPT[89]=' VIBRATION POLYAD 4 ELOSS= 0.505 'SCRPT[90]=' VIBRATION POLYAD 5 ELOSS= 0.685 'SCRPT[91]=' VIBRATION POLYAD 6 ELOSS= 0.825 'SCRPT[92]=' VIBRATION POLYAD 7 ELOSS= 0.995 'SCRPT[93]=' VIBRATION POLYAD 8 ELOSS= 1.160 'SCRPT[94]=' VIBRATION POLYAD 9 ELOSS= 1.320 'SCRPT[95]=' VIBRATION POLYAD HIGH SUM ELOSS= 2.50 'SCRPT[96]=' 1DEL DISSOC CO + O F=.0000698 ELOSS= 6.50 'SCRPT[97]=' 1DEL DISSOC CO + 0 F=.0000630 ELOSS= 6.75 'SCRPT[98]=' 1DEL DISSOC CO + O F=.0000758 ELOSS= 7.00 'SCRPT[99]=' 1DEL DISSOC CO + O F=.0001638 ELOSS= 7.25 'SCRPT[100]=' 1DEL DISSOC CO + O F=.0003356 ELOSS= 7.50 'SCRPT[101]=' 1DEL DISSOC CO + 0 F=.0007378 ELOSS= 7.75 'SCRPT[102]=' 1DEL DISSOC CO + 0 F=.001145 ELOSS= 8.00 'SCRPT[103]=' 1DEL DISSOC CO + O F=.001409 ELOSS= 8.25 'SCRPT[104]=' 1DEL DISSOC CO + O F=.001481 ELOSS= 8.50 'SCRPT[105]=' 1DEL DISSOC CO + O F=.000859 ELOSS= 8.75 'SCRPT[106]=' TRIPLET ELOSS= 8.89 'SCRPT[107]=' 1PI DISSOC CO + O F=.001687 ELOSS= 8.90 'SCRPT[108]=' 1PI DISSOC CO + O F=.002115 ELOSS= 9.15 'SCRPT[109]=' 1PI DISSOC CO + O F=.001920 ELOSS= 9.40 'SCRPT[110]=' 1PI DISSOC CO + O F=.001180 ELOSS= 9.65 'SCRPT[111]=' 1PI DISSOC CO + 0 F=.000683 ELOSS= 9.90 'SCRPT[112]=' 1PI DISSOC CO + O F=.000456 ELOSS= 10.15 'SCRPT[113]=' SOME RA:AU BANDS F=.004361 ELOSS= 10.7 'SCRPT[114]=' 1SIG# + 1SIG + C# F=.1718 ELOSS= 11.048 'SCRPT[115]=' TRIPLETS ELOSS= 11.3 'SCRPT[116]=' 1PIu F=.06242 ELOSS= 11.385 'SCRPT[117]=' RYDBERG DIPOLE F=.01852 ELOSS= 11.543 'SCRPT[118]=' RYDBERG DIPOLE F=.01125 ELOSS= 11.608 'SCRPT[119]=' RYDBERG DIPOLE F=.01535 ELOSS= 11.683 'SCRPT[120]=' RYDBERG DIPOLE F=.01009 ELOSS= 11.758 'SCRPT[121]=' RYDBERG DIPOLE F=.01940 ELOSS= 11.826 'SCRPT[122]=' RYDBERG DIPOLE F=.03817 ELOSS= 11.971 'SCRPT[123]=' RYDBERG DIPOLE F=.05814 ELOSS= 12.142 'SCRPT[124]=' RYDBERG DIPOLE F=.04769 ELOSS= 12.301 'SCRPT[125]=' RYDBERG DIPOLE F=.09315 ELOSS= 12.469 'SCRPT[126]=' RYDBERG DIPOLE F=.06305 ELOSS= 12.627 'SCRPT[127]=' CONTINUUM DIPOLE F=.02477 ELOSS= 12.75 'SCRPT[128]=' RYDBERG DIPOLE F=.06231 ELOSS= 12.901 'SCRPT[129]=' SUM RYDBERGS DIPOLE F=.06696 ELOSS= 13.01 'SCRPT[130]=' SUM RYDBERGS DIPOLE F=.09451 ELOSS= 13.15 'SCRPT[131]=' SUM RYDBERGS DIPOLE F=.04986 ELOSS= 13.28 'SCRPT[132]=' SUM RYDBERGS DIPOLE F=.09029 ELOSS= 13.39 'SCRPT[133]=' SUM RYDBERGS DIPOLE F=.07431 ELOSS= 13.51 'SCRPT[134]=' SUM RYDBERGS DIPOLE F=.15625 ELOSS= 13.68 'SCRPT[135]=' NEUTRAL DISS DIPOLE F=.08084 ELOSS= 13.78 'SCRPT[136]=' NEUTRAL DISS DIPOLE F=.02662 ELOSS= 14.00 'SCRPT[137]=' NEUTRAL DISS DIPOLE F=.01062 ELOSS= 14.25 'SCRPT[138]=' NEUTRAL DISS DIPOLE F=.00644 ELOSS= 14.50 'SCRPT[139]=' NEUTRAL DISS DIPOLE F=.00484 ELOSS= 14.75 'SCRPT[140]=' NEUTRAL DISS DIPOLE F=.00880 ELOSS= 15.00 'SCRPT[141]=' NEUTRAL DISS DIPOLE F=.01522 ELOSS= 15.25 'SCRPT[142]=' NEUTRAL DISS DIPOLE F=.01683 ELOSS= 15.50 'SCRPT[143]=' NEUTRAL DISS DIPOLE F=.02135 ELOSS= 15.75 'SCRPT[144]=' NEUTRAL DISS DIPOLE F=.03232 ELOSS= 16.00 'SCRPT[145]=' NEUTRAL DISS DIPOLE F=.02534 ELOSS= 16.25 'SCRPT[146]=' NEUTRAL DISS DIPOLE F=.01433 ELOSS= 16.50 'SCRPT[147]=' NEUTRAL DISS DIPOLE F=.00965 ELOSS= 16.75 'SCRPT[148]=' NEUTRAL DISS DIPOLE F=.01481 ELOSS= 17.00 'SCRPT[149]=' NEUTRAL DISS DIPOLE F=.01148 ELOSS= 17.25 'SCRPT[150]=' NEUTRAL DISS DIPOLE F=.00885 ELOSS= 17.50 'SCRPT[151]=' NEUTRAL DISS DIPOLE F=.00931 ELOSS= 17.75 'SCRPT[152]=' NEUTRAL DISS DIPOLE F=.00666 ELOSS= 18.00 'SCRPT[153]=' NEUTRAL DISS DIPOLE F=.00443 ELOSS= 18.25 'SCRPT[154]=' NEUTRAL DISS DIPOLE F=.00371 ELOSS= 18.50 'SCRPT[155]=' NEUTRAL DISS DIPOLE F=.00344 ELOSS= 18.75 'SCRPT[156]=' NEUTRAL DISS DIPOLE F=.00357 ELOSS= 19.00 'SCRPT[157]=' NEUTRAL DISS DIPOLE F=.00530 ELOSS= 19.25 'SCRPT[158]=' NEUTRAL DISS DIPOLE F=.00621 ELOSS= 19.50 'SCRPT[159]=' NEUTRAL DISS DIPOLE F=.00619 ELOSS= 19.75 'SCRPT[160]=' SUM OF HIGH TRIPLETS ELOSS= 25.00 'SCRPT[161]=' BREMSSTRAHLUNG FROM CARBON ATOM 'SCRPT[162]=' BREMSSTRAHLUNG FROM OXYGEN ATOMS '# EN=-ESTEP/2.0forIinrange(1,NSTEP+1):EN=EG[I]# print("GASN EN=",EN) # EN=EN+ESTEP GAMMA1=(EMASS2+2.00*EN)/EMASS2GAMMA2=GAMMA1*GAMMA1BETA=math.sqrt(1.00-1.00/GAMMA2)BETA2=BETA*BETA# ELASTIC USE LOG INTERPOLATIONif(EN<=XEN[1]):QMOM=YMOM[1]*1.e-16QELA=YEL[1]*1.e-16QBMOM=QMOMQBELA=QELAPQ2=0.0passelse:# endif flag15=1forJinrange(2,NEL+1):if(EN<=XEN[J]):flag15=0break# 10 CONTINUE if(flag15):J=NEL# 15 YXJ=math.log(YMOM[J])YXJ1=math.log(YMOM[J-1])XNJ=math.log(XEN[J])XNJ1=math.log(XEN[J-1])A=(YXJ-YXJ1)/(XNJ-XNJ1)B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)QMOM=math.exp(A*math.log(EN)+B)*1.e-16YXJ=math.log(YEL[J])YXJ1=math.log(YEL[J-1])A=(YXJ-YXJ1)/(XNJ-XNJ1)B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)QELA=math.exp(A*math.log(EN)+B)*1.e-16YXJ=math.log(YVBMOM[J])YXJ1=math.log(YVBMOM[J-1])A=(YXJ-YXJ1)/(XNJ-XNJ1)B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)QBMOM=math.exp(A*math.log(EN)+B)*1.e-16YXJ=math.log(YVBEL[J])YXJ1=math.log(YVBEL[J-1])A=(YXJ-YXJ1)/(XNJ-XNJ1)B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)QBELA=math.exp(A*math.log(EN)+B)*1.e-16YXJ=math.log(YEPS[J])YXJ1=math.log(YEPS[J-1])A=(YXJ-YXJ1)/(XNJ-XNJ1)B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)PQ2=math.exp(A*math.log(EN)+B)# EPSILON=1.0-YEPSPQ2=1.00-PQ2# 20 CONTINUE# CALC CHANGE IN ELASTIC CROSS SECTION DUE TO CHANGE IN ELASTIC# SCATTERING FROM B# end MODES ( CHANGE RELATIVE TO X-SECTION AT 293.15K)# B# end MODE POPULATION AT 293.15K == AEXT20,GROUND STATE POP. == AGST20#QMOM=(1.0-APBEND)*(QMOM-AEXT20*QBMOM)/AGST20+APBEND*QBMOMQELA=(1.0-APBEND)*(QELA-AEXT20*QBELA)/AGST20+APBEND*QBELAPQ1=0.5+(QELA-QMOM)/QELA# if(NANISO==2):Q[2][I]=QELAPEQEL[2][I]=PQ2if(EN<10.0):PEQEL[2][I]=0.0if(EN<10.0):Q[2][I]=QMOM# endifif(NANISO==1):Q[2][I]=QELAPEQEL[2][I]=PQ1if(EN<10.0):PEQEL[2][I]=0.5if(EN<10.0):Q[2][I]=QMOM# endifif(NANISO==0):PEQEL[2][I]=0.5Q[2][I]=QMOM# endif## IONISATION CO2+QION[1][I]=0.0PEQION[1][I]=0.5if(NANISO==2):PEQION[1][I]=0.0if(EN<=EION[1]):passelse:flag24=1if(EN>XION1[NION1]):passelse:flag22forJinrange(2,NION1+1):if(EN<=XION1[J]):flag22=0breakif(flag22):J=NION1# 22 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])QION[1][I]=1.0e-16*(A*EN+B)flag24=0# USE BORN-BETHE X-SECTION ABOVE XION1[NION1] EVif(flag24):X2=1.00/BETA2X1=X2*math.log(BETA2/(1.00-BETA2))-1.00QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.67716# 24 if(EN<=(2.0*EION[1])):passelse:PEQION[1][I]=PEQEL[2][I-IOFFION[1]]# IONISATION CO2+(A2PIu)# 1025 QION[2][I]=0.0PEQION[2][I]=0.5if(NANISO==2):PEQION[2][I]=0.0if(EN<=EION[2]):passelse:flag1029=1if(EN>XION2[NION2]):passelse:forJinrange(2,NION2+1):if(EN<=XION2[J]):flag1027=0break# 1026 CONTINUE if(flag1027):J=NION2# 1027 A=(YION2[J]-YION2[J-1])/(XION2[J]-XION2[J-1])B=(XION2[J-1]*YION2[J]-XION2[J]*YION2[J-1])/(XION2[J-1]-XION2[J])QION[2][I]=1.0e-16*(A*EN+B)flag1029=0# USE BORN-BETHE X-SECTION ABOVE XION2[NION2] EVif(flag1029):QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.67716*0.385# 1029 if(EN<=(2.0*EION[2])):passelse:PEQION[2][I]=PEQEL[2][I-IOFFION[2]]# IONISATION CO2+(B2SIGMA+u)# 1030 QION[3][I]=0.0PEQION[3][I]=0.5if(NANISO==2):PEQION[3][I]=0.0if(EN<=EION[3]):passelse:flag1034=1if(EN>XION3[NION3]):passelse:flag1032=1forJinrange(2,NION3+1):if(EN<=XION3[J]):flag1032=0breakif(flag1032):J=NION3# 1032 A=(YION3[J]-YION3[J-1])/(XION3[J]-XION3[J-1])B=(XION3[J-1]*YION3[J]-XION3[J]*YION3[J-1])/(XION3[J-1]-XION3[J])QION[3][I]=1.0e-16*(A*EN+B)flag1034=0# USE BORN-BETHE X-SECTION ABOVE XION3[NION3] EV# 1033if(flag1034):QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.67716*0.220# 1034 if(EN<=(2.0*EION[3])):passelse:PEQION[3][I]=PEQEL[2][I-IOFFION[3]]# DISSOCIATIVE IONISATION O+# 1035 QION[4][I]=0.0PEQION[4][I]=0.5if(NANISO==2):PEQION[4][I]=0.0if(EN<=EION[4]):passelse:flag1039=1if(EN>XION4[NION4]):passelse:flag1037=1forJinrange(2,NION4+1):if(EN<=XION4[J]):flag1037=0break# 1036 CONTINUE if(flag1037):J=NION4# 1037 A=(YION4[J]-YION4[J-1])/(XION4[J]-XION4[J-1])B=(XION4[J-1]*YION4[J]-XION4[J]*YION4[J-1])/(XION4[J-1]-XION4[J])QION[4][I]=1.0e-16*(A*EN+B)flag1039=0# USE BORN-BETHE X-SECTION ABOVE XION4[NION4] EVif(flag1039):# 1038 QION[4][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.16156# 1039 if(EN<=(2.0*EION[4])):passelse:PEQION[4][I]=PEQEL[2][I-IOFFION[4]]# DISSOCIATIVE IONISATION CO+# 1040 QION[5][I]=0.0PEQION[5][I]=0.5if(NANISO==2):PEQION[5][I]=0.0if(EN<=EION[5]):passelse:flag1044=1if(EN>XION5[NION5]):passelse:flag1042=1forJinrange(2,NION5+1):if(EN<=XION5[J]):flag1042=0breakif(flag1042):J=NION5# 1042 A=(YION5[J]-YION5[J-1])/(XION5[J]-XION5[J-1])B=(XION5[J-1]*YION5[J]-XION5[J]*YION5[J-1])/(XION5[J-1]-XION5[J])QION[5][I]=1.0e-16*(A*EN+B)flag1044=0# USE BORN-BETHE X-SECTION ABOVE XION5[NION5] EVif(flag1044):# 1043 QION[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.07962# 1044 if(EN<=(2.0*EION[5])):passelse:PEQION[5][I]=PEQEL[2][I-IOFFION[5]]# DISSOCIATIVE IONISATION C+ # 1045 QION[6][I]=0.0PEQION[6][I]=0.5if(NANISO==2):PEQION[6][I]=0.0if(EN<=EION[6]):# GO TO 1050passelse:flag1049=1flag1047=1if(EN>XION6[NION6]):passelse:forJinrange(2,NION6+1):if(EN<=XION6[J]):flag1047=0breakif(flag1047):J=NION6# 1047 A=(YION6[J]-YION6[J-1])/(XION6[J]-XION6[J-1])B=(XION6[J-1]*YION6[J]-XION6[J]*YION6[J-1])/(XION6[J-1]-XION6[J])QION[6][I]=1.0e-16*(A*EN+B)flag1049=0# USE BORN-BETHE X-SECTION ABOVE XION6[NION6] EVif(flag1049):QION[6][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.07452# 1049 if(EN<=(2.0*EION[6])):passelse:PEQION[6][I]=PEQEL[2][(I-IOFFION[6])]# IONISATION CO2++ # 1050 QION[7][I]=0.0PEQION[7][I]=0.5if(NANISO==2):PEQION[7][I]=0.0if(EN<=EION[7]):passelse:flag1054=1if(EN>XION7[NION7]):passelse:flag1052=1forJinrange(2,NION7+1):if(EN<=XION7[J]):flag1052=0breakif(flag1052):J=NION7# 1052 A=(YION7[J]-YION7[J-1])/(XION7[J]-XION7[J-1])B=(XION7[J-1]*YION7[J]-XION7[J]*YION7[J-1])/(XION7[J-1]-XION7[J])QION[7][I]=1.0e-16*(A*EN+B)flag1054=0# USE BORN-BETHE X-SECTION ABOVE XION7[NION7] EVif(flag1054):QION[7][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.00559# 1054 if(EN<=(2.0*EION[7])):passelse:PEQION[7][I]=PEQEL[2][(I-IOFFION[7])]# DISSOCIATIVE IONISATION C++ # 1055 QION[8][I]=0.0PEQION[8][I]=0.5if(NANISO==2):PEQION[8][I]=0.0if(EN<=EION[8]):passelse:flag1059=1if(EN>XION8[NION8]):passelse:flag1057=1forJinrange(2,NION8+1):if(EN<=XION8[J]):flag1057=0breakif(flag1057):J=NION8# 1057 A=(YION8[J]-YION8[J-1])/(XION8[J]-XION8[J-1])B=(XION8[J-1]*YION8[J]-XION8[J]*YION8[J-1])/(XION8[J-1]-XION8[J])QION[8][I]=1.0e-16*(A*EN+B)flag1059=0# USE BORN-BETHE X-SECTION ABOVE XION8[NION8] EVif(flag1059):# 1058 QION[8][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.00076# 1059 if(EN<=(2.0*EION[8])):passelse:PEQION[8][I]=PEQEL[2][(I-IOFFION[8])]# DISSOCIATIVE IONISATION O++ # 1060 QION[9][I]=0.0PEQION[9][I]=0.5if(NANISO==2):PEQION[9][I]=0.0if(EN<=EION[9]):passelse:flag1062=1if(EN>XION9[NION9]):passelse:forJinrange(2,NION9+1):if(EN<=XION9[J]):flag1062=0breakif(flag1062):J=NION9# 1062 A=(YION9[J]-YION9[J-1])/(XION9[J]-XION9[J-1])B=(XION9[J-1]*YION9[J]-XION9[J]*YION9[J-1])/(XION9[J-1]-XION9[J])QION[9][I]=1.0e-16*(A*EN+B)flag1064=0# USE BORN-BETHE X-SECTION ABOVE XION9[NION9] EVif(flag1064):QION[9][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.00080# 1064 if(EN<=(2.0*EION[9])):passelse:PEQION[9][I]=PEQEL[2][(I-IOFFION[9])]# CARBON K-SHELL IONISATION# 25 QION[10][I]=0.0PEQION[10][I]=0.5if(NANISO==2):PEQION[10][I]=0.0if(EN<=EION[10]):passelse:flag27=1forJinrange(2,NKSHC+1):if(EN<=XKSHC[J]):flag27=0breakif(flag27):J=NKSHC# 27 A=(YKSHC[J]-YKSHC[J-1])/(XKSHC[J]-XKSHC[J-1])B=(XKSHC[J-1]*YKSHC[J]-XKSHC[J]*YKSHC[J-1])/(XKSHC[J-1]-XKSHC[J])QION[10][I]=1.0e-16*(A*EN+B)if(EN<=(2.0*EION[10])):passelse:PEQION[10][I]=PEQEL[2][(I-IOFFION[10])]# OXYGEN K-SHELL IONISATION# 28 QION[11][I]=0.0PEQION[11][I]=0.5if(NANISO==2):PEQION[11][I]=0.0if(EN<=EION[11]):passelse:forJinrange(2,NKSHO+1):if(EN<=XKSHO[J]):flag30=0breakif(flag30):J=NKSHO# 30 A=(YKSHO[J]-YKSHO[J-1])/(XKSHO[J]-XKSHO[J-1])B=(XKSHO[J-1]*YKSHO[J]-XKSHO[J]*YKSHO[J-1])/(XKSHO[J-1]-XKSHO[J])# SCALING FACTOR 2 FOR NUMBER OF OXYGENS PER MOLECULEQION[11][I]=2.0e-16*(A*EN+B)if(EN<=(2.0*EION[11])):passelse:PEQION[11][I]=PEQEL[2][(I-IOFFION[11])]## FIX CO2+ X-SECTION FOR SPLIT INTO CO2+ EXCITED STATES# 301 QION[1][I]=QION[1][I]-QION[2][I]-QION[3][I]# ATTACHMENT Q[4][I]=0.0if(EN<=XATT[1]):passelse:flag40=1flag32=1if(EN>XATT[NATT1]):passelse:forJinrange(2,NATT1+1):if(EN<=XATT[J]):flag32=0breakif(flag32):J=NATT1# 32 A=(YATT[J]-YATT[J-1])/(XATT[J]-XATT[J-1])B=(XATT[J-1]*YATT[J]-XATT[J]*YATT[J-1])/(XATT[J-1]-XATT[J])Q[4][I]=1.0e-16*(A*EN+B)flag40=0# 33if(flag40):Q[4][I]=YATT[NATT1]*(XATT[NATT1]/EN)**3*1.e-16## 40 Q[5][I]=0.0Q[6][I]=0.0# ----------------------------------------------------------------------# QUADRUPOLE BORN ROTATIONAL STATES (GERJUOY AND STEIN)# ----------------------------------------------------------------------# SUPERELASTIC ROTATIONforKinrange(2,60+1,2-1+1):AJ=float(K)L=(K/2)+1PEQIN[K][I]=0.5if(NANISO==2):PEQIN[K][I]=0.0if(EN<(4.0*abs(EIN[K]))):passelse:if(NANISO>0):# print("line 18695 ",K,I,I-IOFFN[K])PEQIN[K][I]=PEQEL[2][int(I-IOFFN[K])]# 50 CONTINUE# 51 # print("index",K,1.0-EIN[K]/EN,EIN[K],EN)QIN[K][I]=PJ[int(L)]*QBK*math.sqrt(1.0-EIN[K]/EN)*AJ*(AJ-1.0)/((2.0*AJ+1.0)*(2.0*AJ-1.0))# ROTATION forKinrange(1,59+1,2-1+1):QIN[K][I]=0.0PEQIN[K][I]=0.5if(NANISO==2):PEQIN[K][I]=0.0if(EN<=EIN[K]):continueAJ=float(K-1)L=(K+1)/2# print("line 18710 QIN[",K,"][",I,"]=",QIN[K][I]," PJ[",L,"]= "," EIN[",K,"]=",EIN[K])QIN[K][I]=PJ[int(L)]*QBK*math.sqrt(1.0-EIN[K]/EN)*(AJ+2.0)*(AJ+1.0)/((2.0*AJ+3.0)*(2.0*AJ+1.0))if(EN<(4.0*abs(EIN[K]))):continueif(NANISO>0):PEQIN[K][I]=PEQEL[2][int(I-IOFFN[K])]# 52 CONTINUE# BORN (1/E) FALL OFF IN ROTATONAL X-SEC ABOVE 6.0 EV .if(EN<6.0):passelse:forKinrange(1,60+1):QIN[K][I]=QIN[K][I]*6.0/EN# 70 CONTINUE# 80 CONTINUE # # SUPERELASTIC V2 B# end MODE QIN[61][I]=0.0PEQIN[61][I]=0.50if(NANISO==2):PEQIN[61][I]=0.00if(EN<=0.0):passelse:flag126=1EFAC=math.sqrt(1.0-(EIN[61]/EN))QIN[61][I]=AMPV2*math.log((EFAC+1.0)/(EFAC-1.0))/ENif((EN+EIN[62])>XV2[NV2]):passelse:flag120=1forJinrange(2,NV2+1):if((EN+EIN[62])<=XV2[J]):flag120=0breakif(flag120):J=NV2# 120 A=(YV2[J]-YV2[J-1])/(XV2[J]-XV2[J-1])B=(XV2[J-1]*YV2[J]-XV2[J]*YV2[J-1])/(XV2[J-1]-XV2[J])QIN[61][I]=QIN[61][I]+(EN+EIN[62])*(A*(EN+EIN[62])+B)/ENflag126=0if(flag126):QIN[61][I]=QIN[61][I]+YV2[NV2]*XV2[NV2]*(EN+EIN[62])/(EN*EN)# 126 QIN[61][I]=QIN[61][I]*APOPV2/DEGV2*1.e-16if(EN<(3.0*abs(EIN[61]))):passelse:if(NANISO>0):PEQIN[61][I]=PEQEL[2][int(I-IOFFN[61])]# V2 B# end MODE # 150 QIN[62][I]=0.0PEQIN[62][I]=0.50if(NANISO==2):PEQIN[62][I]=0.00if(EN<=EIN[62]):passelse:flag176=1EFAC=math.sqrt(1.0-(EIN[62]/EN))QIN[62][I]=AMPV2*math.log((1.0+EFAC)/(1.0-EFAC))/ENif(EN>XV2[NV2]):passelse:flag170=1forJinrange(2,NV2+1):if(EN<=XV2[J]):flag170=0breakif(flag170):J=NV2# 170 A=(YV2[J]-YV2[J-1])/(XV2[J]-XV2[J-1])B=(XV2[J-1]*YV2[J]-XV2[J]*YV2[J-1])/(XV2[J-1]-XV2[J])QIN[62][I]=QIN[62][I]+(A*EN+B)flag176=0if(flag176):QIN[62][I]=QIN[62][I]+YV2[NV2]*XV2[NV2]/EN# 176 QIN[62][I]=QIN[62][I]*APOPGS*1.e-16if(EN<(3.0*EIN[62])):passelse:if(NANISO>0):PEQIN[62][I]=PEQEL[2][int(I-IOFFN[62])]# # SUPERELASTIC 2V2 B# end MODE HARMONIC # 200 CONTINUE QIN[63][I]=0.0PEQIN[63][I]=0.50if(NANISO==2):PEQIN[63][I]=0.00if(EN<=0.0):passelse:flag226=1if((EN+EIN[64])>X2V2[N2V2]):passelse:flag220=1forJinrange(2,N2V2+1):if((EN+EIN[64])<=X2V2[J]):flag220=0breakif(flag220):J=N2V2# 220 A=(Y2V2[J]-Y2V2[J-1])/(X2V2[J]-X2V2[J-1])B=(X2V2[J-1]*Y2V2[J]-X2V2[J]*Y2V2[J-1])/(X2V2[J-1]-X2V2[J])QIN[63][I]=(EN+EIN[64])*(A*(EN+EIN[64])+B)/ENflag226=0if(flag226):QIN[63][I]=Y2V2[N2V2]*X2V2[N2V2]*(EN+EIN[64])/(EN*EN)# 226 QIN[63][I]=QIN[63][I]*APOP2V2/DEG2V2*1.e-16if(EN<(3.0*abs(EIN[63]))):passelse:if(NANISO>0):# print("line 18829 ",I-IOFFN[63],I,IOFFN[63])PEQIN[63][I]=PEQEL[2][int(I-IOFFN[63])]# 2V2 B# end MODE HARMONIC # 250 CONTINUE QIN[64][I]=0.0PEQIN[64][I]=0.50if(NANISO==2):PEQIN[64][I]=0.00if(EN<=EIN[64]):passelse:flag270=1flag276=1if(EN>X2V2[N2V2]):passelse:forJinrange(2,N2V2+1):if(EN<=X2V2[J]):flag270=0breakif(flag270):J=N2V2# 270 A=(Y2V2[J]-Y2V2[J-1])/(X2V2[J]-X2V2[J-1])B=(X2V2[J-1]*Y2V2[J]-X2V2[J]*Y2V2[J-1])/(X2V2[J-1]-X2V2[J])QIN[64][I]=(A*EN+B)flag276=0if(flag276):QIN[64][I]=Y2V2[N2V2]*X2V2[N2V2]/EN# 276 QIN[64][I]=QIN[64][I]*APOPGS*1.e-16if(EN<(3.0*EIN[64])):passelse:if(NANISO>0):PEQIN[64][I]=PEQEL[2][int(I-IOFFN[64])]# # SUPERELASTIC V1 SYMMETRIC STRETCH # 300 CONTINUE QIN[65][I]=0.0PEQIN[65][I]=0.50if(NANISO==2):PEQIN[65][I]=0.00if(EN<=0.0):passelse:if((EN+EIN[66])>XV1[NV1]):passelse:flag320=1forJinrange(2,NV1+1):if((EN+EIN[66])<=XV1[J]):flag320=0breakif(flag320):J=NV1# 320 A=(YV1[J]-YV1[J-1])/(XV1[J]-XV1[J-1])B=(XV1[J-1]*YV1[J]-XV1[J]*YV1[J-1])/(XV1[J-1]-XV1[J])QIN[65][I]=(EN+EIN[66])*(A*(EN+EIN[66])+B)/ENflag326=0if(flag326):QIN[65][I]=YV1[NV1]*XV1[NV1]*(EN+EIN[66])/(EN*EN)# 326 QIN[65][I]=QIN[65][I]*APOPV1/DEGV1*1.e-16if(EN<(3.0*abs(EIN[65]))):passelse:if(NANISO>0):PEQIN[65][I]=PEQEL[2][int(I-IOFFN[65])]# V1 SYMMETRIC STRETCH # 350 CONTINUE QIN[66][I]=0.0PEQIN[66][I]=0.50if(NANISO==2):PEQIN[66][I]=0.00if(EN<=EIN[66]):passelse:flag376=1if(EN>XV1[NV1]):passelse:flag370=1forJinrange(2,NV1+1):if(EN<=XV1[J]):flag370=0breakif(flag370):J=NV1# 370 A=(YV1[J]-YV1[J-1])/(XV1[J]-XV1[J-1])B=(XV1[J-1]*YV1[J]-XV1[J]*YV1[J-1])/(XV1[J-1]-XV1[J])QIN[66][I]=(A*EN+B)flag376=0if(flag376):QIN[66][I]=YV1[NV1]*XV1[NV1]/EN# 376 QIN[66][I]=QIN[66][I]*APOPGS*1.e-16if(EN<(3.0*EIN[66])):passelse:if(NANISO>0):PEQIN[66][I]=PEQEL[2][int(I-IOFFN[66])]# # SUPERELASTIC 3V2 + V12 # 400 CONTINUE QIN[67][I]=0.0PEQIN[67][I]=0.50if(NANISO==2):PEQIN[67][I]=0.00if(EN<=0.0):passelse:if((EN+EIN[68]>X3V2[N3V2])):passelse:flag420=1forJinrange(2,N3V2+1):if((EN+EIN[68]<=X3V2[J])):flag420=0break# 410 CONTINUE if(flag420):J=N3V2# 420 A=(Y3V2[J]-Y3V2[J-1])/(X3V2[J]-X3V2[J-1])B=(X3V2[J-1]*Y3V2[J]-X3V2[J]*Y3V2[J-1])/(X3V2[J-1]-X3V2[J])QIN[67][I]=(EN+EIN[68])*(A*(EN+EIN[68])+B)/ENflag426=0if(flag426):QIN[67][I]=Y3V2[N3V2]*X3V2[N3V2]*(EN+EIN[68])/(EN*EN)# 426QIN[67][I]=QIN[67][I]*APOP3V2/DEG3V2*1.e-16if(EN<(3.0*abs(EIN[68]))):passelse:if(NANISO>0):PEQIN[67][I]=PEQEL[2][int(I-IOFFN[67])]# 3V2 + V12 # 450 CONTINUE QIN[68][I]=0.0PEQIN[68][I]=0.50if(NANISO==2):PEQIN[68][I]=0.00if(EN<=EIN[68]):passelse:if(EN>X3V2[N3V2]):passelse:flag470=1forJinrange(2,N3V2+1):if(EN<=X3V2[J]):flag470=0break# 460 CONTINUE if(flag470):J=N3V2# 470 A=(Y3V2[J]-Y3V2[J-1])/(X3V2[J]-X3V2[J-1])B=(X3V2[J-1]*Y3V2[J]-X3V2[J]*Y3V2[J-1])/(X3V2[J-1]-X3V2[J])QIN[68][I]=(A*EN+B)flag476=0if(flag476):QIN[68][I]=Y3V2[N3V2]*X3V2[N3V2]/EN# 476 QIN[68][I]=QIN[68][I]*APOPGS*1.e-16if(EN<(3.0*EIN[68])):passelse:if(NANISO>0):PEQIN[68][I]=PEQEL[2][int(I-IOFFN[68])]## SUPERELASTIC V3 ASYMMETRIC STRETCH # 500 QIN[69][I]=0.0PEQIN[69][I]=0.50if(NANISO==2):PEQIN[69][I]=0.00if(EN<=0.0):passelse:EFAC=math.sqrt(1.0-(EIN[69]/EN))QIN[69][I]=AMPV3*math.log((EFAC+1.0)/(EFAC-1.0))/ENif((EN+EIN[70]>XV3[NV3])):passelse:flag520=1forJinrange(2,NV3+1):if((EN+EIN[70]<=XV3[J])):flag520=0break# 510 CONTINUE if(flag520):J=NV3# 520 A=(YV3[J]-YV3[J-1])/(XV3[J]-XV3[J-1])B=(XV3[J-1]*YV3[J]-XV3[J]*YV3[J-1])/(XV3[J-1]-XV3[J])QIN[69][I]=QIN[69][I]+(EN+EIN[70])*(A*(EN+EIN[70])+B)/ENflag526=0if(flag526):QIN[69][I]=QIN[69][I]+YV3[NV3]*XV3[NV3]*(EN+EIN[70])/(EN*EN)# 526 QIN[69][I]=QIN[69][I]*APOPV3/DEGV3*1.e-16if(EN<(3.0*abs(EIN[69]))):passelse:if(NANISO>0):PEQIN[69][I]=PEQEL[2][int(I-IOFFN[69])]# V3 ASYMMETRIC STRETCH # 550 QIN[70][I]=0.0PEQIN[70][I]=0.50if(NANISO==2):PEQIN[70][I]=0.00if(EN<=EIN[70]):passelse:flag576=1EFAC=math.sqrt(1.0-(EIN[70]/EN))QIN[70][I]=AMPV3*math.log((1.0+EFAC)/(1.0-EFAC))/ENif(EN>XV3[NV3]):passelse:flag570=1forJinrange(2,NV3+1):if(EN<=XV3[J]):flag570=0breakif(flag570):J=NV3# 570 A=(YV3[J]-YV3[J-1])/(XV3[J]-XV3[J-1])B=(XV3[J-1]*YV3[J]-XV3[J]*YV3[J-1])/(XV3[J-1]-XV3[J])QIN[70][I]=QIN[70][I]+(A*EN+B)flag576=0if(flag576):QIN[70][I]=QIN[70][I]+YV3[NV3]*XV3[NV3]/EN# 576 QIN[70][I]=QIN[70][I]*APOPGS*1.e-16if(EN<(3.0*EIN[70])):passelse:if(NANISO>0):PEQIN[70][I]=PEQEL[2][int(I-IOFFN[70])]# # 4V2 + 2V1 + V12V2 POLYAD 3 # 600 CONTINUE QIN[71][I]=0.0PEQIN[71][I]=0.50if(NANISO==2):PEQIN[71][I]=0.00if(EN<=EIN[71]):passelse:if(EN>XVPD3[NPD3]):passelse:flag20=1forJinrange(2,NPD3+1):if(EN<=XVPD3[J]):flag20=0breakif(flag20):J=NPD3# 620 A=(YVPD3[J]-YVPD3[J-1])/(XVPD3[J]-XVPD3[J-1])B=(XVPD3[J-1]*YVPD3[J]-XVPD3[J]*YVPD3[J-1])/(XVPD3[J-1]-XVPD3[J])QIN[71][I]=(A*EN+B)*1.e-16flag626=0if(flag626):QIN[71][I]=YVPD3[NPD3]*XVPD3[NPD3]/EN*1.e-16# 626 if(EN<(3.0*EIN[71])):passelse:if(NANISO>0):PEQIN[71][I]=PEQEL[2][int(I-IOFFN[71])]# # 3V2V1 + 2V1V2 # 650 CONTINUE QIN[72][I]=0.0PEQIN[72][I]=0.50if(NANISO==2):PEQIN[72][I]=0.00if(EN<=EIN[72]):passelse:flag676=1if(EN>XV130[NV130]):passelse:flag670=1forJinrange(2,NV130+1):if(EN<=XV130[J]):flag670=0breakif(flag670):J=NV130# 670 A=(YV130[J]-YV130[J-1])/(XV130[J]-XV130[J-1])B=(XV130[J-1]*YV130[J]-XV130[J]*YV130[J-1])/(XV130[J-1]-XV130[J])QIN[72][I]=(A*EN+B)*1.e-16flag676=0if(flag676):QIN[72][I]=YV130[NV130]*XV130[NV130]/EN*1.e-16# 676 if(EN<(3.0*EIN[72])):passelse:if(NANISO>0):PEQIN[72][I]=PEQEL[2][int(I-IOFFN[72])]# # POLYAD 4 # 700 CONTINUE QIN[73][I]=0.0PEQIN[73][I]=0.50if(NANISO==2):PEQIN[73][I]=0.00if(EN<=EIN[73]):passelse:flag726=1if(EN>XVPD4[NPD4]):passelse:flag720=1forJinrange(2,NPD4+1):if(EN<=XVPD4[J]):flag720=0breakif(flag720):J=NPD4# 720 A=(YVPD4[J]-YVPD4[J-1])/(XVPD4[J]-XVPD4[J-1])B=(XVPD4[J-1]*YVPD4[J]-XVPD4[J]*YVPD4[J-1])/(XVPD4[J-1]-XVPD4[J])QIN[73][I]=(A*EN+B)*1.e-16flag726=0if(flag726):QIN[73][I]=YVPD4[NPD4]*XVPD4[NPD4]/EN*1.e-16# 726 if(EN<(3.0*EIN[73])):passelse:if(NANISO>0):PEQIN[73][I]=PEQEL[2][int(I-IOFFN[73])]## PLOYAD 5 # 750 CONTINUE QIN[74][I]=0.0PEQIN[74][I]=0.50if(NANISO==2):PEQIN[74][I]=0.00if(EN<=EIN[74]):passelse:flag770=1flag779=1if(EN>XVPD5[NPD5]):passelse:forJinrange(2,NPD5+1):if(EN<=XVPD5[J]):flag770=0break# 760 CONTINUE if(flag770):J=NPD5# 770 A=(YVPD5[J]-YVPD5[J-1])/(XVPD5[J]-XVPD5[J-1])B=(XVPD5[J-1]*YVPD5[J]-XVPD5[J]*YVPD5[J-1])/(XVPD5[J-1]-XVPD5[J])QIN[74][I]=(A*EN+B)*1.e-16flag799=0if(flag779):QIN[74][I]=YVPD5[NPD5]*XVPD5[NPD5]/EN*1.e-16# 799 if(EN<(3.0*EIN[74])):passelse:if(NANISO>0):PEQIN[74][I]=PEQEL[2][int(I-IOFFN[74])]# # POLYAD 6 # 800 CONTINUE QIN[75][I]=0.0PEQIN[75][I]=0.50if(NANISO==2):PEQIN[75][I]=0.00if(EN<=EIN[75]):passelse:flag826=1if(EN>XVPD6[NPD6]):passelse:flag820=1forJinrange(2,NPD6+1):if(EN<=XVPD6[J]):flag820=0break# 810 CONTINUE if(flag820):J=NPD6# 820 A=(YVPD6[J]-YVPD6[J-1])/(XVPD6[J]-XVPD6[J-1])B=(XVPD6[J-1]*YVPD6[J]-XVPD6[J]*YVPD6[J-1])/(XVPD6[J-1]-XVPD6[J])QIN[75][I]=(A*EN+B)*1.e-16flag826=0if(flag826):QIN[75][I]=YVPD6[NPD6]*XVPD6[NPD6]/EN*1.e-16# 826 if(EN<(3.0*EIN[75])):passelse:if(NANISO>0):PEQIN[75][I]=PEQEL[2][int(I-IOFFN[75])]# # POLYAD 7 # 850 CONTINUE QIN[76][I]=0.0PEQIN[76][I]=0.50if(NANISO==2):PEQIN[76][I]=0.00if(EN<=EIN[76]):passelse:flag876=1if(EN>XVPD7[NPD7]):passelse:flag870=1forJinrange(2,NPD7+1):if(EN<=XVPD7[J]):flag870=0break# 860 CONTINUE if(flag870):J=NPD7# 870 A=(YVPD7[J]-YVPD7[J-1])/(XVPD7[J]-XVPD7[J-1])B=(XVPD7[J-1]*YVPD7[J]-XVPD7[J]*YVPD7[J-1])/(XVPD7[J-1]-XVPD7[J])QIN[76][I]=(A*EN+B)*1.e-16flag876=0if(flag876):QIN[76][I]=YVPD7[NPD7]*XVPD7[NPD7]/EN*1.e-16# 876 if(EN<(3.0*EIN[76])):passelse:if(NANISO>0):PEQIN[76][I]=PEQEL[2][int(I-IOFFN[76])]# # POLYAD 8 # 900 CONTINUE QIN[77][I]=0.0PEQIN[77][I]=0.50if(NANISO==2):PEQIN[77][I]=0.00if(EN<=EIN[77]):passelse:flag926=1if(EN>XVPD8[NPD8]):passelse:flag920=1forJinrange(2,NPD8+1):if(EN<=XVPD8[J]):flag920=0breakif(flag920):J=NPD8# 920 A=(YVPD8[J]-YVPD8[J-1])/(XVPD8[J]-XVPD8[J-1])B=(XVPD8[J-1]*YVPD8[J]-XVPD8[J]*YVPD8[J-1])/(XVPD8[J-1]-XVPD8[J])QIN[77][I]=(A*EN+B)*1.e-16flag926=0if(flag926):QIN[77][I]=YVPD8[NPD8]*XVPD8[NPD8]/EN*1.e-16# 926 if(EN<(3.0*EIN[77])):passelse:if(NANISO>0):PEQIN[77][I]=PEQEL[2][int(I-IOFFN[77])]# # POLYAD 9 # 950 CONTINUE QIN[78][I]=0.0PEQIN[78][I]=0.50if(NANISO==2):PEQIN[78][I]=0.00if(EN<=EIN[78]):passelse:flag976=1if(EN>XVPD9[NPD9]):passelse:flag970=1forJinrange(2,NPD9+1):if(EN<=XVPD9[J]):flag970=0breakif(flag970):J=NPD9# 970 A=(YVPD9[J]-YVPD9[J-1])/(XVPD9[J]-XVPD9[J-1])B=(XVPD9[J-1]*YVPD9[J]-XVPD9[J]*YVPD9[J-1])/(XVPD9[J-1]-XVPD9[J])QIN[78][I]=(A*EN+B)*1.e-16flag976=0if(flag976):QIN[78][I]=YVPD9[NPD9]*XVPD9[NPD9]/EN*1.e-16# 976 if(EN<(3.0*EIN[78])):passelse:if(NANISO>0):PEQIN[78][I]=PEQEL[2][int(I-IOFFN[78])]# # SUM OF HIGHER POLYADS # 1000 CONTINUE QIN[79][I]=0.0PEQIN[79][I]=0.50if(NANISO==2):PEQIN[79][I]=0.00if(EN<=EIN[79]):passelse:flag1006=1if(EN>XVPDH[NPDH]):passelse:flag1002=1forJinrange(2,NPDH+1):if(EN<=XVPDH[J]):flag1002=0breakif(flag1002):J=NPDH# 1002 A=(YVPDH[J]-YVPDH[J-1])/(XVPDH[J]-XVPDH[J-1])B=(XVPDH[J-1]*YVPDH[J]-XVPDH[J]*YVPDH[J-1])/(XVPDH[J-1]-XVPDH[J])QIN[79][I]=(A*EN+B)*1.e-16flag1006=0if(flag1006):QIN[79][I]=YVPDH[NPDH]*XVPDH[NPDH]/EN*1.e-16# 1006 if(EN<(3.0*EIN[79])):passelse:if(NANISO>0):PEQIN[79][I]=PEQEL[2][int(I-IOFFN[79])]# 1DELu 6.50ev # 1080 CONTINUE QIN[80][I]=0.0PEQIN[80][I]=0.5if(NANISO==2):PEQIN[80][I]=0.0if(EN<=EIN[80]):passelse:QIN[80][I]=.0000698/(EIN[80]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[80]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[80]+E[3])*1.0192if(QIN[80][I]<0.0):QIN[80][I]=0.0if(EN<=(2.0*EIN[80])):passelse:if(NANISO>0):PEQIN[80][I]=PEQEL[2][int(I-IOFFN[80])]# 1DELu 6.75 ev # 1081 CONTINUE QIN[81][I]=0.0PEQIN[81][I]=0.5if(NANISO==2):PEQIN[81][I]=0.0if(EN<=EIN[81]):passelse:QIN[81][I]=.0000630/(EIN[81]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[81]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[81]+E[3])*1.0185if(QIN[81][I]<0.0):QIN[81][I]=0.0if(EN<=(2.0*EIN[81])):passelse:if(NANISO>0):PEQIN[81][I]=PEQEL[2][int(I-IOFFN[81])]# 1DELu 7.00ev # 1082 CONTINUE QIN[82][I]=0.0PEQIN[82][I]=0.5if(NANISO==2):PEQIN[82][I]=0.0if(EN<=EIN[82]):passelse:QIN[82][I]=.0000758/(EIN[82]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[82]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[82]+E[3])*1.0179if(QIN[82][I]<0.0):QIN[82][I]=0.0if(EN<=(2.0*EIN[82])):passelse:if(NANISO>0):PEQIN[82][I]=PEQEL[2][int(I-IOFFN[82])]# 1DELu 7.25ev# 1083 CONTINUE QIN[83][I]=0.0PEQIN[83][I]=0.5if(NANISO==2):PEQIN[83][I]=0.0if(EN<=EIN[83]):passelse:QIN[83][I]=.0001638/(EIN[83]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[83]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[83]+E[3])*1.0172if(QIN[83][I]<0.0):QIN[83][I]=0.0if(EN<=(2.0*EIN[83])):passelse:if(NANISO>0):PEQIN[83][I]=PEQEL[2][int(I-IOFFN[83])]# 1DELu 7.5ev # 1084 CONTINUE QIN[84][I]=0.0PEQIN[84][I]=0.5if(NANISO==2):PEQIN[84][I]=0.0if(EN<=EIN[84]):passelse:QIN[84][I]=.0003356/(EIN[84]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[84]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[84]+E[3])*1.0167if(QIN[84][I]<0.0):QIN[84][I]=0.0if(EN<=(2.0*EIN[84])):passelse:if(NANISO>0):PEQIN[84][I]=PEQEL[2][int(I-IOFFN[84])]# 1DELu 7.75ev # 1085 CONTINUE QIN[85][I]=0.0PEQIN[85][I]=0.5if(NANISO==2):PEQIN[85][I]=0.0if(EN<=EIN[85]):passelse:QIN[85][I]=.0007378/(EIN[85]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[85]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[85]+E[3])*1.0161if(QIN[85][I]<0.0):QIN[85][I]=0.0if(EN<=(2.0*EIN[85])):passelse:if(NANISO>0):PEQIN[85][I]=PEQEL[2][int(I-IOFFN[85])]# 1DELu 8.0ev # 1086 CONTINUE QIN[86][I]=0.0PEQIN[86][I]=0.5if(NANISO==2):PEQIN[86][I]=0.0if(EN<=EIN[86]):passelse:QIN[86][I]=.001145/(EIN[86]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[86]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[86]+E[3])*1.0156if(QIN[86][I]<0.0):QIN[86][I]=0.0if(EN<=(2.0*EIN[86])):passelse:if(NANISO>0):PEQIN[86][I]=PEQEL[2][int(I-IOFFN[86])]# 1DELu 8.25ev # 1087 CONTINUE QIN[87][I]=0.0PEQIN[87][I]=0.5if(NANISO==2):PEQIN[87][I]=0.0if(EN<=EIN[87]):passelse:QIN[87][I]=.001409/(EIN[87]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[87]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[87]+E[3])*1.0152if(QIN[85][I]<0.0):QIN[87][I]=0.0if(EN<=(2.0*EIN[87])):passelse:if(NANISO>0):PEQIN[87][I]=PEQEL[2][int(I-IOFFN[87])]# 1DELu 8.50ev # 1088 CONTINUE QIN[88][I]=0.0PEQIN[88][I]=0.5if(NANISO==2):PEQIN[88][I]=0.0if(EN<=EIN[88]):passelse:QIN[88][I]=.001481/(EIN[88]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[88]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[88]+E[3])*1.0147if(QIN[88][I]<0.0):QIN[88][I]=0.0if(EN<=(2.0*EIN[88])):passelse:if(NANISO>0):PEQIN[88][I]=PEQEL[2][int(I-IOFFN[88])]# 1DELu 8.75ev # 1089 CONTINUE QIN[89][I]=0.0PEQIN[89][I]=0.5if(NANISO==2):PEQIN[89][I]=0.0if(EN<=EIN[89]):passelse:QIN[89][I]=.000859/(EIN[89]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[89]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[89]+E[3])*1.0143if(QIN[89][I]<0.0):QIN[89][I]=0.0if(EN<=(2.0*EIN[89])):passelse:if(NANISO>0):PEQIN[89][I]=PEQEL[2][int(I-IOFFN[89])]# TRIPLET# 1090 CONTINUE QIN[90][I]=0.0PEQIN[90][I]=0.5if(NANISO==2):PEQIN[90][I]=0.0if(EN<=EIN[90]):passelse:if(EN>XTRP1[NTRP1]):passelse:forJinrange(2,NTRP1+1):if(EN<=(XTRP1[J])):flag2082=0breakelse:J=NTRP1# 2082 A=(YTRP1[J]-YTRP1[J-1])/(XTRP1[J]-XTRP1[J-1])B=(XTRP1[J-1]*YTRP1[J]-XTRP1[J]*YTRP1[J-1])/(XTRP1[J-1]-XTRP1[J])QIN[90][I]=(A*EN+B)*1.e-16flag2084=0# SCALE BY 1/E**2 ABOVE XTRP1[NTRP1] EVif(flag2084):QIN[90][I]=YTRP1[NTRP1]*(XTRP1[NTRP1]/EN)**2*1.e-16# 2084 if(EN<=(2.0*EIN[90])):passelse:if(NANISO>0):PEQIN[90][I]=PEQEL[2][int(I-IOFFN[90])]# 1PIg 8.90ev # 1091 CONTINUE QIN[91][I]=0.0PEQIN[91][I]=0.5if(NANISO==2):PEQIN[91][I]=0.0if(EN<=EIN[91]):passelse:QIN[91][I]=.001687/(EIN[91]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[91]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[91]+E[3])*1.0140if(QIN[91][I]<0.0):QIN[91][I]=0.0if(EN<=(2.0*EIN[91])):passelse:if(NANISO>0):PEQIN[91][I]=PEQEL[2][int(I-IOFFN[91])]# 1PIg 9.15ev # 1092 CONTINUE QIN[92][I]=0.0PEQIN[92][I]=0.5if(NANISO==2):PEQIN[92][I]=0.0if(EN<=EIN[92]):passelse:QIN[92][I]=.002115/(EIN[92]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[92]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[92]+E[3])*1.0137if(QIN[92][I]<0.0):QIN[92][I]=0.0if(EN<=(2.0*EIN[92])):passelse:if(NANISO>0):PEQIN[92][I]=PEQEL[2][int(I-IOFFN[92])]# 1PIg 9.4ev # 1093 CONTINUE QIN[93][I]=0.0PEQIN[93][I]=0.5if(NANISO==2):PEQIN[93][I]=0.0if(EN<=EIN[93]):passelse:QIN[93][I]=.001920/(EIN[93]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[93]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[93]+E[3])*1.0133if(QIN[93][I]<0.0):QIN[93][I]=0.0if(EN<=(2.0*EIN[93])):passelse:if(NANISO>0):PEQIN[93][I]=PEQEL[2][int(I-IOFFN[93])]# 1PIg 9.65ev # 1094 CONTINUE QIN[94][I]=0.0PEQIN[94][I]=0.5if(NANISO==2):PEQIN[94][I]=0.0if(EN<=EIN[94]):passelse:QIN[94][I]=.001180/(EIN[94]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[94]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[94]+E[3])*1.0130if(QIN[94][I]<0.0):QIN[94][I]=0.0if(EN<=(2.0*EIN[94])):passelse:if(NANISO>0):PEQIN[94][I]=PEQEL[2][int(I-IOFFN[94])]# 1PIg 9.9ev # 1095 CONTINUE QIN[95][I]=0.0PEQIN[95][I]=0.5if(NANISO==2):PEQIN[95][I]=0.0if(EN<=EIN[95]):passelse:QIN[95][I]=.000683/(EIN[95]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[95]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[95]+E[3])*1.0126if(QIN[95][I]<0.0):QIN[95][I]=0.0if(EN<=(2.0*EIN[95])):passelse:if(NANISO>0):PEQIN[95][I]=PEQEL[2][int(I-IOFFN[95])]# 1PIg 10.15ev # 1096 CONTINUE QIN[96][I]=0.0PEQIN[96][I]=0.5if(NANISO==2):PEQIN[96][I]=0.0if(EN<=EIN[96]):passelse:QIN[96][I]=.000456/(EIN[96]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[96]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[96]+E[3])*1.0123if(QIN[96][I]<0.0):QIN[96][I]=0.0if(EN<=(2.0*EIN[96])):passelse:if(NANISO>0):PEQIN[96][I]=PEQEL[2][int(I-IOFFN[96])]# RA:AU 10.7ev # 1097 CONTINUE QIN[97][I]=0.0PEQIN[97][I]=0.5if(NANISO==2):PEQIN[97][I]=0.0if(EN<=EIN[97]):passelse:QIN[97][I]=.004361/(EIN[97]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[97]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[97]+E[3])if(QIN[97][I]<0.0):QIN[97][I]=0.0if(EN<=(2.0*EIN[97])):passelse:if(NANISO>0):PEQIN[97][I]=PEQEL[2][int(I-IOFFN[97])]# 1SIGu+' 1SIGu+ C' 11.048ev # 1098 CONTINUE QIN[98][I]=0.0PEQIN[98][I]=0.5if(NANISO==2):PEQIN[98][I]=0.0if(EN<=EIN[98]):passelse:QIN[98][I]=.1718/(EIN[98]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[98]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[98]+E[3])if(QIN[98][I]<0.0):QIN[98][I]=0.0if(EN<=(2.0*EIN[98])):passelse:if(NANISO>0):PEQIN[98][I]=PEQEL[2][int(I-IOFFN[98])]# TRIPLET # 1099 CONTINUE QIN[99][I]=0.0PEQIN[99][I]=0.5if(NANISO==2):PEQIN[99][I]=0.0if(EN<=EIN[99]):passelse:if(EN>XTRP2[NTRP2]):passelse:forJinrange(2,NTRP2+1):if(EN<=(XTRP2[J])):flag2092=0breakif(flag2092):J=NTRP2# 2092 A=(YTRP2[J]-YTRP2[J-1])/(XTRP2[J]-XTRP2[J-1])B=(XTRP2[J-1]*YTRP2[J]-XTRP2[J]*YTRP2[J-1])/(XTRP2[J-1]-XTRP2[J])QIN[99][I]=(A*EN+B)*1.e-16flag2094=0# SCALE BY 1/E**2 ABOVE XTRP2[NTRP2] EVif(flag2094):QIN[99][I]=YTRP2[NTRP2]*(XTRP2[NTRP2]/EN)**2*1.e-16# 2094 if(EN<=(2.0*EIN[99])):passelse:if(NANISO>0):PEQIN[99][I]=PEQEL[2][int(I-IOFFN[99])]# 1PIu 11.385ev # 1100 CONTINUE QIN[100][I]=0.0PEQIN[100][I]=0.5if(NANISO==2):PEQIN[100][I]=0.0if(EN<=EIN[100]):passelse:QIN[100][I]=.06242/(EIN[100]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[100]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[100]+E[3])if(QIN[100][I]<0.0):QIN[100][I]=0.0if(EN<=(2.0*EIN[100])):passelse:if(NANISO>0):PEQIN[100][I]=PEQEL[2][(I-IOFFN[100])]# RYDBERG 11.543ev # 1101 CONTINUE QIN[101][I]=0.0PEQIN[101][I]=0.5if(NANISO==2):PEQIN[101][I]=0.0if(EN<=EIN[101]):passelse:QIN[101][I]=.01852/(EIN[101]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[101]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[101]+E[3])if(QIN[101][I]<0.0):QIN[101][I]=0.0if(EN<=(2.0*EIN[101])):passelse:if(NANISO>0):PEQIN[101][I]=PEQEL[2][(I-IOFFN[101])]# RYDBERG 11.608ev # 1102 CONTINUE QIN[102][I]=0.0PEQIN[102][I]=0.5if(NANISO==2):PEQIN[102][I]=0.0if(EN<=EIN[102]):passelse:QIN[102][I]=.01125/(EIN[102]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[102]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[102]+E[3])if(QIN[102][I]<0.0):QIN[102][I]=0.0if(EN<=(2.0*EIN[102])):passelse:if(NANISO>0):PEQIN[102][I]=PEQEL[2][(I-IOFFN[102])]# RYDBERG 11.683ev # 1103 CONTINUE QIN[103][I]=0.0PEQIN[103][I]=0.5if(NANISO==2):PEQIN[103][I]=0.0if(EN<=EIN[103]):passelse:QIN[103][I]=.01535/(EIN[103]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[103]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[103]+E[3])if(QIN[103][I]<0.0):QIN[103][I]=0.0if(EN<=(2.0*EIN[103])):passelse:if(NANISO>0):PEQIN[103][I]=PEQEL[2][(I-IOFFN[103])]# RYDBERG 11.758ev # 1104 CONTINUE QIN[104][I]=0.0PEQIN[104][I]=0.5if(NANISO==2):PEQIN[104][I]=0.0if(EN<=EIN[104]):passelse:QIN[104][I]=.01009/(EIN[104]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[104]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[104]+E[3])if(QIN[104][I]<0.0):QIN[104][I]=0.0if(EN<=(2.0*EIN[104])):passelse:if(NANISO>0):PEQIN[104][I]=PEQEL[2][(I-IOFFN[104])]# RYDBERG 11.826ev # 1105 CONTINUE QIN[105][I]=0.0PEQIN[105][I]=0.5if(NANISO==2):PEQIN[105][I]=0.0if(EN<=EIN[105]):passelse:QIN[105][I]=.01940/(EIN[105]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[105]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[105]+E[3])if(QIN[105][I]<0.0):QIN[105][I]=0.0if(EN<=(2.0*EIN[105])):passelse:if(NANISO>0):PEQIN[105][I]=PEQEL[2][(I-IOFFN[105])]# RYDBERG 11.971ev # 1106 CONTINUE QIN[106][I]=0.0PEQIN[106][I]=0.5if(NANISO==2):PEQIN[106][I]=0.0if(EN<=EIN[106]):passelse:QIN[106][I]=.03817/(EIN[106]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[106]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[106]+E[3])if(QIN[106][I]<0.0):QIN[106][I]=0.0if(EN<=(2.0*EIN[106])):passelse:if(NANISO>0):PEQIN[106][I]=PEQEL[2][(I-IOFFN[106])]# RYDBERG 12.142ev # 1107 CONTINUE QIN[107][I]=0.0PEQIN[107][I]=0.5if(NANISO==2):PEQIN[107][I]=0.0if(EN<=EIN[107]):passelse:QIN[107][I]=.05814/(EIN[107]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[107]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[107]+E[3])if(QIN[107][I]<0.0):QIN[107][I]=0.0if(EN<=(2.0*EIN[107])):passelse:if(NANISO>0):PEQIN[107][I]=PEQEL[2][(I-IOFFN[107])]# RYDBERG 12.301ev # 1108 CONTINUE QIN[108][I]=0.0PEQIN[108][I]=0.5if(NANISO==2):PEQIN[108][I]=0.0if(EN<=EIN[108]):passelse:QIN[108][I]=.04769/(EIN[108]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[108]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[108]+E[3])if(QIN[108][I]<0.0):QIN[108][I]=0.0if(EN<=(2.0*EIN[108])):passelse:if(NANISO>0):PEQIN[108][I]=PEQEL[2][(I-IOFFN[108])]# RYDBERG 12.469ev # 1109 CONTINUE QIN[109][I]=0.0PEQIN[109][I]=0.5if(NANISO==2):PEQIN[109][I]=0.0if(EN<=EIN[109]):passelse:QIN[109][I]=.09315/(EIN[109]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[109]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[109]+E[3])if(QIN[109][I]<0.0):QIN[109][I]=0.0if(EN<=(2.0*EIN[109])):passelse:if(NANISO>0):PEQIN[109][I]=PEQEL[2][(I-IOFFN[109])]# RYDBERG 12.627ev # 1110 CONTINUE QIN[110][I]=0.0PEQIN[110][I]=0.5if(NANISO==2):PEQIN[110][I]=0.0if(EN<=EIN[110]):passelse:QIN[110][I]=.06305/(EIN[110]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[110]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[110]+E[3])if(QIN[110][I]<0.0):QIN[110][I]=0.0if(EN<=(2.0*EIN[110])):passelse:if(NANISO>0):PEQIN[110][I]=PEQEL[2][(I-IOFFN[110])]# CONTINUUM 12.75ev # 1111 CONTINUE QIN[111][I]=0.0PEQIN[111][I]=0.5if(NANISO==2):PEQIN[111][I]=0.0if(EN<=EIN[111]):passelse:QIN[111][I]=.02477/(EIN[111]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[111]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[111]+E[3])if(QIN[111][I]<0.0):QIN[111][I]=0.0if(EN<=(2.0*EIN[111])):passelse:if(NANISO>0):PEQIN[111][I]=PEQEL[2][(I-IOFFN[111])]# RYDBERG 12.901ev # 1112 CONTINUE QIN[112][I]=0.0PEQIN[112][I]=0.5if(NANISO==2):PEQIN[112][I]=0.0if(EN<=EIN[112]):passelse:QIN[112][I]=.06231/(EIN[112]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[112]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[112]+E[3])if(QIN[112][I]<0.0):QIN[112][I]=0.0if(EN<=(2.0*EIN[112])):passelse:if(NANISO>0):PEQIN[112][I]=PEQEL[2][(I-IOFFN[112])]# SUM RYDBERGS 13.01ev # 1113 CONTINUE QIN[113][I]=0.0PEQIN[113][I]=0.5if(NANISO==2):PEQIN[113][I]=0.0if(EN<=EIN[113]):passelse:QIN[113][I]=.06696/(EIN[113]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[113]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[113]+E[3])if(QIN[113][I]<0.0):QIN[113][I]=0.0if(EN<=(2.0*EIN[113])):passelse:if(NANISO>0):PEQIN[113][I]=PEQEL[2][(I-IOFFN[113])]# SUM RYDBERGS 13.15ev # 1114 CONTINUE QIN[114][I]=0.0PEQIN[114][I]=0.5if(NANISO==2):PEQIN[114][I]=0.0if(EN<=EIN[114]):passelse:QIN[114][I]=.09451/(EIN[114]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[114]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[114]+E[3])if(QIN[114][I]<0.0):QIN[114][I]=0.0if(EN<=(2.0*EIN[114])):passelse:if(NANISO>0):PEQIN[114][I]=PEQEL[2][(I-IOFFN[114])]# SUM RYDBERGS 13.28ev # 1115 CONTINUE QIN[115][I]=0.0PEQIN[115][I]=0.5if(NANISO==2):PEQIN[115][I]=0.0if(EN<=EIN[115]):passelse:QIN[115][I]=.04986/(EIN[115]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[115]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[115]+E[3])if(QIN[115][I]<0.0):QIN[115][I]=0.0if(EN<=(2.0*EIN[115])):passelse:if(NANISO>0):PEQIN[115][I]=PEQEL[2][(I-IOFFN[115])]# SUM RYDBERGS 13.39ev # 1116 CONTINUE QIN[116][I]=0.0PEQIN[116][I]=0.5if(NANISO==2):PEQIN[116][I]=0.0if(EN<=EIN[116]):passelse:QIN[116][I]=.09029/(EIN[116]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[116]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[116]+E[3])if(QIN[116][I]<0.0):QIN[116][I]=0.0if(EN<=(2.0*EIN[116])):passelse:if(NANISO>0):PEQIN[116][I]=PEQEL[2][(I-IOFFN[116])]# SUM RYDBERGS 13.51ev # 1117 CONTINUE QIN[117][I]=0.0PEQIN[117][I]=0.5if(NANISO==2):PEQIN[117][I]=0.0if(EN<=EIN[117]):passelse:QIN[117][I]=.07431/(EIN[117]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[117]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[117]+E[3])if(QIN[117][I]<0.0):QIN[117][I]=0.0if(EN<=(2.0*EIN[117])):passelse:if(NANISO>0):PEQIN[117][I]=PEQEL[2][(I-IOFFN[117])]# SUM RYDBERGS 13.68ev # 1118 CONTINUE QIN[118][I]=0.0PEQIN[118][I]=0.5if(NANISO==2):PEQIN[118][I]=0.0if(EN<=EIN[118]):passelse:QIN[118][I]=.15625/(EIN[118]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[118]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[118]+E[3])if(QIN[118][I]<0.0):QIN[118][I]=0.0if(EN<=(2.0*EIN[118])):passelse:if(NANISO>0):PEQIN[118][I]=PEQEL[2][(I-IOFFN[118])]# NEUTRAL DISSOCIATION 13.78ev # 1119 CONTINUE QIN[119][I]=0.0PEQIN[119][I]=0.5if(NANISO==2):PEQIN[119][I]=0.0if(EN<=EIN[119]):passelse:QIN[119][I]=.08084/(EIN[119]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[119]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[119]+E[3])*1.0075if(QIN[119][I]<0.0):QIN[119][I]=0.0if(EN<=(2.0*EIN[119])):passelse:if(NANISO>0):PEQIN[119][I]=PEQEL[2][(I-IOFFN[119])]# NEUTRAL DISSOCIATION 14.0ev # 1120 CONTINUE QIN[120][I]=0.0PEQIN[120][I]=0.5if(NANISO==2):PEQIN[120][I]=0.0if(EN<=EIN[120]):passelse:QIN[120][I]=.02662/(EIN[120]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[120]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[120]+E[3])*1.0089if(QIN[120][I]<0.0):QIN[120][I]=0.0if(EN<=(2.0*EIN[120])):passelse:if(NANISO>0):PEQIN[120][I]=PEQEL[2][(I-IOFFN[120])]# NEUTRAL DISSOCIATION 14.25ev # 1121 CONTINUE QIN[121][I]=0.0PEQIN[121][I]=0.5if(NANISO==2):PEQIN[121][I]=0.0if(EN<=EIN[121]):passelse:QIN[121][I]=.01062/(EIN[121]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[121]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[121]+E[3])*1.0088if(QIN[121][I]<0.0):QIN[121][I]=0.0if(EN<=(2.0*EIN[121])):passelse:if(NANISO>0):PEQIN[121][I]=PEQEL[2][(I-IOFFN[121])]# NEUTRAL DISSOCIATION 14.5ev # 1122 CONTINUE QIN[122][I]=0.0PEQIN[122][I]=0.5# print(QIN.shape)if(NANISO==2):PEQIN[122][I]=0.0if(EN<=EIN[122]):passelse:QIN[122][I]=.00644/(EIN[122]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[122]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[122]+E[3])*1.0086if(QIN[122][I]<0.0):QIN[122][I]=0.0if(EN<=(2.0*EIN[122])):passelse:if(NANISO>0):PEQIN[122][I]=PEQEL[2][(I-IOFFN[122])]# NEUTRAL DISSOCIATION 14.75ev # 1123 CONTINUE QIN[123][I]=0.0PEQIN[123][I]=0.5if(NANISO==2):PEQIN[123][I]=0.0if(EN<=EIN[123]):passelse:QIN[123][I]=.00485/(EIN[123]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[123]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[123]+E[3])*1.0085if(QIN[123][I]<0.0):QIN[123][I]=0.0if(EN<=(2.0*EIN[123])):passelse:if(NANISO>0):PEQIN[123][I]=PEQEL[2][I-IOFFN[123]]# NEUTRAL DISSOCIATION 15.0ev # 1124 CONTINUE QIN[124][I]=0.0PEQIN[124][I]=0.5if(NANISO==2):PEQIN[124][I]=0.0if(EN<=EIN[124]):passelse:QIN[124][I]=.00880/(EIN[124]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[124]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[124]+E[3])*1.0083if(QIN[124][I]<0.0):QIN[124][I]=0.0if(EN<=(2.0*EIN[124])):passelse:if(NANISO>0):PEQIN[124][I]=PEQEL[2][(I-IOFFN[124])]# NEUTRAL DISSOCIATION 15.25ev # 1125 CONTINUE QIN[125][I]=0.0PEQIN[125][I]=0.5if(NANISO==2):PEQIN[125][I]=0.0if(EN<=EIN[125]):passelse:QIN[125][I]=.01522/(EIN[125]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[125]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[125]+E[3])*1.0082if(QIN[125][I]<0.0):QIN[125][I]=0.0if(EN<=(2.0*EIN[125])):passelse:if(NANISO>0):PEQIN[125][I]=PEQEL[2][(I-IOFFN[125])]# NEUTRAL DISSOCIATION 15.5ev # 1126 CONTINUE QIN[126][I]=0.0PEQIN[126][I]=0.5if(NANISO==2):PEQIN[126][I]=0.0if(EN<=EIN[126]):passelse:QIN[126][I]=.01683/(EIN[126]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[126]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[126]+E[3])*1.0081if(QIN[126][I]<0.0):QIN[126][I]=0.0if(EN<=(2.0*EIN[126])):passelse:if(NANISO>0):PEQIN[126][I]=PEQEL[2][(I-IOFFN[126])]# NEUTRAL DISSOCIATION 15.75ev # 1127 CONTINUE QIN[127][I]=0.0PEQIN[127][I]=0.5if(NANISO==2):PEQIN[127][I]=0.0if(EN<=EIN[127]):passelse:QIN[127][I]=.02135/(EIN[127]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[127]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[127]+E[3])*1.0079if(QIN[127][I]<0.0):QIN[127][I]=0.0if(EN<=(2.0*EIN[127])):passelse:if(NANISO>0):PEQIN[127][I]=PEQEL[2][(I-IOFFN[127])]# NEUTRAL DISSOCIATION 16.0ev # 1128 CONTINUE QIN[128][I]=0.0PEQIN[128][I]=0.5if(NANISO==2):PEQIN[128][I]=0.0if(EN<=EIN[128]):passelse:QIN[128][I]=.03232/(EIN[128]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[128]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[128]+E[3])*1.0078if(QIN[128][I]<0.0):QIN[128][I]=0.0if(EN<=(2.0*EIN[128])):passelse:if(NANISO>0):PEQIN[128][I]=PEQEL[2][(I-IOFFN[128])]# NEUTRAL DISSOCIATION 16.25ev # 1129 CONTINUE QIN[129][I]=0.0PEQIN[129][I]=0.5if(NANISO==2):PEQIN[129][I]=0.0if(EN<=EIN[129]):passelse:QIN[129][I]=.02534/(EIN[129]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[129]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[129]+E[3])*1.0077if(QIN[129][I]<0.0):QIN[129][I]=0.0if(EN<=(2.0*EIN[129])):passelse:if(NANISO>0):PEQIN[129][I]=PEQEL[2][(I-IOFFN[129])]# NEUTRAL DISSOCIATION 16.5ev # 1130 CONTINUE QIN[130][I]=0.0PEQIN[130][I]=0.5if(NANISO==2):PEQIN[130][I]=0.0if(EN<=EIN[130]):passelse:QIN[130][I]=.01433/(EIN[130]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[130]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[130]+E[3])*1.0076if(QIN[130][I]<0.0):QIN[130][I]=0.0if(EN<=(2.0*EIN[130])):passelse:if(NANISO>0):PEQIN[130][I]=PEQEL[2][(I-IOFFN[130])]# NEUTRAL DISSOCIATION 16.75ev # 1131 CONTINUE QIN[131][I]=0.0PEQIN[131][I]=0.5if(NANISO==2):PEQIN[131][I]=0.0if(EN<=EIN[131]):passelse:QIN[131][I]=.00965/(EIN[131]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[131]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[131]+E[3])*1.0075if(QIN[131][I]<0.0):QIN[131][I]=0.0if(EN<=(2.0*EIN[131])):passelse:if(NANISO>0):PEQIN[131][I]=PEQEL[2][(I-IOFFN[131])]# NEUTRAL DISSOCIATION 17.0ev # 1132 CONTINUE QIN[132][I]=0.0PEQIN[132][I]=0.5if(NANISO==2):PEQIN[132][I]=0.0if(EN<=EIN[132]):passelse:QIN[132][I]=.01481/(EIN[132]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[132]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[132]+E[3])*1.0074if(QIN[132][I]<0.0):QIN[132][I]=0.0if(EN<=(2.0*EIN[132])):passelse:if(NANISO>0):PEQIN[132][I]=PEQEL[2][(I-IOFFN[132])]# NEUTRAL DISSOCIATION 17.25ev # 1133 CONTINUE QIN[133][I]=0.0PEQIN[133][I]=0.5if(NANISO==2):PEQIN[133][I]=0.0if(EN<=EIN[133]):passelse:QIN[133][I]=.01148/(EIN[133]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[133]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[133]+E[3])*1.0072if(QIN[133][I]<0.0):QIN[133][I]=0.0if(EN<=(2.0*EIN[133])):passelse:if(NANISO>0):PEQIN[133][I]=PEQEL[2][(I-IOFFN[133])]# NEUTRAL DISSOCIATION 17.5ev # 1134 CONTINUE QIN[134][I]=0.0PEQIN[134][I]=0.5if(NANISO==2):PEQIN[134][I]=0.0if(EN<=EIN[134]):passelse:QIN[134][I]=.00885/(EIN[134]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[134]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[134]+E[3])*1.0071if(QIN[134][I]<0.0):QIN[134][I]=0.0if(EN<=(2.0*EIN[134])):passelse:if(NANISO>0):PEQIN[134][I]=PEQEL[2][(I-IOFFN[134])]# NEUTRAL DISSOCIATION 17.75ev # 1135 CONTINUE QIN[135][I]=0.0PEQIN[135][I]=0.5if(NANISO==2):PEQIN[135][I]=0.0if(EN<=EIN[135]):passelse:QIN[135][I]=.00931/(EIN[135]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[135]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[135]+E[3])*1.0070if(QIN[135][I]<0.0):QIN[135][I]=0.0if(EN<=(2.0*EIN[135])):passelse:if(NANISO>0):PEQIN[135][I]=PEQEL[2][(I-IOFFN[135])]# NEUTRAL DISSOCIATION 18.00ev # 1136 CONTINUE QIN[136][I]=0.0PEQIN[136][I]=0.5if(NANISO==2):PEQIN[136][I]=0.0if(EN<=EIN[136]):passelse:QIN[136][I]=.00666/(EIN[136]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[136]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[136]+E[3])*1.0069if(QIN[136][I]<0.0):QIN[136][I]=0.0if(EN<=(2.0*EIN[136])):passelse:if(NANISO>0):PEQIN[136][I]=PEQEL[2][(I-IOFFN[136])]# NEUTRAL DISSOCIATION 18.25ev # 1137 CONTINUE QIN[137][I]=0.0PEQIN[137][I]=0.5if(NANISO==2):PEQIN[137][I]=0.0if(EN<=EIN[137]):passelse:QIN[137][I]=.00443/(EIN[137]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[137]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[137]+E[3])*1.0068if(QIN[137][I]<0.0):QIN[137][I]=0.0if(EN<=(2.0*EIN[137])):passelse:if(NANISO>0):PEQIN[137][I]=PEQEL[2][(I-IOFFN[137])]# NEUTRAL DISSOCIATION 18.50ev # 1138 CONTINUE QIN[138][I]=0.0PEQIN[138][I]=0.5if(NANISO==2):PEQIN[138][I]=0.0if(EN<=EIN[138]):passelse:QIN[138][I]=.00371/(EIN[138]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[138]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[138]+E[3])*1.0068if(QIN[138][I]<0.0):QIN[138][I]=0.0if(EN<=(2.0*EIN[138])):passelse:if(NANISO>0):PEQIN[138][I]=PEQEL[2][(I-IOFFN[138])]# NEUTRAL DISSOCIATION 18.75ev # 1139 CONTINUE QIN[139][I]=0.0PEQIN[139][I]=0.5if(NANISO==2):PEQIN[139][I]=0.0if(EN<=EIN[139]):passelse:QIN[139][I]=.00344/(EIN[139]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[139]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[139]+E[3])*1.0067if(QIN[139][I]<0.0):QIN[139][I]=0.0if(EN<=(2.0*EIN[139])):passelse:if(NANISO>0):PEQIN[139][I]=PEQEL[2][(I-IOFFN[139])]# NEUTRAL DISSOCIATION 19.00ev # 1140 CONTINUE QIN[140][I]=0.0PEQIN[140][I]=0.5if(NANISO==2):PEQIN[140][I]=0.0if(EN<=EIN[140]):passelse:QIN[140][I]=.00356/(EIN[140]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[140]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[140]+E[3])*1.0066if(QIN[140][I]<0.0):QIN[140][I]=0.0if(EN<=(2.0*EIN[140])):passelse:if(NANISO>0):PEQIN[140][I]=PEQEL[2][(I-IOFFN[140])]# NEUTRAL DISSOCIATION 19.25ev # 1141 CONTINUE QIN[141][I]=0.0PEQIN[141][I]=0.5if(NANISO==2):PEQIN[141][I]=0.0if(EN<=EIN[141]):passelse:QIN[141][I]=.00530/(EIN[141]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[141]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[141]+E[3])*1.0065if(QIN[141][I]<0.0):QIN[141][I]=0.0if(EN<=(2.0*EIN[141])):passelse:if(NANISO>0):PEQIN[141][I]=PEQEL[2][(I-IOFFN[141])]# NEUTRAL DISSOCIATION 19.50ev # 1142 CONTINUE QIN[142][I]=0.0PEQIN[142][I]=0.5if(NANISO==2):PEQIN[142][I]=0.0if(EN<=EIN[142]):passelse:QIN[142][I]=.00621/(EIN[142]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[142]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[142]+E[3])*1.0064if(QIN[142][I]<0.0):QIN[142][I]=0.0if(EN<=(2.0*EIN[142])):passelse:if(NANISO>0):PEQIN[142][I]=PEQEL[2][(I-IOFFN[142])]# NEUTRAL DISSOCIATION 19.75ev # 1143 CONTINUE QIN[143][I]=0.0PEQIN[143][I]=0.5if(NANISO==2):PEQIN[143][I]=0.0if(EN<=EIN[143]):passelse:QIN[143][I]=.00619/(EIN[143]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[143]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[143]+E[3])*1.0070if(QIN[143][I]<0.0):QIN[143][I]=0.0if(EN<=(2.0*EIN[143])):passelse:if(NANISO>0):PEQIN[143][I]=PEQEL[2][(I-IOFFN[143])]# TRIPLET SUM OF HIGH LYING TRIPLETS # 1144 CONTINUE QIN[144][I]=0.0PEQIN[144][I]=0.5if(NANISO==2):PEQIN[144][I]=0.0if(EN<=EIN[144]):passelse:QIN[144][I]=3.6000/(EIN[144]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[144]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[144]+E[3])if(QIN[144][I]<0.0):QIN[144][I]=0.0if(EN>60.0):QIN[144][I]=QIN[144][I]*math.sqrt(60.0/EN)if(EN<=(2.0*EIN[144])):passelse:if(NANISO>0):PEQIN[144][I]=PEQEL[2][(I-IOFFN[144])]## 1145 CONTINUE# LOAD BREMSSTRAHLUNG X-SECTIONSQIN[145][I]=0.0QIN[146][I]=0.0if(EN<=1000.):passelse:flag1420=1forJinrange(2,NBREM+1):if(EN<=EBRM[J]):flag1420=0breakif(flag1420):J=NBREM# 1420 A=(math.log(Z6T[J])-math.log(Z6T[J-1]))/(EBRM[J]-EBRM[J-1])B=(math.log(Z6T[J])*EBRM[J-1]-math.log(Z6T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])A1=(math.log(Z8T[J])-math.log(Z8T[J-1]))/(EBRM[J]-EBRM[J-1])B1=(math.log(Z8T[J])*EBRM[J-1]-math.log(Z8T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])QIN[145][I]=math.exp(A*EN+B)*1.e-24QIN[146][I]=math.exp(A1*EN+B1)*2.e-24# 1440 CONTINUE# SUM ROTATION SUMR=0.0forKinrange(1,60+1):SUMR=SUMR+QIN[K][I]# 1450 CONTINUE # SUM VIBRATION SUMV=0.0forKinrange(61,79+1):SUMV=SUMV+QIN[K][I]# 1455 CONTINUE # SUM DIPOLE +TRIPLET EXCITATION SUME=0.0forKinrange(80,144+1):SUME=SUME+QIN[K][I]# 1460 CONTINUE # SUM TRIPLET EXCITATIONSUMTRP=QIN[90][I]+QIN[99][I]+QIN[144][I]# GET SUM DIPOLESUME=SUME-SUMTRPSUMEXC=SUME+SUMTRP# SUM IONISATIONSUMION=0.0forKinrange(1,11+1):SUMION=SUMION+QION[K][I]# 1470 CONTINUE# GET CORRECT ELASTIC X-SECTIONQ[2][I]=Q[2][I]-SUMR# Q[1][I] TOTAL USED FOR INprintION ONLY Q[1][I]=QELA+Q[4][I]+SUMV+SUME+SUMTRP+SUMION# WRITE(6,991) EN,SUME,SUMTRP,SUMEXC,SUMION,Q[1][I] # 991 print(' EN=','%.4f' % ,' SUMDIPOLE=','%.4f' % ,' SUM TRIPLT=','%.4f' % ,# //,' SUMEXC=','%.4f' % ,' SUMION=','%.4f' % ,' TOT=','%.4f' % ) # 9000 CONTINUE # # SAVE ON COMPUTING TIME #forKinrange(1,74+1):J=145-Kif(EFINAL<=EIN[J]):NIN=J-1# 2000 CONTINUEif(EFINAL>1000.):NIN=146# conf.ECHARG=ECHARGconf.EMASS=EMASSconf.AMU=AMUconf.PIR2=PIR2conf.NGAS=NGASconf.NSTEP=NSTEPconf.NANISO=NANISOconf.EFINAL=EFINALconf.ESTEP=ESTEPconf.AKT=AKTconf.ARY=ARYconf.TEMPC=TEMPCconf.TORR=TORRconf.IPEN=IPENconf.E=EGconf.EROOT=EROOTconf.QT1=QT1conf.QT2=QT2conf.QT3=QT3conf.QT4=QT4conf.DEN=DEN# print("gasn ----------- \n")# print("Q ",Q)# print("QIN ",QIN)# print("NIN ",NIN)# print("E ",E)# print("EIN ",EIN)# print("NAME ",NAME)# print("VIRIAL ",VIRIAL)# print("EOBY ",EOBY)# print("PEQEL ",PEQEL)# print("PEQIN ",PEQIN)# print("PENFRA ",PENFRA)# print("KEL ",KEL)# print("KIN ",KIN)# print("QION ",QION)# print("PEQION ",PEQION)# print("EION ",EION)# print("NION ",NION)# print("QATT ",QATT)# print("NATT ",NATT)# print(" QNULL ", QNULL)# print("NNULL ",NNULL)# print("SCLN ",SCLN)# print("NC0 ",NC0)# print("EC0 ",EC0)# print("WKLM ",WKLM)# print("EFL ",EFL)# print("NG1 ",NG1)# print("EG1 ",EG1)# print("NG2 ",NG2)# print("EG2 ",EG2)# print("IZBR ",IZBR)# print("LEGAS ",LEGAS)# print("ISHELL ",ISHELL)# print("IONMODEL ",IONMODEL)# print("ESPLIT ",ESPLIT)# print("SCRPT ",SCRPT)# print("SCRPTN ",SCRPTN)# print("\n--------------------------")returnQ,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT# end '''
def GAS13(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS14(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION ELEV[100],AJL(100),PJ(100)
DIMENSION SALPHA[105],EROT(105),AJIN(210),IMAP(210)
DIMENSION XEL(159),YEL(159),XMT(156),YMT(156),XEPS(156),YEPS(156),XVIB1[17],YVIB1[17],XVIB2[18],YVIB2[18],XVIB3[12],YVIB3[12],XION[55],YIONC[55],YIONG[55],XION1[31],YION1[31],XION2[28],YION2[28],XION3[28],YION3[28],XION4[26],YION4[26],XION5[25],YION5[25],XION6[23],YION6[23],XION7[21],YION7[21],XION8[17],YION8[17],XKSH(81),YKSH(81),XATT1[38],YATT1[38],XATT2[30],YATT2[30],XATT3[28],YATT3[28],XTRP1[11],YTRP1[11],XTRP2[10],YTRP2[10],XTRP3[10],YTRP3[10],XTRP4[9],YTRP4[9],XNUL1[12],YNUL1[12],XNUL2[33],YNUL2[33],XNUL3[20],YNUL3[20],XNUL4[18],YNUL4[18],IOFFN(250),IOFFION[9],XSECDUM(210)
DIMENSION ENROT(145),ENRTS(145),YEPSR(145),YMTRT(145)
DIMENSION Z1T[25],Z8T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ENERGY LEVELS OF WATER ( UP TO J=9) IN MILLIVOLTS
ELEV=[0.0,2.950,4.604,5.253,8.690,9.856,11.800,16.726,16.882,16.956,17.640,21.946,25.578,26.304,35.363,35.387,27.531,27.876,34.157,37.240,39.152,47.426,47.590,60.518,60.521,40.338,40.496,49.526,51.603,55.360,62.484,63.085,75.645,75.673,92.005,92.006,55.383,55.452,67.312,68.552,74.734,80.463,82.022,93.822,93.953,110.172,110.176,129.571,129.571,72.685,72.714,87.311,87.98,97.006,101.26,104.44,115.03,115.46,131.38,131.40,150.79,150.79,172.94,172.94,92.252,92.264,109.46,109.80,121.87,124.74,130.20,139.20,140.32,155.62,155.71,175.02,175.02,197.22,197.22,221.81,221.81,114.09,114.09,133.79,133.95,149.02,150.79,159.06,166.25,168.65,182.87,183.16,202.25,202.27,224.48,224.48,249.18,249.18,275.92,275.92]
# J VALUE OF WATER LEVELS
AJL=[0.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,4.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,6.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,8.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0,9.0]
# TRANSITION AMPLITUDES FOR 210 TRANSITIONS
SALPHA=[1.50,1.259,1.092,1.088,1.101,2.074,2.543,2.166,2.066,2.181,3.655,3.446,2.037,4.224,1.899,4.218,5.660,1.841,4.140,1.850,.8333,1.036,1.083,1.297,1.850,2.025,2.085,1.566,2.494,2.881,1.709,2.965,1.778,1.860,1.000,1.500,2.157,3.007,3.977,4.984,5.970,6.980,7.990,1.500,1.667,1.971,2.445,3.131,3.970,4.940,2.395,2.319,2.322,2.449,2.800,3.290,3.393,3.270,3.153,3.090,3.100,4.397,4.267,4.120,4.000,5.400,5.250,5.120,1.244,2.336,3.390,4.397,5.400,6.400,.9225,2.165,3.251,4.265,5.250,.6050,1.840,3.068,4.090,.3804,1.402,2.750,.2494,1.090,0.197,.7557,1.744,2.837,3.918,4.965,5.960,6.980,7.990,.3003,.8347,1.641,2.681,3.710,4.820,5.900,1.550]
# TRANSITION J(INITIAL) VALUES FOR 210 TRANSITIONS
AJIN=[1.0,1.0,2.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,2.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,3.0,3.0,4.0,4.0,5.0,5.0,4.0,4.0,5.0,5.0,5.0,5.0,6.0,6.0,7.0,7.0,6.0,6.0,7.0,7.0,7.0,7.0,2.0,2.0,3.0,3.0,4.0,4.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,4.0,4.0,5.0,5.0,6.0,6.0,5.0,5.0,6.0,6.0,6.0,6.0,6.0,6.0,0.0,1.0,1.0,2.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,7.0,8.0,8.0,9.0,1.0,2.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,7.0,8.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,7.0,8.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,7.0,8.0,4.0,5.0,5.0,6.0,6.0,7.0,7.0,8.0,5.0,6.0,6.0,7.0,7.0,8.0,1.0,2.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,4.0,5.0,5.0,6.0,6.0,7.0,5.0,6.0,6.0,7.0,6.0,7.0,1.0,2.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,7.0,8.0,8.0,9.0,2.0,3.0,3.0,4.0,4.0,5.0,5.0,6.0,6.0,7.0,7.0,8.0,8.0,9.0,6.0,7.0]
# TRANSITION ENERGIES FOR 210 TRANSITIONS IN MILIVOLTS
EROT=[2.303,5.082,9.083,12.93,16.33,3.110,4.809,8.439,12.59,4.538,4.994,7.724,6.626,5.834,9.188,7.423,7.433,11.93,9.695,14.63,6.869,9.785,13.09,7.938,10.19,13.16,16.35,9.364,10.88,13.36,11.11,11.91,13.10,17.54,4.604,6.906,8.950,10.92,12.97,15.11,17.33,19.58,21.84,11.47,13.78,15.75,17.45,19.03,20.67,22.49,18.48,21.12,23.33,25.10,26.52,27.74,25.13,28.05,30.74,33.00,34.76,31.48,34.50,37.43,40.16,37.56,40.61,43.62,12.28,18.66,25.16,31.49,37.57,43.36,16.45,22.01,28.25,34.53,40.62,21.51,25.84,31.47,37.58,27.48,30.42,35.00,34.24,35.89,41.55,4.086,7.100,9.891,12.46,14.89,17.23,19.54,21.82,4.769,8.579,12.29,15.71,18.76,21.48,23.99,16.54]
# MAP OF TRANSITION NO TO LEVEL POPULATION
IMAP=[2,4,7,9,14,16,23,25,34,36,5,7,12,14,21,23,32,34,10,12,19,21,30,32,17,19,28,30,26,28,39,41,54,56,37,39,52,54,50,52,6,8,13,15,22,24,11,13,20,22,31,33,44,46,18,20,29,31,42,44,27,29,40,42,38,40,66,68,1,3,2,6,5,11,10,18,17,27,26,38,37,51,50,66,65,83,4,8,7,13,12,20,19,29,28,40,39,53,52,68,9,15,14,22,21,31,30,42,41,55,54,70,16,24,23,33,32,44,43,57,56,72,25,35,34,46,45,59,58,74,36,48,47,61,60,76,3,9,8,16,15,25,24,36,35,49,48,64,6,14,13,23,22,34,33,47,46,62,11,21,20,32,31,45,44,60,18,30,29,43,42,58,27,41,40,56,38,54,3,5,6,10,11,17,18,26,27,37,38,50,51,65,66,82,8,12,13,19,20,28,29,39,40,52,53,67,68,84,42,54]
# ELASTIC MOMENTUM TRANSFER ( NO ROTATION EXCEPT ABOVE 2000EV)
XMT=[.0001,.001,.002,.003,.004,.005,.006,.007,.008,.009,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.15,0.20,0.25,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.30,1.50,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,12.0,15.0,20.0,25.0,30.0,40.0,60.0,80.0,100.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,
# ABOVE 2000 EV USE SUM OF ROTATION AND ELASTIC 2000.0001,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.D4,1.25D4,1.5D4,1.75D4,2.D4,2.5'%.3f' %.'%.3f' %.5D4,4.D4,4.5D4,5.D4,6.D4,7.D4,8.D4,9.D4,1.D5,1.25D5,1.5D5,1.75D5,2.D5,2.5'%.3f' %.'%.3f' %.5D5,4.D5,4.5D5,5.D5,6.D5,7.D5,8.D5,9.D5,1.D6,1.25D6,1.5D6,1.75D6,2.D6,2.5'%.3f' %.'%.3f' %.5D6,4.D6,4.5D6,5.D6,6.D6,7.D6,8.D6,9.D6,1.D7,1.25D7,1.5D7,1.75D7,2.D7,2.5'%.3f' %.'%.3f' %.5D7,4.D7,4.5D7,5.D7,6.D7,7.D7,8.D7,9.D7,1.D8,1.25D8,1.5D8,1.75D8,2.D8,2.5'%.3f' %.'%.3f' %.5D8,4.D8,4.5D8,5.D8,6.D8,7.D8,8.D8,9.D8,1.D9/
YMT=[38000.,35880.,17360.,11167.,8216.,6392.,5418.,4361.,3706.,3237.,2842.,1151.,671.,465.,353.,287.,224.,178.,146.,125.,70.6,45.2,31.0,22.0,12.8,8.30,6.00,3.80,2.70,2.00,1.50,0.85,0.85,1.02,1.45,1.95,2.80,3.60,4.30,4.85,5.30,5.65,5.95,6.20,5.95,5.15,4.55,4.00,3.30,2.35,1.88,1.47,1.21,.951,.772,.642,.466,.356,.228,.160,.118,.0908,.0718,.0581,.0479,.0314,.0219,.0159,.0119,
# ABOVE 2000EV USE SUM OF ROTATION AND ELASTIC.0200,.0136,.00990,.00755,.00596,.00484,.00401,.00290,.00220,.00173,.00140,.00116,7.74e-4,5.56e-4,4.21e-4,3.31e-4,2.21e-4,1.59e-4,1.21e-4,9.5D-5,7.70e-5,6.38e-5,4.61e-5,3.51e-5,2.78e-5,2.26e-5,1.88e-5,1.28e-5,9.41e-6,7.27e-6,5.82e-6,4.04e-6,3.01e-6,2.36e-6,1.91e-6,1.59e-6,1.35e-6,1.02e-6,8.06e-7,6.58e-7,5.50e-7,4.68e-7,3.35e-7,2.53e-7,1.99e-7,1.61e-7,1.13e-7,8.38e-8,6.51e-8,5.21e-8,4.27e-8,3.58e-8,2.62e-8,2.01e-8,1.59e-8,1.29e-8,1.07e-8,7.19e-9,5.18e-9,3.92e-9,3.07e-9,2.04e-9,1.45e-9,1.09e-9,8.49e-10,6.80e-10,5.57e-10,3.94e-10,2.93e-10,2.26e-10,1.80e-10,1.47e-10,9.46e-11,6.60e-11,4.86e-11,3.73e-11,2.39e-11,1.66e-11,1.22e-11,9.36e-12,7.40e-12,5.99e-12,4.16e-12,3.06e-12,2.34e-12,1.85e-12,1.50e-12/
# ELASTIC X-SECTION (WITHOUT ROTATION)
XEL=[.0001,.001,.002,.003,.004,.005,.006,.007,.008,.009,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.15,0.20,0.25,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.30,1.50,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,12.0,15.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,
c ABOVE 2000EV USE ELASTIC + ROTATION2000.0001,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.D4,1.25D4,1.5D4,1.75D4,2.D4,2.5'%.3f' %.'%.3f' %.5D4,4.D4,4.5D4,5.D4,6.D4,7.D4,8.D4,9.D4,1.D5,1.25D5,1.5D5,1.75D5,2.D5,2.5'%.3f' %.'%.3f' %.5D5,4.D5,4.5D5,5.D5,6.D5,7.D5,8.D5,9.D5,1.D6,1.25D6,1.5D6,1.75D6,2.D6,2.5'%.3f' %.'%.3f' %.5D6,4.D6,4.5D6,5.D6,6.D6,7.D6,8.D6,9.D6,1.D7,1.25D7,1.5D7,1.75D7,2.D7,2.5'%.3f' %.'%.3f' %.5D7,4.D7,4.5D7,5.D7,6.D7,7.D7,8.D7,9.D7,1.D8,1.25D8,1.5D8,1.75D8,2.D8,2.5'%.3f' %.'%.3f' %.5D8,4.D8,4.5D8,5.D8,6.D8,7.D8,8.D8,9.D8,1.D9/
YEL=[38000.,35880.,17360.,11200.,8700.,7000.,6000.,5000.,4300.,3800.,3600.,1630.,1010.,780.,640.,530.,460.,405.,365.,317.,215.,150.,112.,83.0,52.7,37.0,28.5,21.5,17.0,13.5,10.9,6.50,5.00,2.65,2.45,2.60,3.60,5.00,6.00,7.00,8.00,8.70,9.20,9.90,9.50,8.80,7.80,6.80,5.60,4.50,4.00,3.55,3.20,2.85,2.50,2.05,1.75,1.55,1.40,1.20,1.00,.795,.655,.570,.505,.450,.415,.385,.325,.285,.250,.226,
# ABOVE 2000EV USE ELASTIC + ROTATION.336,.275,.234,.203,.180,.161,.146,.123,.107,.0940,.0841,.0761,.0617,.0519,.0450,.0397,.0323,.0273,.0238,.0211,.0190,.0174,.0149,.0131,.0117,.0107,.00987,.00837,.00738,.00667,.00614,.00541,.00493,.00459,.00433,.00414,.00399,.00377,.00361,.00350,.00342,.00336,.00324,.00318,.00313,.00310,.00306,.00304,.00302,.00301,.00300,.00300,.00299,.00299,.00298,.00298,.00298,30*.00297/
#
# OKHRIMOVSKY 1.0 - EPSILON
# ANGULAR DISTRIBUTION def FOR ELASTIC
XEPS=[.0001,.001,.002,.003,.004,.005,.006,.007,.008,.009,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.15,0.20,0.25,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.30,1.50,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,12.0,15.0,20.0,25.0,30.0,40.0,60.0,80.0,100.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,
#2000.0001,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.D4,1.25D4,1.5D4,1.75D4,2.D4,2.5'%.3f' %.'%.3f' %.5D4,4.D4,4.5D4,5.D4,6.D4,7.D4,8.D4,9.D4,1.D5,1.25D5,1.5D5,1.75D5,2.D5,2.5'%.3f' %.'%.3f' %.5D5,4.D5,4.5D5,5.D5,6.D5,7.D5,8.D5,9.D5,1.D6,1.25D6,1.5D6,1.75D6,2.D6,2.5'%.3f' %.'%.3f' %.5D6,4.D6,4.5D6,5.D6,6.D6,7.D6,8.D6,9.D6,1.D7,1.25D7,1.5D7,1.75D7,2.D7,2.5'%.3f' %.'%.3f' %.5D7,4.D7,4.5D7,5.D7,6.D7,7.D7,8.D7,9.D7,1.D8,1.25D8,1.5D8,1.75D8,2.D8,2.5'%.3f' %.'%.3f' %.5D8,4.D8,4.5D8,5.D8,6.D8,7.D8,8.D8,9.D8,1.D9/
YEPS=[1.00,1.00,1.00,.99565,.91672,.87009,.85511,.80970,.79461,.77988,.69030,.57574,.52106,.43613,.38391,.37247,.31332,.26543,.22829,.22313,.16735,.14647,.12863,.12046,.10559,.09376,.08536,.06614,.05674,.05139,.04633,.04315,.06256,.21475,.43086,.63530,.67397,.59438,.58994,.55822,.51861,.50188,.49846,.47289,.47289,.42300,.42075,.42656,.42787,.42573,.42573,.42633,.42609,.37461,.32511,.28396,.21779,.18960,.13624,.10619,.08339,.06771,.05713,.04747,4.025e-2,2.844e-2,2.100e-2,1.628e-2,1.273e-2,
#1.497e-2,1.172e-2,9.620e-3,8.153e-3,7.066e-3,6.235e-3,5.577e-3,4.601e-3,3.914e-3,3.404e-3,3.011e-3,2.699e-3,2.141e-3,1.772e-3,1.510e-3,1.315e-3,1.043e-3,8.624e-4,7.336e-4,6.375e-4,5.631e-4,5.035e-4,4.143e-4,3.507e-4,3.035e-4,2.667e-4,2.374e-4,1.848e-4,1.501e-4,1.255e-4,1.073e-4,8.205e-5,6.555e-5,5.398e-5,4.540e-5,3.900e-5,3.390e-5,2.646e-5,2.135e-5,1.765e-5,1.487e-5,1.273e-5,9.143e-6,6.867e-6,5.363e-6,4.309e-6,2.967e-6,2.169e-6,1.656e-6,1.308e-6,1.059e-6,8.748e-7,6.267e-7,4.711e-7,3.671e-7,2.942e-7,2.408e-7,1.574e-7,1.109e-7,8.227e-8,6.344e-8,4.103e-8,2.866e-8,2.112e-8,1.620e-8,1.281e-8,1.038e-8,7.187e-9,5.257e-9,4.004e-9,3.147e-9,2.533e-9,1.596e-9,1.093e-9,7.92e-10,5.99e-10,3.76e-10,2.57e-10,1.86e-10,1.41e-10,1.10e-10,8.8D-11,6.0D-11,4.4D-11,3.3D-11,2.6D-11,2.1D-11/
# INELASTIC ANGULAR DISTRIBUTION DIPOLE FORM
# ENERGY IN UNITS OF THE ROTATIONAL ENERGY LEVEL.
# ENRTS FOR SUPER ELASTIC
# ENROT FOR NORMAL ELASTIC
ENRTS=[0.00,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.11,0.12,0.13,0.14,0.16,0.18,0.20,0.22,0.25,0.28,0.31,0.34,0.37,0.40,0.44,0.48,0.52,0.56,0.60,0.65,0.70,0.75,0.80,0.90,1.00,1.10,1.20,1.30,1.40,1.60,1.80,2.00,2.20,2.40,2.60,2.80,3.00,3.50,4.00,4.50,5.00,5.50,6.00,7.00,8.00,9.00,10.0,11.0,12.0,14.0,16.0,18.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,160.,180.,200.,250.,300.,350.,400.,500.,600.,700.,800.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,5000.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.,25000.,30000.,35000.,40000.,50000.,60000.,80000.,1.0D5,1.5D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.2D6,1.4D6,1.6D6,1.8D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7]
ENROT=[1.0,1.01,1.02,1.03,1.04,1.05,1.06,1.07,1.08,1.09,1.10,1.11,1.12,1.13,1.14,1.16,1.18,1.20,1.22,1.25,1.28,1.31,1.34,1.37,1.40,1.44,1.48,1.52,1.56,1.60,1.65,1.70,1.75,1.80,1.90,2.00,2.10,2.20,2.30,2.40,2.60,2.80,3.00,3.20,3.40,3.60,3.80,4.00,4.50,5.00,5.50,6.00,6.50,7.00,8.00,9.00,10.0,11.0,12.0,13.0,15.0,17.0,19.0,21.0,23.0,26.0,31.0,36.0,41.0,46.0,51.0,61.0,71.0,81.0,91.0,101.,121.,141.,161.,181.,201.,251.,301.,351.,401.,501.,601.,701.,801.,1001.,1201.,1401.,1601.,1801.,2001.,2501.,3001.,3501.,4001.,5001.,6001.,7001.,8001.,9001.,10001.,12001.,14001.,16001.,18001.,20001.,25001.,30001.,35001.,40001.,50001.,60001.,80001.,1.0D5,1.5D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.2D6,1.4D6,1.6D6,1.8D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7]
# OKRIMOVSKKY 1.0-EPSILON
YEPSR=[1.0,.90060,.86030,.83000,.80486,.78309,.76390,.74641,.73054,.71571,.70205,.68931,.67720,.66584,.65510,.63516,.61705,.60056,.58510,.56417,.54521,.52802,.51233,.49782,.48448,.46818,.45320,.43962,.42704,.41555,.40221,.39009,.37891,.36854,.35015,.33409,.32004,.30760,.29649,.28657,.26933,.25493,.24266,.23212,.22286,.21483,.20763,.20114,.18760,.17674,.16791,.16044,.15403,.14857,.13951,.13226,.12637,.12143,.11718,.11346,.10742,.10255,.09859,.09519,.09234,.08867,.08387,.08017,.07716,.07465,.07252,.06913,.06641,.06426,.06240,.06087,.05833,.05628,.05467,.05327,.05208,.04973,.04794,.04652,.04534,.04347,.04210,.04096,.04001,.03854,.03740,.03648,.03570,.03506,.03450,.03336,.03248,.03173,.03115,.03021,.02946,.02886,.02835,.02792,.02754,.02692,.02641,.02597,.02561,.02529,.02463,.02411,.02369,.02334,.02277,.02232,.02165,.02115,.02030,.01973,.01931,.01898,.01870,.01847,.01810,.01780,.01756,.01735,.01718,.01702,.01675,.01654,.01635,.01620,.01606,.01576,.01553,.01534,.01518,.01490,.01472,.01456,.01440,.01427,.01418]
# RATIO OF MT/TOT
YMTRT=[0.0,.9336,.9065,.8860,.8689,.8540,.8408,.8287,.8176,.8073,.7977,.7887,.7801,.7720,.7643,.7499,.7367,.7245,.7131,.6974,.6830,.6698,.6576,.6462,.6356,.6225,.6103,.5991,.5886,.5789, .5675,.5570,.5472,.5380,.5214,.5066,.4934,.4815,.4707,.4609,.4435,.4286,.4156,.4042,.3940,.3850,.3768,.3693,.3533,.3401,.3291,.3196,.3113,.3041,.2919,.2819,.2736,.2665,.2603,.2548,.2457,.2382,.2320,.2266,.2220,.2160,.2080,.2017,.1965,.1921,.1883,.1822,.1772,.1732,.1697,.1668,.1619,.1579,.1547,.1519,.1495,.1447,.1410,.1380,.1355,.1315,.1285,.1260,.1239,.1206,.1180,.1159,.1141,.1126,.1113,.1086,.1065,.1047,.1033,.1010,.09915,.09766,.09640,.09532,.09437,.09277,.09147,.09036,.08941,.08858,.08686,.08550,.08439,.08345,.08193,.08072,.07889,.07752,.07516,.07357,.07238,.07144,.07066,.07000,.06892,.06807,.06736,.06676,.06624,.06578,.06500,.06436,.06381,.06334,.06292,.06204,.06133,.06078,.06027,.05944,.05889,.05839,.05790,.05749,.05723]
# VIBRATION
# B# end MODE 010
XVIB1=[.1977,0.30,0.34,0.39,0.60,0.86,1.00,2.00,2.20,3.00,4.00,5.00,6.00,8.00,10.0,15.0,20.0]
YVIB1=[0.00,1.47,1.56,1.51,0.68,.344,.318,.172,.163,.138, .129,.135,.140,.146,.155,.112,.086]
# SUM OF STRETCH MODES 001 AND 100
XVIB2=[.4535,0.53,0.58,0.63,0.80,1.00,2.10,3.00,4.00,5.00,6.00,7.00,7.50,8.00,9.00,10.0,15.0,20.0]
YVIB2=[0.00,1.93,2.00,1.95,.516,.430,.275,.267,.331,.370,.421,.447,.455,.426,.361,.280,.163,.069]
# SUM OF VIBRATION HARMONICS
XVIB3=[.919,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,15.0,20.0]
YVIB3=[0.00,.001,.009,.017,.034,.040,.042,.042,.039,.034,.017,.009]
#
# IONISATION ABOVE 5000 EV USE IONISATION OSCILLATOR STRENGTH
#
XION=[12.617,13.5,15.0,17.5,20.0,22.5,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.,1100.,1200.,1300.,1400.,1500.,1600.,1700.,1800.,1900.,2000.,2100.,2200.,2300.,2400.,2500.,2600.,2700.,2800.,2900.,3000.,3500.,4000.,4500.,5000.]
# COUNTING IONISATION
YIONC=[0.0,.028,.124,.271,.427,.600,.752,1.017,1.248,1.431,1.577,1.701,1.865,1.964,2.052,2.082,2.104,2.094,2.069,1.994,1.931,1.860,1.691,1.534,1.315,1.138,1.005,0.893,0.811,0.744,0.681,0.634,0.595,0.559,0.528,0.501,0.476,0.454,0.434,0.416,0.399,0.384,0.369,0.356,0.344,0.333,0.323,0.313,0.304,0.295,0.287,0.253,0.226,0.205,0.1873]
# GROSS IONISATION
YIONG=[0.0,.028,.124,.271,.427,.600,.752,1.017,1.248,1.431,1.579,1.705,1.875,1.981,2.076,2.111,2.138,2.132,2.111,2.037,1.975,1.903,1.732,1.571,1.346,1.163,1.028,0.913,0.829,0.761,0.696,0.648,0.608,0.571,0.540,0.512,0.486,0.464,0.444,0.425,0.408,0.392,0.377,0.364,0.352,0.340,0.330,0.320,0.311,0.301,0.293,0.259,0.231,0.210,0.1914]
# IONISATION TO H2O + ELOSS=12.617 EV
XION1=[12.617,13.5,15.0,17.5,20.0,22.5,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION1=[0.0,.028,.124,.271,.410,.542,.646,.811,.948,1.047,1.117,1.176,1.241,1.271,1.302,1.304,1.305,1.288,1.266,1.214,1.168,1.129,1.022,0.932,0.803,0.702,0.625,0.555,0.504,0.466,0.429]
# IONISATION TO OH + ELOSS=18.1 EV
XION2=[18.1,20.0,22.5,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION2=[0.0,.0145,.0493,.0847,.159,.220,.263,.298,.325,.355,.374,.388,.388,.392,.389,.384,.367,.358,.342,.315,.294,.253,.216,.191,.173,.159,.145,.132]
# IONISATION TO H + ELOSS=18.72 EV
XION3=[18.72,20.0,22.5,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION3=[.0,.0021,.0089,.0194,.0433,.0724,.1068,.1398,.169,.220,.255,.284,.301,.312,.317,.315,.309,.303,.291,.265,.229,.195,.165,.143,.124,.112,.0997,.0904]
# IONISATION TO O + ELOSS=21.0 EV
XION4=[21.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION4=[0.0,.0022,.0037,.0069,.0132,.0206,.0273,.0383,.0456,.0538,.0587,.0594,.0619,.0617,.0596,.0576,.0550,.0481,.0418,.0332,.0282,.0237,.0203,.0181,.0165,.0145]
# IONISATION TO H2 + ELOSS=23.0
XION5=[23.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION5=[0.0,.00018,.00039,.00057,.00070,.00065,.00066,.00069,.00063,.00078,.00075,.00073,.00064,.00077,.00071,.00054,.00050,.00045,.00040,.00032,.00029,.00033,.00022,.00032,.00024]
# IONISATION TO (H + ,OH +) ELOSS=35.4 EV DOUBLE IONISATION
XION6=[35.4,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION6=[0.0,.00045,.0013,.0034,.0091,.0145,.0188,.0216,.0244,.0254,.0268,.0266,.0258,.0244,.0226,.0211,.0182,.0155,.0137,.0124,.0114,.0105,.0095]
# IONISATION TO (H + ,O +) ELOSS=45.0 EV DOUBLE IONISATION
XION7=[45.0,50.0,60.0,70.0,80.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION7=[0.0,.0001,.0011,.0028,.0052,.0076,.0098,.0118,.0144,.0158,.0160,.0163,.0161,.0139,.0111,.0094,.0079,.0068,.0060,.0055,.0048]
# IONISATION TO O ++ ELOSS=70.0 EV DOUBLE IONISATION
XION8=[70.0,90.0,100.,110.,125.,150.,175.,200.,250.,300.,400.,500.,600.,700.,800.,900.,1000.]
YION8=[0.0,.00010,.00022,.00049,.00068,.00106,.00165,.00173,.00180,.00172,.00128,.00108,.00090,.00078,.00069,.00061,.00058]
# OXYGEN ATOM K-SHELL IONISATION X-SECTION
XKSH=[532.,541.,557.,574.,591.,609.,627.,646.,665.,685.,706.,727.,749.,793.,841.,891.,944.,1000.,1090.,1188.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.00D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.00D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.00D6,1.25D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.26D7,1.50D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.00D8,1.26D8,1.50D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.00D9]
YKSH=[0.00,3.31e-5,8.86e-5,1.42e-4,1.95e-4,2.45e-4,2.94e-4,3.41e-4,3.87e-4,4.31e-4,4.73e-4,5.14e-4,5.53e-4,6.27e-4,6.95e-4,7.56e-4,8.13e-4,8.63e-4,9.29e-4,9.84e-4,1.03e-3,1.08e-3,1.10e-3,1.11e-3,1.11e-3,1.10e-3,1.08e-3,1.03e-3,9.24e-4,8.27e-4,6.81e-4,5.49e-4,4.18e-4,3.35e-4,2.90e-4,2.50e-4,2.04e-4,1.77e-4,1.53e-4,1.39e-4,1.26e-4,1.11e-4,8.62e-5,7.45e-5,6.36e-5,5.75e-5,5.48e-5,5.29e-5,5.20e-5,5.13e-5,5.08e-5,5.08e-5,5.12e-5,5.24e-5,5.47e-5,5.68e-5,5.84e-5,6.00e-5,6.13e-5,6.26e-5,6.44e-5,6.65e-5,6.81e-5,7.11e-5,7.50e-5,7.78e-5,7.97e-5,8.17e-5,8.31e-5,8.45e-5,8.65e-5,8.87e-5,9.04e-5,9.36e-5,9.75e-5,1.00e-4,1.02e-4,1.04e-4,1.06e-4,1.07e-4,1.09e-4]
#
# ALL ATTACHMENT SCALED BY 10[21]
# H- + OH FEDOR WITH THRESHOLD AT 5.6EV AND SCALED TO FIT
# THE EXPERIMENTAL ATTACHMENT RATE
XATT1=[5.60,5.75,6.00,6.25,6.40,6.50,6.75,7.00,7.25,7.50,7.75,8.00,8.25,8.40,8.50,8.75,9.00,9.25,9.50,9.75,10.0,10.25,10.5,10.75,11.0,11.25,11.50,11.75,12.00,12.25,12.5,12.75,13.0,13.5,14.0,14.5,15.0,15.5]
YATT1=[8.7,383.,2262.,5368.,5742.,5629.,4019.,2314.,1192.,655.,572.,727.,930.9,1018.,1001.,878.7,690.,435.,231.,127.,66.3,49.0,43.2,47.1,47.1,49.0,47.1,45.1,43.2,41.2,37.2,33.5,27.8,19.6,15.5,11.7,8.79,0.59]
# O- + H + H FEDOR SCALED TO MELTON AND CHRISTOPHOROU
XATT2=[6.00,6.25,6.50,6.75,7.00,7.25,7.50,7.75,8.00,8.25,8.50,9.00,9.50,10.0,10.25,10.5,10.75,11.0,11.25,11.50,11.75,12.0,12.25,12.5,12.75,13.0,13.5,14.0,14.5,15.0]
YATT2=[2.50,7.20,17.8,35.0,59.0,45.0,16.8,11.5,22.1,46.5,80.0,142.,128.,113.,112.,141.,180.,213.,240.,260.,269.,268.,243.,221.,188.,151.,81.0,39.0,18.5,4.5]
# OH- + H FEDOR NORMALISED TO MELTON
XATT3=[6.00,6.25,6.50,6.75,7.00,7.25,7.50,7.75,8.00,8.25,8.50,8.75,9.00,9.25,9.50,9.75,10.0,10.25,10.5,10.75,11.0,11.25,11.50,11.75,12.0,12.25,12.5,12.75]
YATT3=[0.30,0.70,1.00,1.50,1.45,0.90,0.40,0.30,0.40,0.58,0.70,0.70,0.50,0.40,0.25,0.10,0.10,0.30,0.45,0.58,0.72,0.80,0.80,0.75,0.65,0.50,0.42,0.25]
# TRIPLET EXCITATIONS
XTRP1=[7.04,7.50,8.00,8.50,9.00,10.0,12.0,15.0,20.0,25.0,30.0]
YTRP1=[.0001,.075,0.15,0.24,0.33,0.23,0.16,0.14,0.11,.087,.070]
XTRP2=[9.10,10.0,11.0,12.0,15.0,20.0,25.0,30.0,40.0,50.0]
YTRP2=[.0001,0.06,0.12,0.16,0.18,0.15,.122,0.10,.075,.055]
XTRP3=[9.95,11.5,13.0,15.0,17.5,20.0,25.0,30.0,40.0,50.0]
YTRP3=[.0001,0.10,.190,.235,.250,.235,.205,.170,.130,.100]
XTRP4=[13.0,15.0,16.0,18.0,22.0,26.0,30.0,40.0,50.0]
YTRP4=[.0002,.242,.420,.525,.557,.536,.504,.389,.284]
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24 CM**2
Z1T=[11.3,6.18,2.80,1.54,.858,.407,.251,.176,.145,.150,.167,.178,.187,.193,.198,.205,.210,.218,.222,.228,.231,.233,.234,.235,.235]
Z8T=[477.,294.,145.,81.6,45.8,21.2,12.2,7.69,5.22,4.76,4.84,4.99,5.10,5.20,5.27,5.38,5.46,5.58,5.65,5.72,5.77,5.80,5.81,5.83,5.84]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# FOLLOWING ARE NULL COLLISIONS :
# OH PRODUCTION FROM HARB ET AL J.CHEM.PHYS. 115(2001)5507
XNUL1=[6.60,10.0,15.0,20.0,30.0,50.0,75.0,100.,150.,200.,250.,300.]
YNUL1=[0.0,0.15,0.48,0.75,1.32,1.90,2.10,2.05,1.98,1.75,1.60,1.40]
# OH(A-X) 306-250 NM EMISSION BEENAKKER ET AL CHEM.PHYS.6(1974)445
XNUL2=[9.20,10.0,12.5,15.0,17.5,20.0,22.5,25.0,27.5,30.0,35.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,120.,140.,170.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.]
YNUL2=[0.00,.0187,.0733,.0919,.0932,.0911,.0845,.0797,.0767,.0745,.0698,.0663,.0603,.0566,.0535,.0508,.0483,.0464,.0432,.0400,.0364,.0339,.0297,.0266,.0240,.0224,.0206,.0196,.0179,.0158,.0149,.0131,.0121]
# H ALPHA 3-2 656.3 NM MOHLMANN AND DEHEER CHEM.PHYS. 40(1979)157
XNUL3=[18.0,20.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,150.,200.,300.,400.,500.,600.,700.,800.,900.,1000.]
YNUL3=[0.0,.00204,.0105,.0169,.0224,.0291,.0326,.0346,.0354,.0355,.0311,.0269,.0204,.0162,.0132,.0114,.0101,.00892,.00814,.00734]
# H ALPHA 2-1 121.6 NM ITIKAWA AND MASON J.PHYS.CHEM.REF.34 (2005)1
# MORGAN AND MENTAL USED BELOW 24 EV
XNUL4=[15.4,15.6,24.0,25.0,37.5,50.0,62.5,75.0,87.5,100.,112.5,125.,137.5,150.,175.,200.,225.,250.]
YNUL4=[0.0,.0030,.0040,.00601,.0227,.0405,.059,.0727,.0823,.0845,.0839,.0829,.0812,.0799,.0764,.0733,.0698,.0665]
# ---------------------------------------------------------------------
#***********************************************************************
#
NAME='H2O ANISOTRPIC 2017 '
#***********************************************************************
# --------------------------------------------------------------------
# EXPERIMENTAL NOT ACCURATE IN WATER VAPOUR. ELECTRON SCATTERING
# USED IN ANALYSIS REPRODUCES DRIFT VELOCITY AND DIFFUSION
# COEFFICIENTS TO AN ACCURACY OF 2%.
# ---------------------------------------------------------------------
# BORN BETHE VALUES FOR IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
# FIT OF IONISATION OSCILLATOR STRENGTH TO RIEKE AND PREJECHAL
AM2=2.895
C=30.7
# AVERAGE AUGER EMISSION FROM OXYGEN KSHELL
AUGK=2.0
#
AMPROT=0.98
NION=9
NATT=3
NIN=248
NASIZE=20000
NBREM=25
NNULL=4
IONMODEL=0
NRTANG=145
#
DO 11 J=1,NIN
IZBR[J]=0
11 CONTINUE
IZBR(NIN+1)=8
IZBR(NIN+2)=1
#
# USE OKHRIMOVSKKY TYPE ANGULAR DISTRIBUTION
DO 1 J=1,6
1 KEL[J]=2
# USE OKRIMOVSKKY
DO 2 J=1,NIN
2 KIN[J]=2
#
NELA=159
NMMT=156
NEPS=156
NVIB1=17
NVIB2=18
NVIB3=12
NIONC=55
NION1=31
NION2=28
NION3=28
NION4=26
NION5=25
NION6=23
NION7=21
NION8=17
NKSH=81
NATT1=38
NATT2=30
NATT3=28
NTRP1=11
NTRP2=10
NTRP3=10
NTRP4=9
NUL1=12
NUL2=33
NUL3=20
NUL4=18
# SCALING OF NULL COLLISIONS
SCLN[1]=1.0
SCLN[2]=1.0
SCLN[3]=1.0
SCLN[4]=1.0
#
E[1]=0.0
E[2]=2.0*EMASS/(18.01528*AMU)
E[3]=12.617
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=12.617
EION[2]=18.1
EION[3]=18.72
EION[4]=21.0
EION[5]=23.0
EION[6]=35.4
EION[7]=45.0
EION[8]=70.0
EION[9]=532.0
#
#-----------------------------------------------------------------
# DBA IS DIPOLE MOMENT
# DRAT IS RATIO OF MOMENTUM TRANSFER TO TOTAL X-SECTION FOR DIPOLE
# -----------------------------------------------------------------
GPARA=1.0
GORTHO=3.0
DBA=0.728
DRAT=0.07
A0=0.5291772083e-8
RY=13.60569172
DBK=8.37758*RY*(DBA*A0)**2
#------------------------------------------------------------------
# CALCULATE POPULATION DENSITIES OF ROTATIONAL LEVELS
for 3 J in range(1,99,2):
3 PJ[J]=GPARA*(2.0*AJL[J]+1.0)*math.exp(-ELEV[J]*1.e-3/AKT)
for 4 J in range(2,100,2):
4 PJ[J]=GORTHO*(2.0*AJL[J]+1.0)*math.exp(-ELEV[J]*1.e-3/AKT)
RSUM=0.0
for 5 J in range(1,100):
5 RSUM=RSUM+PJ[J]
for 6 J in range(1,100):
6 PJ[J]=PJ[J]/RSUM
for 7 J in range(1,105 ):
EIN(2*J-1)=EROT[J]*1.e-3
7 EIN(2*J)=-EROT[J]*1.e-3
#
EIN(211)=-0.1977
EIN(212)=0.1977
EIN(213)=0.4535
EIN(214)=0.919
EIN(215)=7.04
EIN(216)=6.8425
EIN(217)=7.2675
EIN(218)=7.7725
EIN(219)=8.3575
EIN(220)=9.1
EIN(221)=8.91
EIN(222)=9.43
EIN(223)=9.95
EIN(224)=10.47
EIN(225)=9.95
EIN(226)=9.994
EIN(227)=10.172
EIN(228)=10.39
EIN(229)=10.575
EIN(230)=10.78
EIN(231)=11.01
EIN(232)=11.122
EIN(233)=11.377
EIN(234)=11.525
EIN(235)=11.75
EIN(236)=11.94
EIN(237)=12.08
EIN(238)=12.24
EIN(239)=12.34
EIN(240)=12.45
EIN(241)=13.0
EIN(242)=13.117
EIN(243)=14.117
EIN(244)=15.117
EIN(245)=16.117
EIN(246)=17.117
EIN(247)=18.438
EIN(248)=20.316
# OPAL BEATY
# SCLOBY=0.8
DO 8 J=1,NION
# EOBY[J]=EION[J]*SCLOBY
EOBY[J]=EION[1]*0.93
8 CONTINUE
#
DO 9 JK=1,NION
LEGAS(JK)=0
ISHELL(JK)=0
NC0(JK)=0
EC0(JK)=0.0
WKLM(JK)=0.0
EFL(JK)=0.0
NG1(JK)=0
EG1(JK)=0.0
NG2(JK)=0
EG2(JK)=0.0
9 CONTINUE
# DOUBLE CHARGED STATES
NC0[6]=1
EC0[6]=6.0
NC0[7]=1
EC0[7]=6.0
NC0[8]=1
EC0[8]=6.0
# FLUORESCENCE DATA
LEGAS[9]=1
ISHELL[9]=1
NC0[9]=3
EC0[9]=485.
WKLM[9]=0.0069
EFL[9]=518.
NG1[9]=1
EG1[9]=480.
NG2[9]=2
EG2[9]=5.0
# OFFSET ENERGY FOR IONISATION ELECTRON ANGULAR DISTRIBUTION
DO 12 J=1,NION
DO 10 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 12
# endif
10 CONTINUE
12 CONTINUE
# OFFSET ENERGY FOR EXCITATION ANGULAR DISTRIBUTION
DO 14 NL=1,NIN
DO 13 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 14
# endif
13 CONTINUE
14 CONTINUE
#
#**********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# SET PENNING TRANSFER FRACTION TO ZERO FOR LOW ENERGY LEVELS
DO 21 K=1,NIN
DO 21 L=1,3
PENFRA[1][K]=0.0
21 CONTINUE
#---------------------------------------
# PENNING TRANSFER FRACTION FOR LEVELS ABOVE 6.0EV
DO 22 K=215,NIN
PENFRA[1][K]=0.0
# PENNING TRANSFER DISTANCE IN MICRONS
PENFRA[2][K]=1.0
# PENNING TRANSFER TIME IN PICOSECONDS
PENFRA[3][K]=1.0
if(IPEN == 0):
GO TO 22
WRITE(6,999) NAME,EIN[K],PENFRA[1][K],PENFRA[2][K],PENFRA[3][K]
999 print(' GAS = ',A25,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY = ','%.3f' % ,' ABS.LENGTH = ',F7.2,' DECAY TIME = ',F7.1,/)
22 CONTINUE
#**********************************************************************
#
SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC H2O '
SCRPT[3]=' IONISATION H2O+ ELOSS= 12.617 '
SCRPT[4]=' DISSOC ION OH+ ELOSS= 18.1 '
SCRPT[5]=' DISSOC ION H+ ELOSS= 18.72 '
SCRPT[6]=' DISSOC ION O+ ELOSS= 21.0 '
SCRPT[7]=' DISSOC ION H2+ ELOSS= 23.0 '
SCRPT[8]=' DISSOC ION H+ + OH+ ELOSS= 35.4 '
SCRPT[9]=' DISSOC ION H+ + O+ ELOSS= 45.0 '
SCRPT[10]=' DISSOC ION O++ ELOSS= 70.0 '
SCRPT[11]=' IONISATION O K-SHELL ELOSS=532.0 '
SCRPT[12]=' ATTACHMENT H- '
SCRPT[13]=' ATTACHMENT O- '
SCRPT[14]=' ATTACHMENT OH- '
SCRPT[15]=' '
SCRPT[16]=' '
SCRPT[17]=' ROTATION 101--110 ELOSS= 0.002303'
SCRPT[18]=' ROTATION 110--101 ELOSS=-0.002303'
SCRPT[19]=' ROTATION 211--220 ELOSS= 0.005082'
SCRPT[20]=' ROTATION 220--211 ELOSS=-0.005082'
SCRPT[21]=' ROTATION 321--330 ELOSS= 0.009083'
SCRPT[22]=' ROTATION 330--321 ELOSS=-0.009083'
SCRPT[23]=' ROTATION 431--440 ELOSS= 0.01293 '
SCRPT[24]=' ROTATION 440--431 ELOSS=-0.01293 '
SCRPT[25]=' ROTATION 541--550 ELOSS= 0.01633 '
SCRPT[26]=' ROTATION 550--541 ELOSS=-0.01633 '
SCRPT[27]=' ROTATION 202--211 ELOSS= 0.00311 '
SCRPT[28]=' ROTATION 211--202 ELOSS=-0.00311 '
SCRPT[29]=' ROTATION 312--321 ELOSS= 0.004809'
SCRPT[30]=' ROTATION 321--312 ELOSS=-0.004809'
SCRPT[31]=' ROTATION 422--431 ELOSS= 0.008439'
SCRPT[32]=' ROTATION 431--422 ELOSS=-0.008439'
SCRPT[33]=' ROTATION 532--541 ELOSS= 0.01259 '
SCRPT[34]=' ROTATION 541--532 ELOSS=-0.01259 '
SCRPT[35]=' ROTATION 303--312 ELOSS= 0.004538'
SCRPT[36]=' ROTATION 312--303 ELOSS=-0.004538'
SCRPT[37]=' ROTATION 413--422 ELOSS= 0.004994'
SCRPT[38]=' ROTATION 422--413 ELOSS=-0.004994'
SCRPT[39]=' ROTATION 523--532 ELOSS= 0.007724'
SCRPT[40]=' ROTATION 532--523 ELOSS=-0.007724'
SCRPT[41]=' ROTATION 404--413 ELOSS= 0.006626'
SCRPT[42]=' ROTATION 413--404 ELOSS=-0.006626'
SCRPT[43]=' ROTATION 514--523 ELOSS= 0.005834'
SCRPT[44]=' ROTATION 523--514 ELOSS=-0.005834'
SCRPT[45]=' ROTATION 505--514 ELOSS= 0.009188'
SCRPT[46]=' ROTATION 514--505 ELOSS=-0.009188'
SCRPT[47]=' ROTATION 615--624 ELOSS= 0.007423'
SCRPT[48]=' ROTATION 624--615 ELOSS=-0.007423'
SCRPT[49]=' ROTATION 725--734 ELOSS= 0.007433'
SCRPT[50]=' ROTATION 734--725 ELOSS=-0.007433'
SCRPT[51]=' ROTATION 606--615 ELOSS= 0.01193 '
SCRPT[52]=' ROTATION 615--606 ELOSS=-0.01193 '
SCRPT[53]=' ROTATION 716--725 ELOSS= 0.009695'
SCRPT[54]=' ROTATION 725--716 ELOSS=-0.009695'
SCRPT[55]=' ROTATION 707--716 ELOSS= 0.01463 '
SCRPT[56]=' ROTATION 716--707 ELOSS=-0.01463 '
SCRPT[57]=' ROTATION 212--221 ELOSS= 0.006869'
SCRPT[58]=' ROTATION 221--212 ELOSS=-0.006869'
SCRPT[59]=' ROTATION 322--331 ELOSS= 0.009785'
SCRPT[60]=' ROTATION 331--322 ELOSS=-0.009785'
SCRPT[61]=' ROTATION 432--441 ELOSS= 0.01309 '
SCRPT[62]=' ROTATION 441--432 ELOSS=-0.01309 '
SCRPT[63]=' ROTATION 313--322 ELOSS= 0.007938'
SCRPT[64]=' ROTATION 322--313 ELOSS=-0.007938'
SCRPT(65)=' ROTATION 423--432 ELOSS= 0.01019 '
SCRPT(66)=' ROTATION 432--423 ELOSS=-0.01019 '
SCRPT(67)=' ROTATION 533--542 ELOSS= 0.01316 '
SCRPT(68)=' ROTATION 542--533 ELOSS=-0.01316 '
SCRPT(69)=' ROTATION 643--652 ELOSS= 0.01635 '
SCRPT(70)=' ROTATION 652--643 ELOSS=-0.01635 '
SCRPT(71)=' ROTATION 414--423 ELOSS= 0.009364'
SCRPT(72)=' ROTATION 423--414 ELOSS=-0.009364'
SCRPT(73)=' ROTATION 524--533 ELOSS= 0.01088 '
SCRPT(74)=' ROTATION 533--524 ELOSS=-0.01088 '
SCRPT(75)=' ROTATION 634--643 ELOSS= 0.01336 '
SCRPT(76)=' ROTATION 643--634 ELOSS=-0.01336 '
SCRPT(77)=' ROTATION 515--524 ELOSS= 0.01111 '
SCRPT(78)=' ROTATION 524--515 ELOSS=-0.01111 '
SCRPT(79)=' ROTATION 625--634 ELOSS= 0.01191 '
SCRPT(80)=' ROTATION 634--625 ELOSS=-0.01191 '
SCRPT(81)=' ROTATION 616--625 ELOSS= 0.01310 '
SCRPT(82)=' ROTATION 625--616 ELOSS=-0.01310 '
SCRPT(83)=' ROTATION 818--827 ELOSS= 0.01754 '
SCRPT(84)=' ROTATION 827--818 ELOSS=-0.01754 '
SCRPT(85)=' ROTATION 000--111 ELOSS= 0.004604'
SCRPT(86)=' ROTATION 111--000 ELOSS=-0.004604'
SCRPT(87)=' ROTATION 101--212 ELOSS= 0.006906'
SCRPT(88)=' ROTATION 212--101 ELOSS=-0.006906'
SCRPT(89)=' ROTATION 202--313 ELOSS= 0.008950'
SCRPT(90)=' ROTATION 313--202 ELOSS=-0.008950'
SCRPT(91)=' ROTATION 303--414 ELOSS= 0.01092 '
SCRPT(92)=' ROTATION 414--303 ELOSS=-0.01092 '
SCRPT(93)=' ROTATION 404--515 ELOSS= 0.01297 '
SCRPT(94)=' ROTATION 515--404 ELOSS=-0.01297 '
SCRPT(95)=' ROTATION 505--616 ELOSS= 0.01511 '
SCRPT(96)=' ROTATION 616--505 ELOSS=-0.01511 '
SCRPT(97)=' ROTATION 606--717 ELOSS= 0.01733 '
SCRPT(98)=' ROTATION 717--606 ELOSS=-0.01733 '
SCRPT(99)=' ROTATION 707--818 ELOSS= 0.01958 '
SCRPT(100)=' ROTATION 818--707 ELOSS=-0.01958 '
SCRPT(101)=' ROTATION 808--919 ELOSS= 0.02184 '
SCRPT(102)=' ROTATION 919--808 ELOSS=-0.02184 '
SCRPT(103)=' ROTATION 110--221 ELOSS= 0.01147 '
SCRPT(104)=' ROTATION 221--110 ELOSS=-0.01147 '
SCRPT(105)=' ROTATION 211--322 ELOSS= 0.01378 '
SCRPT(106)=' ROTATION 322--211 ELOSS=-0.01378 '
SCRPT(107)=' ROTATION 312--423 ELOSS= 0.01575 '
SCRPT(108)=' ROTATION 423--312 ELOSS=-0.01575 '
SCRPT(109)=' ROTATION 413--524 ELOSS= 0.01745 '
SCRPT(110)=' ROTATION 524--413 ELOSS=-0.01745 '
SCRPT(111)=' ROTATION 514--625 ELOSS= 0.01903 '
SCRPT(112)=' ROTATION 625--514 ELOSS=-0.01903 '
SCRPT(113)=' ROTATION 615--726 ELOSS= 0.02067 '
SCRPT(114)=' ROTATION 726--615 ELOSS=-0.02067 '
SCRPT(115)=' ROTATION 716--827 ELOSS= 0.02249 '
SCRPT(116)=' ROTATION 827--716 ELOSS=-0.02249 '
SCRPT(117)=' ROTATION 220--331 ELOSS= 0.01848 '
SCRPT(118)=' ROTATION 331--220 ELOSS=-0.01848 '
SCRPT(119)=' ROTATION 321--432 ELOSS= 0.02112 '
SCRPT(120)=' ROTATION 432--321 ELOSS=-0.02112 '
SCRPT(121)=' ROTATION 422--533 ELOSS= 0.02333 '
SCRPT(122)=' ROTATION 533--422 ELOSS=-0.02333 '
SCRPT(123)=' ROTATION 523--634 ELOSS= 0.02510 '
SCRPT(124)=' ROTATION 634--523 ELOSS=-0.02510 '
SCRPT(125)=' ROTATION 624--735 ELOSS= 0.02652 '
SCRPT(126)=' ROTATION 735--624 ELOSS=-0.02652 '
SCRPT(127)=' ROTATION 725--836 ELOSS= 0.02774 '
SCRPT(128)=' ROTATION 836--725 ELOSS=-0.02774 '
SCRPT(129)=' ROTATION 330--441 ELOSS= 0.02513 '
SCRPT(130)=' ROTATION 441--330 ELOSS=-0.02513 '
SCRPT(131)=' ROTATION 431--542 ELOSS= 0.02805 '
SCRPT(132)=' ROTATION 542--431 ELOSS=-0.02805 '
SCRPT(133)=' ROTATION 532--643 ELOSS= 0.03074 '
SCRPT(134)=' ROTATION 643--532 ELOSS=-0.03074 '
SCRPT(135)=' ROTATION 633--744 ELOSS= 0.03300 '
SCRPT(136)=' ROTATION 744--633 ELOSS=-0.03300 '
SCRPT(137)=' ROTATION 734--845 ELOSS= 0.03476 '
SCRPT(138)=' ROTATION 845--734 ELOSS=-0.03476 '
SCRPT(139)=' ROTATION 440--551 ELOSS= 0.03148 '
SCRPT(140)=' ROTATION 551--440 ELOSS=-0.03148 '
SCRPT(141)=' ROTATION 541--652 ELOSS= 0.03450 '
SCRPT(142)=' ROTATION 652--541 ELOSS=-0.03450 '
SCRPT(143)=' ROTATION 642--753 ELOSS= 0.03743 '
SCRPT(144)=' ROTATION 753--642 ELOSS=-0.03743 '
SCRPT(145)=' ROTATION 743--854 ELOSS= 0.04016 '
SCRPT(146)=' ROTATION 854--743 ELOSS=-0.04016 '
SCRPT(147)=' ROTATION 550--661 ELOSS= 0.03757 '
SCRPT(148)=' ROTATION 661--550 ELOSS=-0.03757 '
SCRPT(149)=' ROTATION 651--762 ELOSS= 0.04061 '
SCRPT(150)=' ROTATION 762--651 ELOSS=-0.04061 '
SCRPT(151)=' ROTATION 752--863 ELOSS= 0.04361 '
SCRPT(152)=' ROTATION 863--752 ELOSS=-0.04361 '
SCRPT(153)=' ROTATION 111--220 ELOSS= 0.01228 '
SCRPT(154)=' ROTATION 220--111 ELOSS=-0.01228 '
SCRPT(155)=' ROTATION 221--330 ELOSS= 0.01866 '
SCRPT(156)=' ROTATION 330--221 ELOSS=-0.01866 '
SCRPT(157)=' ROTATION 331--440 ELOSS= 0.02516 '
SCRPT(158)=' ROTATION 440--331 ELOSS=-0.02516 '
SCRPT(159)=' ROTATION 441--550 ELOSS= 0.03149 '
SCRPT(160)=' ROTATION 550--441 ELOSS=-0.03149 '
SCRPT(161)=' ROTATION 551--660 ELOSS= 0.03757 '
SCRPT(162)=' ROTATION 660--551 ELOSS=-0.03757 '
SCRPT(163)=' ROTATION 661--770 ELOSS= 0.04336 '
SCRPT(164)=' ROTATION 770--661 ELOSS=-0.04336 '
SCRPT(165)=' ROTATION 212--321 ELOSS= 0.01645 '
SCRPT(166)=' ROTATION 321--212 ELOSS=-0.01645 '
SCRPT(167)=' ROTATION 322--431 ELOSS= 0.02201 '
SCRPT(168)=' ROTATION 431--322 ELOSS=-0.02201 '
SCRPT(169)=' ROTATION 432--541 ELOSS= 0.02825 '
SCRPT(170)=' ROTATION 541--432 ELOSS=-0.02825 '
SCRPT(171)=' ROTATION 542--651 ELOSS= 0.03453 '
SCRPT(172)=' ROTATION 651--542 ELOSS=-0.03453 '
SCRPT(173)=' ROTATION 652--761 ELOSS= 0.04062 '
SCRPT(174)=' ROTATION 761--652 ELOSS=-0.04062 '
SCRPT(175)=' ROTATION 313--422 ELOSS= 0.02151 '
SCRPT(176)=' ROTATION 422--313 ELOSS=-0.02151 '
SCRPT(177)=' ROTATION 423--532 ELOSS= 0.02584 '
SCRPT(178)=' ROTATION 532--423 ELOSS=-0.02584 '
SCRPT(179)=' ROTATION 533--642 ELOSS= 0.03147 '
SCRPT(180)=' ROTATION 642--533 ELOSS=-0.03147 '
SCRPT(181)=' ROTATION 643--752 ELOSS= 0.03758 '
SCRPT(182)=' ROTATION 752--643 ELOSS=-0.03758 '
SCRPT(183)=' ROTATION 414--523 ELOSS= 0.02748 '
SCRPT(184)=' ROTATION 523--414 ELOSS=-0.02748 '
SCRPT(185)=' ROTATION 524--633 ELOSS= 0.03042 '
SCRPT(186)=' ROTATION 633--524 ELOSS=-0.03042 '
SCRPT(187)=' ROTATION 634--743 ELOSS= 0.03500 '
SCRPT(188)=' ROTATION 743--634 ELOSS=-0.03500 '
SCRPT(189)=' ROTATION 515--624 ELOSS= 0.03424 '
SCRPT(190)=' ROTATION 624--515 ELOSS=-0.03424 '
SCRPT(191)=' ROTATION 625--734 ELOSS= 0.03589 '
SCRPT(192)=' ROTATION 734--625 ELOSS=-0.03589 '
SCRPT(193)=' ROTATION 616--725 ELOSS= 0.04155 '
SCRPT(194)=' ROTATION 725--616 ELOSS=-0.04155 '
SCRPT(195)=' ROTATION 111--202 ELOSS= 0.004086'
SCRPT(196)=' ROTATION 202--111 ELOSS=-0.004086'
SCRPT(197)=' ROTATION 212--303 ELOSS= 0.007100'
SCRPT(198)=' ROTATION 303--212 ELOSS=-0.007100'
SCRPT(199)=' ROTATION 313--404 ELOSS= 0.009891'
SCRPT(200)=' ROTATION 404--313 ELOSS=-0.009891'
SCRPT(201)=' ROTATION 414--505 ELOSS= 0.01246 '
SCRPT(202)=' ROTATION 505--414 ELOSS=-0.01246 '
SCRPT(203)=' ROTATION 515--606 ELOSS= 0.01489 '
SCRPT(204)=' ROTATION 606--515 ELOSS=-0.01489 '
SCRPT(205)=' ROTATION 616--707 ELOSS= 0.01723 '
SCRPT(206)=' ROTATION 707--616 ELOSS=-0.01723 '
SCRPT(207)=' ROTATION 717--808 ELOSS= 0.01954 '
SCRPT(208)=' ROTATION 808--717 ELOSS=-0.01954 '
SCRPT(209)=' ROTATION 818--909 ELOSS= 0.02182 '
SCRPT(210)=' ROTATION 909--818 ELOSS=-0.02182 '
SCRPT(211)=' ROTATION 221--312 ELOSS= 0.004769'
SCRPT(212)=' ROTATION 312--221 ELOSS=-0.004769'
SCRPT(213)=' ROTATION 322--413 ELOSS= 0.008579'
SCRPT(214)=' ROTATION 413--322 ELOSS=-0.008579'
SCRPT(215)=' ROTATION 423--514 ELOSS= 0.01229 '
SCRPT(216)=' ROTATION 514--423 ELOSS=-0.01229 '
SCRPT(217)=' ROTATION 524--615 ELOSS= 0.01571 '
SCRPT(218)=' ROTATION 615--524 ELOSS=-0.01571 '
SCRPT(219)=' ROTATION 625--716 ELOSS= 0.01876 '
SCRPT(220)=' ROTATION 716--625 ELOSS=-0.01876 '
SCRPT(221)=' ROTATION 726--817 ELOSS= 0.02148 '
SCRPT(222)=' ROTATION 817--726 ELOSS=-0.02148 '
SCRPT(223)=' ROTATION 827--918 ELOSS= 0.02399 '
SCRPT(224)=' ROTATION 918--827 ELOSS=-0.02399 '
SCRPT(225)=' ROTATION 634--725 ELOSS= 0.01654 '
SCRPT(226)=' ROTATION 725--634 ELOSS=-0.01654 '
SCRPT(227)=' VIBRATION V2 B# end SUPERELASTIC ELOSS=-0.1977 '
SCRPT(228)=' VIBRATION V2 B# end ELOSS= 0.1977 '
SCRPT(229)=' VIBRATION V1+V3 STRETCH ELOSS= 0.4535 '
SCRPT(230)=' VIBRATION HARMONICS NV1+NV2+NV3 ELOSS= 0.919 '
SCRPT(231)=' TRIPLET 3B1 ELOSS= 7.04 '
SCRPT(232)=' DIPOLE 1B1 (PART1) F=0.003437 ELOSS= 6.8425 '
SCRPT(233)=' DIPOLE 1B1 (PART2) F=0.017166 ELOSS= 7.2675 '
SCRPT(234)=' DIPOLE 1B1 (PART3) F=0.019703 ELOSS= 7.7725 '
SCRPT(235)=' DIPOLE 1B1 (PART4) F=0.005486 ELOSS= 8.3575 '
SCRPT(236)=' TRIPLET SUM 3A2 + 1A2 + 3A1 ELOSS= 9.1 '
SCRPT(237)=' DIPOLE 1A1 (PART1) F=0.006609 ELOSS= 8.91 '
SCRPT(238)=' DIPOLE 1A1 (PART2) F=0.030025 ELOSS= 9.43 '
SCRPT(239)=' DIPOLE 1A1 (PART3) F=0.030025 ELOSS= 9.95 '
SCRPT(240)=' DIPOLE 1A1 (PART4) F=0.006609 ELOSS= 10.47 '
SCRPT(241)=' TRIPLET 3B1 ELOSS= 9.95 '
SCRPT(242)=' DIPOLE 1B1 (3pa1) F=0.005200 ELOSS= 9.994 '
SCRPT(243)=' DIPOLE 1A1 (3pb1) F=0.014000 ELOSS= 10.172 '
SCRPT(244)=' DIPOLE 3pa1+3pb1 F=0.010700 ELOSS= 10.39 '
SCRPT(245)=' DIPOLE 3pa1+3pb1 F=0.009200 ELOSS= 10.575 '
SCRPT(246)=' DIPOLE 3pa1+3pb1 F=0.006900 ELOSS= 10.78 '
SCRPT(247)=' DIPOLE 3da1+3sa2+3db1F=0.021800 ELOSS= 11.01 '
SCRPT(248)=' DIPOLE 3da1 F=0.023900 ELOSS= 11.122 '
SCRPT(249)=' DIPOLE 4pa1 F=0.013991 ELOSS= 11.377 '
SCRPT(250)=' DIPOLE 4pb1 F=0.009905 ELOSS= 11.525 '
SCRPT(251)=' DIPOLE 4da1+4db1 F=0.023551 ELOSS= 11.75 '
SCRPT(252)=' DIPOLE 5p F=0.007967 ELOSS= 11.94 '
SCRPT(253)=' DIPOLE 5d F=0.018315 ELOSS= 12.08 '
SCRPT(254)=' DIPOLE 6d F=0.011109 ELOSS= 12.24 '
SCRPT(255)=' DIPOLE 7d F=0.008591 ELOSS= 12.34 '
SCRPT(256)=' DIPOLE 8d+9d+10d F=0.028137 ELOSS= 12.50 '
SCRPT(257)=' SUM HIGHER TRIPLETS ELOSS= 13.0 '
SCRPT(258)=' DIPOLE NEUTRAL DISS F=0.119100 ELOSS= 13.117 '
SCRPT(259)=' DIPOLE NEUTRAL DISS F=0.097947 ELOSS= 14.117 '
SCRPT(260)=' DIPOLE NEUTRAL DISS F=0.039540 ELOSS= 15.117 '
SCRPT(261)=' DIPOLE NEUTRAL DISS F=0.042191 ELOSS= 16.117 '
SCRPT(262)=' DIPOLE NEUTRAL DISS F=0.059428 ELOSS= 17.117 '
SCRPT(263)=' DIPOLE NEUTRAL DISS F=0.077707 ELOSS= 18.438 '
SCRPT(264)=' DIPOLE NEUTRAL DISS F=0.013138 ELOSS= 20.316 '
SCRPT(265)=' BREMSSTRAHLUNG FROM OXYGEN ATOM '
SCRPT(266)=' BREMSSTRAHLUNG FROM HYDROGEN ATOMS '
# NULL COLLISIONS
SCRPTN[1]=' H2O: OH(X) GROUND STATE DISSOCIATION '
SCRPTN[2]=' H2O: OH(A-X) 306-350 NM EMISSION '
SCRPTN[3]=' H2O: H ALPHA 3-2 (BALMER) 656.3 NM. EMISSION '
SCRPTN[4]=' H2O: H ALPHA 2-1 (LYMAN) 121.6 NM. EMISSION '
# CALC POPULATION OF LOW ENERGY VIBRATIONAL STATE
APOPV1=math.exp(EIN(211)/AKT)
APOPGS=1.0
APOPSUM=APOPGS+APOPV1
APOPV1=APOPV1/APOPSUM
# KEEP APOPGS=1 TO ALLOW FOR EXCITATIONS FROM UPPER STATE
#
DO 900 I=1,NSTEP
EN=EG[I]
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
#
# ELASTIC
if(EN <= XEL[1]:
) :
QELA=YEL[1]*1.e-16
GO TO 32
# endif
DO 30 J=2,NELA
if(EN <= XEL[J]:
) GO TO 31
30 CONTINUE
J=NELA
31 Y1=math.log(YEL[J])
Y2=math.log(YEL[J-1])
X1=math.log(XEL[J])
X2=math.log(XEL[J-1])
A=(Y1-Y2)/(X1-X2)
B=(X2*Y1-X1*Y2)/(X2-X1)
QELA=math.exp(A*math.log(EN)+B)*1.0D-16
# MOMENTUM TRANSFER ELASTIC
32 if(EN <= XMT[1]) :
QMMT=YMT[1]*1.e-16
GO TO 35
# endif
DO 33 J=2,NMMT
if(EN <= XMT[J]:
) GO TO 34
33 CONTINUE
J=NMMT
34 Y1=math.log(YMT[J])
Y2=math.log(YMT[J-1])
X1=math.log(XMT[J])
X2=math.log(XMT[J-1])
A=(Y1-Y2)/(X1-X2)
B=(X2*Y1-X1*Y2)/(X2-X1)
QMMT=math.exp(A*math.log(EN)+B)*1.e-16
# ANGULAR DISTRIBUTION def OKHRIMOVSKY
35 if(EN <= XEPS[1]) :
EPS=YEPS[1]
GO TO 38
# endif
DO 36 J=2,NEPS
if(EN <= XEPS[J]:
) GO TO 37
36 CONTINUE
J=NEPS
37 A=(YEPS[J]-YEPS[J-1])/(XEPS[J]-XEPS[J-1])
B=(XEPS[J-1]*YEPS[J]-XEPS[J]*YEPS[J-1])/(XEPS[J-1]-XEPS[J])
EPS=A*EN+B
# CONVERT TO (1.0-EPS)
38 EPS=1.0-EPS
# USE ELASTIC
Q[2][I]=QELA
PEQEL[2][I]=EPS
#
# IONISATION CALCULATION
40 DO 41 J=1,NION
PEQION[J][I]=0.0
41 QION[J][I]=0.0
# IF ENERGY LESS THAN 5KEV CALCULATE TOTAL COUNTING AND GROSS IONISATION
if (EN > 5000.):
GO TO 44
if(EN <= EION[1]:
) GO TO 90
DO 42 J=2,NIONC
if(EN <= XION[J]:
) GO TO 43
42 CONTINUE
J=NIONC
43 A=(YIONC[J]-YIONC[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIONC[J]-XION[J]*YIONC[J-1])/(XION[J-1]-XION[J])
QCOUNT=(A*EN+B)*1.e-16
A=(YIONG[J]-YIONG[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIONG[J]-XION[J]*YIONG[J-1])/(XION[J-1]-XION[J])
QGROSS=(A*EN+B)*1.e-16
GO TO 45
# CALCULATE TOTAL COUNTING AND GROSS IONISATION FROM BORN BETHE FIT
44 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QCOUNT=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
QGROSS=QCOUNT*1.022
45 CONTINUE
#
# IONISATION TO H2O+
if(EN > XION1(NION1):
) GO TO 52
if(EN <= XION1[1]:
) GO TO 90
DO 50 J=2,NION1
if(EN <= XION1[J]:
) GO TO 51
50 CONTINUE
J=NION1
51 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])
B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 53
52 QION[1][I]=QCOUNT*0.62996
# IONISATION TO OH+
53 if(EN > XION2(NION2)) GO TO 56
if(EN <= XION2[1]:
) GO TO 90
DO 54 J=2,NION2
if(EN <= XION2[J]:
) GO TO 55
54 CONTINUE
J=NION2
55 A=(YION2[J]-YION2[J-1])/(XION2[J]-XION2[J-1])
B=(XION2[J-1]*YION2[J]-XION2[J]*YION2[J-1])/(XION2[J-1]-XION2[J])
QION[2][I]=(A*EN+B)*1.e-16
GO TO 57
56 QION[2][I]=QCOUNT*0.19383
# IONISATION TO H+
57 if(EN > XION3(NION3)) GO TO 60
if(EN <= XION3[1]:
) GO TO 90
DO 58 J=2,NION3
if(EN <= XION3[J]:
) GO TO 59
58 CONTINUE
J=NION3
59 A=(YION3[J]-YION3[J-1])/(XION3[J]-XION3[J-1])
B=(XION3[J-1]*YION3[J]-XION3[J]*YION3[J-1])/(XION3[J-1]-XION3[J])
QION[3][I]=(A*EN+B)*1.e-16
GO TO 61
60 QION[3][I]=QCOUNT*0.13275
# IONISATION TO O+
61 if(EN > XION4(NION4)) GO TO 64
if(EN <= XION4[1]:
) GO TO 90
DO 62 J=2,NION4
if(EN <= XION4[J]:
) GO TO 63
62 CONTINUE
J=NION4
63 A=(YION4[J]-YION4[J-1])/(XION4[J]-XION4[J-1])
B=(XION4[J-1]*YION4[J]-XION4[J]*YION4[J-1])/(XION4[J-1]-XION4[J])
QION[4][I]=(A*EN+B)*1.e-16
GO TO 65
64 QION[4][I]=QCOUNT*0.02129
# IONISATION TO H2+
65 if(EN > XION5(NION5)) GO TO 68
if(EN <= XION5[1]:
) GO TO 90
DO 66 J=2,NION5
if(EN <= XION5[J]:
) GO TO 67
66 CONTINUE
J=NION5
67 A=(YION5[J]-YION5[J-1])/(XION5[J]-XION5[J-1])
B=(XION5[J-1]*YION5[J]-XION5[J]*YION5[J-1])/(XION5[J-1]-XION5[J])
QION[5][I]=(A*EN+B)*1.e-16
GO TO 73
68 QION[5][I]=QCOUNT*0.00035
# IONISATION TO H+ + OH+
73 if(EN > XION6(NION6)) GO TO 76
if(EN <= XION6[1]:
) GO TO 90
DO 74 J=2,NION6
if(EN <= XION6[J]:
) GO TO 75
74 CONTINUE
J=NION6
75 A=(YION6[J]-YION6[J-1])/(XION6[J]-XION6[J-1])
B=(XION6[J-1]*YION6[J]-XION6[J]*YION6[J-1])/(XION6[J-1]-XION6[J])
QION[6][I]=(A*EN+B)*1.e-16
GO TO 77
76 QION[6][I]=QCOUNT*0.01395
# IONISATION TO H+ + O+
77 if(EN > XION7(NION7)) GO TO 80
if(EN <= XION7[1]:
) GO TO 90
DO 78 J=2,NION7
if(EN <= XION7[J]:
) GO TO 79
78 CONTINUE
J=NION7
79 A=(YION7[J]-YION7[J-1])/(XION7[J]-XION7[J-1])
B=(XION7[J-1]*YION7[J]-XION7[J]*YION7[J-1])/(XION7[J-1]-XION7[J])
QION[7][I]=(A*EN+B)*1.e-16
GO TO 81
80 QION[7][I]=QCOUNT*0.00705
# IONISATION TO O++
81 if(EN > XION8(NION8)) GO TO 84
if(EN <= XION8[1]:
) GO TO 90
DO 82 J=2,NION8
if(EN <= XION8[J]:
) GO TO 83
82 CONTINUE
J=NION8
83 A=(YION8[J]-YION8[J-1])/(XION8[J]-XION8[J-1])
B=(XION8[J-1]*YION8[J]-XION8[J]*YION8[J-1])/(XION8[J-1]-XION8[J])
QION[8][I]=(A*EN+B)*1.e-16
GO TO 85
84 QION[8][I]=QCOUNT*0.00085
# IONISATION TO OXYGEN K-SHELL
85 if(EN <= XKSH[1]) GO TO 90
DO 86 J=2,NKSH
if(EN <= XKSH[J]:
) GO TO 87
86 CONTINUE
J=NKSH
87 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
QION[9][I]=(A*EN+B)*1.e-16
#
90 DO 98 J=1,NION
if(EN <= (2.0*EION[J]:
)) GO TO 98
PEQION[J][I]=PEQEL[2][(I-IOFFION[J]])
98 CONTINUE
#
# ATTACHMENT H-
Q[4][I]=0.0
QATT[1][I]=0.0
if(EN <= XATT1[1]:
or EN >= XATT1(NATT1)) GO TO 103
DO 101 J=2,NATT1
if(EN <= XATT1[J]:
) GO TO 102
101 CONTINUE
J=NATT1
102 YJ=math.log(YATT1[J])
YJ1=math.log(YATT1[J-1])
XJ=math.log(XATT1[J])
XJ1=math.log(XATT1[J-1])
A=(YJ-YJ1)/(XJ-XJ1)
B=(XJ1*YJ-XJ*YJ1)/(XJ1-XJ)
QATT[1][I]=math.exp(A*math.log(EN)+B)*1.e-21
# ATTACHMENT O-
103 QATT[2][I]=0.0
if(EN <= XATT2[1]:
or EN >= XATT2(NATT2)) GO TO 106
DO 104 J=2,NATT2
if(EN <= XATT2[J]:
) GO TO 105
104 CONTINUE
J=NATT2
105 YJ=math.log(YATT2[J])
YJ1=math.log(YATT2[J-1])
XJ=math.log(XATT2[J])
XJ1=math.log(XATT2[J-1])
A=(YJ-YJ1)/(XJ-XJ1)
B=(XJ1*YJ-XJ*YJ1)/(XJ1-XJ)
QATT[2][I]=math.exp(A*math.log(EN)+B)*1.e-21
# ATTACHMENT OH-
106 QATT[3][I]=0.0
if(EN <= XATT3[1]:
or EN >= XATT3(NATT3)) GO TO 109
DO 107 J=2,NATT3
if(EN <= XATT3[J]:
) GO TO 108
107 CONTINUE
J=NATT3
108 YJ=math.log(YATT3[J])
YJ1=math.log(YATT3[J-1])
XJ=math.log(XATT3[J])
XJ1=math.log(XATT3[J-1])
A=(YJ-YJ1)/(XJ-XJ1)
B=(XJ1*YJ-XJ*YJ1)/(XJ1-XJ)
QATT[3][I]=math.exp(A*math.log(EN)+B)*1.e-21
#
109 Q[4][I]=0.0
Q[5][I]=0.0
Q[6][I]=0.0
#
# ZERO INELASTIC ARRAYS
DO 130 L=1,NIN
QIN(L,I)=0.00
PEQIN(L,I)=0.00
130 CONTINUE
# ----------------------------------------------------------------
# DIPOLE BORN ROTATIONAL STATES
#----------------------------------------------------------------
ENRT=math.sqrt(EN)
#
# SUPER ELASTIC ROTATIONAL COLLISIONS
DO 140 L=2,210,2
AL=AJIN(L)
L2=L/2
QIN(L,I)=DBK*SALPHA[L2]*PJ(IMAP(L))*math.log((ENRT+math.sqrt(EN-EIN(L)))/(math.sqrt(EN-EIN(L))-ENRT))/((2.0*AL+1.0)*EN)*AMPROT
# IF ENERGY GT 200OEV SET ROTATION TO 0.0 AND USE AS MOD ELASTIC
if(EN > 2000.0):
:
QIN(L,I)=0.0
GO TO 140
# endif
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(L))
if(EPOINT > ENRTS(NRTANG):
) :
WRITE(6,922) EPOINT,ENRTS(NRTANG),EN
922 print(' ENERGY ERROR IN ROT SUPER ANG CALC EPOINT=','%.4f' % ,' ENRTS=','%.4f' % ,' EN=','%.4f' % )
# endif
DO 131 M=1,NRTANG
if(EPOINT <= ENRTS(M):
) GO TO 132
131 CONTINUE
M=NRTANG
132 A=(YEPSR(M)-YEPSR(M-1))/(ENRTS(M)-ENRTS(M-1))
B=(ENRTS(M-1)*YEPSR(M)-ENRTS(M)*YEPSR(M-1))/(ENRTS(M-1)-ENRTS(M))
EPSIL=A*EPOINT+B
PEQIN(L,I)=1.0-EPSIL
# CALCULATE USED MT XSEC
A=(YMTRT(M)-YMTRT(M-1))/(ENRTS(M)-ENRTS(M-1))
B=(ENRTS(M-1)*YMTRT(M)-ENRTS(M)*YMTRT(M-1))/(ENRTS(M-1)-ENRTS(M))
XSECDUM(L)=A*EPOINT+B
XSECDUM(L)=XSECDUM(L)*QIN(L,I)
140 CONTINUE
#
# ROTATIONAL COLLISIONS
DO 150 L=1,209,2
QIN(L,I)=0.0
if(EN <= EIN(L):
) GO TO 150
AL=AJIN(L)
L2=(L+1)/2
QIN(L,I)=DBK*SALPHA[L2]*PJ(IMAP(L))*math.log((ENRT+math.sqrt(EN-EIN(L)))/(ENRT-math.sqrt(EN-EIN(L))))/((2.0*AL+1.0)*EN)*AMPROT
# IF ENERGY GT 2000EV SET TO 0.0 AND USE MOD ELASTIC
if(EN > 2000.0):
:
QIN(L,I)=0.0
GO TO 150
# endif
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(L))
if(EPOINT > ENROT(NRTANG):
) :
WRITE(6,923) EPOINT,ENROT(NRTANG),EN
923 print(' ENERGY ERROR IN ROT ANG CALC EPOINT=','%.4f' % ,' ENROT=','%.4f' % ,' EN=','%.4f' % )
# endif
DO 141 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 142
141 CONTINUE
M=NRTANG
142 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(L,I)=1.0-EPSIL
# CALCULATE USED MT XSEC
A=(YMTRT(M)-YMTRT(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YMTRT(M)-ENROT(M)*YMTRT(M-1))/(ENROT(M-1)-ENROT(M))
XSECDUM(L)=A*EPOINT+B
XSECDUM(L)=XSECDUM(L)*QIN(L,I)
150 CONTINUE
# CALCULATE TOTAL AND MT SUMS OVER ROTATIONS
# QSUPTT=0.0
# QSUPMT=0.0
# DO 160 L=2,210,2
# QSUPTT=QSUPTT+QIN(L,I)
# QSUPMT=QSUPMT+XSECDUM(L)
# 160 CONTINUE
# QTOTTT=0.0
# QTOTMT=0.0
# DO 161 L=1,209,2
# QTOTTT=QTOTTT+QIN(L,I)
# QTOTMT=QTOTMT+XSECDUM(L)
# QTSMT=QSUPMT+QTOTMT
# QTSEL=QSUPTT+QTOTTT
# 161 CONTINUE
# WRITE(6,944) EN,QSUPTT,QSUPMT,QTOTTT,QTOTMT,QTSEL,QTSMT
# 944 print(' CROSS SECTION ROTATIONAL SUMS AT ENERGY =','%.4f' % ,/,
# /' TOTAL SUPER =','%.4f' % ,' MT SUPER =','%.4f' % ,/,' TOTAL ROTAT =',
# /'%.4f' % ,' MT ROTAT =','%.4f' % ,/,' TOT ROT=','%.4f' % ,' TOT ROT MT=',
# /'%.4f' % )
#
# VIBRATION B# end V2 SUPERELASTIC (DIPOLE 1/E FALL OFF ABOVE ENERGY OF
# XVIB1(NVIB1) EV )
QIN(211,I)=0.0
if(EN <= 0.0):
GO TO 180
if((EN+EIN(212):
) > XVIB1(NVIB1)) GO TO 173
DO 171 J=2,NVIB1
if((EN+EIN(212):
) <= XVIB1[J]) GO TO 172
171 CONTINUE
J=NVIB1
172 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN(211,I)=(EN+EIN(212))*(A*(EN+EIN(212))+B)/EN
GOTO 174
173 QIN(211,I)=YVIB1(NVIB1)*(XVIB1(NVIB1)/(EN+EIN(212)))/EN
174 QIN(211,I)=QIN(211,I)*APOPV1*1.e-16
PEQIN(211,I)=PEQEL[2][(I-IOFFN(211)])
180 CONTINUE
# VIBRATION B# end V2 (DIPOLE 1/E FALL OFF ABOVE ENERGY OF
# XVIB1(NVIB1) EV )
QIN(212,I)=0.0
if(EN <= EIN(212):
) GO TO 210
if(EN > XVIB1(NVIB1):
) GO TO 203
DO 201 J=2,NVIB1
if(EN <= XVIB1[J]:
) GO TO 202
201 CONTINUE
J=NVIB1
202 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN(212,I)=(A*EN+B)
GO TO 204
203 QIN(212,I)=YVIB1(NVIB1)*(XVIB1(NVIB1)/EN)
204 QIN(212,I)=QIN(212,I)*APOPGS*1.e-16
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(212))
if(EPOINT > 500.):
GO TO 2043
DO 2041 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 2042
2041 CONTINUE
M=NRTANG
2042 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(212,I)=1.0-EPSIL
GO TO 210
2043 PEQIN(212,I)=PEQEL[2][(I-IOFFN(212)])
210 CONTINUE
# VIBRATION STRETCH V1+V3
QIN(213,I)=0.0
if(EN <= EIN(213):
) GO TO 220
if(EN > XVIB2(NVIB2):
) GO TO 213
DO 211 J=2,NVIB2
if(EN <= XVIB2[J]:
) GO TO 212
211 CONTINUE
J=NVIB2
212 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN(213,I)=(A*EN+B)*1.e-16
GO TO 214
213 QIN(213,I)=YVIB2(NVIB2)*(XVIB2(NVIB2)/EN)**1.5*1.e-16
214 CONTINUE
if(EN < 1.5):
:
# USE FLAT ANGULAR DISTRIBUTION AT THRESHOLD FOR STRETCH TRANSITION
PEQIN(213,I)=0.0
GO TO 220
# endif
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(213))
if(EPOINT > 500.):
GO TO 2143
DO 2141 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 2142
2141 CONTINUE
M=NRTANG
2142 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(213,I)=1.0-EPSIL
GO TO 220
2143 PEQIN(213,I)=PEQEL[2][(I-IOFFN(213)])
220 CONTINUE
# VIBRATION HARMONICS NV2 + NV1 +NV3
QIN(214,I)=0.0
if(EN <= EIN(214):
) GO TO 230
if(EN > XVIB3(NVIB3):
) GO TO 223
DO 221 J=2,NVIB3
if(EN <= XVIB3[J]:
) GO TO 222
221 CONTINUE
J=NVIB3
222 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN(214,I)=(A*EN+B)*1.e-16
GO TO 224
223 QIN(214,I)=YVIB3(NVIB3)*(XVIB3(NVIB3)/EN)**1.5*1.e-16
224 CONTINUE
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(214))
if(EPOINT > 500.):
GO TO 2243
DO 2241 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 2242
2241 CONTINUE
M=NRTANG
2242 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(214,I)=1.0-EPSIL
GO TO 230
2243 PEQIN(214,I)=PEQEL[2][(I-IOFFN(214)])
230 CONTINUE
# TRIPLET 3B1
QIN(215,I)=0.0
if(EN <= EIN(215):
) GO TO 310
if(EN > XTRP1(NTRP1):
) GO TO 302
DO 300 J=2,NTRP1
if(EN <= XTRP1[J]:
) GO TO 301
300 CONTINUE
J=NTRP1
301 Y1=math.log(YTRP1[J])
Y2=math.log(YTRP1[J-1])
X1=math.log(XTRP1[J])
X2=math.log(XTRP1[J-1])
A=(Y1-Y2)/(X1-X2)
B=(X2*Y1-X1*Y2)/(X2-X1)
QIN(215,I)=math.exp(A*math.log(EN)+B)*1.e-16
GO TO 303
302 QIN(215,I)=YTRP1(NTRP1)*(XTRP1(NTRP1)/EN)**1.5*1.e-16
303 if(EN <= (2.0*EIN(215))) GO TO 310
PEQIN(215,I)=PEQEL[2][(I-IOFFN(215)])
# EXCITATION 1B1 (7.48EV LEVEL SPLIT INTO 4 GROUPS)
310 if(EN <= EIN(216)) GO TO 311
QIN(216,I)=0.003437/(EIN(216)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(216)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(216))
if(QIN(216,I):
< 0.0) QIN(216,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(216))
if(EPOINT > 500.):
GO TO 3103
DO 3101 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3102
3101 CONTINUE
M=NRTANG
3102 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(216,I)=1.0-EPSIL
GO TO 311
3103 PEQIN(216,I)=PEQEL[2][(I-IOFFN(216)])
# EXCITATION 1B1 (7.48EV LEVEL SPLIT INTO 4 GROUPS)
311 if(EN <= EIN(217)) GO TO 312
QIN(217,I)=0.017166/(EIN(217)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(217)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(217))
if(QIN(217,I):
< 0.0) QIN(217,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(217))
if(EPOINT > 500.):
GO TO 3113
DO 3111 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3112
3111 CONTINUE
M=NRTANG
3112 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(217,I)=1.0-EPSIL
GO TO 312
3113 PEQIN(217,I)=PEQEL[2][(I-IOFFN(217)])
# EXCITATION 1B1 (7.48EV LEVEL SPLIT INTO 4 GROUPS)
312 if(EN <= EIN(218)) GO TO 313
QIN(218,I)=0.019703/(EIN(218)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(218)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(218))
if(QIN(218,I):
< 0.0) QIN(218,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(218))
if(EPOINT > 500.):
GO TO 3123
DO 3121 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3122
3121 CONTINUE
M=NRTANG
3122 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(218,I)=1.0-EPSIL
GO TO 313
3123 PEQIN(218,I)=PEQEL[2][(I-IOFFN(218)])
# EXCITATION 1B1 (7.48EV LEVEL SPLIT INTO 4 GROUPS)
313 if(EN <= EIN(219)) GO TO 314
QIN(219,I)=0.005486/(EIN(219)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(219)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(219))
if(QIN(219,I):
< 0.0) QIN(219,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(219))
if(EPOINT > 500.):
GO TO 3133
DO 3131 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3132
3131 CONTINUE
M=NRTANG
3132 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(219,I)=1.0-EPSIL
GO TO 314
3133 PEQIN(219,I)=PEQEL[2][(I-IOFFN(219)])
# TRIPLET ( 3A2 + 1A2 + 3A1) 9.1EV
314 QIN(220,I)=0.0
if(EN <= EIN(220):
) GO TO 322
if(EN > XTRP2(NTRP2):
) GO TO 317
DO 315 J=2,NTRP2
if(EN <= XTRP2[J]:
) GO TO 316
315 CONTINUE
J=NTRP2
316 Y1=math.log(YTRP2[J])
Y2=math.log(YTRP2[J-1])
X1=math.log(XTRP2[J])
X2=math.log(XTRP2[J-1])
A=(Y1-Y2)/(X1-X2)
B=(X2*Y1-X1*Y2)/(X2-X1)
QIN(220,I)=math.exp(A*math.log(EN)+B)*1.e-16
GO TO 318
317 QIN(220,I)=YTRP2(NTRP2)*(XTRP2(NTRP2)/EN)**1.5*1.e-16
318 if(EN <= (2.0*EIN(220))) GO TO 322
PEQIN(220,I)=PEQEL[2][(I-IOFFN(220)])
# EXCITATION 1A1 (9.69EV LEVEL SPLIT INTO 4 GROUPS)
322 if(EN <= EIN(221)) GO TO 323
QIN(221,I)=0.006609/(EIN(221)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(221)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(221))
if(QIN(221,I):
< 0.0) QIN(221,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(221))
if(EPOINT > 500.):
GO TO 3223
DO 3221 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3222
3221 CONTINUE
M=NRTANG
3222 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(221,I)=1.0-EPSIL
GO TO 323
3223 PEQIN(221,I)=PEQEL[2][(I-IOFFN(221)])
# EXCITATION 1A1 (9.69EV LEVEL SPLIT INTO 4 GROUPS)
323 if(EN <= EIN(222)) GO TO 324
QIN(222,I)=0.030025/(EIN(222)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(222)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(222))
if(QIN(222,I):
< 0.0) QIN(222,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(222))
if(EPOINT > 500.):
GO TO 3233
DO 3231 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3232
3231 CONTINUE
M=NRTANG
3232 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(222,I)=1.0-EPSIL
GO TO 324
3233 PEQIN(222,I)=PEQEL[2][(I-IOFFN(222)])
# EXCITATION 1A1 (9.69EV LEVEL SPLIT INTO 4 GROUPS)
324 if(EN <= EIN(223)) GO TO 325
QIN(223,I)=0.030025/(EIN(223)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(223)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(223))
if(QIN(223,I):
< 0.0) QIN(223,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(223))
if(EPOINT > 500.):
GO TO 3243
DO 3241 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3242
3241 CONTINUE
M=NRTANG
3242 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(223,I)=1.0-EPSIL
GO TO 325
3243 PEQIN(223,I)=PEQEL[2][(I-IOFFN(223)])
# EXCITATION 1A1 (9.69EV LEVEL SPLIT INTO 4 GROUPS)
325 if(EN <= EIN(224)) GO TO 326
QIN(224,I)=0.006609/(EIN(224)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(224)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(224))
if(QIN(224,I):
< 0.0) QIN(224,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(224))
if(EPOINT > 500.):
GO TO 3253
DO 3251 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3252
3251 CONTINUE
M=NRTANG
3252 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(224,I)=1.0-EPSIL
GO TO 326
3253 PEQIN(224,I)=PEQEL[2][(I-IOFFN(224)])
# TRIPLET 3B1 9.95 EV
326 QIN(225,I)=0.0
if(EN <= EIN(225):
) GO TO 332
if(EN > XTRP3(NTRP3):
) GO TO 329
DO 327 J=2,NTRP3
if(EN <= XTRP3[J]:
) GO TO 328
327 CONTINUE
J=NTRP3
328 Y1=math.log(YTRP3[J])
Y2=math.log(YTRP3[J-1])
X1=math.log(XTRP3[J])
X2=math.log(XTRP3[J-1])
A=(Y1-Y2)/(X1-X2)
B=(X2*Y1-X1*Y2)/(X2-X1)
QIN(225,I)=math.exp(A*math.log(EN)+B)*1.e-16
GO TO 330
329 QIN(225,I)=YTRP3(NTRP3)*(XTRP3(NTRP3)/EN)**1.5*1.e-16
330 if(EN <= (2.0*EIN(225))) GO TO 332
PEQIN(225,I)=PEQEL[2][(I-IOFFN(225)])
# EXCITATION 1B1 (3pa1) 9.994 EV
332 if(EN <= EIN(226)) GO TO 333
QIN(226,I)=0.005200/(EIN(226)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(226)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(226))
if(QIN(226,I):
< 0.0) QIN(226,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(226))
if(EPOINT > 500.):
GO TO 3323
DO 3321 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3322
3321 CONTINUE
M=NRTANG
3322 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(226,I)=1.0-EPSIL
GO TO 333
3323 PEQIN(226,I)=PEQEL[2][(I-IOFFN(226)])
# EXCITATION 1A1 (3pa1+3pb1) 10.172 EV
333 if(EN <= EIN(227)) GO TO 334
QIN(227,I)=0.014000/(EIN(227)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(227)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(227))
if(QIN(227,I):
< 0.0) QIN(227,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(227))
if(EPOINT > 500.):
GO TO 3333
DO 3331 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3332
3331 CONTINUE
M=NRTANG
3332 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(227,I)=1.0-EPSIL
GO TO 334
3333 PEQIN(227,I)=PEQEL[2][(I-IOFFN(227)])
# EXCITATION 3pa1+3pb1 10.39 EV
334 if(EN <= EIN(228)) GO TO 335
QIN(228,I)=0.010700/(EIN(228)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(228)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(228))
if(QIN(228,I):
< 0.0) QIN(228,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(228))
if(EPOINT > 500.):
GO TO 3343
DO 3341 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3342
3341 CONTINUE
M=NRTANG
3342 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(228,I)=1.0-EPSIL
GO TO 335
3343 PEQIN(228,I)=PEQEL[2][(I-IOFFN(228)])
# EXCITATION 3pa1+3pb1 10.575EV
335 if(EN <= EIN(229)) GO TO 336
QIN(229,I)=0.009200/(EIN(229)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(229)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(229))
if(QIN(229,I):
< 0.0) QIN(229,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(229))
if(EPOINT > 500.):
GO TO 3353
DO 3351 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3352
3351 CONTINUE
M=NRTANG
3352 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(229,I)=1.0-EPSIL
GO TO 336
3353 PEQIN(229,I)=PEQEL[2][(I-IOFFN(229)])
# EXCITATION 3pa1+3pb1 10.78 EV
336 if(EN <= EIN(230)) GO TO 337
QIN(230,I)=0.006900/(EIN(230)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(230)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(230))
if(QIN(230,I):
< 0.0) QIN(230,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(230))
if(EPOINT > 500.):
GO TO 3363
DO 3361 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3362
3361 CONTINUE
M=NRTANG
3362 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(230,I)=1.0-EPSIL
GO TO 337
3363 PEQIN(230,I)=PEQEL[2][(I-IOFFN(230)])
# EXCITATION 3da1+3da2+3db1 11.01 EV
337 if(EN <= EIN(231)) GO TO 338
QIN(231,I)=0.021800/(EIN(231)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(231)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(231))
if(QIN(231,I):
< 0.0) QIN(231,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(231))
if(EPOINT > 500.):
GO TO 3373
DO 3371 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3372
3371 CONTINUE
M=NRTANG
3372 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(231,I)=1.0-EPSIL
GO TO 338
3373 PEQIN(231,I)=PEQEL[2][(I-IOFFN(231)])
# EXCITATION 3da1 11.122 EV
338 if(EN <= EIN(232)) GO TO 339
QIN(232,I)=0.023900/(EIN(232)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(232)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(232))
if(QIN(232,I):
< 0.0) QIN(232,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(232))
if(EPOINT > 500.):
GO TO 3383
DO 3381 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3382
3381 CONTINUE
M=NRTANG
3382 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(232,I)=1.0-EPSIL
GO TO 339
3383 PEQIN(232,I)=PEQEL[2][(I-IOFFN(232)])
# EXCITATION 4pa1 11.377 EV
339 if(EN <= EIN(233)) GO TO 340
QIN(233,I)=0.013991/(EIN(233)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(233)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(233))
if(QIN(233,I):
< 0.0) QIN(233,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(233))
if(EPOINT > 500.):
GO TO 3393
DO 3391 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3392
3391 CONTINUE
M=NRTANG
3392 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(233,I)=1.0-EPSIL
GO TO 340
3393 PEQIN(233,I)=PEQEL[2][(I-IOFFN(233)])
# EXCITATION 4pb1 11.525 EV
340 if(EN <= EIN(234)) GO TO 341
QIN(234,I)=0.009905/(EIN(234)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(234)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(234))
if(QIN(234,I):
< 0.0) QIN(234,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(234))
if(EPOINT > 500.):
GO TO 3403
DO 3401 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3402
3401 CONTINUE
M=NRTANG
3402 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(234,I)=1.0-EPSIL
GO TO 341
3403 PEQIN(234,I)=PEQEL[2][(I-IOFFN(234)])
# EXCITATION 4da1+4db1 11.75 EV
341 if(EN <= EIN(235)) GO TO 342
QIN(235,I)=0.023551/(EIN(235)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(235)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(235))
if(QIN(235,I):
< 0.0) QIN(235,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(235))
if(EPOINT > 500.):
GO TO 3413
DO 3411 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3412
3411 CONTINUE
M=NRTANG
3412 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(235,I)=1.0-EPSIL
GO TO 342
3413 PEQIN(235,I)=PEQEL[2][(I-IOFFN(235)])
# EXCITATION 5p 11.94 EV
342 if(EN <= EIN(236)) GO TO 343
QIN(236,I)=0.007967/(EIN(236)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(236)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(236))
if(QIN(236,I):
< 0.0) QIN(236,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(236))
if(EPOINT > 500.):
GO TO 3423
DO 3421 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3422
3421 CONTINUE
M=NRTANG
3422 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(236,I)=1.0-EPSIL
GO TO 343
3423 PEQIN(236,I)=PEQEL[2][(I-IOFFN(236)])
# EXCITATION 5d 12.08 EV
343 if(EN <= EIN(237)) GO TO 344
QIN(237,I)=0.018315/(EIN(237)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(237)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(237))
if(QIN(237,I):
< 0.0) QIN(237,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(237))
if(EPOINT > 500.):
GO TO 3433
DO 3431 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3432
3431 CONTINUE
M=NRTANG
3432 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(237,I)=1.0-EPSIL
GO TO 344
3433 PEQIN(237,I)=PEQEL[2][(I-IOFFN(237)])
# EXCITATION 6d 12.24 EV
344 if(EN <= EIN(238)) GO TO 345
QIN(238,I)=0.011109/(EIN(238)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(238)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(238))
if(QIN(238,I):
< 0.0) QIN(238,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(238))
if(EPOINT > 500.):
GO TO 3443
DO 3441 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3442
3441 CONTINUE
M=NRTANG
3442 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(238,I)=1.0-EPSIL
GO TO 345
3443 PEQIN(238,I)=PEQEL[2][(I-IOFFN(238)])
# EXCITATION 7d 12.34 EV
345 if(EN <= EIN(239)) GO TO 346
QIN(239,I)=0.008591/(EIN(239)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(239)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(239))
if(QIN(239,I):
< 0.0) QIN(239,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(239))
if(EPOINT > 500.):
GO TO 3453
DO 3451 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3452
3451 CONTINUE
M=NRTANG
3452 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(239,I)=1.0-EPSIL
GO TO 346
3453 PEQIN(239,I)=PEQEL[2][(I-IOFFN(239)])
# EXCITATION 8d+9d+10d 12.50 EV
346 if(EN <= EIN(240)) GO TO 347
QIN(240,I)=0.028137/(EIN(240)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(240)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(240))
if(QIN(240,I):
< 0.0) QIN(240,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(240))
if(EPOINT > 500.):
GO TO 3463
DO 3461 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3462
3461 CONTINUE
M=NRTANG
3462 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(240,I)=1.0-EPSIL
GO TO 347
3463 PEQIN(240,I)=PEQEL[2][(I-IOFFN(240)])
# TRIPLET SUM OF HIGHER TRIPLETS 13.0 EV
347 QIN(241,I)=0.0
if(EN <= EIN(241):
) GO TO 353
if(EN > XTRP4(NTRP4):
) GO TO 350
DO 348 J=2,NTRP4
if(EN <= XTRP4[J]:
) GO TO 349
348 CONTINUE
J=NTRP4
349 Y1=math.log(YTRP4[J])
Y2=math.log(YTRP4[J-1])
X1=math.log(XTRP4[J])
X2=math.log(XTRP4[J-1])
A=(Y1-Y2)/(X1-X2)
B=(X2*Y1-X1*Y2)/(X2-X1)
QIN(241,I)=math.exp(A*math.log(EN)+B)*1.e-16
GO TO 351
350 QIN(241,I)=YTRP4(NTRP4)*(XTRP4(NTRP4)/EN)**1.5*1.e-16
351 if(EN <= (2.0*EIN(241))) GO TO 353
PEQIN(241,I)=PEQEL[2][(I-IOFFN(241)])
# EXCITATION NEUTRAL DISSOCIATION ELOSS=13.117
353 if(EN <= EIN(242)) GO TO 354
QIN(242,I)=0.119100/(EIN(242)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(242)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(242))
if(QIN(242,I):
< 0.0) QIN(242,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(242))
if(EPOINT > 500.):
GO TO 3533
DO 3531 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3532
3531 CONTINUE
M=NRTANG
3532 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(242,I)=1.0-EPSIL
GO TO 354
3533 PEQIN(242,I)=PEQEL[2][(I-IOFFN(242)])
# EXCITATION NEUTRAL DISSOCIATION ELOSS=14.117
354 if(EN <= EIN(243)) GO TO 355
QIN(243,I)=0.097947/(EIN(243)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(243)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(243))
if(QIN(243,I):
< 0.0) QIN(243,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(243))
if(EPOINT > 500.):
GO TO 3543
DO 3541 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3542
3541 CONTINUE
M=NRTANG
3542 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(243,I)=1.0-EPSIL
GO TO 355
3543 PEQIN(243,I)=PEQEL[2][(I-IOFFN(243)])
# EXCITATION NEUTRAL DISSOCIATION ELOSS=15.117
355 if(EN <= EIN(244)) GO TO 356
QIN(244,I)=0.039540/(EIN(244)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(244)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(244))
if(QIN(244,I):
< 0.0) QIN(244,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(244))
if(EPOINT > 500.):
GO TO 3553
DO 3551 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3552
3551 CONTINUE
M=NRTANG
3552 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(244,I)=1.0-EPSIL
GO TO 356
3553 PEQIN(244,I)=PEQEL[2][(I-IOFFN(244)])
# EXCITATION NEUTRAL DISSOCIATION ELOSS=16.117
356 if(EN <= EIN(245)) GO TO 357
QIN(245,I)=0.042191/(EIN(245)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(245)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(245))
if(QIN(245,I):
< 0.0) QIN(245,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(245))
if(EPOINT > 500.):
GO TO 3563
DO 3561 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3562
3561 CONTINUE
M=NRTANG
3562 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(245,I)=1.0-EPSIL
GO TO 357
3563 PEQIN(245,I)=PEQEL[2][(I-IOFFN(245)])
# EXCITATION NEUTRAL DISSOCIATION ELOSS=17.117
357 if(EN <= EIN(246)) GO TO 358
QIN(246,I)=0.059428/(EIN(246)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(246)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(246))
if(QIN(246,I):
< 0.0) QIN(246,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(246))
if(EPOINT > 500.):
GO TO 3573
DO 3571 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3572
3571 CONTINUE
M=NRTANG
3572 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(246,I)=1.0-EPSIL
GO TO 358
3573 PEQIN(246,I)=PEQEL[2][(I-IOFFN(246)])
# EXCITATION NEUTRAL DISSOCIATION ELOSS=18.438
358 if(EN <= EIN(247)) GO TO 359
QIN(247,I)=0.077707/(EIN(247)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(247)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(247))
if(QIN(247,I):
< 0.0) QIN(247,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(247))
if(EPOINT > 500.):
GO TO 3583
DO 3581 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3582
3581 CONTINUE
M=NRTANG
3582 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(247,I)=1.0-EPSIL
GO TO 359
3583 PEQIN(247,I)=PEQEL[2][(I-IOFFN(247)])
# EXCITATION NEUTRAL DISSOCIATION ELOSS=20.316
359 if(EN <= EIN(248)) GO TO 360
QIN(248,I)=0.013838/(EIN(248)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(248)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+E[3]+EIN(248))
if(QIN(248,I):
< 0.0) QIN(248,I)=0.0
# CALCULATE DIPOLE ANGULAR DISTRIBUTION FACTOR FOR TRANSITION
EPOINT=EN/abs(EIN(248))
if(EPOINT > 500.):
GO TO 3593
DO 3591 M=1,NRTANG
if(EPOINT <= ENROT(M):
) GO TO 3592
3591 CONTINUE
M=NRTANG
3592 A=(YEPSR(M)-YEPSR(M-1))/(ENROT(M)-ENROT(M-1))
B=(ENROT(M-1)*YEPSR(M)-ENROT(M)*YEPSR(M-1))/(ENROT(M-1)-ENROT(M))
EPSIL=A*EPOINT+B
PEQIN(248,I)=1.0-EPSIL
GO TO 360
3593 PEQIN(248,I)=PEQEL[2][(I-IOFFN(248)])
360 CONTINUE
#
# LOAD BREMSSTRAHLUNG X-SECTION
QIN(249,I)=0.0
QIN(250,I)=0.0
if(EN <= 1000.):
GO TO 800
DO 780 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 790
780 CONTINUE
J=NBREM
790 A=(math.log(Z8T[J])-math.log(Z8T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z8T[J])*EBRM[J-1]-math.log(Z8T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN(249,I)=math.exp(A*EN+B)*1.e-24
A=(math.log(Z1T[J])-math.log(Z1T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z1T[J])*EBRM[J-1]-math.log(Z1T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN(250,I)=math.exp(A*EN+B)*2.e-24
800 CONTINUE
#----------------------------------------------------------------------
# LOAD NULL COLLISIONS
# OH PRODUCTION FROM DISSOCIATION HARB ET AL J.CHEM.PHYS. 115(1001)5507
# SCALED ABOVE 200EV BY 1/ENERGY
QNULL[1][I]=0.0
if(EN <= XNUL1[1]:
) GO TO 805
if(EN > XNUL1(NUL1):
) GO TO 803
DO 801 J=2,NUL1
if(EN <= XNUL1[J]:
) GO TO 802
801 CONTINUE
J=NUL1
802 A=(YNUL1[J]-YNUL1[J-1])/(XNUL1[J]-XNUL1[J-1])
B=(XNUL1[J-1]*YNUL1[J]-XNUL1[J]*YNUL1[J-1])/(XNUL1[J-1]-XNUL1[J])
QNULL[1][I]=(A*EN+B)*1.e-16*SCLN[1]
GO TO 805
# SCALE BY 1/E ABOVE XNUL1(NUL1) EV
803 QNULL[1][I]=YNUL1(NUL1)*(XNUL1(NUL1)/EN)*1.e-16*SCLN[1]
# LIGHT EMISSION FROM OH(A-X) MOHLMANN AND DEHEER CHEM.PHYS.19(1979)233
805 QNULL[2][I]=0.0
if(EN <= XNUL2[1]:
) GO TO 810
if(EN > XNUL2(NUL2):
) GO TO 808
DO 806 J=2,NUL2
if(EN <= XNUL2[J]:
) GO TO 807
806 CONTINUE
J=NUL2
807 A=(YNUL2[J]-YNUL2[J-1])/(XNUL2[J]-XNUL2[J-1])
B=(XNUL2[J-1]*YNUL2[J]-XNUL2[J]*YNUL2[J-1])/(XNUL2[J-1]-XNUL2[J])
QNULL[2][I]=(A*EN+B)*1.e-16*SCLN[2]
GO TO 810
# SCALE BY 1/E ABOVE XNUL2(NUL2) EV
808 QNULL[2][I]=YNUL2(NUL2)*(XNUL2(NUL2)/EN)*1.e-16*SCLN[2]
# LIGHT EMISSION FROM H(3-2) MOHLMANN AND DEHEER CHEM.PHYS.19(1979)233
810 QNULL[3][I]=0.0
if(EN <= XNUL3[1]:
) GO TO 815
if(EN > XNUL3(NUL3):
) GO TO 813
DO 811 J=2,NUL3
if(EN <= XNUL3[J]:
) GO TO 812
811 CONTINUE
J=NUL3
812 A=(YNUL3[J]-YNUL3[J-1])/(XNUL3[J]-XNUL3[J-1])
B=(XNUL3[J-1]*YNUL3[J]-XNUL3[J]*YNUL3[J-1])/(XNUL3[J-1]-XNUL3[J])
QNULL[3][I]=(A*EN+B)*1.e-16*SCLN[3]
GO TO 815
# SCALE BY 1/E ABOVE XNUL3(NUL3) EV
813 QNULL[3][I]=YNUL3(NUL3)*(XNUL3(NUL3)/EN)*1.e-16*SCLN[3]
# LIGHT EMISSION FROM H(2-1) MOHLMANN AND DEHEER CHEM.PHYS.19(1979)233
815 QNULL[4][I]=0.0
if(EN <= XNUL4[1]:
) GO TO 820
if(EN > XNUL4(NUL4):
) GO TO 818
DO 816 J=2,NUL4
if(EN <= XNUL4[J]:
) GO TO 817
816 CONTINUE
J=NUL4
817 A=(YNUL4[J]-YNUL4[J-1])/(XNUL4[J]-XNUL4[J-1])
B=(XNUL4[J-1]*YNUL4[J]-XNUL4[J]*YNUL4[J-1])/(XNUL4[J-1]-XNUL4[J])
QNULL[4][I]=(A*EN+B)*1.e-16*SCLN[4]
GO TO 820
# SCALE BY 1/E ABOVE XNUL4(NUL4) EV
818 QNULL[4][I]=YNUL4(NUL4)*(XNUL4(NUL4)/EN)*1.e-16*SCLN[4]
#
820 CONTINUE
# CALC X-SEC SUMS
SUMROT=0.0
DO 850 K=1,210
SUMROT=SUMROT+QIN(K,I)
850 CONTINUE
SUMVIB=0.0
DO 851 K=211,214
SUMVIB=SUMVIB+QIN(K,I)
851 CONTINUE
SUMINEL=0.0
DO 852 K=215,250
SUMINEL=SUMINEL+QIN(K,I)
852 CONTINUE
#
SUMTRP=QIN(215,I)+QIN(220,I)+QIN(225,I)+QIN(230,I)
SUMSNG=SUMINEL-SUMTRP
#
SUMATT=0.0
DO 855 K=1,NATT
SUMATT=SUMATT+QATT(K,I)
855 CONTINUE
SUMION=0.0
DO 856 K=1,NION
SUMION=SUMION+QION(K,I)
856 CONTINUE
SUMTOT=SUMION+SUMSNG+SUMTRP+SUMATT+SUMVIB+SUMROT
#---------------------------------------------------------------------
# print out some x-secs
# WRITE(6,991) EN,SUMROT,SUMVIB,SUMATT,SUMTRP,SUMSNG,SUMION,SUMTOT
# 991 print(' EN=','%.3f' % ,' ROT=','%.3f' %,' VIB=','%.3f' %,' SUMATT=','%.3f' %,
# /' SUMTRP=','%.3f' %,' SUMSNG=','%.3f' %,' SUMION=','%.3f' %,' SUMTOT=',
# /'%.3f' %)
#
#-------------------------------------------------------------
# SET ELASTIC MT TO BE ISOTROPIC
# PEQEL[2][I]=0.0
#----------------------------------------------------------------------
#
900 CONTINUE
# SAVE COMPUTE TIME
DO 1000 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 1001
# endif
1000 CONTINUE
1001 CONTINUE
if(EFINAL > 1000.):
NIN=250
#
return
# end
def GAS15(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XELA[153],YELA[153],YMOM(153),YEPS(153),XROT13[63],YROT13[63],XROT35[55],YROT35[55],XROT57[55],YROT57[55],XROT79[50],YROT79[50],XROT911[48],YROT911[48],XROT1113[46],YROT1113[46],XROT1315[45],YROT1315[45],XROT1517[44],YROT1517[44],XROT1719[43],YROT1719[43],XROT1921[41],YROT1921[41],XROT2123[40],YROT2123[40],XROT2325[39],YROT2325[39],XROT2527[38],YROT2527[38],XROT2729[37],YROT2729[37],XROT2931[36],YROT2931[36],XROT3133[34],YROT3133[34],XROT3335[33],YROT3335[33],XROT3537[32],YROT3537[32],XROT3739[32],YROT3739[32],XROT3941[31],YROT3941[31],XROT4143[31],YROT4143[31],XROT4345[30],YROT4345[30],XROT4547[30],YROT4547[30],XROT4749[29],YROT4749[29],XVIB[60],YVIB1[60],YVIB2[60],YVIB3[60],YVIB4[60],YVIB5[60],YVIB6[60],YVIB7[60],YVIB8[60],YVIB9[60],YVIB10[60],YVIB11[60],YVIB12[60],YVIB13[60],YVIB14[60],YVIB15[60],YVIB16[60],YVIB17[60],YVIB18[60],YVIB19[60],YVIB20[60],YVIB21[60],X3ATT[32],Y3ATT[32],XATT[31],YATT[31],XEXC1[40],YEXC1[40],XEXC2[31],YEXC2[31],XEXC3[16],YEXC3[16], XEXC4[15],YEXC4[15],XEXC5[14],YEXC5[14],XEXC6[14],YEXC6[14], XEXC7[14],YEXC7[14],XEXC8[15],YEXC8[15],XEXC9[14],YEXC9[14],XROT[48],YROT[48],XIONC(85),YIONC(85),XION1(85),YION1(85),XION2(70),YION2(70),XION3[50],YION3[50],XION4[47],YION4[47],XION5[44],YION5[44],XKSH(81),YKSH(81),IOFFN(150),IOFFION[8],PJ[50]
DIMENSION Z8T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# ELASTIC X-SECTIONS ASSUMED ISOTROPIC BELOW 2.0EV
XELA=[0.00,.001,.003,.005,.007,.010,.015,.020,.025,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.11,0.12,0.14,0.17,0.20,0.30,0.40,0.50,0.60,0.80,1.00,1.20,1.50,2.00,2.50,3.00,4.00,5.00,6.00,8.00,10.0,12.0,15.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC MOMENTUM TRANSFER
YMOM=[0.15,0.17,0.18,0.19,0.21,0.24,0.31,0.45,0.70,1.20,2.35,3.00,3.40,3.60,3.65,3.70,3.73,3.77,3.79,3.83,3.86,3.90,3.95,4.00,4.02,4.21,4.86,5.74,6.44,6.80,6.58,6.37,6.05,5.80,5.70,5.65,5.60,5.55,5.50,5.45,5.40,5.30,5.15,4.85,4.50,4.10,3.55,3.05,2.43,1.94,1.60,1.34,.991,.768,.616,.507,.426,.364,.275,.216,.175,.145,.122,.0847,.0625,.0481,.0383,.0261,.0190,.0145,.0114,.00929,.00770,.00556,.00422,.00332,.00269,.00222,.00149,.00107,8.10e-4,6.37e-4,4.26e-4,3.07e-4,2.32e-4,1.83e-4,1.48e-4,1.23e-4,8.88e-5,6.77e-5,5.35e-5,4.36e-5,3.63e-5,2.47e-5,1.81e-5,1.40e-5,1.12e-5,7.79e-6,5.81e-6,4.55e-6,3.69e-6,3.07e-6,2.61e-6,1.97e-6,1.56e-6,1.27e-6,1.06e-6,9.04e-7,6.46e-7,4.88e-7,3.84e-7,3.11e-7,2.18e-7,1.62e-7,1.26e-7,1.01e-7,8.26e-8,6.91e-8,5.06e-8,3.88e-8,3.07e-8,2.50e-8,2.07e-8,1.39e-8,1.00e-8,7.57e-9,5.93e-9,3.94e-9,2.81e-9,2.11e-9,1.64e-9,1.31e-9,1.08e-9,7.61e-10,5.66e-10,4.38e-10,3.48e-10,2.83e-10,1.83e-10,1.27e-10,9.39e-11,7.20e-11,4.62e-11,3.21e-11,2.36e-11,1.81e-11,1.43e-11,1.16e-11,8.04e-12,5.91e-12,4.52e-12,3.57e-12,2.90e-12]
# ELASTIC
YELA=[0.15,0.17,0.18,0.19,0.21,0.24,0.31,0.45,0.70,1.20,2.35,3.00,3.40,3.60,3.65,3.70,3.73,3.77,3.79,3.83,3.86,3.90,3.95,4.00,4.02,4.21,4.86,5.74,6.44,6.80,6.58,6.37,6.21,6.58,7.03,7.48,7.96,8.82,9.31,9.34,9.11,9.36,9.15,8.46,7.66,6.85,5.96,5.20,4.50,3.92,3.56,3.27,2.84,2.53,2.29,2.09,1.93,1.80,1.59,1.42,1.29,1.18,1.09,.910,.784,.689,.614,.506,.430,.374,.331,.297,.269,.227,.197,.174,.155,.141,.114,.0961,.0832,.0735,.0598,.0506,.0440,.0391,.0352,.0322,.0275,.0242,.0217,.0198,.0183,.0155,.0137,.0124,.0114,.0100,.00913,.00850,.00803,.00767,.00739,.00698,.00670,.00649,.00634,.00622,.00601,.00588,.00580,.00574,.00567,.00562,.00560,.00558,.00556,.00555,.00554,.00553,.00552,.00552,.00552,.00551,.00551,.00551,.00551,.00551,.00551,.00551,.00551,22*.00550]
YEPS=[30*1.0,1.0000,1.0000,.96137,.82331,.72073,.64268,.57229,.47655,.42962,.42099, .43201,.40075,.39681,.40896,.42569,.43895,.43546,.42459,.37079,.32162,.27516,.23726,.18398,.14816,.12316,.10538,.09155,.08026,.06441,.05351,.04563,.03969,.03507,.02705,.02196,.01844,.01587,.01240,.010154,.008595,.007441,.006561,.005865,.004834,.004110,.003572,.003159,.002830,.002244,.001857,.001582,.001378,.001092,.0009027,.0007678,.0006671,.0005892,5.269e-4,4.335e-4,3.669e-4,3.176e-4,2.790e-4,2.484e-4,1.933e-4,1.571e-4,1.313e-4,1.122e-4,8.584e-5,6.857e-5,5.647e-5,4.759e-5,4.079e-5,3.547e-5,2.768e-5,2.233e-5,1.847e-5,1.556e-5,1.331e-5,9.559e-6,7.186e-6,5.613e-6,4.510e-6,3.105e-6,2.270e-6,1.734e-6,1.369e-6,1.108e-6,9.156e-7,6.559e-7,4.931e-7,3.842e-7,3.079e-7,2.520e-7,1.648e-7,1.161e-7,8.6108e-8,6.6395e-8,4.2939e-8,2.9994e-8,2.2104e-8,1.6952e-8,1.3407e-8,1.0856e-8,7.519e-9,5.500e-9,4.188e-9,3.290e-9,2.648e-9,1.669e-9,1.142e-9,8.28e-10,6.26e-10,3.93e-10,2.68e-10,1.94e-10,1.47e-10,1.15e-10,9.1D-11,6.3D-11,4.5D-11,3.4D-11,2.7D-11,2.2D-11]
XROT13=[.00178301,.001986,.002055,.002191,.002395,.002558,.002871,.003116,.003442,.003796,.004082,.004368,.004626,.004966,.005347,.005823,.006422,.007334,.008164,.009524,.01088,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
# NOTE ALL ROTATIONAL X-SECTIONS IN ARRAYS BELOW ARE
# SCALED BY 0.75 IN def
YROT13=[1.e-5,.00476,.00505,.00536,.00545,.00550,.00550,.00545,.00524,.00505,.00485,.00462,.00481,.00550,.00677,.00944,.0129,.0191,.0235,.0308,.0392,.0462,.0532,.0616,.0728,.0826,.0924,.1022,.1148,.1260,.1400,.1540,.1680,.1904,.2184,.2464,.2856,.3304,.4200,.5180,.6160,.7140,.8960,1.064,1.232,1.358,1.498,1.646,1.826,1.957,2.055,2.204,2.248,2.299,2.299,2.220,2.094,1.982,1.851,1.728,1.610,1.534,1.263]
XROT35=[.00320941,.003333,.003470,.004055,.004544,.005048,.005497,.005769,.006368,.007143,.008014,.009347,.01088,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT35=[1.e-5,.00196,.00415,.00411,.00407,.00411,.00454,.00540,.00767,.01146,.01658,.02407,.02940,.03556,.04200,.04900,.05600,.06300,.07000,.07700,.08540,.09380,.1022,.1120,.1232,.1372,.1568,.1848,.2128,.2324,.2940,.3640,.4396,.5236,.6440,.7700,.8820,.9940,1.064,1.170,1.299,1.394,1.462,1.568,1.602,1.635,1.635,1.579,1.490,1.411,1.316,1.229,1.145,1.092,.8988]
XROT57=[.00463581,.004762,.004898,.005170,.005442,.005783,.006123,.006803,.007483,.008164,.008844,.009524,.01088,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT57=[1.e-5,.00280,.00286,.00308,.00330,.00356,.00420,.00588,.00812,.01092,.01344,.01680,.02296,.02884,.03416,.03920,.04536,.05180,.05880,.06580,.07280,.08120,.0882,.0952,.1036,.1232,.1400,.1596,.1932,.2100,.2839,.3500,.4144,.4844,.6048,.7196,.8316,.9184,1.011,1.112,1.235,1.322,1.389,1.490,1.520,1.554,1.554,1.501,1.414,1.338,1.252,1.168,1.089,1.036,.8540]
XROT79=[.00606221,.006259,.006803,.007483,.008164,.008844,.009524,.01088,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT79=[1.e-5,.00280,.00350,.00490,.00658,.00840,.01064,.01596,.02156,.02632,.03080,.03696,.04340,.04900,.05600,.06160,.06860,.07560,.08260,.0896,.1050,.1260,.1512,.1764,.1988,.2688,.3321,.3940,.4578,.5743,.6821,.7899,.8705,.9601,1.055,1.170,1.255,1.319,1.413,1.442,1.474,1.474,1.423,1.343,1.271,1.186,1.107,1.032,.9836,.8095]
XROT911=[.00748861,.007619,.008164,.008844,.009524,.01088,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT911=[1.e-5,.00280,.00336,.00420,.00546,.00910,.01316,.01764,.02100,.02632,.03136,.04077,.04200,.04760,.05600,.06160,.06720,.07560,.09240,.1148,.1344,.1568,.1820,.2436,.3136,.3780,.4379,.5496,.6524,.7557,.8330,.9190,1.010,1.120,1.201,1.261,1.352,1.379,1.410,1.410,1.362,1.285,1.216,1.135,1.060,.9878,.9411,.7748]
XROT1113=[.00891501,.009456,.009524,.01088,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT1113=[1.e-5,.00280,.00308,.00616,.01036,.01372,.01736,.02156,.02604,.03080,.03724,.04200,.04760,.05320,.06020,.06720,.08120,.1036,.1232,.1456,.1680,.2296,.2884,.3461,.4012,.5034,.5978,.6922,.7630,.8585,.9248,1.026,1.100,1.155,1.238,1.263,1.291,1.291,1.247,1.177,1.114,1.040,.9705,.9044,.8621,.7095]
XROT1315=[.01034141,.01061,.01088,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT1315=[1.e-5,.00280,.00364,.00700,.01036,.01344,.01708,.02100,.02576,.03024,.03500,.04060,.04620,.05096,.05712,.07420,.09240,.1120,.1316,.1512,.2100,.2660,.3192,.3699,.4642,.5513,.6384,.7036,.7762,.8532,.9458,1.014,1.065,1.142,1.165,1.191,1.191,1.151,1.085,1.027,.9590,.8952,.8341,.7949,.6544]
XROT1517=[.01176781,.01197,.01225,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT1517=[1.e-5,.00280,.00350,.00560,.00840,.01148,.01512,.02044,.02464,.02968,.03416,.03780,.04340,.04900,.06300,.08120,.09880,.1176,.1372,.1904,.2436,.2962,.3433,.4308,.5115,.5923,.6529,.7202,.7916,.8778,.9411,.9881,1.060,1.081,1.105,1.105,1.068,1.007,.9531,.8898,.8305,.7739,.7378,.6070]
XROT1719=[.01319421,.01333,.01361,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT1719=[1.e-5,.00280,.00336,.00518,.00770,.01022,.01400,.01764,.02128,.02548,.03080,.03556,.04200,.05460,.07000,.08680,.1064,.1274,.1736,.2226,.2762,.3202,.4018,.4771,.5525,.6090,.6717,.7383,.8187,.8777,.9216,.9881,1.008,1.031,1.031,.9957,.9392,.8890,.8299,.7747,.7220,.6881,.5663]
XROT1921=[.01462061,.01497,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT1921=[1.e-5,.00280,.00476,.00678,.01036,.01358,.01680,.01988,.02492,.03080,.03640,.04760,.06300,.07980,.09800,.1190,.1652,.2128,.2588,.3000,.3765,.4470,.5176,.5706,.6294,.6918,.7671,.8224,.8635,.9259,.9447,.9659,.9659,.9329,.8800,.8329,.7776,.7259,.6765,.6447,.5306]
XROT2123=[.01604701,.01633,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT2123=[1.e-5,.00280,.00448,.00700,.00980,.01288,.01624,.02016,.02464,.02940,.03920,.05320,.06720,.08960,.1106,.1554,.2017,.2435,.2822,.3541,.4206,.4869,.5368,.5921,.6507,.7216,.7736,.8123,.8711,.8887,.9086,.9086,.8775,.8280,.7834,.7316,.6829,.6364,.6065,.4992]
XROT2325=[.01747341,.01769,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT2325=[1.e-5,.00280,.00504,.00784,.01064,.01456,.01904,.02380,.02884,.03836,.05209,.06580,.08792,.1084,.1523,.1977,.2388,.2768,.3472,.4124,.4774,.5264,.5807,.6381,.7076,.7585,.7966,.8540,.8714,.8910,.8910,.8607,.8117,.7683,.7174,.6695,.6241,.5947,.4894]
XROT2527=[.01889981,.01905,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT2527=[1.e-5,.00280,.00504,.00868,.01288,.01568,.02072,.02576,.03752,.05096,.06468,.08624,.1064,.1495,.1939,.2342,.2715,.3408,.4046,.4684,.5163,.5696,.6261,.6941,.7442,.7815,.8378,.8548,.8742,.8742,.8442,.7963,.7538,.7036,.6569,.6121,.5835,.4802]
XROT2729=[.02032621,.02041,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT2729=[1.e-5,.00280,.00490,.00980,.01344,.01904,.02296,.03360,.04900,.06300,.08459,.1044,.1467,.1903,.2299,.2664,.3343,.3970,.4598,.5068,.5589,.6143,.6812,.7302,.7669,.8224,.8389,.8576,.8576,.8285,.7815,.7398,.6905,.6446,.6009,.5726,.4712]
XROT2931=[.02175261,.02177,.02313,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT2931=[1.e-5,.00280,.00378,.01008,.01456,.01904,.03136,.04704,.06104,.08305,.1025,.1440,.1868,.2257,.2615,.3282,.3898,.4514,.4976,.5488,.6031,.6686,.7168,.7529,.8072,.8235,.8420,.8420,.8134,.7672,.7260,.6779,.6328,.5897,.5620,.4626]
XROT3133=[.02317901,.02449,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT3133=[1.e-5,.00280,.00784,.01232,.03080,.04620,.05995,.08156,.1007,.1414,.1835,.2216,.2568,.3223,.3828,.4432,.4886,.5390,.5922,.6566,.7039,.7392,.7927,.8086,.8268,.8268,.7988,.7535,.7132,.6658,.6213,.5790,.5519,.4542]
XROT3335=[.02460541,.02585,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT3335=[1.e-5,.00280,.00518,.02800,.04480,.05656,.07700,.09887,.1389,.1802,.2177,.2523,.3167,.3760,.4355,.4799,.5258,.5818,.6451,.6916,.7263,.7787,.7944,.8123,.8123,.7846,.7400,.7006,.6541,.6104,.5690,.5421,.4463]
XROT3537=[.02603181,.02721,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT3537=[1.e-5,.00280,.02576,.04200,.05488,.07566,.09717,.1365,.1771,.2139,.2479,.3111,.3696,.4278,.4715,.5167,.5718,.6339,.6796,.7137,.7652,.7806,.7983,.7983,.7708,.7272,.6882,.6427,.5998,.5592,.5328,.4385]
XROT3739=[.02745821,.02857,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT3739=[1.e-5,.00280,.02532,.04127,.05396,.07437,.09551,.1342,.1741,.2103,.2437,.3058,.3632,.4206,.4634,.5079,.5620,.6230,.6681,.7014,.7521,.7675,.7846,.7846,.7577,.7148,.6765,.6317,.5897,.5494,.5236,.4309]
XROT3941=[.02888461,.02993,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT3941=[1.e-5,.00280,.03780,.05306,.07311,.09391,.1320,.1712,.2067,.2396,.3007,.3570,.4136,.4556,.4995,.5524,.6126,.6569,.6896,.7395,.7546,.7714,.7714,.7451,.7028,.6653,.6210,.5796,.5404,.5149,.4236]
XROT4143=[.03031101,.03129,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT4143=[1.e-5,.00280,.03500,.05219,.07190,.09237,.1298,.1683,.2033,.2357,.2957,.3511,.4068,.4480,.4914,.5435,.6026,.6460,.6782,.7272,.7420,.7588,.7588,.7328,.6913,.6544,.6110,.5701,.5314,.5065,.4166]
XROT4345=[.03173741,.03265,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT4345=[1.e-5,.00280,.05040,.07073,.09086,.1277,.1656,.2000,.2318,.2909,.3455,.4001,.4407,.4836,.5345,.5928,.6353,.6672,.7154,.7300,.7465,.7465,.7210,.6801,.6437,.6009,.5608,.5228,.4981,.4099]
XROT4547=[.03316381,.03402,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT4547=[1.e-5,.00280,.04760,.06961,.08940,.1256,.1630,.1968,.2281,.2862,.3399,.3937,.4337,.4757,.5261,.5832,.6252,.6566,.7039,.7182,.7344,.7344,.7095,.6692,.6334,.5914,.5519,.5144,.4903,.4035]
XROT4749=[.03459021,.03538,.03810,.04082,.04762,.05442,.06123,.06803,.08164,.09524,.1088,.1225,.1361,.1537,.1796,.2027,.2340,.2721,.3129,.3578,.4177,.4830,.5810,.6626,.7837,.9279,1.029,1.105,1.361]
YROT4749=[1.e-5,.00280,.04480,.08800,.1236,.1604,.1937,.2246,.2817,.3346,.3875,.4270,.4682,.5177,.5740,.6154,.6462,.6930,.7070,.7230,.7230,.6983,.6586,.6233,.5821,.5432,.5062,.4824,.3970]
XVIB=[.193,0.20,0.21,0.23,0.32,0.33,0.35,0.44,0.45,0.47,0.56,0.57,0.59,0.68,0.69,0.71,0.79,0.80,0.82,0.90, 0.91,0.93,1.02,1.03,1.05,1.13,1.14,1.16,1.23,1.24, 1.26,1.34,1.35,1.37,1.44,1.45,1.47,1.54,1.55,1.57, 1.63,1.65,1.67,3.00,4.00,5.00,6.00,7.00,8.00,9.00, 9.50,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0]
#
YVIB1=[0.00,.050,.050,0.00,0.00,.800,0.00,0.00,1.00,0.00,0.00,1.35,0.00,0.00,1.32,0.00,0.00,1.02,0.00,0.00, .611,0.00,0.00,.290,0.00,0.00,.115,0.00,0.00,.049, 0.00,0.00,.017,0.00,0.00,.0056,0.00,0.00,.0019,0.00, 0.00,.0006,0.00,.027,.033,.055,.115,.220,.321,.412, .458,.458,.366,.266,.179,.119,.078,.046,.023,.011]
YVIB2=[0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00, 0.00,.142,0.00,0.00,.422,0.00,0.00,.544,0.00,0.00, .473,0.00,0.00,.321,0.00,0.00,.204,0.00,0.00,.097, 0.00,0.00,.041,0.00,0.00,.018,0.00,0.00,.008,0.00, 0.00,.003,0.00,.0110,.0128,.0220,.0458,.0879,.128,.165,.183,.183,.147,.106,.071,.048,.032,.018,.0092,.0046]
YVIB3=[0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00, 0.00,0.00,0.00,0.00,.0038,0.00,0.00,.0219,0.0,0.0, .092,0.00,0.00,.122,0.00,0.00,.117,0.00,0.00,.097, 0.00,0.00,.056,0.00,0.00,.031,0.00,0.00,.0168,0.00, 0.00,.008,0.00,.0043,.0063,.0108,.0224,.0429,.0627,.0806, .090,.090,.0716,.0519,.0349,.0233,.0153,.0090,.0047,.0022]
YVIB4=[0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00, 0.00,0.00,0.00,0.00,0.00,0.00,0.00,.0015,0.00,0.0, .0056,0.00,0.0,.0097,0.00,0.0,.0168,0.00,0.0,.0321, 0.00,0.00,.0341,0.0,0.00,.0290,0.00,0.0,.0219,0.00, 0.00,.0168,0.00,.00258,.00376,.00645,.0134,.0257,.0376,.0483, .0537,.0537,.0429,.0311,.0210,.0139,.0092,.00537,.00269,.00134]
YVIB5=[40*0.0,0.00,0.00,0.00,.00172,.00250,.00429,.00895,.0172,.0250,.0323,.0358,.0358,.0287,.0208,.0139,.00931,.00608,.00358,.00179,.00090]
YVIB6=[40*0.0,0.0,0.0,0.0,.00108,.00157,.00269,.00560,.0108,.0157,.0201,.0224,.0224,.0179,.0130,.00873,.00582,.00381,.00224,.00112,.00056]
YVIB7=[40*0.0,0.0,0.0,0.0,.000738,.00108,.00184,.00385,.00738,.0108,.0138,.0154,.0154,.0123,.00891,.00599,.00400,.00261,.00154,.000768,.000385]
YVIB8=[40*0.0,0.0,0.0,0.0,.000572,.000833,.00142,.00298,.00572,.00833,.0107,.0119,.0119,.00952,.00691,.00464,.00309,.00202,.00119,.000595,.000297]
YVIB9=[40*0.0,0.0,0.0,0.0,.000459,.000670,.00115,.00239,.00459,.00670,.00858,.00956,.00956,.00765,.00555,.00373,.00248,.00163,.000956,.000478,.000239]
YVIB10=[40*0.0,0.0,0.0,0.0,.000368,.000537,.000921,.00192,.00368,.00537,.00691,.00767,.00767,.00614,.00445,.00299,.00199,.00130,.000767,.000384,.000192]
YVIB11=[40*0.0,0.0,0.0,0.0,.000209,.000304,.000521,.00109,.00209,.00304,.00391,.00434,.00434,.00348,.00252,.00170,.00113,.000739,.000434,.000218,.000109]
YVIB12=[40*0.0,0.0,0.0,0.0,.000153,.000224,.000384,.000799,.00154,.00224,.00288,.00319,.00319,.00255,.00185,.00124,.000830,.000543,.000319,.000160,.0000799]
YVIB13=[40*0.0,0.0,0.0,0.0,.000123,.000179,.000306,.000638,.00122,.00179,.00230,.00255,.00255,.00205,.00149,.000996,.000664,.000434,.000255,.000127,.0000639]
YVIB14=[40*0.0,0.0,0.0,0.0,.000086,.000125,.000215,.000448,.000860,.00125,.00161,.00179,.00179,.00143,.00104,.000698,.000466,.000304,.000179,.000090,.000045]
YVIB15=[40*0.0,.0,0.0,0.0,6.16e-5,8.97e-5,.000154,.000321,.000616,.000897,.00115,.00128,.00128,.00103,.000744,.000500,.000334,.000218,.000128,.000064,.0000321]
YVIB16=[40*0.0,.0,0.0,0.0,5.51e-5,8.05e-5,.000138,.000287,.000551,.000805,.00104,.00115,.00115,.000920,.000666,.000449,.000299,.000195,.000115,.0000575,.0000288]
YVIB17=[40*0.0,.0,.0,0.0,4.93e-5,7.19e-5,.000123,.000257,.000493,.000719,.000925,.00103,.00103,.000822,.000596,.000401,.000268,.000175,.000103,.0000514,.0000257]
YVIB18=[40*0.0,.0,.0,0.0,4.34e-5,6.34e-5,.000109,.000227,.000434,.000634,.000815,.000906,.000906,.000724,.000525,.000353,.000235,.000154,.0000906,.0000453,.0000226]
YVIB19=[40*0.0,.0,.0,0.0,3.66e-5,5.34e-5,9.16e-5,.000191,.000366,.000534,.000687,.000763,.000763,.000611,.000443,.000297,.000198,.000129,.0000763,.0000382,.0000191]
YVIB20=[40*0.0,.0,.0,0.0,3.07e-5,4.49e-5,7.69e-5,.000160,.000307,.000449,.000577,.000641,.000641,.000513,.000371,.000250,.000167,.000109,.0000641,.0000321,.0000160]
YVIB21=[40*0.0,0.0,0.0,0.0,.000116,.000170,.000292,.000607,.00117,.00170,.00219,.00243,.00243,.00194,.00141,.000948,.000632,.000413,.000243,.000121,.0000607]
# USED RAPP NORMALISED TO LINDSAY AT MAXIMUM (110EV) : ABOVE
# MAXIMUM USED LINDSAY TO 1KEV : NORMALISED SCHRAM TO 16KEV
# : MATRIX ELEMENTS FROM RIEKE AND BERKOWITZ ANALYSIS
# NB.ALL CROSS SECTIONS ADJUSTED TO GIVE COUNTING IONISATION.
XIONC=[12.071,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5, 17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5, 22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0, 50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,108.,118.,138.,158.,178.,198.,223.,248.,273., 298.,348.,398.,448.,498.,548.,598.,648.,698.,748., 798.,848.,898.,948.,998.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
# COUNTING IONISATION
YIONC=[0.0,.0052,.0117,.024,.034,.047,.061,.073,.087,.105, .124,.143,.164,.184,.205,.225,.247,.269,.290,.312, .336,.435,.538,.641,.754,.873,.981,1.09,1.26,1.49, 1.69,1.84,1.97,2.07,2.16,2.23,2.28,2.34,2.37,2.40,2.42,2.45,2.45,2.42,2.40,2.34,2.28,2.19,2.12,2.01,1.94,1.80,1.68,1.56,1.46,1.38,1.30,1.24,1.19,1.12,1.06,1.03,.987,.950,.922,.805,.718,.645,.587,.540, .457,.393,.347,.310,.284,.262,.240,.224,.196,.178,.162,.149,.127,.112,.101]
# IONISATION TO O2+ ASYMPTOTIC 64.75% OF COUNTING IONISATION
XION1=[12.071,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5, 17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,108.,118.,138.,158.,178.,198.,223.,248.,273., 298.,348.,398.,448.,498.,548.,598.,648.,698.,748., 798.,848.,898.,948.,998.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
YION1=[0.0,.0052,.0117,.024,.034,.047,.061,.073,.087,.105, .124,.143,.164,.184,.205,.225,.247,.269,.288,.306, .326,.406,.486,.563,.640,.723,.795,.872,.980,1.12, 1.25,1.32,1.39,1.43,1.47,1.50,1.51,1.53,1.53,1.53,1.54,1.54,1.53,1.50,1.48,1.53,1.39,1.34,1.31,1.24,1.20,1.13,1.05,.983,.923,.882,.827,.800,.761,.720,.686,.671,.643,.617,.597,.522,.465,.418,.380,.350,.296,.255,.225,.201,.184,.170,.155,.145,.127,.115, .105,.0965,.0823,.0726,.0654]
# SINGLE IONISATION TO O+ ASYMPTOTIC 29.93% OF COUNTING IONISATION
XION2=[20.701,21.0,21.5,22.0,22.5,23.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,108.,118.,138.,158.,178.,198.,223.,248.,273.,298.,348.,398.,448.,498.,548.,598.,648.,698.,748.,798.,848.,898.,948.,998.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
YION2=[0.0,.00218,.00582,.0094,.0131,.0167,.0287,.0531,.0781,.114,.151,.186,.222,.281,.353,.428,.486,.541,.593,.633,.661,.692,.723,.741,.758,.767,.785,.786,.780,.770,.759,.736,.709,.680,.648,.620,.570,.530,.490,.459,.426,.398,.376,.361,.338,.321,.309,.292,.284,.276,.241,.215,.193,.176,.162,.137,.118,.104,.0928,.0850,.0784,.0718,.0670,.0587,.0533,.0485,.0446,.0380,.0335,.0302]
# DOUBLE IONISATION TO O+ + O+ FROM TIAN AND VIDAL
# ASYMPTOTIC EXTENSION 4.46% OF COUNTING IONISATION.
XION3=[38.46,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
YION3=[0.0,.0099,.0207,.0409,.0615,.0793,.0966,.110,.129,.136,.132,.128,.121,.113,.106,.100,.0885,.0804,.0718,.0667,.0607,.0592,.0560,.0538,.0504,.0478,.0460,.0435,.0423,.0411,.0359,.0320,.0288,.0262,.0241,.0204,.0176,.0155,.0138,.0127,.0117,.0107,.00998,.00875,.00794,.00723,.00665,.00566,.00499,.00450]
# DOUBLE IONISATION TO O++ + O FROM TIAN AND VIDAL AND LINDSAY
# ASYMTOTIC EXTENSION 0.61% OF COUNTING IONISATION
XION4=[68.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
YION4=[0.0,.000561,.00176,.00453,.00568,.0106,.0128,.0141,.0152,.0149,.0144,.0140,.0129,.0122,.0113,.0103,.00932,.00837,.00805,.00762,.00732,.00685,.00650,.00626,.00592,.00575,.00559,.00488,.00435,.00392,.00356,.00328,.00277,.00239,.00211,.00188,.00173,.00159,.00146,.00136,.00119,.00108,.000983,.000904,.000770,.000679,.000612]
# TREBLE IONISATION TO O++ + O+ FROM TIAN AND VIDAL
# ASYMPTOTIC EXTENSION 0.25% OF COUNTING IONISATION
XION5=[90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
YION5=[0.0,.000565,.00248,.00466,.00619,.00712,.00761,.00763,.00733,.00711,.00627,.00554,.00477,.00414,.00371,.00329,.00311,.00299,.00280,.00266,.00256,.00242,.00235,.00228,.00199,.00178,.00160,.00145,.00134,.00113,.000977,.000862,.000768,.000707,.000650,.000597,.000556,.000486,.000441,.000402,.000369,.000315,.000278,.000250]
# OXYGEN K-SHELL IONISATION X-SECTION (MULTIPLY BY 2 FOR MOLECULE)
XKSH=[532.,541.,557.,574.,591.,609.,627.,646.,665.,685.,706.,727.,749.,793.,841.,891.,944.,1000.,1090.,1188.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.00D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.00D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.00D6,1.25D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.26D7,1.50D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.00D8,1.26D8,1.50D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.00D9]
YKSH=[0.00,3.31e-5,8.86e-5,1.42e-4,1.95e-4,2.45e-4,2.94e-4,3.41e-4,3.87e-4,4.31e-4,4.73e-4,5.14e-4,5.53e-4,6.27e-4,6.95e-4,7.56e-4,8.13e-4,8.63e-4,9.29e-4,9.84e-4,1.03e-3,1.08e-3,1.10e-3,1.11e-3,1.11e-3,1.10e-3,1.08e-3,1.03e-3,9.24e-4,8.27e-4,6.81e-4,5.49e-4,4.18e-4,3.35e-4,2.90e-4,2.50e-4,2.04e-4,1.77e-4,1.53e-4,1.39e-4,1.26e-4,1.11e-4,8.62e-5,7.45e-5,6.36e-5,5.75e-5,5.48e-5,5.29e-5,5.20e-5,5.13e-5,5.08e-5,5.08e-5,5.12e-5,5.24e-5,5.47e-5,5.68e-5,5.84e-5,6.00e-5,6.13e-5,6.26e-5,6.44e-5,6.65e-5,6.81e-5,7.11e-5,7.50e-5,7.78e-5,7.97e-5,8.17e-5,8.31e-5,8.45e-5,8.65e-5,8.87e-5,9.04e-5,9.36e-5,9.75e-5,1.00e-4,1.02e-4,1.04e-4,1.06e-4,1.07e-4,1.09e-4]
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24 CM**2
Z8T=[477.,294.,145.,81.6,45.8,21.2,12.2,7.69,5.22,4.76,4.84,4.99,5.10,5.20,5.27,5.38,5.46,5.58,5.65,5.72,5.77,5.80,5.81,5.83,5.84]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# THREE BODY ATTACHMENT
# TABLE IN UNITS OF 10**-16 FOR P=760 TORR AND T=20 CELSIUS
X3ATT=[0.058,.065,.073,.083,.089,.095,.103,.109,0.20,0.21,0.23,0.32,0.33,0.35,0.44,0.45,0.47,0.56,0.57,0.59,0.68,0.69,0.71,0.79,0.80,0.82,0.90,0.91,0.93,1.02,1.03,1.05]
Y3ATT=[.000,.0704,.1394,.4477,.1042,.2091,.4477,.000,.000,.0934,.000,.000,.0602,.000,.000,.0380,.000,.000,.0288,.000,.000,.0210,.000,.000,.0184,.000,.000,.0144,.000,.000,.0110,.000]
# DISSOCIATIVE ATTACHMENT RAPP AND BRIGLIA
# SCALED BY *0.72 AND ENERGY OFFSET BY -0.3EV
XATT=[3.90,4.10,4.30,4.50,4.70,4.90,5.10,5.30,5.50,5.70, 5.90,6.00,6.10,6.20,6.30,6.40,6.50,6.70,6.90,7.10, 7.30,7.50,7.70,7.90,8.10,8.30,8.50,8.70,9.10,9.70, 11.7]
YATT=[0.00,.000187,.000504,.000950,.00158,.00259,.00386,.00538,.00690,.00821, .00943,.00979,.01008,.01015,.01008,.00986,.00965,.00864,.00763,.00646, .00531,.00411,.00323,.00240,.00171,.00120,.000886,.000634,.000382,.000202,.000072]
# EXCITATION TO VIBRATIONALLY SUMMED A1 DELTA G ALLAN 1995
# SCALED BY 1/E**2 ABOVE 40 EV
XEXC1=[.977,0.982,1.20,1.50,2.00,2.50,3.00,3.50,4.00,4.50,5.00,5.50,6.00,6.50,7.00,7.50,8.00,8.50,9.00,9.50,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,15.0,16.0,17.0,18.0,20.0,22.0,25.0,28.0,31.0,35.0,40.0]
YEXC1=[0.00,.00102,.00407,.00712,.0122,.0168,.0265,.0397,.0539,.0661,.0783,.0906,.0977,.0997,.0987,.0967,.0936,.0906,.0865,.0834,.0794,.0763,.0743,.0722,.0692,.0682,.0651,.0621,.0605,.0539,.0488,.0448,.0407,.0346,.0305,.0249,.0214,.0188,.0153,.0122]
# EXCITATION TO VIBRATIONALLY SUMMED B1 SIGMA G+ ALLAN 1995
# SCALED BY 1/E**2 ABOVE 17 EV
XEXC2=[1.627,1.640,2.00,2.50,3.00,3.50,4.00,4.50,5.00,5.50,6.00,6.50,7.00,7.50,8.00,8.50,9.00,9.50,10.0,10.5,11.0,12.0,13.0,14.0,15.0,17.0,20.0,25.0,30.0,35.0,40.0]
YEXC2=[0.0,.00102,.00214,.00407,.00651,.00916,.0116,.0153,.0198,.0234,.0254,.0244,.0224,.0214,.0204,.0193,.0188,.0183,.0178,.0173,.0168,.0163,.0153,.0148,.0142,.0132,.0112,.00906,.00733,.00631,.00519]
# EXCITATION SUM OF C1SIGMA A#3DELTA AND A3SIGMA HERZBERG CONTINUUM
# SPLIT INTO THREE ENERGY LOSSES AT 5.5 6.0 AND 6.5 EV
# PART1
XEXC3=[5.50,6.00,6.50,7.00,7.50,8.00,9.00,10.0,11.0,12.0,14.0,16.0,18.0,20.0,30.0,45.0]
YEXC3=[0.00,.0224,.0224,.0244,.0285,.0305,.0356,.0366,.0366,.0356,.0326,.0305,.0295,.0265,.0163,.0116]
# PART 2
XEXC4=[6.00,6.50,7.00,7.50,8.00,9.00,10.0,11.0,12.0,14.0,16.0,18.0,20.0,30.0,45.0]
YEXC4=[0.00,.0448,.0549,.0560,.0611,.0712,.0733,.0733,.0733,.0672,.0631,.0590,.0539,.0315,.0234]
# PART 3
XEXC5=[6.50,7.00,7.50,8.00,9.00,10.0,11.0,12.0,14.0,16.0,18.0,20.0,30.0,45.0]
YEXC5=[0.00,.0183,.0254,.0305,.0356,.0366,.0366,.0356,.0326,.0305,.0295,.0265,.0163,.0116]
# SUM OF TRIPLET STATES AT 8.20 EV AND RESONANT PART OF S-R CONTINUUM
XEXC6=[8.20,10.0,11.0,12.0,13.0,15.0,17.0,20.0,23.0,27.0,30.0,40.0,50.0,80.0]
YEXC6=[0.00,0.21,0.36,0.46,0.50,0.52,0.52,0.46,0.39,0.32,0.29,0.24,.205,.135]
# RESONANT PART OF LONG BAND
XEXC7=[9.972,11.0,12.0,14.0,16.0,18.0,20.0,24.0,28.0,32.0,36.0,40.0,60.0,80.0]
YEXC7=[0.00,.022,.038,.050,.053,.055,.056,.051,.042,.035,.030,.026,.017,.013]
# TRIPLET STATE SUM BELOW IONISATION
XEXC8=[10.6,12.0,13.0,14.0,16.0,18.0,20.0,24.0,28.0,32.0,36.0,40.0,50.0,60.0,80.0]
YEXC8=[0.0,.0878,.130,.145,.159,.169,.173,.156,.135,.111, .097,.087,.067,.055,.040]
# TRIPLET STATE SUM ABOVE IONISATION
XEXC9=[13.1,14.0,15.0,16.0,18.0,20.0,24.0,28.0,32.0,36.0,40.0,50.0,60.0,80.0]
YEXC9=[0.0,.0658,.122,.142,.157,.169,.174,.163,.146,.125,.111,.087,.073,.054]
# ROTATIONAL RESONANCE FROM VIBRATIONS (PHELPS)
XROT=[.020,.021,.025,0.07,0.08,0.10,0.20,0.21,0.22,0.32,0.33,0.35,0.44,0.45,0.47,0.56,0.57,0.59,0.68,0.69,0.71,0.79,0.80,0.82,0.90,0.91,0.93,1.02,1.03,1.05,1.13,1.14,1.16,1.23,1.24,1.26,1.34,1.35,1.37,1.44,1.45,1.47,1.54,1.55,1.57,1.64,1.65,1.67]
YROT=[0.00,0.00,0.00,0.00,.0054,.00,0.00,.0216,.00,.000,.0384,.00,0.00,.054,0.00,0.00,.067,0.00,0.00,0.08,0.00,0.00,.094,0.00,0.00,.084,0.00,0.00,.072,0.00,0.00,.047,0.00,0.00,.040,0.00,0.00,.036,0.00,0.00,.024,0.00,0.00,.012,0.00,0.00,.0048,0.00]
# ----------------------------------------------------------------------
# 2005:
#--------
# X-SECTIONS DERIVED FROM LAWTON AND PHELPS : J.CHEM.PHYS. 69(1978)1055
# VIBRATIONAL X-SECTION ADJUSTED TO FIT ARGON MIXTURE OF:
# JEON AND NAKAMURA J.APPL.PHYS D 31(1998) 2145-2150
# ELASTIC X-SECTION DERIVED FROM FIT TO PURE OXYGEN OF:
# JEON AND NAKAMURA (AS ABOVE) AT HIGH FIELD ,
# AND THE AT LOW FIELD OF :
# CROMPTON AND ELFORD AUST. J. PHYS. 26(1973)771-782
# REID AND CROMPTON AUST. J. PHYS. 33(1980)215-216
# N.B THE 3-BODY ATTACHMENT X-SECTION IS INCLUDED IN THE def.
# ------------------------------------------------------------------
# 2015:
#-------
# UPDATED FIT TO ABOVE NOW ALSO INCLUDES TOWNS# end UP TO
# 2000TD FROM :
# YOSHIDA ET AL J.PHYS.D.29(1996)2124
#
# ALSO USED OSCILLATOR STRENGTH FOR DIPOLE STATES FROM BRION BASE
# AND IONISATION EFFICIENCY FROM :
# HOLLAND ET AL CHEM. PHYS 173(1993)315
#
# IN ORDER TO EXTRACT NEUTRAL DISSOCIATION X-SECTION FOR DIPOLE STATES.
# THE 3-BODY X-SECTION SHAPE IS SIMILAR TO THAT USED IN 2005 FROM:
# SPENCE AND SHULTZ PHYS REV A5(1972)724
#
# THE FIT TO THE TOWNS# end REQUIRED THE INTRODUCTION OF TWO EFFECTIVE
# NON DIPOLE STATES ABOVE AND BELOW THE IONISATION ENERGY THAT CONTAIN
# THE SUM OF ALL NON DIPOLE STATES IN THESE ENERGY REGIONS.
#
# THE IONISATION HAS BEEN SPLIT INTO DISSOCIATIVE AND NON DISSOCIATIVE
# IONISATION CHANNELS. THE TOTAL IONISATION X-SECTION SUM IS MADE
# CONSISTENT WITH :
# STRAUB ET AL : WEB SITE AND ALSO PHYS REV A54(1996)2146
#
# THE TOTAL X-SECTION SUM IS WITHIN THE 1 TO 2% EXPERIMENTAL ENERGY
# MEASUREMENT ERRORS
#
# GENERALLY THE CALCULATED DRIFT VELOCITY AND DIFFUSION IS WITHIN
# 1 TO 2% OF THE EXPERIMENTAL VALUES IN PURE GAS AND ARGON MIXTURES.
# THE TOWNS# end IS WITHIN 5% OF THE MEASUREMENTS OF YOSHIDA UP TO 2000TD
#
# THE X-SECTION BASE HAS BEEN EXT# endED TO 1 GEV.
# ----------------------------------------------------------------------
# 2016:
#------
# REANALYSIS USING ROTATIONAL X-SECTION OF GELTMAN AND TAKAYANGI
# NOTE :
# SCALED ESTIMATED X-SECTION OF GELTMAN AND TAKAYANGI
# IN THE def (ROTATIONAL IN ARRAYS NEED SCALED
# BY 0.75 TO GIVE THE VALUES USED IN def)
# ----------------------------------------------------------------------
#
# NANISO=0
if(NANISO == 0):
:
NAME='OXYGEN 2016 ISOTROPIC '
else:
NAME='OXYGEN 2016 ANISOTROPIC '
# endif
#----------------------------------------------------------------------
# BORN BETHE VALUES FOR IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
# AVERAGE OF CORRECTED RIEKE AND (HOLLAND +BERKOWITZ)
AM2=4.00
C=43.4
# AVERAGE AUGER EMISSION FROM KSHELL
AUGK=2.0
# SCALE ROTATION X-SECTIONS BY ROTSCALE
ROTSCALE=0.75
# CALC FRACTIONAL POPULATION DENSITY OF ROTATIONAL STATES
B0=1.783e-4
# ROTATIONAL QUADRUPOLE MOMENT
QBQA=0.90
QBK=1.67552*(QBQA*A0)**2
DO 103 K=2,48,2
AK=float[K]
103 PJ[K]=0.0
DO 104 K=1,49,2
AK=float[K]
104 PJ[K]=3.0*(2.0*AK+1.0)*math.exp(-AK*(AK+1.0)*B0/AKT)
ASUM=0.0
DO 105 K=1,49
105 ASUM=ASUM+PJ[K]
DO 106 K=1,49
106 PJ[K]=PJ[K]/ASUM
# CALC ROTATIONAL TRANSITION ENERGIES
EIN[1]=-10.0*B0
EIN[25]=-EIN[1]
DO 107 K=2,24
J=K-1
AJ=float[J]
EIN(K+24)=EIN[25]+AJ*8.0*B0
107 EIN[K]=-EIN(K+24)
#
NION=8
NATT=1
NIN=148
NNULL=0
IONMODEL=0
#
NASIZE=20000
NBREM=25
#
DO 11 J=1,NIN
IZBR[J]=0
11 CONTINUE
IZBR(NIN+1)=8
#
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=1,NIN
2 KIN[J]=NANISO
#
NROT=48
NROT13=63
NROT35=55
NROT57=55
NROT79=50
NROT911=48
NROT1113=46
NROT1315=45
NROT1517=44
NROT1719=43
NROT1921=41
NROT2123=40
NROT2325=39
NROT2527=38
NROT2729=37
NROT2931=36
NROT3133=34
NROT3335=33
NROT3537=32
NROT3739=32
NROT3941=31
NROT4143=31
NROT4345=30
NROT4547=30
NROT4749=29
NELA=153
NVIB=60
NATT1=31
N3ATT=32
NEXC1=40
NEXC2=31
NEXC3=16
NEXC4=15
NEXC5=14
NEXC6=14
NEXC7=14
NEXC8=15
NEXC9=14
NIONC=85
NION1=85
NION2=70
NION3=50
NION4=47
NION5=44
NKSH=81
#
E[1]=0.0
E[2]=2.0*EMASS/(31.9988*AMU)
E[3]=12.071
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=12.071
EION[2]=16.104
EION[3]=18.171
EION[4]=20.701
EION[5]=38.46
EION[6]=68.0
EION[7]=90.0
EION[8]=532.0
#
EIN[49]=-0.193
EIN[50]=0.193
EIN[51]=0.385
EIN[52]=0.568
EIN[53]=0.749
EIN[54]=0.929
EIN[55]=0.977
EIN[56]=1.108
EIN[57]=1.282
EIN[58]=1.458
EIN[59]=1.627
EIN[60]=1.629
EIN[61]=1.798
EIN[62]=1.965
EIN[63]=2.127
EIN[64]=2.283
EIN(65)=2.430
EIN(66)=2.585
EIN(67)=2.739
EIN(68)=2.883
EIN(69)=3.023
EIN(70)=3.168
EIN(71)=3.316
EIN(72)=3.46
EIN(73)=5.50
EIN(74)=6.00
EIN(75)=6.50
EIN(76)=6.98
EIN(77)=7.08
EIN(78)=7.25
EIN(79)=7.35
EIN(80)=7.45
EIN(81)=7.55
EIN(82)=7.65
EIN(83)=7.75
EIN(84)=7.85
EIN(85)=7.95
EIN(86)=8.05
EIN(87)=8.15
EIN(88)=8.20
EIN(89)=8.25
EIN(90)=8.35
EIN(91)=8.45
EIN(92)=8.55
EIN(93)=8.65
EIN(94)=8.75
EIN(95)=8.85
EIN(96)=8.95
EIN(97)=9.05
EIN(98)=9.15
EIN(99)=9.25
EIN(100)=9.35
EIN(101)=9.45
EIN(102)=9.55
EIN(103)=9.675
EIN(104)=9.972
EIN(105)=10.288
EIN(106)=10.570
EIN(107)=10.60
EIN(108)=10.665
EIN(109)=10.760
EIN(110)=10.915
EIN(111)=11.05
EIN(112)=11.25
EIN(113)=11.46
EIN(114)=11.56
EIN(115)=11.65
EIN(116)=11.83
EIN(117)=11.98
EIN(118)=12.2
EIN(119)=12.4
EIN(120)=12.6
EIN(121)=12.8
EIN(122)=13.0
EIN(123)=13.1
EIN(124)=13.2
EIN(125)=13.4
EIN(126)=13.6
EIN(127)=13.8
EIN(128)=14.0
EIN(129)=14.2
EIN(130)=14.4
EIN(131)=14.6
EIN(132)=14.8
EIN(133)=15.0
EIN(134)=15.2
EIN(135)=15.4
EIN(136)=15.6
EIN(137)=15.8
EIN(138)=16.0
EIN(139)=16.2
EIN(140)=16.4
EIN(141)=16.6
EIN(142)=16.8
EIN(143)=17.0
EIN(144)=17.2
EIN(145)=17.4
EIN(146)=17.6
EIN(147)=17.8
EIN(148)=18.0
#
DO 5 J=1,NION
EOBY[J]=12.9
5 CONTINUE
#
DO 7 JK=1,NION
LEGAS(JK)=0
ISHELL(JK)=0
NC0(JK)=0
EC0(JK)=0.0
WKLM(JK)=0.0
EFL(JK)=0.0
NG1(JK)=0
EG1(JK)=0.0
NG2(JK)=0
EG2(JK)=0.0
7 CONTINUE
# DOUBLE CHARGED STATES
NC0[5]=1
EC0[5]=6.0
NC0[6]=1
EC0[6]=6.0
# TRIPLE CHARGED STATES
NC0[7]=2
EC0[7]=6.0
# FLUORESCENCE DATA
LEGAS[8]=1
ISHELL[8]=1
NC0[8]=3
EC0[8]=485.
WKLM[8]=0.0069
EFL[8]=518.
NG1[8]=1
EG1[8]=480.
NG2[8]=2
EG2[8]=5.0
#
DO 9 J=1,NION
DO 8 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 9
# endif
8 CONTINUE
9 CONTINUE
#
DO 19 NL=1,NIN
DO 18 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 19
# endif
18 CONTINUE
19 CONTINUE
#
#**********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# SET PENNING TRANSFER FRACTION TO ZERO FOR LOW ENERGY LEVELS
DO 21 K=1,76
DO 21 L=1,3
21 CONTINUE
#---------------------------------------
# PENNING TRANSFER FRACTION FOR LEVELS ABOVE 6.0EV
DO 22 K=76,NIN
PENFRA[1][K]=0.0
# PENNING TRANSFER DISTANCE IN MICRONS
PENFRA[2][K]=1.0
# PENNING TRANSFER TIME IN PICOSECONDS
PENFRA[3][K]=1.0
if(IPEN == 0):
GO TO 22
WRITE(6,999) NAME,EIN[K],PENFRA[1][K],PENFRA[2][K],PENFRA[3][K]
999 print(' GAS = ',A25,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY = ','%.3f' % ,' ABS.LENGTH = ',F7.2,' DECAY TIME = ',F7.1,/)
22 CONTINUE
#**********************************************************************
#
SCRPT[1]=' '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC OXYGEN '
else:
SCRPT[2]=' ELASTIC ANISOTROPIC OXYGEN '
# endif
SCRPT[3]=' IONISATION O2+ X2PI ELOSS= 12.072 '
SCRPT[4]=' IONISATION O2+ A4PI ELOSS= 16.104 '
SCRPT[5]=' IONISATION O2+ B4SIGMA ELOSS= 18.171 '
SCRPT[6]=' DISSOC ION O+ + O ELOSS= 20.701 '
SCRPT[7]=' DISSOC ION O+ + O+ ELOSS= 38.46 '
SCRPT[8]=' DISSOC ION O++ + O ELOSS= 68.0 '
SCRPT[9]=' DISSOC ION O++ + O+ ELOSS= 90.0 '
SCRPT[10]=' IONISATION K-SHELL ELOSS=532.0 '
SCRPT[11]=' ATTACHMENT 2+3 BODY '
SCRPT[12]=' '
SCRPT[13]=' '
SCRPT[14]=' ROTATION 3-1 ELOSS= -0.0017830'
SCRPT[15]=' ROTATION 5-3 ELOSS= -0.0032094'
SCRPT[16]=' ROTATION 7-5 ELOSS= -0.0046358'
SCRPT[17]=' ROTATION 9-7 ELOSS= -0.0060622'
SCRPT[18]=' ROTATION 11-9 ELOSS= -0.0074886'
SCRPT[19]=' ROTATION 13-11 ELOSS= -0.0089150'
SCRPT[20]=' ROTATION 15-13 ELOSS= -0.0103414'
SCRPT[21]=' ROTATION 17-15 ELOSS= -0.0117678'
SCRPT[22]=' ROTATION 19-17 ELOSS= -0.0131942'
SCRPT[23]=' ROTATION 21-19 ELOSS= -0.0146206'
SCRPT[24]=' ROTATION 23-21 ELOSS= -0.0160470'
SCRPT[25]=' ROTATION 25-23 ELOSS= -0.0174734'
SCRPT[26]=' ROTATION 27-25 ELOSS= -0.0188998'
SCRPT[27]=' ROTATION 29-27 ELOSS= -0.0203262'
SCRPT[28]=' ROTATION 31-29 ELOSS= -0.0217526'
SCRPT[29]=' ROTATION 33-31 ELOSS= -0.0231790'
SCRPT[30]=' ROTATION 35-33 ELOSS= -0.0246054'
SCRPT[31]=' ROTATION 37-35 ELOSS= -0.0260318'
SCRPT[32]=' ROTATION 39-37 ELOSS= -0.0274582'
SCRPT[33]=' ROTATION 41-39 ELOSS= -0.0288846'
SCRPT[34]=' ROTATION 43-41 ELOSS= -0.0303110'
SCRPT[35]=' ROTATION 45-43 ELOSS= -0.0317374'
SCRPT[36]=' ROTATION 47-45 ELOSS= -0.0331638'
SCRPT[37]=' ROTATION 49-47 ELOSS= -0.0345902'
SCRPT[38]=' ROTATION 1-3 ELOSS= 0.0017830'
SCRPT[39]=' ROTATION 3-5 ELOSS= 0.0032094'
SCRPT[40]=' ROTATION 5-7 ELOSS= 0.0046358'
SCRPT[41]=' ROTATION 7-9 ELOSS= 0.0060622'
SCRPT[42]=' ROTATION 9-11 ELOSS= 0.0074886'
SCRPT[43]=' ROTATION 11-13 ELOSS= 0.0089150'
SCRPT[44]=' ROTATION 13-15 ELOSS= 0.0103414'
SCRPT[45]=' ROTATION 15-17 ELOSS= 0.0117678'
SCRPT[46]=' ROTATION 17-19 ELOSS= 0.0131942'
SCRPT[47]=' ROTATION 19-21 ELOSS= 0.0146206'
SCRPT[48]=' ROTATION 21-23 ELOSS= 0.0160470'
SCRPT[49]=' ROTATION 23-25 ELOSS= 0.0174734'
SCRPT[50]=' ROTATION 25-27 ELOSS= 0.0188998'
SCRPT[51]=' ROTATION 27-29 ELOSS= 0.0203262'
SCRPT[52]=' ROTATION 29-31 ELOSS= 0.0217526'
SCRPT[53]=' ROTATION 31-33 ELOSS= 0.0231790'
SCRPT[54]=' ROTATION 33-35 ELOSS= 0.0246054'
SCRPT[55]=' ROTATION 35-37 ELOSS= 0.0260318'
SCRPT[56]=' ROTATION 37-39 ELOSS= 0.0274582'
SCRPT[57]=' ROTATION 39-41 ELOSS= 0.0288846'
SCRPT[58]=' ROTATION 41-43 ELOSS= 0.0303110'
SCRPT[59]=' ROTATION 43-45 ELOSS= 0.0317374'
SCRPT[60]=' ROTATION 45-47 ELOSS= 0.0331638'
SCRPT[61]=' ROTATION 47-49 ELOSS= 0.0345902'
SCRPT[62]=' VIB V1 ELOSS= -0.193 '
SCRPT[63]=' VIB V1 ELOSS= 0.193 '
SCRPT[64]=' VIB 2V1 ELOSS= 0.385 '
SCRPT(65)=' VIB 3V1 ELOSS= 0.568 '
SCRPT(66)=' VIB 4V1 ELOSS= 0.749 '
SCRPT(67)=' VIB 5V1 ELOSS= 0.929 '
SCRPT(68)=' A1(DEL)G VIB SUMMED ELOSS= 0.977 '
SCRPT(69)=' VIB 6V1 ELOSS= 1.108 '
SCRPT(70)=' VIB 7V1 ELOSS= 1.282 '
SCRPT(71)=' VIB 8V1 ELOSS= 1.458 '
SCRPT(72)=' B1(SIG)G VIB SUMMED ELOSS= 1.627 '
SCRPT(73)=' VIB 9V1 ELOSS= 1.629 '
SCRPT(74)=' VIB 10V1 ELOSS= 1.798 '
SCRPT(75)=' VIB 11V1 ELOSS= 1.965 '
SCRPT(76)=' VIB 12V1 ELOSS= 2.127 '
SCRPT(77)=' VIB 13V1 ELOSS= 2.283 '
SCRPT(78)=' VIB 14V1 ELOSS= 2.430 '
SCRPT(79)=' VIB 15V1 ELOSS= 2.585 '
SCRPT(80)=' VIB 16V1 ELOSS= 2.739 '
SCRPT(81)=' VIB 17V1 ELOSS= 2.883 '
SCRPT(82)=' VIB 18V1 ELOSS= 3.023 '
SCRPT(83)=' VIB 19V1 ELOSS= 3.168 '
SCRPT(84)=' VIB 20V1 ELOSS= 3.316 '
SCRPT(85)=' VIB SUM 21V1-30V1 ELOSS= 3.46 '
SCRPT(86)=' C1SIG + A#3DEL + A3SIG ELOSS= 5.50 '
SCRPT(87)=' C1SIG + A#3DEL + A3SIG ELOSS= 6.00 '
SCRPT(88)=' C1SIG + A#3DEL + A3SIG ELOSS= 6.50 '
SCRPT(89)=' B3SIG SUMMED V=7-20 F=.000262 EL0SS= 6.98 '
SCRPT(90)=' DISSOCIATION S-R F=0.000408 ELOSS= 7.08 '
SCRPT(91)=' DISSOCIATION S-R F=0.000623 ELOSS= 7.25 '
SCRPT(92)=' DISSOCIATION S-R F=0.001016 ELOSS= 7.35 '
SCRPT(93)=' DISSOCIATION S-R F=0.001562 ELOSS= 7.45 '
SCRPT(94)=' DISSOCIATION S-R F=0.002312 ELOSS= 7.55 '
SCRPT(95)=' DISSOCIATION S-R F=0.003234 ELOSS= 7.65 '
SCRPT(96)=' DISSOCIATION S-R F=0.004362 ELOSS= 7.75 '
SCRPT(97)=' DISSOCIATION S-R F=0.005573 ELOSS= 7.85 '
SCRPT(98)=' DISSOCIATION S-R F=0.006930 ELOSS= 7.95 '
SCRPT(99)=' DISSOCIATION S-R F=0.008342 ELOSS= 8.05 '
SCRPT(100)=' DISSOCIATION S-R F=0.009692 ELOSS= 8.15 '
SCRPT(101)=' DISSOCIATION S-R NON-DIPOLE ELOSS= 8.20 '
SCRPT(102)=' DISSOCIATION S-R F=0.010816 ELOSS= 8.25 '
SCRPT(103)=' DISSOCIATION S-R F=0.011839 ELOSS= 8.35 '
SCRPT(104)=' DISSOCIATION S-R F=0.012580 ELOSS= 8.45 '
SCRPT(105)=' DISSOCIATION S-R F=0.013160 ELOSS= 8.55 '
SCRPT(106)=' DISSOCIATION S-R F=0.013432 ELOSS= 8.65 '
SCRPT(107)=' DISSOCIATION S-R F=0.013571 ELOSS= 8.75 '
SCRPT(108)=' DISSOCIATION S-R F=0.013425 ELOSS= 8.85 '
SCRPT(109)=' DISSOCIATION S-R F=0.012948 ELOSS= 8.95 '
SCRPT(110)=' DISSOCIATION S-R F=0.010892 ELOSS= 9.05 '
SCRPT(111)=' DISSOCIATION S-R F=0.006688 ELOSS= 9.15 '
SCRPT(112)=' DISSOCIATION S-R F=0.002784 ELOSS= 9.25 '
SCRPT(113)=' DISSOCIATION S-R F=0.001767 ELOSS= 9.35 '
SCRPT(114)=' DISSOCIATION S-R F=0.000633 ELOSS= 9.45 '
SCRPT(115)=' DISSOCIATION S-R F=0.000438 ELOSS= 9.55 '
SCRPT(116)=' DISSOCIATION S-R F=0.000465 ELOSS= 9.675 '
SCRPT(117)=' DISSOC E3SIGMA V=0 F=0.008432 ELOSS= 9.972 '
SCRPT(118)=' DISSOC E3SIGMA V=1 F=0.007598 ELOSS= 10.288 '
SCRPT(119)=' DISSOC E3SIGMA V=2 F=0.000829 ELOSS= 10.570 '
SCRPT(120)=' DISSOC TRIPLET SUM BELOW IP ELOSS= 10.60 '
SCRPT(121)=' DISSOC F=0.000644 ELOSS= 10.665 '
SCRPT(122)=' DISSOC F=0.001460 ELOSS= 10.760 '
SCRPT(123)=' DISSOC F=0.000818 ELOSS= 10.915 '
SCRPT(124)=' DISSOC F=0.000736 ELOSS= 11.05 '
SCRPT(125)=' DISSOC F=0.000598 ELOSS= 11.25 '
SCRPT(126)=' DISSOC F=0.001482 ELOSS= 11.46 '
SCRPT(127)=' DISSOC F=0.000425 ELOSS= 11.56 '
SCRPT(128)=' DISSOC F=0.001669 ELOSS= 11.65 '
SCRPT(129)=' DISSOC F=0.001766 ELOSS= 11.83 '
SCRPT(130)=' DISSOC F=0.001613 ELOSS= 11.98 '
SCRPT(131)=' DISSOC F=0.001746 ELOSS= 12.20 '
SCRPT(132)=' DISSOC F=0.003329 ELOSS= 12.40 '
SCRPT(133)=' DISSOC F=0.006264 ELOSS= 12.60 '
SCRPT(134)=' DISSOC F=0.013580 ELOSS= 12.80 '
SCRPT(135)=' DISSOC F=0.011373 ELOSS= 13.00 '
SCRPT(136)=' DISSOC TRIPLET SUM ABOVE IP ELOSS= 13.1 '
SCRPT(137)=' DISSOC F=0.006052 ELOSS= 13.20 '
SCRPT(138)=' DISSOC F=0.006051 ELOSS= 13.40 '
SCRPT(139)=' DISSOC F=0.004993 ELOSS= 13.60 '
SCRPT(140)=' DISSOC F=0.005045 ELOSS= 13.80 '
SCRPT(141)=' DISSOC F=0.004962 ELOSS= 14.00 '
SCRPT(142)=' DISSOC F=0.006520 ELOSS= 14.20 '
SCRPT(143)=' DISSOC F=0.008432 ELOSS= 14.40 '
SCRPT(144)=' DISSOC F=0.011304 ELOSS= 14.60 '
SCRPT(145)=' DISSOC F=0.015172 ELOSS= 14.80 '
SCRPT(146)=' DISSOC F=0.022139 ELOSS= 15.00 '
SCRPT(147)=' DISSOC F=0.032682 ELOSS= 15.20 '
SCRPT(148)=' DISSOC F=0.039457 ELOSS= 15.40 '
SCRPT(149)=' DISSOC F=0.029498 ELOSS= 15.60 '
SCRPT(150)=' DISSOC F=0.018923 ELOSS= 15.80 '
SCRPT(151)=' DISSOC F=0.017762 ELOSS= 16.00 '
SCRPT(152)=' DISSOC F=0.015115 ELOSS= 16.20 '
SCRPT(153)=' DISSOC F=0.013220 ELOSS= 16.40 '
SCRPT(154)=' DISSOC F=0.009540 ELOSS= 16.60 '
SCRPT(155)=' DISSOC F=0.005854 ELOSS= 16.80 '
SCRPT(156)=' DISSOC F=0.008733 ELOSS= 17.00 '
SCRPT(157)=' DISSOC F=0.007914 ELOSS= 17.20 '
SCRPT(158)=' DISSOC F=0.008002 ELOSS= 17.40 '
SCRPT(159)=' DISSOC F=0.006519 ELOSS= 17.60 '
SCRPT(160)=' DISSOC F=0.003528 ELOSS= 17.80 '
SCRPT(161)=' DISSOC F=0.001469 ELOSS= 18.00 '
SCRPT(162)=' BREMSSTRAHLUNG FROM OXYGEN ATOMS '
# CALCULATE DENSITY CORRECTION FOR THREE BODY ATTACHMENT CROSS-SECTION
FAC=273.15*TORR/((TEMPC+273.15)*760.0)
# FIRST VIBRATIONAL LEVEL POPULATION
APOP2=math.exp(EIN[49]/AKT)
# EN=-ESTEP/2.0
DO 9900 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
#
# ELASTIC
DO 12 J=2,NELA
if(EN <= XELA[J]):
GO TO 23
12 CONTINUE
J=NELA
23 A=(YELA[J]-YELA[J-1])/(XELA[J]-XELA[J-1])
B=(XELA[J-1]*YELA[J]-XELA[J]*YELA[J-1])/(XELA[J-1]-XELA[J])
# ELASTIC
QELA=(A*EN+B)*1.e-16
A=(YMOM[J]-YMOM[J-1])/(XELA[J]-XELA[J-1])
B=(XELA[J-1]*YMOM[J]-XELA[J]*YMOM[J-1])/(XELA[J-1]-XELA[J])
# MOMENTUM TRANSFER
QMOM=(A*EN+B)*1.e-16
A=(YEPS[J]-YEPS[J-1])/(XELA[J]-XELA[J-1])
B=(XELA[J-1]*YEPS[J]-XELA[J]*YEPS[J-1])/(XELA[J-1]-XELA[J])
# ANISOTROPY defS
PQ2=A*EN+B
# EPSILON =1.0-YEPS
PQ2=1.00-PQ2
PQ1=0.5+(QELA-QMOM)/QELA
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
#
# IONISATION CALCULATION
DO 50 J=1,NION
PEQION[J][I]=0.5
if(NANISO == 2):
PEQION[J][I]=0.0
50 QION[J][I]=0.0
# IONISATION TO ALL CHANNELS WITH O2+
# IONISATION TO O2+ X2PI
if(EN <= EION[1]:
) GO TO 54
if(EN > XION1(NION1):
) GO TO 53
DO 51 J=2,NION1
if(EN <= XION1[J]:
) GO TO 52
51 CONTINUE
J=NION1
52 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])
B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 54
# USE BORN BETHE ABOVE XION1(NION1) EV
53 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.6475*0.558
# IONISATION TO O2+ A4PI
54 if(EN <= EION[2]) GO TO 58
if(EN > XION1(NION1):
) GO TO 57
EOFF=EN-(EION[2]-EION[1])
DO 55 J=1,NION1
if(EOFF <= XION1[J]:
) GO TO 56
55 CONTINUE
J=NION1
56 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])
B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])
QION[2][I]=(A*EOFF+B)*1.e-16*0.308
# CORRECT QION[1][I]
QION[1][I]=QION[1][I]-QION[2][I]
GO TO 58
# USE BORN BETHE ABOVE XION1(NION1) EV
57 QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.6475*0.308
# IONISATION TO O2+ B4SIGMA
58 if(EN <= EION[3]) GO TO 62
if(EN > XION1(NION1):
) GO TO 61
EOFF=EN-(EION[3]-EION[1])
DO 59 J=1,NION1
if(EOFF <= XION1[J]:
) GO TO 60
59 CONTINUE
J=NION1
60 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])
B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])
QION[3][I]=(A*EOFF+B)*1.e-16*0.136
# CORRECT QION[1][I]
QION[1][I]=QION[1][I]-QION[3][I]
GO TO 62
# USE BORN BETHE ABOVE XION1(NION1) EV
61 QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.6475*0.136
#
# DISSOCIATIVE IONISATION TO O+ + O
62 if(EN <= EION[4]) GO TO 66
if(EN > XION2(NION2):
) GO TO 65
DO 63 J=2,NION2
if(EN <= XION2[J]:
) GO TO 64
63 CONTINUE
J=NION2
64 A=(YION2[J]-YION2[J-1])/(XION2[J]-XION2[J-1])
B=(XION2[J-1]*YION2[J]-XION2[J]*YION2[J-1])/(XION2[J-1]-XION2[J])
QION[4][I]=(A*EN+B)*1.e-16
GO TO 66
# USE BORN BETHE ABOVE XION2(NION2) EV
65 QION[4][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.2993
#
# DISSOCIATIVE DOUBLE IONISATION TO O+ + O+
66 if(EN <= EION[5]) GO TO 70
if(EN > XION3(NION3):
) GO TO 69
DO 67 J=2,NION3
if(EN <= XION3[J]:
) GO TO 68
67 CONTINUE
J=NION3
68 A=(YION3[J]-YION3[J-1])/(XION3[J]-XION3[J-1])
B=(XION3[J-1]*YION3[J]-XION3[J]*YION3[J-1])/(XION3[J-1]-XION3[J])
QION[5][I]=(A*EN+B)*1.e-16
GO TO 70
# USE BORN BETHE ABOVE XION3(NION3) EV
69 QION[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0446
#
# DISSOCIATIVE DOUBLE IONISATION TO O++ + O
70 if(EN <= EION[6]) GO TO 74
if(EN > XION4(NION4):
) GO TO 73
DO 71 J=2,NION4
if(EN <= XION4[J]:
) GO TO 72
71 CONTINUE
J=NION4
72 A=(YION4[J]-YION4[J-1])/(XION4[J]-XION4[J-1])
B=(XION4[J-1]*YION4[J]-XION4[J]*YION4[J-1])/(XION4[J-1]-XION4[J])
QION[6][I]=(A*EN+B)*1.e-16
GO TO 74
# USE BORN BETHE ABOVE XION4(NION4) EV
73 QION[6][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0061
#
# DISSOCIATIVE TREBLE IONISATION TO O++ + O+
74 if(EN <= EION[7]) GO TO 78
if(EN > XION5(NION5):
) GO TO 77
DO 75 J=2,NION5
if(EN <= XION5[J]:
) GO TO 76
75 CONTINUE
J=NION5
76 A=(YION5[J]-YION5[J-1])/(XION5[J]-XION5[J-1])
B=(XION5[J-1]*YION5[J]-XION5[J]*YION5[J-1])/(XION5[J-1]-XION5[J])
QION[7][I]=(A*EN+B)*1.e-16
GO TO 78
# USE BORN BETHE ABOVE XION5(NION5) EV
77 QION[7][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0025
#
# K-SHELL IONISATION
78 if(EN <= EION[8]) GO TO 81
DO 79 J=2,NKSH
if(EN <= XKSH[J]:
) GO TO 80
79 CONTINUE
J=NKSH
80 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
# SCALE BY 2 ATMOS PER MOLECULE
QION[8][I]=2.0*(A*EN+B)*1.e-16
#
81 DO 85 J=1,NION
if(EN <= (2.0*EION[J]:
)) GO TO 85
PEQION[J][I]=PEQEL[2][(I-IOFFION[J]])
85 CONTINUE
# CORRECTION TO IONISATION FOR AUGER EMISSION FROM KSHELL
QION[1][I]=QION[1][I]-AUGK*QION[8][I]
#
# TWO BODY ATTACHMENT
SINGLE=0.0
# OFFSET FOR ENERGY SCALE
if(EN < XATT[1]:
) GO TO 250
if(EN > XATT[NATT1]:
) GO TO 230
DO 210 J=2,NATT1
if(EN <= XATT[J]:
) GO TO 220
210 CONTINUE
J=NATT1
220 A=(YATT[J]-YATT[J-1])/(XATT[J]-XATT[J-1])
B=(XATT[J-1]*YATT[J]-XATT[J]*YATT[J-1])/(XATT[J-1]-XATT[J])
SINGLE=(A*EN+B)*1.e-16
GO TO 250
# SCALE BY 1/E**3 ABOVE XATT[NATT1]
230 SINGLE=YATT[NATT1]*(XATT[NATT1]/EN)**3*1.e-16
#
#
# THREE BODY ATTACHMENT
# ***************************************************************
# ENTER HERE SCALING FACTOR FOR THREE BODY ATTACHMENT IN MIXTURES:
# FOR NORMAL SCALING T3B=1.0
T3B=1.0
# SCALING FACTOR NORMALLY PROPORTIONAL TO OXYGEN FRACTION
# IN RARE GAS MIXTURES
#
#***********************************************************
#
250 THREEB=0.0
if(EN < X3ATT[1]:
) GO TO 300
if(EN > X3ATT(N3ATT):
) GO TO 300
DO 260 J=2,N3ATT
if(EN <= X3ATT[J]:
) GO TO 270
260 CONTINUE
J=N3ATT
270 A=(Y3ATT[J]-Y3ATT[J-1])/(X3ATT[J]-X3ATT[J-1])
B=(X3ATT[J-1]*Y3ATT[J]-X3ATT[J]*Y3ATT[J-1])/(X3ATT[J-1]-X3ATT[J])
THREEB=FAC*(A*EN+B)*1.e-16*T3B
300 Q[4][I]=SINGLE+THREEB
Q[5][I]=0.0
Q[6][I]=0.0
# SET ZERO
DO 310 JK=1,NIN
QIN(JK,I)=0.00
PEQIN(JK,I)=0.50
if(NANISO == 2):
PEQIN(JK,I)=0.00
310 CONTINUE
#
# SUPERELASTIC ROTATION
DO 311 K=1,24
# STATISTICAL FACTOR
AK=float[K]
SFAC=(4.0*AK-1.0)/(4.0*AK+3.0)
QIN(K,I)=0.0
PEQIN(K,I)=0.50
if(NANISO == 2):
PEQIN(K,I)=0.00
if(EN <= 0.0):
GO TO 311
#
if(K == 1):
:
if((EN-EIN[K]:
) > XROT13(NROT13)) GO TO 3213
DO 3211 J=2,NROT13
if((EN-EIN[K]:
) <= XROT13[J]) GO TO 3212
3211 CONTINUE
J=NROT13
3212 YXJ=math.log(YROT13[J])
YXJ1=math.log(YROT13[J-1])
XNJ=math.log(XROT13[J])
XNJ1=math.log(XROT13[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3214
3213 QIN(K,I)=PJ(2*K+1)*SFAC*YROT13(NROT13)*XROT13(NROT13)/(EN-EIN[K])*1.e-16
3214 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 2) :
if((EN-EIN[K]:
) > XROT35(NROT35)) GO TO 3217
DO 3215 J=2,NROT35
if((EN-EIN[K]:
) <= XROT35[J]) GO TO 3216
3215 CONTINUE
J=NROT35
3216 YXJ=math.log(YROT35[J])
YXJ1=math.log(YROT35[J-1])
XNJ=math.log(XROT35[J])
XNJ1=math.log(XROT35[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3218
3217 QIN(K,I)=PJ(2*K+1)*SFAC*YROT35(NROT35)*XROT35(NROT35)/(EN-EIN[K])*1.e-16
3218 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 3) :
if((EN-EIN[K]:
) > XROT57(NROT57)) GO TO 3221
DO 3219 J=2,NROT57
if((EN-EIN[K]:
) <= XROT57[J]) GO TO 3220
3219 CONTINUE
J=NROT57
3220 YXJ=math.log(YROT57[J])
YXJ1=math.log(YROT57[J-1])
XNJ=math.log(XROT57[J])
XNJ1=math.log(XROT57[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3222
3221 QIN(K,I)=PJ(2*K+1)*SFAC*YROT57(NROT57)*XROT57(NROT57)/(EN-EIN[K])*1.e-16
3222 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 4) :
if((EN-EIN[K]:
) > XROT79(NROT79)) GO TO 3225
DO 3223 J=2,NROT79
if((EN-EIN[K]:
) <= XROT79[J]) GO TO 3224
3223 CONTINUE
J=NROT79
3224 YXJ=math.log(YROT79[J])
YXJ1=math.log(YROT79[J-1])
XNJ=math.log(XROT79[J])
XNJ1=math.log(XROT79[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3226
3225 QIN(K,I)=PJ(2*K+1)*SFAC*YROT79(NROT79)*XROT79(NROT79)/(EN-EIN[K])*1.e-16
3226 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 5) :
if((EN-EIN[K]:
) > XROT911(NROT911)) GO TO 3229
DO 3227 J=2,NROT911
if((EN-EIN[K]:
) <= XROT911[J]) GO TO 3228
3227 CONTINUE
J=NROT911
3228 YXJ=math.log(YROT911[J])
YXJ1=math.log(YROT911[J-1])
XNJ=math.log(XROT911[J])
XNJ1=math.log(XROT911[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3230
3229 QIN(K,I)=PJ(2*K+1)*SFAC*YROT911(NROT911)*XROT911(NROT911)/(EN-EIN[K])*1.e-16
3230 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 6) :
if((EN-EIN[K]:
) > XROT1113(NROT1113)) GO TO 3233
DO 3231 J=2,NROT1113
if((EN-EIN[K]:
) <= XROT1113[J]) GO TO 3232
3231 CONTINUE
J=NROT1113
3232 YXJ=math.log(YROT1113[J])
YXJ1=math.log(YROT1113[J-1])
XNJ=math.log(XROT1113[J])
XNJ1=math.log(XROT1113[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3234
3233 QIN(K,I)=PJ(2*K+1)*SFAC*YROT1113(NROT1113)*XROT1113(NROT1113)/(EN-EIN[K])*1.e-16
3234 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 7) :
if((EN-EIN[K]:
) > XROT1315(NROT1315)) GO TO 3237
DO 3235 J=2,NROT1315
if((EN-EIN[K]:
) <= XROT1315[J]) GO TO 3236
3235 CONTINUE
J=NROT1315
3236 YXJ=math.log(YROT1315[J])
YXJ1=math.log(YROT1315[J-1])
XNJ=math.log(XROT1315[J])
XNJ1=math.log(XROT1315[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3238
3237 QIN(K,I)=PJ(2*K+1)*SFAC*YROT1315(NROT1315)*XROT1315(NROT1315)/(EN-EIN[K])*1.e-16
3238 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 8) :
if((EN-EIN[K]:
) > XROT1517(NROT1517)) GO TO 3241
DO 3239 J=2,NROT1517
if((EN-EIN[K]:
) <= XROT1517[J]) GO TO 3240
3239 CONTINUE
J=NROT1517
3240 YXJ=math.log(YROT1517[J])
YXJ1=math.log(YROT1517[J-1])
XNJ=math.log(XROT1517[J])
XNJ1=math.log(XROT1517[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3242
3241 QIN(K,I)=PJ(2*K+1)*SFAC*YROT1517(NROT1517)*XROT1517(NROT1517)/(EN-EIN[K])*1.e-16
3242 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 9) :
if((EN-EIN[K]:
) > XROT1719(NROT1719)) GO TO 3245
DO 3243 J=2,NROT1719
if((EN-EIN[K]:
) <= XROT1719[J]) GO TO 3244
3243 CONTINUE
J=NROT1719
3244 YXJ=math.log(YROT1719[J])
YXJ1=math.log(YROT1719[J-1])
XNJ=math.log(XROT1719[J])
XNJ1=math.log(XROT1719[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3246
3245 QIN(K,I)=PJ(2*K+1)*SFAC*YROT1719(NROT1719)*XROT1719(NROT1719)/(EN-EIN[K])*1.e-16
3246 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 10) :
if((EN-EIN[K]:
) > XROT1921(NROT1921)) GO TO 3249
DO 3247 J=2,NROT1921
if((EN-EIN[K]:
) <= XROT1921[J]) GO TO 3248
3247 CONTINUE
J=NROT1921
3248 YXJ=math.log(YROT1921[J])
YXJ1=math.log(YROT1921[J-1])
XNJ=math.log(XROT1921[J])
XNJ1=math.log(XROT1921[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3250
3249 QIN(K,I)=PJ(2*K+1)*SFAC*YROT1921(NROT1921)*XROT1921(NROT1921)/(EN-EIN[K])*1.e-16
3250 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 11) :
if((EN-EIN[K]:
) > XROT2123(NROT2123)) GO TO 3253
DO 3251 J=2,NROT2123
if((EN-EIN[K]:
) <= XROT2123[J]) GO TO 3252
3251 CONTINUE
J=NROT2123
3252 YXJ=math.log(YROT2123[J])
YXJ1=math.log(YROT2123[J-1])
XNJ=math.log(XROT2123[J])
XNJ1=math.log(XROT2123[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3254
3253 QIN(K,I)=PJ(2*K+1)*SFAC*YROT2123(NROT2123)*XROT2123(NROT2123)/(EN-EIN[K])*1.e-16
3254 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 12) :
if((EN-EIN[K]:
) > XROT2325(NROT2325)) GO TO 3257
DO 3255 J=2,NROT2325
if((EN-EIN[K]:
) <= XROT2325[J]) GO TO 3256
3255 CONTINUE
J=NROT2325
3256 YXJ=math.log(YROT2325[J])
YXJ1=math.log(YROT2325[J-1])
XNJ=math.log(XROT2325[J])
XNJ1=math.log(XROT2325[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3258
3257 QIN(K,I)=PJ(2*K+1)*SFAC*YROT2325(NROT2325)*XROT2325(NROT2325)/(EN-EIN[K])*1.e-16
3258 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 13) :
if((EN-EIN[K]:
) > XROT2527(NROT2527)) GO TO 3261
DO 3259 J=2,NROT2527
if((EN-EIN[K]:
) <= XROT2527[J]) GO TO 3260
3259 CONTINUE
J=NROT2527
3260 YXJ=math.log(YROT2527[J])
YXJ1=math.log(YROT2527[J-1])
XNJ=math.log(XROT2527[J])
XNJ1=math.log(XROT2527[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3262
3261 QIN(K,I)=PJ(2*K+1)*SFAC*YROT2527(NROT2527)*XROT2527(NROT2527)/(EN-EIN[K])*1.e-16
3262 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 14) :
if((EN-EIN[K]:
) > XROT2729(NROT2729)) GO TO 3265
DO 3263 J=2,NROT2729
if((EN-EIN[K]:
) <= XROT2729[J]) GO TO 3264
3263 CONTINUE
J=NROT2729
3264 YXJ=math.log(YROT2729[J])
YXJ1=math.log(YROT2729[J-1])
XNJ=math.log(XROT2729[J])
XNJ1=math.log(XROT2729[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3266
3265 QIN(K,I)=PJ(2*K+1)*SFAC*YROT2729(NROT2729)*XROT2729(NROT2729)/(EN-EIN[K])*1.e-16
3266 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 15) :
if((EN-EIN[K]:
) > XROT2931(NROT2931)) GO TO 3269
DO 3267 J=2,NROT2931
if((EN-EIN[K]:
) <= XROT2931[J]) GO TO 3268
3267 CONTINUE
J=NROT2931
3268 YXJ=math.log(YROT2931[J])
YXJ1=math.log(YROT2931[J-1])
XNJ=math.log(XROT2931[J])
XNJ1=math.log(XROT2931[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3270
3269 QIN(K,I)=PJ(2*K+1)*SFAC*YROT2931(NROT2931)*XROT2931(NROT2931)/(EN-EIN[K])*1.e-16
3270 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 16) :
if((EN-EIN[K]:
) > XROT3133(NROT3133)) GO TO 3273
DO 3271 J=2,NROT3133
if((EN-EIN[K]:
) <= XROT3133[J]) GO TO 3272
3271 CONTINUE
J=NROT3133
3272 YXJ=math.log(YROT3133[J])
YXJ1=math.log(YROT3133[J-1])
XNJ=math.log(XROT3133[J])
XNJ1=math.log(XROT3133[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3274
3273 QIN(K,I)=PJ(2*K+1)*SFAC*YROT3133(NROT3133)*XROT3133(NROT3133)/(EN-EIN[K])*1.e-16
3274 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 17) :
if((EN-EIN[K]:
) > XROT3335(NROT3335)) GO TO 3277
DO 3275 J=2,NROT3335
if((EN-EIN[K]:
) <= XROT3335[J]) GO TO 3276
3275 CONTINUE
J=NROT3335
3276 YXJ=math.log(YROT3335[J])
YXJ1=math.log(YROT3335[J-1])
XNJ=math.log(XROT3335[J])
XNJ1=math.log(XROT3335[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3278
3277 QIN(K,I)=PJ(2*K+1)*SFAC*YROT3335(NROT3335)*XROT3335(NROT3335)/(EN-EIN[K])*1.e-16
3278 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 18) :
if((EN-EIN[K]:
) > XROT3537(NROT3537)) GO TO 3281
DO 3279 J=2,NROT3537
if((EN-EIN[K]:
) <= XROT3537[J]) GO TO 3280
3279 CONTINUE
J=NROT3537
3280 YXJ=math.log(YROT3537[J])
YXJ1=math.log(YROT3537[J-1])
XNJ=math.log(XROT3537[J])
XNJ1=math.log(XROT3537[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3282
3281 QIN(K,I)=PJ(2*K+1)*SFAC*YROT3537(NROT3537)*XROT3537(NROT3537)/(EN-EIN[K])*1.e-16
3282 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 19) :
if((EN-EIN[K]:
) > XROT3739(NROT3739)) GO TO 3285
DO 3283 J=2,NROT3739
if((EN-EIN[K]:
) <= XROT3739[J]) GO TO 3284
3283 CONTINUE
J=NROT3739
3284 YXJ=math.log(YROT3739[J])
YXJ1=math.log(YROT3739[J-1])
XNJ=math.log(XROT3739[J])
XNJ1=math.log(XROT3739[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3286
3285 QIN(K,I)=PJ(2*K+1)*SFAC*YROT3739(NROT3739)*XROT3739(NROT3739)/(EN-EIN[K])*1.e-16
3286 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 20) :
if((EN-EIN[K]:
) > XROT3941(NROT3941)) GO TO 3289
DO 3287 J=2,NROT3941
if((EN-EIN[K]:
) <= XROT3941[J]) GO TO 3288
3287 CONTINUE
J=NROT3941
3288 YXJ=math.log(YROT3941[J])
YXJ1=math.log(YROT3941[J-1])
XNJ=math.log(XROT3941[J])
XNJ1=math.log(XROT3941[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3290
3289 QIN(K,I)=PJ(2*K+1)*SFAC*YROT3941(NROT3941)*XROT3941(NROT3941)/(EN-EIN[K])*1.e-16
3290 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 21) :
if((EN-EIN[K]:
) > XROT4143(NROT4143)) GO TO 3293
DO 3291 J=2,NROT4143
if((EN-EIN[K]:
) <= XROT4143[J]) GO TO 3292
3291 CONTINUE
J=NROT4143
3292 YXJ=math.log(YROT4143[J])
YXJ1=math.log(YROT4143[J-1])
XNJ=math.log(XROT4143[J])
XNJ1=math.log(XROT4143[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3294
3293 QIN(K,I)=PJ(2*K+1)*SFAC*YROT4143(NROT4143)*XROT4143(NROT4143)/(EN-EIN[K])*1.e-16
3294 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 22) :
if((EN-EIN[K]:
) > XROT4345(NROT4345)) GO TO 3297
DO 3295 J=2,NROT4345
if((EN-EIN[K]:
) <= XROT4345[J]) GO TO 3296
3295 CONTINUE
J=NROT4345
3296 YXJ=math.log(YROT4345[J])
YXJ1=math.log(YROT4345[J-1])
XNJ=math.log(XROT4345[J])
XNJ1=math.log(XROT4345[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3298
3297 QIN(K,I)=PJ(2*K+1)*SFAC*YROT4345(NROT4345)*XROT4345(NROT4345)/(EN-EIN[K])*1.e-16
3298 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 23) :
if((EN-EIN[K]:
) > XROT4547(NROT4547)) GO TO 3301
DO 3299 J=2,NROT4547
if((EN-EIN[K]:
) <= XROT4547[J]) GO TO 3300
3299 CONTINUE
J=NROT4547
3300 YXJ=math.log(YROT4547[J])
YXJ1=math.log(YROT4547[J-1])
XNJ=math.log(XROT4547[J])
XNJ1=math.log(XROT4547[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3302
3301 QIN(K,I)=PJ(2*K+1)*SFAC*YROT4547(NROT4547)*XROT4547(NROT4547)/(EN-EIN[K])*1.e-16
3302 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if (K == 24) :
if((EN-EIN[K]:
) > XROT4749(NROT4749)) GO TO 3305
DO 3303 J=2,NROT4749
if((EN-EIN[K]:
) <= XROT4749[J]) GO TO 3304
3303 CONTINUE
J=NROT4749
3304 YXJ=math.log(YROT4749[J])
YXJ1=math.log(YROT4749[J-1])
XNJ=math.log(XROT4749[J])
XNJ1=math.log(XROT4749[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K+1)*SFAC*(EN-EIN[K])*math.exp(A*math.log(EN-EIN[K])+B)/EN*1.e-16
GO TO 3306
3305 QIN(K,I)=PJ(2*K+1)*SFAC*YROT4749(NROT4749)*XROT4749(NROT4749)/(EN-EIN[K])*1.e-16
3306 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] else:
WRITE(6,997) K
997 print(' ERROR IN INDEX IN OXYGEN def K=',I3)
# endif
# CALCULATE ENHANCEMENT OF ROTATION DUE TO VIBRATIONAL RESONANCES
QRES1=0.0
if((EN-EIN[K]:
) > XROT(NROT)) GO TO 3333
if((EN-EIN[K]:
) <= XROT[1]) GO TO 3333
DO 3331 L=1,NROT
if((EN-EIN[K]:
) <= XROT(L)) GO TO 3332
3331 CONTINUE
L=NROT
3332 A=(YROT(L)-YROT(L-1))/(XROT(L)-XROT(L-1))
B=(XROT(L-1)*YROT(L)-XROT(L)*YROT(L-1))/(XROT(L-1)-XROT(L))
QRES1=(EN-EIN[K])*(A*(EN-EIN[K])+B)/EN
QRES1=QRES1*PJ(2*K+1)*1.e-16
3333 QIN(K,I)=QIN(K,I)+QRES1
311 CONTINUE
# INELASTIC ROTATION
DO 312 K=25,48
QIN(K,I)=0.0
PEQIN(K,I)=0.50
if(NANISO == 2):
PEQIN(K,I)=0.00
if(EN <= 0.0):
GO TO 312
if(EN <= EIN[K]:
) GO TO 312
if(K == 25):
:
if(EN < XROT13[1]:
) GO TO 312
if(EN > XROT13(NROT13):
) GO TO 3336
DO 3334 J=2,NROT13
if(EN <= XROT13[J]:
) GO TO 3335
3334 CONTINUE
J=NROT13
3335 YXJ=math.log(YROT13[J])
YXJ1=math.log(YROT13[J-1])
XNJ=math.log(XROT13[J])
XNJ1=math.log(XROT13[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3337
3336 QIN(K,I)=PJ(2*K-49)*YROT13(NROT13)*XROT13(NROT13)/EN*1.e-16
3337 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 26) :
if(EN < XROT35[1]:
) GO TO 312
if(EN > XROT35(NROT35):
) GO TO 3340
DO 3338 J=2,NROT35
if(EN <= XROT35[J]:
) GO TO 3339
3338 CONTINUE
J=NROT35
3339 YXJ=math.log(YROT35[J])
YXJ1=math.log(YROT35[J-1])
XNJ=math.log(XROT35[J])
XNJ1=math.log(XROT35[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3341
3340 QIN(K,I)=PJ(2*K-49)*YROT35(NROT35)*XROT35(NROT35)/EN*1.e-16
3341 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 27) :
if(EN < XROT57[1]:
) GO TO 312
if(EN > XROT57(NROT57):
) GO TO 3344
DO 3342 J=2,NROT57
if(EN <= XROT57[J]:
) GO TO 3343
3342 CONTINUE
J=NROT57
3343 YXJ=math.log(YROT57[J])
YXJ1=math.log(YROT57[J-1])
XNJ=math.log(XROT57[J])
XNJ1=math.log(XROT57[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3345
3344 QIN(K,I)=PJ(2*K-49)*YROT57(NROT57)*XROT57(NROT57)/EN*1.e-16
3345 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 28) :
if(EN < XROT79[1]:
) GO TO 312
if(EN > XROT79(NROT79):
) GO TO 3348
DO 3346 J=2,NROT79
if(EN <= XROT79[J]:
) GO TO 3347
3346 CONTINUE
J=NROT79
3347 YXJ=math.log(YROT79[J])
YXJ1=math.log(YROT79[J-1])
XNJ=math.log(XROT79[J])
XNJ1=math.log(XROT79[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3349
3348 QIN(K,I)=PJ(2*K-49)*YROT79(NROT79)*XROT79(NROT79)/EN*1.e-16
3349 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 29) :
if(EN < XROT911[1]:
) GO TO 312
if(EN > XROT911(NROT911):
) GO TO 3352
DO 3350 J=2,NROT911
if(EN <= XROT911[J]:
) GO TO 3351
3350 CONTINUE
J=NROT911
3351 YXJ=math.log(YROT911[J])
YXJ1=math.log(YROT911[J-1])
XNJ=math.log(XROT911[J])
XNJ1=math.log(XROT911[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3353
3352 QIN(K,I)=PJ(2*K-49)*YROT911(NROT911)*XROT911(NROT911)/EN*1.e-16
3353 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 30) :
if(EN < XROT1113[1]:
) GO TO 312
if(EN > XROT1113(NROT1113):
) GO TO 3356
DO 3354 J=2,NROT1113
if(EN <= XROT1113[J]:
) GO TO 3355
3354 CONTINUE
J=NROT1113
3355 YXJ=math.log(YROT1113[J])
YXJ1=math.log(YROT1113[J-1])
XNJ=math.log(XROT1113[J])
XNJ1=math.log(XROT1113[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3357
3356 QIN(K,I)=PJ(2*K-49)*YROT1113(NROT1113)*XROT1113(NROT1113)/EN*1.e-16
3357 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 31) :
if(EN < XROT1315[1]:
) GO TO 312
if(EN > XROT1315(NROT1315):
) GO TO 3360
DO 3358 J=2,NROT1315
if(EN <= XROT1315[J]:
) GO TO 3359
3358 CONTINUE
J=NROT1315
3359 YXJ=math.log(YROT1315[J])
YXJ1=math.log(YROT1315[J-1])
XNJ=math.log(XROT1315[J])
XNJ1=math.log(XROT1315[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3361
3360 QIN(K,I)=PJ(2*K-49)*YROT1315(NROT1315)*XROT1315(NROT1315)/EN*1.e-16
3361 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 32) :
if(EN < XROT1517[1]:
) GO TO 312
if(EN > XROT1517(NROT1517):
) GO TO 3364
DO 3362 J=2,NROT1517
if(EN <= XROT1517[J]:
) GO TO 3363
3362 CONTINUE
J=NROT1517
3363 YXJ=math.log(YROT1517[J])
YXJ1=math.log(YROT1517[J-1])
XNJ=math.log(XROT1517[J])
XNJ1=math.log(XROT1517[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3365
3364 QIN(K,I)=PJ(2*K-49)*YROT1517(NROT1517)*XROT1517(NROT1517)/EN*1.e-16
3365 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 33) :
if(EN < XROT1719[1]:
) GO TO 312
if(EN > XROT1719(NROT1719):
) GO TO 3368
DO 3366 J=2,NROT1719
if(EN <= XROT1719[J]:
) GO TO 3367
3366 CONTINUE
J=NROT1719
3367 YXJ=math.log(YROT1719[J])
YXJ1=math.log(YROT1719[J-1])
XNJ=math.log(XROT1719[J])
XNJ1=math.log(XROT1719[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3369
3368 QIN(K,I)=PJ(2*K-49)*YROT1719(NROT1719)*XROT1719(NROT1719)/EN*1.e-16
3369 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 34) :
if(EN < XROT1921[1]:
) GO TO 312
if(EN > XROT1921(NROT1921):
) GO TO 3372
DO 3370 J=2,NROT1921
if(EN <= XROT1921[J]:
) GO TO 3371
3370 CONTINUE
J=NROT1921
3371 YXJ=math.log(YROT1921[J])
YXJ1=math.log(YROT1921[J-1])
XNJ=math.log(XROT1921[J])
XNJ1=math.log(XROT1921[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3373
3372 QIN(K,I)=PJ(2*K-49)*YROT1921(NROT1921)*XROT1921(NROT1921)/EN*1.e-16
3373 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 35) :
if(EN < XROT2123[1]:
) GO TO 312
if(EN > XROT2123(NROT2123):
) GO TO 3376
DO 3374 J=2,NROT2123
if(EN <= XROT2123[J]:
) GO TO 3375
3374 CONTINUE
J=NROT2123
3375 YXJ=math.log(YROT2123[J])
YXJ1=math.log(YROT2123[J-1])
XNJ=math.log(XROT2123[J])
XNJ1=math.log(XROT2123[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3377
3376 QIN(K,I)=PJ(2*K-49)*YROT2123(NROT2123)*XROT2123(NROT2123)/EN*1.e-16
3377 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 36) :
if(EN < XROT2325[1]:
) GO TO 312
if(EN > XROT2325(NROT2325):
) GO TO 3380
DO 3378 J=2,NROT2325
if(EN <= XROT2325[J]:
) GO TO 3379
3378 CONTINUE
J=NROT2325
3379 YXJ=math.log(YROT2325[J])
YXJ1=math.log(YROT2325[J-1])
XNJ=math.log(XROT2325[J])
XNJ1=math.log(XROT2325[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3381
3380 QIN(K,I)=PJ(2*K-49)*YROT2325(NROT2325)*XROT2325(NROT2325)/EN*1.e-16
3381 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 37) :
if(EN < XROT2527[1]:
) GO TO 312
if(EN > XROT2527(NROT2527):
) GO TO 3384
DO 3382 J=2,NROT2527
if(EN <= XROT2527[J]:
) GO TO 3383
3382 CONTINUE
J=NROT2527
3383 YXJ=math.log(YROT2527[J])
YXJ1=math.log(YROT2527[J-1])
XNJ=math.log(XROT2527[J])
XNJ1=math.log(XROT2527[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3385
3384 QIN(K,I)=PJ(2*K-49)*YROT2527(NROT2527)*XROT2527(NROT2527)/EN*1.e-16
3385 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 38) :
if(EN < XROT2729[1]:
) GO TO 312
if(EN > XROT2729(NROT2729):
) GO TO 3388
DO 3386 J=2,NROT2729
if(EN <= XROT2729[J]:
) GO TO 3387
3386 CONTINUE
J=NROT2729
3387 YXJ=math.log(YROT2729[J])
YXJ1=math.log(YROT2729[J-1])
XNJ=math.log(XROT2729[J])
XNJ1=math.log(XROT2729[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3389
3388 QIN(K,I)=PJ(2*K-49)*YROT2729(NROT2729)*XROT2729(NROT2729)/EN*1.e-16
3389 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 39) :
if(EN < XROT2931[1]:
) GO TO 312
if(EN > XROT2931(NROT2931):
) GO TO 3392
DO 3390 J=2,NROT2931
if(EN <= XROT2931[J]:
) GO TO 3391
3390 CONTINUE
J=NROT2931
3391 YXJ=math.log(YROT2931[J])
YXJ1=math.log(YROT2931[J-1])
XNJ=math.log(XROT2931[J])
XNJ1=math.log(XROT2931[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3393
3392 QIN(K,I)=PJ(2*K-49)*YROT2931(NROT2931)*XROT2931(NROT2931)/EN*1.e-16
3393 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 40) :
if(EN < XROT3133[1]:
) GO TO 312
if(EN > XROT3133(NROT3133):
) GO TO 3396
DO 3394 J=2,NROT3133
if(EN <= XROT3133[J]:
) GO TO 3395
3394 CONTINUE
J=NROT3133
3395 YXJ=math.log(YROT3133[J])
YXJ1=math.log(YROT3133[J-1])
XNJ=math.log(XROT3133[J])
XNJ1=math.log(XROT3133[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3397
3396 QIN(K,I)=PJ(2*K-49)*YROT3133(NROT3133)*XROT3133(NROT3133)/EN*1.e-16
3397 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 41) :
if(EN < XROT3335[1]:
) GO TO 312
if(EN > XROT3335(NROT3335):
) GO TO 3400
DO 3398 J=2,NROT3335
if(EN <= XROT3335[J]:
) GO TO 3399
3398 CONTINUE
J=NROT3335
3399 YXJ=math.log(YROT3335[J])
YXJ1=math.log(YROT3335[J-1])
XNJ=math.log(XROT3335[J])
XNJ1=math.log(XROT3335[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3401
3400 QIN(K,I)=PJ(2*K-49)*YROT3335(NROT3335)*XROT3335(NROT3335)/EN*1.e-16
3401 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 42) :
if(EN < XROT3537[1]:
) GO TO 312
if(EN > XROT3537(NROT3537):
) GO TO 3404
DO 3402 J=2,NROT3537
if(EN <= XROT3537[J]:
) GO TO 3403
3402 CONTINUE
J=NROT3537
3403 YXJ=math.log(YROT3537[J])
YXJ1=math.log(YROT3537[J-1])
XNJ=math.log(XROT3537[J])
XNJ1=math.log(XROT3537[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3405
3404 QIN(K,I)=PJ(2*K-49)*YROT3537(NROT3537)*XROT3537(NROT3537)/EN*1.e-16
3405 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 43) :
if(EN < XROT3739[1]:
) GO TO 312
if(EN > XROT3739(NROT3739):
) GO TO 3408
DO 3406 J=2,NROT3739
if(EN <= XROT3739[J]:
) GO TO 3407
3406 CONTINUE
J=NROT3739
3407 YXJ=math.log(YROT3739[J])
YXJ1=math.log(YROT3739[J-1])
XNJ=math.log(XROT3739[J])
XNJ1=math.log(XROT3739[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3409
3408 QIN(K,I)=PJ(2*K-49)*YROT3739(NROT3739)*XROT3739(NROT3739)/EN*1.e-16
3409 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 44) :
if(EN < XROT3941[1]:
) GO TO 312
if(EN > XROT3941(NROT3941):
) GO TO 3412
DO 3410 J=2,NROT3941
if(EN <= XROT3941[J]:
) GO TO 3411
3410 CONTINUE
J=NROT3941
3411 YXJ=math.log(YROT3941[J])
YXJ1=math.log(YROT3941[J-1])
XNJ=math.log(XROT3941[J])
XNJ1=math.log(XROT3941[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3413
3412 QIN(K,I)=PJ(2*K-49)*YROT3941(NROT3941)*XROT3941(NROT3941)/EN*1.e-16
3413 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 45) :
if(EN < XROT4143[1]:
) GO TO 312
if(EN > XROT4143(NROT4143):
) GO TO 3416
DO 3414 J=2,NROT4143
if(EN <= XROT4143[J]:
) GO TO 3415
3414 CONTINUE
J=NROT4143
3415 YXJ=math.log(YROT4143[J])
YXJ1=math.log(YROT4143[J-1])
XNJ=math.log(XROT4143[J])
XNJ1=math.log(XROT4143[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3417
3416 QIN(K,I)=PJ(2*K-49)*YROT4143(NROT4143)*XROT4143(NROT4143)/EN*1.e-16
3417 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 46) :
if(EN < XROT4345[1]:
) GO TO 312
if(EN > XROT4345(NROT4345):
) GO TO 3420
DO 3418 J=2,NROT4345
if(EN <= XROT4345[J]:
) GO TO 3419
3418 CONTINUE
J=NROT4345
3419 YXJ=math.log(YROT4345[J])
YXJ1=math.log(YROT4345[J-1])
XNJ=math.log(XROT4345[J])
XNJ1=math.log(XROT4345[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3421
3420 QIN(K,I)=PJ(2*K-49)*YROT4345(NROT4345)*XROT4345(NROT4345)/EN*1.e-16
3421 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 47) :
if(EN < XROT4547[1]:
) GO TO 312
if(EN > XROT4547(NROT4547):
) GO TO 3424
DO 3422 J=2,NROT4547
if(EN <= XROT4547[J]:
) GO TO 3423
3422 CONTINUE
J=NROT4547
3423 YXJ=math.log(YROT4547[J])
YXJ1=math.log(YROT4547[J-1])
XNJ=math.log(XROT4547[J])
XNJ1=math.log(XROT4547[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3425
3424 QIN(K,I)=PJ(2*K-49)*YROT4547(NROT4547)*XROT4547(NROT4547)/EN*1.e-16
3425 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] #
else if(K == 48) :
if(EN < XROT4749[1]:
) GO TO 312
if(EN > XROT4749(NROT4749):
) GO TO 3428
DO 3426 J=2,NROT4749
if(EN <= XROT4749[J]:
) GO TO 3427
3426 CONTINUE
J=NROT4749
3427 YXJ=math.log(YROT4749[J])
YXJ1=math.log(YROT4749[J-1])
XNJ=math.log(XROT4749[J])
XNJ1=math.log(XROT4749[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QIN(K,I)=PJ(2*K-49)*math.exp(A*math.log(EN)+B)*1.e-16
GO TO 3429
3428 QIN(K,I)=PJ(2*K-49)*YROT4749(NROT4749)*XROT4749(NROT4749)/EN*1.e-16
3429 if(EN > 3.0) PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] else:
WRITE(6,997) K
# endif
# CALCULATE ENHANCEMENT OF ROTATION DUE TO VIBRATIONAL RESONANCES
QRES=0.0
if(EN > XROT(NROT):
) GO TO 3113
if(EN <= XROT[1]:
) GO TO 3113
DO 3111 L=1,NROT
if(EN <= XROT(L):
) GO TO 3112
3111 CONTINUE
L=NROT
3112 A=(YROT(L)-YROT(L-1))/(XROT(L)-XROT(L-1))
B=(XROT(L-1)*YROT(L)-XROT(L)*YROT(L-1))/(XROT(L-1)-XROT(L))
QRES=(A*EN+B)*PJ(2*K-49)*1.e-16
3113 QIN(K,I)=QIN(K,I)+QRES
QRSUM=QRSUM+QRES
312 CONTINUE
# FORCE ROTATIONAL X-SECTION TO FALL AS 1/E**2 ABOVE 3 EV
c NB 1/E ALREADY USED SO ONLY 1/E EXTRA
if(EN < 3.0):
GO TO 379
DO 315 K=1,48
315 QIN(K,I)=QIN(K,I)*(3.0/EN)
#
# SCALE ROTATIONAL X-SECTIONS BY ROTSCALE
379 DO 3456 K=1,48
3456 QIN(K,I)=QIN(K,I)*ROTSCALE
# SUPERELASTIC V1
# 379 IF(EN == 0.0) GO TO 400
if(EN == 0.0):
GO TO 400
if((EN+EIN[50]:
) > XVIB[NVIB]) GO TO 382
DO 380 J=2,NVIB
if((EN+EIN[50]:
) <= XVIB[J]) GO TO 381
380 CONTINUE
J=NVIB
381 A=(YVIB1[J]-YVIB1[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB1[J]-XVIB[J]*YVIB1[J-1])/(XVIB[J-1]-XVIB[J])
QIN[49][I]=(A*(EN+EIN[50])+B)*(EN+EIN[50])/EN
QIN[49][I]=QIN[49][I]*APOP2/(1.0+APOP2)*1.e-16
GO TO 383
382 QIN[49][I]=YVIB1(NVIB)*(XVIB[NVIB]/EN)*APOP2/(1.0+APOP2)*1.e-16
383 if(EN > 6.0) PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
# VIB1
400 if(EN <= EIN[50]) GO TO 450
if(EN > XVIB[NVIB]):
GO TO 430
DO 410 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 420
410 CONTINUE
J=NVIB
420 A=(YVIB1[J]-YVIB1[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB1[J]-XVIB[J]*YVIB1[J-1])/(XVIB[J-1]-XVIB[J])
QIN[50][I]=(A*EN+B)/(1.0+APOP2)*1.e-16
GO TO 440
# SCALE BY 1/E ABOVE XVIB[NVIB]
430 QIN[50][I]=YVIB1(NVIB)*(XVIB[NVIB]/EN)/(1.0+APOP2)*1.e-16
440 if(EN > 6.0) PEQIN[50][I]=PEQEL[2][(I-IOFFN[50])]
#
450 if(EN <= EIN[51]) GO TO 500
if(EN > XVIB[NVIB]):
GO TO 480
DO 460 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 470
460 CONTINUE
J=NVIB
470 A=(YVIB2[J]-YVIB2[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB2[J]-XVIB[J]*YVIB2[J-1])/(XVIB[J-1]-XVIB[J])
QIN[51][I]=(A*EN+B)*1.e-16
GO TO 490
# SCALE BY 1/E ABOVE XVIB[NVIB]
480 QIN[51][I]=YVIB2(NVIB)*(XVIB[NVIB]/EN)*1.e-16
490 if(EN > 6.0) PEQIN[51][I]=PEQEL[2][(I-IOFFN[51])]
#
500 if(EN <= EIN[52]) GO TO 550
if(EN > XVIB[NVIB]):
GO TO 530
DO 510 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 520
510 CONTINUE
J=NVIB
520 A=(YVIB3[J]-YVIB3[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB3[J]-XVIB[J]*YVIB3[J-1])/(XVIB[J-1]-XVIB[J])
QIN[52][I]=(A*EN+B)*1.e-16
GO TO 540
# SCALE BY 1/E ABOVE XVIB[NVIB]
530 QIN[52][I]=YVIB3(NVIB)*(XVIB[NVIB]/EN)*1.e-16
540 if(EN > 6.0) PEQIN[52][I]=PEQEL[2][(I-IOFFN[52])]
#
550 if(EN <= EIN[53]) GO TO 600
if(EN > XVIB[NVIB]):
GO TO 580
DO 560 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 570
560 CONTINUE
J=NVIB
570 A=(YVIB4[J]-YVIB4[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB4[J]-XVIB[J]*YVIB4[J-1])/(XVIB[J-1]-XVIB[J])
QIN[53][I]=(A*EN+B)*1.e-16
GO TO 590
# SCALE BY 1/E ABOVE XVIB[NVIB]
580 QIN[53][I]=YVIB4(NVIB)*(XVIB[NVIB]/EN)*1.e-16
590 if(EN > 6.0) PEQIN[53][I]=PEQEL[2][(I-IOFFN[53])]
#
600 if(EN <= EIN[54]) GO TO 605
if(EN > XVIB[NVIB]):
GO TO 603
DO 601 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 602
601 CONTINUE
J=NVIB
602 A=(YVIB5[J]-YVIB5[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB5[J]-XVIB[J]*YVIB5[J-1])/(XVIB[J-1]-XVIB[J])
QIN[54][I]=(A*EN+B)*1.e-16
GO TO 604
# SCALE BY 1/E ABOVE XVIB[NVIB]
603 QIN[54][I]=YVIB5(NVIB)*(XVIB[NVIB]/EN)*1.e-16
604 if(EN > 6.0) PEQIN[54][I]=PEQEL[2][(I-IOFFN[54])]
# A1 DELTA
605 if(EN <= EIN[55]) GO TO 610
if(EN > XEXC1(NEXC1):
) GO TO 608
DO 606 J=2,NEXC1
if(EN <= XEXC1[J]:
) GO TO 607
606 CONTINUE
J=NEXC1
607 A=(YEXC1[J]-YEXC1[J-1])/(XEXC1[J]-XEXC1[J-1])
B=(XEXC1[J-1]*YEXC1[J]-XEXC1[J]*YEXC1[J-1])/(XEXC1[J-1]-XEXC1[J])
QIN[55][I]=(A*EN+B)*1.e-16
GO TO 609
# SCALE BY 1/E**2 ABOVE XEXC1(NEXC1) EV
608 QIN[55][I]=YEXC1(NEXC1)*(XEXC1(NEXC1)/EN)**2*1.e-16
609 if(EN > 6.0) PEQIN[55][I]=PEQEL[2][(I-IOFFN[55])]
#
610 if(EN <= EIN[56]) GO TO 615
if(EN > XVIB[NVIB]):
GO TO 613
DO 611 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 612
611 CONTINUE
J=NVIB
612 A=(YVIB6[J]-YVIB6[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB6[J]-XVIB[J]*YVIB6[J-1])/(XVIB[J-1]-XVIB[J])
QIN[56][I]=(A*EN+B)*1.e-16
GO TO 614
# SCALE BY 1/E ABOVE XVIB[NVIB]
613 QIN[56][I]=YVIB6(NVIB)*(XVIB[NVIB]/EN)*1.e-16
614 if(EN > 6.0) PEQIN[56][I]=PEQEL[2][(I-IOFFN[56])]
#
615 if(EN <= EIN[57]) GO TO 620
if(EN > XVIB[NVIB]):
GO TO 618
DO 616 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 617
616 CONTINUE
J=NVIB
617 A=(YVIB7[J]-YVIB7[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB7[J]-XVIB[J]*YVIB7[J-1])/(XVIB[J-1]-XVIB[J])
QIN[57][I]=(A*EN+B)*1.e-16
GO TO 619
# SCALE BY 1/E ABOVE XVIB[NVIB]
618 QIN[57][I]=YVIB7(NVIB)*(XVIB[NVIB]/EN)*1.e-16
619 if(EN > 6.0) PEQIN[57][I]=PEQEL[2][(I-IOFFN[57])]
#
620 if(EN <= EIN[58]) GO TO 625
if(EN > XVIB[NVIB]):
GO TO 623
DO 621 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 622
621 CONTINUE
J=NVIB
622 A=(YVIB8[J]-YVIB8[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB8[J]-XVIB[J]*YVIB8[J-1])/(XVIB[J-1]-XVIB[J])
QIN[58][I]=(A*EN+B)*1.e-16
GO TO 624
# SCALE BY 1/E ABOVE XVIB[NVIB]
623 QIN[58][I]=YVIB8(NVIB)*(XVIB[NVIB]/EN)*1.e-16
624 if(EN > 6.0) PEQIN[58][I]=PEQEL[2][(I-IOFFN[58])]
# B1 SIGMA
625 if(EN <= EIN[59]) GO TO 630
if(EN > XEXC2(NEXC2):
) GO TO 628
DO 626 J=2,NEXC2
if(EN <= XEXC2[J]:
) GO TO 627
626 CONTINUE
J=NEXC2
627 A=(YEXC2[J]-YEXC2[J-1])/(XEXC2[J]-XEXC2[J-1])
B=(XEXC2[J-1]*YEXC2[J]-XEXC2[J]*YEXC2[J-1])/(XEXC2[J-1]-XEXC2[J])
QIN[59][I]=(A*EN+B)*1.e-16
GO TO 629
# SCALE BY 1/E**2 ABOVE XEXC2(NEXC2) EV
628 QIN[59][I]=YEXC2(NEXC2)*(XEXC2(NEXC2)/EN)**2*1.e-16
629 if(EN > (3.0*EIN[59])) PEQIN[61][I]=PEQEL[2][(I-IOFFN[59])]
#
630 if(EN <= EIN[60]) GO TO 635
if(EN > XVIB[NVIB]):
GO TO 633
DO 631 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 632
631 CONTINUE
J=NVIB
632 A=(YVIB9[J]-YVIB9[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB9[J]-XVIB[J]*YVIB9[J-1])/(XVIB[J-1]-XVIB[J])
QIN[60][I]=(A*EN+B)*1.e-16
GO TO 634
# SCALE BY 1/E ABOVE XVIB[NVIB]
633 QIN[60][I]=YVIB9(NVIB)*(XVIB[NVIB]/EN)*1.e-16
634 if(EN > 6.0) PEQIN[60][I]=PEQEL[2][(I-IOFFN[60])]
#
635 if(EN <= EIN[61]) GO TO 640
if(EN > XVIB[NVIB]):
GO TO 638
DO 636 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 637
636 CONTINUE
J=NVIB
637 A=(YVIB10[J]-YVIB10[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB10[J]-XVIB[J]*YVIB10[J-1])/(XVIB[J-1]-XVIB[J])
QIN[61][I]=(A*EN+B)*1.e-16
GO TO 639
# SCALE BY 1/E ABOVE XVIB[NVIB]
638 QIN[61][I]=YVIB10(NVIB)*(XVIB[NVIB]/EN)*1.e-16
639 if(EN > 6.0) PEQIN[61][I]=PEQEL[2][(I-IOFFN[61])]
#
640 if(EN <= EIN[62]) GO TO 645
if(EN > XVIB[NVIB]):
GO TO 643
DO 641 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 642
641 CONTINUE
J=NVIB
642 A=(YVIB11[J]-YVIB11[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB11[J]-XVIB[J]*YVIB11[J-1])/(XVIB[J-1]-XVIB[J])
QIN[62][I]=(A*EN+B)*1.e-16
GO TO 644
# SCALE BY 1/E ABOVE XVIB[NVIB]
643 QIN[62][I]=YVIB11(NVIB)*(XVIB[NVIB]/EN)*1.e-16
644 if(EN > 6.0) PEQIN[62][I]=PEQEL[2][(I-IOFFN[62])]
#
645 if(EN <= EIN[63]) GO TO 650
if(EN > XVIB[NVIB]):
GO TO 648
DO 646 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 647
646 CONTINUE
J=NVIB
647 A=(YVIB12[J]-YVIB12[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB12[J]-XVIB[J]*YVIB12[J-1])/(XVIB[J-1]-XVIB[J])
QIN[63][I]=(A*EN+B)*1.e-16
GO TO 649
# SCALE BY 1/E ABOVE XVIB[NVIB]
648 QIN[63][I]=YVIB12(NVIB)*(XVIB[NVIB]/EN)*1.e-16
649 if(EN > 6.0) PEQIN[63][I]=PEQEL[2][(I-IOFFN[63])]
#
650 if(EN <= EIN[64]) GO TO 655
if(EN > XVIB[NVIB]):
GO TO 653
DO 651 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 652
651 CONTINUE
J=NVIB
652 A=(YVIB13[J]-YVIB13[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB13[J]-XVIB[J]*YVIB13[J-1])/(XVIB[J-1]-XVIB[J])
QIN[64][I]=(A*EN+B)*1.e-16
GO TO 654
# SCALE BY 1/E ABOVE XVIB[NVIB]
653 QIN[64][I]=YVIB13(NVIB)*(XVIB[NVIB]/EN)*1.e-16
654 if(EN > 6.0) PEQIN[64][I]=PEQEL[2][(I-IOFFN[64])]
#
655 if(EN <= EIN(65)) GO TO 660
if(EN > XVIB[NVIB]):
GO TO 658
DO 656 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 657
656 CONTINUE
J=NVIB
657 A=(YVIB14[J]-YVIB14[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB14[J]-XVIB[J]*YVIB14[J-1])/(XVIB[J-1]-XVIB[J])
QIN[65][I]=(A*EN+B)*1.e-16
GO TO 659
# SCALE BY 1/E ABOVE XVIB[NVIB]
658 QIN[65][I]=YVIB14(NVIB)*(XVIB[NVIB]/EN)*1.e-16
659 if(EN > 6.0) PEQIN[65][I]=PEQEL[2][(I-IOFFN(65))]
#
660 if(EN <= EIN(66)) GO TO 665
if(EN > XVIB[NVIB]):
GO TO 663
DO 661 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 662
661 CONTINUE
J=NVIB
662 A=(YVIB15[J]-YVIB15[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB15[J]-XVIB[J]*YVIB15[J-1])/(XVIB[J-1]-XVIB[J])
QIN[66][I]=(A*EN+B)*1.e-16
GO TO 664
# SCALE BY 1/E ABOVE XVIB[NVIB]
663 QIN[66][I]=YVIB15(NVIB)*(XVIB[NVIB]/EN)*1.e-16
664 if(EN > 6.0) PEQIN[66][I]=PEQEL[2][(I-IOFFN(66))]
#
665 if(EN <= EIN(67)) GO TO 670
if(EN > XVIB[NVIB]):
GO TO 668
DO 666 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 667
666 CONTINUE
J=NVIB
667 A=(YVIB16[J]-YVIB16[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB16[J]-XVIB[J]*YVIB16[J-1])/(XVIB[J-1]-XVIB[J])
QIN[67][I]=(A*EN+B)*1.e-16
GO TO 669
# SCALE BY 1/E ABOVE XVIB[NVIB]
668 QIN[67][I]=YVIB16(NVIB)*(XVIB[NVIB]/EN)*1.e-16
669 if(EN > 6.0) PEQIN[67][I]=PEQEL[2][(I-IOFFN(67))]
#
670 if(EN <= EIN(68)) GO TO 675
if(EN > XVIB[NVIB]):
GO TO 673
DO 671 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 672
671 CONTINUE
J=NVIB
672 A=(YVIB17[J]-YVIB17[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB17[J]-XVIB[J]*YVIB17[J-1])/(XVIB[J-1]-XVIB[J])
QIN[68][I]=(A*EN+B)*1.e-16
GO TO 674
# SCALE BY 1/E ABOVE XVIB[NVIB]
673 QIN[68][I]=YVIB17(NVIB)*(XVIB[NVIB]/EN)*1.e-16
674 if(EN > 6.0) PEQIN[68][I]=PEQEL[2][(I-IOFFN(68))]
#
675 if(EN <= EIN(69)) GO TO 680
if(EN > XVIB[NVIB]):
GO TO 678
DO 676 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 677
676 CONTINUE
J=NVIB
677 A=(YVIB18[J]-YVIB18[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB18[J]-XVIB[J]*YVIB18[J-1])/(XVIB[J-1]-XVIB[J])
QIN[69][I]=(A*EN+B)*1.e-16
GO TO 679
# SCALE BY 1/E ABOVE XVIB[NVIB]
678 QIN[69][I]=YVIB18(NVIB)*(XVIB[NVIB]/EN)*1.e-16
679 if(EN > 6.0) PEQIN[69][I]=PEQEL[2][(I-IOFFN(69))]
#
680 if(EN <= EIN(70)) GO TO 685
if(EN > XVIB[NVIB]):
GO TO 683
DO 681 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 682
681 CONTINUE
J=NVIB
682 A=(YVIB19[J]-YVIB19[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB19[J]-XVIB[J]*YVIB19[J-1])/(XVIB[J-1]-XVIB[J])
QIN[70][I]=(A*EN+B)*1.e-16
GO TO 684
# SCALE BY 1/E ABOVE XVIB[NVIB]
683 QIN[70][I]=YVIB19(NVIB)*(XVIB[NVIB]/EN)*1.e-16
684 if(EN > 6.0) PEQIN[70][I]=PEQEL[2][(I-IOFFN(70))]
#
685 if(EN <= EIN(71)) GO TO 690
if(EN > XVIB[NVIB]):
GO TO 688
DO 686 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 687
686 CONTINUE
J=NVIB
687 A=(YVIB20[J]-YVIB20[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB20[J]-XVIB[J]*YVIB20[J-1])/(XVIB[J-1]-XVIB[J])
QIN[71][I]=(A*EN+B)*1.e-16
GO TO 689
# SCALE BY 1/E ABOVE XVIB[NVIB]
688 QIN[71][I]=YVIB20(NVIB)*(XVIB[NVIB]/EN)*1.e-16
689 if(EN > 6.0) PEQIN[71][I]=PEQEL[2][(I-IOFFN(71))]
#
690 if(EN <= EIN(72)) GO TO 1000
if(EN > XVIB[NVIB]):
GO TO 693
DO 691 J=2,NVIB
if(EN <= XVIB[J]):
GO TO 692
691 CONTINUE
J=NVIB
692 A=(YVIB21[J]-YVIB21[J-1])/(XVIB[J]-XVIB[J-1])
B=(XVIB[J-1]*YVIB21[J]-XVIB[J]*YVIB21[J-1])/(XVIB[J-1]-XVIB[J])
QIN[72][I]=(A*EN+B)*1.e-16
GO TO 694
# SCALE BY 1/E ABOVE XVIB[NVIB]
693 QIN[72][I]=YVIB20(NVIB)*(XVIB[NVIB]/EN)*1.e-16
694 if(EN > 6.0) PEQIN[72][I]=PEQEL[2][(I-IOFFN(72))]
#
# HERZBERG CONTINUUM C1SIG +A#3DEL + A3SIG
# PART1
1000 if(EN <= EIN(73)) GO TO 1030
if(EN > XEXC3(NEXC3):
) GO TO 1020
DO 1010 J=2,NEXC3
if(EN <= XEXC3[J]:
) GO TO 1015
1010 CONTINUE
J=NEXC3
1015 A=(YEXC3[J]-YEXC3[J-1])/(XEXC3[J]-XEXC3[J-1])
B=(XEXC3[J-1]*YEXC3[J]-XEXC3[J]*YEXC3[J-1])/(XEXC3[J-1]-XEXC3[J])
QIN[73][I]=(A*EN+B)*1.e-16
GO TO 1021
# SCALE BY 1/E ABOVE XEXC3(NEXC3)
1020 QIN[73][I]=YEXC3(NEXC3)*(XEXC3(NEXC3)/EN)*1.e-16
1021 if(EN > (2.0*EIN(73))) PEQIN[73][I]=PEQEL[2][(I-IOFFN(73))]
# PART2
1030 if(EN <= EIN(74)) GO TO 1060
if(EN > XEXC4(NEXC4):
) GO TO 1050
DO 1040 J=2,NEXC4
if(EN <= XEXC4[J]:
) GO TO 1045
1040 CONTINUE
J=NEXC4
1045 A=(YEXC4[J]-YEXC4[J-1])/(XEXC4[J]-XEXC4[J-1])
B=(XEXC4[J-1]*YEXC4[J]-XEXC4[J]*YEXC4[J-1])/(XEXC4[J-1]-XEXC4[J])
QIN[74][I]=(A*EN+B)*1.e-16
GO TO 1060
# SCALE BY 1/E ABOVE XEXC4(NEXC4)
1050 QIN[74][I]=YEXC4(NEXC4)*(XEXC4(NEXC4)/EN)*1.e-16
1060 if(EN > (2.0*EIN(74))) PEQIN[74][I]=PEQEL[2][(I-IOFFN(74))]
# PART3
if(EN <= EIN(75):
) GO TO 1100
if(EN > XEXC5(NEXC5):
) GO TO 1080
DO 1070 J=2,NEXC5
if(EN <= XEXC5[J]:
) GO TO 1075
1070 CONTINUE
J=NEXC5
1075 A=(YEXC5[J]-YEXC5[J-1])/(XEXC5[J]-XEXC5[J-1])
B=(XEXC5[J-1]*YEXC5[J]-XEXC5[J]*YEXC5[J-1])/(XEXC5[J-1]-XEXC5[J])
QIN[75][I]=(A*EN+B)*1.e-16
GO TO 1100
# SCALE BY 1/E ABOVE XEXC5(NEXC5)
1080 QIN[75][I]=YEXC5(NEXC5)*(XEXC5(NEXC5)/EN)*1.e-16
1100 if(EN > (2.0*EIN(75))) PEQIN[75][I]=PEQEL[2][(I-IOFFN(75))]
# SUM OF TRANSITIONS TO B3SIGMA V=7 TO V=21
if(EN <= EIN(76):
) GO TO 1150
# USE BEF SCALING
QIN[76][I]=0.00026/(EIN(76)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(76)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(76)+E[3])
if(QIN[76][I]:
< 0.0) QIN[76][I]=0.0
if(EN > (2.0*EIN(76):
)) PEQIN[76][I]=PEQEL[2][(I-IOFFN(76))]
#
# SCHUMANN-RUNGE CONTINUUM
1150 if(EN <= EIN(77)) GO TO 1151
# USE BEF SCALING
QIN[77][I]=0.000408/(EIN(77)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(77)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(77)+E[3])
1151 if(EN <= EIN(78)) GO TO 1152
QIN[78][I]=0.000623/(EIN(78)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(78)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(78)+E[3])
1152 if(EN <= EIN(79)) GO TO 1153
QIN[79][I]=0.001016/(EIN(79)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(79)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(79)+E[3])
1153 if(EN <= EIN(80)) GO TO 1154
QIN[80][I]=0.001562/(EIN(80)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(80)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(80)+E[3])
1154 if(EN <= EIN(81)) GO TO 1155
QIN[81][I]=0.002312/(EIN(81)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(81)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(81)+E[3])
1155 if(EN <= EIN(82)) GO TO 1156
QIN[82][I]=0.003234/(EIN(82)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(82)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(82)+E[3])
1156 if(EN <= EIN(83)) GO TO 1157
QIN[83][I]=0.004362/(EIN(83)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(83)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(83)+E[3])
1157 if(EN <= EIN(84)) GO TO 1158
QIN[84][I]=0.005573/(EIN(84)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(84)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(84)+E[3])
1158 if(EN <= EIN(85)) GO TO 1159
QIN[85][I]=0.006930/(EIN(85)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(85)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(85)+E[3])
1159 if(EN <= EIN(86)) GO TO 1160
QIN[86][I]=0.008342/(EIN(86)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(86)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(86)+E[3])
1160 if(EN <= EIN(87)) GO TO 1161
QIN[87][I]=0.009692/(EIN(87)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(87)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(87)+E[3])
# SUM OF RESONANCES (NON-DIPOLE) IN S-R CONTINUUM AT 8.20EV
if(EN <= EIN(88):
) GO TO 1161
if(EN > XEXC6(NEXC6):
) GO TO 963
DO 961 J=2,NEXC6
if(EN <= XEXC6[J]:
) GO TO 962
961 CONTINUE
J=NEXC6
962 A=(YEXC6[J]-YEXC6[J-1])/(XEXC6[J]-XEXC6[J-1])
B=(XEXC6[J-1]*YEXC6[J]-XEXC6[J]*YEXC6[J-1])/(XEXC6[J-1]-XEXC6[J])
QIN[88][I]=(A*EN+B)*1.e-16
GO TO 1161
# SCALE BY 1/E ABOVE XEXC6(NEXC6)
963 QIN[88][I]=YEXC6(NEXC6)*(XEXC6(NEXC6)/EN)*1.e-16
# MORE SCHUMANN RUNGE CONTINUUM
1161 if(EN <= EIN(89)) GO TO 1162
QIN[89][I]=0.010816/(EIN(89)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(89)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(89)+E[3])
1162 if(EN <= EIN(90)) GO TO 1163
QIN[90][I]=0.011839/(EIN(90)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(90)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(90)+E[3])
1163 if(EN <= EIN(91)) GO TO 1164
QIN[91][I]=0.012580/(EIN(91)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(91)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(91)+E[3])
1164 if(EN <= EIN(92)) GO TO 1165
QIN[92][I]=0.013160/(EIN(92)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(92)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(92)+E[3])
1165 if(EN <= EIN(93)) GO TO 1166
QIN[93][I]=0.013432/(EIN(93)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(93)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(93)+E[3])
1166 if(EN <= EIN(94)) GO TO 1167
QIN[94][I]=0.013571/(EIN(94)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(94)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(94)+E[3])
1167 if(EN <= EIN(95)) GO TO 1168
QIN[95][I]=0.013425/(EIN(95)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(95)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(95)+E[3])
1168 if(EN <= EIN(96)) GO TO 1169
QIN[96][I]=0.012948/(EIN(96)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(96)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(96)+E[3])
1169 if(EN <= EIN(97)) GO TO 1170
QIN[97][I]=0.010892/(EIN(97)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(97)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(97)+E[3])
1170 if(EN <= EIN(98)) GO TO 1171
QIN[98][I]=0.006688/(EIN(98)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(98)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(98)+E[3])
1171 if(EN <= EIN(99)) GO TO 1172
QIN[99][I]=0.002784/(EIN(99)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(99)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(99)+E[3])
1172 if(EN <= EIN(100)) GO TO 1173
QIN(100,I)=0.001767/(EIN(100)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(100)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(100)+E[3])
1173 if(EN <= EIN(101)) GO TO 1174
QIN(101,I)=0.000633/(EIN(101)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(101)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(101)+E[3])
1174 if(EN <= EIN(102)) GO TO 1175
QIN(102,I)=0.000438/(EIN(102)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(102)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(102)+E[3])
1175 if(EN <= EIN(103)) GO TO 1176
QIN(103,I)=0.000465/(EIN(103)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(103)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(103)+E[3])
#
# E3 SIGMA V=0 'LONGEST BAND'
1176 if(EN <= EIN(104)) GO TO 1177
QIN(104,I)=0.008432/(EIN(104)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(104)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(104)+E[3])
# ADD RESONANT COMPONENT TO LONG BAND
if(EN > XEXC7(NEXC7):
) GO TO 966
DO 964 J=2,NEXC7
if(EN <= XEXC7[J]:
) GO TO 965
964 CONTINUE
J=NEXC7
965 A=(YEXC7[J]-YEXC7[J-1])/(XEXC7[J]-XEXC7[J-1])
B=(XEXC7[J-1]*YEXC7[J]-XEXC7[J]*YEXC7[J-1])/(XEXC7[J-1]-XEXC7[J])
QIN(104,I)=QIN(104,I)+(A*EN+B)*1.e-16
GO TO 1177
# SCALE BY 1/E ABOVE XEXC7(NEXC7)
966 QIN(104,I)=QIN(104,I)+YEXC7(NEXC7)*(XEXC7(NEXC7)/EN)*1.e-16
#
# E3 SIGMA V=1 'SECOND BAND'
1177 if(EN <= EIN(105)) GO TO 1178
QIN(105,I)=0.007598/(EIN(105)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(105)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(105)+E[3])
# E3 SIGMA V=2 'THIRD BAND'
1178 if(EN <= EIN(106)) GO TO 1881
QIN(106,I)=0.000829/(EIN(106)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(106)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(106)+E[3])
#
# TRIPLET SUM BELOW IP
#
1881 if(EN <= EIN(107)) GO TO 1179
if(EN > XEXC8(NEXC8):
) GO TO 1884
DO 1882 J=2,NEXC8
if(EN <= XEXC8[J]:
) GO TO 1883
1882 CONTINUE
J=NEXC8
1883 A=(YEXC8[J]-YEXC8[J-1])/(XEXC8[J]-XEXC8[J-1])
B=(XEXC8[J-1]*YEXC8[J]-XEXC8[J]*YEXC8[J-1])/(XEXC8[J-1]-XEXC8[J])
QIN(107,I)=(A*EN+B)*1.e-16
GO TO 1179
# SCALE BY 1/E**1.5 ABOVE XEXC8(NEXC8)
1884 QIN(107,I)=YEXC8(NEXC8)*((XEXC8(NEXC8)/EN)**1.5)*1.e-16
#
1179 if(EN <= EIN(108)) GO TO 1180
QIN(108,I)=0.000644/(EIN(108)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(108)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(108)+E[3])
#
1180 if(EN <= EIN(109)) GO TO 1181
QIN(109,I)=0.001460/(EIN(109)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(109)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(109)+E[3])
#
1181 if(EN <= EIN(110)) GO TO 1182
QIN(110,I)=0.000818/(EIN(110)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(110)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(110)+E[3])
#
1182 if(EN <= EIN(111)) GO TO 1183
QIN(111,I)=0.000736/(EIN(111)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(111)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(111)+E[3])
#
1183 if(EN <= EIN(112)) GO TO 1184
QIN(112,I)=0.000598/(EIN(112)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(112)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(112)+E[3])
#
1184 if(EN <= EIN(113)) GO TO 1185
QIN(113,I)=0.001482/(EIN(113)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(113)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(113)+E[3])
#
1185 if(EN <= EIN(114)) GO TO 1186
QIN(114,I)=0.000425/(EIN(114)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(114)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(114)+E[3])
#
1186 if(EN <= EIN(115)) GO TO 1187
QIN(115,I)=0.001669/(EIN(115)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(115)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(115)+E[3])
#
1187 if(EN <= EIN(116)) GO TO 1188
QIN(116,I)=0.001766/(EIN(116)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(116)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(116)+E[3])
#
1188 if(EN <= EIN(117)) GO TO 1189
QIN(117,I)=0.001613/(EIN(117)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(117)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(117)+E[3])
#
1189 DO 1200 JK=77,117
if(QIN(JK,I):
<= 0.0) QIN(JK,I)=0.0
if(EN <= (2.0*EIN(JK):
)) GO TO 1200
PEQIN(JK,I)=PEQEL[2][(I-IOFFN(JK))]
1200 CONTINUE
# NEUTRAL DISSOCIATION ABOVE IONISATION ENERGY
#
if(EN <= EIN(118):
) GO TO 1301
QIN(118,I)=0.001746/(EIN(118)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(118)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(118)+E[3])
#
1301 if(EN <= EIN(119)) GO TO 1302
QIN(119,I)=0.003329/(EIN(119)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(119)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(119)+E[3])
#
1302 if(EN <= EIN(120)) GO TO 1303
QIN(120,I)=0.006264/(EIN(120)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(120)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(120)+E[3])
#
1303 if(EN <= EIN(121)) GO TO 1304
QIN(121,I)=0.013513/(EIN(121)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(121)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(121)+E[3])
#
1304 if(EN <= EIN(122)) GO TO 1885
QIN(122,I)=0.011373/(EIN(122)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(122)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(122)+E[3])
#
# TRIPLET SUM ABOVE IP
#
1885 if(EN <= EIN(123)) GO TO 1305
if(EN > XEXC9(NEXC9):
) GO TO 1888
DO 1886 J=2,NEXC9
if(EN <= XEXC9[J]:
) GO TO 1887
1886 CONTINUE
J=NEXC9
1887 A=(YEXC9[J]-YEXC9[J-1])/(XEXC9[J]-XEXC9[J-1])
B=(XEXC9[J-1]*YEXC9[J]-XEXC9[J]*YEXC9[J-1])/(XEXC9[J-1]-XEXC9[J])
QIN(123,I)=(A*EN+B)*1.e-16
GO TO 1305
# SCALE BY 1/E**1.5 ABOVE XEXC9(NEXC9)
1888 QIN(123,I)=YEXC9(NEXC9)*(XEXC9(NEXC9)/EN)**1.5*1.e-16
#
1305 if(EN <= EIN(124)) GO TO 1306
QIN(124,I)=0.006052/(EIN(124)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(124)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(124)+E[3])
#
1306 if(EN <= EIN(125)) GO TO 1307
QIN(125,I)=0.006051/(EIN(125)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(125)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(125)+E[3])
#
1307 if(EN <= EIN(126)) GO TO 1308
QIN(126,I)=0.004993/(EIN(126)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(126)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(126)+E[3])
#
1308 if(EN <= EIN(127)) GO TO 1309
QIN(127,I)=0.005045/(EIN(127)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(127)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(127)+E[3])
#
1309 if(EN <= EIN(128)) GO TO 1310
QIN(128,I)=0.004962/(EIN(128)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(128)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(128)+E[3])
#
1310 if(EN <= EIN(129)) GO TO 1311
QIN(129,I)=0.006520/(EIN(129)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(129)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(129)+E[3])
#
1311 if(EN <= EIN(130)) GO TO 1312
QIN(130,I)=0.008432/(EIN(130)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(130)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(130)+E[3])
#
1312 if(EN <= EIN(131)) GO TO 1313
QIN(131,I)=0.011304/(EIN(131)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(131)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(131)+E[3])
#
1313 if(EN <= EIN(132)) GO TO 1314
QIN(132,I)=0.015172/(EIN(132)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(132)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(132)+E[3])
#
1314 if(EN <= EIN(133)) GO TO 1315
QIN(133,I)=0.022139/(EIN(133)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(133)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(133)+E[3])
#
1315 if(EN <= EIN(134)) GO TO 1316
QIN(134,I)=0.032682/(EIN(134)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(134)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(134)+E[3])
#
1316 if(EN <= EIN(135)) GO TO 1317
QIN(135,I)=0.039457/(EIN(135)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(135)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(135)+E[3])
#
1317 if(EN <= EIN(136)) GO TO 1318
QIN(136,I)=0.029498/(EIN(136)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(136)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(136)+E[3])
#
1318 if(EN <= EIN(137)) GO TO 1319
QIN(137,I)=0.018923/(EIN(137)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(137)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(137)+E[3])
#
1319 if(EN <= EIN(138)) GO TO 1320
QIN(138,I)=0.017762/(EIN(138)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(138)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(138)+E[3])
#
1320 if(EN <= EIN(139)) GO TO 1321
QIN(139,I)=0.015115/(EIN(139)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(139)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(139)+E[3])
#
1321 if(EN <= EIN(140)) GO TO 1322
QIN(140,I)=0.013220/(EIN(140)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(140)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(140)+E[3])
#
1322 if(EN <= EIN(141)) GO TO 1323
QIN(141,I)=0.009540/(EIN(141)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(141)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(141)+E[3])
#
1323 if(EN <= EIN(142)) GO TO 1324
QIN(142,I)=0.005854/(EIN(142)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(142)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(142)+E[3])
#
1324 if(EN <= EIN(143)) GO TO 1325
QIN(143,I)=0.008733/(EIN(143)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(143)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(143)+E[3])
#
1325 if(EN <= EIN(144)) GO TO 1326
QIN(144,I)=0.007914/(EIN(144)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(144)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(144)+E[3])
#
1326 if(EN <= EIN(145)) GO TO 1327
QIN(145,I)=0.008002/(EIN(145)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(145)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(145)+E[3])
#
1327 if(EN <= EIN(146)) GO TO 1328
QIN(146,I)=0.006519/(EIN(146)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(146)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(146)+E[3])
#
1328 if(EN <= EIN(147)) GO TO 1329
QIN(147,I)=0.003528/(EIN(147)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(147)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(147)+E[3])
#
1329 if(EN <= EIN(148)) GO TO 1330
QIN(148,I)=0.001469/(EIN(148)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(148)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(148)+E[3])
#
1330 DO 1340 JK=118,148
if(QIN(JK,I):
<= 0.0) QIN(JK,I)=0.0
if(EN <= (2.0*EIN(JK):
)) GO TO 1340
PEQIN(JK,I)=PEQEL[2][(I-IOFFN(JK))]
1340 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTION
QIN(149,I)=0.0
if(EN <= 1000.):
GO TO 1350
DO 1341 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 1342
1341 CONTINUE
J=NBREM
1342 A=(math.log(Z8T[J])-math.log(Z8T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z8T[J])*EBRM[J-1]-math.log(Z8T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN(149,I)=math.exp(A*EN+B)*2.e-24
1350 CONTINUE
# SCHUMANN RUNGE SUM
SUMSR=0.0
DO 1400 JK=77,103
1400 SUMSR=SUMSR+QIN(JK,I)
# DISS SUM ABOVE IONISATION ENERGY
SUMDISI=0.0
DO 1501 JK=118,148
1501 SUMDISI=SUMDISI+QIN(JK,I)
# SUM DISS LOW
SUMDISL=0.0
DO 1502 JK=107,117
1502 SUMDISL=SUMDISL+QIN(JK,I)
# SUM ROT
SUMROT=0.0
DO 1508 JK=1,48
1508 SUMROT=SUMROT+QIN(JK,I)
# WRITE(6,8747) SUMROT,I,EN
#8747 print(' SUMROT=','%.4f' % ,' I=',I5,' EN=','%.4f' % )
# SUMVIB
SUMVIB=0.0
DO 1506 JK=49,54
1506 SUMVIB=SUMVIB+QIN(JK,I)
SUMVIB=SUMVIB+QIN[55][I]+QIN[56][I]+QIN[57][I]
DO 1507 JK=60,72
1507 SUMVIB=SUMVIB+QIN(JK,I)
# SUM HERZBERG
SUMHERZ=QIN[73][I]+QIN[74][I]+QIN[75][I]
# SUM E3SIGMA
SUME3=QIN(104,I)+QIN(105,I)+QIN(106,I)
# SUM ION
SUMION=0.0
DO 1503 JK=1,NION
1503 SUMION=SUMION+QION(JK,I)
# SUM OF EXCITATIONS (NO ROTATIONS)
SUMEXC=0.0
DO 1504 JK=49,NIN
1504 SUMEXC=SUMEXC+QIN(JK,I)
SUMEXC=SUMEXC+Q[4][I]
Q[1][I]=Q[2][I]+SUMION+SUMEXC
# WRITE(6,889) EN,Q[2][I],SUMEXC,SUMION,Q[1][I],Q[4][I],I
# 889 print(' EN=','%.4f' % ,' ELAS=','%.4f' % ,' EXC=','%.4f' % ,' ION=','%.4f' % ,
# /' TOT=','%.4f' % ,' Q4 =','%.4f' % ,' I=',I5)
# SUMINEL=SUMION+SUMEXC
# WRITE(6,890) EN,SUMION,SUMEXC,SUMINEL
# 890 print(' EN=','%.4f' % ,' SUMION=','%.4f' % ,' SUMEXC=','%.4f' % ,' SUMINEL=',
# /'%.4f' % )
9900 CONTINUE
# SAVE COMPUTE TIME
DO 2000 K=1,148
J=149-K
if(EFINAL <= EIN[J]:
) NIN=J-1
2000 CONTINUE
if(NIN < 52):
NIN=52
if(EFINAL > 1000.):
NIN=149
#
return
# end
def GAS16(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250],PJ(220)
DIMENSION XELA[216],YELA[216],YMOM(216),YEPS(216),XROT(70),YROT(70),XVB1(87),YVB1(87),XVB2(69),YVB2(69),XVB3(70),YVB3(70),XVB4[50],YVB4[50],XVB5[40],YVB5[40],XVB6[41],YVB6[41],XVB7[42],YVB7[42],XVB8[40],YVB8[40],XVB9[35],YVB9[35],XVB10[35],YVB10[35],XVB11[35],YVB11[35],XVB12[33],YVB12[33],XVB13[31],YVB13[31],XVB14[28],YVB14[28],XVB15[32],YVB15[32],XTRP1[23],YTRP1[23],YTP1M[23],XTRP2[23],YTRP2[23],YTP2M[23],XTRP3[21],YTRP3[21],YTP3M[21],XTRP4[22],YTRP4[22],YTP4M[22],XTRP5[23],YTRP5[23],YTP5M[23],XTRP6[21],YTRP6[21],YTP6M[21],XTRP7[21],YTRP7[21],YTP7M[21],XTRP8[21],YTRP8[21],YTP8M[21],XTRP9[20],YTRP9[20],YTP9M[20],XTRP10[20],YTRP10[20],YTP10M[20],XTRP11[19],YTRP11[19],YTP11M[19],XTRP12[22],YTRP12[22],YTP12M[22],XTRP13[10],YTRP13[10],YTP13M[10],XTRP14[10],YTRP14[10],YTP14M[10],XSNG1[19],YSNG1[19],YSG1M[19],XSNG2[17],YSNG2[17],YSG2M[17],XSNG3[17],YSNG3[17],YSG3M[17],XSNG4[19],YSNG4[19],YSG4M[19],XSNG5[17],YSNG5[17],YSG5M[17],XSNG6[16],YSNG6[16],YSG6M[16],XSNG7[12],YSNG7[12],YSG7M[12],XSNG8[8],YSNG8[8],YSG8M[8],XSNG9[16],YSNG9[16],YSG9M[16],XSNG10[8],YSNG10[8],YSG10M[8],XSNG11[8],YSNG11[8],YSG11M[8],XSNG12[8],YSNG12[8],YSG12M[8],XSNG13[8],YSNG13[8],YSG13M[8],XSNG14[8],YSNG14[8],YSG14M[8],XSNG15[8],YSNG15[8],YSG15M[8],XKSH(89),YKSH(89),XION(87),YION(87),XION1(87),YION1(87),XION2[63],YION2[63],XION3[48],YION3[48],XION4[54],YION4[54],IOFFN(127),IOFFION[12]
DIMENSION Z7T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
XELA=[0.00,.001,.0015,.0018,.002,.0025,.003,.004,.005,.006,.007,.008,.009,.010,.012,.015,.018,.020,.025,.030,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.15,0.18, 0.20,0.25,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70,1.80,1.85,1.90,1.95,2.00,2.05,2.10,2.15,2.20,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.60,3.70,3.80,3.90,4.00,4.50,5.00,5.50,6.00,6.50,7.00,8.00,9.00,10.0,12.0,15.0,17.0,20.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,10000.,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC +ROTATION X-SECTION
YELA=[1.12,1.377,1.446,1.484,1.510,1.570,1.640,1.738,1.830,1.928,2.020,2.082,2.151,2.210,2.362,2.570,2.780,2.900,3.170,3.430,3.850,4.170,4.480,4.750,5.000,5.250,5.450,5.850,6.300,6.800, 7.000,7.600,8.000,8.600,9.000,9.200,9.300,9.450,9.650,9.840, 10.00,10.24,10.48,10.67,11.05,11.71,12.90,14.90,16.10,17.60,17.40,17.10,16.30,17.10,20.30,24.10,21.70,18.80,17.90,22.20,24.90,21.70,18.00,16.80,20.90,22.45,20.30,17.00,16.80,18.70,18.70,16.50,15.30,15.70,16.00,15.40,14.60,14.50,14.70,14.30,13.50,13.80,13.60,13.30,13.15,13.00,12.90,11.90,11.60,11.40,11.20,11.10,11.10,10.90,10.80,11.20,11.40,11.80,11.80,11.30,10.70,9.660,8.740,8.090,7.530,7.130,6.380,5.840,5.330,4.940,4.650,4.100,3.600,3.300,2.990,2.620,2.320,2.100,1.930,1.780,1.660,1.470,1.300,1.200,1.110,1.030,0.870,0.765,0.670,0.600,0.496,0.420,0.364,0.321,0.288,0.261,0.219,0.189,0.167,0.149,0.135,0.109,.0919,.0795,.0702,.0570,.0483,.0420,.0372,.0336,.0306,.0262,.0231,.0207,.0189,.0174,.0148,.0130,.0118,.0108,.00953,.00868,.00808,.00764,.00730,.00703,.00664,.00637,.00617,.00602, .00591,.00572,.00560,.00552,.00546,.00539,.00535,.00532,.00530,.00529,.00528,.00527,.00525,.00525,.00525,.00524,.00524,.00524,.00524,.005236,26*.005234]
# ELASTIC+ROTATION MOMENTUM TRANSFER X-SECTION
YMOM=[1.12,1.377,1.446,1.484,1.510,1.570,1.640,1.738,1.830,1.928,2.020,2.082,2.151,2.210,2.362,2.570,2.780,2.900,3.170,3.430, 3.900,4.350,4.750,5.100,5.410,5.690,5.950,6.450,7.100,7.590,7.900,8.500,9.000,9.700,10.30,10.90,11.25,11.40,11.30,11.10,10.90,10.65,10.45,10.65,10.80,11.85,13.60,16.00,17.40,19.00,18.80,18.60,17.80,18.50,21.70,25.50,23.10,20.20,19.30,23.50,26.20,23.00,19.30,18.10,22.20,23.70,21.50,18.10,17.80,19.60,19.40,17.10,15.70,15.90,15.90,15.10,14.00,13.50,13.30,12.50,11.40,11.40,11.00,10.60,10.20,10.00,9.900,9.100,8.900,8.700,8.500,8.400,8.300,8.200,8.200,8.300,8.400,8.500,8.500,8.300,7.800,7.200,6.700,6.310,5.950,5.600,4.700,4.000,3.500,3.000,2.650,2.100,1.650,1.370,1.179,0.861,0.662,0.527,0.431,0.360,0.306,0.230,0.179,0.144,0.119,0.100,.0687,.0504,.0387,.0307,.0208,.0151,.0115,.00904,.00733,.00607,.00438,.00332,.00261,.00211,.00174,.00116,8.37e-4,6.33e-4,4.97e-4,3.32e-4,2.39e-4,1.81e-4,1.43e-4,1.15e-4,9.56e-5,6.91e-5,5.26e-5,4.16e-5,3.39e-5,2.82e-5,1.92e-5,1.41e-5,1.09e-5,8.71e-6,6.04e-6,4.50e-6,3.52e-6,2.86e-6,2.38e-6,2.02e-6,1.52e-6,1.20e-6,9.83e-7,8.21e-7,6.99e-7,5.00e-7,3.77e-7,2.97e-7,2.40e-7,1.68e-7,1.25e-7,9.72e-8,7.78e-8,6.38e-8,5.34e-8,3.91e-8,2.99e-8,2.37e-8,1.93e-8,1.60e-8,1.07e-8,7.73e-9,5.84e-9,4.58e-9,3.04e-9,2.17e-9,1.63e-9,1.27e-9,1.01e-9,8.31e-10,5.88e-10,4.37e-10,3.38e-10,2.69e-10,2.19e-10,1.41e-10,9.86e-11,7.27e-11,5.57e-11,3.57e-11,2.48e-11,1.83e-11,1.40e-11,1.11e-11,8.96e-12,6.22e-12,4.57e-12,3.50e-12,2.77e-12,2.24e-12]
# ELASTIC ANISOTROPY def EPSILON
# EPSILON=1.0-YEPS
YEPS=[20*1.00,1.01974,1.06500,1.09085,1.11025,1.12263,1.12532,1.13709,1.15311,1.18909,1.17321,1.19143,1.17651,1.18619,1.19046,1.21464,1.27297,1.30840,1.30369,1.25314,1.19066,1.13451,1.06001,0.99571,0.99719,0.96607,1.01794,1.08128,1.11047,1.12077,1.11898,1.12034,1.13112,1.13750,1.12243,1.10323,1.08700,1.09660,1.11142,1.11699,1.08770,1.07822,1.08972,1.10807,1.11576,1.09314,1.08340,1.08852,1.09688,1.08914,1.07212,1.05611,1.05451,1.03920,1.01911,0.99063,0.97078,0.93840,0.89677,0.85772,0.81253,0.76918,0.74264,0.71789,0.70105,0.67098,0.66198,0.65948,0.65567,0.65920,0.65352,0.64764,0.64463,0.63220,0.63846,0.64810,0.62303,0.61725,0.59484,0.59484,0.61407,0.60653,0.62889,0.65829,0.67702,0.69139,0.68467,0.61702,0.54773,0.51113,0.44953,0.40500,0.34012,0.28400,0.24224,0.22315,0.16753,0.13474,0.11089,0.09315,0.08049,0.07031,0.05555,0.04637,0.03828,0.03277,0.02863,0.02168,0.01705,0.01436,0.01227,0.00951,0.00782,0.00665,0.00576,0.00508,0.00454,0.00377,0.00322,0.00279,0.00248,.002212,.001759,.001461,.001246,.001084,8.62e-4,7.12e-4,6.07e-4,5.31e-4,4.64e-4,4.18e-4,3.44e-4,2.91e-4,2.52e-4,2.21e-4,1.97e-4,1.53e-4,1.249e-4,1.042e-4,8.95e-5,6.83e-5,5.45e-5,4.49e-5,3.79e-5,3.25e-5,2.83e-5,2.20e-5,1.77e-5,1.47e-5,1.24e-5,1.062e-5,7.65e-6,5.73e-6,4.48e-6,3.60e-6,2.48e-6,1.81e-6,1.38e-6,1.09e-6,8.85e-7,7.32e-7,5.24e-7,3.94e-7,3.07e-7,2.46e-7,2.02e-7,1.32e-7,9.28e-8,6.89e-8,5.31e-8,3.44e-8,2.40e-8,1.77e-8,1.36e-8,1.07e-8,8.70e-9,6.03e-9,4.41e-9,3.36e-9,2.64e-9,2.13e-9,1.34e-9,9.19e-10,6.67e-10,5.04e-10,3.16e-10,2.16e-10,1.57e-10,1.18e-10,9.3D-11,7.4D-11,5.1D-11,3.7D-11,2.8D-11,2.2D-11,1.7D-11]
# ROTATIONAL RESONANCE def
XROT=[0.00,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70,1.80,1.85,1.90,1.95,1.98,2.00,2.05,2.10,2.15,2.20,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.69,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.60,3.70,3.80,3.90,4.00,4.10,4.20,4.30,4.40,4.50,4.60,4.70,4.80,4.90,5.00,5.10,5.20,5.30,5.40,5.50,5.60,5.70,5.80,5.90]
YROT=[0.00,0.00,0.00,0.10,0.20,0.30,0.40,1.10,2.30,4.30,5.50,7.00,6.80,7.10,6.50,5.70,6.50,9.70,13.5,11.1,8.20,7.30,11.6,14.3,11.1,7.40,6.20,10.2,12.0,11.8,9.60,6.30,6.10,8.00,8.00,5.80,4.60,5.00,5.30,4.70,3.90,3.80,4.00,3.50,2.70,3.00,2.80,2.50,2.40,2.20,2.10,1.90,1.70,1.50,1.20,1.00,0.80,0.70,0.60,0.50,0.40,0.30,0.20,0.10,0.00,0.00,0.00,0.00,0.00,0.00]
# ALLAN AND VICIC FROM 1.6 EV TO 4.5 EV FOR VIBRATIONS
XVB1=[.2889,.289,.290,.292,.293,.295,.300,.310,.320,.330,.340,.360,.380,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.10,1.20,1.30,1.35,1.40,1.45,1.50,1.55,1.60,1.65,1.70,1.75,1.80,1.85,1.90,1.95,2.00,2.05,2.10,2.15,2.20,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.90,4.00,4.50,5.00,7.50,10.0,15.0,18.0,20.0,22.5,25.0,30.0,50.0,80.0]
# V1
YVB1=[.00,.00018,.00045,.00072,.00082,.00099,.00131,.00174,.00203,.00225,.00242,.00267,.00283,.00294,.00340,.00360,.0039,.0044,.0054,.0066,.0086,.0125,.0182,.0230,.0295,.0370,.0475,.0580,.0750,.103,.178,.320,.600,1.20,2.40,4.35,4.40,2.71,1.67,2.40,3.62,4.90,4.46,3.31,2.26,1.74,2.90,4.15,4.25,2.95,1.61,1.97,2.95,3.43,2.30,1.41,1.63,2.30,2.01,1.54,1.12,1.27,1.37,1.27,0.96,0.84,.820,.768,.648,.600,.624,.528,.432,.390,.330,.230,.075,.025,.012,.031,.061,.156,.101,.066,.022,.012,.006]
# V2
XVB2=[.5742,.600,.700,.800,.900,1.00,1.10,1.20,1.30,1.40,1.50,1.55,1.60,1.65,1.70,1.75,1.80,1.85,1.90,1.95,2.00,2.05,2.10,2.15,2.20,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.70,3.80,3.90,4.00,4.50,5.00,7.50,10.0,15.0,18.0,20.0,22.5,25.0,30.0,50.0,80.0]
YVB2=[.0,1.e-5,4.e-5,9.e-5,1.5D-4,2.0D-4,2.8D-4,3.2D-4,5.e-4,8.1D-4,.0026,.0059,.0115,.026,.051,.123,.236,.491,0.94,2.26,2.90,2.55,2.20,1.45,.856,.682,1.33,2.40,3.05,2.78,1.70,.672,.800,1.48,1.61,1.25,.805,.501,.670,.890,.890,.650,.444,.428,.539,.491,.364,.225,.285,.238,.200,.168,.156,.127,.101,.085,.072,.042,.014,.004,.002,.006,.012,.030,.020,.012,.004,.002,.001]
# V3
XVB3=[.8559,.900,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.65,1.70,1.75,1.80,1.85,1.90,1.95,2.00,2.05,2.10,2.15,2.16,2.20,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,3.95,4.00,4.50,5.00,7.50,10.0,15.0,18.0,20.0,22.5,25.0,30.0,50.0,80.0]
YVB3=[.0,1.e-5,3.7D-5,7.e-5,9.8D-5,1.3D-4,1.8D-4,4.1D-4,.0021,.0050,.012,.028,.071,.160,.300,.807,1.30,1.87,2.11,2.55,2.57,2.35,1.52,.617,.438,.656,1.46,1.75,1.81,1.38,.630,.250,.409,.747,1.00,.682,.309,.144,.263,.412,.360,.212,.131,.148,.183,.200,.157,.114,.079,.101,.101,.079,.057,.053,.058,.053,.044,.035,.023,.008,.0023,.001,.003,.007,.017,.011,.006,.002,.001,.0005]
# V4
XVB4=[1.1342,1.80,1.85,1.90,1.95,2.00,2.05,2.10,2.15,2.20,2.22,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.50,3.60,3.80,4.00,4.50,5.00,7.50,10.0,15.0,18.0,20.0,22.5,30.0,50.0,80.0]
YVB4=[0.0,0.00,9.e-5,.064,.170,.269,.465,.743,1.29,1.76,1.79,1.72,1.41,1.04,.600,.234,.168,.439,.797,.994,.806,.474,.215,.104,.197,.385,.394,.260,.198,.063,.098,.151,.205,.089,.070,.078,.061,.044,.035,.026,.009,.0026,.00105,.0016,.003,.008,.005,.003,.001,.0005]
# V5
XVB5=[1.4088,1.90,1.95,2.00,2.05,2.10,2.15,2.20,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80, 2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,4.00,4.50,5.00,7.50,10.0,20.0]
YVB5=[0.00,0.00,.0009,.0118,.0531,.136,.313,.490,.655,.791,1.04,1.18,1.01,.631,.295,.101,.068,.195,.395,.502,.519,.313,.106,.024,.101,.195,.183,.112,.068,.018,.035,.065,.065,.024,.014,.0096,.0032,.00096,.00024,.00012]
# V6
XVB6=[1.6801,2.05,2.10,2.15,2.20,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80,2.85,2.90,2.95, 3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,4.00,4.50,5.00,7.50,10.0,20.0]
YVB6=[0.00,0.00,9.e-5,.0117,.0463,.124,.192,.344,.487,.602,.615,.602,.577,.527,.307,.124,.050,.103,.193,.270,.270,.180,.084,.0372,.0527,.103,.128,.096,.062,.0248,.0186,.0312,.0372,.0372,.0155,.010,.052,.017,.0052,.0021, .00105]
# V7
XVB7=[1.9475,2.25,2.30,2.35,2.40,2.45,2.50,2.55,2.60,2.65,2.68,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,4.00,4.50,5.00,7.50,10.0,20.0]
YVB7=[0.00,0.00,.0009,.0255,.0526,.089,.133,.178,.232,.303,.318,.304,.231,.159,.119,.0542,.0239,.0255,.0796,.113,.108,.0812,.0413,.0112,.0064,.0207,.0334,.0366,.0224,.0128, .0128,.0157,.0183,.0166,.0096,.0074,.0057,.0039,.0013,.00039,.00015,.000075]
# V8
XVB8=[2.2115,2.40,2.45,2.50,2.55,2.60,2.65,2.70,2.75,2.80,2.85,2.88,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,3.95,4.00,4.50,5.00,7.50,10.0,20.0]
YVB8=[0.00,0.00,9.e-6,.003,.011,.017,.042,.0656,.0739,.098,.135,.140,.128,.084,.035,.014,.003,.007,.028,.0460,.0460,.028,.011,.003,.0018,.011,.0123,.0140,.0084,.0035,.0018,.0018,.0026,.0029,.0014,.0010,.0003,.00010,.00004,.00002]
# V9
XVB9=[2.4718,2.65,2.70,2.75,2.80,2.85,2.90,2.95,3.00,3.05,3.07,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,3.95,4.00,4.50,5.00,7.50,10.0,20.0]
YVB9=[0.00,.0011,.0028,.0069,.0132,.0264,.0412,.0474,.0438,.0496,.0528,.0438,.0247,.0739,.00295,.00581,.0159,.0232,.0264,.0206,.0116,.00296,.00296,.00581,.00739,.00739,.00528,.00295,.00147,.00070,.00039,.00013,.000039,.0000157,.0000079]
# V10
XVB10=[2.7284,2.90,2.95,3.00,3.05,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,3.95,4.00,4.05,4.10,4.15,4.20,4.25,4.30,4.50,5.00,7.50,10.0,20.0]
YVB10=[0.00,.000040,.00170,.00554,.0103,.0154,.0205,.0201,.0147,.0103,.00677,.00225,.00137,.00452,.00800,.0116,.0119,.00800,.00390,.00137,.00205,.00390,.00573,.00573,.00452,.00349,.00225,.00116,.00042,.00026,.00017,5.8D-5,1.7D-5,8.5D-6,4.2D-6]
# V11
XVB11=[2.9815,3.10,3.15,3.20,3.25,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,3.95,4.00,4.05,4.10,4.15,4.20,4.25,4.30,4.35,4.40,4.45,4.50,4.60,5.00,7.50,10.0,20.0]
YVB11=[0.00,3.29e-4,.00170,.00291,.00445,.00550,.00462,.00291,.00170,6.04e-4,2.20e-4,.00105,.00275,.00344,.00303,.00198,7.70e-4,1.65e-4,2.75e-4,4.40e-4,.00116,.00110,3.85e-4,5.50e-5,5.50e-5,3.30e-4,3.85e-4,3.30e-4,1.65e-4,8.70e-5,2.88e-5,9.60e-6,2.88e-6,1.16e-6,5.8D-7]
# V12
XVB12=[3.2310,3.30,3.35,3.40,3.45,3.50,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,3.95,4.00,4.05,4.10,4.15,4.20,4.25,4.30,4.35,4.40,4.45,4.50,4.55,4.60,4.65,5.00,7.50,10.0,20.0]
YVB12=[0.00,3.66e-5,3.78e-4,6.22e-4,.00107,.00119,.00092,4.40e-4,1.59e-4,1.10e-4,4.52e-4,8.06e-4,.00122,.00107,6.96e-4,3.17e-4,7.32e-5,8.55e-5,3.05e-4,3.78e-4,3.05e-4,1.53e-4,7.33e-5,1.22e-5,7.33e-5,1.46e-4,8.55e-5,1.22e-5,6.10e-6,2.04e-6,6.10e-7,2.44e-7,1.22e-7]
# V13
XVB13=[3.4769,3.55,3.60,3.65,3.70,3.75,3.80,3.85,3.90,3.95,4.00,4.05,4.10,4.15,4.20,4.25,4.30,4.35,4.40,4.45,4.50,4.55,4.60,4.65,4.70,4.75,4.80,5.00,7.50,10.0,20.0]
YVB13=[0.00,4.90e-5,1.02e-4,1.96e-4,2.16e-4,1.18e-4,3.92e-5,3.92e-5,1.46e-4,2.94e-4,3.68e-4,3.92e-4,2.72e-4,1.22e-4,2.75e-5,6.28e-5,9.77e-5,1.49e-4,1.18e-4,6.28e-5,1.57e-5,1.57e-5,2.35e-5,4.71e-5,3.14e-5,1.96e-5,3.93e-6,1.31e-6,3.93e-7,1.57e-7,7.8D-8]
# V14
XVB14=[3.7191,3.80,3.85,3.90,3.95,4.00,4.05,4.10,4.15,4.20,4.25,4.30,4.35,4.40,4.45,4.50,4.55,4.60,4.65,4.70,4.75,4.80,4.85,4.90,4.95,7.50,10.0,20.0]
YVB14=[0.00,9.07e-6,1.70e-5,1.70e-5,6.80e-6,7.94e-6,3.51e-5,7.83e-5,1.14e-4,1.09e-4,7.14e-5,3.51e-5,6.80e-6,9.07e-6,4.31e-5,5.44e-5,3.51e-5,1.70e-5,4.54e-6,6.80e-6,1.02e-5,1.70e-5,9.07e-6,5.67e-6,1.75e-6,1.75e-7,6.98e-8,3.5D-8]
# V15
XVB15=[3.9576,4.05,4.10,4.15,4.20,4.25,4.30,4.35,4.40,4.45,4.50,4.55,4.60,4.65,4.70,4.75,4.80,4.85,4.90,4.95,5.00,5.05,5.10,5.15,5.20,5.25,5.30,5.40,5.50,7.50,10.0,20.0]
YVB15=[0.00,9.42e-7,1.25e-6,2.51e-6,5.34e-6,1.94e-5,2.89e-5,3.14e-5,2.16e-5,1.10e-5,4.40e-6,5.96e-6,1.20e-5,1.98e-5,1.64e-5,9.07e-6,3.77e-6,3.77e-6,7.22e-6,7.22e-6,6.28e-6,3.77e-6,3.46e-6,4.39e-6,4.71e-6,4.71e-6,3.77e-6,2.18e-6,1.09e-6,1.09e-7,4.36e-8,2.2D-8]
# A3SIG(V=0-4) (V=0 ENERGY=6.169 EV) AVERAGE ENERGY LOSS =6.725 EV
XTRP1=[6.725,7.00,7.80,8.50,9.00,10.0,11.0,12.0,13.0,14.0, 16.0,17.0,18.0,20.0,22.0,24.0,26.0,30.0,34.0,40.0, 50.0,70.0,100.]
YTRP1=[0.00,.0035,.0100,.0440,.0280,.0240,.022,.021,.020,.019,.016,.015,.014,.013,.0108,.0099,.0087,.0069,.0057,.0046, .0033,.0019,.00094]
YTP1M=[0.92,0.92,0.92,0.92,0.92,0.92,0.93,0.94,0.94,0.95,0.97,1.01,1.07,1.12,1.14,1.16,1.18,1.22,1.21,1.20,1.18,1.00,0.92]
# A3SIG(V=5-9) (V=5 ENERGY=7.023 EV) AVERAGE ENERGY LOSS =7.360 EV
XTRP2=[7.360,7.50,7.80,8.50,9.00,10.0,11.0,12.0,13.0,14.0,16.0,17.0,18.0,20.0,22.0,24.0,26.0,30.0,34.0,40.0,50.0,70.0,100.]
YTRP2=[0.00,.0071,.0180,.072,.108,.096,.094,.092,.085,.081,.069,.064,.059,.054,.049,.043,.038,.029,.024,.020,.0136,.0076,.0040]
YTP2M=[0.92,0.92,0.92,0.92,0.92,0.92,0.93,0.94,0.94,0.95,0.97,1.01,1.07,1.12,1.14,1.16,1.18,1.22,1.21,1.20,1.18,1.00,0.92]
# B3PI(V=0-3) (V=0 ENERGY=7.353 EV) AVERAGE ENERGY LOSS =7.744 EV
XTRP3=[7.744,8.00,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0, 17.0,18.0,20.0,22.0,26.0,30.0,34.0,40.0,50.0,70.0, 100.]
YTRP3=[.0,.018,.132,.194,.188,.173,.161,.150,.138,.128,.116,.108,.089,.077,.063,.053,.047,.035,.026,.0113, .0039]
YTP3M=[1.06,1.06,1.06,1.06,1.12,1.18,1.18,1.16,1.14,1.12,1.10,1.08,1.06,1.08,1.12,1.16,1.16,1.17,1.18,1.06,0.94]
# W3DEL(V=0-5) (V=0 ENERGY=7.362 EV) AVERAGE ENERGY LOSS = 8.050 EV
XTRP4=[8.050,8.50,9.00,10.0,11.0,12.0,14.0,15.0,16.0,17.0,18.0,20.0,22.0,24.0,26.0,28.0,30.0,34.0,40.0,50.0,70.0,100.]
YTRP4=[.0,.0010,.007,.016,.023,.030,.044,.050,.053,.053,.052,.047,.039,.032,.027,.023,.020,.015,.0112,.0073,.00366,.00183]
YTP4M=[1.20,1.20,1.20,1.20,1.14,1.08,1.08,1.13,1.16,1.19,1.21,1.22,1.23,1.24,1.25,1.26,1.27,1.26,1.23,1.19,1.11,0.98]
# A3SIG(V=10-21) (V=10 ENERGY=7.790 EV) AVERAGE ENERGY LOSS=8.217 EV
XTRP5=[8.217,8.30,8.50,8.70,9.00,10.0,11.0,12.0,13.0,14.0, 16.0,17.0,18.0,20.0,22.0,24.0,26.0,30.0,34.0,40.0, 50.0,70.0,100.]
YTRP5=[0.0,.0069,.0365,.0450,.055,.096,.100,.097,.091,.086,.073,.066,.060,.055,.050,.044,.038,.031,.024,.020, .0145,.0080,.0043]
YTP5M=[0.92,0.92,0.92,0.92,0.92,0.92,0.93,0.94,0.94,0.95,0.97,1.01,1.07,1.12,1.14,1.16,1.18,1.22,1.21,1.20,1.18,1.00,0.92]
# B3PI(V=4-16) (V=4 ENERGY=8.177 EV) AVERAGE ENERGY LOSS= 8.451 EV
XTRP6=[8.451,8.50,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,20.0,22.0,26.0,30.0,34.0,40.0,50.0,70.0,100.]
YTRP6=[.0,.011,.090,.133,.129,.119,.110,.102,.094,.088,.079,.074,.061,.053,.044,.037,.032,.023,.017,.0077, .0028]
YTP6M=[1.06,1.06,1.06,1.06,1.12,1.18,1.18,1.16,1.14,1.12,1.10,1.08,1.06,1.08,1.12,1.16,1.16,1.17,1.18,1.06,0.94]
# W3DEL(V=6-10) (V=6 ENERGY=8.419 EV) AVERAGE ENERGY LOSS= 8.729 EV
XTRP7=[8.729,9.00,10.0,11.0,12.0,14.0,15.0,16.0,17.0,18.0,20.0,22.0,24.0,26.0,28.0,30.0,34.0,40.0,50.0,70.0,100.]
YTRP7=[.0,0.004,.032,.048,.064,.092,.105,.110,.110,.108,.097,.082,.066,.056,.048,.041,.032,.023,.0153,.0076,.0038]
YTP7M=[1.20,1.20,1.20,1.14,1.08,1.08,1.13,1.16,1.19,1.21,1.22,1.23,1.24,1.25,1.26,1.27,1.26,1.23,1.19,1.11,0.98]
# A1PI(V=0-3) (V=0 ENERGY=8.549 EV) AVERAGE ENERGY LOSS= 8.950 EV
XSNG1=[8.950,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,24.0,27.0,30.0,40.0,50.0,70.0,100.]
YSNG1=[.0,.013,.025,.040,.059,.082,.101,.116,.123,.128,.130,.130,.125,.119,.112,.087,.071,.051,.036]
YSG1M=[0.80,0.80,0.75,0.70,0.66,0.60,0.55,0.53,0.51,0.50,0.49,0.48,0.50,0.52,0.54,0.48,0.41,0.34,0.24]
# B'3SIG(V=0-6) (V=0 ENERGY=8.165 EV) AVERAGE ENERGY LOSS= 8.974 EV
XTRP8=[8.974,9.50,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,22.0,26.0,30.0,34.0,40.0,50.0,70.0,100.]
YTRP8=[.0,.0002,.0010,.0032,.0081,.0136,.0203,.0252,.0274,.0274,.0264,.0250,.0236,.0209,.0151,.0114,.0089,.0064,.0041,.0020,.0010]
YTP8M=[0.90,0.90,0.90,0.90,0.90,0.91,0.93,0.97,1.07,1.17,1.22,1.22,1.23,1.26,1.32,1.37,1.35,1.32,1.29,1.20,1.04]
# A'1SIG (V=0-6) (V=0 ENERGY=8.398 EV) AVERAGE ENERGY LOSS= 9.191 EV
XSNG2=[9.191,10.2,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,24.0,30.0,40.0,50.0,70.0,100.]
YSNG2=[.0,.0013,.0071,.0106,.0139,.0146,.0145,.0143,.0139,.0135,.0132,.0105,.0072,.0045,.0031,.0017,.0010]
YSG2M=[1.00,1.00,1.00,1.00,1.00,1.00,1.07,1.13,1.14,1.15,1.16,1.21,1.27,1.17,1.07,0.93,0.72]
# W3DEL(V=11-19) (V=11 ENERGY=9.220 EV) AVERAGE ENERGY LOSS= 9.562 EV
XTRP9=[9.562,10.0,11.0,12.0,14.0,15.0,16.0,17.0,18.0,20.0,22.0,24.0,26.0,28.0,30.0,34.0,40.0,50.0,70.0,100.]
YTRP9=[.0,.012,.029,.038,.056,.063,.067,.067,.065,.058,.049,.040,.034,.029,.024,.019,.0141,.0092,.00461,.00230]
YTP9M=[1.20,1.20,1.14,1.08,1.08,1.13,1.16,1.19,1.21,1.22,1.23,1.24,1.25,1.26,1.27,1.26,1.23,1.19,1.11,0.98]
# W1DEL(V=0-5) (V=0 ENERGY=8.895 EV) AVERAGE ENERGY LOSS= 9.590 EV
XSNG3=[9.590,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,20.0,24.0,30.0,40.0,50.0,70.0,100.]
YSNG3=[.0,.0002,.003,.009,.0109,.0144,.0141,.0138,.0134,.013, .012,.0094,.0074,.0054,.0043,.0030,.0020]
YSG3M=[1.08,1.08,1.08,1.08,1.05,1.00,0.08,0.97,0.96,0.95,0.92,0.90,0.86,0.76,0.66,0.55,0.36]
# A1PI(V=4-15) (V=4 ENERGY=9.355 EV) AVERAGE ENERGY LOSS= 9.665 EV
XSNG4=[9.665,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,24.0,27.0,30.0,40.0,50.0,70.0,100.]
YSNG4=[.0,.009,.023,.039,.057,.077,.097,.109,.117,.121,.123,.124,.119,.112,.106,.083,.067,.048,.034]
YSG4M=[0.80,0.80,0.75,0.70,0.66,0.60,0.55,0.53,0.51,0.50,0.49,0.48,0.50,0.52,0.54,0.48,0.41,0.34,0.24]
# B'3SIG(V=7-18) (V=7 ENERGY=9.399 EV) AVERAGE ENERGY LOSS= 9.933 EV
XTRP10=[9.933,10.2,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,22.0,26.0,30.0,34.0,40.0,50.0,70.0,100.]
YTRP10=[.0,.0010,.0068,.0169,.0284,.0427,.0528,.0575,.0575,.0552,.0524,.0495,.0438,.0316,.0236,.0187,.0133,.0086,.0041,.0020]
YTP10M=[0.90,0.90,0.90,0.90,0.90,0.91,0.93,0.97,1.07,1.17,1.22,1.22,1.23,1.26,1.32,1.37,1.35,1.32,1.29,1.20]
# A'1SIG (V=7-19) (V=7 ENERGY=9.645 EV) AVERAGE ENERGY LOSS= 10.174 EV
XSNG5=[10.174,10.5,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,24.0,30.0,40.0,50.0,70.0,100.]
YSNG5=[.0,.0013,.0129,.0194,.0252,.0267,.0265,.0260,.0253,.0247,.0240,.0192,.0133,.0081,.0055,.0032,.0017]
YSG5M=[1.00,1.00,1.00,1.00,1.00,1.00,1.07,1.13,1.14,1.15,1.16,1.21,1.27,1.17,1.07,0.93,0.72]
# W1DEL(V=6-18) (V=6 ENERGY=9.994 EV) AVERAGE ENERGY LOSS= 10.536 EV
XSNG6=[10.536,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,20.0,24.0,30.0,40.0,50.0,70.0,100.]
YSNG6=[.0,.003,.009,.0242,.032,.032,.031,.030,.029,.026,.021,.0164,.0121,.0096,.0066,.0046]
YSG6M=[1.08,1.08,1.08,1.05,1.00,0.08,0.97,0.96,0.95,0.92,0.90,0.86,0.76,0.66,0.55,0.36]
# C3PI(V=0-4) (V=0 ENERGY=11.032 EV) AVERAGE ENERGY LOSS= 11.188 EV
XTRP11=[11.188,12.0,12.5,13.0,13.5,14.0,14.5,15.0,16.0,17.0,18.0,19.0,20.0,24.0,30.0,40.0,50.0,70.0,100.]
YTRP11=[.0,.057,.089,.130,.180,.225,.235,.225,.205,.190,.170,.155,.140,.105,.074,.044,.031,.015,.0057]
YTP11M=[1.03,1.03,1.03,1.03,1.03,1.03,1.03,1.03,1.02,1.01,1.00,0.99,0.99,1.06,1.14,1.11,1.09,0.93,0.70]
# E3SIG V=0
XTRP12=[11.875,11.9,11.95,12.0,12.5,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,25.0,30.0,35.0,40.0,45.0,50.0,70.0,100.]
YTRP12=[.0,.157,.127,.101,.031,.021,.009,.003,.002,.004,.008,.011,.013,.013,.010,.008,.005,.0037,.0027,.002,.0010,.0004]
YTP12M=[22*1.0]
# A''1SIG(V=0-1) (V=0 ENERGY=12.255 EV) AVERAGE ENERGY LOSS= 12.289 EV
XSNG7=[12.289,13.0,14.0,15.0,17.5,20.0,24.0,30.0,40.0,50.0,70.0,100.]
YSNG7=[.0,.002,.005,.011,.022,.034,.037,.036,.031,.028,.020,.0125]
YSG7M=[0.86,0.86,0.86,0.86,0.86,0.91,0.94,0.99,0.94,0.89,0.73,0.50]
# B1PI (V=0-6) (V=0 ENERGY=12.500 EV) AVERAGE ENERGY LOSS= 12.781 EV
# USE BEF SCALING ABOVE 100EV F=0.1855
XSNG8=[12.781,17.5,20.0,30.0,40.0,50.0,70.0,100.]
YSNG8=[0.0,.0640,.0855,.145,.160,.163,.160,.152]
YSG8M=[0.76,0.76,0.67,0.46,0.34,0.22,0.13,0.05]
# C'1SIG (V=0-3) (V=0 ENERGY=12.934 EV) AVERAGE ENERGY LOSS= 13.000 EV
# USE BEF SCALING ABOVE 500EV F=0.15
XSNG9=[13.000,17.5,20.0,30.0,40.0,50.0,70.0,100.,150.,200.,250.,300.,350.,400.,450.,500.]
YSNG9=[0.0,.0300,.0440,.067,.086,.093,.102,.100,.091,.083,.075,.069,.063,.059,.054,.052]
YSG9M=[0.72,0.72,0.47,0.41,0.32,0.23,0.13,0.05,0.04,0.03,.028,.025,.022,.020,.018,.016]
# G3 PI (V=0-3) (V=0 ENERGY=12.810 EV) AVERAGE ENERGY LOSS=13.001 EV
XTRP13=[13.001,17.5,20.0,23.0,26.0,30.0,40.0,50.0,70.0,100.]
YTRP13=[.0,.0133,.0178,.0204,.0207,.0199,.0174,.0152,.0115,.0065]
YTP13M=[0.74,0.74,0.73,0.72,0.71,0.69,0.61,0.53,0.47,0.40]
# C3 1PI ( V=0-3) V=0 ENERGY=12.912 AVERAGE ENERGY LOSS= 13.076 EV
# USE BEF SCALING ABOVE 100EV F=0.15
XSNG10=[13.076,17.5,20.0,30.0,40.0,50.0,70.0,100.]
YSNG10=[0.0,.0470,.060,.100,.118,.124,.124,.118]
YSG10M=[0.69,0.69,0.55,0.40,0.28,0.16,0.11,0.05]
# F3 PI (V=0-3) (V=0 ENERGY=12.985 EV) AVERAGE ENERGY LOSS=13.174 EV
XTRP14=[13.174,17.5,20.0,23.0,26.0,30.0,40.0,50.0,70.0,100.]
YTRP14=[.0,.0062,.0091,.0129,.0140,.0136,.0119,.0102,.0074,.0040]
YTP14M=[0.74,0.74,0.76,0.71,0.65,0.63,0.53,0.43,0.40,0.34]
# B1PI (V=7-14) (V=7 ENERGY=13.156 EV) AVERAGE ENERGY LOSS= 13.338 EV
# USE BEF SCALING ABOVE 100EV F=0.0663
XSNG11=[13.338,17.5,20.0,30.0,40.0,50.0,70.0,100.]
YSNG11=[0.0,.0120,.0288,.047,.052,.055,.054,.0503]
YSG11M=[0.76,0.76,0.67,0.46,0.34,0.22,0.13,0.05]
# B# 1SIG (V=0-10) V=0 ENERGY=12.854 AVERAGE ENERGY LOSS= 13.385 EV
# USE BEF SCALING ABOVE 100EV F=0.0601
XSNG12=[13.385,17.5,20.0,30.0,40.0,50.0,70.0,100.]
YSNG12=[0.0,.0156,.027,.037,.046,.048,.048,.046]
YSG12M=[0.81,0.81,0.71,0.47,0.33,0.20,0.15,0.09]
# O3 1PI (V=0-5) (V=0 ENERGY=13.103 EV) AVERAGE ENERGY LOSS= 13.628 EV
# USE BEF SCALING ABOVE 100EV F=0.0828
XSNG13=[13.628,17.5,20.0,30.0,40.0,50.0,70.0,100.]
YSNG13=[0.0,.0140,.028,.051,.060,.063,.065,.061]
YSG13M=[0.86,0.86,0.77,0.60,0.45,0.30,0.19,0.08]
# C# 1SIG (V=4-6) (V=4 ENERGY=13.982 EV) AVERAGE ENERGY LOSS=14.090
# USE BEF SCALING ABOVE 100EV F=0.139
XSNG14=[14.090,17.5,20.0,30.0,40.0,50.0,70.0,100.]
YSNG14=[0.0,.030,.045,.081,.096,.102,.103,.097]
YSG14M=[0.85,0.85,0.75,0.55,0.40,0.25,0.17,0.08]
# B# 1SIG (V=11-INF) (V=11 ENERGY=13.84 EV)
# AVERAGE ENERGY LOSS=14.232 EV (CONSISTENT WITH BERKOWITZ)
# USE BEF SCALING ABOVE 100EV F=0.265
# TOTAL TRANSITION STRENGTH FOR B# 1SIG= 0.265 + 0.0601=0.3301
XSNG15=[14.232,17.5,20.0,30.0,40.0,50.0,70.0,100.]
YSNG15=[0.0,.055,.083,.151,.180,.191,.194,.182]
YSG15M=[0.81,0.81,0.71,0.47,0.33,0.20,0.15,0.09]
#
# E# 1SIG ENERGY LOSS=14.36EV F=0.0108 (BERKOWITZ)
# USE BEF SCALING IN def
#
# E 1PI ENERGY LOSS=14.45EV F=0.0237 (BERKOWITZ)
# USE BEF SCALING IN def
#
# SINGLET ENERGY LOSS=14.839EV F=0.0117 (BERKOWITZ)
# USE BEF SCALING IN def
#
# SUM OF HIGH ENERGY SINGLETS ENERGY LOSS=15.2 F=0.1152
# USE BEF SCALING IN def
#
# SUM OF EXCITATIONS TO EXCITED IONS AND MOLECULAR BREAKUP.
# ENERGY LOSS=15.5EV
# USE BEF SCALING F=1.30
#
# RAP UP TO 100 EV : LINDSAY TO 1KEV : SCHRAM TO 20KEV
# ABOVE 20KEV USE MATRIX ELEMENTS COMPATIBLE WITH RIEKE AND BERKOWITZ
XION=[15.581,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
# COUNTING IONISATION
YION=[0.00,.0211,.0466,.0713,.0985,.129,.164,.199,.230,.270,.308,.344,.380,.418,.455,.492,.528,.565,.603,.640,.677,.714,.875,1.03,1.15,1.27,1.38,1.49,1.57,1.78,1.94,2.07,2.18,2.27,2.33,2.39,2.44,2.46,2.49,2.51,2.51,2.50,2.48,2.45,2.36,2.28,2.19,2.08,1.98,1.89,1.82,1.68,1.56,1.45,1.36,1.28,1.20,1.12,1.07,1.01,.971,.936,.907,.879,.847,.728,.649,.585,.534,.491,.408,.351,.310,.280,.255,.233,.217,.200,.178,.159,.144,.132,.113,.0998,.0898,.0824,.0752]
# IONISATION TO N2+ ASYMPTOTIC 79.73% OF COUNTING IONISATION
XION1=[15.581,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YION1=[0.00,.0211,.0466,.0713,.0985,.129,.164,.199,.230,.270,.308,.344,.380,.418,.455,.492,.528,.565,.603,.640,.677,.714,.865,.929,1.03,1.12,1.20,1.29,1.37,1.52,1.60,1.66,1.72,1.74,1.78,1.80,1.81,1.82,1.83,1.85,1.85,1.83,1.81,1.78,1.72,1.67,1.61,1.55,1.48,1.41,1.37,1.28,1.20,1.11,1.05,.998,.943,.880,.844,.796,.765,.738,.719,.698,.676,.580,.517,.466,.426,.391,.325,.280,.247,.223,.203,.186,.173,.159,.142,.127,.115,.105,.0901,.0796,.0716,.0657,.0600]
# IONISATION TO N+ ASYMPTOTIC 19.70% OF COUNTING IONISATION
XION2=[24.294,28.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YION2=[0.0,.010,.0325,.0904,.166,.245,.319,.390,.438,.482,.523,.561,.587,.605,.632,.645,.656,.660,.661,.652,.633,.595,.566,.516,.493,.458,.438,.393,.351,.324,.299,.274,.248,.234,.217,.205,.200,.192,.183,.176,.167,.143,.128,.115,.105,.0967,.0804,.0691,.0611,.0552,.0502,.0459,.0427,.0394,.0351,.0313,.0284,.0260,.0223,.0197,.0177,.0162,.0148]
# IONISATION TO N+ + N+ NORMALISED TIAN AND VIDAL
# ASYMPTOTIC 3.38% OF COUNTING IONISATION
XION3=[38.8,45.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,700.,800.,900.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YION3=[0.0,.00917,.0199,.0378,.0617,.0827,.0991,.109,.119,.117,.112,.105,.0982,.0917,.0842,.0778,.0676,.0596,.0533,.0475,.0439,.0426,.0373,.0343,.0314,.0287,.0246,.0220,.0197,.0180,.0166,.0138,.0119,.0105,.00948,.00862,.00788,.00733,.00676,.00603,.00537,.00488,.00446,.00383,.00338,.00304,.00278,.00254]
# IONISATION TO N++ ASYMPTOTIC 0.57% OF COUNTING IONISATION
XION4=[65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.,18000.,20000.]
YION4=[0.0,.000171,.000658,.00122,.00204,.00328,.00439,.00495,.00725,.00927,.0122,.0137,.0154,.0154,.0154,.0142,.0141,.0128,.0117,.0103,.00940,.00808,.00796,.00760,.00701,.00649,.00587,.00594,.00543,.00522,.00505,.00485,.00415,.00370,.00333,.00304,.00280,.00233,.00200,.00177,.00160,.00145,.00133,.00124,.00114,.00101,.000906,.000821,.000752,.000644,.000569,.000512,.000470,.000429]
# NITROGEN K-SHELL IONISATION (MULTIPLY BY 2 FOR MOLECULE)
XKSH=[401.6,407.,419.,431.,444.,457.,471.,485.,499.,515.,530.,546.,562.,596.,631.,668.,708.,750.,794.,841.,891.,944.,1000.,1090.,1188.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3758.,4467.,5158.,5957.,7079.,1.0D4,1.26D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.00D6,1.25D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.22D7,1.50D7,1.88D7,2.24D7,2.82'%.3f' %.76D7,4.87D7,6.31D7,8.66D7,1.00D8,1.22D8,1.50D8,1.88D8,2.24D8,2.82'%.3f' %.76D8,4.87D8,6.31D8,8.66D8,1.00D9]
YKSH=[0.00,4.11e-5,1.38e-4,2.32e-4,3.23e-4,4.12e-4,4.98e-4,5.81e-4,6.61e-4,7.38e-4,8.13e-4,8.85e-4,9.54e-4,1.08e-3,1.20e-3,1.31e-3,1.41e-3,1.50e-3,1.58e-3,1.65e-3,1.72e-3,1.77e-3,1.82e-3,1.87e-3,1.91e-3,1.94e-3,1.95e-3,1.93e-3,1.89e-3,1.86e-3,1.81e-3,1.74e-3,1.63e-3,1.45e-3,1.32e-3,1.22e-3,1.12e-3,1.00e-3,7.95e-4,6.77e-4,5.98e-4,4.74e-4,4.09e-4,3.52e-4,2.85e-4,2.47e-4,2.14e-4,1.94e-4,1.76e-4,1.54e-4,1.19e-4,1.03e-4,8.77e-5,7.92e-5,7.54e-5,7.27e-5,7.14e-5,7.04e-5,6.97e-5,6.96e-5,7.00e-5,7.16e-5,7.47e-5,7.74e-5,7.95e-5,8.17e-5,8.34e-5,8.51e-5,8.75e-5,9.00e-5,9.25e-5,9.54e-5,9.76e-5,1.01e-4,1.04e-4,1.08e-4,1.11e-4,1.15e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.27e-4,1.31e-4,1.34e-4,1.38e-4,1.41e-4,1.45e-4,1.47e-4]
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24 CM**2
Z7T=[385.,234.,113.,63.5,35.5,16.4,9.48,5.96,4.07,3.73,3.81,3.93,4.04,4.11,4.18,4.26,4.33,4.42,4.48,4.55,4.59,4.61,4.63,4.64,4.65]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
# *********************************************************************
# 2015 UPDATE INCLUDES DISSOCIATIVE IONISATION AND NEUTRAL DISSOCIATION
# AT ENERGIES HIGHER THAN THE IONISATION ENERGY.
#-----------------------------------------------------------------
# REANALYSED SINGLET STATES TO MAKE CONSISTENT WITH OSCILLATOR SUM
# FROM BERKOWITZ USED BEF SCALING TO GIVE X-SCTION AT HIGH ENERGY.
# *********************************************************************
# 2013: INCLUDE K-SHELL IONISATION
# -----------------------------------
# NITROGEN UPDATE 2008.
# USED ELECTRON SCATTERING PUBLISHED UP TO DECEMBER 2008.
# VIBRATIONAL X-SECTIONS MAINLY FROM ALLAN AND ALSO VICIC
# ALLAN J.PHYS.B 18(1985) 4511
# VICIC J.PHYS.B 29(1996) 1273
# ELASTIC FROM ALLAN , ITIKAWA(REVIEW) ,SUN AND ALSO MUSE
# ALLAN J.PHYS.B 38(2005) 3655
# ITIKAWA J.PHYS.CHEM.REF 35(2006)31
# SUN PHYS.REV 52A(1995)1229
# MUSE J.PHYS.B 41(2008)095203
# EXCITATION FROM ITIKAWA (REVIEW) AND KHAKOO
# KHAKOO PHYS.REV A 77(2008)012704
# KHAKOO PHYS.REV A 71(2005)062703
# IONISATION FROM RAP , LINDSAY, SCHRAM, RIEKE AND BERKOWITZ
# RAP J.CHEM.PHYS 43(1965)1464
# LINDSAY LLANDOLT-BORNSTEIN I/17C
# SCHRAM PHYSICA 31(1965)94
# RIEKE PHYS REV 6A (1972)1507
# BERKOWITZ PHOTOABSORPTION ,PHOTOIONISATION SPECTROSCOPY
#
# ROTATIONAL X-SECTIONS FROM QUADRUPOLE BORN APPROX. WITH TABULATED
# VALUES FOR THE RESONANCE ENHANCEMENT.
# INELASTIC X-SECTIONS ARE MAINLY FROM KHAKOO FOR LEVELS BELOW 14.0EV
# USED FRANK-CONDON FACTORS TO WEIGHT THE VIBRATION-EXCITATION LEVELS
# AND ADJUSTED THRESHOLDS TO GIVE CORRECT AVERAGE ENERGY LOSS.
# THE REMAINING LEVEL STRENGTH IS IN THE EFFECTIVE SINGLET LEVEL
# AT 14.2EV . THE 14.2 EV LEVEL WAS MADE TO BE CONSISTENT WITH
# THE TOTAL LEVEL SUM FROM PITCHFORD AND PHELPS AND GIVES ACCURATE
# FANO FACTORS
# THE TOTAL X-SECTION BELOW 50 EV IS WITHIN 1% OF THE EXPERIMENTAL VALUE
# OF KENNERLEY. ABOVE 50EV IS WITHIN 1% OF REVIEW BY ITIKAWA.
# TOTAL ELASTIC AND ELASTIC MOMENTUM TRANSFER X-SECTION ARE ADJUSTED TO
# FIT IN MIXTURES:
# NEON /NITROGEN VD ROBERTSON
# ARGON /NITROGEN VD HADDAD
# PURE NITROGEN VD DT DL AND ALPHA
# LOW FIELD NITROGEN VD AND DT FROM LOWKE AND HUXLEY AND CROMPTON.
#
# HIGH FIELD NITROGEN VD AND DL FROM HASEGAWA
# FIT TO DRIFT AND DIFFUSION BETTER THAN 1% ACCURACY.
#
# TOWNS# end COEFICIENT FROM COMPILATION BY DUTTON.
#
#***********************************************************************
#---------------------------------------------------------------------
if(NANISO == 0):
:
NAME='NITROGEN 2015 ISOTROPIC '
else:
NAME='NITROGEN 2015 ANISOTROPIC'
# endif
# --------------------------------------------------------------
# BORN BETHE VALUES FOR COUNTING IONISATION
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
AM2=3.35
C=38.1
#
# AVERAGE AUGER EMISSION FROM K-SHELL
AUGK=1.99
#
NION=12
NATT=1
NIN=127
NNULL=0
NASIZE=20000
IONMODEL=0
#
NBREM=25
DO 11 J=1,NIN
IZBR[J]=0
11 CONTINUE
IZBR(NIN+1)=7
#
# ANGULAR DISTRIBUTIONS OF ELASTIC AND IONISATION CAN BE EITHER
# ISOTROPIC (KEL=0) OR
# CAPITELLI-LONGO (KEL =1) OR OKHRIMOVSKKY TYPES (KEL=2)
#
DO 1 J=1,6
1 KEL[J]=NANISO
# USE ANISOTROPIC SCATTERING FOR ROTATIONAL STATES
for 2 J in range(1,76):
2 KIN[J]=2
# USE ANISOTROPIC FOR SUPERELASTIC VIBRATION
KIN(77)=2
# USE ANISOTROPIC SCATTERING FOR VIBRATIONAL AND EXCITED STATES .
# ANGULAR DISTRIBUTIONS ARE CAPITELLI-LONGO (FORWARD BACKWARD ASYMMETRY)
# OR OKRIMOVSKKY
DO 20 J=78,NIN
20 KIN[J]=NANISO
#
NELA=216
NROT=70
NVIB1=87
NVIB2=69
NVIB3=70
NVIB4=50
NVIB5=40
NVIB6=41
NVIB7=42
NVIB8=40
NVIB9=35
NVIB10=35
NVIB11=35
NVIB12=33
NVIB13=31
NVIB14=28
NVIB15=32
NTRP1=23
NTRP2=23
NTRP3=21
NTRP4=22
NTRP5=23
NTRP6=21
NTRP7=21
NTRP8=21
NTRP9=20
NTRP10=20
NTRP11=19
NTRP12=22
NTRP13=10
NTRP14=10
NSNG1=19
NSNG2=17
NSNG3=17
NSNG4=19
NSNG5=17
NSNG6=16
NSNG7=12
NSNG8=8
NSNG9=16
NSNG10=8
NSNG11=8
NSNG12=8
NSNG13=8
NSNG14=8
NSNG15=8
NIOND=87
NION1=87
NION2=63
NION3=48
NION4=54
NKSH=89
#
E[1]=0.0
E[2]=2.0*EMASS/(27.7940*AMU)
E[3]=15.581
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=15.581
EION[2]=15.855
EION[3]=16.699
EION[4]=16.935
EION[5]=17.171
EION[6]=18.751
EION[7]=23.591
EION[8]=24.294
EION[9]=24.4
EION[10]=35.7
EION[11]=38.8
EION[12]=401.6
#
EOBFRAC=0.68
DO 14 J=1,12
# EOBY[J]=EION[J]*EOBFRAC
EOBY[J]=13.6
14 CONTINUE
#
DO 17 JK=1,12
LEGAS(JK)=0
ISHELL(JK)=0
NC0(JK)=0
EC0(JK)=0.0
WKLM(JK)=0.0
EFL(JK)=0.0
NG1(JK)=0
EG1(JK)=0.0
NG2(JK)=0
EG2(JK)=0.0
17 CONTINUE
# DOUBLY CHARGED STATES
NC0[11]=1
EC0[11]=6.0
# FLUORESENCE DATA
LEGAS[12]=1
ISHELL[12]=1
NC0[12]=2
EC0[12]=358.6
WKLM[12]=0.0044
EFL[12]=385.
NG1[12]=1
EG1[12]=353.
NG2[12]=1
EG2[12]=6.
#
DO 776 J=1,NION
DO 777 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
# CALC FRACTIONAL POPULATION DENSITY FOR ROTATIONAL STATES
B0=2.4668e-4
A0=0.5291772083e-8
# ROTATIONAL QUADRUPOLE MOMENT
QBQA=1.045
QBK=1.67552*(QBQA*A0)**2
for 3 K in range(1,39,2 ):
AK=float[K]
3 PJ[K]=3.0*(2.0*AK+1.0)*math.exp(-AK*(AK+1.0)*B0/AKT)
for 4 K in range(2,38,2):
AK=float[K]
4 PJ[K]=6.0*(2.0*AK+1.0)*math.exp(-AK*(AK+1.0)*B0/AKT)
SUM=6.0
for 5 K in range(1,39):
5 SUM=SUM+PJ[K]
FROT0=6.0/SUM
for 6 K in range(1,39):
6 PJ[K]=PJ[K]/SUM
# CALC ROTATIONAL TRANSITION ENERGIES
for 7 K in range(1,38 ):
J=K-1
AJ=float[J]
EIN(K+38)=B0*(4.0*AJ+6.0)
7 EIN[K]=-EIN(K+38)
EIN(77)=-0.2889
EIN(78)=0.2889
EIN(79)=0.5742
EIN(80)=0.8559
EIN(81)=1.1342
EIN(82)=1.4088
EIN(83)=1.6801
EIN(84)=1.9475
EIN(85)=2.2115
EIN(86)=2.4718
EIN(87)=2.7284
EIN(88)=2.9815
EIN(89)=3.2310
EIN(90)=3.4769
EIN(91)=3.7191
EIN(92)=3.9576
EIN(93)=6.725
EIN(94)=7.360
EIN(95)=7.744
EIN(96)=8.050
EIN(97)=8.217
EIN(98)=8.451
EIN(99)=8.729
EIN(100)=8.950
EIN(101)=8.974
EIN(102)=9.191
EIN(103)=9.562
EIN(104)=9.590
EIN(105)=9.665
EIN(106)=9.933
EIN(107)=10.174
EIN(108)=10.536
EIN(109)=11.188
EIN(110)=11.875
EIN(111)=12.289
EIN(112)=12.781
EIN(113)=13.000
EIN(114)=13.001
EIN(115)=13.076
EIN(116)=13.174
EIN(117)=13.338
EIN(118)=13.385
EIN(119)=13.628
EIN(120)=14.090
EIN(121)=14.232
EIN(122)=14.36
EIN(123)=14.45
EIN(124)=14.839
EIN(125)=15.2
EIN(126)=15.6
EIN(127)=16.6
EIN(128)=0.0
#
#**********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# SET PENNING TRANSFER FRACTION TO ZERO FOR LOW ENERGY LEVELS
for 8 K in range(1,106):
DO 8 L=1,3
8 PENFRA[L,K]=0.0
#-----------------------------------------------------------
# PENNING TRANSFER FRACTION FOR LEVELS ABOVE 10 EV
DO 9 K=107,127
PENFRA[1][K]=0.0
# PENNING TRANSFER DISTANCE IN MICRONS
PENFRA[2][K]=1.0
# PENNING TRANSFER TIME IN PICOSECONDS
PENFRA[3][K]=1.0
if(IPEN == 0):
GO TO 9
WRITE(6,999) NAME,EIN[K],PENFRA[1][K],PENFRA[2][K],PENFRA[3][K]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY = ','%.3f' % ,' ABS.LENGTH = ',F7.2,' DECAY TIME = ',F7.1,/)
9 CONTINUE
#**********************************************************************
DO 551 NL=1,NIN
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 551
# endif
651 CONTINUE
551 CONTINUE
#
SCRPT[1]=' '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC NITROGEN '
else:
SCRPT[2]=' ELASTIC ANISOTROPIC NITROGEN '
# endif
SCRPT[3]=' IONISATION N2+ X2SIGMA VIB=0 ELOSS= 15.581 '
SCRPT[4]=' IONISATION N2+ X2SIGMA VIB>0 ELOSS= 15.855 '
SCRPT[5]=' IONISATION N2+ A2PI VIB=0 ELOSS= 16.699 '
SCRPT[6]=' IONISATION N2+ A2PI VIB=1 ELOSS= 16.935 '
SCRPT[7]=' IONISATION N2+ A2PI VIB>1 ELOSS= 17.171 '
SCRPT[8]=' IONISATION N2+ B2SIGMA ELOSS= 18.751 '
SCRPT[9]=' IONISATION N2+ C2SIGMA ELOSS= 23.591 '
SCRPT[10]=' DISSOC ION (N+,N) ELOSS= 24.294 '
SCRPT[11]=' DISSOC ION (N+,N*) ELOSS= 24.4 '
SCRPT[12]=' DISSOC ION (N+*,N) ELOSS= 35.7 '
SCRPT[13]=' DISSOC ION (N++,N) AND (N+,N+) ELOSS= 38.8 '
SCRPT[14]=' IONISATION K-SHELL ELOSS= 401.6 '
SCRPT[15]=' ATTACHMENT '
SCRPT[16]=' '
SCRPT[17]=' '
SCRPT[18]=' ROTATION 2-0 ELOSS= -0.00148'
SCRPT[19]=' ROTATION 3-1 ELOSS= -0.00247'
SCRPT[20]=' ROTATION 4-2 ELOSS= -0.00345'
SCRPT[21]=' ROTATION 5-3 ELOSS= -0.00444'
SCRPT[22]=' ROTATION 6-4 ELOSS= -0.00543'
SCRPT[23]=' ROTATION 7-5 ELOSS= -0.00641'
SCRPT[24]=' ROTATION 8-6 ELOSS= -0.00740'
SCRPT[25]=' ROTATION 9-7 ELOSS= -0.00839'
SCRPT[26]=' ROTATION 10-8 ELOSS= -0.00937'
SCRPT[27]=' ROTATION 11-9 ELOSS= -0.0104 '
SCRPT[28]=' ROTATION 12-10 ELOSS= -0.0113 '
SCRPT[29]=' ROTATION 13-11 ELOSS= -0.0123 '
SCRPT[30]=' ROTATION 14-12 ELOSS= -0.0133 '
SCRPT[31]=' ROTATION 15-13 ELOSS= -0.0143 '
SCRPT[32]=' ROTATION 16-14 ELOSS= -0.0153 '
SCRPT[33]=' ROTATION 17-15 ELOSS= -0.0163 '
SCRPT[34]=' ROTATION 18-16 ELOSS= -0.0173 '
SCRPT[35]=' ROTATION 19-17 ELOSS= -0.0183 '
SCRPT[36]=' ROTATION 20-18 ELOSS= -0.0192 '
SCRPT[37]=' ROTATION 21-19 ELOSS= -0.0202 '
SCRPT[38]=' ROTATION 22-20 ELOSS= -0.0212 '
SCRPT[39]=' ROTATION 23-21 ELOSS= -0.0222 '
SCRPT[40]=' ROTATION 24-22 ELOSS= -0.0232 '
SCRPT[41]=' ROTATION 25-23 ELOSS= -0.0242 '
SCRPT[42]=' ROTATION 26-24 ELOSS= -0.0252 '
SCRPT[43]=' ROTATION 27-25 ELOSS= -0.0261 '
SCRPT[44]=' ROTATION 28-26 ELOSS= -0.0271 '
SCRPT[45]=' ROTATION 29-27 ELOSS= -0.0281 '
SCRPT[46]=' ROTATION 30-28 ELOSS= -0.0291 '
SCRPT[47]=' ROTATION 31-29 ELOSS= -0.0301 '
SCRPT[48]=' ROTATION 32-30 ELOSS= -0.0311 '
SCRPT[49]=' ROTATION 33-31 ELOSS= -0.0321 '
SCRPT[50]=' ROTATION 34-32 ELOSS= -0.0331 '
SCRPT[51]=' ROTATION 35-33 ELOSS= -0.0340 '
SCRPT[52]=' ROTATION 36-34 ELOSS= -0.0350 '
SCRPT[53]=' ROTATION 37-35 ELOSS= -0.0360 '
SCRPT[54]=' ROTATION 38-36 ELOSS= -0.0370 '
SCRPT[55]=' ROTATION 39-37 ELOSS= -0.0380 '
SCRPT[56]=' ROTATION 0-2 ELOSS= 0.00148'
SCRPT[57]=' ROTATION 1-3 ELOSS= 0.00247'
SCRPT[58]=' ROTATION 2-4 ELOSS= 0.00345'
SCRPT[59]=' ROTATION 3-5 ELOSS= 0.00444'
SCRPT[60]=' ROTATION 4-6 ELOSS= 0.00543'
SCRPT[61]=' ROTATION 5-7 ELOSS= 0.00641'
SCRPT[62]=' ROTATION 6-8 ELOSS= 0.00740'
SCRPT[63]=' ROTATION 7-9 ELOSS= 0.00839'
SCRPT[64]=' ROTATION 8-10 ELOSS= 0.00937'
SCRPT(65)=' ROTATION 9-11 ELOSS= 0.0104 '
SCRPT(66)=' ROTATION 10-12 ELOSS= 0.0113 '
SCRPT(67)=' ROTATION 11-13 ELOSS= 0.0123 '
SCRPT(68)=' ROTATION 12-14 ELOSS= 0.0133 '
SCRPT(69)=' ROTATION 13-15 ELOSS= 0.0143 '
SCRPT(70)=' ROTATION 14-16 ELOSS= 0.0153 '
SCRPT(71)=' ROTATION 15-17 ELOSS= 0.0163 '
SCRPT(72)=' ROTATION 16-18 ELOSS= 0.0173 '
SCRPT(73)=' ROTATION 17-19 ELOSS= 0.0183 '
SCRPT(74)=' ROTATION 18-20 ELOSS= 0.0192 '
SCRPT(75)=' ROTATION 19-21 ELOSS= 0.0202 '
SCRPT(76)=' ROTATION 20-22 ELOSS= 0.0212 '
SCRPT(77)=' ROTATION 21-23 ELOSS= 0.0222 '
SCRPT(78)=' ROTATION 22-24 ELOSS= 0.0232 '
SCRPT(79)=' ROTATION 23-25 ELOSS= 0.0242 '
SCRPT(80)=' ROTATION 24-26 ELOSS= 0.0252 '
SCRPT(81)=' ROTATION 25-27 ELOSS= 0.0261 '
SCRPT(82)=' ROTATION 26-28 ELOSS= 0.0271 '
SCRPT(83)=' ROTATION 27-29 ELOSS= 0.0281 '
SCRPT(84)=' ROTATION 28-30 ELOSS= 0.0291 '
SCRPT(85)=' ROTATION 29-31 ELOSS= 0.0301 '
SCRPT(86)=' ROTATION 30-32 ELOSS= 0.0311 '
SCRPT(87)=' ROTATION 31-33 ELOSS= 0.0321 '
SCRPT(88)=' ROTATION 32-34 ELOSS= 0.0331 '
SCRPT(89)=' ROTATION 33-35 ELOSS= 0.0340 '
SCRPT(90)=' ROTATION 34-36 ELOSS= 0.0350 '
SCRPT(91)=' ROTATION 35-37 ELOSS= 0.0360 '
SCRPT(92)=' ROTATION 36-38 ELOSS= 0.0370 '
SCRPT(93)=' ROTATION 37-39 ELOSS= 0.0380 '
SCRPT(94)=' VIBRATION V1 ELOSS= -0.2889 '
SCRPT(95)=' VIBRATION V1 ELOSS= 0.2889 '
SCRPT(96)=' VIBRATION 2V1 ELOSS= 0.5742 '
SCRPT(97)=' VIBRATION 3V1 ELOSS= 0.8559 '
SCRPT(98)=' VIBRATION 4V1 ELOSS= 1.1342 '
SCRPT(99)=' VIBRATION 5V1 ELOSS= 1.4088 '
SCRPT(100)=' VIBRATION 6V1 ELOSS= 1.6801 '
SCRPT(101)=' VIBRATION 7V1 ELOSS= 1.9475 '
SCRPT(102)=' VIBRATION 8V1 ELOSS= 2.2115 '
SCRPT(103)=' VIBRATION 9V1 ELOSS= 2.4718 '
SCRPT(104)=' VIBRATION 10V1 ELOSS= 2.7284 '
SCRPT(105)=' VIBRATION 11V1 ELOSS= 2.9815 '
SCRPT(106)=' VIBRATION 12V1 ELOSS= 3.2310 '
SCRPT(107)=' VIBRATION 13V1 ELOSS= 3.4769 '
SCRPT(108)=' VIBRATION 14V1 ELOSS= 3.7191 '
SCRPT(109)=' VIBRATION 15V1 ELOSS= 3.9576 '
SCRPT(110)=' A3SIG V=0-4 ELOSS= 6.725 '
SCRPT(111)=' A3SIG V=5-9 ELOSS= 7.360 '
SCRPT(112)=' B 3PI V=0-3 ELOSS= 7.744 '
SCRPT(113)=' W3DEL V=0-5 ELOSS= 8.050 '
SCRPT(114)=' A3SIG V=10-21 ELOSS= 8.217 '
SCRPT(115)=' B 3PI V=4-16 ELOSS= 8.451 '
SCRPT(116)=' W3DEL V=6-10 ELOSS= 8.729 '
SCRPT(117)=' A 1PI V=0-3 ELOSS= 8.950 '
SCRPT(118)=' B#3SIG V=0-6 ELOSS= 8.974 '
SCRPT(119)=' A#1SIG V=0-6 ELOSS= 9.191 '
SCRPT(120)=' W3DEL V=11-19 ELOSS= 9.562 '
SCRPT(121)=' W 1DEL V=0-5 ELOSS= 9.590 '
SCRPT(122)=' A 1PI V=4-15 ELOSS= 9.665 '
SCRPT(123)=' B#3SIG V=7-18 ELOSS= 9.933 '
SCRPT(124)=' A#1SIG V=7-19 ELOSS= 10.174 '
SCRPT(125)=' W 1DEL V=6-18 ELOSS= 10.536 '
SCRPT(126)=' C 3PI V=0-4 ELOSS= 11.188 '
SCRPT(127)=' E 3SIG ELOSS= 11.875 '
SCRPT(128)=' A##1SIG V=0-1 ELOSS= 12.289 '
SCRPT(129)=' B 1PI V=0-6 F=0.1855 ELOSS= 12.781 '
SCRPT(130)=' C#1SIG V=0-3 F=0.1500 ELOSS= 13.000 '
SCRPT(131)=' G 3PI V=0-3 ELOSS= 13.001 '
SCRPT(132)=' C3 1PI V=0-3 F=0.1500 ELOSS= 13.076 '
SCRPT(133)=' F 3PI V=0-3 ELOSS= 13.174 '
SCRPT(134)=' B 1PI V=7-14 F=0.0663 ELOSS= 13.338 '
SCRPT(135)=' B#1SIG V=0-10 F=0.0601 ELOSS= 13.385 '
SCRPT(136)=' O3 1PI V=0-3 F=0.0828 ELOSS= 13.628 '
SCRPT(137)=' C#1SIG V=4-6 F=0.1390 ELOSS= 14.090 '
SCRPT(138)=' B#1SIG V=11-24 F=0.2650 ELOSS= 14.232 '
SCRPT(139)=' E#1SIG F=0.0108 ELOSS= 14.36 '
SCRPT(140)=' E 1PI F=0.0237 ELOSS= 14.45 '
SCRPT(141)=' SINGLET LEVEL F=0.0117 ELOSS= 14.839 '
SCRPT(142)=' SUM HIGH SINGLETS F=0.1152 ELOSS= 15.2 '
SCRPT(143)=' NEUTRAL DISS ABOVE IONIS. ENERGY ELOSS= 15.6 '
SCRPT(144)=' NEUTRAL DISS ABOVE IONIS. ENERGY ELOSS= 16.6 '
SCRPT(145)=' BREMSSTRAHLUNG FROM NITROGEN ATOMS '
# CALC VIBRATIONAL LEVEL V1 POPULATION
APOPV1=math.exp(EIN(77)/AKT)
APOPGS=1.0
APOPSUM=APOPGS+APOPV1
APOPV1=APOPV1/APOPSUM
APOPGS=APOPGS/APOPSUM
# RENORMALISE GROUND STATE TO ALLOW FOR EXCITATION FROM
# THE EXCITED VIBRATIONAL STATE
APOPGS=1.0
#
# EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
#
# ELASTIC (+ROTATIONAL)
DO 10 J=2,NELA
if(EN <= XELA[J]):
GO TO 15
10 CONTINUE
J=NELA
15 A=(YELA[J]-YELA[J-1])/(XELA[J]-XELA[J-1])
B=(XELA[J-1]*YELA[J]-XELA[J]*YELA[J-1])/(XELA[J-1]-XELA[J])
# ELASTIC
QELA=(A*EN+B)*1.0D-16
A=(YMOM[J]-YMOM[J-1])/(XELA[J]-XELA[J-1])
B=(XELA[J-1]*YMOM[J]-XELA[J]*YMOM[J-1])/(XELA[J-1]-XELA[J])
# MOMENTUM TRANSFER
QMOM=(A*EN+B)*1.0D-16
A=(YEPS[J]-YEPS[J-1])/(XELA[J]-XELA[J-1])
B=(XELA[J-1]*YEPS[J]-XELA[J]*YEPS[J-1])/(XELA[J-1]-XELA[J])
# ANISOTROPY defS
PQ2=(A*EN+B)
# EPSILON =1.0-YEPS
PQ2=1.00-PQ2
PQ1=0.5+(QELA-QMOM)/QELA
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
# IONISATION CALCULATION
DO 29 J=1,12
PEQION[J][I]=0.5
if(NANISO == 2):
PEQION[J][I]=0.0
29 QION[J][I]=0.0
#
# IONISATION TO ALL CHANNELS WITH N2+
QN2PTOT=0.0
if(EN <= EION[1]:
) GO TO 411
if(EN > XION1(NION1):
) GO TO 41
DO 30 J=2,NION1
if(EN <= XION1[J]:
) GO TO 40
30 CONTINUE
J=NION1
40 A=(YION1[J]-YION1[J-1])/(XION1[J]-XION1[J-1])
B=(XION1[J-1]*YION1[J]-XION1[J]*YION1[J-1])/(XION1[J-1]-XION1[J])
QN2PTOT=(A*EN+B)*1.e-16
GO TO 411
# USE BORN BETHE X-SECTION ABOVE XION1(NION1) EV
41 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QN2PTOT=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.7973
#
411 QION[1][I]=QN2PTOT
if(EN > EION[2]:
and EN <= EION[3]) :
QION[2][I]=QN2PTOT*0.2
QION[1][I]=QN2PTOT*0.8
else if(EN > EION[3] and EN <= EION[4]) :
QION[3][I]=QN2PTOT*0.1986
QION[2][I]=QN2PTOT*0.1603
QION[1][I]=QN2PTOT*0.6411
else if(EN > EION[4] and EN <= EION[5]) :
QION[4][I]=QN2PTOT*0.2296
QION[3][I]=QN2PTOT*0.1530
QION[2][I]=QN2PTOT*0.1235
QION[1][I]=QN2PTOT*0.4939
else if(EN > EION[5] and EN <= EION[6]) :
QION[5][I]=QN2PTOT*0.2765
QION[4][I]=QN2PTOT*0.1659
QION[3][I]=QN2PTOT*0.1106
QION[2][I]=QN2PTOT*0.0894
QION[1][I]=QN2PTOT*0.3576
else if(EN > EION[6] and EN <= EION[7]) :
QION[6][I]=QN2PTOT*0.1299
QION[5][I]=QN2PTOT*0.2408
QION[4][I]=QN2PTOT*0.1445
QION[3][I]=QN2PTOT*0.0963
QION[2][I]=QN2PTOT*0.0777
QION[1][I]=QN2PTOT*0.3108
else if(EN > EION[7]) :
QION[7][I]=QN2PTOT*0.022
QION[6][I]=QN2PTOT*0.127
QION[5][I]=QN2PTOT*0.2355
QION[4][I]=QN2PTOT*0.1413
QION[3][I]=QN2PTOT*0.0942
QION[2][I]=QN2PTOT*0.076
QION[1][I]=QN2PTOT*0.304
# endif
if(EN > EION[8]:
) :
#
# IONISATION TO ALL CHANNELS WITH N+
QNPTOT=0.0
if(EN > XION2(NION2):
) GO TO 414
DO 412 J=2,NION2
if(EN <= XION2[J]:
) GO TO 413
412 CONTINUE
J=NION2
413 A=(YION2[J]-YION2[J-1])/(XION2[J]-XION2[J-1])
B=(XION2[J-1]*YION2[J]-XION2[J]*YION2[J-1])/(XION2[J-1]-XION2[J])
QNPTOT=(A*EN+B)*1.e-16
GO TO 415
# USE BORN BETHE X-SECTION ABOVE XION2(NION2) EV
414 QNPTOT=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.197
415 CONTINUE
QION[8][I]=QNPTOT
if(EN > EION[9]:
and EN < EION[10]) :
if(EN < 110.):
QION[9][I]=((EN-EION[9])/(110.-EION[9]))*0.095*1.e-16
if(EN >= 110.):
QION[9][I]=QION[8][I]*0.1439
QION[8][I]=QION[8][I]-QION[9][I]
else if(EN > EION[10]) :
if(EN < 110.):
QION[9][I]=((EN-EION[9])/(110.-EION[9]))*0.095*1.e-16
if(EN >= 110.):
QION[9][I]=QION[8][I]*0.1439
if(EN < 120.):
QION[10][I]=((EN-EION[10])/(120.-EION[10]))*0.037*1.e-16
if(EN > 120.):
QION[10][I]=QION[8][I]*0.0560
QION[8][I]=QION[8][I]-QION[9][I]-QION[10][I]
# endif
# endif
#
if(EN > EION[11]:
) :
# SUM OF DOUBLE IONISATION CHANNELS: N+,N+ AND N++,N
QION[11][I]=0.0
if(EN > XION3(NION3):
) GO TO 418
DO 416 J=2,NION3
if(EN <= XION3[J]:
) GO TO 417
416 CONTINUE
J=NION3
417 A=(YION3[J]-YION3[J-1])/(XION3[J]-XION3[J-1])
B=(XION3[J-1]*YION3[J]-XION3[J]*YION3[J-1])/(XION3[J-1]-XION3[J])
QION[11][I]=(A*EN+B)*1.e-16
GO TO 419
# USE BORN BETHE X-SECTION ABOVE XION3(NION3) EV
418 QION[11][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0338
419 CONTINUE
#*************************************************
# CORRECTION TO STRAUB N+ FOR (N+,N+) CHANNEL
QION[8][I]=QION[8][I]-QION[11][I]
#***************************************************
# endif
if(EN > 65.0):
:
if(EN > XION4(NION4):
) GO TO 422
DO 420 J=2,NION4
if(EN <= XION4[J]:
) GO TO 421
420 CONTINUE
J=NION4
421 A=(YION4[J]-YION4[J-1])/(XION4[J]-XION4[J-1])
B=(XION4[J-1]*YION4[J]-XION4[J]*YION4[J-1])/(XION4[J-1]-XION4[J])
QION[11][I]=QION[11][I]+(A*EN+B)*1.e-16
GO TO 423
# USE BORN BETHE X-SECTION ABOVE XION4(NION4) EV
422 QION[11][I]=QION[11][I]+CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0057
423 CONTINUE
# endif
# K-SHELL IONISATION
if(EN < EION[12]:
) GO TO 434
DO 432 J=2,NKSH
if(EN <= XKSH[J]:
) GO TO 433
432 CONTINUE
J=NKSH
433 A=(YKSH[J]-YKSH[J-1])/(XKSH[J]-XKSH[J-1])
B=(XKSH[J-1]*YKSH[J]-XKSH[J]*YKSH[J-1])/(XKSH[J-1]-XKSH[J])
# SCALING FACTOR OF 2 FOR NUMBER OF ATOMS IN MOLECULE
QION[12][I]=2.0*(A*EN+B)*1.e-16
#
434 DO 435 J=1,12
if(EN <= (2.0*EION[J]:
)) GO TO 435
PEQION[J][I]=PEQEL[2][(I-IOFFION[J]])
435 CONTINUE
#
# CORRECTION TO IONISATION FOR AUGER EMISSION
QION[1][I]=QION[1][I]-AUGK*QION[12][I]
#
Q[4][I]=0.0
Q[5][I]=0.0
Q[6][I]=0.0
#---------------------------------------------------------------------
# QUADRUPOLE BORN ROTATIONAL STATES ( GERJUOY AND STEIN)
#---------------------------------------------------------------------
#
# SUPERELASTIC ROTATION
#
DO 53 K=1,38
QIN(K,I)=0.0
if(EN <= 0.0):
GO TO 53
AJ=float(K+1)
QIN(K,I)=PJ(K+1)*QBK*math.sqrt(1.0-EIN[K]/EN)*AJ*(AJ-1.0)/((2.0*AJ+1.0)*(2.0*AJ-1.0))
# CALCULATE ENHANCEMENT OF ROTATIONAL XSEC IN THE RESONANCE REGION
DO 51 L=1,NROT
if((EN-EIN[K]:
) <= XROT(L)) GO TO 52
51 CONTINUE
L=NROT
52 A=(YROT(L)-YROT(L-1))/(XROT(L)-XROT(L-1))
B=(XROT(L-1)*YROT(L)-XROT(L)*YROT(L-1))/(XROT(L-1)-XROT(L))
RESFAC=(EN-EIN[K])*(A*(EN-EIN[K])+B)/EN
# USE 30% FOR RESFAC
RESFAC=RESFAC*0.3
# BORN ROTATIONAL X-SEC SUM IN RESONANCE REGION = 0.249
RESFAC=1.0+RESFAC/0.249
# SET ROTATIONAL ANGULAR DISTRIBUTIONS
PEQIN(K,I)=0.50
if(NANISO == 2):
PEQIN(K,I)=0.00
53 QIN(K,I)=QIN(K,I)*RESFAC
#
# INELASTIC ROTATION
#
# CALCULATE ENHANCEMENT OF ROTATIONAL XSEC IN THE RESONANCE REGION
DO 55 K=39,76
55 QIN(K,I)=0.0
if(EN <= 0.0):
GO TO 80
DO 56 L=1,NROT
if(EN <= XROT(L):
) GO TO 57
56 CONTINUE
L=NROT
57 A=(YROT(L)-YROT(L-1))/(XROT(L)-XROT(L-1))
B=(XROT(L-1)*YROT(L)-XROT(L)*YROT(L-1))/(XROT(L-1)-XROT(L))
RESFAC=A*EN+B
# USE 30% FOR RESFAC
RESFAC=RESFAC*0.3
# BORN ROTATIONAL X-SEC SUM IN RESONANCE REGION = 0.249
RESFAC=1.0+RESFAC/0.249
# ROT 0-2
if(EN <= EIN[39]:
) GO TO 80
QIN[39][I]=FROT0*QBK*math.sqrt(1.0-EIN[39]/EN)*2.0/3.0
QIN[39][I]=QIN[39][I]*RESFAC
PEQIN[39][I]=0.0
if(NANISO == 2):
PEQIN[39][I]=0.0
# ROT 1-3 AND HIGHER
DO 58 K=40,76
AJ=float(K-39)
if(EN <= EIN[K]:
) GO TO 80
QIN(K,I)=PJ(K-39)*QBK*math.sqrt(1.0-EIN[K]/EN)*(AJ+2.0)*(AJ+1.0)/((2.0*AJ+3.0)*(2.0*AJ+1.0))
# SET ANGULAR DISTRIBUTION ISOTROPIC
PEQIN(K,I)=0.50
if(NANISO == 2):
PEQIN(K,I)=0.00
58 QIN(K,I)=QIN(K,I)*RESFAC
# FORCE ROTATIONAL X-SEC TO FALL AT SAME RATE AS THE
# ELASTIC X-SECTION ABOVE 5.0 EV
if(EN < 5.0):
GO TO 80
ASCALE=QMOM/8.90e-16
DO 70 K=1,76
70 QIN(K,I)=QIN(K,I)*ASCALE
80 CONTINUE
#---------------------------------------------------------------------
# VIBRATIONAL AND EXCITATION X-SECTIONS
#---------------------------------------------------------------------
# V1 SUPERELASTIC
QIN[77][I]=0.0
PEQIN[77][I]=0.5
if(NANISO == 2):
PEQIN[77][I]=0.0
if(EN <= 0.0):
GO TO 87
if((EN-EIN(77):
) > XVB1(NVIB1)) GO TO 861
DO 85 J=2,NVIB1
if((EN-EIN(77):
) <= XVB1[J]) GO TO 86
85 CONTINUE
J=NVIB1
86 A=(YVB1[J]-YVB1[J-1])/(XVB1[J]-XVB1[J-1])
B=(XVB1[J-1]*YVB1[J]-XVB1[J]*YVB1[J-1])/(XVB1[J-1]-XVB1[J])
QIN[77][I]=(EN-EIN(77))*(A*(EN-EIN(77))+B)/EN
GO TO 862
861 QIN[77][I]=(EN-EIN(77))*YVB1(NVIB1)*(XVB1(NVIB1)/(EN*EN))
862 QIN[77][I]=APOPV1*QIN[77][I]*1.e-16
87 CONTINUE
# V1
QIN[78][I]=0.0
if(EN <= EIN(78):
) GO TO 110
if(EN > XVB1(NVIB1):
) GO TO 101
DO 90 J=2,NVIB1
if(EN <= XVB1[J]:
) GO TO 100
90 CONTINUE
J=NVIB1
100 A=(YVB1[J]-YVB1[J-1])/(XVB1[J]-XVB1[J-1])
B=(XVB1[J-1]*YVB1[J]-XVB1[J]*YVB1[J-1])/(XVB1[J-1]-XVB1[J])
QIN[78][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 110
101 QIN[78][I]=APOPGS*YVB1(NVIB1)*(XVB1(NVIB1)/EN)*1.e-16
110 CONTINUE
# 2V1
QIN[79][I]=0.0
if(EN <= EIN(79):
) GO TO 140
if(EN > XVB2(NVIB2):
) GO TO 131
DO 120 J=2,NVIB2
if(EN <= XVB2[J]:
) GO TO 130
120 CONTINUE
J=NVIB2
130 A=(YVB2[J]-YVB2[J-1])/(XVB2[J]-XVB2[J-1])
B=(XVB2[J-1]*YVB2[J]-XVB2[J]*YVB2[J-1])/(XVB2[J-1]-XVB2[J])
QIN[79][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 140
131 QIN[79][I]=APOPGS*YVB2(NVIB2)*(XVB2(NVIB2)/EN)*1.e-16
140 CONTINUE
# 3V1
QIN[80][I]=0.0
if(EN <= EIN(80):
) GO TO 170
if(EN > XVB3(NVIB3):
) GO TO 161
DO 150 J=2,NVIB3
if(EN <= XVB3[J]:
) GO TO 160
150 CONTINUE
J=NVIB3
160 A=(YVB3[J]-YVB3[J-1])/(XVB3[J]-XVB3[J-1])
B=(XVB3[J-1]*YVB3[J]-XVB3[J]*YVB3[J-1])/(XVB3[J-1]-XVB3[J])
QIN[80][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 170
161 QIN[80][I]=APOPGS*YVB3(NVIB3)*(XVB3(NVIB3)/EN)*1.e-16
170 CONTINUE
# 4V1
QIN[81][I]=0.0
if(EN <= EIN(81):
) GO TO 200
if(EN > XVB4(NVIB4):
) GO TO 191
DO 180 J=2,NVIB4
if(EN <= XVB4[J]:
) GO TO 190
180 CONTINUE
J=NVIB4
190 A=(YVB4[J]-YVB4[J-1])/(XVB4[J]-XVB4[J-1])
B=(XVB4[J-1]*YVB4[J]-XVB4[J]*YVB4[J-1])/(XVB4[J-1]-XVB4[J])
QIN[81][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 200
191 QIN[81][I]=APOPGS*YVB4(NVIB4)*(XVB4(NVIB4)/EN)*1.e-16
200 CONTINUE
# 5V1
QIN[82][I]=0.0
if(EN <= EIN(82):
) GO TO 230
if(EN > XVB5(NVIB5):
) GO TO 221
DO 210 J=2,NVIB5
if(EN <= XVB5[J]:
) GO TO 220
210 CONTINUE
J=NVIB5
220 A=(YVB5[J]-YVB5[J-1])/(XVB5[J]-XVB5[J-1])
B=(XVB5[J-1]*YVB5[J]-XVB5[J]*YVB5[J-1])/(XVB5[J-1]-XVB5[J])
QIN[82][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 230
221 QIN[82][I]=APOPGS*YVB5(NVIB5)*(XVB5(NVIB5)/EN)*1.e-16
230 CONTINUE
# 6V1
QIN[83][I]=0.0
if(EN <= EIN(83):
) GO TO 260
if(EN > XVB6(NVIB6):
) GO TO 251
DO 240 J=2,NVIB6
if(EN <= XVB6[J]:
) GO TO 250
240 CONTINUE
J=NVIB6
250 A=(YVB6[J]-YVB6[J-1])/(XVB6[J]-XVB6[J-1])
B=(XVB6[J-1]*YVB6[J]-XVB6[J]*YVB6[J-1])/(XVB6[J-1]-XVB6[J])
QIN[83][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 260
251 QIN[83][I]=APOPGS*YVB6(NVIB6)*(XVB6(NVIB6)/EN)*1.e-16
260 CONTINUE
# 7V1
QIN[84][I]=0.0
if(EN <= EIN(84):
) GO TO 330
if(EN > XVB7(NVIB7):
) GO TO 321
DO 310 J=2,NVIB7
if(EN <= XVB7[J]:
) GO TO 320
310 CONTINUE
J=NVIB7
320 A=(YVB7[J]-YVB7[J-1])/(XVB7[J]-XVB7[J-1])
B=(XVB7[J-1]*YVB7[J]-XVB7[J]*YVB7[J-1])/(XVB7[J-1]-XVB7[J])
QIN[84][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 330
321 QIN[84][I]=APOPGS*YVB7(NVIB7)*(XVB7(NVIB7)/EN)*1.e-16
330 CONTINUE
# 8V1
QIN[85][I]=0.0
if(EN <= EIN(85):
) GO TO 360
if(EN > XVB8(NVIB8):
) GO TO 351
DO 340 J=2,NVIB8
if(EN <= XVB8[J]:
) GO TO 350
340 CONTINUE
J=NVIB8
350 A=(YVB8[J]-YVB8[J-1])/(XVB8[J]-XVB8[J-1])
B=(XVB8[J-1]*YVB8[J]-XVB8[J]*YVB8[J-1])/(XVB8[J-1]-XVB8[J])
QIN[85][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 360
351 QIN[85][I]=APOPGS*YVB8(NVIB8)*(XVB8(NVIB8)/EN)*1.e-16
360 CONTINUE
# 9V1
QIN[86][I]=0.0
if(EN <= EIN(86):
) GO TO 2030
if(EN > XVB9(NVIB9):
) GO TO 2021
DO 2010 J=2,NVIB9
if(EN <= XVB9[J]:
) GO TO 2020
2010 CONTINUE
J=NVIB9
2020 A=(YVB9[J]-YVB9[J-1])/(XVB9[J]-XVB9[J-1])
B=(XVB9[J-1]*YVB9[J]-XVB9[J]*YVB9[J-1])/(XVB9[J-1]-XVB9[J])
QIN[86][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 2030
2021 QIN[86][I]=APOPGS*YVB9(NVIB9)*(XVB9(NVIB9)/EN)*1.e-16
2030 CONTINUE
# 10V1
QIN[87][I]=0.0
if(EN <= EIN(87):
) GO TO 2060
if(EN > XVB10(NVIB10):
) GO TO 2051
DO 2040 J=2,NVIB10
if(EN <= XVB10[J]:
) GO TO 2050
2040 CONTINUE
J=NVIB10
2050 A=(YVB10[J]-YVB10[J-1])/(XVB10[J]-XVB10[J-1])
B=(XVB10[J-1]*YVB10[J]-XVB10[J]*YVB10[J-1])/(XVB10[J-1]-XVB10[J])
QIN[87][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 2060
2051 QIN[87][I]=APOPGS*YVB10(NVIB10)*(XVB10(NVIB10)/EN)*1.e-16
2060 CONTINUE
# 11V1
QIN[88][I]=0.0
if(EN <= EIN(88):
) GO TO 2130
if(EN > XVB11(NVIB11):
) GO TO 2121
DO 2110 J=2,NVIB11
if(EN <= XVB11[J]:
) GO TO 2120
2110 CONTINUE
J=NVIB11
2120 A=(YVB11[J]-YVB11[J-1])/(XVB11[J]-XVB11[J-1])
B=(XVB11[J-1]*YVB11[J]-XVB11[J]*YVB11[J-1])/(XVB11[J-1]-XVB11[J])
QIN[88][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 2130
2121 QIN[88][I]=APOPGS*YVB11(NVIB11)*(XVB11(NVIB11)/EN)*1.e-16
2130 CONTINUE
# 12V1
QIN[89][I]=0.0
if(EN <= EIN(89):
) GO TO 2160
if(EN > XVB12(NVIB12):
) GO TO 2151
DO 2140 J=2,NVIB12
if(EN <= XVB12[J]:
) GO TO 2150
2140 CONTINUE
J=NVIB12
2150 A=(YVB12[J]-YVB12[J-1])/(XVB12[J]-XVB12[J-1])
B=(XVB12[J-1]*YVB12[J]-XVB12[J]*YVB12[J-1])/(XVB12[J-1]-XVB12[J])
QIN[89][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 2160
2151 QIN[89][I]=APOPGS*YVB12(NVIB12)*(XVB12(NVIB12)/EN)*1.e-16
2160 CONTINUE
# 13V1
QIN[90][I]=0.0
if(EN <= EIN(90):
) GO TO 2230
if(EN > XVB13(NVIB13):
) GO TO 2221
DO 2210 J=2,NVIB13
if(EN <= XVB13[J]:
) GO TO 2220
2210 CONTINUE
J=NVIB13
2220 A=(YVB13[J]-YVB13[J-1])/(XVB13[J]-XVB13[J-1])
B=(XVB13[J-1]*YVB13[J]-XVB13[J]*YVB13[J-1])/(XVB13[J-1]-XVB13[J])
QIN[90][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 2230
2221 QIN[90][I]=APOPGS*YVB13(NVIB13)*(XVB13(NVIB13)/EN)*1.e-16
2230 CONTINUE
# 14V1
QIN[91][I]=0.0
if(EN <= EIN(91):
) GO TO 2260
if(EN > XVB14(NVIB14):
) GO TO 2251
DO 2240 J=2,NVIB14
if(EN <= XVB14[J]:
) GO TO 2250
2240 CONTINUE
J=NVIB14
2250 A=(YVB14[J]-YVB14[J-1])/(XVB14[J]-XVB14[J-1])
B=(XVB14[J-1]*YVB14[J]-XVB14[J]*YVB14[J-1])/(XVB14[J-1]-XVB14[J])
QIN[91][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 2260
2251 QIN[91][I]=APOPGS*YVB14(NVIB14)*(XVB14(NVIB14)/EN)*1.e-16
2260 CONTINUE
# 15V1
QIN[92][I]=0.0
if(EN <= EIN(92):
) GO TO 2330
if(EN > XVB15(NVIB15):
) GO TO 2321
DO 2310 J=2,NVIB15
if(EN <= XVB15[J]:
) GO TO 2320
2310 CONTINUE
J=NVIB15
2320 A=(YVB15[J]-YVB15[J-1])/(XVB15[J]-XVB15[J-1])
B=(XVB15[J-1]*YVB15[J]-XVB15[J]*YVB15[J-1])/(XVB15[J-1]-XVB15[J])
QIN[92][I]=APOPGS*(A*EN+B)*1.e-16
GO TO 2330
2321 QIN[92][I]=APOPGS*YVB15(NVIB15)*(XVB15(NVIB15)/EN)*1.e-16
2330 CONTINUE
# SET ROTATIONAL AND VIBRATIONAL ANGULAR DISTRIBUTIONS ( IF KIN NE 0 )
DO 2440 K=1,92
PEQIN(K,I)=0.5
if(NANISO == 2):
PEQIN(K,I)=0.0
if(EN <= 3.0*abs(EIN[K]:
)) GO TO 2440
if(NANISO > 0):
PEQIN(K,I)=PEQEL[2][(I-IOFFN[K]))] 2440 CONTINUE
#
# A3SIGMA (V=0-4)
QIN[93][I]=0.0
PEQIN[93][I]=0.5
if(NANISO == 2):
PEQIN[93][I]=0.0
if(EN <= EIN(93):
) GO TO 450
if(EN > XTRP1(NTRP1):
) GO TO 445
DO 430 J=2,NTRP1
if(EN <= XTRP1[J]:
) GO TO 440
430 CONTINUE
J=NTRP1
440 A=(YTRP1[J]-YTRP1[J-1])/(XTRP1[J]-XTRP1[J-1])
B=(XTRP1[J-1]*YTRP1[J]-XTRP1[J]*YTRP1[J-1])/(XTRP1[J-1]-XTRP1[J])
QIN[93][I]=(A*EN+B)*1.e-16
A=(YTP1M[J]-YTP1M[J-1])/(XTRP1[J]-XTRP1[J-1])
B=(XTRP1[J-1]*YTP1M[J]-XTRP1[J]*YTP1M[J-1])/(XTRP1[J-1]-XTRP1[J])
RAT=A*EN+B
GO TO 446
445 QIN[93][I]=YTRP1(NTRP1)*(XTRP1(NTRP1)/EN)**2*1.e-16
RAT=YTP1M(NTRP1)*(XTRP1(NTRP1)/EN)
446 if(EN <= (3.0*EIN(93))) GO TO 450
if(NANISO == 1):
PEQIN[93][I]=1.5-RAT
if(NANISO == 2):
PEQIN[93][I]=PEQEL[2][(I-IOFFN(93))]
450 CONTINUE
# A3SIGMA (V=5-9)
QIN[94][I]=0.0
PEQIN[94][I]=0.5
if(NANISO == 2):
PEQIN[94][I]=0.0
if(EN <= EIN(94):
) GO TO 480
if(EN > XTRP2(NTRP2):
) GO TO 475
DO 460 J=2,NTRP2
if(EN <= XTRP2[J]:
) GO TO 470
460 CONTINUE
J=NTRP2
470 A=(YTRP2[J]-YTRP2[J-1])/(XTRP2[J]-XTRP2[J-1])
B=(XTRP2[J-1]*YTRP2[J]-XTRP2[J]*YTRP2[J-1])/(XTRP2[J-1]-XTRP2[J])
QIN[94][I]=(A*EN+B)*1.e-16
A=(YTP2M[J]-YTP2M[J-1])/(XTRP2[J]-XTRP2[J-1])
B=(XTRP2[J-1]*YTP2M[J]-XTRP2[J]*YTP2M[J-1])/(XTRP2[J-1]-XTRP2[J])
RAT=A*EN+B
GO TO 476
475 QIN[94][I]=YTRP2(NTRP2)*(XTRP2(NTRP2)/EN)**2*1.e-16
RAT=YTP2M(NTRP2)*(XTRP2(NTRP2)/EN)
476 if(EN <= (3.0*EIN(94))) GO TO 480
if(NANISO == 1):
PEQIN[94][I]=1.5-RAT
if(NANISO == 2):
PEQIN[94][I]=PEQEL[2][(I-IOFFN(94))]
480 CONTINUE
# B3PI (V=0-3)
QIN[95][I]=0.0
PEQIN[95][I]=0.5
if(NANISO == 2):
PEQIN[95][I]=0.0
if(EN <= EIN(95):
) GO TO 510
if(EN > XTRP3(NTRP3):
) GO TO 505
DO 490 J=2,NTRP3
if(EN <= XTRP3[J]:
) GO TO 500
490 CONTINUE
J=NTRP3
500 A=(YTRP3[J]-YTRP3[J-1])/(XTRP3[J]-XTRP3[J-1])
B=(XTRP3[J-1]*YTRP3[J]-XTRP3[J]*YTRP3[J-1])/(XTRP3[J-1]-XTRP3[J])
QIN[95][I]=(A*EN+B)*1.e-16
A=(YTP3M[J]-YTP3M[J-1])/(XTRP3[J]-XTRP3[J-1])
B=(XTRP3[J-1]*YTP3M[J]-XTRP3[J]*YTP3M[J-1])/(XTRP3[J-1]-XTRP3[J])
RAT=A*EN+B
GO TO 506
505 QIN[95][I]=YTRP3(NTRP3)*(XTRP3(NTRP3)/EN)**2*1.e-16
RAT=YTP3M(NTRP3)*(XTRP3(NTRP3)/EN)
506 if(EN <= (3.0*EIN(95))) GO TO 510
if(NANISO == 1):
PEQIN[95][I]=1.5-RAT
if(NANISO == 2):
PEQIN[95][I]=PEQEL[2][(I-IOFFN(95))]
510 CONTINUE
# W3DELTA (V=0-5)
QIN[96][I]=0.0
PEQIN[96][I]=0.5
if(NANISO == 2):
PEQIN[96][I]=0.0
if(EN <= EIN(96):
) GO TO 540
if(EN > XTRP4(NTRP4):
) GO TO 535
DO 520 J=2,NTRP4
if(EN <= XTRP4[J]:
) GO TO 530
520 CONTINUE
J=NTRP4
530 A=(YTRP4[J]-YTRP4[J-1])/(XTRP4[J]-XTRP4[J-1])
B=(XTRP4[J-1]*YTRP4[J]-XTRP4[J]*YTRP4[J-1])/(XTRP4[J-1]-XTRP4[J])
QIN[96][I]=(A*EN+B)*1.e-16
A=(YTP4M[J]-YTP4M[J-1])/(XTRP4[J]-XTRP4[J-1])
B=(XTRP4[J-1]*YTP4M[J]-XTRP4[J]*YTP4M[J-1])/(XTRP4[J-1]-XTRP4[J])
RAT=A*EN+B
GO TO 536
535 QIN[96][I]=YTRP4(NTRP4)*(XTRP4(NTRP4)/EN)**2*1.e-16
RAT=YTP4M(NTRP4)*(XTRP4(NTRP4)/EN)
536 if(EN <= (3.0*EIN(96))) GO TO 540
if(NANISO == 1):
PEQIN[96][I]=1.5-RAT
if(NANISO == 2):
PEQIN[96][I]=PEQEL[2][(I-IOFFN(96))]
540 CONTINUE
# A3SIGMA (V=10-21)
QIN[97][I]=0.0
PEQIN[97][I]=0.5
if(NANISO == 2):
PEQIN[97][I]=0.0
if(EN <= EIN(97):
) GO TO 570
if(EN > XTRP5(NTRP5):
) GO TO 565
DO 550 J=2,NTRP5
if(EN <= XTRP5[J]:
) GO TO 560
550 CONTINUE
J=NTRP5
560 A=(YTRP5[J]-YTRP5[J-1])/(XTRP5[J]-XTRP5[J-1])
B=(XTRP5[J-1]*YTRP5[J]-XTRP5[J]*YTRP5[J-1])/(XTRP5[J-1]-XTRP5[J])
QIN[97][I]=(A*EN+B)*1.e-16
A=(YTP5M[J]-YTP5M[J-1])/(XTRP5[J]-XTRP5[J-1])
B=(XTRP5[J-1]*YTP5M[J]-XTRP5[J]*YTP5M[J-1])/(XTRP5[J-1]-XTRP5[J])
RAT=A*EN+B
GO TO 566
565 QIN[97][I]=YTRP5(NTRP5)*(XTRP5(NTRP5)/EN)**2*1.e-16
RAT=YTP5M(NTRP5)*(XTRP5(NTRP5)/EN)
566 if(EN <= (3.0*EIN(97))) GO TO 570
if(NANISO == 1):
PEQIN[97][I]=1.5-RAT
if(NANISO == 2):
PEQIN[97][I]=PEQEL[2][(I-IOFFN(97))]
570 CONTINUE
# B3PI (V=4-16)
QIN[98][I]=0.0
PEQIN[98][I]=0.5
if(NANISO == 2):
PEQIN[98][I]=0.0
if(EN <= EIN(98):
) GO TO 600
if(EN > XTRP6(NTRP6):
) GO TO 595
DO 580 J=2,NTRP6
if(EN <= XTRP6[J]:
) GO TO 590
580 CONTINUE
J=NTRP6
590 A=(YTRP6[J]-YTRP6[J-1])/(XTRP6[J]-XTRP6[J-1])
B=(XTRP6[J-1]*YTRP6[J]-XTRP6[J]*YTRP6[J-1])/(XTRP6[J-1]-XTRP6[J])
QIN[98][I]=(A*EN+B)*1.e-16
A=(YTP6M[J]-YTP6M[J-1])/(XTRP6[J]-XTRP6[J-1])
B=(XTRP6[J-1]*YTP6M[J]-XTRP6[J]*YTP6M[J-1])/(XTRP6[J-1]-XTRP6[J])
RAT=A*EN+B
GO TO 596
595 QIN[98][I]=YTRP6(NTRP6)*(XTRP6(NTRP6)/EN)**2*1.e-16
RAT=YTP6M(NTRP6)*(XTRP6(NTRP6)/EN)
596 if(EN <= (3.0*EIN(98))) GO TO 600
if(NANISO == 1):
PEQIN[98][I]=1.5-RAT
if(NANISO == 2):
PEQIN[98][I]=PEQEL[2][(I-IOFFN(98))]
600 CONTINUE
# W3DEL (V=6-10)
QIN[99][I]=0.0
PEQIN[99][I]=0.5
if(NANISO == 2):
PEQIN[99][I]=0.0
if(EN <= EIN(99):
) GO TO 603
if(EN > XTRP7(NTRP7):
) GO TO 6025
DO 601 J=2,NTRP7
if(EN <= XTRP7[J]:
) GO TO 602
601 CONTINUE
J=NTRP7
602 A=(YTRP7[J]-YTRP7[J-1])/(XTRP7[J]-XTRP7[J-1])
B=(XTRP7[J-1]*YTRP7[J]-XTRP7[J]*YTRP7[J-1])/(XTRP7[J-1]-XTRP7[J])
QIN[99][I]=(A*EN+B)*1.e-16
A=(YTP7M[J]-YTP7M[J-1])/(XTRP7[J]-XTRP7[J-1])
B=(XTRP7[J-1]*YTP7M[J]-XTRP7[J]*YTP7M[J-1])/(XTRP7[J-1]-XTRP7[J])
RAT=A*EN+B
GO TO 6026
6025 QIN[99][I]=YTRP7(NTRP7)*(XTRP7(NTRP7)/EN)**2*1.e-16
RAT=YTP7M(NTRP7)*(XTRP7(NTRP7)/EN)
6026 if(EN <= (3.0*EIN(99))) GO TO 603
if(NANISO == 1):
PEQIN[99][I]=1.5-RAT
if(NANISO == 2):
PEQIN[99][I]=PEQEL[2][(I-IOFFN(99))]
603 CONTINUE
# A1PI (V=0-3)
QIN(100,I)=0.0
PEQIN(100,I)=0.5
if(NANISO == 2):
PEQIN(100,I)=0.0
if(EN <= EIN(100):
) GO TO 630
if(EN > XSNG1(NSNG1):
) GO TO 625
DO 610 J=2,NSNG1
if(EN <= XSNG1[J]:
) GO TO 620
610 CONTINUE
J=NSNG1
620 A=(YSNG1[J]-YSNG1[J-1])/(XSNG1[J]-XSNG1[J-1])
B=(XSNG1[J-1]*YSNG1[J]-XSNG1[J]*YSNG1[J-1])/(XSNG1[J-1]-XSNG1[J])
QIN(100,I)=(A*EN+B)*1.e-16
A=(YSG1M[J]-YSG1M[J-1])/(XSNG1[J]-XSNG1[J-1])
B=(XSNG1[J-1]*YSG1M[J]-XSNG1[J]*YSG1M[J-1])/(XSNG1[J-1]-XSNG1[J])
RAT=A*EN+B
GO TO 626
625 QIN(100,I)=YSNG1(NSNG1)*(XSNG1(NSNG1)/EN)**1.5*1.e-16
RAT=YSG1M(NSNG1)*(XSNG1(NSNG1)/EN)
626 if(EN <= (3.0*EIN(100))) GO TO 630
if(NANISO == 1):
PEQIN(100,I)=1.5-RAT
if(NANISO == 2):
PEQIN(100,I)=PEQEL[2][(I-IOFFN(100)])
630 CONTINUE
# B#3SIG (V=0-6)
QIN(101,I)=0.0
PEQIN(101,I)=0.5
if(NANISO == 2):
PEQIN(101,I)=0.0
if(EN <= EIN(101):
) GO TO 633
if(EN > XTRP8(NTRP8):
) GO TO 6325
DO 631 J=2,NTRP8
if(EN <= XTRP8[J]:
) GO TO 632
631 CONTINUE
J=NTRP8
632 A=(YTRP8[J]-YTRP8[J-1])/(XTRP8[J]-XTRP8[J-1])
B=(XTRP8[J-1]*YTRP8[J]-XTRP8[J]*YTRP8[J-1])/(XTRP8[J-1]-XTRP8[J])
QIN(101,I)=(A*EN+B)*1.e-16
A=(YTP8M[J]-YTP8M[J-1])/(XTRP8[J]-XTRP8[J-1])
B=(XTRP8[J-1]*YTP8M[J]-XTRP8[J]*YTP8M[J-1])/(XTRP8[J-1]-XTRP8[J])
RAT=A*EN+B
GO TO 6326
6325 QIN(101,I)=YTRP8(NTRP8)*(XTRP8(NTRP8)/EN)**2*1.e-16
RAT=YTP8M(NTRP8)*(XTRP8(NTRP8)/EN)
6326 if(EN <= (3.0*EIN(101))) GO TO 633
if(NANISO == 1):
PEQIN(101,I)=1.5-RAT
if(NANISO == 2):
PEQIN(101,I)=PEQEL[2][(I-IOFFN(101)])
633 CONTINUE
# A#1SIG (V=0-6)
QIN(102,I)=0.0
PEQIN(102,I)=0.5
if(NANISO == 2):
PEQIN(102,I)=0.0
if(EN <= EIN(102):
) GO TO 660
if(EN > XSNG2(NSNG2):
) GO TO 655
DO 640 J=2,NSNG2
if(EN <= XSNG2[J]:
) GO TO 650
640 CONTINUE
J=NSNG2
650 A=(YSNG2[J]-YSNG2[J-1])/(XSNG2[J]-XSNG2[J-1])
B=(XSNG2[J-1]*YSNG2[J]-XSNG2[J]*YSNG2[J-1])/(XSNG2[J-1]-XSNG2[J])
QIN(102,I)=(A*EN+B)*1.e-16
A=(YSG2M[J]-YSG2M[J-1])/(XSNG2[J]-XSNG2[J-1])
B=(XSNG2[J-1]*YSG2M[J]-XSNG2[J]*YSG2M[J-1])/(XSNG2[J-1]-XSNG2[J])
RAT=A*EN+B
GO TO 656
655 QIN(102,I)=YSNG2(NSNG2)*(XSNG2(NSNG2)/EN)**1.5*1.e-16
RAT=YSG2M(NSNG2)*(XSNG2(NSNG2)/EN)
656 if(EN <= (3.0*EIN(102))) GO TO 660
if(NANISO == 1):
PEQIN(102,I)=1.5-RAT
if(NANISO == 2):
PEQIN(102,I)=PEQEL[2][(I-IOFFN(102)])
660 CONTINUE
# W3DEL (V=11-19)
QIN(103,I)=0.0
PEQIN(103,I)=0.5
if(NANISO == 2):
PEQIN(103,I)=0.0
if(EN <= EIN(103):
) GO TO 690
if(EN > XTRP9(NTRP9):
) GO TO 685
DO 670 J=2,NTRP9
if(EN <= XTRP9[J]:
) GO TO 680
670 CONTINUE
J=NTRP9
680 A=(YTRP9[J]-YTRP9[J-1])/(XTRP9[J]-XTRP9[J-1])
B=(XTRP9[J-1]*YTRP9[J]-XTRP9[J]*YTRP9[J-1])/(XTRP9[J-1]-XTRP9[J])
QIN(103,I)=(A*EN+B)*1.e-16
A=(YTP9M[J]-YTP9M[J-1])/(XTRP9[J]-XTRP9[J-1])
B=(XTRP9[J-1]*YTP9M[J]-XTRP9[J]*YTP9M[J-1])/(XTRP9[J-1]-XTRP9[J])
RAT=A*EN+B
GO TO 686
685 QIN(103,I)=YTRP9(NTRP9)*(XTRP9(NTRP9)/EN)**2*1.e-16
RAT=YTP9M(NTRP9)*(XTRP9(NTRP9)/EN)
686 if(EN <= (3.0*EIN(103))) GO TO 690
if(NANISO == 1):
PEQIN(103,I)=1.5-RAT
if(NANISO == 2):
PEQIN(103,I)=PEQEL[2][(I-IOFFN(103)])
690 CONTINUE
# W1DEL (V=0-5)
QIN(104,I)=0.0
PEQIN(104,I)=0.5
if(NANISO == 2):
PEQIN(104,I)=0.0
if(EN <= EIN(104):
) GO TO 720
if(EN > XSNG3(NSNG3):
) GO TO 715
DO 700 J=2,NSNG3
if(EN <= XSNG3[J]:
) GO TO 710
700 CONTINUE
J=NSNG3
710 A=(YSNG3[J]-YSNG3[J-1])/(XSNG3[J]-XSNG3[J-1])
B=(XSNG3[J-1]*YSNG3[J]-XSNG3[J]*YSNG3[J-1])/(XSNG3[J-1]-XSNG3[J])
QIN(104,I)=(A*EN+B)*1.e-16
A=(YSG3M[J]-YSG3M[J-1])/(XSNG3[J]-XSNG3[J-1])
B=(XSNG3[J-1]*YSG3M[J]-XSNG3[J]*YSG3M[J-1])/(XSNG3[J-1]-XSNG3[J])
RAT=A*EN+B
GO TO 716
715 QIN(104,I)=YSNG3(NSNG3)*(XSNG3(NSNG3)/EN)**1.5*1.e-16
RAT=YSG3M(NSNG3)*(XSNG3(NSNG3)/EN)
716 if(EN <= (3.0*EIN(104))) GO TO 720
if(NANISO == 1):
PEQIN(104,I)=1.5-RAT
if(NANISO == 2):
PEQIN(104,I)=PEQEL[2][(I-IOFFN(104)])
720 CONTINUE
# A1PI (V=4-15)
QIN(105,I)=0.0
PEQIN(105,I)=0.5
if(NANISO == 2):
PEQIN(105,I)=0.0
if(EN <= EIN(105):
) GO TO 723
if(EN > XSNG4(NSNG4):
) GO TO 7225
DO 721 J=2,NSNG4
if(EN <= XSNG4[J]:
) GO TO 722
721 CONTINUE
J=NSNG4
722 A=(YSNG4[J]-YSNG4[J-1])/(XSNG4[J]-XSNG4[J-1])
B=(XSNG4[J-1]*YSNG4[J]-XSNG4[J]*YSNG4[J-1])/(XSNG4[J-1]-XSNG4[J])
QIN(105,I)=(A*EN+B)*1.e-16
A=(YSG4M[J]-YSG4M[J-1])/(XSNG4[J]-XSNG4[J-1])
B=(XSNG4[J-1]*YSG4M[J]-XSNG4[J]*YSG4M[J-1])/(XSNG4[J-1]-XSNG4[J])
RAT=A*EN+B
GO TO 7226
7225 QIN(105,I)=YSNG4(NSNG4)*(XSNG4(NSNG4)/EN)**1.5*1.e-16
RAT=YSG4M(NSNG4)*(XSNG4(NSNG4)/EN)
7226 if(EN <= (3.0*EIN(105))) GO TO 723
if(NANISO == 1):
PEQIN(105,I)=1.5-RAT
if(NANISO == 2):
PEQIN(105,I)=PEQEL[2][(I-IOFFN(105)])
723 CONTINUE
# B#3SIG (V=7-18)
QIN(106,I)=0.0
PEQIN(106,I)=0.5
if(NANISO == 2):
PEQIN(106,I)=0.0
if(EN <= EIN(106):
) GO TO 750
if(EN > XTRP10(NTRP10):
) GO TO 745
DO 730 J=2,NTRP10
if(EN <= XTRP10[J]:
) GO TO 740
730 CONTINUE
J=NTRP10
740 A=(YTRP10[J]-YTRP10[J-1])/(XTRP10[J]-XTRP10[J-1])
B=(XTRP10[J-1]*YTRP10[J]-XTRP10[J]*YTRP10[J-1])/(XTRP10[J-1]-XTRP10[J])
QIN(106,I)=(A*EN+B)*1.e-16
A=(YTP10M[J]-YTP10M[J-1])/(XTRP10[J]-XTRP10[J-1])
B=(XTRP10[J-1]*YTP10M[J]-XTRP10[J]*YTP10M[J-1])/(XTRP10[J-1]-XTRP10[J])
RAT=A*EN+B
GO TO 746
745 QIN(106,I)=YTRP10(NTRP10)*(XTRP10(NTRP10)/EN)**2*1.e-16
RAT=YTP10M(NTRP10)*(XTRP10(NTRP10)/EN)
746 if(EN <= (3.0*EIN(106))) GO TO 750
if(NANISO == 1):
PEQIN(106,I)=1.5-RAT
if(NANISO == 2):
PEQIN(106,I)=PEQEL[2][(I-IOFFN(106)])
750 CONTINUE
# A#1SIG (V=7-19)
QIN(107,I)=0.0
PEQIN(107,I)=0.5
if(NANISO == 2):
PEQIN(107,I)=0.0
if(EN <= EIN(107):
) GO TO 780
if(EN > XSNG5(NSNG5):
) GO TO 771
DO 760 J=2,NSNG5
if(EN <= XSNG5[J]:
) GO TO 770
760 CONTINUE
J=NSNG5
770 A=(YSNG5[J]-YSNG5[J-1])/(XSNG5[J]-XSNG5[J-1])
B=(XSNG5[J-1]*YSNG5[J]-XSNG5[J]*YSNG5[J-1])/(XSNG5[J-1]-XSNG5[J])
QIN(107,I)=(A*EN+B)*1.e-16
A=(YSG5M[J]-YSG5M[J-1])/(XSNG5[J]-XSNG5[J-1])
B=(XSNG5[J-1]*YSG5M[J]-XSNG5[J]*YSG5M[J-1])/(XSNG5[J-1]-XSNG5[J])
RAT=A*EN+B
GO TO 772
771 QIN(107,I)=YSNG5(NSNG5)*(XSNG5(NSNG5)/EN)**1.5*1.e-16
RAT=YSG5M(NSNG5)*(XSNG5(NSNG5)/EN)
772 if(EN <= (3.0*EIN(107))) GO TO 780
if(NANISO == 1):
PEQIN(107,I)=1.5-RAT
if(NANISO == 2):
PEQIN(107,I)=PEQEL[2][(I-IOFFN(107)])
780 CONTINUE
# W1DEL (V=6-18)
QIN(108,I)=0.0
PEQIN(108,I)=0.5
if(NANISO == 2):
PEQIN(108,I)=0.0
if(EN <= EIN(108):
) GO TO 783
if(EN > XSNG6(NSNG6):
) GO TO 7825
DO 781 J=2,NSNG6
if(EN <= XSNG6[J]:
) GO TO 782
781 CONTINUE
J=NSNG6
782 A=(YSNG6[J]-YSNG6[J-1])/(XSNG6[J]-XSNG6[J-1])
B=(XSNG6[J-1]*YSNG6[J]-XSNG6[J]*YSNG6[J-1])/(XSNG6[J-1]-XSNG6[J])
QIN(108,I)=(A*EN+B)*1.e-16
A=(YSG6M[J]-YSG6M[J-1])/(XSNG6[J]-XSNG6[J-1])
B=(XSNG6[J-1]*YSG6M[J]-XSNG6[J]*YSG6M[J-1])/(XSNG6[J-1]-XSNG6[J])
RAT=A*EN+B
GO TO 7826
7825 QIN(108,I)=YSNG6(NSNG6)*(XSNG6(NSNG6)/EN)**1.5*1.e-16
RAT=YSG6M(NSNG6)*(XSNG6(NSNG6)/EN)
7826 if(EN <= (3.0*EIN(108))) GO TO 783
if(NANISO == 1):
PEQIN(108,I)=1.5-RAT
if(NANISO == 2):
PEQIN(108,I)=PEQEL[2][(I-IOFFN(108)])
783 CONTINUE
# C3PI (V=0-4)
QIN(109,I)=0.0
PEQIN(109,I)=0.5
if(NANISO == 2):
PEQIN(109,I)=0.0
if(EN <= EIN(109):
) GO TO 786
if(EN > XTRP11(NTRP11):
) GO TO 7855
DO 784 J=2,NTRP11
if(EN <= XTRP11[J]:
) GO TO 785
784 CONTINUE
J=NTRP11
785 A=(YTRP11[J]-YTRP11[J-1])/(XTRP11[J]-XTRP11[J-1])
B=(XTRP11[J-1]*YTRP11[J]-XTRP11[J]*YTRP11[J-1])/(XTRP11[J-1]-XTRP11[J])
QIN(109,I)=(A*EN+B)*1.e-16
A=(YTP11M[J]-YTP11M[J-1])/(XTRP11[J]-XTRP11[J-1])
B=(XTRP11[J-1]*YTP11M[J]-XTRP11[J]*YTP11M[J-1])/(XTRP11[J-1]-XTRP11[J])
RAT=A*EN+B
GO TO 7856
7855 QIN(109,I)=YTRP11(NTRP11)*(XTRP11(NTRP11)/EN)**2*1.e-16
RAT=YTP11M(NTRP11)*(XTRP11(NTRP11)/EN)
7856 if(EN <= (3.0*EIN(109))) GO TO 786
if(NANISO == 1):
PEQIN(109,I)=1.5-RAT
if(NANISO == 2):
PEQIN(109,I)=PEQEL[2][(I-IOFFN(109)])
786 CONTINUE
# E3SIG
QIN(110,I)=0.0
PEQIN(110,I)=0.5
if(NANISO == 2):
PEQIN(110,I)=0.0
if(EN <= EIN(110):
) GO TO 789
if(EN > XTRP12(NTRP12):
) GO TO 7885
DO 787 J=2,NTRP12
if(EN <= XTRP12[J]:
) GO TO 788
787 CONTINUE
J=NTRP12
788 A=(YTRP12[J]-YTRP12[J-1])/(XTRP12[J]-XTRP12[J-1])
B=(XTRP12[J-1]*YTRP12[J]-XTRP12[J]*YTRP12[J-1])/(XTRP12[J-1]-XTRP12[J])
QIN(110,I)=(A*EN+B)*1.e-16
A=(YTP12M[J]-YTP12M[J-1])/(XTRP12[J]-XTRP12[J-1])
B=(XTRP12[J-1]*YTP12M[J]-XTRP12[J]*YTP12M[J-1])/(XTRP12[J-1]-XTRP12[J])
RAT=A*EN+B
GO TO 7886
7885 QIN(110,I)=YTRP12(NTRP12)*(XTRP12(NTRP12)/EN)**2*1.e-16
RAT=YTP12M(NTRP12)*(XTRP12(NTRP12)/EN)
7886 if(EN <= (3.0*EIN(110))) GO TO 789
if(NANISO == 1):
PEQIN(110,I)=1.5-RAT
if(NANISO == 2):
PEQIN(110,I)=PEQEL[2][(I-IOFFN(110)])
789 CONTINUE
# A##1SIG (V=0-1)
QIN(111,I)=0.0
PEQIN(111,I)=0.5
if(NANISO == 2):
PEQIN(111,I)=0.0
if(EN <= EIN(111):
) GO TO 792
if(EN > XSNG7(NSNG7):
) GO TO 7915
DO 790 J=2,NSNG7
if(EN <= XSNG7[J]:
) GO TO 791
790 CONTINUE
J=NSNG7
791 A=(YSNG7[J]-YSNG7[J-1])/(XSNG7[J]-XSNG7[J-1])
B=(XSNG7[J-1]*YSNG7[J]-XSNG7[J]*YSNG7[J-1])/(XSNG7[J-1]-XSNG7[J])
QIN(111,I)=(A*EN+B)*1.e-16
A=(YSG7M[J]-YSG7M[J-1])/(XSNG7[J]-XSNG7[J-1])
B=(XSNG7[J-1]*YSG7M[J]-XSNG7[J]*YSG7M[J-1])/(XSNG7[J-1]-XSNG7[J])
RAT=A*EN+B
GO TO 7916
7915 QIN(111,I)=YSNG7(NSNG7)*(XSNG7(NSNG7)/EN)**1.5*1.e-16
RAT=YSG7M(NSNG7)*(XSNG7(NSNG7)/EN)
7916 if(EN <= (3.0*EIN(111))) GO TO 792
if(NANISO == 1):
PEQIN(111,I)=1.5-RAT
if(NANISO == 2):
PEQIN(111,I)=PEQEL[2][(I-IOFFN(111)])
792 CONTINUE
# B1PI (V=0-6) F=0.1855
QIN(112,I)=0.0
PEQIN(112,I)=0.5
if(NANISO == 2):
PEQIN(112,I)=0.0
if(EN <= EIN(112):
) GO TO 795
if(EN > XSNG8(NSNG8):
) GO TO 7945
DO 793 J=2,NSNG8
if(EN <= XSNG8[J]:
) GO TO 794
793 CONTINUE
J=NSNG8
794 A=(YSNG8[J]-YSNG8[J-1])/(XSNG8[J]-XSNG8[J-1])
B=(XSNG8[J-1]*YSNG8[J]-XSNG8[J]*YSNG8[J-1])/(XSNG8[J-1]-XSNG8[J])
QIN(112,I)=(A*EN+B)*1.e-16
A=(YSG8M[J]-YSG8M[J-1])/(XSNG8[J]-XSNG8[J-1])
B=(XSNG8[J-1]*YSG8M[J]-XSNG8[J]*YSG8M[J-1])/(XSNG8[J-1]-XSNG8[J])
RAT=A*EN+B
GO TO 7946
# USE BEF SCALING F=0.1855
7945 QIN(112,I)=.1855/(EIN(112)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(112)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(112)+E[3])
RAT=YSG8M(NSNG8)*(XSNG8(NSNG8)/EN)
7946 if(EN <= (3.0*EIN(112))) GO TO 795
if(NANISO == 1):
PEQIN(112,I)=1.5-RAT
if(NANISO == 2):
PEQIN(112,I)=PEQEL[2][(I-IOFFN(112)])
795 CONTINUE
# C#1SIG (V=0-3) F=0.150
QIN(113,I)=0.0
PEQIN(113,I)=0.5
if(NANISO == 2):
PEQIN(113,I)=0.0
if(EN <= EIN(113):
) GO TO 798
if(EN > XSNG9(NSNG9):
) GO TO 7975
DO 796 J=2,NSNG9
if(EN <= XSNG9[J]:
) GO TO 797
796 CONTINUE
J=NSNG9
797 A=(YSNG9[J]-YSNG9[J-1])/(XSNG9[J]-XSNG9[J-1])
B=(XSNG9[J-1]*YSNG9[J]-XSNG9[J]*YSNG9[J-1])/(XSNG9[J-1]-XSNG9[J])
QIN(113,I)=(A*EN+B)*1.e-16
A=(YSG9M[J]-YSG9M[J-1])/(XSNG9[J]-XSNG9[J-1])
B=(XSNG9[J-1]*YSG9M[J]-XSNG9[J]*YSG9M[J-1])/(XSNG9[J-1]-XSNG9[J])
RAT=A*EN+B
GO TO 7976
# USE BEF SCALING F=0.15
7975 QIN(113,I)=.15000/(EIN(113)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(113)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(113)+E[3])
RAT=YSG9M(NSNG9)*(XSNG9(NSNG9)/EN)
7976 if(EN <= (3.0*EIN(113))) GO TO 798
if(NANISO == 1):
PEQIN(113,I)=1.5-RAT
if(NANISO == 2):
PEQIN(113,I)=PEQEL[2][(I-IOFFN(113)])
798 CONTINUE
# G 3PI (V=0-3)
QIN(114,I)=0.0
PEQIN(114,I)=0.5
if(NANISO == 2):
PEQIN(114,I)=0.0
if(EN <= EIN(114):
) GO TO 801
if(EN > XTRP13(NTRP13):
) GO TO 8005
DO 799 J=2,NTRP13
if(EN <= XTRP13[J]:
) GO TO 800
799 CONTINUE
J=NTRP13
800 A=(YTRP13[J]-YTRP13[J-1])/(XTRP13[J]-XTRP13[J-1])
B=(XTRP13[J-1]*YTRP13[J]-XTRP13[J]*YTRP13[J-1])/(XTRP13[J-1]-XTRP13[J])
QIN(114,I)=(A*EN+B)*1.e-16
A=(YTP13M[J]-YTP13M[J-1])/(XTRP13[J]-XTRP13[J-1])
B=(XTRP13[J-1]*YTP13M[J]-XTRP13[J]*YTP13M[J-1])/(XTRP13[J-1]-XTRP13[J])
RAT=A*EN+B
GO TO 8006
8005 QIN(114,I)=YTRP13(NTRP13)*(XTRP13(NTRP13)/EN)**1.5*1.e-16
RAT=YTP13M(NTRP13)*(XTRP13(NTRP13)/EN)
8006 if(EN <= (3.0*EIN(114))) GO TO 801
if(NANISO == 1):
PEQIN(114,I)=1.5-RAT
if(NANISO == 2):
PEQIN(114,I)=PEQEL[2][(I-IOFFN(114)])
801 CONTINUE
# C3 1PI (V=0-3) F=0.15
QIN(115,I)=0.0
PEQIN(115,I)=0.5
if(NANISO == 2):
PEQIN(115,I)=0.0
if(EN <= EIN(115):
) GO TO 804
if(EN > XSNG10(NSNG10):
) GO TO 8035
DO 802 J=2,NSNG10
if(EN <= XSNG10[J]:
) GO TO 803
802 CONTINUE
J=NSNG10
803 A=(YSNG10[J]-YSNG10[J-1])/(XSNG10[J]-XSNG10[J-1])
B=(XSNG10[J-1]*YSNG10[J]-XSNG10[J]*YSNG10[J-1])/(XSNG10[J-1]-XSNG10[J])
QIN(115,I)=(A*EN+B)*1.e-16
A=(YSG10M[J]-YSG10M[J-1])/(XSNG10[J]-XSNG10[J-1])
B=(XSNG10[J-1]*YSG10M[J]-XSNG10[J]*YSG10M[J-1])/(XSNG10[J-1]-XSNG10[J])
RAT=A*EN+B
GO TO 8036
# USE BEF SCALING
8035 QIN(115,I)=.1500/(EIN(115)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(115)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(115)+E[3])
RAT=YSG10M(NSNG10)*(XSNG10(NSNG10)/EN)
8036 if(EN <= (3.0*EIN(115))) GO TO 804
if(NANISO == 1):
PEQIN(115,I)=1.5-RAT
if(NANISO == 2):
PEQIN(115,I)=PEQEL[2][(I-IOFFN(115)])
804 CONTINUE
# F 3PI (V=0-3)
QIN(116,I)=0.0
PEQIN(116,I)=0.5
if(NANISO == 2):
PEQIN(116,I)=0.0
if(EN <= EIN(116):
) GO TO 807
if(EN > XTRP14(NTRP14):
) GO TO 8065
DO 805 J=2,NTRP14
if(EN <= XTRP14[J]:
) GO TO 806
805 CONTINUE
J=NTRP14
806 A=(YTRP14[J]-YTRP14[J-1])/(XTRP14[J]-XTRP14[J-1])
B=(XTRP14[J-1]*YTRP14[J]-XTRP14[J]*YTRP14[J-1])/(XTRP14[J-1]-XTRP14[J])
QIN(116,I)=(A*EN+B)*1.e-16
A=(YTP14M[J]-YTP14M[J-1])/(XTRP14[J]-XTRP14[J-1])
B=(XTRP14[J-1]*YTP14M[J]-XTRP14[J]*YTP14M[J-1])/(XTRP14[J-1]-XTRP14[J])
RAT=A*EN+B
GO TO 8066
8065 QIN(116,I)=YTRP14(NTRP14)*(XTRP14(NTRP14)/EN)**1.5*1.e-16
RAT=YTP14M(NTRP14)*(XTRP14(NTRP14)/EN)
8066 if(EN <= (3.0*EIN(116))) GO TO 807
if(NANISO == 1):
PEQIN(116,I)=1.5-RAT
if(NANISO == 2):
PEQIN(116,I)=PEQEL[2][(I-IOFFN(116)])
807 CONTINUE
# B1PI (V=7-14) F=0.0663
QIN(117,I)=0.0
PEQIN(117,I)=0.5
if(NANISO == 2):
PEQIN(117,I)=0.0
if(EN <= EIN(117):
) GO TO 810
if(EN > XSNG11(NSNG11):
) GO TO 8095
DO 808 J=2,NSNG11
if(EN <= XSNG11[J]:
) GO TO 809
808 CONTINUE
J=NSNG11
809 A=(YSNG11[J]-YSNG11[J-1])/(XSNG11[J]-XSNG11[J-1])
B=(XSNG11[J-1]*YSNG11[J]-XSNG11[J]*YSNG11[J-1])/(XSNG11[J-1]-XSNG11[J])
QIN(117,I)=(A*EN+B)*1.e-16
A=(YSG11M[J]-YSG11M[J-1])/(XSNG11[J]-XSNG11[J-1])
B=(XSNG11[J-1]*YSG11M[J]-XSNG11[J]*YSG11M[J-1])/(XSNG11[J-1]-XSNG11[J])
RAT=A*EN+B
GO TO 8096
# USE BEF SCALING
8095 QIN(117,I)=.0663/(EIN(117)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(117)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(117)+E[3])
RAT=YSG11M(NSNG11)*(XSNG11(NSNG11)/EN)
8096 if(EN <= (3.0*EIN(117))) GO TO 810
if(NANISO == 1):
PEQIN(117,I)=1.5-RAT
if(NANISO == 2):
PEQIN(117,I)=PEQEL[2][(I-IOFFN(117)])
810 CONTINUE
# B# 1SIG (V=0-10) F=.0601
QIN(118,I)=0.0
PEQIN(118,I)=0.5
if(NANISO == 2):
PEQIN(118,I)=0.0
if(EN <= EIN(118):
) GO TO 813
if(EN > XSNG12(NSNG12):
) GO TO 8125
DO 811 J=2,NSNG12
if(EN <= XSNG12[J]:
) GO TO 812
811 CONTINUE
J=NSNG12
812 A=(YSNG12[J]-YSNG12[J-1])/(XSNG12[J]-XSNG12[J-1])
B=(XSNG12[J-1]*YSNG12[J]-XSNG12[J]*YSNG12[J-1])/(XSNG12[J-1]-XSNG12[J])
QIN(118,I)=(A*EN+B)*1.e-16
A=(YSG12M[J]-YSG12M[J-1])/(XSNG12[J]-XSNG12[J-1])
B=(XSNG12[J-1]*YSG12M[J]-XSNG12[J]*YSG12M[J-1])/(XSNG12[J-1]-XSNG12[J])
RAT=A*EN+B
GO TO 8126
8125 QIN(118,I)=.0601/(EIN(118)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(118)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(118)+E[3])
RAT=YSG12M(NSNG12)*(XSNG12(NSNG12)/EN)
8126 if(EN <= (3.0*EIN(118))) GO TO 813
if(NANISO == 1):
PEQIN(118,I)=1.5-RAT
if(NANISO == 2):
PEQIN(118,I)=PEQEL[2][(I-IOFFN(118)])
813 CONTINUE
# O3 1PI (V=0-3) F=0.0828
QIN(119,I)=0.0
PEQIN(119,I)=0.5
if(NANISO == 2):
PEQIN(119,I)=0.0
if(EN <= EIN(119):
) GO TO 816
if(EN > XSNG13(NSNG13):
) GO TO 8155
DO 814 J=2,NSNG13
if(EN <= XSNG13[J]:
) GO TO 815
814 CONTINUE
J=NSNG13
815 A=(YSNG13[J]-YSNG13[J-1])/(XSNG13[J]-XSNG13[J-1])
B=(XSNG13[J-1]*YSNG13[J]-XSNG13[J]*YSNG13[J-1])/(XSNG13[J-1]-XSNG13[J])
QIN(119,I)=(A*EN+B)*1.e-16
A=(YSG13M[J]-YSG13M[J-1])/(XSNG13[J]-XSNG13[J-1])
B=(XSNG13[J-1]*YSG13M[J]-XSNG13[J]*YSG13M[J-1])/(XSNG13[J-1]-XSNG13[J])
RAT=A*EN+B
GO TO 8156
# USE BEF SCALING
8155 QIN(119,I)=.0828/(EIN(119)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(119)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(119)+E[3])
RAT=YSG13M(NSNG13)*(XSNG12(NSNG13)/EN)
8156 if(EN <= (3.0*EIN(119))) GO TO 816
if(NANISO == 1):
PEQIN(119,I)=1.5-RAT
if(NANISO == 2):
PEQIN(119,I)=PEQEL[2][(I-IOFFN(119)])
816 CONTINUE
# C# 1SIG (SUM V=4-6) (AVERAGE E=14.090) F=0.139
QIN(120,I)=0.0
PEQIN(120,I)=0.5
if(NANISO == 2):
PEQIN(120,I)=0.0
if(EN <= EIN(120):
) GO TO 819
if(EN > XSNG14(NSNG14):
) GO TO 8185
DO 817 J=2,NSNG14
if(EN <= XSNG14[J]:
) GO TO 818
817 CONTINUE
J=NSNG14
818 A=(YSNG14[J]-YSNG14[J-1])/(XSNG14[J]-XSNG14[J-1])
B=(XSNG14[J-1]*YSNG14[J]-XSNG14[J]*YSNG14[J-1])/(XSNG14[J-1]-XSNG14[J])
QIN(120,I)=(A*EN+B)*1.e-16
A=(YSG14M[J]-YSG14M[J-1])/(XSNG14[J]-XSNG14[J-1])
B=(XSNG14[J-1]*YSG14M[J]-XSNG14[J]*YSG14M[J-1])/(XSNG14[J-1]-XSNG14[J])
RAT=A*EN+B
GO TO 8186
# USE BEF SCALING
8185 QIN(120,I)=0.1390/(EIN(120)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(120)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(120)+E[3])
RAT=YSG14M(NSNG14)*(XSNG14(NSNG14)/EN)
8186 if(EN <= (3.0*EIN(120))) GO TO 819
if(NANISO == 1):
PEQIN(120,I)=1.5-RAT
if(NANISO == 2):
PEQIN(120,I)=PEQEL[2][(I-IOFFN(120)])
819 CONTINUE
#
# B# 1SIG (V=11-24)
QIN(121,I)=0.0
PEQIN(121,I)=0.5
if(NANISO == 2):
PEQIN(121,I)=0.0
if(EN <= EIN(121):
) GO TO 829
if(EN > XSNG15(NSNG15):
) GO TO 8285
DO 827 J=2,NSNG15
if(EN <= XSNG15[J]:
) GO TO 828
827 CONTINUE
J=NSNG15
828 A=(YSNG15[J]-YSNG15[J-1])/(XSNG15[J]-XSNG15[J-1])
B=(XSNG15[J-1]*YSNG15[J]-XSNG15[J]*YSNG15[J-1])/(XSNG15[J-1]-XSNG15[J])
QIN(121,I)=(A*EN+B)*1.e-16
A=(YSG15M[J]-YSG15M[J-1])/(XSNG15[J]-XSNG15[J-1])
B=(XSNG15[J-1]*YSG15M[J]-XSNG15[J]*YSG15M[J-1])/(XSNG15[J-1]-XSNG15[J])
RAT=A*EN+B
GO TO 8286
# USE BEF SCALING F=0.265
8285 QIN(121,I)=0.2650/(EIN(121)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(121)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(121)+E[3])
RAT=YSG15M(NSNG15)*(XSNG15(NSNG15)/EN)
8286 if(EN <= (3.0*EIN(121))) GO TO 829
if(NANISO == 1):
PEQIN(121,I)=1.5-RAT
if(NANISO == 2):
PEQIN(121,I)=PEQEL[2][(I-IOFFN(121)])
829 CONTINUE
# E# 1SIG ELOSS=14.36EV F=0.0108
QIN(122,I)=0.0
PEQIN(122,I)=0.5
if(NANISO == 2):
PEQIN(122,I)=0.0
if(EN <= EIN(122):
) GO TO 895
# USE BEF SCALING
QIN(122,I)=0.0108/(EIN(122)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(122)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(122)+E[3])
if(QIN(122,I):
< 0.0) QIN(122,I)=0.0
#
PEQIN(122,I)=PEQIN(121,I)
895 CONTINUE
# E 1PI ELOSS=14.45EV F=0.0237
QIN(123,I)=0.0
PEQIN(123,I)=0.5
if(NANISO == 2):
PEQIN(123,I)=0.0
if(EN <= EIN(123):
) GO TO 896
# USE BEF SCALING
QIN(123,I)=0.0237/(EIN(123)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(123)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(123)+E[3])
if(QIN(123,I):
< 0.0) QIN(123,I)=0.0
#
PEQIN(123,I)=PEQIN(121,I)
896 CONTINUE
# SINGLET ELOSS=14.839EV F=0.0117
QIN(124,I)=0.0
PEQIN(124,I)=0.5
if(NANISO == 2):
PEQIN(124,I)=0.0
if(EN <= EIN(124):
) GO TO 897
# USE BEF SCALING
QIN(124,I)=0.0117/(EIN(124)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(124)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(124)+E[3])
if(QIN(124,I):
< 0.0) QIN(124,I)=0.0
#
PEQIN(124,I)=PEQIN(121,I)
897 CONTINUE
# SUM OF HIGH ENERGY SINGLETS ELOSS=15.20EV F=0.1152
QIN(125,I)=0.0
PEQIN(125,I)=0.5
if(NANISO == 2):
PEQIN(125,I)=0.0
if(EN <= EIN(125):
) GO TO 898
# USE BEF SCALING
QIN(125,I)=0.1152/(EIN(125)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(125)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(125)+E[3])
if(QIN(125,I):
< 0.0) QIN(125,I)=0.0
#
PEQIN(125,I)=PEQIN(121,I)
898 CONTINUE
# SUM NEUTRAL BREAKUP ABOVE IONISATION ENERGY F=0.160
QIN(126,I)=0.0
PEQIN(126,I)=0.5
if(NANISO == 2):
PEQIN(126,I)=0.0
if(EN <= EIN(126):
) GO TO 899
# USE BORN SCALING AND FACTOR TO GIVE TRIPLET+DIPOLE CONTRIBUTION
QIN(126,I)=0.1600/(EIN(126)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(126)))-BETA2-DEN[I]/2.0)*BBCONST*(EN+2.0*EIN(126))/EN
if(QIN(126,I):
< 0.0) QIN(126,I)=0.0
PEQIN(126,I)=PEQIN(121,I)
# SUM NEUTRAL BREAKUP ABOVE IONISATION ENERGY F=0.090
899 QIN(127,I)=0.0
PEQIN(127,I)=0.5
if(NANISO == 2):
PEQIN(127,I)=0.0
if(EN <= EIN(127):
) GO TO 8999
# USE BORN SCALING AND FACTOR TO GIVE TRIPLET+DIPOLE CONTRIBUTION
QIN(127,I)=0.0900/(EIN(127)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(127)))-BETA2-DEN[I]/2.0)*BBCONST*(EN+2.0*EIN(127))/EN
if(QIN(127,I):
< 0.0) QIN(127,I)=0.0
PEQIN(127,I)=PEQIN(121,I)
8999 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTION
QIN(128,I)=0.0
if(EN <= 1000.):
GO TO 8969
DO 8961 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 8962
8961 CONTINUE
J=NBREM
8962 A=(math.log(Z7T[J])-math.log(Z7T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z7T[J])*EBRM[J-1]-math.log(Z7T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN(128,I)=math.exp(A*EN+B)*2.e-24
8969 CONTINUE
# ROTATIONAL SUM
SUMR=0.0
DO 8990 K=1,76
SUMR=SUMR+QIN(K,I)
8990 CONTINUE
# VIBRATIONAL SUM
SUMV=0
DO 8991 K=77,92
SUMV=SUMV+QIN(K,I)
8991 CONTINUE
# EXCITATION SUM
SUMEX=0.0
DO 8992 K=93,111
SUMEX=SUMEX+QIN(K,I)
8992 CONTINUE
# EXCITATION SUM
SUMEX1=0.0
DO 8993 K=112,127
SUMEX1=SUMEX1+QIN(K,I)
8993 CONTINUE
# GET CORRECT ELASTIC XSECTION BY SUBTRACTION OF ROTATION
Q[2][I]=Q[2][I]-SUMR
# FOR VERY HIGH TEMPERATURES SOMETIMES SUMR BECOMES LARGER THAN
# THE ELASTIC+ROT (ONLY IN FIRST TWO ENERGY BINS) FIX GT 0
if(Q[2][I]:
<= 0.0) :
Q[2][I]=0.95e-16
# endif
Q[1][I]=Q[2][I]+Q[5][I]+QION[2][I]+SUMR+SUMV+SUMEX+SUMEX1
# Q[1][I]=Q[2][I]+Q[5][I]+QION[2][I]+SUMR+SUMV+SUMEX+SUMEX1+QIN(127,I)
# CAN PRINT OUT X-SECTION DATA
# SUMR=SUMR*1.D16
# SUMV=SUMV*1.D16
# SUMEX=SUMEX*1.D16
# SUMEX1=SUMEX1*1.D16
# SUMVEX=SUMV+SUMEX+SUMEX1
# SUMVEXI=SUMVEX+Q[5][I]*1.D16
# WRITE(6,8769) EN,SUMR,SUMV,SUMEX,SUMEX1,SUMVEX,SUMVEXI
#8769 print(' EN=','%.3f' % ,' SUMR=','%.3f' % ,' SUMV=','%.3f' % ,' SUMEX=','%.3f' % ,' SU
# /MEX1=','%.3f' % ,' SUMVEX=','%.3f' % ,' TOT=','%.3f' % )
# WRITE(6,8770) EN,QION[1][I],QION[2][I],Q[5][I]
#8770 print(' EN=','%.4f' % ,' QION1=','%.4f' % ,' QION2=','%.4f' % ,' Q5=','%.4f' % )
# PRINT IONISATION DATA
# SUMN2P=QION[1][I]+QION[2][I]+QION[3][I]+QION[4][I]+QION[5][I]+QION[6][I]
# /+QION[7][I]
# SUMNP=QION[8][I]+QION[9][I]+QION[10][I]
# SUMITOT=SUMNP+SUMN2P+QION[11][I]+QION[12][I]
# WRITE(6,8771) EN,SUMN2P,SUMNP,QION[11][I],QION[12][I],SUMITOT
#8771 print(' EN=','%.4f' % ,' N2+ =','%.4f' % ,' N++ =','%.4f' % ,' N+,N+=','%.4f' % ,
# /' KSHELL=','%.4f' % ,' TOT=','%.4f' % )
# WRITE(6,8772) EN,( QION[J][I],J=1,12)
#8772 print(' EN=','%.4f' % ,/,2X,6('%.4f' % ,2X),/,2X,(6'%.4f' % ,2X))
900 CONTINUE
# STOP
# SAVE COMPUTE TIME
DO 1000 K=1,127
J=128-K
if(EFINAL <= EIN[J]:
) NIN=J-1
1000 CONTINUE
if(NIN < 77):
NIN=77
if(EFINAL > 1000.):
NIN=128
#
return
# end
def GAS17(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS18(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS19(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS20(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS21(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XELM(172),YELM(172),YELT(172),YEPS(172),XROT0[53],YROT0[53],XROT1[43],YROT1[43],XROT2[28],YROT2[28],XROT3[28],YROT3[28],XVIB1[43],YVIB1[43],XVIB2[42],YVIB2[42],XVIB3[13],YVIB3[13],XVIB4[12],YVIB4[12],XB3S1[3],YB3S1[3],XB3S2[6],YB3S2[6],XB3S3[5],YB3S3[5],XB3S4[8],YB3S4[8],XC3PI[5],YC3PI[5],XA3SG[5],YA3SG[5],XE3SG[5],YE3SG[5],XEFSG[34],YEFSG[34],XATT[18],YATT[18],XION(92),YION(92),XIOND[61],YIOND[61],IOFFN(107),IOFFION[2],PJ[7],ERLVL[7],BEF[10]
DIMENSION DISLY[37],DISWR[14],DISD1P[16],DISB1S[9]
DIMENSION Z1T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
# --------------------------------------------------------------
# ELASTIC MT
XELM=[0.00,.001,.0012,.0015,.0018,.002,.0025,.003,.004,.005,.006,.007,.008,.009,.010,.012,.015,.018,.020,.025,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.12,0.15, 0.18,0.20,0.25,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.20,1.50,1.80,2.00,2.50,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.0,12.0,15.0,18.0,20.0,25.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
YELM=[7.24,7.25,7.26,7.26,7.27,7.28,7.30,7.35,7.38,7.45,7.48,7.54,7.59,7.64,7.70,7.78,7.90,8.04,8.14,8.33,8.56,8.93,9.27,9.54,9.79,10.04,10.25,10.47,10.86,11.35,11.78,12.02,12.54,13.00,13.81,14.52,15.16,15.66,16.17,16.58,17.01,17.70,18.05,18.05,17.70,16.60,15.35,12.85,10.90,9.450,8.20,7.20,6.30,5.60,4.45,3.275,2.529,2.154,1.476,1.100,.702,.505,.375,.295,.238,.195,.170,.116,.0868,.0662,.0524,.0353,.0256,.0195,.0154,.0125,.0103,.00747,.00567,.00446,.00361,.00299,.0020,.00144,.00109,8.53e-4,5.69e-4,4.08e-4,3.08e-4,2.41e-4,1.94e-4,1.60e-4,1.15e-4,8.65e-5,6.77e-5,5.45e-5,4.49e-5,2.98e-5,2.13e-5,1.60e-5,1.26e-5,8.34e-6,5.97e-6,4.51e-6,3.54e-6,2.86e-6,2.36e-6,1.70e-6,1.29e-6,1.02e-6,8.26e-7,6.86e-7,4.65e-7,3.40e-7,2.62e-7,2.09e-7,1.44e-7,1.07e-7,8.37e-8,6.76e-8,5.62e-8,4.76e-8,3.58e-8,2.82e-8,2.30e-8,1.92e-8,1.63e-8,1.15e-8,8.67e-9,6.80e-9,5.49e-9,3.83e-9,2.84e-9,2.20e-9,1.76e-9,1.44e-9,1.20e-9,8.79e-10,6.72e-10,5.31e-10,4.31e-10,3.57e-10,2.39e-10,1.72e-10,1.30e-10,1.02e-10,6.74e-11,4.81e-11,3.61e-11,2.81e-11,2.25e-11,1.85e-11,1.31e-11,9.76e-12,7.57e-12,6.04e-12,4.93e-12,3.20e-12,2.24e-12,1.66e-12,1.27e-12,8.18e-13,5.70e-13,4.19e-13,3.21e-13,2.54e-13,2.06e-13,1.43e-13,1.05e-13,8.06e-14,6.37e-14,5.16e-14]
# ELASTIC ANGULAR DISTRIBUTION def EPSILON
# EPSILON =1-YEPS
YEPS=[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.00204,1.00406,1.00403,1.00402,1.00799,1.01195,1.01587,1.01974,1.02548,1.03497,1.04613,1.05537,1.07162,1.09485,1.11355,1.13538,1.15360,1.16779,1.18516,1.19550,1.20711,1.22691,1.25186,1.27686,1.29241,1.29958,1.33194,1.36128,1.39254,1.42965,1.43614,1.42939,1.42749,1.44093,1.43942,1.39970,1.34691,1.29121,1.15375,1.03498,0.81607,0.68293,0.59997,0.53826,0.48433,0.43796,0.41063,0.36112,0.31690,0.28482,0.26105,0.20648,0.18652,0.14951,0.13589,0.11425,0.10223,0.09743,0.08175,0.08042,0.06877,0.06127,0.05204,0.04596,0.03674,0.02996,0.02695,0.02487,0.02173,0.01973,0.01733,0.01536,0.01371,.012395,.011378,.009183,.007832,.006527,.005948,.004772,.004142,.003545,.003086,.002742,.002452,.002049,.001748,.001525,.001351,.001215,.0009666,.0007993,.0006810,5.977e-4,4.724e-4,3.896e-4,3.326e-4,2.893e-4,2.544e-4,2.282e-4,1.866e-4,1.581e-4,1.370e-4,1.199e-4,1.066e-4,8.29e-5,6.72e-5,5.63e-5,4.80e-5,3.65e-5,2.91e-5,2.40e-5,2.02e-5,1.73e-5,1.50e-5,1.17e-5,9.40e-6,7.77e-6,6.54e-6,5.59e-6,3.98e-6,2.99e-6,2.33e-6,1.87e-6,1.28e-6,9.38e-7,7.15e-7,5.64e-7,4.56e-7,3.77e-7,2.70e-7,2.02e-7,1.57e-7,1.26e-7,1.03e-7,6.74e-8,4.74e-8,3.52e-8,2.72e-8,1.76e-8,1.23e-8,9.05e-9,6.95e-9,5.50e-9,4.46e-9,3.10e-9,2.28e-9,1.74e-9,1.37e-9,1.11e-9,7.04e-10,4.85e-10,3.53e-10,2.67e-10,1.68e-10,1.15e-10,8.3D-11,6.3D-11,4.9D-11,4.0D-11,2.7D-11,2.0D-11,1.5D-11,1.2D-11,9.0D-12]
# ELASTIC FROM 100EV
YELT=[7.24,7.25,7.26,7.26,7.27,7.28,7.30,7.36,7.40,7.43,7.46,7.50,7.53,7.56,7.60,7.65,7.72,7.80,7.85,7.95,8.05,8.30,8.50,8.65,8.80,8.93,9.06,9.19,9.42,9.70,9.92,10.03,10.42,10.60,11.07,11.43,11.68,12.02,12.46,12.79,13.02,13.56,14.15,14.59,14.78,15.05,15.00,14.66,13.90,13.05,12.10,11.33,10.54,9.744,8.375,6.678,5.508,4.952,3.931,3.125,2.299,1.760,1.465,1.241,1.034,0.954,0.841,0.639,0.518,0.443,.383,.303,.255,.210,.176,.158,.140,.112,.0932,.0800,.070,.062,.049,.040,.035,.0295,.0235,.0189,.0162,.0142,.0126,.0114,.00951,.00817,.00717,.00639,.00576,.00464,.00390,.00336,.00296,.00240,.00203,.00176,.00156,.00141,.00128,.00110,9.66e-4,8.67e-4,7.90e-4,7.28e-4,6.17e-4,5.44e-4,4.91e-4,4.52e-4,3.98e-4,3.63e-4,3.38e-4,3.19e-4,3.05e-4,2.94e-4,2.77e-4,2.66e-4,2.58e-4,2.52e-4,2.47e-4,2.39e-4,2.34e-4,2.31e-4,2.28e-4,2.25e-4,2.23e-4,2.22e-4,2.22e-4,2.21e-4,2.21e-4,2.20e-4,2.20e-4,2.20e-4,2.19e-4,2.19e-4,2.19e-4,2.19e-4,2.19e-4,27*2.188e-4]
#-----------------------------------------------------------------------
# ROTATION J=0-2
# SCALED BY 1/E ABOVE 20 EV IN def
XROT0=[.043928,.046,.047,.048,.049,.050,.051,.054,.055,.060, .065,.070,.080,.090,0.10,0.11,0.12,0.13,0.14,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65, 0.70,0.80,0.90,1.00,1.10,1.20,1.35,1.50,1.75,2.00,2.50,3.00,3.50,4.00,4.50,5.00,6.00,7.00,8.00,9.00, 10.0,15.0,20.0]
YROT0=[0.00,.0206,.0276,.0286,.0297,.0308,.0310,.0330,.0340,.0394, .0452,.0507,.0614,.0680,.0740,.0790,.0835,.088,.0925,.0970,.115,.132,.152,.175,.200,.228,.260,.291,.323,.359, .394,.469,.555,.636,.716,.796,.916,1.036,1.203,1.370,1.585,1.704,1.755,1.758,1.732,1.689,1.579,1.462,1.350,1.248, 1.156,0.730,0.47]
#-----------------------------------------------------------------------
# ROTATION J=1-3
# SCALED BY 1/E ABOVE 20 EV IN def
XROT1=[0.072741,.075,.080,.085,.090,.095,0.10,0.11,0.12,0.13,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.56,0.60, 0.66,0.70,0.80,0.90,1.01,1.20,1.40,1.60,1.80,2.00, 2.50,3.00,3.50,4.00,4.50,5.00,6.00,7.00,8.00,9.00, 10.0,15.0,20.0]
YROT1=[0.00,.0085,.0149,.0203,.0238,.0266,.0282,.0351,.0403, .0449,.0520,.0604,.0719,.0870,.1029,.1191,.1361,.1543,.1773,.1944,.2212,.2396,.2839,.3328,.3842,.489,.569,.658,.743,.818, .952,1.020,1.046,1.050,1.036,1.011,.946,.876,.809,.748, .694,.440,.288]
#-----------------------------------------------------------------------
# ROTATION J=2-4
# SCALED BY 1/E ABOVE 20 EV IN def
XROT2=[0.10085,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.60, 0.70,0.80,0.90,1.00,1.50,2.00,2.50,3.00,3.50,4.00, 4.50,5.00,5.50,6.00,7.00,8.00,10.0,20.0]
YROT2=[0.00,.0249,.0367,.0475,.0577,.0694,.0834,.1003,.1192, .145,.178,.216,.256,.299,.436,.543,.600,.649,.670,.672, .662,.646,.627,.605,.561,.517,.444,0.20]
# ROTATION J=4-6 USE X-SECTION FOR J=2-4 SCALED BY 0.8
# ROTATION J=6-8 USE X-SECTION FOR J=2-4 SCALED BY 0.5
#-----------------------------------------------------------------------
# ROTATION J=3-5
# SCALED BY 1/E ABOVE 20 EV IN def
XROT3=[0.12797,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.60,0.70,0.80,0.90,1.00,1.50,2.00,2.50,3.00,3.50,4.00, 4.50,5.00,5.50,6.00,7.00,8.00,10.0,20.0]
YROT3=[0.00,.019,.033,.043,.050,.058,.066,.075,.085,.104, .128,.154,.185,.214,.334,.565,.700,.750,.825,.828, .818,.797,.774,.747,.692,.640,.548,0.24]
# ROTATION J=5-7 USE X-SECTION FOR J=3-5 SCALED BY 0.8
# ROTATION J=7-9 USE X-SECTION FOR J=3-5 SCALED BY 0.5
#-----------------------------------------------------------------------
# VIBRATION V=0-1 DELTAJ=0 ROTATIONALLY ELASTIC
# SCALE AS 1/E ABOVE 100 EV
XVIB1=[.515916,0.56,0.58,0.60,0.65,0.75,0.85,0.95,1.00,1.05, 1.10,1.15,1.20,1.30,1.40,1.60,1.80,2.20,2.40,2.60, 3.00,3.50,4.00,4.50,5.00,6.00,7.00,8.00,9.00,10.0, 11.0,12.0,13.0,14.0,15.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
YVIB1=[0.00,.0005,.0031,.0064,.0071,.0106,.0170,.0279,.0342, .0399,.0451,.0501,.0545,.0651,.0735,.0964,.1216,.1624,.1677,.1719,.1916,.2008,.1860,.1630,.1460,.1160,.0876,.0655,.0510,.0430,.0366,.0318,.0280,.0241,.0222,.0143,.0104,.0073,.0048,.00416,.00351,.00262,.00194]
#-----------------------------------------------------------------------
# VIBRATION V=0-1 DELTAJ=2 ROTATIONALLY INELASTIC
# SCALE AS 1/E ABOVE 100 EV
XVIB2=[.568,.575,0.60,0.65,0.75,0.85,0.95,1.00,1.05,1.10,1.15,1.20,1.30,1.40,1.60,1.80,2.20,2.40,2.60,3.00, 3.50,4.00,4.50,5.00,6.00,7.00,8.00,9.00,10.0,11.0, 12.0,13.0,14.0,15.0,20.0,25.0,30.0,40.0,50.0,60.0,80.0,100.]
YVIB2=[0.00,.0002,.0016,.0028,.0058,.0110,.0204,.0264,.0316,.0369,.0423,.0477,.0602,.0697,.0994,.1334,.1910,.2008,.2141,.2494,.2672,.2540,.2270,.2040,.1640,.1224,.0905,.0690,.0570,.0484, .0422,.0370,.0319,.0294,.0189,.0138,.0097,.0064,.00552,.00466,.00347,.00257]
#-----------------------------------------------------------------------
# VIBRATION V=0-2
XVIB3=[1.00265,1.40,1.50,2.00,2.50,3.00,4.00,5.00,6.00,8.00,10.0,15.0,20.0]
YVIB3=[0.00,.001,.002,.011,.025,.033,.035,.032,.027,.021,.016,.0092,.0066]
#-----------------------------------------------------------------------
# VIBRATION V=0-3
XVIB4=[1.46083,1.80,2.00,2.50,3.00,4.00,5.00,6.00,8.00,10.0,15.0,20.0]
YVIB4=[.0,.0003,.001,.0025,.0033,.0035,.0032,.0027,.0021,.0016,.00092,.00066]
# B3 SIGMA+ 100% DISSOCIATIVE SPLIT INTO 4 ENERGY LOSSES
# SCALED BY1/E**3 ABOVE 50.0EV
XB3S1=[8.00,9.20,9.20001]
YB3S1=[0.00,.109,0.00]
XB3S2=[9.00,9.20,9.20001,10.2,12.2,12.20001]
YB3S2=[0.00,0.00,.109,.187,.445,0.00]
XB3S3=[9.50,12.2,12.20001,15.2,15.20001]
YB3S3=[0.00,0.00,.445,0.63,0.00]
XB3S4=[10.0,15.2,15.20001,17.2,20.2,30.0,40.0,50.0]
YB3S4=[0.00,0.00,0.63,.516,.353,.153,.069,.035]
# C3 PI V=0-18 SUMMED VIBRATIONS METASTABLE LEVEL
# SCALED BY 1/E**3 ABOVE 30 EV
XC3PI=[11.779,15.0,17.5,20.0,30.0]
YC3PI=[0.00,0.09,.126,.135,.072]
# A3 SIGMA V=0-17 SUMMED VIBRATIONS
# SCALED BY 1/E**3 ABOVE 30 EV
XA3SG=[11.793,15.0,17.5,20.0,30.0]
YA3SG=[0.00,.072,.081,0.09,.027]
# E3 SIGMA V=0-10 SUMMED VIBRATIONS
# SCALED BY 1/E**3 ABOVE 30 EV
XE3SG=[13.253,15.0,17.5,20.0,30.0]
YE3SG=[0.00,.0108,.018,.0225,.0117]
# EF1 SIGMA V=0-19 SUMMED VIBRATIONS
# BORN SCALED ABOVE XEFSG(NEFSG) EV
XEFSG=[12.301,15.0,16.0,17.0,17.5,19.0,20.0,21.0,23.5,26.0,30.0,40.0,50.0,60.0,70.0,80.0,100.,120.,140.,160.,180.,200.,220.,240.,260.,280.,300.,400.,500.,600.,700.,800.,900.,1000.]
YEFSG=[0.00,.028,.033,.037,.038,.039,.040,.040,.040,.040,.040,.041,.041,.039,.036,.034,.029,.026,.024,.022,.021,.020,.019,.018,.017,.016,.015,.012,.0096,.0080,.0069,.0061,.0054,.0049]
# GROUND STATE CONTINUUM FRACTIONS FROM STEPHENS AND DALGARNO:
# NEUTRAL DISSOCIATION FRACTION FOR LYMAN BAND - GROUND STATE CONTINUUM
DISLY=[3.01e-9,6.58e-9,1.35e-5,1.16e-4,1.48e-3,.0171,.0309,.211,.291,.415,.410,.407,.523,.511,.542,.558,.554,.601,.608,.634,.637,.643,.651,.659,.677,.691,.712,.730,.753,.774,.795,.816,.842,.873,.911,.956,.995]
# NEUTRAL DISSOCIATION FRACTION FOR WERNER BAND - GROUND STATE CONTINUUM
DISWR=[1.57e-11,1.10e-10,2.40e-9,2.03e-8,2.04e-6,7.44e-6,6.75e-4,1.45e-3,.0372,.0643,.377,.425,.642,.825]
# DISSOCIATION FRACTIONS FROM GLASS-MAUJEAN:
# B#1SIGMA
DISB1S=[1.41e-8,4.77e-8,5.82e-8,1.99e-7,1.05e-6,4.24e-5,.065,.152,.451]
# D1PI
DISD1P=[5.95e-9,1.39e-8,1.85e-8,3.96e-8,2.47e-6,2.02e-5,7.74e-4,.0039,.0371,.103,.357,.481,.527,.638,.859,.870]
#
# NEUTRAL
# B1 SIGMA OSCILLATOR SUM V=0-36 F=0.310770
# C1 PI OSCILLATOR SUM V=0-13 F=0.355995
# B#1 SIGMA OSCILLATOR SUM V=0-8 F=0.044610
# D1 PI OSCILLATOR SUM V=0-15 F=0.074070
# B##1 SIGMA OSCILLATOR SUM V=0-6 F=0.022300
# D#1 PI OSCILLATOR SUM V=0-3 F=0.014500
# B###1 SIGMA + D##1 PI OSCILLATOR SUM F=0.014500
# B####1 SIGMA + D###1 PI OSCILLATOR SUM F=0.010100
# B#####1 SIGMA + D####1 PI OSCILLATOR SUM F=0.005000
# CONTINUUM EXCITATION F=0.026800
# PREDISSOCIATION F=0.017000
#
# SUM EXCITATION OSCILLATOR F=0.895645
# SUM IONISATION OSCILLATOR F=1.1219
# TOTAL OSCILLATOR SUM F=2.017545
#-----------------------------------------------------------------------
# ATTACHMENT GIVEN AS TABLES AND AS A TEMPERATURE DEP# endENT def
#
# TABLES FOR 2SIGMAg ATTACHMENT
XATT=[7.00,7.50,8.00,8.50,9.00,9.50,10.0,10.4,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5]
YATT=[0.00,2.8D-6,1.18e-5,3.08e-5,5.88e-5,1.01e-4,1.18e-4,1.29e-4,1.18e-4,1.01e-4,7.28e-5,4.48e-5,2.66e-5,1.26e-5,6.72e-6,3.20e-6,8.0D-7,0.0]
# TOTAL IONISATION
# SEE NOTES BELOW ON DERIVATION OF TOTAL IONISATION X-SECTION
XION=[15.418,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0, 20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0, 25.5,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0, 50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0, 100.,105.,110.,115.,120.,125.,130.,135.,140.,145., 150.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
YION=[0.00,.0295,.0598,.0910,.121,.154,.184,.217,.245,.276, .305,.331,.357,.384,.407,.433,.454,.477,.498,.516, .536,.555,.623,.678,.725,.765,.800,.828,.853,.900, .927,.945,.954,.957,.957,.956,.950,.944,.934,.920, .910,.902,.890,.878,.865,.851,.840,.832,.818,.809, .801,.776,.725,.687,.645,.605,.565,.537,.484,.443,.404,.379,.343,.322,.307,.287,.276,.261,.251,.239,.226,.214,.199,.165,.146,.133,.121,.101,.0865,.0754,.0675,.0610,.0558,.0515,.0480,.0422,.0375,.0340,.0310,.0265,.0234,.0208]
# DISSOCIATIVE IONISATION X-SECTION STRAUB WITH EXTENSION TO 16KEV
# USE CONSTANT RATIO FOR H2+ AND H+ ABOVE 1KEV
XIOND=[18.076,25.0,30.0,35.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,110.,120.,140.,160.,180.,200.,225.,250.,275.,300.,350.,400.,450.,500.,550.,600.,650.,700.,750.,800.,850.,900.,950.,1000.,1200.,1400.,1600.,1800.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,5500.,6000.,7000.,8000.,9000.,10000.,12000.,14000.,16000.]
YIOND=[0.00,.00422,.00856,.0176,.0287,.0408,.0482,.0572,.0625,.0682,.0705,.0737,.0739,.0751,.0754,.0761,.0759,.0744,.0724,.0671,.0639,.0592,.0545,.0505,.0450,.0412,.0392,.0339,.0294,.0260,.0241,.0211,.0197,.0181,.0171,.0159,.0149,.0137,.0135,.0125,.0117,.0109,.00902,.00798,.00727,.00662,.00552,.00473,.00412,.00369,.00333,.00305,.00282,.00262,.00231,.00205,.00186,.00169,.00145,.00128,.00114]
# BREMSSTRAHLUNG X-SECTION WITH CUT OFF UNITS 10**-24
Z1T=[11.3,6.18,2.80,1.54,.858,.407,.251,.176,.145,.150,.167,.178,.187,.193,.198,.205,.210,.218,.222,.228,.231,.233,.234,.235,.235]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
#***********************************************************************
# IONISATION FROM WEIGHTED AVERAGE OF RAPP AND STRAUB UP TO 180EV
# NORMALISED STRAUB BETWEEN 180 AND 1000EV : NORMALISED SCHRAM
# BETWEEN 1 AND 16KEV.
# ABOVE 16KEV USED BORN-BETHE WITH M2=0.642 AND C=8.3 CLOSE FIT TO
# RIEKE AND PREPEJCHAL AND CONSISTENT WITH BERKOWITZ
# USE ORTHO IONISATION ENERGY AT ROOM TEMPERATURE
# DISSOCIATION ENERGY 0=4.47806952 EV
# ORTHO PARA ENERGY DIFFERENCE J=0 - J=1 FOR GROUND STATE =0.01469049 EV
#
# OSCILLATOR STRENGTHS FROM BERKOWITZ WITH SMALL CORRECTIONS FOR NEW
# IMPROVED FRANCK-CONDON FACTORS FOR LYMAN (B1 SIGMA) AND WERNER (C1 PI)
# TRIPLET X-SECTIONS FROM PUBLISHED ELECTRON SCATTERING UP TO 2010.
# LOWEST TRIPLET DISSOCIATIVE STATE (B3 SIGMA) SPLIT INTO FOUR LEVELS IN
# ORDER TO BETTER SIMULATE VARYING ENERGY LOSS.
# TRIPLET X-SECTIONS SCALED BY 0.9 TO BETTER FIT TOWNS# end COEFICIENT.
# TRIPLET SCALING FACTOR WITHIN EXPERIMENTAL MEASUREMENT ERRORS.
# ATTACHMENT X-SECTION INCLUDES TEMPERATURE DEP# endENCE FROM ROTATIONAL
# POPULATION SHOULD BE ACCURATE UP TO 1000 KELVIN.
# MOMENTUM TRANSFER ELASTIC X-SECTION FROM SCHMIDT UP TO 1.0 EV , ABOVE
# 1.0 EV X-SECTION FROM FIT TO DRIFT VELOCITY.
# FIT TO WITHIN EXPERIMENTAL ERRORS OF DRIFT VELOCITY AND DIFFUSION FROM
# TABLE 14.6 OF HUXLEY AND CROMPTON.
# SOME EVIDENCE OF ELECTRON RUNAWAY ABOVE 300 TOWNS# end FROM CALCULATION.
#-----------------------------------------------------------------------
# 2015 UPDATE INCLUDES DISSOCIATIVE IONISATION AND Q STATES TO NEUTRALS
#-----------------------------------------------------------------------
if(NANISO == 0):
:
NAME=' H2 ISOTROPIC 2015 '
else:
NAME=' H2 ANISOTROPIC 2015 '
# endif
# ----------------------------------------------------------------------
#
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
# BORN-BETHE CONSTANTS FOR IONISATION
AM2=0.642
C=8.30
#-----------------------------------------------------------------------
NION=2
NATT=1
NIN=107
NNULL=0
IONMODEL=0
# ARRAY SIZE
NASIZE=20000
#
NBREM=25
DO 11 J=1,NIN
IZBR[J]=0
11 CONTINUE
IZBR(108)=1
#
DO 1 J=1,6
1 KEL[J]=NANISO
DO 2 J=5,NIN
2 KIN[J]=NANISO
# SET SUPERELASTIC TO ISOTROPIC ( X-SEC ZERO ABOVE 20EV)
DO 22 J=1,4
22 KIN[J]=0
NELM=172
NROT0=53
NROT1=43
NROT2=28
NROT3=28
NVIB1=43
NVIB2=42
NVIB3=13
NVIB4=12
NB3S1=3
NB3S2=6
NB3S3=5
NB3S4=8
NC3PI=5
NA3SG=5
NE3SG=5
NEFSG=34
NIONG=92
NIOND=61
NATT1=18
#
E[1]=0.0
E[2]=2.0*EMASS/(2.015650*AMU)
# IONISATION ENERGY FOR PARA =15.42580155 EV
# IONISATION ENERGY FOR ORTHO=15.41833111 EV
# USE ORTHO ENERGY FOR ROOM TEMPERATURE GAS
E[3]=15.418
EION[1]=E[3]
# DISSOCIATIVE IONISATION THRESHOLD
EION[2]=18.076
#
E[4]=0.0
E[5]=0.0
E[6]=0.0
# OPAL BEATY FOR LOW ENERGY
ESCOBY=0.5
EOBY[1]=EION[1]*ESCOBY
EOBY[2]=EION[2]*ESCOBY
# EOBY[1]=6.5
# FLUORESENCE DATA
DO 24 J=1,2
LEGAS[J]=0
ISHELL[J]=0
NC0[J]=0
EC0[J]=0.0
WKLM[J]=0.0
EFL[J]=0.0
NG1[J]=0
EG1[J]=0.0
NG2[J]=0
EG2[J]=0.0
24 CONTINUE
# OFFSET ENERGY FOR IONISATION ANGULAR DISTRIBUTION
DO 49 J=1,NION
DO 48 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 49
# endif
48 CONTINUE
49 CONTINUE
#
EIN[1]=-.043928
EIN[2]=-.072741
EIN[3]=-.10085
EIN[4]=-.12797
EIN[5]=0.043928
EIN[6]=0.072741
EIN[7]=0.10085
EIN[8]=0.12797
EIN[9]=0.515916
EIN[10]=0.568
EIN[11]=1.00265
EIN[12]=1.46083
# b3 SIGMA+ DISSOCIATION SPLIT INTO 4 ENERGY LOSSES
EIN[13]=8.0
EIN[14]=9.0
EIN[15]=9.5
EIN[16]=10.0
# B1 SIGMA+ LYMAN BANDS
EIN[17]=11.189
EIN[18]=11.353
EIN[19]=11.512
EIN[20]=11.666
EIN[21]=11.817
EIN[22]=11.963
EIN[23]=12.105
EIN[24]=12.244
EIN[25]=12.378
EIN[26]=12.509
EIN[27]=12.636
EIN[28]=12.759
EIN[29]=12.878
EIN[30]=12.994
EIN[31]=13.106
EIN[32]=13.215
EIN[33]=13.320
EIN[34]=13.422
EIN[35]=13.521
EIN[36]=13.617
EIN[37]=13.709
EIN[38]=13.798
EIN[39]=13.884
EIN[40]=13.967
EIN[41]=14.047
EIN[42]=14.124
EIN[43]=14.197
EIN[44]=14.268
EIN[45]=14.335
EIN[46]=14.399
EIN[47]=14.458
EIN[48]=14.514
EIN[49]=14.564
EIN[50]=14.608
EIN[51]=14.644
EIN[52]=14.668
EIN[53]=14.678
# C1 PI WERNER BANDS
EIN[54]=12.285
EIN[55]=12.571
EIN[56]=12.840
EIN[57]=13.094
EIN[58]=13.332
EIN[59]=13.553
EIN[60]=13.758
EIN[61]=13.947
EIN[62]=14.119
EIN[63]=14.273
EIN[64]=14.408
EIN(65)=14.522
EIN(66)=14.611
EIN(67)=14.672
# C3 PI
EIN(68)=11.779
EIN(69)=13.100
# A3 SIGMA
EIN(70)=11.793
EIN(71)=12.684
# E3 SIGMA
EIN(72)=13.253
# EF1 SIGMA
EIN(73)=12.301
EIN(74)=12.841
# B#1 SIGMA BANDS
EIN(75)=13.698
EIN(76)=13.931
EIN(77)=14.144
EIN(78)=14.333
EIN(79)=14.494
EIN(80)=14.613
EIN(81)=14.651
EIN(82)=14.664
EIN(83)=14.672
# D1 PI BANDS
EIN(84)=13.994
EIN(85)=14.270
EIN(86)=14.530
EIN(87)=14.775
EIN(88)=15.003
EIN(89)=15.218
EIN(90)=15.418
EIN(91)=15.602
EIN(92)=15.772
EIN(93)=15.928
EIN(94)=16.068
EIN(95)=16.191
EIN(96)=16.299
EIN(97)=16.390
EIN(98)=16.462
EIN(99)=16.516
# B##1 SIGMA
EIN(100)=14.491
# D#1 PI
EIN(101)=14.609
# B###1 SIGMA + D##1 PI
EIN(102)=14.899
# B####1 SIGMA + D###1 PI
EIN(103)=15.060
# B#####1 SIGAM + D####1 PI
EIN(104)=15.150
# CONTINUUM DISSOCIATIVE EXC
EIN(105)=15.300
# PREDISSOCIATION ABOVE IONISATION POTENTIAL
EIN(106)=15.800
# Q1 + Q2 STATES SINGLETS TO NEUTRAL DISSOCIATION
EIN(107)=32.0
EIN(108)=0.0
# BEF SCALING : BINDING ENERGIES
BEF[1]=E[3]
BEF[2]=E[3]
BEF[3]=E[3]
BEF[4]=E[3]
BEF[5]=E[3]
#
# ATTACHMENT THRESHOLD EV FOR 2 SIGMAu
EATTTH=3.723
# ATTACHMENT WIDTH FOR 2 SIGMAu
EATTWD=0.45
# ATTACHMENT AMPLITUDE FOR 2 SIGMAu
AMPATT=3.0D-21
# ATTACHMENT THRESHOLD EV FOR 2 SIGMAg
EATTTH1=13.922
# ATTACHMENT WIDTH FOR 2 SIGMAg
EATTWD1=0.95
# ATTACHMENT AMPLITUDE FOR 2 SIGMAg
AMPATT1=3.0D-20
#-----------------------------------------------------------------------
# ROTATIONAL ENERGY LEVELS: ERLVL(N)
# PARA - ORTHO ENERGY DIFFERENCE ( J=0 - J=1 ROT LEVEL) = 0.01469049 EV
# REF :ASTROPHYS J. 282(1984)L85
ERLVL[1]=0.01469049
ERLVL[2]=EIN[5]
ERLVL[3]=0.01469049+EIN[6]
ERLVL[4]=EIN[5]+EIN[7]
ERLVL[5]=0.01469049+EIN[6]+EIN[8]
ERLVL[6]=EIN[5]+EIN[7]+0.15381
ERLVL[7]=0.01469049+EIN[6]+EIN[8]+0.1794
#**********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# USE TRANSFER FRACTION IN RANGE BETWEEN 0.0 AND 0.2 FOR MOST MIXTURES
DO 50 NL=1,NIN
PENFRA[1,NL]=0.0
# PENNING TRANSFER DISTANCE MICRONS
PENFRA[2,NL]=1.0
# PENNING TRANSFER TIME PICOSECONDS
50 PENFRA[3,NL]=1.0
#**********************************************************************
if(IPEN == 0):
GO TO 4
DO 3 KDUM=1,NIN
if(PENFRA[1,KDUM] == 0.0):
GO TO 3
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
3 CONTINUE
#
# OFFSET ENERGY FOR EXCITATION LEVELS ANGULAR DISTRIBUTION
4 DO 5 NL=1,NIN
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 5
# endif
651 CONTINUE
5 CONTINUE
#
# ROTATIONAL POPULATIONS
DO 6 K=1,7,2
6 PJ[K]=3*(2*K+1)*math.exp(-ERLVL[K]/AKT)
DO 7 K=2,6,2
7 PJ[K]=(2*K+1)*math.exp(-ERLVL[K]/AKT)
SUM=1.0
DO 8 K=1,7
8 SUM=SUM+PJ[K]
FROT0=1.0/SUM
FROT1=PJ[1]/SUM
FROT2=PJ[2]/SUM
FROT3=PJ[3]/SUM
FROT4=PJ[4]/SUM
FROT5=PJ[5]/SUM
FROT6=PJ[6]/SUM
FROT7=PJ[7]/SUM
# WRITE(6,88) FROT0,FROT1,FROT2,FROT3,FROT4,FROT5,FROT6,FROT7
# 88 print(3X,' FROT0=',F9.6,' FROT1=',F9.6,' FROT2=',F9.6,' FROT3=',
# /F9.6,' FROT4=',F9.6,' FROT5=',F9.6,' FROT6=',F9.6,' FROT7=',F9.6)
#-----------------------------------------------------------------------
#
SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC HYDROGEN '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC HYDROGEN '
# endif
SCRPT[3]=' IONISATION ELOSS= 15.418 '
SCRPT[4]=' DISSOCIATIVE IONISATION ELOSS= 18.076 '
SCRPT[5]=' ATTACHMENT '
SCRPT[6]=' '
SCRPT[7]=' '
SCRPT[8]=' ROTATION 2-0 ELOSS= -0.043928'
SCRPT[9]=' ROTATION 3-1 ELOSS= -0.072741'
SCRPT[10]=' ROTATION 4-2 ELOSS= -0.10085 '
SCRPT[11]=' ROTATION 5-3 ELOSS= -0.12797 '
SCRPT[12]=' ROTATION 0-2 ELOSS= 0.043928'
SCRPT[13]=' ROTATION 1-3 ELOSS= 0.072741'
SCRPT[14]=' ROTATION 2-4 + 4-6 + 6-8 ELOSS= 0.10085 '
SCRPT[15]=' ROTATION 3-5 + 5-7 + 7-9 ELOSS= 0.12797 '
SCRPT[16]=' VIBRATION V1 DJ=0 ELOSS= 0.515916'
SCRPT[17]=' VIBRATION V1 DJ=2 ELOSS= 0.568 '
SCRPT[18]=' VIBRATION 2V1 ELOSS= 1.00265 '
SCRPT[19]=' VIBRATION 3V1 ELOSS= 1.46083 '
SCRPT[20]=' B3 SIG DISSOCIATIVE ELOSS= 8.00 '
SCRPT[21]=' B3 SIG DISSOCIATIVE ELOSS= 9.00 '
SCRPT[22]=' B3 SIG DISSOCIATIVE ELOSS= 9.50 '
SCRPT[23]=' B3 SIG DISSOCIATIVE ELOSS= 10.00 '
SCRPT[24]=' B1SIG V=0 LYMAN ELOSS= 11.189 '
SCRPT[25]=' B1SIG V=1 LYMAN ELOSS= 11.353 '
SCRPT[26]=' B1SIG V=2 LYMAN .001% DISSOC ELOSS= 11.512 '
SCRPT[27]=' B1SIG V=3 LYMAN 0.01% DISSOC ELOSS= 11.666 '
SCRPT[28]=' B1SIG V=4 LYMAN 0.15% DISSOC ELOSS= 11.817 '
SCRPT[29]=' B1SIG V=5 LYMAN 1.71% DISSOC ELOSS= 11.963 '
SCRPT[30]=' B1SIG V=6 LYMAN 3.09% DISSOC ELOSS= 12.105 '
SCRPT[31]=' B1SIG V=7 LYMAN 21.1% DISSOC ELOSS= 12.244 '
SCRPT[32]=' B1SIG V=8 LYMAN 29.1% DISSOC ELOSS= 12.378 '
SCRPT[33]=' B1SIG V=9 LYMAN 41.5% DISSOC ELOSS= 12.509 '
SCRPT[34]=' B1SIG V=10 LYMAN 41.0% DISSOC ELOSS= 12.636 '
SCRPT[35]=' B1SIG V=11 LYMAN 40.7% DISSOC ELOSS= 12.759 '
SCRPT[36]=' B1SIG V=12 LYMAN 52.3% DISSOC ELOSS= 12.878 '
SCRPT[37]=' B1SIG V=13 LYMAN 51.1% DISSOC ELOSS= 12.994 '
SCRPT[38]=' B1SIG V=14 LYMAN 54.2% DISSOC ELOSS= 13.106 '
SCRPT[39]=' B1SIG V=15 LYMAN 55.8% DISSOC ELOSS= 13.216 '
SCRPT[40]=' B1SIG V=16 LYMAN 55.4% DISSOC ELOSS= 13.320 '
SCRPT[41]=' B1SIG V=17 LYMAN 60.1% DISSOC ELOSS= 13.422 '
SCRPT[42]=' B1SIG V=18 LYMAN 60.8% DISSOC ELOSS= 13.521 '
SCRPT[43]=' B1SIG V=19 LYMAN 63.4% DISSOC ELOSS= 13.617 '
SCRPT[44]=' B1SIG V=20 LYMAN 63.7% DISSOC ELOSS= 13.709 '
SCRPT[45]=' B1SIG V=21 LYMAN 64.3% DISSOC ELOSS= 13.798 '
SCRPT[46]=' B1SIG V=22 LYMAN 65.1% DISSOC ELOSS= 13.884 '
SCRPT[47]=' B1SIG V=23 LYMAN 65.9% DISSOC ELOSS= 13.967 '
SCRPT[48]=' B1SIG V=24 LYMAN 67.7% DISSOC ELOSS= 14.047 '
SCRPT[49]=' B1SIG V=25 LYMAN 69.1% DISSOC ELOSS= 14.124 '
SCRPT[50]=' B1SIG V=26 LYMAN 71.2% DISSOC ELOSS= 14.197 '
SCRPT[51]=' B1SIG V=27 LYMAN 73.0% DISSOC ELOSS= 14.268 '
SCRPT[52]=' B1SIG V=28 LYMAN 75.3% DISSOC ELOSS= 14.335 '
SCRPT[53]=' B1SIG V=29 LYMAN 77.4% DISSOC ELOSS= 14.399 '
SCRPT[54]=' B1SIG V=30 LYMAN 79.5% DISSOC ELOSS= 14.458 '
SCRPT[55]=' B1SIG V=31 LYMAN 81.6% DISSOC ELOSS= 14.514 '
SCRPT[56]=' B1SIG V=32 LYMAN 84.2% DISSOC ELOSS= 14.564 '
SCRPT[57]=' B1SIG V=33 LYMAN 87.3% DISSOC ELOSS= 14.608 '
SCRPT[58]=' B1SIG V=34 LYMAN 91.1% DISSOC ELOSS= 14.644 '
SCRPT[59]=' B1SIG V=35 LYMAN 95.6% DISSOC ELOSS= 14.668 '
SCRPT[60]=' B1SIG V=36 LYMAN 99.5% DISSOC ELOSS= 14.678 '
SCRPT[61]=' C1 PI V=0 WERNER ELOSS= 12.285 '
SCRPT[62]=' C1 PI V=1 WERNER ELOSS= 12.571 '
SCRPT[63]=' C1 PI V=2 WERNER ELOSS= 12.840 '
SCRPT[64]=' C1 PI V=3 WERNER ELOSS= 13.094 '
SCRPT(65)=' C1 PI V=4 WERNER ELOSS= 13.332 '
SCRPT(66)=' C1 PI V=5 WERNER ELOSS= 13.553 '
SCRPT(67)=' C1 PI V=6 WERNER .067% DISSOC ELOSS= 13.758 '
SCRPT(68)=' C1 PI V=7 WERNER .145% DISSOC ELOSS= 13.947 '
SCRPT(69)=' C1 PI V=8 WERNER 3.72% DISSOC ELOSS= 14.119 '
SCRPT(70)=' C1 PI V=9 WERNER 6.43% DISSOC ELOSS= 14.273 '
SCRPT(71)=' C1 PI V=10 WERNER 37.7% DISSOC ELOSS= 14.408 '
SCRPT(72)=' C1 PI V=11 WERNER 42.5% DISSOC ELOSS= 14.522 '
SCRPT(73)=' C1 PI V=12 WERNER 64.2% DISSOC ELOSS= 14.611 '
SCRPT(74)=' C1 PI V=13 WERNER 82.5% DISSOC ELOSS= 14.672 '
SCRPT(75)=' C3 PI V=0-4 DISSOCIATIVE ELOSS= 11.779 '
SCRPT(76)=' C3 PI V=5-18 DISSOCIATIVE ELOSS= 13.100 '
SCRPT(77)=' A3SIG V=0-3 DISSOCIATIVE ELOSS= 11.793 '
SCRPT(78)=' A3SIG V=3-17 DISSOCIATIVE ELOSS= 12.684 '
SCRPT(79)=' E3SIG V=0-9 DISSOCIATIVE ELOSS= 13.253 '
SCRPT(80)=' EF1SIG V=0-5 50.0% DISSOC ELOSS= 12.301 '
SCRPT(81)=' EF1SIG V=6-19 50.0% DISSOC ELOSS= 12.841 '
SCRPT(82)=' B#1SIG V=0 ELOSS= 13.698 '
SCRPT(83)=' B#1SIG V=1 ELOSS= 13.931 '
SCRPT(84)=' B#1SIG V=2 ELOSS= 14.144 '
SCRPT(85)=' B#1SIG V=3 ELOSS= 14.333 '
SCRPT(86)=' B#1SIG V=4 ELOSS= 14.494 '
SCRPT(87)=' B#1SIG V=5 ELOSS= 14.613 '
SCRPT(88)=' B#1SIG V=6 6.5% DISSOC ELOSS= 14.651 '
SCRPT(89)=' B#1SIG V=7 15.2% DISSOC ELOSS= 14.664 '
SCRPT(90)=' B#1SIG V=8 45.1% DISSOC ELOSS= 14.672 '
SCRPT(91)=' D1 PI V=0 ELOSS= 13.994 '
SCRPT(92)=' D1 PI V=1 ELOSS= 14.270 '
SCRPT(93)=' D1 PI V=2 ELOSS= 14.530 '
SCRPT(94)=' D1 PI V=3 ELOSS= 14.775 '
SCRPT(95)=' D1 PI V=4 ELOSS= 15.003 '
SCRPT(96)=' D1 PI V=5 .002% DISSOC ELOSS= 15.218 '
SCRPT(97)=' D1 PI V=6 .077% DISSOC ELOSS= 15.418 '
SCRPT(98)=' D1 PI V=7 0.39% DISSOC ELOSS= 15.602 '
SCRPT(99)=' D1 PI V=8 3.71% DISSOC ELOSS= 15.772 '
SCRPT(100)=' D1 PI V=9 10.3% DISSOC ELOSS= 15.928 '
SCRPT(101)=' D1 PI V=10 35.7% DISSOC ELOSS= 16.068 '
SCRPT(102)=' D1 PI V=11 48.1% DISSOC ELOSS= 16.191 '
SCRPT(103)=' D1 PI V=12 52.7% DISSOC ELOSS= 16.299 '
SCRPT(104)=' D1 PI V=13 63.8% DISSOC ELOSS= 16.390 '
SCRPT(105)=' D1 PI V=14 85.9% DISSOC ELOSS= 16.462 '
SCRPT(106)=' D1 PI V=15 87.0% DISSOC ELOSS= 16.516 '
SCRPT(107)=' B##SIG V=0-6 DISSOCIATIVE ELOSS= 14.491 '
SCRPT(108)=' D#1 PI V=0-3 DISSOCIATIVE ELOSS= 14.609 '
SCRPT(109)=' 5P SIG 6P PI DISSOCIATIVE ELOSS= 14.899 '
SCRPT(110)=' 6P SIG 6P PI DISSOCIATIVE ELOSS= 15.060 '
SCRPT(111)=' 7P SIG 7P PI DISSOCIATIVE ELOSS= 15.150 '
SCRPT(112)=' CONTINUUM EX DISSOCIATIVE EL0SS= 15.300 '
SCRPT(113)=' PREDISS >IP DISSOCIATIVE ELOSS= 15.800 '
SCRPT(114)=' Q1 +Q2 SINGLETS NEUTRAL DISS ELOSS= 32.0 '
SCRPT(115)=' BREMSSTRAHLUNG FROM HYDROGEN ATOMS '
#
c*****************************
# EN=-ESTEP/2.0
#**************************
DO 900 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
if(EN > EIN[1]:
) :
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# endif
#
DO 60 J=2,NELM
if(EN <= XELM[J]:
) GO TO 70
60 CONTINUE
J=NELM
# ELASTIC MOMENTUM TRANSFER
70 A=(YELM[J]-YELM[J-1])/(XELM[J]-XELM[J-1])
B=(XELM[J-1]*YELM[J]-XELM[J]*YELM[J-1])/(XELM[J-1]-XELM[J])
QMOM=(A*EN+B)*1.0D-16
# ELASTIC X-SECTION
A=(YELT[J]-YELT[J-1])/(XELM[J]-XELM[J-1])
B=(XELM[J-1]*YELT[J]-XELM[J]*YELT[J-1])/(XELM[J-1]-XELM[J])
QELA=(A*EN+B)*1.0D-16
# ANGULAR DISTRIBUTION FACTOR ( OKRIMOVSKKY)
A=(YEPS[J]-YEPS[J-1])/(XELM[J]-XELM[J-1])
B=(XELM[J-1]*YEPS[J]-XELM[J]*YEPS[J-1])/(XELM[J-1]-XELM[J])
PQ2=A*EN+B
# EPSILON =1.0-YEPS
PQ2=1.00-PQ2
PQ1=0.5+(QELA-QMOM)/QELA
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
# GROSS IONISATION
QION[1][I]=0.0
PEQION[1][I]=0.50
if(NANISO == 2):
PEQION[1][I]=0.00
if(EN < EION[1]:
) GO TO 123
if(EN > XION(NIONG):
) GO TO 121
DO 110 J=2,NIONG
if(EN <= XION[J]:
) GO TO 120
110 CONTINUE
J=NIONG
120 A=(YION[J]-YION[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YION[J]-XION[J]*YION[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 122
# USE BORN-BETHE X-SECTION ABOVE XION(NIONG) EV
121 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)
122 CONTINUE
if(EN <= (2.0*EION[1]:
)) GO TO 123
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# DISSOCIATIVE IONISATION
123 QION[2][I]=0.0
PEQION[2][I]=0.50
if(NANISO == 2):
PEQION[2][I]=0.00
if(EN < EION[2]:
) GO TO 150
if(EN > (XIOND[NIOND]):
) GO TO 141
DO 130 J=2,NIOND
if(EN <= XIOND[J]):
GO TO 140
130 CONTINUE
J=NIOND
140 A=(YIOND[J]-YIOND[J-1])/(XIOND[J]-XIOND[J-1])
B=(XIOND[J-1]*YIOND[J]-XIOND[J]*YIOND[J-1])/(XIOND[J-1]-XIOND[J])
QION[2][I]=(A*EN+B)*1.e-16
GO TO 142
# USE BORN-BETHE X-SECTION ABOVE XIOND[NIOND] EV
141 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.05481
142 CONTINUE
if(EN <= (2.0*EION[2]:
)) GO TO 150
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# CALCULATE NON-DISSOCIATIVE IONISATION
150 if(QION[1][I] == 0.0) GO TO 200
QION[1][I]=QION[1][I]-QION[2][I]
# ATTACHMENT
200 Q[4][I]=0.0
PEQEL[4][I]=0.5
if(NANISO == 2):
PEQEL[4][I]=0.0
# ROTATIONAL DEP# endANCE OF ATTACHMENT TO 2 SIGMAu
if(EN < (EATTTH-ERLVL[7]:
)) GO TO 300
Q[4][I]=AMPATT*5.00*FROT7*math.exp(-(EN-EATTTH+ERLVL[7])/EATTWD)
if(EN < (EATTTH-ERLVL[6]:
)) GO TO 300
Q[4][I]=Q[4][I]+AMPATT*3.96*FROT6*math.exp(-(EN-EATTTH+ERLVL[6])/EATTWD)
if(EN < (EATTTH-ERLVL[5]:
)) GO TO 300
Q[4][I]=Q[4][I]+AMPATT*3.15*FROT5*math.exp(-(EN-EATTTH+ERLVL[5])/EATTWD)
if(EN < (EATTTH-ERLVL[4]:
)) GO TO 300
Q[4][I]=Q[4][I]+AMPATT*2.50*FROT4*math.exp(-(EN-EATTTH+ERLVL[4])/EATTWD)
if(EN < (EATTTH-ERLVL[3]:
)) GO TO 300
Q[4][I]=Q[4][I]+AMPATT*1.99*FROT3*math.exp(-(EN-EATTTH+ERLVL[3])/EATTWD)
if(EN < (EATTTH-ERLVL[2]:
)) GO TO 300
Q[4][I]=Q[4][I]+AMPATT*1.58*FROT2*math.exp(-(EN-EATTTH+ERLVL[2])/EATTWD)
if(EN < (EATTTH-ERLVL[1]:
)) GO TO 300
Q[4][I]=Q[4][I]+AMPATT*1.26*FROT1*math.exp(-(EN-EATTTH+ERLVL[1])/EATTWD)
if(EN < EATTTH):
GO TO 300
Q[4][I]=Q[4][I]+AMPATT*FROT0*math.exp(-(EN-EATTTH)/EATTWD)
if(EN < XATT[1]:
) GO TO 300
# ATTACHMENT TO 2 SIGMAg
if(EN > XATT[NATT1]:
) GO TO 250
DO 210 J=2,NATT1
if(EN <= XATT[J]:
) GO TO 220
210 CONTINUE
J=NATT1
220 A=(YATT[J]-YATT[J-1])/(XATT[J]-XATT[J-1])
B=(XATT[J-1]*YATT[J]-XATT[J]*YATT[J-1])/(XATT[J-1]-XATT[J])
Q[4][I]=Q[4][I]+(A*EN+B)*1.e-16
# HIGH ENERGY ATTACHMENT TO 2 SIGMAg
# 250 CONTINUE
250 if(EN <= EATTTH1) GO TO 300
Q[4][I]=Q[4][I]+AMPATT1*math.exp(-(EN-EATTTH1)/EATTWD1)
#
300 Q[5][I]=0.0
Q[6][I]=0.0
#
DO 1005 NL=1,NIN+1
QIN(NL,I)=0.00
PEQIN(NL,I)=0.50
if(NANISO == 2):
:
PEQIN(NL,I)=0.00
# endif
1005 CONTINUE
#---------------------------------------------------------------------
# SUPERELASTIC 2-0
if(EN <= 0.0):
GO TO 1100
if(EN > XROT0(NROT0):
) GO TO 1100
DO 1010 J=2,NROT0
if((EN+EIN[5]:
) <= XROT0[J]) GO TO 1020
1010 CONTINUE
J=NROT0
1020 A=(YROT0[J]-YROT0[J-1])/(XROT0[J]-XROT0[J-1])
B=(XROT0[J-1]*YROT0[J]-XROT0[J]*YROT0[J-1])/(XROT0[J-1]-XROT0[J])
QIN[1][I]=FROT2*0.2*(EN+EIN[5])*(A*(EN+EIN[5])+B)*1.e-16/EN
# SUPERELASTIC 3-1
1100 if(EN <= 0.0) GO TO 1200
if(EN > XROT1(NROT1):
) GO TO 1200
DO 1110 J=2,NROT1
if((EN+EIN[6]:
) <= XROT1[J]) GO TO 1120
1110 CONTINUE
J=NROT1
1120 A=(YROT1[J]-YROT1[J-1])/(XROT1[J]-XROT1[J-1])
B=(XROT1[J-1]*YROT1[J]-XROT1[J]*YROT1[J-1])/(XROT1[J-1]-XROT1[J])
QIN[2][I]=FROT3*(3.0/7.0)*(EN+EIN[6])*(A*(EN+EIN[6])+B)*1.e-16/EN
# SUPERELASTIC 4-2
1200 if(EN <= 0.0) GO TO 1250
if(EN > XROT2(NROT2):
) GO TO 1250
DO 1210 J=2,NROT2
if((EN+EIN[7]:
) <= XROT2[J]) GO TO 1220
1210 CONTINUE
J=NROT2
1220 A=(YROT2[J]-YROT2[J-1])/(XROT2[J]-XROT2[J-1])
B=(XROT2[J-1]*YROT2[J]-XROT2[J]*YROT2[J-1])/(XROT2[J-1]-XROT2[J])
QIN[3][I]=FROT4*(5.0/9.0)*(EN+EIN[7])*(A*(EN+EIN[7])+B)*1.e-16/EN
# SUPERELASTIC 5-3
1250 if(EN <= 0.0) GO TO 1290
if(EN > XROT3(NROT3):
) GO TO 1290
DO 1260 J=2,NROT3
if((EN+EIN[8]:
) <= XROT3[J]) GO TO 1270
1260 CONTINUE
J=NROT3
1270 A=(YROT3[J]-YROT3[J-1])/(XROT3[J]-XROT3[J-1])
B=(XROT3[J-1]*YROT3[J]-XROT3[J]*YROT3[J-1])/(XROT3[J-1]-XROT3[J])
QIN[4][I]=FROT5*(7.0/11.)*(EN+EIN[8])*(A*(EN+EIN[8])+B)*1.e-16/EN
# ROTATION 0-2
1290 if(EN <= EIN[5]) GO TO 1400
if(EN > XROT0(NROT0):
) GO TO 1330
DO 1310 J=2,NROT0
if(EN <= XROT0[J]:
) GO TO 1320
1310 CONTINUE
J=NROT0
1320 A=(YROT0[J]-YROT0[J-1])/(XROT0[J]-XROT0[J-1])
B=(XROT0[J-1]*YROT0[J]-XROT0[J]*YROT0[J-1])/(XROT0[J-1]-XROT0[J])
QIN[5][I]=(A*EN+B)*1.e-16*FROT0
GO TO 2330
1330 QIN[5][I]=YROT0(NROT0)*1.e-16*FROT0*XROT0(NROT0)/EN
2330 if(EN <= (2.0*EIN[5])) GO TO 1400
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))] # ROTATION 1-3
1400 if(EN <= EIN[6]) GO TO 1401
if(EN > XROT1(NROT1):
) GO TO 1331
DO 1311 J=2,NROT1
if(EN <= XROT1[J]:
) GO TO 1321
1311 CONTINUE
J=NROT1
1321 A=(YROT1[J]-YROT1[J-1])/(XROT1[J]-XROT1[J-1])
B=(XROT1[J-1]*YROT1[J]-XROT1[J]*YROT1[J-1])/(XROT1[J-1]-XROT1[J])
QIN[6][I]=(A*EN+B)*1.e-16*FROT1
GO TO 2331
1331 QIN[6][I]=YROT1(NROT1)*1.e-16*FROT1*XROT1(NROT1)/EN
2331 if(EN <= (2.0*EIN[6])) GO TO 1401
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))] # ROTATION 2-4 + 4-6 + 6-8
# USED SCALED 2-4 XSECTION FOR 4-6 AND 6-8
c ALSO SCALED FOR ENERGY LOSS BY 1.5 FOR 4-6 AND BY 2.0 FOR 6-8
1401 if(EN <= EIN[7]) GO TO 1402
if(EN > XROT2(NROT2):
) GO TO 1332
DO 1312 J=2,NROT2
if(EN <= XROT2[J]:
) GO TO 1322
1312 CONTINUE
J=NROT2
1322 A=(YROT2[J]-YROT2[J-1])/(XROT2[J]-XROT2[J-1])
B=(XROT2[J-1]*YROT2[J]-XROT2[J]*YROT2[J-1])/(XROT2[J-1]-XROT2[J])
QIN[7][I]=(A*EN+B)*1.e-16*(FROT2+FROT4*0.8*1.5+FROT6*0.5*2.0)
GO TO 2332
1332 QIN[7][I]=YROT2(NROT2)*1.e-16*(FROT2+FROT4*0.8*1.5+FROT6*0.5*2.0)
QIN[7][I]=QIN[7][I]*XROT2(NROT2)/EN
2332 if(EN <= (2.0*EIN[7])) GO TO 1402
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))] # ROTATION 3-5 + 5-7 + 7-9
# USED SCALED 3-5 XSECTION FOR 5-7 AND 7-9
# ALSO SCALED FOR ENERGY LOSS BY 1.4 FOR 5-7 AND 1.8 FOR 7-9
1402 if(EN <= EIN[8]) GO TO 1403
if(EN > XROT3(NROT3):
) GO TO 1333
DO 1313 J=2,NROT3
if(EN <= XROT3[J]:
) GO TO 1323
1313 CONTINUE
J=NROT3
1323 A=(YROT3[J]-YROT3[J-1])/(XROT3[J]-XROT3[J-1])
B=(XROT3[J-1]*YROT3[J]-XROT3[J]*YROT3[J-1])/(XROT3[J-1]-XROT3[J])
QIN[8][I]=(A*EN+B)*1.e-16*(FROT3+FROT5*0.8*1.4+FROT7*0.5*1.8)
GO TO 2333
1333 QIN[8][I]=YROT3(NROT3)*1.e-16*(FROT3+FROT5*0.8*1.4+FROT7*0.5*1.8)
QIN[8][I]=QIN[8][I]*XROT3(NROT3)/EN
2333 if(EN <= (2.0*EIN[8])) GO TO 1403
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))] #-----------------------------------------------------------------------
# VIBRATION V1 WITH DJ=0
1403 if(EN <= EIN[9]) GO TO 304
if(EN > XVIB1(NVIB1):
) GO TO 303
DO 301 J=2,NVIB1
if(EN <= XVIB1[J]:
) GO TO 302
301 CONTINUE
J=NVIB1
302 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN[9][I]=(A*EN+B)*1.e-16
GO TO 1303
303 QIN[9][I]=YVIB1(NVIB1)*1.e-16*XVIB1(NVIB1)/EN
1303 if(EN <= (2.0*EIN[9])) GO TO 304
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))] #
# VIBRATION V1 WITH DJ=2
304 if(EN <= EIN[10]) GO TO 308
if(EN > XVIB2(NVIB2):
) GO TO 307
DO 305 J=2,NVIB2
if(EN <= XVIB2[J]:
) GO TO 306
305 CONTINUE
J=NVIB2
306 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[10][I]=(A*EN+B)*1.e-16
GO TO 1307
307 QIN[10][I]=YVIB2(NVIB2)*1.e-16*XVIB2(NVIB2)/EN
1307 if(EN <= (2.0*EIN[10])) GO TO 308
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
#
# VIBRATION V2
308 if(EN <= EIN[11]) GO TO 312
if(EN > XVIB3(NVIB3):
) GO TO 311
DO 309 J=2,NVIB3
if(EN <= XVIB3[J]:
) GO TO 310
309 CONTINUE
J=NVIB3
310 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN[11][I]=(A*EN+B)*1.e-16
GO TO 2311
311 QIN[11][I]=YVIB3(NVIB3)*1.e-16*XVIB3(NVIB3)/EN
2311 if(EN <= (2.0*EIN[11])) GO TO 312
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
#
# VIBRATION V3
312 if(EN <= EIN[12]) GO TO 316
if(EN > XVIB4(NVIB4):
) GO TO 315
DO 313 J=2,NVIB4
if(EN <= XVIB4[J]:
) GO TO 314
313 CONTINUE
J=NVIB4
314 A=(YVIB4[J]-YVIB4[J-1])/(XVIB4[J]-XVIB4[J-1])
B=(XVIB4[J-1]*YVIB4[J]-XVIB4[J]*YVIB4[J-1])/(XVIB4[J-1]-XVIB4[J])
QIN[12][I]=(A*EN+B)*1.e-16
GO TO 1315
315 QIN[12][I]=YVIB4(NVIB4)*1.e-16*XVIB4(NVIB4)/EN
1315 if(EN <= (2.0*EIN[12])) GO TO 316
PEQIN(12,2)=PEQEL[2][(I-IOFFN[12])]
#
# B3 SIGMA DISSOCIATION ELOSS=8.0EV
316 if(EN <= EIN[13]) GO TO 320
if(EN > XB3S1(NB3S1):
) GO TO 320
DO 317 J=2,NB3S1
if(EN <= XB3S1[J]:
) GO TO 318
317 CONTINUE
J=NB3S1
318 A=(YB3S1[J]-YB3S1[J-1])/(XB3S1[J]-XB3S1[J-1])
B=(XB3S1[J-1]*YB3S1[J]-XB3S1[J]*YB3S1[J-1])/(XB3S1[J-1]-XB3S1[J])
QIN[13][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EIN[13]:
)) GO TO 320
PEQIN(13,2)=PEQEL[2][(I-IOFFN[13])]
#
# B3 SIGMA DISSOCIATION ELOSS=9.0EV
320 if(EN <= EIN[14]) GO TO 324
if(EN > XB3S2(NB3S2):
) GO TO 324
DO 321 J=2,NB3S2
if(EN <= XB3S2[J]:
) GO TO 322
321 CONTINUE
J=NB3S2
322 A=(YB3S2[J]-YB3S2[J-1])/(XB3S2[J]-XB3S2[J-1])
B=(XB3S2[J-1]*YB3S2[J]-XB3S2[J]*YB3S2[J-1])/(XB3S2[J-1]-XB3S2[J])
QIN[14][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EIN[14]:
)) GO TO 324
PEQIN(14,2)=PEQEL[2][(I-IOFFN[14])]
#
# B3 SIGMA DISSOCIATION ELOSS=9.5EV
324 if(EN <= EIN[15]) GO TO 328
if(EN > XB3S3(NB3S3):
) GO TO 328
DO 325 J=2,NB3S3
if(EN <= XB3S3[J]:
) GO TO 326
325 CONTINUE
J=NB3S3
326 A=(YB3S3[J]-YB3S3[J-1])/(XB3S3[J]-XB3S3[J-1])
B=(XB3S3[J-1]*YB3S3[J]-XB3S3[J]*YB3S3[J-1])/(XB3S3[J-1]-XB3S3[J])
QIN[15][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EIN[15]:
)) GO TO 328
PEQIN(15,2)=PEQEL[2][(I-IOFFN[15])]
#
# B3 SIGMA DISSOCIATION ELOSS=10.0EV
# SCALED BY 1/E**3 ABOVE XB3S4(NB3S4) EV
328 if(EN <= EIN[16]) GO TO 332
if(EN > XB3S4(NB3S4):
) GO TO 331
DO 329 J=2,NB3S4
if(EN <= XB3S4[J]:
) GO TO 330
329 CONTINUE
J=NB3S4
330 A=(YB3S4[J]-YB3S4[J-1])/(XB3S4[J]-XB3S4[J-1])
B=(XB3S4[J-1]*YB3S4[J]-XB3S4[J]*YB3S4[J-1])/(XB3S4[J-1]-XB3S4[J])
QIN[16][I]=(A*EN+B)*1.e-16
GO TO 3331
331 QIN[16][I]=YB3S4(NB3S4)*1.e-16*(XB3S4(NB3S4)/EN)**3
3331 if(EN <= (2.0*EIN[16])) GO TO 332
PEQIN(16,2)=PEQEL[2][(I-IOFFN[16])]
# LYMAN BANDS FOR VIB=0 TO 36 B1 SIGMA--- GROUND STATE
# DIPOLE ALLOWED
# V=0
332 if(EN <= EIN[17]) GO TO 333
QIN[17][I]=.0016884/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[17]+BEF[1])
if(QIN[17][I]:
< 0.0) QIN[17][I]=0.0
if(EN <= (2.0*EIN[17]:
)) GO TO 333
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# V=1 B1 SIGMA
333 if(EN <= EIN[18]) GO TO 334
QIN[18][I]=.005782/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+BEF[1])
if(QIN[18][I]:
< 0.0) QIN[18][I]=0.0
if(EN <= (2.0*EIN[18]:
)) GO TO 334
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# V=2 B1 SIGMA
334 if(EN <= EIN[19]) GO TO 335
QIN[19][I]=.011536/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[19]+BEF[1])
if(QIN[19][I]:
< 0.0) QIN[19][I]=0.0
if(EN <= (2.0*EIN[18]:
)) GO TO 335
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# V=3 B1 SIGMA
335 if(EN <= EIN[20]) GO TO 336
QIN[20][I]=.017531/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+BEF[1])
if(QIN[20][I]:
< 0.0) QIN[20][I]=0.0
if(EN <= (2.0*EIN[20]:
)) GO TO 336
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# V=4 B1 SIGMA
336 if(EN <= EIN[21]) GO TO 337
QIN[21][I]=.022477/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[21]+BEF[1])
if(QIN[21][I]:
< 0.0) QIN[21][I]=0.0
if(EN <= (2.0*EIN[21]:
)) GO TO 337
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# V=5 B1 SIGMA
337 if(EN <= EIN[22]) GO TO 338
QIN[22][I]=.025688/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[22]+BEF[1])
if(QIN[22][I]:
< 0.0) QIN[22][I]=0.0
if(EN <= (2.0*EIN[22]:
)) GO TO 338
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# V=6 B1 SIGMA
338 if(EN <= EIN[23]) GO TO 339
QIN[23][I]=.027021/(EIN[23]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[23]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[23]+BEF[1])
if(QIN[23][I]:
< 0.0) QIN[23][I]=0.0
if(EN <= (2.0*EIN[23]:
)) GO TO 339
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# V=7 B1 SIGMA
339 if(EN <= EIN[24]) GO TO 340
QIN[24][I]=.026731/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+BEF[1])
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (2.0*EIN[24]:
)) GO TO 340
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# V=8 B1 SIGMA
340 if(EN <= EIN[25]) GO TO 341
QIN[25][I]=.025233/(EIN[25]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[25]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[25]+BEF[1])
if(QIN[25][I]:
< 0.0) QIN[25][I]=0.0
if(EN <= (2.0*EIN[25]:
)) GO TO 341
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
# V=9 B1 SIGMA
341 if(EN <= EIN[26]) GO TO 342
QIN[26][I]=.022980/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+BEF[1])
if(QIN[26][I]:
< 0.0) QIN[26][I]=0.0
if(EN <= (2.0*EIN[26]:
)) GO TO 342
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# V=10 B1 SIGMA
342 if(EN <= EIN[27]) GO TO 343
QIN[27][I]=.020362/(EIN[27]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[27]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[27]+BEF[1])
if(QIN[27][I]:
< 0.0) QIN[27][I]=0.0
if(EN <= (2.0*EIN[27]:
)) GO TO 343
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# V=11 B1 SIGMA
343 if(EN <= EIN[28]) GO TO 344
QIN[28][I]=.017653/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+BEF[1])
if(QIN[28][I]:
< 0.0) QIN[28][I]=0.0
if(EN <= (2.0*EIN[28]:
)) GO TO 344
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# V=12 B1 SIGMA
344 if(EN <= EIN[29]) GO TO 345
QIN[29][I]=.015054/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+BEF[1])
if(QIN[29][I]:
< 0.0) QIN[29][I]=0.0
if(EN <= (2.0*EIN[29]:
)) GO TO 345
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# V=13 B1 SIGMA
345 if(EN <= EIN[30]) GO TO 346
QIN[30][I]=.012678/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+BEF[1])
if(QIN[30][I]:
< 0.0) QIN[30][I]=0.0
if(EN <= (2.0*EIN[30]:
)) GO TO 346
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# V=14 B1 SIGMA
346 if(EN <= EIN[31]) GO TO 347
QIN[31][I]=.010567/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[31]+BEF[1])
if(QIN[31][I]:
< 0.0) QIN[31][I]=0.0
if(EN <= (2.0*EIN[31]:
)) GO TO 347
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# V=15 B1 SIGMA
347 if(EN <= EIN[32]) GO TO 348
QIN[32][I]=.008746/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+BEF[1])
if(QIN[32][I]:
< 0.0) QIN[32][I]=0.0
if(EN <= (2.0*EIN[32]:
)) GO TO 348
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# V=16 B1 SIGMA
348 if(EN <= EIN[33]) GO TO 349
QIN[33][I]=.007201/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+BEF[1])
if(QIN[33][I]:
< 0.0) QIN[33][I]=0.0
if(EN <= (2.0*EIN[33]:
)) GO TO 349
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# V=17 B1 SIGMA
349 if(EN <= EIN[34]) GO TO 350
QIN[34][I]=.005909/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+BEF[1])
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.0
if(EN <= (2.0*EIN[34]:
)) GO TO 350
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# V=18 B1 SIGMA
350 if(EN <= EIN[35]) GO TO 351
QIN[35][I]=.004838/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+BEF[1])
if(QIN[35][I]:
< 0.0) QIN[35][I]=0.0
if(EN <= (2.0*EIN[35]:
)) GO TO 351
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# V=19 B1 SIGMA
351 if(EN <= EIN[36]) GO TO 352
QIN[36][I]=.003956/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[36]+BEF[1])
if(QIN[36][I]:
< 0.0) QIN[36][I]=0.0
if(EN <= (2.0*EIN[36]:
)) GO TO 352
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
# V=20 B1 SIGMA
352 if(EN <= EIN[37]) GO TO 353
QIN[37][I]=.003233/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+BEF[1])
if(QIN[37][I]:
< 0.0) QIN[37][I]=0.0
if(EN <= (2.0*EIN[37]:
)) GO TO 353
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
# V=21 B1 SIGMA
353 if(EN <= EIN[38]) GO TO 354
QIN[38][I]=.002644/(EIN[38]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[38]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[38]+BEF[1])
if(QIN[38][I]:
< 0.0) QIN[38][I]=0.0
if(EN <= (2.0*EIN[38]:
)) GO TO 354
PEQIN[38][I]=PEQEL[2][(I-IOFFN[38])]
# V=22 B1 SIGMA
354 if(EN <= EIN[39]) GO TO 355
QIN[39][I]=.002165/(EIN[39]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[39]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[39]+BEF[1])
if(QIN[39][I]:
< 0.0) QIN[39][I]=0.0
if(EN <= (2.0*EIN[39]:
)) GO TO 355
PEQIN[39][I]=PEQEL[2][(I-IOFFN[39])]
# V=23 B1 SIGMA
355 if(EN <= EIN[40]) GO TO 356
QIN[40][I]=.001775/(EIN[40]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[40]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[40]+BEF[1])
if(QIN[40][I]:
< 0.0) QIN[40][I]=0.0
if(EN <= (2.0*EIN[40]:
)) GO TO 356
PEQIN[40][I]=PEQEL[2][(I-IOFFN[40])]
# V=24 B1 SIGMA
356 if(EN <= EIN[41]) GO TO 357
QIN[41][I]=.001457/(EIN[41]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[41]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[41]+BEF[1])
if(QIN[41][I]:
< 0.0) QIN[41][I]=0.0
if(EN <= (2.0*EIN[41]:
)) GO TO 357
PEQIN[41][I]=PEQEL[2][(I-IOFFN[41])]
# V=25 B1 SIGMA
357 if(EN <= EIN[42]) GO TO 358
QIN[42][I]=.001199/(EIN[42]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[42]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[42]+BEF[1])
if(QIN[42][I]:
< 0.0) QIN[42][I]=0.0
if(EN <= (2.0*EIN[42]:
)) GO TO 358
PEQIN[42][I]=PEQEL[2][(I-IOFFN[42])]
# V=26 B1 SIGMA
358 if(EN <= EIN[43]) GO TO 359
QIN[43][I]=.0009882/(EIN[43]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[43]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[43]+BEF[1])
if(QIN[43][I]:
< 0.0) QIN[43][I]=0.0
if(EN <= (2.0*EIN[43]:
)) GO TO 359
PEQIN[43][I]=PEQEL[2][(I-IOFFN[43])]
# V=27 B1 SIGMA
359 if(EN <= EIN[44]) GO TO 360
QIN[44][I]=.0008153/(EIN[44]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[44]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[44]+BEF[1])
if(QIN[44][I]:
< 0.0) QIN[44][I]=0.0
if(EN <= (2.0*EIN[44]:
)) GO TO 360
PEQIN[44][I]=PEQEL[2][(I-IOFFN[44])]
# V=28 B1 SIGMA
360 if(EN <= EIN[45]) GO TO 361
QIN[45][I]=.0006738/(EIN[45]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[45]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[45]+BEF[1])
if(QIN[45][I]:
< 0.0) QIN[45][I]=0.0
if(EN <= (2.0*EIN[45]:
)) GO TO 361
PEQIN[45][I]=PEQEL[2][(I-IOFFN[45])]
# V=29 B1 SIGMA
361 if(EN <= EIN[46]) GO TO 362
QIN[46][I]=.0005561/(EIN[46]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[46]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[46]+BEF[1])
if(QIN[46][I]:
< 0.0) QIN[46][I]=0.0
if(EN <= (2.0*EIN[46]:
)) GO TO 362
PEQIN[46][I]=PEQEL[2][(I-IOFFN[46])]
# V=30 B1 SIGMA
362 if(EN <= EIN[47]) GO TO 363
QIN[47][I]=.0004573/(EIN[47]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[47]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[47]+BEF[1])
if(QIN[47][I]:
< 0.0) QIN[47][I]=0.0
if(EN <= (2.0*EIN[47]:
)) GO TO 363
PEQIN[47][I]=PEQEL[2][(I-IOFFN[47])]
# V=31 B1 SIGMA
363 if(EN <= EIN[48]) GO TO 364
QIN[48][I]=.0003731/(EIN[48]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[48]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[48]+BEF[1])
if(QIN[48][I]:
< 0.0) QIN[48][I]=0.0
if(EN <= (2.0*EIN[48]:
)) GO TO 364
PEQIN[48][I]=PEQEL[2][(I-IOFFN[48])]
# V=32 B1 SIGMA
364 if(EN <= EIN[49]) GO TO 365
QIN[49][I]=.0002992/(EIN[49]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[49]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[49]+BEF[1])
if(QIN[49][I]:
< 0.0) QIN[49][I]=0.0
if(EN <= (2.0*EIN[49]:
)) GO TO 365
PEQIN[49][I]=PEQEL[2][(I-IOFFN[49])]
# V=33 B1 SIGMA
365 if(EN <= EIN[50]) GO TO 366
QIN[50][I]=.0002309/(EIN[50]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[50]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[50]+BEF[1])
if(QIN[50][I]:
< 0.0) QIN[50][I]=0.0
if(EN <= (2.0*EIN[50]:
)) GO TO 366
PEQIN[50][I]=PEQEL[2][(I-IOFFN[50])]
# V=34 B1 SIGMA
366 if(EN <= EIN[51]) GO TO 367
QIN[51][I]=.0001627/(EIN[51]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[51]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[51]+BEF[1])
if(QIN[51][I]:
< 0.0) QIN[51][I]=0.0
if(EN <= (2.0*EIN[51]:
)) GO TO 367
PEQIN[51][I]=PEQEL[2][(I-IOFFN[51])]
# V=35 B1 SIGMA
367 if(EN <= EIN[52]) GO TO 368
QIN[52][I]=8.652e-5/(EIN[52]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[52]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[52]+BEF[1])
if(QIN[52][I]:
< 0.0) QIN[52][I]=0.0
if(EN <= (2.0*EIN[52]:
)) GO TO 368
PEQIN[52][I]=PEQEL[2][(I-IOFFN[52])]
# V=36 B1 SIGMA
368 if(EN <= EIN[53]) GO TO 369
QIN[53][I]=2.256e-5/(EIN[53]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[53]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[53]+BEF[1])
if(QIN[53][I]:
< 0.0) QIN[53][I]=0.0
if(EN <= (2.0*EIN[53]:
)) GO TO 369
PEQIN[53][I]=PEQEL[2][(I-IOFFN[53])]
# V=0 C1 PI
369 if(EN <= EIN[54]) GO TO 370
QIN[54][I]=.0476000/(EIN[54]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[54]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[54]+BEF[2])
if(QIN[54][I]:
< 0.0) QIN[54][I]=0.0
if(EN <= (2.0*EIN[54]:
)) GO TO 370
PEQIN[54][I]=PEQEL[2][(I-IOFFN[54])]
# V=1 C1 PI
370 if(EN <= EIN[55]) GO TO 371
QIN[55][I]=.0728400/(EIN[55]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[55]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[55]+BEF[2])
if(QIN[55][I]:
< 0.0) QIN[55][I]=0.0
if(EN <= (2.0*EIN[55]:
)) GO TO 371
PEQIN[55][I]=PEQEL[2][(I-IOFFN[55])]
# V=2 C1 PI
371 if(EN <= EIN[56]) GO TO 372
QIN[56][I]=.0698200/(EIN[56]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[56]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[56]+BEF[2])
if(QIN[56][I]:
< 0.0) QIN[56][I]=0.0
if(EN <= (2.0*EIN[56]:
)) GO TO 372
PEQIN[56][I]=PEQEL[2][(I-IOFFN[56])]
# V=3 C1 PI
372 if(EN <= EIN[57]) GO TO 373
QIN[57][I]=.0547200/(EIN[57]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[57]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[57]+BEF[2])
if(QIN[57][I]:
< 0.0) QIN[57][I]=0.0
if(EN <= (2.0*EIN[57]:
)) GO TO 373
PEQIN[57][I]=PEQEL[2][(I-IOFFN[57])]
# V=4 C1 PI
373 if(EN <= EIN[58]) GO TO 374
QIN[58][I]=.0387400/(EIN[58]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[58]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[58]+BEF[2])
if(QIN[58][I]:
< 0.0) QIN[58][I]=0.0
if(EN <= (2.0*EIN[58]:
)) GO TO 374
PEQIN[58][I]=PEQEL[2][(I-IOFFN[58])]
# V=5 C1 PI
374 if(EN <= EIN[59]) GO TO 375
QIN[59][I]=.0259800/(EIN[59]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[59]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[59]+BEF[2])
if(QIN[59][I]:
< 0.0) QIN[59][I]=0.0
if(EN <= (2.0*EIN[59]:
)) GO TO 375
PEQIN[59][I]=PEQEL[2][(I-IOFFN[59])]
# V=6 C1 PI
375 if(EN <= EIN[60]) GO TO 376
QIN[60][I]=.0170000/(EIN[60]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[60]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[60]+BEF[2])
if(QIN[60][I]:
< 0.0) QIN[60][I]=0.0
if(EN <= (2.0*EIN[60]:
)) GO TO 376
PEQIN[60][I]=PEQEL[2][(I-IOFFN[60])]
# V=7 C1 PI
376 if(EN <= EIN[61]) GO TO 377
QIN[61][I]=.0109900/(EIN[61]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[61]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[61]+BEF[2])
if(QIN[61][I]:
< 0.0) QIN[61][I]=0.0
if(EN <= (2.0*EIN[61]:
)) GO TO 377
PEQIN[61][I]=PEQEL[2][(I-IOFFN[61])]
# V=8 C1 PI
377 if(EN <= EIN[62]) GO TO 378
QIN[62][I]=.0070980/(EIN[62]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[62]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[62]+BEF[2])
if(QIN[62][I]:
< 0.0) QIN[62][I]=0.0
if(EN <= (2.0*EIN[62]:
)) GO TO 378
PEQIN[62][I]=PEQEL[2][(I-IOFFN[62])]
# V=9 C1 PI
378 if(EN <= EIN[63]) GO TO 379
QIN[63][I]=.0045920/(EIN[63]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[63]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[63]+BEF[2])
if(QIN[63][I]:
< 0.0) QIN[63][I]=0.0
if(EN <= (2.0*EIN[63]:
)) GO TO 379
PEQIN[63][I]=PEQEL[2][(I-IOFFN[63])]
# V=10 C1 PI
379 if(EN <= EIN[64]) GO TO 380
QIN[64][I]=.0029760/(EIN[64]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[64]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[64]+BEF[2])
if(QIN[64][I]:
< 0.0) QIN[64][I]=0.0
if(EN <= (2.0*EIN[64]:
)) GO TO 380
PEQIN[64][I]=PEQEL[2][(I-IOFFN[64])]
# V=11 C1 PI
380 if(EN <= EIN(65)) GO TO 381
QIN[65][I]=.0019090/(EIN(65)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(65)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(65)+BEF[2])
if(QIN[65][I]:
< 0.0) QIN[65][I]=0.0
if(EN <= (2.0*EIN(65):
)) GO TO 381
PEQIN[65][I]=PEQEL[2][(I-IOFFN(65))]
# V=12 C1 PI
381 if(EN <= EIN(66)) GO TO 382
QIN[66][I]=.0011710/(EIN(66)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(66)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(66)+BEF[2])
if(QIN[66][I]:
< 0.0) QIN[66][I]=0.0
if(EN <= (2.0*EIN(66):
)) GO TO 382
PEQIN[66][I]=PEQEL[2][(I-IOFFN(66))]
# V=13 C1 PI
382 if(EN <= EIN(67)) GO TO 383
QIN[67][I]=.0005590/(EIN(67)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(67)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(67)+BEF[2])
if(QIN[67][I]:
< 0.0) QIN[67][I]=0.0
if(EN <= (2.0*EIN(67):
)) GO TO 383
PEQIN[67][I]=PEQEL[2][(I-IOFFN(67))]
# C3PI V=0-4 METASTABLE LEVEL FRANCK-CONDON FAC=0.6967
# SCALED BY 1/E**3 ABOVE XC3PI(NC3PI) EV
383 if(EN <= EIN(68)) GO TO 387
if(EN > XC3PI(NC3PI):
) GO TO 386
DO 384 J=2,NC3PI
if(EN <= XC3PI[J]:
) GO TO 385
384 CONTINUE
J=NC3PI
385 A=(YC3PI[J]-YC3PI[J-1])/(XC3PI[J]-XC3PI[J-1])
B=(XC3PI[J-1]*YC3PI[J]-XC3PI[J]*YC3PI[J-1])/(XC3PI[J-1]-XC3PI[J])
QIN[68][I]=(A*EN+B)*1.e-16*0.6967
GO TO 1386
386 QIN[68][I]=YC3PI(NC3PI)*1.e-16*((XC3PI(NC3PI)/EN)**3)*0.6967
1386 if(EN <= (2.0*EIN(68))) GO TO 387
PEQIN[68][I]=PEQEL[2][(I-IOFFN(68))]
# C3PI V=5-18 METASTABLE LEVEL FRANCK-CONDON FAC=0.3033
# SCALED BY 1/E**3 ABOVE XC3PI(NC3PI) EV
387 if(EN <= EIN(69)) GO TO 391
if(EN > XC3PI(NC3PI):
) GO TO 390
DO 388 J=2,NC3PI
if(EN <= XC3PI[J]:
) GO TO 389
388 CONTINUE
J=NC3PI
389 A=(YC3PI[J]-YC3PI[J-1])/(XC3PI[J]-XC3PI[J-1])
B=(XC3PI[J-1]*YC3PI[J]-XC3PI[J]*YC3PI[J-1])/(XC3PI[J-1]-XC3PI[J])
QIN[69][I]=(A*EN+B)*1.e-16*0.3033
GO TO 1390
390 QIN[69][I]=YC3PI(NC3PI)*1.e-16*((XC3PI(NC3PI)/EN)**3)*0.3033
1390 if(EN <= (2.0*EIN(69))) GO TO 391
PEQIN[69][I]=PEQEL[2][(I-IOFFN(69))]
# A3SG V=0-2 FRANCK-CONDON FAC=0.6668
# SCALED BY 1/E**3 ABOVE XA3SG(NA3SG) EV
391 if(EN <= EIN(70)) GO TO 395
if(EN > XA3SG(NA3SG):
) GO TO 394
DO 392 J=2,NA3SG
if(EN <= XA3SG[J]:
) GO TO 393
392 CONTINUE
J=NA3SG
393 A=(YA3SG[J]-YA3SG[J-1])/(XA3SG[J]-XA3SG[J-1])
B=(XA3SG[J-1]*YA3SG[J]-XA3SG[J]*YA3SG[J-1])/(XA3SG[J-1]-XA3SG[J])
QIN[70][I]=(A*EN+B)*1.e-16*0.6668
GO TO 1394
394 QIN[70][I]=YA3SG(NA3SG)*1.e-16*((XA3SG(NA3SG)/EN)**3)*0.6668
1394 if(EN <= (2.0*EIN(70))) GO TO 395
PEQIN[70][I]=PEQEL[2][(I-IOFFN(70))]
# A3SG V=3-17 FRANCK-CONDON FAC=0.3332
# SCALED BY 1/E**3 ABOVE XA3SG(NA3SG) EV
395 if(EN <= EIN(71)) GO TO 399
if(EN > XA3SG(NA3SG):
) GO TO 398
DO 396 J=2,NA3SG
if(EN <= XA3SG[J]:
) GO TO 397
396 CONTINUE
J=NA3SG
397 A=(YA3SG[J]-YA3SG[J-1])/(XA3SG[J]-XA3SG[J-1])
B=(XA3SG[J-1]*YA3SG[J]-XA3SG[J]*YA3SG[J-1])/(XA3SG[J-1]-XA3SG[J])
QIN[71][I]=(A*EN+B)*1.e-16*0.3332
GO TO 1398
398 QIN[71][I]=YA3SG(NA3SG)*1.e-16*((XA3SG(NA3SG)/EN)**3)*0.3332
1398 if(EN <= (2.0*EIN(71))) GO TO 399
PEQIN[71][I]=PEQEL[2][(I-IOFFN(71))]
# E3SG V=0-9
# SCALED BY 1/E**3 ABOVE XE3SG(NE3SG) EV
399 if(EN <= EIN(72)) GO TO 403
if(EN > XE3SG(NE3SG):
) GO TO 402
DO 400 J=2,NE3SG
if(EN <= XE3SG[J]:
) GO TO 401
400 CONTINUE
J=NE3SG
401 A=(YE3SG[J]-YE3SG[J-1])/(XE3SG[J]-XE3SG[J-1])
B=(XE3SG[J-1]*YE3SG[J]-XE3SG[J]*YE3SG[J-1])/(XE3SG[J-1]-XE3SG[J])
QIN[72][I]=(A*EN+B)*1.e-16
GO TO 2402
402 QIN[72][I]=YE3SG(NE3SG)*1.e-16*(XE3SG(NE3SG)/EN)**3
2402 if(EN <= (2.0*EIN(72))) GO TO 403
PEQIN[72][I]=PEQEL[2][(I-IOFFN(72))]
# EF1 SIGMA V=0-5 FRANCK-CONDON FACTOR=0.4
# USE BORN SCALING ABOVE XEFSG(NEFSG) EV
403 if(EN <= EIN(73)) GO TO 407
if(EN > XEFSG(NEFSG):
) GO TO 406
DO 404 J=2,NEFSG
if(EN <= XEFSG[J]:
) GO TO 405
404 CONTINUE
J=NEFSG
405 A=(YEFSG[J]-YEFSG[J-1])/(XEFSG[J]-XEFSG[J-1])
B=(XEFSG[J-1]*YEFSG[J]-XEFSG[J]*YEFSG[J-1])/(XEFSG[J-1]-XEFSG[J])
QIN[73][I]=(A*EN+B)*1.e-16*0.4
GO TO 1406
406 QIN[73][I]=.0089000/(EIN(73)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(73)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(73)+BEF[3])
if(QIN[73][I]:
< 0.0) QIN[73][I]=0.0
1406 if(EN <= (2.0*EIN(73))) GO TO 407
PEQIN[73][I]=PEQEL[2][(I-IOFFN(73))]
# EF1 SIGMA V=6-19 FRANCK-CONDON FACTOR=0.6
# USE BORN SCALING ABOVE XEFSG(NEFSG) EV
407 if(EN <= EIN(74)) GO TO 411
if(EN > XEFSG(NEFSG):
) GO TO 410
DO 408 J=2,NEFSG
if(EN <= XEFSG[J]:
) GO TO 409
408 CONTINUE
J=NEFSG
409 A=(YEFSG[J]-YEFSG[J-1])/(XEFSG[J]-XEFSG[J-1])
B=(XEFSG[J-1]*YEFSG[J]-XEFSG[J]*YEFSG[J-1])/(XEFSG[J-1]-XEFSG[J])
QIN[74][I]=(A*EN+B)*1.e-16*0.6
GO TO 1410
410 QIN[74][I]=.0133000/(EIN(74)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(74)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(74)+BEF[3])
if(QIN[74][I]:
< 0.0) QIN[74][I]=0.0
1410 if(EN <= (2.0*EIN(74))) GO TO 411
PEQIN[74][I]=PEQEL[2][(I-IOFFN(74))]
# B#1 SIGMA V=0
411 if(EN <= EIN(75)) GO TO 412
QIN[75][I]=.003970/(EIN(75)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(75)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(75)+BEF[4])
if(QIN[75][I]:
< 0.0) QIN[75][I]=0.0
if(EN <= (2.0*EIN(75):
)) GO TO 412
PEQIN[75][I]=PEQEL[2][(I-IOFFN(75))]
# B#1 SIGMA V=1
412 if(EN <= EIN(76)) GO TO 413
QIN[76][I]=.008150/(EIN(76)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(76)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(76)+BEF[4])
if(QIN[76][I]:
< 0.0) QIN[76][I]=0.0
if(EN <= (2.0*EIN(76):
)) GO TO 413
PEQIN[76][I]=PEQEL[2][(I-IOFFN(76))]
# B#1 SIGMA V=2
413 if(EN <= EIN(77)) GO TO 414
QIN[77][I]=.009980/(EIN(77)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(77)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(77)+BEF[4])
if(QIN[77][I]:
< 0.0) QIN[77][I]=0.0
if(EN <= (2.0*EIN(77):
)) GO TO 414
PEQIN[77][I]=PEQEL[2][(I-IOFFN(77))]
# B#1 SIGMA V=3
414 if(EN <= EIN(78)) GO TO 415
QIN[78][I]=.009520/(EIN(78)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(78)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(78)+BEF[4])
if(QIN[78][I]:
< 0.0) QIN[78][I]=0.0
if(EN <= (2.0*EIN(78):
)) GO TO 415
PEQIN[78][I]=PEQEL[2][(I-IOFFN(78))]
# B#1 SIGMA V=4
415 if(EN <= EIN(79)) GO TO 416
QIN[79][I]=.007550/(EIN(79)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(79)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(79)+BEF[4])
if(QIN[79][I]:
< 0.0) QIN[79][I]=0.0
if(EN <= (2.0*EIN(79):
)) GO TO 416
PEQIN[79][I]=PEQEL[2][(I-IOFFN(79))]
# B#1 SIGMA V=5
416 if(EN <= EIN(80)) GO TO 417
QIN[80][I]=.004230/(EIN(80)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(80)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(80)+BEF[4])
if(QIN[80][I]:
< 0.0) QIN[80][I]=0.0
if(EN <= (2.0*EIN(80):
)) GO TO 417
PEQIN[80][I]=PEQEL[2][(I-IOFFN(80))]
# B#1 SIGMA V=6
417 if(EN <= EIN(81)) GO TO 418
QIN[81][I]=.000460/(EIN(81)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(81)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(81)+BEF[4])
if(QIN[81][I]:
< 0.0) QIN[81][I]=0.0
if(EN <= (2.0*EIN(81):
)) GO TO 418
PEQIN[81][I]=PEQEL[2][(I-IOFFN(81))]
# B#1 SIGMA V=7
418 if(EN <= EIN(82)) GO TO 419
QIN[82][I]=.000450/(EIN(82)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(82)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(82)+BEF[4])
if(QIN[82][I]:
< 0.0) QIN[82][I]=0.0
if(EN <= (2.0*EIN(82):
)) GO TO 419
PEQIN[82][I]=PEQEL[2][(I-IOFFN(82))]
# B#1 SIGMA V=8
419 if(EN <= EIN(83)) GO TO 420
QIN[83][I]=.000300/(EIN(83)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(83)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(83)+BEF[4])
if(QIN[83][I]:
< 0.0) QIN[83][I]=0.0
if(EN <= (2.0*EIN(83):
)) GO TO 420
PEQIN[83][I]=PEQEL[2][(I-IOFFN(83))]
# D1 PI V=0
420 if(EN <= EIN(84)) GO TO 421
QIN[84][I]=.007750/(EIN(84)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(84)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(84)+BEF[5])
if(QIN[84][I]:
< 0.0) QIN[84][I]=0.0
if(EN <= (2.0*EIN(85):
)) GO TO 421
PEQIN[84][I]=PEQEL[2][(I-IOFFN(84))]
# D1 PI V=1
421 if(EN <= EIN(85)) GO TO 422
QIN[85][I]=.013100/(EIN(85)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(85)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(85)+BEF[5])
if(QIN[85][I]:
< 0.0) QIN[85][I]=0.0
if(EN <= (2.0*EIN(85):
)) GO TO 422
PEQIN[85][I]=PEQEL[2][(I-IOFFN(85))]
# D1 PI V=2
422 if(EN <= EIN(86)) GO TO 423
QIN[86][I]=.013670/(EIN(86)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(86)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(86)+BEF[5])
if(QIN[86][I]:
< 0.0) QIN[86][I]=0.0
if(EN <= (2.0*EIN(86):
)) GO TO 423
PEQIN[86][I]=PEQEL[2][(I-IOFFN(86))]
# D1 PI V=3
423 if(EN <= EIN(87)) GO TO 424
QIN[87][I]=.011560/(EIN(87)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(87)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(87)+BEF[5])
if(QIN[87][I]:
< 0.0) QIN[87][I]=0.0
if(EN <= (2.0*EIN(87):
)) GO TO 424
PEQIN[87][I]=PEQEL[2][(I-IOFFN(87))]
# D1 PI V=4
424 if(EN <= EIN(88)) GO TO 425
QIN[88][I]=.008730/(EIN(88)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(88)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(88)+BEF[5])
if(QIN[88][I]:
< 0.0) QIN[88][I]=0.0
if(EN <= (2.0*EIN(88):
)) GO TO 425
PEQIN[88][I]=PEQEL[2][(I-IOFFN(88))]
# D1 PI V=5
425 if(EN <= EIN(89)) GO TO 426
QIN[89][I]=.006190/(EIN(89)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(89)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(89)+BEF[5])
if(QIN[89][I]:
< 0.0) QIN[89][I]=0.0
if(EN <= (2.0*EIN(89):
)) GO TO 426
PEQIN[89][I]=PEQEL[2][(I-IOFFN(89))]
# D1 PI V=6
426 if(EN <= EIN(90)) GO TO 427
QIN[90][I]=.004280/(EIN(90)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(90)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(90)+BEF[5])
if(QIN[90][I]:
< 0.0) QIN[90][I]=0.0
if(EN <= (2.0*EIN(90):
)) GO TO 427
PEQIN[90][I]=PEQEL[2][(I-IOFFN(90))]
# D1 PI V=7
427 if(EN <= EIN(91)) GO TO 428
QIN[91][I]=.002920/(EIN(91)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(91)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(91)+BEF[5])
if(QIN[91][I]:
< 0.0) QIN[91][I]=0.0
if(EN <= (2.0*EIN(91):
)) GO TO 428
PEQIN[91][I]=PEQEL[2][(I-IOFFN(91))]
# D1 PI V=8
428 if(EN <= EIN(92)) GO TO 429
QIN[92][I]=.001960/(EIN(92)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(92)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(92)+BEF[5])
if(QIN[92][I]:
< 0.0) QIN[92][I]=0.0
if(EN <= (2.0*EIN(92):
)) GO TO 429
PEQIN[92][I]=PEQEL[2][(I-IOFFN(92))]
# D1 PI V=9
429 if(EN <= EIN(93)) GO TO 430
QIN[93][I]=.001330/(EIN(93)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(93)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(93)+BEF[5])
if(QIN[93][I]:
< 0.0) QIN[93][I]=0.0
if(EN <= (2.0*EIN(93):
)) GO TO 430
PEQIN[93][I]=PEQEL[2][(I-IOFFN(93))]
# D1 PI V=10
430 if(EN <= EIN(94)) GO TO 431
QIN[94][I]=.000910/(EIN(94)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(94)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(94)+BEF[5])
if(QIN[94][I]:
< 0.0) QIN[94][I]=0.0
if(EN <= (2.0*EIN(94):
)) GO TO 431
PEQIN[94][I]=PEQEL[2][(I-IOFFN(94))]
# D1 PI V=11
431 if(EN <= EIN(95)) GO TO 432
QIN[95][I]=.000630/(EIN(95)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(95)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(95)+BEF[5])
if(QIN[95][I]:
< 0.0) QIN[95][I]=0.0
if(EN <= (2.0*EIN(95):
)) GO TO 432
PEQIN[95][I]=PEQEL[2][(I-IOFFN(95))]
# D1 PI V=12
432 if(EN <= EIN(96)) GO TO 433
QIN[96][I]=.000430/(EIN(96)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(96)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(96)+BEF[5])
if(QIN[96][I]:
< 0.0) QIN[96][I]=0.0
if(EN <= (2.0*EIN(96):
)) GO TO 433
PEQIN[96][I]=PEQEL[2][(I-IOFFN(96))]
# D1 PI V=13
433 if(EN <= EIN(97)) GO TO 434
QIN[97][I]=.000290/(EIN(97)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(97)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(97)+BEF[5])
if(QIN[97][I]:
< 0.0) QIN[97][I]=0.0
if(EN <= (2.0*EIN(97):
)) GO TO 434
PEQIN[97][I]=PEQEL[2][(I-IOFFN(97))]
# D1 PI V=14
434 if(EN <= EIN(98)) GO TO 435
QIN[98][I]=.000200/(EIN(98)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(98)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(98)+BEF[5])
if(QIN[98][I]:
< 0.0) QIN[98][I]=0.0
if(EN <= (2.0*EIN(98):
)) GO TO 435
PEQIN[98][I]=PEQEL[2][(I-IOFFN(98))]
# D1 PI V=15
435 if(EN <= EIN(99)) GO TO 436
QIN[99][I]=.000120/(EIN(99)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(99)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(99)+BEF[5])
if(QIN[99][I]:
< 0.0) QIN[99][I]=0.0
if(EN <= (2.0*EIN(99):
)) GO TO 436
PEQIN[99][I]=PEQEL[2][(I-IOFFN(99))]
# B##1 SIGMA SUM V=0-6 DISSOCIATIVE
# SCALED BY 1.08 FOR INCREASED ENERGY LOSSES FROM VIB SERIES
436 if(EN <= EIN(100)) GO TO 437
QIN(100,I)=.02230/(EIN(100)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(100)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(100)+BEF[5])*1.08
if(QIN(100,I):
< 0.0) QIN(100,I)=0.0
if(EN <= (2.0*EIN(100):
)) GO TO 437
PEQIN(100,I)=PEQEL[2][(I-IOFFN(100)])
# D#1 PI SUM V=0-3 DISSOCIATIVE
# SCALED BY 1.08 FOR INCREASED ENERGY LOSSES FROM VIB SERIES
437 if(EN <= EIN(101)) GO TO 438
QIN(101,I)=.01450/(EIN(101)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(101)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(101)+BEF[5])*1.08
if(QIN(101,I):
< 0.0) QIN(101,I)=0.0
if(EN <= (2.0*EIN(101):
)) GO TO 438
PEQIN(101,I)=PEQEL[2][(I-IOFFN(101)])
# B###1 SIGMA + D##1 PI VIBRATION SUMMED DISSOCIATIVE
# SCALED BY 1.08 FOR INCREASED ENERGY LOSSES FROM VIB SERIES
438 if(EN <= EIN(102)) GO TO 439
QIN(102,I)=.01450/(EIN(102)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(102)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(102)+BEF[5])*1.08
if(QIN(102,I):
< 0.0) QIN(102,I)=0.0
if(EN <= (2.0*EIN(102):
)) GO TO 439
PEQIN(102,I)=PEQEL[2][(I-IOFFN(102)])
# B####1 SIGMA + D###1 PI VIBRATION SUMMED DISSOCIATIVE
# SCALED BY 1.08 FOR INCREASED ENERGY LOSSES FROM VIB SERIES
439 if(EN <= EIN(103)) GO TO 440
QIN(103,I)=.01010/(EIN(103)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(103)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(103)+BEF[5])*1.08
if(QIN(103,I):
< 0.0) QIN(103,I)=0.0
if(EN <= (2.0*EIN(103):
)) GO TO 440
PEQIN(103,I)=PEQEL[2][(I-IOFFN(103)])
# B#####1 SIGMA + D####1 PI VIBRATION SUMMED DISSOCIATIVE
# SCALED BY 1.08 FOR INCREASED ENERGY LOSSES FROM VIB SERIES
440 if(EN <= EIN(104)) GO TO 441
QIN(104,I)=.00500/(EIN(104)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(104)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(104)+BEF[5])*1.08
if(QIN(104,I):
< 0.0) QIN(104,I)=0.0
if(EN <= (2.0*EIN(104):
)) GO TO 441
PEQIN(104,I)=PEQEL[2][(I-IOFFN(104)])
# CONTINUUM EXCITATION AROUND IONISATION ENERGY DISSOCIATIVE
# SCALED BY 1.20 FOR INCREASED ENERGY LOSSES ABOVE THRESHOLD
441 if(EN <= EIN(105)) GO TO 442
QIN(105,I)=.02680/(EIN(105)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(105)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(105)+BEF[5])*1.20
if(QIN(105,I):
< 0.0) QIN(105,I)=0.0
if(EN <= (2.0*EIN(105):
)) GO TO 442
PEQIN(105,I)=PEQEL[2][(I-IOFFN(105)])
# PREDISSOCIATION ABOVE IONISATION ENERGY DISSOCIATIVE
# SCALED BY 1.2 FOR INCREASED ENERGY LOSSES ABOVE THRESHOLD
442 if(EN <= EIN(106)) GO TO 443
QIN(106,I)=.01700/(EIN(106)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(106)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(106)+BEF[5])*1.20
if(QIN(106,I):
< 0.0) QIN(106,I)=0.0
if(EN <= (2.0*EIN(106):
)) GO TO 443
PEQIN(106,I)=PEQEL[2][(I-IOFFN(106)])
# DOUBLE EXCITED STATES TO NEUTRALS FROM BACKX ET AL
443 if(EN <= EIN(107)) GO TO 444
QIN(107,I)=.00927/(EIN(107)*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN(107)))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN(107)+BEF[5])
if(QIN(107,I):
< 0.0) QIN(107,I)=0.0
if(EN <= (2.0*EIN(107):
)) GO TO 444
PEQIN(107,I)=PEQEL[2][(I-IOFFN(107)])
444 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTION
if(EN <= 1000.):
GO TO 450
DO 445 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 446
445 CONTINUE
J=NBREM
446 A=(math.log(Z1T[J])-math.log(Z1T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z1T[J])*EBRM[J-1]-math.log(Z1T[J-1])*EBRM[J])/ (EBRM[J-1]-EBRM[J])
QIN(108,I)=math.exp(A*EN+B)*2.e-24
450 CONTINUE
#---------------------------------------------------------------------
Q[1][I]=0.0
DO 555 NL=1,107
Q[1][I]=Q[1][I]+QIN(NL,I)
555 CONTINUE
Q[1][I]=Q[1][I]+Q[2][I]+Q[4][I]+QION[1][I]+QION[2][I]
cc XLYMAN=0.0
c DISLYMAN=0.0
c DO 700 JK=17,53
c XLYMAN=XLYMAN+QIN(JK,I)
c DISLYMAN=DISLYMAN+QIN(JK,I)*DISLY(JK-16)
c 700 CONTINUE
c XWERNER=0.0
c DISWERNER=0.0
c DO 701 JK=54,67
c XWERNER=XWERNER+QIN(JK,I)
c DISWERNER=DISWERNER+QIN(JK,I)*DISWR(JK-53)
c 701 CONTINUE
c DISB1SIG=0.0
c QB1SIG=0.0
c DO 702 JK=75,83
c QB1SIG=QB1SIG+QIN(JK,I)
c DISB1SIG=DISB1SIG+QIN(JK,I)*DISB1S(JK-74)
c 702 CONTINUE
c DISD1PI=0.0
c QD1PI=0.0
c DO 703 JK=84,99
c QD1PI=QD1PI+QIN(JK,I)
c DISD1PI=DISD1PI+QIN(JK,I)*DISD1P(JK-83)
c 703 CONTINUE
c SUM TRIPLETS
c TRIPL=QIN[13][I]+QIN[14][I]+QIN[15][I]+QIN[16][I]+QIN[68][I]+QIN[69][I]+
c /QIN[70][I]+QIN[71][I]+QIN[72][I]
c DISEFL=(QIN[73][I]+QIN[74][I])*0.5
# SUM HIGH LEVELS
c QHIGH=QIN(100,I)+QIN(101,I)+QIN(102,I)+QIN(103,I)+QIN(104,I)+
c /QIN(105,I)+QIN(106,I)+QIN(107,I)
c DISTOT=TRIPL+DISLYMAN+DISWERNER+QHIGH+DISEFL
# TOTAL IONISATION
c QIONT=QION[1][I]+QION[2][I]
# OUTPUT XSECTIONS
# WRITE(6,991) EN,Q[2][I],Q[4][I],QIONT,Q[1][I],XLYMAN,XWERNER,
# /DISLYMAN,DISWERNER,TRIPL,QB1SIG,QD1PI,DISB1SIG,DISD1PI,QHIGH,
# /QIN(105,I),QIN(106,I),DISEFL,DISTOT,QIN(107,I)
# 991 print(' EN=','%.4f' % ,' ELAS=','%.4f' % ,' ATT =','%.4f' % ,'IONS=','%.4f' % ,'
# / TOT=','%.4f' % ,/,' XLYMAN=','%.4f' % ,' XWERNER =','%.4f' % ,' DISLYMAN=',
# /'%.4f' % ,' DISWERNER=','%.4f' % ,' DISTRIP=','%.4f' % ,/,'QB1SIG= ','%.4f' % ,
# /'QD1PI= ','%.4f' % ,' DISB1SIG=','%.4f' % ,' DISD1PI=','%.4f' % ,/,
# /' QHIGH=','%.4f' % ,/,' QIN105=','%.4f' % ,' QIN106=','%.4f' % ,' DISEFL=',
# /'%.4f' % ,' DISTOT=','%.4f' % ,/,' DOUBLEEXC=','%.4f' % )
900 CONTINUE
# SAVE COMPUTE TIME
NIN=12
if(EFINAL > 8.0 and EFINAL <= 10.0):
NIN=16
if(EFINAL > 10.0):
NIN=107
if(EFINAL > 1000.):
NIN=108
#
return
# end
def GAS22(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS23(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS24(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS25(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN):
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS26(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS27(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS28(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS29(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS30(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(159),YELM(159),YELT(159),YEPS(159),XATT(113),YAT1(113),YAT2(113),YAT3(113),YAT4(113),YAT5(113),YAT6(113),YAT7(113), XION[55],YION[55],YIN1[55],YIN2[55],YIN3[55],YIN4[55],YIN5[55],YIN6[55],YIN7[55],XL3SH(100),YL3SH(100),XL2SH(100),YL2SH(100),XL1SH(100),YL1SH(100),XKSHS(80),YKSHS(80),XKSHF(79),YKSHF(79),XV1V1[13],YV1V1[13],XV2V1[12],YV2V1[12],XV3V1[7],YV3V1[7],
,XV4V1[7],YV4V1[7],XV5V1[5],YV5V1[5],XVBV3[17],YVBV3[17],XTR1[12],YTR1[12], XTR2[11],YTR2[11],XTR3[11],YTR3[11],IOFFN[35],IOFFION[12]
DIMENSION Z9T[25],Z16T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
XEN=[0.00,.001,.005,.010,.025,.050,.075,0.10,0.20,0.30,0.35,0.40,0.45,0.50,0.60,0.70,0.80,0.90,1.00,1.20,1.50,2.00,2.50,3.00,3.50,4.00,4.50,5.00,6.00,7.00,8.00,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,22.0,25.0,30.0,35.0,40.0,45.0,50.0,60.0,70.0,75.0,80.0,90.0,100.,125.,150.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75D6,2.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC MOMENTUM TRANSFER X-SECTION
YELM=[1434.,1300.,890.,620.,386.,199.,122.,61.5,36.0,28.0,24.0,20.8,17.4,15.0,12.0,10.3,9.21,8.57,8.25,8.75,10.5,14.5,16.3,15.1,14.3,13.6,13.5,13.9,15.1,15.5,14.8,14.7,15.3,16.5,17.6,16.5,15.1,14.4,14.2,14.5,14.8,15.3,15.7,16.1,15.4,13.4,11.5,10.3,9.45,8.73,7.84,7.24,6.88,6.52,5.93,5.49,4.67,3.95,2.84,2.12,1.66,1.39,1.22,1.08,.960,.784,.642,.554,.447,0.35,.265,.225,.195,.135,.099,.0762,.0606,.0494,.0412,.0300,.0229,.0181,.0147,.0122,.00818,.00591,.00449,.00353,.00237,.00171,.00130,.00102,8.30e-4,6.88e-4,4.99e-4,3.80e-4,3.01e-4,2.45e-4,2.04e-4,1.40e-4,1.02e-4,7.92e-5,6.35e-5,4.41e-5,3.29e-5,2.58e-5,2.09e-5,1.74e-5,1.48e-5,1.12e-5,8.85e-6,7.22e-6,6.04e-6,5.15e-6,3.67e-6,2.77e-6,2.18e-6,1.77e-6,1.24e-6,9.22e-7,7.16e-7,5.74e-7,4.71e-7,3.94e-7,2.89e-7,2.21e-7,1.75e-7,1.42e-7,1.18e-7,7.94e-8,5.72e-8,4.32e-8,3.39e-8,2.25e-8,1.60e-8,1.20e-8,9.36e-9,7.50e-9,6.14e-9,4.33e-9,3.22e-9,2.49e-9,1.98e-9,1.61e-9,1.04e-9,7.21e-10,5.31e-10,4.07e-10,2.61e-10,1.81e-10,1.33e-10,1.02e-10,8.06e-11,6.53e-11,4.54e-11,3.33e-11,2.55e-11,2.02e-11,1.63e-11]
# ELASTIC TOTAL X-SECTION
YELT=[1434.,1300.,890.,620.,386.,209.,136.,77.0,45.0,35.0,30.0,26.2,21.8,18.7,14.8,12.5,11.1,10.2,9.72,9.73,10.9,14.8,17.6,18.4,19.6,19.5,20.0,21.0,23.6,24.2,24.6,25.0,25.2,25.8,26.6,25.5,24.9,24.7,24.6,24.5,24.5,24.6,24.7,25.3,25.3,24.7,24.0,23.5,23.0,22.4,21.2,20.1,19.7,19.3,18.6,18.0,16.2,14.8,12.5,11.1,10.0,9.15,8.45,7.84,7.14,6.45,5.74,5.30,4.52,3.94,3.43,3.04,2.73,2.28,1.96,1.72,1.53,1.39,1.26,1.08,.938,.832,.748,.680,.555,.470,.408,.362,.295,.251,.219,.194,.175,.160,.137,.121,.109,.0992,.0915,.0777,.0685,.0620,.0571,.0503,.0458,.0427,.0403,.0385,.0371,.0351,.0336,.0326,.0318,.0312,.0302,.0296,.0291,.0288,.0285,.0282,.0281,.0280,.0279,.0279,.0278,.0278,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0277,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276,.0276]
# EPSILON FOR ELASTIC ANGULAR DISTRIBUTION
# EPSILON=1.0-YEPS
YEPS=[.9999,.9999,.9999,.9999,.9999,.9283,.8463,.7035,.7053,.7053,.7053,.6967,.7027,.7084,.7208,.7396,.7479,.7630,.7755,.8496,.9450,.9696,.8907,.7327,.6061,.5630,.5345,.5179,.4898,.4906,.4427,.4260,.4515,.4898,.5175,.4967,.4472,.4192,.4114,.4291,.4466,.4663,.4845,.4845,.4495,.3719,.3052,.2643,.2383,.2190,.2015,.1934,.1842,.1752,.1600,.1492,.1365,.1215,.09574,.07381,.06047,.05348,.04969,.04650,.04482,.03893,.03466,.03168,.02936,.02538,.02106,.01989,.01897,.01481,.01209,.01019,.00880,.00774,.00691,.00567,.00481,.00417,.00368,.00329,.00260,.00215,.00183,.001588,.001257,.001037,8.82e-4,7.66e-4,6.76e-4,6.04e-4,4.97e-4,4.21e-4,3.64e-4,3.19e-4,2.84e-4,2.21e-4,1.798e-4,1.504e-4,1.285e-4,9.83e-5,7.86e-5,6.47e-5,5.45e-5,4.68e-5,4.07e-5,3.18e-5,2.56e-5,2.12e-5,1.786e-5,1.529e-5,1.093e-5,8.22e-6,6.42e-6,5.16e-6,3.55e-6,2.60e-6,1.99e-6,1.568e-6,1.270e-6,1.049e-6,7.52e-7,5.65e-7,4.41e-7,3.53e-7,2.89e-7,1.89e-7,1.331e-7,9.87e-8,7.62e-8,4.92e-8,3.44e-8,2.53e-8,1.94e-8,1.533e-8,1.241e-8,8.58e-9,6.27e-9,4.77e-9,3.74e-9,3.01e-9,1.89e-9,1.29e-9,9.38e-10,7.09e-10,4.44e-10,3.03e-10,2.20e-10,1.66e-10,1.30e-10,1.04e-10,7.1D-11,5.1D-11,3.9D-11,3.0D-11,2.4D-11]
# V1 RAMAN ISOTROPIC SCALED BY 1/E**2 ABOVE 1.0 EV
XV1V1=[.096032,.100,.114,0.25,0.20,0.25,0.30,0.35,0.40,0.50,0.55,0.70,1.00]
YV1V1=[0.00,19.0,21.0,15.7,9.68,8.80,8.80,7.54,6.28,6.00,5.60,4.20,2.45]
# 2V1 RAMAN ISOTROPIC SCALED BY 1/E**2 ABOVE 1.0EV
XV2V1=[.192064,0.20,0.23,0.25,0.30,0.35,0.40,0.50,0.55,0.60,0.70,1.00]
YV2V1=[0.00,3.14,4.14,3.52,3.02,2.76,2.64,2.14,1.98,1.85,1.70,0.99]
# 3V1 RAMAN ISOTROPIC SCALED BY 1/E**2 ABOVE 1.0EV
XV3V1=[0.288096,0.325,0.40,0.50,0.60,0.70,1.00]
YV3V1=[0.00,2.3,1.6,1.30,1.10,0.85,0.50]
# 4V1 RAMAN ISOTROPIC SCALED BY 1/E**2 ABOVE 1.0EV
XV4V1=[.384128,0.45,0.50,0.55,0.60,0.70,1.00]
YV4V1=[0.00,1.15,0.85,0.65,0.55,0.50,0.29]
# 5V1+HIGHER V1 RAMAN ISOTROPIC SCALED BY 1/E**2 ABOVE 1.0EV
XV5V1=[.48016,0.55,0.60,0.70,1.00]
YV5V1=[0.00,1.00,0.70,0.45,0.26]
# V3 DIPOLE ANISOTROPIC
# V3 DIPOLE PART AS ANALYTIC def IN def
# V3 DIRECT PART AT THRESHOLD AND ALSO RESONANT STRUCTURE ABOVE 6EV
# GIVEN AS TABLES.
#
XVBV3=[.11754,.125,0.13,0.14,0.15,0.16,0.17,0.18,0.19,5.00,6.00,7.00,8.00,9.00,10.0,12.0,15.0]
YVBV3=[0.00,20.0,17.0,13.0,9.00,6.00,3.50,2.00,0.00,0.00,1.50,4.00,2.00,0.00,0.00,4.50,0.00]
# V4 DIPOLE ANISOTROPIC
# V4 DIPOLE GIVEN AS ANALYTIC def IN def
#
# NOTE : IONISATION X-SECTIONS ABOVE 1KEV GIVEN BY BORN-BETHE.
# IONISATION FROM RAP ET AL AND LINDSAY ET AL.
#
XION=[15.67,16.5,17.0,17.5,18.0,18.5,19.0,19.5,21.0,21.5, 22.0,22.5,23.0,23.5,24.0,26.0,28.0,30.0,32.0,34.0,36.0,38.0,40.0,45.0,50.0,55.0,60.0,65.0,70.0,75.0,80.0,85.0,90.0,95.0,100.,105.,110.,115.,120.,125.,130.,135.,140.,145.,150.,160.,180.,200.,250.,300.,400.,500.,600.,800.,1000.]
# IONISATION TO SF5 +
YION=[0.00,.020,.035,.055,.084,.118,.154,.197,.314,.370, .434,.509,.584,.670,.760,1.13,1.36,1.61,1.83,2.08,2.26,2.37,2.46,2.63,2.81,2.99,3.02,3.08,3.16,3.19,3.25,3.28,3.27,3.29,3.30,3.31,3.32,3.33,3.33,3.32,3.30,3.30,3.29,3.29,3.30,3.30,3.24,3.20,3.03,2.92,2.62,2.42,2.21,1.86,1.65]
# IONISATION TO SF4 +
YIN1=[0.00,0.00,0.00,0.00,0.00,0.00,.001,.003,.009,.011, .012,.014,.017,.020,.022,.038,.052,.076,.110,.130,.148,.161,.173,.180,.202,.220,.228,.240,.256,.261,.269,.271,.271,.277,.282,.283,.284,.285,.285,.284,.284,.284,.285,.280,.277,.268,.266,.265,.243,.237,.208,.199,.172,.146,.127]
# IONISATION TO SF3 +
YIN2=[0.00,0.00,0.00,0.00,0.00,0.00,0.00,.002,.008,.010,.011,.013,.020,.028,.038,.092,.148,.242,.340,.449,.546,.598,.648,.603,.694,.768,.812,.843,.881,.886,.898,.922,.938,.950,.958,.961,.964,.966,.964,.964,.963,.965,.965,.961,.960,.949,.936,.927,.869,.814,.717,.660,.598,.493,.449]
# IONISATION TO SF2 +
YIN3=[16*0.0,.001,.002,.021,.043,.072,.097,.125,.186,.233,.261,.281,.292,.306,.300,.296,.305,.312,.311,.310,.307,.304,.301,.296,.295,.293,.292,.291,.286,.282,.272,.267,.264,.234,.217,.172,.154,.140,.113,.098]
# IONISATION TO SF +
YIN4=[19*0.0,.001,.014,.031,.054,.163,.282,.348,.405,.447,.496,.512,.534,.570,.601,.615,.625,.634,.642,.648,.654,.650,.646,.643,.640,.644,.650,.657,.638,.622,.569,.515,.425,.383,.342,.267,.221]
# IONISATION TO S +
YIN5=[21*0.0,.003,.011,.030,.072,.112,.152,.181,.214,.233,.256,.275,.291,.310,.328,.345,.362,.378,.394,.398,.401,.406,.411,.413,.417,.421,.424,.428,.390,.370,.300,.263,.233,.173,.151]
# IONISATION TO F +
YIN6=[21*0.0,.002,.007,.025,.052,.092,.134,.186,.242,.267,.296,.349,.401,.448,.495,.530,.566,.602,.637,.658,.677,.699,.721,.735,.753,.780,.807,.838,.817,.759,.627,.538,.481,.372,.297]
# IONISATION TO SUM OF DOUBLE CHARGED STATES SF3,SF2,SF ALL ++
# MAJORITY IN STATE SF2 ++
YIN7=[25*0.0,.011,.0217,.0330,.0445,.0585,.0730,.0850,.0980,.1084,.1188,.1257,.1326,.1395,.1463,.1505,.1548,.1590,.1633,.1631,.1629,.1624,.1652,.1681,.1546,.1419,.1189,.1023,.0894,.0684,.0611]
# SULFUR L3 SHELL
XL3SH=[164.16,170.6,175.8,181.2,186.7,192.3,198.1,204.1,210.3,216.7,229.9,244.0,258.9,274.6,318.3,358.0,390.9,439.5,494.0,555.1,605.9,700.7,810.3,910.1,1022.,1216.,1447.,1671.,1932.,2232.,2578.,2978.,3440.,3974.,4460.,5005.,5950.,7072.,8168.,9165.,1.00D4,1.15D4,1.30D4,1.45D4,1.63D4,1.83D4,2.05D4,2.37D4,2.74'%.3f' %.16'%.3f' %.65D4,4.22D4,4.87D4,5.62D4,6.49D4,7.50D4,8.66D4,1.00D5,1.26D5,1.54D5,2.05D5,2.51'%.3f' %.07'%.3f' %.55D5,4.10D5,5.01D5,6.13D5,7.29D5,8.66D5,1.00D6,1.26D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.26D7,1.50D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.00D8,1.26D8,1.50D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.00D9]
YL3SH=[0.00,1.49e-3,2.62e-3,3.72e-3,4.79e-3,5.83e-3,6.84e-3,7.81e-3,8.75e-3,9.65e-3,1.13e-2,1.29e-2,1.43e-2,1.56e-2,1.83e-2,1.99e-2,2.09e-2,2.19e-2,2.25e-2,2.28e-2,2.29e-2,2.26e-2,2.21e-2,2.15e-2,2.07e-2,1.94e-2,1.80e-2,1.67e-2,1.55e-2,1.43e-2,1.31e-2,1.20e-2,1.10e-2,9.99e-3,9.24e-3,8.54e-3,7.56e-3,6.68e-3,6.01e-3,5.52e-3,5.17e-3,4.64e-3,4.26e-3,3.90e-3,3.57e-3,3.27e-3,3.00e-3,2.68e-3,2.41e-3,2.16e-3,1.94e-3,1.74e-3,1.56e-3,1.41e-3,1.27e-3,1.15e-3,1.05e-3,9.52e-4,8.26e-4,7.35e-4,6.33e-4,5.78e-4,5.34e-4,5.08e-4,4.87e-4,4.63e-4,4.47e-4,4.37e-4,4.30e-4,4.28e-4,4.27e-4,4.29e-4,4.39e-4,4.57e-4,4.74e-4,4.87e-4,5.00e-4,5.10e-4,5.21e-4,5.35e-4,5.53e-4,5.66e-4,5.90e-4,6.21e-4,6.44e-4,6.60e-4,6.76e-4,6.87e-4,6.99e-4,7.15e-4,7.33e-4,7.47e-4,7.72e-4,8.04e-4,8.27e-4,8.43e-4,8.59e-4,8.71e-4,8.82e-4,8.98e-4]
# SULFUR L2 SHELL
XL2SH=[165.36,170.5,175.7,181.0,186.5,192.2,198.0,204.0,210.2,216.5,229.8,243.8,258.7,274.5,318.1,357.8,390.7,439.3,493.8,555.0,605.7,700.6,810.2,909.9,1022.,1216.,1447.,1671.,1932.,2232.,2578.,2978.,3440.,3974.,4460.,5005.,5950.,7072.,8168.,9165.,1.00D4,1.15D4,1.30D4,1.45D4,1.63D4,1.83D4,2.05D4,2.37D4,2.74'%.3f' %.16'%.3f' %.65D4,4.22D4,4.87D4,5.62D4,6.49D4,7.50D4,8.66D4,1.00D5,1.26D5,1.54D5,2.05D5,2.51'%.3f' %.07'%.3f' %.55D5,4.10D5,5.01D5,6.13D5,7.29D5,8.66D5,1.00D6,1.26D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.26D7,1.50D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.00D8,1.26D8,1.50D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.00D9]
YL2SH=[0.00,5.76e-4,1.13e-3,1.68e-3,2.21e-3,2.72e-3,3.22e-3,3.70e-3,4.16e-3,4.61e-3,5.45e-3,6.23e-3,6.93e-3,7.57e-3,8.91e-3,9.73e-3,1.02e-2,1.07e-2,1.10e-2,1.12e-2,1.12e-2,1.11e-2,1.09e-2,1.06e-2,1.02e-2,9.56e-3,8.85e-3,8.24e-3,7.64e-3,7.04e-3,6.47e-3,5.94e-3,5.42e-3,4.93e-3,4.57e-3,4.22e-3,3.74e-3,3.30e-3,2.97e-3,2.73e-3,2.56e-3,2.29e-3,2.10e-3,1.93e-3,1.77e-3,1.62e-3,1.48e-3,1.33e-3,1.19e-3,1.07e-3,9.57e-4,8.60e-4,7.74e-4,6.97e-4,6.30e-4,5.70e-4,5.17e-4,4.71e-4,4.08e-4,3.64e-4,3.13e-4,2.86e-4,2.64e-4,2.51e-4,2.41e-4,2.29e-4,2.21e-4,2.16e-4,2.13e-4,2.12e-4,2.11e-4,2.13e-4,2.17e-4,2.26e-4,2.35e-4,2.41e-4,2.48e-4,2.53e-4,2.58e-4,2.65e-4,2.73e-4,2.80e-4,2.92e-4,3.08e-4,3.19e-4,3.27e-4,3.35e-4,3.40e-4,3.46e-4,3.54e-4,3.63e-4,3.70e-4,3.82e-4,3.98e-4,4.09e-4,4.17e-4,4.25e-4,4.31e-4,4.37e-4,4.45e-4]
# SULFUR L1 SHELL
XL1SH=[230.9,235.3,242.1,249.0,256.1,263.5,271.0,278.8,286.8,295.0,303.5,321.2,339.9,370.1,403.1,439.0,478.1,520.8,567.3,618.0,692.8,754.8,822.5,896.2,976.6,1095.,1193.,1301.,1418.,1545.,1733.,2000.,2517.,3078.,3553.,4102.,4602.,5163.,6136.,7291.,8419.,1.00D4,1.19D4,1.41D4,1.63D4,1.83D4,2.05D4,2.51'%.3f' %.07'%.3f' %.55D4,4.10D4,4.60D4,5.16D4,5.62D4,6.49D4,7.72D4,8.91D4,1.00D5,1.26D5,1.54D5,2.05D5,2.51'%.3f' %.07'%.3f' %.55D5,4.10D5,5.01D5,6.13D5,7.29D5,8.66D5,1.00D6,1.26D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.26D7,1.50D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.00D8,1.26D8,1.50D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.00D9]
YL1SH=[0.00,1.83e-4,4.44e-4,6.95e-4,9.35e-4,1.17e-3,1.39e-3,1.60e-3,1.81e-3,2.00e-3,2.19e-3,2.54e-3,2.87e-3,3.30e-3,3.68e-3,4.00e-3,4.26e-3,4.48e-3,4.65e-3,4.77e-3,4.87e-3,4.89e-3,4.89e-3,4.85e-3,4.78e-3,4.66e-3,4.54e-3,4.41e-3,4.26e-3,4.11e-3,3.89e-3,3.60e-3,3.15e-3,2.77e-3,2.52e-3,2.28e-3,2.11e-3,1.94e-3,1.71e-3,1.50e-3,1.34e-3,1.18e-3,1.03e-3,8.97e-4,8.00e-4,7.31e-4,6.67e-4,5.69e-4,4.86e-4,4.34e-4,3.89e-4,3.56e-4,3.26e-4,3.06e-4,2.75e-4,2.44e-4,2.20e-4,2.04e-4,1.76e-4,1.56e-4,1.34e-4,1.22e-4,1.12e-4,1.06e-4,1.02e-4,9.63e-5,9.24e-5,9.00e-5,8.84e-5,8.76e-5,8.71e-5,8.72e-5,8.85e-5,9.16e-5,9.44e-5,9.66e-5,9.89e-5,1.01e-4,1.03e-4,1.05e-4,1.08e-4,1.10e-4,1.14e-4,1.20e-4,1.24e-4,1.27e-4,1.29e-4,1.31e-4,1.33e-4,1.36e-4,1.39e-4,1.42e-4,1.46e-4,1.52e-4,1.56e-4,1.59e-4,1.61e-4,1.63e-4,1.65e-4,1.68e-4]
# SULFUR K SHELL
XKSHS=[2472.,2528.,2601.,2677.,2755.,2834.,2917.,3001.,3089.,3178.,3271.,3366.,3464.,3564.,3668.,3774.,3884.,3997.,4113.,4233.,4356.,4483.,4748.,5028.,5325.,5804.,6510.,7515.,8430.,9457.,11240.,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.00D5,1.50D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.00D6,1.26D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.26D7,1.50D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.00D8,1.26D8,1.50D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.00D9]
YKSHS=[0.0,2.47e-6,5.51e-6,8.42e-6,1.12e-5,1.39e-5,1.65e-5,1.89e-5,2.13e-5,2.35e-5,2.56e-5,2.77e-5,2.96e-5,3.15e-5,3.32e-5,3.49e-5,3.65e-5,3.80e-5,3.94e-5,4.08e-5,4.21e-5,4.33e-5,4.55e-5,4.74e-5,4.91e-5,5.11e-5,5.31e-5,5.44e-5,5.46e-5,5.42e-5,5.27e-5,4.84e-5,4.23e-5,3.82e-5,3.43e-5,2.91e-5,2.59e-5,2.30e-5,2.11e-5,1.94e-5,1.73e-5,1.39e-5,1.20e-5,1.04e-5,9.49e-6,9.11e-6,8.84e-6,8.71e-6,8.63e-6,8.60e-6,8.65e-6,8.74e-6,9.01e-6,9.50e-6,9.91e-6,1.02e-5,1.06e-5,1.08e-5,1.10e-5,1.14e-5,1.18e-5,1.21e-5,1.27e-5,1.34e-5,1.40e-5,1.44e-5,1.47e-5,1.50e-5,1.53e-5,1.57e-5,1.61e-5,1.64e-5,1.70e-5,1.78e-5,1.83e-5,1.88e-5,1.91e-5,1.94e-5,1.97e-5,2.00e-5]
# FLUORINE K-SHELL IONISATION X-SECTION
XKSHF=[685.4,705.,726.,747.,770.,792.,816.,840.,865.,890.,916.,944.,1000.,1090.,1188.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3758.,4467.,5158.,5957.,7079.,1.0D4,1.26D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.50D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.00D6,1.26D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.26D7,1.50D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.00D8,1.26D8,1.50D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.00D9]
YKSHF=[0.00,3.39e-5,6.77e-5,1.00e-4,1.32e-4,1.63e-4,1.92e-4,2.21e-4,2.48e-4,2.75e-4,3.00e-4,3.25e-4,3.71e-4,4.33e-4,4.87e-4,5.34e-4,5.96e-4,6.32e-4,6.57e-4,6.69e-4,6.77e-4,6.79e-4,6.68e-4,6.33e-4,5.97e-4,5.62e-4,5.25e-4,4.80e-4,3.93e-4,3.41e-4,3.04e-4,2.45e-4,2.13e-4,1.85e-4,1.51e-4,1.31e-4,1.14e-4,1.04e-4,9.46e-5,8.32e-5,6.58e-5,5.60e-5,4.80e-5,4.35e-5,4.15e-5,4.00e-5,3.93e-5,3.89e-5,3.85e-5,3.86e-5,3.89e-5,3.98e-5,4.17e-5,4.33e-5,4.45e-5,4.58e-5,4.68e-5,4.78e-5,4.92e-5,5.09e-5,5.21e-5,5.45e-5,5.75e-5,5.96e-5,6.12e-5,6.27e-5,6.38e-5,6.49e-5,6.64e-5,6.82e-5,6.95e-5,7.19e-5,7.50e-5,7.72e-5,7.88e-5,8.03e-5,8.14e-5,8.25e-5,8.40e-5]
# ATTACHMENT (ALL AT 300 KELVIN)
XATT=[1.e-6,.00002,.00005,.00007,.0001,.0002,.0003,.0004,.0005,.0006,.0007,.0008,.0009,.001,.002,.003,.004,.005,.006,.007,.008,.009,.010,.015,.020,.025,.030,.035,.040,.045,.050,.055,.060,.065,.070,.075,.080,.085,.090,.095,.100,.105,.110,.115,.120,.125,.130,.140,.150,.160,.170,.180,.190,.200,.220,.240,.260,.280,.300,.350,.400,.450,.500,.550,.600,.650,.700,.750,.800,.850,.900,.950,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70,1.80,1.90,2.00,2.25,2.50,2.75,3.00,3.50,4.00,4.50,5.00,5.50,6.00,6.50,7.00,7.50,8.00,8.50,9.00,9.50,10.0,10.25,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5]
# ATTACHMENT SF6- BRAUN ET AL 2009
YAT1=[19845.,19845.,12346.,10350.,8571.,5906.,4728.,4028.,3551.,3200.,2927.,2708.,2527.,2374.,1540.,1196.,989.6,865.4,762.2,683.8,612.8,564.5,534.6,380.8,308.3,258.8,219.7,191.3,173.2,153.9,130.6,121.5,108.1,103.8,89.56,91.17,83.17,80.07,72.08,73.68,50.47,39.94,34.78,31.24,31.00,25.33,21.04,17.71,14.66,11.74,9.21,7.31,5.59,3.99,1.96,1.00,.526,.266,.126,.036,.029,.017,.013,50*0.0]
# ATTACHMENT DISSOCIATIVE SF5- BRAUN ET AL 2009
YAT2=[14*0.0,.477,.453,.443,.413,.395,.377,.366,.349,.342,.292,.259,.232,.220,.203,.192,.179,.171,.161,.155,.148,.144,.142,.134,.132,.130,.123,.113,.109,.103,.101,.096,.093,.093,.096,.099,.100,.110,.115,.123,.123,.134,.164,.198,.232,.265,.389,.513,.676,.743,.810,.710,.632,.479,.394,.299,.247,.190,.157,.130,.0801,.0573,.0397,.0283,.0189,.0150,.0103,.0069,.0049,31*0.0]
# ATTACHMENT DISSOCIATIVE SF4- J.PHYS.CHEM.REF.29(2000)267
# UNITS 10**-18
YAT3=[87*0.0,.0084,.0350,.144,.457,.528,.394,.251,.130,.046,.0084,.0032,15*0.0]
# ATTACHMENT DISSOCIATIVE SF3- J.PHYS.CHEM.REF.29(2000)267
# UNITS 10**-18
YAT4=[96*0.0,.0014,.0046,.015,.033,.051,.0577,.064,.075,.071,.049,.026,.011,.0031,.0008,3*0.0]
# ATTACHMENT DISSOCIATIVE SF2- J.PHYS.CHEM.REF.29(2000)267
# UNITS 10**-18
YAT5=[100*0.0,0.00,.00019,.00037,.0014,.0042,.0076,.0106,.0087,.0044,.0017,.00068,.00028,0.00]
# ATTACHMENT DISSOCIATIVE F2- J.PHYS.CHEM.REF.29(2000)267
# UNITS 10**-18
YAT6=[77*0.0,.003,.004,.005,.006,.007,.008,.0075,.006,.0042,.0026,.0026,.00265,.0707,.0489,.0155,.0038,.0019,.0015,.0015,.0018,.0031,.0065,.0104,.0200,.0308,.0503,.0910,.0954,.0615,.0274,.0111,.0050,.0032,.0018,.0012,0.00]
# ATTACHMENT DISSOCIATIVE F- J.PHYS.CHEM.REF.29(2000)267
# UNITS 10**-18
YAT7=[80*0.0,0.00,.010,.022,.075,.149,.162,.098,.171,.856,2.69,4.63,4.39,2.78,1.37,.749,.615,.977,1.42,1.57,1.39,1.13,1.14,1.31,2.10,2.35,1.95,1.22,.629,.400,.340,.310,.300,0.0]
# DISSOCIATION TRIPLET + SINGLETS ( SINGLETS GIVEN ANALYTICALLY)
#
# TRIPLETS SCALED BY 1/E**2 AT HIGH ENERGY
XTR1=[9.60,10.6,12.0,13.0,14.0,15.0,17.0,19.0,22.0,25.0,29.0,32.0]
YTR1=[0.00,.009,.030,.045,.050,.054,.059,.060,.054,.045,.033,.026]
XTR2=[10.9,12.4,14.0,15.0,16.0,18.0,20.0,23.0,26.0,30.0,33.0]
YTR2=[0.00,.053,.097,.111,.119,.130,.132,.119,.099,.073,.057]
XTR3=[14.4,15.4,17.0,18.0,20.0,22.0,25.0,28.0,32.0,35.0,38.0]
YTR3=[0.00,.110,.227,.265,.299,.315,.315,.299,.236,.183,.135]
# BREMSSTRAHLUNG X-SECTION WITH CUT UNITS 10**-24
Z16T=[1299.,871.,480.,289.,167.,79.5,46.9,29.4,19.6,17.5,17.5,17.8,18.2,18.5,18.6,18.9,19.1,19.3,19.5,19.7,19.8,19.9,20.0,20.0,20.1]
Z9T=[573.,358.,179.,101.6,57.3,26.5,15.4,9.63,6.52,5.92,6.01,6.18,6.35,6.43,6.52,6.65,6.75,6.87,6.95,7.02,7.07,7.10,7.12,7.13,7.14]
EBRM=[1000.,2000.,5000.,1.E4,2.E4,5.E4,1.E5,2.E5,5.E5,1.E6,2.E6,3.E6,4.E6,5.E6,6.E6,8.E6,1.E7,1.5E7,2.E7,3.E7,4.E7,5.E7,6.E7,8.E7,1.E8]
#-----------------------------------------------------------------------
#
#-----------------------------------------------------------------------
# NANISO=0
if(NANISO == 0):
:
NAME=' SF6 2014 ISOTROPIC '
else:
NAME=' SF6 2014 ANISOTROPIC '
# endif
#-----------------------------------------------------------------------
# BORN BETHE CONSTANTS
A0=0.52917720859e-08
RY=13.60569193
CONST=1.873884e-20
EMASS2=1021997.804
API=numpy.arccos(-1.00)
BBCONST=16.00*API*A0*A0*RY*RY/EMASS2
#
# BORN BETHE VALUES FOR IONISATION
AM2=13.894
C=140.7
# TRIPLET ANPLITUDE NORMALISATION
AMPTR1=1.0
AMPTR2=1.0
AMPTR3=1.0
# DIPOLE CONSTANT FOR VIBRATIONS V4 AND V3
V4DCONST=0.236
V3DCONST=2.83
# ARRAY SIZE
NASIZE=20000
#
NION=12
NATT=1
NIN=35
NNULL=0
IONMODEL=0
#
NBREM=25
DO 8 J=1,NIN
IZBR[J]=0
8 CONTINUE
IZBR[36]=16
IZBR[37]=9
#
DO 1 J=1,6
1 KEL[J]=NANISO
# SUPERELASTIC, V4,V1 AND V3 SET TO ISOTROPIC
# NB SET TO 2 IN DEGRAD
KIN[1]=0
KIN[3]=0
KIN[5]=0
# INELASTIC V1,2V1,3V1,4V1 AND 5V1 SET TO STANDARD ANG DISTRIBUTION
KIN[4]=2
KIN[7]=2
KIN[8]=2
KIN[9]=2
KIN[10]=2
# V4 AND V3 VIBRATIONS ANISOTROPIC ( CAPITELLI-LONGO)
# NB SET TO 2 IN DEGRAD
KIN[2]=1
KIN[6]=1
#
# ANGULAR DISTRIBUTION FOR DISSOCIATIVE EXCITATION IS OKHRIMOVSKYY TYPE
DO 2 J=11,NIN
2 KIN[J]=2
#
# RAT IS MOMENTUM TRANSFER TO TOTAL RATIO FOR VIBRATIONS IN THE
# RESONANCE AND THRESHOLD REGION FOR THE VIBRATION V3.
# USED DIPOLE ANGULAR DISTRIBUTION FOR V3 AND V4 NEAR THRESHOLD.
RAT=1.0
#
NDATA=159
N1V1=13
N2V1=12
N3V1=7
N4V1=7
N5V1=5
N1V3=17
NIOND=55
NIONL3=100
NIONL2=100
NIONL1=100
NKSHS=80
NKSHF=79
NATT1=113
NTRP1=12
NTRP2=11
NTRP3=11
# VIBRATIONAL DEGENERACY
DEGV4=3.0
DEGV1=1.0
DEGV3=3.0
#
E[1]=0.0
E[2]=2.0*EMASS/(146.0554192*AMU)
E[3]=15.67
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=E[3]
EION[2]=18.5
EION[3]=18.8
EION[4]=27.0
EION[5]=31.0
EION[6]=37.0
EION[7]=46.5
EION[8]=164.16
EION[9]=165.36
EION[10]=230.9
EION[11]=2472.0
EION[12]=685.4
# OPAL BEATY
EOBY[1]=EION[1]*0.8
EOBY[2]=EION[2]*0.8
EOBY[3]=EION[3]*0.8
EOBY[4]=EION[4]*0.8
EOBY[5]=EION[5]*0.8
EOBY[6]=EION[6]*0.8
EOBY[7]=EION[7]*0.8
EOBY[8]=EION[8]*1.0
EOBY[9]=EION[9]*1.0
EOBY[10]=EION[10]*1.0
EOBY[11]=EION[11]*1.0
EOBY[12]=EION[12]*1.0
#
# FLUORESCENCE DATA
DO 22 NK=1,6
NC0(NK)=0
EC0(NK)=0.0
WKLM(NK)=0.0
EFL(NK)=0.0
NG1(NK)=0
EG1(NK)=0.0
NG2(NK)=0
EG2(NK)=0.0
LEGAS(NK)=0
ISHELL(NK)=0
22 CONTINUE
# IONISATION TO 2+ CHARGE STATES
NC0[7]=1
EC0[7]=1.0
WKLM[7]=0.0
EFL[7]=0.0
NG1[7]=0
EG1[7]=0.0
NG2[7]=0
EG2[7]=0.0
LEGAS[7]=0
ISHELL[7]=0
# SULFUR L3 SHELL
NC0[8]=2
EC0[8]=138.
WKLM[8]=0.00093
EFL[8]=150.
NG1[8]=1
EG1[8]=138.
NG2[8]=1
EG2[8]=5.
LEGAS[8]=1
ISHELL[8]=4
# SULFUR L2 SHELL
NC0[9]=2
EC0[9]=133.
WKLM[9]=0.00093
EFL[9]=150.
NG1[9]=1
EG1[9]=133.
NG2[9]=1
EG2[9]=5.0
LEGAS[9]=1
ISHELL[9]=3
# SULFUR L1 SHELL
NC0[10]=2
EC0[10]=170.
WKLM[10]=0.00093
EFL[10]=215.
NG1[10]=2
EG1[10]=170.
NG2[10]=1
EG2[10]=5.0
LEGAS[10]=1
ISHELL[10]=2
# SULFUR K SHELL
NC0[11]=4
EC0[11]=2353.
WKLM[11]=0.0804
EFL[11]=2308.
NG1[11]=3
EG1[11]=2220.
NG2[11]=2
EG2[11]=90.0
LEGAS[11]=1
ISHELL[11]=1
# FLUORINE K SHELL
NC0[12]=3
EC0[12]=625.2
WKLM[12]=0.010
EFL[12]=668.
NG1[12]=2
EG1[12]=625.2
NG2[12]=1
EG2[12]=5.0
LEGAS[12]=2
ISHELL[12]=1
# OFFSET ENERGY FOR IONISATION ELECTRON ANGULAR DISTRIBUTION
DO 776 J=1,NION
DO 777 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 776
# endif
777 CONTINUE
776 CONTINUE
#
EIN[1]=-0.076253
EIN[2]=0.076253
EIN[3]=-0.096032
EIN[4]=0.096032
EIN[5]=-0.11754
EIN[6]=0.11754
EIN[7]=0.192064
EIN[8]=0.288096
EIN[9]=0.384128
EIN[10]=0.48016
EIN[11]=9.60
EIN[12]=10.0
EIN[13]=10.5
EIN[14]=10.9
EIN[15]=11.0
EIN[16]=11.5
EIN[17]=12.0
EIN[18]=12.5
EIN[19]=13.0
EIN[20]=13.5
EIN[21]=14.0
EIN[22]=14.4
EIN[23]=14.5
EIN[24]=15.0
EIN[25]=15.5
EIN[26]=16.0
EIN[27]=16.5
EIN[28]=17.0
EIN[29]=17.5
EIN[30]=18.0
EIN[31]=18.5
EIN[32]=19.0
EIN[33]=19.5
EIN[34]=20.0
EIN[35]=23.0
EIN[36]=0.0
EIN[37]=0.0
# OFFSET ENERGY FOR EXCITATION LEVELS ANGULAR DISTRIBUTION
DO 3 NL=1,35
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 3
# endif
651 CONTINUE
3 CONTINUE
#***********************************************************************
# ENTER PENNING TRANSFER FRACTION FOR EACH LEVEL
# LEVELS ARE DISSOCIATIVE SO DO NOT GIVE PENNING TRANSFERS
for 4 K in range(1,35):
DO 4 L=1,3
4 PENFRA[L,K]=0.0
if(IPEN == 0):
GO TO 6
DO 5 KDUM=10,14
if(PENFRA[1,KDUM] == 0.0):
GO TO 5
WRITE(6,999) NAME,EIN(KDUM),PENFRA[1,KDUM],PENFRA[2,KDUM],PENFRA[3,KDUM]
999 print(' GAS = ',A15,' ENERGY LEVEL = ','%.4f' %,' EV.',/,' PENNING PROBABILITY =','%.3f' % ,' ABS.LENGTH =',F7.2,' DECAY TIME =',F7.1,/)
5 CONTINUE
#***********************************************************************
#
6 SCRPT[1]=' '
SCRPT[2]=' ELASTIC ANISOTROPIC SF6 '
if(NANISO == 0):
:
SCRPT[2]=' ELASTIC ISOTROPIC SF6 '
# endif
SCRPT[3]=' IONISATION SF5 + ELOSS= 15.67 '
SCRPT[4]=' IONISATION SF4 + ELOSS= 18.5 '
SCRPT[5]=' IONISATION SF3 + ELOSS= 18.8 '
SCRPT[6]=' IONISATION SF2 + ELOSS= 27.0 '
SCRPT[7]=' IONISATION SF + ELOSS= 31.0 '
SCRPT[8]=' IONISATION SUM OF: S + AND F + ELOSS= 37.0 '
SCRPT[9]=' IONISATION SUM OF (SF3 SF2 SF)2+ ELOSS= 46.5 '
SCRPT[10]=' IONISATION SULFUR L3 SHELL ELOSS= 164.16 '
SCRPT[11]=' IONISATION SULFUR L2 SHELL ELOSS= 165.36 '
SCRPT[12]=' IONISATION SULFUR L1 SHELL ELOSS= 230.9 '
SCRPT[13]=' IONISATION SULFUR K SHELL ELOSS= 2472.0 '
SCRPT[14]=' IONISATION FLUORINE K SHELL ELOSS= 685.4 '
SCRPT[15]=' ATTACHMENT (VALID FOR T=300KELVIN) '
SCRPT[16]=' '
SCRPT[17]=' '
SCRPT[18]=' VIBRATION V4 SUPERELASTIC ELOSS=-0.076253'
SCRPT[19]=' VIBRATION V4 ANISOTROPIC ELOSS= 0.076253'
SCRPT[20]=' VIBRATION V1 SUPERELASTIC ELOSS=-0.096032'
SCRPT[21]=' VIBRATION V1 ISOTROPIC ELOSS= 0.096032'
SCRPT[22]=' VIBRATION V3 SUPERELASTIC ELOSS=-0.11754 '
SCRPT[23]=' VIBRATION V3 ANISOTROPIC ELOSS= 0.11754 '
SCRPT[24]=' VIBRATION 2V1 ELOSS= 0.192064'
SCRPT[25]=' VIBRATION 3V1 ELOSS= 0.288096'
SCRPT[26]=' VIBRATION 4V1 ELOSS= 0.384128'
SCRPT[27]=' VIBRATION 5V1 + HIGHER HARMONICS ELOSS= 0.48016 '
SCRPT[28]=' EXC. TRIPLET DISSOCIATION ELOSS= 9.6 '
SCRPT[29]=' EXC. SINGLET DISSOC. F=0.0443 ELOSS= 10.0 '
SCRPT[30]=' EXC. SINGLET DISSOC. F=0.0642 ELOSS= 10.5 '
SCRPT[31]=' EXC. TRIPLET DISSOCIATION ELOSS= 10.9 '
SCRPT[32]=' EXC. SINGLET DISSOC. F=0.1839 ELOSS= 11.0 '
SCRPT[33]=' EXC. SINGLET DISSOC. F=0.1073 ELOSS= 11.5 '
SCRPT[34]=' EXC. SINGLET DISSOC. F=0.0880 ELOSS= 12.0 '
SCRPT[35]=' EXC. SINGLET DISSOC. F=0.0304 ELOSS= 12.5 '
SCRPT[36]=' EXC. ION PAIR F- + SF5+ F=0.0648 ELOSS= 13.0 '
SCRPT[37]=' EXC. SINGLET DISSOC. F=0.1067 ELOSS= 13.5 '
SCRPT[38]=' EXC. SINGLET DISSOC. F=0.1047 ELOSS= 14.0 '
SCRPT[39]=' EXC. TRIPLET DISSOCIATION ELOSS= 14.4 '
SCRPT[40]=' EXC. SINGLET DISSOC. F=0.1211 ELOSS= 14.5 '
SCRPT[41]=' EXC. SINGLET DISSOC. F=0.2225 ELOSS= 15.0 '
SCRPT[42]=' EXC. SINGLET DISSOC. F=0.2731 ELOSS= 15.5 '
SCRPT[43]=' EXC. SINGLET DISSOC. F=0.1514 ELOSS= 16.0 '
SCRPT[44]=' EXC. SINGLET DISSOC. F=0.1831 ELOSS= 16.5 '
SCRPT[45]=' EXC. SINGLET DISSOC. F=0.1678 ELOSS= 17.0 '
SCRPT[46]=' EXC. SINGLET DISSOC. F=0.1098 ELOSS= 17.5 '
SCRPT[47]=' EXC. SINGLET DISSOC. F=0.0623 ELOSS= 18.0 '
SCRPT[48]=' EXC. SINGLET DISSOC. F=0.0361 ELOSS= 18.5 '
SCRPT[49]=' EXC. SINGLET DISSOC. F=0.0107 ELOSS= 19.0 '
SCRPT[50]=' EXC. SINGLET DISSOC. F=0.0129 ELOSS= 19.5 '
SCRPT[51]=' EXC. SINGLET DISSOC. F=0.0053 ELOSS= 20.0 '
SCRPT[52]=' EXC. SINGLET DISSOC. F=0.0290 ELOSS= 23.0 '
SCRPT[53]=' BREMSSTRAHLUNG FROM SULFUR ATOM '
SCRPT[54]=' BREMSSTRAHLUNG FROM FLUORINE ATOM '
# CALC LEVEL POPULATIONS
APOPV4=DEGV4*math.exp(EIN[1]/AKT)
APOPV1=DEGV1*math.exp(EIN[3]/AKT)
APOPV3=DEGV3*math.exp(EIN[5]/AKT)
APOPGS=1.0
APOPSUM=APOPGS+APOPV4+APOPV1+APOPV3
APOPGS=1.0/APOPSUM
APOPV4=APOPV4/APOPSUM
APOPV1=APOPV1/APOPSUM
APOPV3=APOPV3/APOPSUM
# RENORMALISE GROUND STATE TO ALLOW FOR EXCITATION X-SEC
# FROM EXCITED VIBRATIONAL STATE
APOPGS=1.0
#
# EN=-ESTEP/2.0
DO 1000 I=1,NSTEP
EN=EG[I]
# EN=EN+ESTEP
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
# USE LOG INTERPOLATION FOR ELASTIC
if(EN <= XEN[2]:
) :
QELA=1434.e-16
QMOM=1434.e-16
PQ2=0.0
GO TO 30
# endif
DO 10 J=2,N
if(EN <= XEN[J]:
) GO TO 11
10 CONTINUE
J=N
11 YXJ=math.log(YELT[J])
YXJ1=math.log(YELT[J-1])
XNJ=math.log(XEN[J])
XNJ1=math.log(XEN[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QELA=math.exp(A*math.log(EN)+B)*1.e-16
YXJ=math.log(YELM[J])
YXJ1=math.log(YELM[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QMOM=math.exp(A*math.log(EN)+B)*1.e-16
#
YXJ=math.log(YEPS[J])
YXJ1=math.log(YEPS[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
PQ2=math.exp(A*math.log(EN)+B)
# EPSILON =1-YEPS
PQ2=1.00-PQ2
30 CONTINUE
PQ1=0.5+(QELA-QMOM)/QELA
if(NANISO == 0):
PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
# IONISATION SF5 +
QION[1][I]=0.0
PEQION[1][I]=0.5
if(NANISO == 2):
PEQION[1][I]=0.0
if(EN < EION[1]:
) GO TO 44
if(EN > XION(NIOND):
) GO TO 42
DO 40 J=2,NIOND
if(EN <= XION[J]:
) GO TO 41
40 CONTINUE
J=NIOND
41 A=(YION[J]-YION[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YION[J]-XION[J]*YION[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 43
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
42 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.5403
43 CONTINUE
#
if(EN <= (2.0*EION[1]:
)) GO TO 44
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# IONISATION SF4 +
44 QION[2][I]=0.0
PEQION[2][I]=0.5
if(NANISO == 2):
PEQION[2][I]=0.0
if(EN < EION[2]:
) GO TO 54
if(EN > XION(NIOND):
) GO TO 52
DO 50 J=2,NIOND
if(EN <= XION[J]:
) GO TO 51
50 CONTINUE
J=NIOND
51 A=(YIN1[J]-YIN1[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN1[J]-XION[J]*YIN1[J-1])/(XION[J-1]-XION[J])
QION[2][I]=(A*EN+B)*1.e-16
GO TO 53
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
52 QION[2][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0416
53 CONTINUE
#
if(EN <= (2.0*EION[2]:
)) GO TO 54
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# IONISATION SF3 +
54 QION[3][I]=0.0
PEQION[3][I]=0.5
if(NANISO == 2):
PEQION[3][I]=0.0
if(EN < EION[3]:
) GO TO 64
if(EN > XION(NIOND):
) GO TO 62
DO 60 J=2,NIOND
if(EN <= XION[J]:
) GO TO 61
60 CONTINUE
J=NIOND
61 A=(YIN2[J]-YIN2[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN2[J]-XION[J]*YIN2[J-1])/(XION[J-1]-XION[J])
QION[3][I]=(A*EN+B)*1.e-16
GO TO 63
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
62 QION[3][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.1470
63 CONTINUE
#
if(EN <= (2.0*EION[3]:
)) GO TO 64
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# IONISATION SF2 +
64 QION[4][I]=0.0
PEQION[4][I]=0.5
if(NANISO == 2):
PEQION[4][I]=0.0
if(EN < EION[4]:
) GO TO 74
if(EN > XION(NIOND):
) GO TO 72
DO 70 J=2,NIOND
if(EN <= XION[J]:
) GO TO 71
70 CONTINUE
J=NIOND
71 A=(YIN3[J]-YIN3[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN3[J]-XION[J]*YIN3[J-1])/(XION[J-1]-XION[J])
QION[4][I]=(A*EN+B)*1.e-16
GO TO 73
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
72 QION[4][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0321
73 CONTINUE
#
if(EN <= (2.0*EION[4]:
)) GO TO 74
PEQION[4][I]=PEQEL[2][(I-IOFFION[4]])
# IONISATION SF +
74 QION[5][I]=0.0
PEQION[5][I]=0.5
if(NANISO == 2):
PEQION[5][I]=0.0
if(EN < EION[5]:
) GO TO 84
if(EN > XION(NIOND):
) GO TO 82
DO 80 J=2,NIOND
if(EN <= XION[J]:
) GO TO 81
80 CONTINUE
J=NIOND
81 A=(YIN4[J]-YIN4[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN4[J]-XION[J]*YIN4[J-1])/(XION[J-1]-XION[J])
QION[5][I]=(A*EN+B)*1.e-16
GO TO 83
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
82 QION[5][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0724
83 CONTINUE
#
if(EN <= (2.0*EION[5]:
)) GO TO 84
PEQION[5][I]=PEQEL[2][(I-IOFFION[5]])
# IONISATION SUM OF S + AND F +
84 QION[6][I]=0.0
PEQION[6][I]=0.5
if(NANISO == 2):
PEQION[6][I]=0.0
if(EN < EION[6]:
) GO TO 94
if(EN > XION(NIOND):
) GO TO 92
DO 90 J=2,NIOND
if(EN <= XION[J]:
) GO TO 91
90 CONTINUE
J=NIOND
91 A=(YIN5[J]-YIN5[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN5[J]-XION[J]*YIN5[J-1])/(XION[J-1]-XION[J])
QION[6][I]=(A*EN+B)*1.e-16
A=(YIN6[J]-YIN6[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN6[J]-XION[J]*YIN6[J-1])/(XION[J-1]-XION[J])
QION[6][I]=QION[6][I]+(A*EN+B)*1.e-16
GO TO 93
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
92 QION[6][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.1466
93 CONTINUE
if(EN < (2.0*EION[6]:
)) GO TO 94
PEQION[6][I]=PEQEL[2][(I-IOFFION[6]])
# IONISATION SUM OF SF3,SF2 AND SF ALL DOUBLE CHARGED
94 QION[7][I]=0.0
PEQION[7][I]=0.5
if(NANISO == 2):
PEQION[7][I]=0.0
if(EN < EION[7]:
) GO TO 104
if(EN > XION(NIOND):
) GO TO 102
DO 100 J=2,NIOND
if(EN <= XION[J]:
) GO TO 101
100 CONTINUE
J=NIOND
101 A=(YIN7[J]-YIN7[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YIN7[J]-XION[J]*YIN7[J-1])/(XION[J-1]-XION[J])
QION[7][I]=(A*EN+B)*1.e-16
GO TO 103
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
102 QION[7][I]=CONST*(AM2*(X1-DEN[I]/2.0)+C*X2)*0.0200
103 CONTINUE
if(EN < (2.0*EION[7]:
)) GO TO 104
PEQION[7][I]=PEQEL[2][(I-IOFFION[7]])
# CALCULATE SULFUR L3 SHELL IONISATION
104 QION[8][I]=0.0
PEQION[8][I]=0.5
if(NANISO == 2):
PEQION[8][I]=0.0
if(EN < EION[8]:
) GO TO 114
DO 110 J=2,NIONL3
if(EN <= XL3SH[J]:
) GO TO 111
110 CONTINUE
J=NIONL3
111 A=(YL3SH[J]-YL3SH[J-1])/(XL3SH[J]-XL3SH[J-1])
B=(XL3SH[J-1]*YL3SH[J]-XL3SH[J]*YL3SH[J-1])/(XL3SH[J-1]-XL3SH[J])
QION[8][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EION[8]:
)) GO TO 114
PEQION[8][I]=PEQEL[2][(I-IOFFION[8]])
# CALCULATE SULFUR L2 SHELL IONISATION
114 QION[9][I]=0.0
PEQION[9][I]=0.5
if(NANISO == 2):
PEQION[9][I]=0.0
if(EN < EION[9]:
) GO TO 124
DO 120 J=2,NIONL2
if(EN <= XL2SH[J]:
) GO TO 121
120 CONTINUE
J=NIONL2
121 A=(YL2SH[J]-YL2SH[J-1])/(XL2SH[J]-XL2SH[J-1])
B=(XL2SH[J-1]*YL2SH[J]-XL2SH[J]*YL2SH[J-1])/(XL2SH[J-1]-XL2SH[J])
QION[9][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EION[9]:
)) GO TO 124
PEQION[9][I]=PEQEL[2][(I-IOFFION[9]])
# CALCULATE SULFUR L1 SHELL IONISATION
124 QION[10][I]=0.0
PEQION[10][I]=0.5
if(NANISO == 2):
PEQION[10][I]=0.0
if(EN < EION[10]:
) GO TO 134
DO 130 J=2,NIONL1
if(EN <= XL1SH[J]:
) GO TO 131
130 CONTINUE
J=NIONL1
131 A=(YL1SH[J]-YL1SH[J-1])/(XL1SH[J]-XL1SH[J-1])
B=(XL1SH[J-1]*YL1SH[J]-XL1SH[J]*YL1SH[J-1])/(XL1SH[J-1]-XL1SH[J])
QION[10][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EION[10]:
)) GO TO 134
PEQION[10][I]=PEQEL[2][(I-IOFFION[10]))
# CALCULATE SULFUR K SHELL IONISATION
134 QION[11][I]=0.0
PEQION[11][I]=0.5
if(NANISO == 2):
PEQION[11][I]=0.0
if(EN < EION[11]:
) GO TO 144
DO 140 J=2,NKSHS
if(EN <= XKSHS[J]:
) GO TO 141
140 CONTINUE
J=NKSHS
141 A=(YKSHS[J]-YKSHS[J-1])/(XKSHS[J]-XKSHS[J-1])
B=(XKSHS[J-1]*YKSHS[J]-XKSHS[J]*YKSHS[J-1])/(XKSHS[J-1]-XKSHS[J])
QION[11][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EION[11]:
)) GO TO 144
PEQION[11][I]=PEQEL[2][(I-IOFFION[11]))
# CALCULATE FLUORINE K-SHELL IONISATION
144 QION[12][I]=0.00
PEQION[12][I]=0.5
if(NANISO == 2):
PEQION[12][I]=0.0
if(EN <= EION[12]:
) GO TO 154
DO 150 J=2,NKSHF
if(EN <= XKSHF[J]:
) GO TO 151
150 CONTINUE
J=NKSHF
151 A=(YKSHF[J]-YKSHF[J-1])/(XKSHF[J]-XKSHF[J-1])
B=(XKSHF[J-1]*YKSHF[J]-XKSHF[J]*YKSHF[J-1])/(XKSHF[J-1]-XKSHF[J])
QION[12][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EION[12]:
)) GO TO 154
PEQION[12][I]=PEQEL[2][(I-IOFFION[12]))
# CORECTION TO IONISATION DUE TO SPLIT INTO K AND L SHELLS
154 SSUM=QION[8][I]+QION[9][I]+QION[10][I]+QION[11][I]+QION[12][I]
if(SSUM <= 0.0):
GO TO 200
TOT=QION[1][I]+QION[2][I]+QION[3][I]+QION[4][I]+QION[5][I]+QION[6][I]+QION[7][I]
CRFAC=(TOT-SSUM)/TOT
DO 155 J=1,7
QION[J][I]=QION[J][I]*CRFAC
155 CONTINUE
#
# ATTACHMENT (USE LOG INTERPOLATION FOR SF6- AND LINEAR FOR OTHER IONS)
200 Q[4][I]=0.0
if(EN <= 0.0):
GO TO 250
if(EN >= XATT[NATT1]:
) GO TO 250
DO 210 J=2,NATT1
if(EN <= XATT[J]:
) GO TO 220
210 CONTINUE
J=NATT1
220 XNJ=math.log(XATT[J])
XNJ1=math.log(XATT[J-1])
XNL=XATT[J]
XNL1=XATT[J-1]
# LOG
if(YAT1[J]:
== 0.0 or YAT1[J-1] == 0.0) :
QAT1=0.0
GO TO 221
# endif
Y1J=math.log(YAT1[J])
Y1J1=math.log(YAT1[J-1])
A1=(Y1J-Y1J1)/(XNJ-XNJ1)
B1=(XNJ1*Y1J-XNJ*Y1J1)/(XNJ1-XNJ)
QAT1=math.exp(A1*math.log(EN)+B1)*1.e-16
# LINEAR
221 Y2J=YAT2[J]
Y2J1=YAT2[J-1]
Y3J=YAT3[J]
Y3J1=YAT3[J-1]
Y4J=YAT4[J]
Y4J1=YAT4[J-1]
Y5J=YAT5[J]
Y5J1=YAT5[J-1]
Y6J=YAT6[J]
Y6J1=YAT6[J-1]
Y7J=YAT7[J]
Y7J1=YAT7[J-1]
A2=(Y2J-Y2J1)/(XNL-XNL1)
B2=(XNL1*Y2J-XNL*Y2J1)/(XNL1-XNL)
A3=(Y3J-Y3J1)/(XNL-XNL1)
B3=(XNL1*Y3J-XNL*Y3J1)/(XNL1-XNL)
A4=(Y4J-Y4J1)/(XNL-XNL1)
B4=(XNL1*Y4J-XNL*Y4J1)/(XNL1-XNL)
A5=(Y5J-Y5J1)/(XNL-XNL1)
B5=(XNL1*Y5J-XNL*Y5J1)/(XNL1-XNL)
A6=(Y6J-Y6J1)/(XNL-XNL1)
B6=(XNL1*Y6J-XNL*Y6J1)/(XNL1-XNL)
A7=(Y7J-Y7J1)/(XNL-XNL1)
B7=(XNL1*Y7J-XNL*Y7J1)/(XNL1-XNL)
QAT2=(A2*EN+B2)*1.e-16
QAT3=(A3*EN+B3)*1.e-18
QAT4=(A4*EN+B4)*1.e-18
QAT5=(A5*EN+B5)*1.e-18
QAT6=(A6*EN+B6)*1.e-18
QAT7=(A7*EN+B7)*1.e-18
Q[4][I]=QAT1+QAT2+QAT3+QAT4+QAT5+QAT6+QAT7
#
250 Q[5][I]=0.0
Q[6][I]=0.0
# V4 SUPERELASTIC
QIN[1][I]=0.0
PEQIN[1][I]=0.50
if(KIN[1]:
== 2) PEQIN[1][I]=0.0
if(EN <= 0.0):
GO TO 350
EFAC=math.sqrt(1.0-(EIN[1]/EN))
# DIPOLE
QIN[1][I]=V4DCONST*math.log((EFAC+1.0)/(EFAC-1.0))/EN
QIN[1][I]=QIN[1][I]*APOPV4/DEGV4*1.e-16
if(KIN[1]:
== 2) PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]# V4 ANISOTROPIC
350 QIN[2][I]=0.0
PEQIN[2][I]=0.50
if(KIN[2]:
== 2) PEQIN[2][I]=0.0
if(EN <= EIN[2]:
) GO TO 400
# DIPOLE
EFAC=math.sqrt(1.0-(EIN[2]/EN))
ELF=EN-EIN[2]
FWD=math.log((EN+ELF)/(EN+ELF-2.0*math.sqrt(EN*ELF)))
BCK=math.log((EN+ELF+2.0*math.sqrt(EN*ELF))/(EN+ELF))
QIN[2][I]=V4DCONST*math.log((1.0+EFAC)/(1.0-EFAC))/EN
QIN[2][I]=QIN[2][I]*APOPGS*1.e-16
XMT=(1.5-FWD/(FWD+BCK))*Q[2][I]
if(KIN[2]:
== 1) PEQIN[2][I]=0.5+(QIN[2][I]-XMT)/QIN[2][I]
if(KIN[2]:
== 2) PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]
# 1V1 SUPERELASTIC
400 QIN[3][I]=0.0
PEQIN[3][I]=0.50
if(KIN[3]:
== 2) PEQIN[3][I]=0.0
if(EN <= 0.0):
GO TO 450
if((EN+EIN[4]:
) > XV1V1(N1V1)) GO TO 425
DO 410 J=2,N1V1
if((EN+EIN[4]:
) <= XV1V1[J]) GO TO 420
410 CONTINUE
J=N1V1
420 A=(YV1V1[J]-YV1V1[J-1])/(XV1V1[J]-XV1V1[J-1])
B=(XV1V1[J-1]*YV1V1[J]-XV1V1[J]*YV1V1[J-1])/(XV1V1[J-1]-XV1V1[J])
QIN[3][I]=(EN+EIN[4])*(A*(EN+EIN[4])+B)/EN
GO TO 426
425 QIN[3][I]=YV1V1(N1V1)*(XV1V1(N1V1)/(EN+EIN[4]))**2
426 QIN[3][I]=QIN[3][I]*APOPV1/DEGV1*1.e-16
if(KIN[3]:
== 2) PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]
# 1V1 ISOTROPIC
450 QIN[4][I]=0.0
PEQIN[4][I]=0.50
if(KIN[4]:
== 2) PEQIN[4][I]=0.0
if(EN <= EIN[4]:
) GO TO 500
if(EN > XV1V1(N1V1):
) GO TO 475
DO 460 J=2,N1V1
if(EN <= XV1V1[J]:
) GO TO 470
460 CONTINUE
J=N1V1
470 A=(YV1V1[J]-YV1V1[J-1])/(XV1V1[J]-XV1V1[J-1])
B=(XV1V1[J-1]*YV1V1[J]-XV1V1[J]*YV1V1[J-1])/(XV1V1[J-1]-XV1V1[J])
QIN[4][I]=A*EN+B
GO TO 476
475 QIN[4][I]=YV1V1(N1V1)*(XV1V1(N1V1)/EN)**2
476 QIN[4][I]=QIN[4][I]*APOPGS*1.e-16
if(KIN[4]:
== 2) PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]#
# V3 SUPERELASTIC
500 QIN[5][I]=0.0
PEQIN[5][I]=0.50
if(KIN[5]:
== 2) PEQIN[5][I]=0.0
if(EN <= 0.0):
GO TO 550
if((EN+EIN[6]:
) > XVBV3(N1V3)) GO TO 530
DO 510 J=2,N1V3
if((EN+EIN[6]:
) <= XVBV3[J]) GO TO 520
510 CONTINUE
J=N1V3
520 A=(YVBV3[J]-YVBV3[J-1])/(XVBV3[J]-XVBV3[J-1])
B=(XVBV3[J-1]*YVBV3[J]-XVBV3[J]*YVBV3[J-1])/(XVBV3[J-1]-XVBV3[J])
QIN[5][I]=(EN+EIN[6])*(A*(EN+EIN[6])+B)/EN
530 EFAC=math.sqrt(1.0-(EIN[5]/EN))
# ADD DIPOLE
QIN[5][I]=QIN[5][I]+V3DCONST*math.log((EFAC+1.0)/(EFAC-1.0))/EN
QIN[5][I]=QIN[5][I]*APOPV3/DEGV3*1.e-16
if(KIN[5]:
== 2) PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))]# V3 ANISOTROPIC
550 QIN[6][I]=0.0
PEQIN[6][I]=0.50
if(KIN[6]:
== 2) PEQIN[6][I]=0.0
if(EN <= EIN[6]:
) GO TO 600
if(EN > XVBV3(N1V3):
) GO TO 580
DO 560 J=2,N1V3
if(EN <= XVBV3[J]:
) GO TO 570
560 CONTINUE
J=N1V3
570 A=(YVBV3[J]-YVBV3[J-1])/(XVBV3[J]-XVBV3[J-1])
B=(XVBV3[J-1]*YVBV3[J]-XVBV3[J]*YVBV3[J-1])/(XVBV3[J-1]-XVBV3[J])
QIN[6][I]=(A*EN+B)
# ADD DIPOLE PART
580 EFAC=math.sqrt(1.0-(EIN[6]/EN))
ADIP=V3DCONST*math.log((1.0+EFAC)/(1.0-EFAC))/EN
ELF=EN-EIN[6]
FWD=math.log((EN+ELF)/(EN+ELF-2.0*math.sqrt(EN*ELF)))
BCK=math.log((EN+ELF+2.0*math.sqrt(EN*ELF))/(EN+ELF))
# RATIO OF MT TO TOTAL X-SECT FOR RESONANCE PART =RAT
XMT=((1.5-FWD/(FWD+BCK))*ADIP+RAT*QIN[6][I])*APOPGS*1.e-16
QIN[6][I]=(QIN[6][I]+ADIP)*APOPGS*1.e-16
if(KIN[6]:
== 1) PEQIN[6][I]=0.5+(QIN[6][I]-XMT)/QIN[6][I]
if(KIN[6]:
== 2) PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]c
# 2V1
600 QIN[7][I]=0.0
PEQIN[7][I]=0.50
if(KIN[7]:
== 2) PEQIN[7][I]=0.0
if(EN <= EIN[7]:
) GO TO 650
if(EN > XV2V1(N2V1):
) GO TO 621
DO 610 J=2,N2V1
if(EN <= XV2V1[J]:
) GO TO 620
610 CONTINUE
J=N2V1
620 A=(YV2V1[J]-YV2V1[J-1])/(XV2V1[J]-XV2V1[J-1])
B=(XV2V1[J-1]*YV2V1[J]-XV2V1[J]*YV2V1[J-1])/(XV2V1[J-1]-XV2V1[J])
QIN[7][I]=(A*EN+B)*1.e-16
GO TO 630
# SCALE BY 1/E**2 ABOVE XV2V1(N2V1) EV
621 QIN[7][I]=YV2V1(N2V1)*(XV2V1(N2V1)/EN)**2*1.e-16
630 if(KIN[7] == 2) PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]
# 3V1
650 QIN[8][I]=0.0
PEQIN[8][I]=0.50
if(KIN[8]:
== 2) PEQIN[8][I]=0.00
if(EN <= EIN[8]:
) GO TO 680
if(EN > XV3V1(N3V1):
) GO TO 675
DO 660 J=2,N3V1
if(EN <= XV3V1[J]:
) GO TO 670
660 CONTINUE
J=N3V1
670 A=(YV3V1[J]-YV3V1[J-1])/(XV3V1[J]-XV3V1[J-1])
B=(XV3V1[J-1]*YV3V1[J]-XV3V1[J]*YV3V1[J-1])/(XV3V1[J-1]-XV3V1[J])
QIN[8][I]=(A*EN+B)*1.e-16
GO TO 676
# SCALE BY 1/E**2 ABOBE XV3V1(N3V1) EV
675 QIN[8][I]=YV3V1(N3V1)*(XV3V1(N3V1)/EN)**2*1.e-16
676 if(KIN[8] == 2) PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))]# 4V1
680 QIN[9][I]=0.0
PEQIN[9][I]=0.50
if(KIN[9]:
== 2) PEQIN[9][I]=0.0
if(EN <= EIN[9]:
) GO TO 685
if(EN > XV4V1(N4V1):
) GO TO 683
DO 681 J=2,N4V1
if(EN <= XV4V1[J]:
) GO TO 682
681 CONTINUE
J=N4V1
682 A=(YV4V1[J]-YV4V1[J-1])/(XV4V1[J]-XV4V1[J-1])
B=(XV4V1[J-1]*YV4V1[J]-XV4V1[J]*YV4V1[J-1])/(XV4V1[J-1]-XV4V1[J])
QIN[9][I]=(A*EN+B)*1.e-16
GO TO 684
# SCALE BY 1/E**2 ABOVE XV4V1(N4V1) EV
683 QIN[9][I]=YV4V1(N4V1)*(XV4V1(N4V1)/EN)**2*1.e-16
684 if(KIN[9] == 2) PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]# 5V1
685 QIN[10][I]=0.0
PEQIN[10][I]=0.50
if(KIN[10]:
== 2) PEQIN[10][I]=0.0
if(EN <= EIN[10]:
) GO TO 700
if(EN > XV5V1(N5V1):
) GO TO 688
DO 686 J=2,N5V1
if(EN <= XV5V1[J]:
) GO TO 687
686 CONTINUE
J=N5V1
687 A=(YV5V1[J]-YV5V1[J-1])/(XV5V1[J]-XV5V1[J-1])
B=(XV5V1[J-1]*YV5V1[J]-XV5V1[J]*YV5V1[J-1])/(XV5V1[J-1]-XV5V1[J])
QIN[10][I]=(A*EN+B)*1.e-16
GO TO 689
# SCALE BY 1/E**2 ABOVE XV5V1(N5V1) EV
688 QIN[10][I]=YV5V1(N5V1)*(XV5V1(N5V1)/EN)**2*1.e-16
689 if(KIN[10] == 2) PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
# TRIPLET AT 9.6EV
700 QIN[11][I]=0.0
PEQIN[11][I]=0.0
if(EN <= EIN[11]:
) GO TO 705
if(EN > XTR1(NTRP1):
) GO TO 703
DO 701 J=2,NTRP1
if(EN <= XTR1[J]:
) GO TO 702
701 CONTINUE
J=NTRP1
702 A=(YTR1[J]-YTR1[J-1])/(XTR1[J]-XTR1[J-1])
B=(XTR1[J-1]*YTR1[J]-XTR1[J]*YTR1[J-1])/(XTR1[J-1]-XTR1[J])
QIN[11][I]=(A*EN+B)*1.e-16*AMPTR1
GO TO 704
# SCALE BY 1/E**2 ABOVE XTR1(NTRP1) EV
703 QIN[11][I]=YTR1(NTRP1)*(XTR1(NTRP1)/EN)**2*1.e-16*AMPTR1
704 if(EN <= (3.0*EIN[11])) GO TO 705
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
# SINGLET DISSOCIATION AT 10.0 EV USE BEF SCALING WITH F=0.0443
705 QIN[12][I]=0.0
PEQIN[12][I]=0.0
if(EN <= EIN[12]:
) GO TO 706
QIN[12][I]=0.0443/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[12]+E[3])*1.025
if(QIN[12][I]:
< 0.0) QIN[12][I]=0.0
if(EN <= (3.0*EIN[12]:
)) GO TO 706
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# SINGLET DISSOCIATION AT 10.5 EV USE BEF SCALING WITH F=0.0642
706 QIN[13][I]=0.0
PEQIN[13][I]=0.0
if(EN <= EIN[13]:
) GO TO 707
QIN[13][I]=0.0642/(EIN[13]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[13]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[13]+E[3])*1.024
if(QIN[13][I]:
< 0.0) QIN[13][I]=0.0
if(EN <= (3.0*EIN[13]:
)) GO TO 707
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# TRIPLET DISSOCIATION AT 10.9 EV
707 QIN[14][I]=0.0
PEQIN[14][I]=0.0
if(EN <= EIN[14]:
) GO TO 712
if(EN > XTR2(NTRP2):
) GO TO 710
DO 708 J=2,NTRP2
if(EN <= XTR2[J]:
) GO TO 709
708 CONTINUE
J=NTRP2
709 A=(YTR2[J]-YTR2[J-1])/(XTR2[J]-XTR2[J-1])
B=(XTR2[J-1]*YTR2[J]-XTR2[J]*YTR2[J-1])/(XTR2[J-1]-XTR2[J])
QIN[14][I]=(A*EN+B)*1.e-16*AMPTR2
GO TO 711
# SCALE BY 1/E**2 ABOVE XTR2(NTRP2) EV
710 QIN[14][I]=YTR2(NTRP2)*(XTR2(NTRP2)/EN)**2*1.e-16*AMPTR2
711 if(EN <= (3.0*EIN[14])) GO TO 712
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# SINGLET DISSOCIATION AT 11.0 EV USE BEF SCALING WITH F=0.1839
712 QIN[15][I]=0.0
PEQIN[15][I]=0.0
if(EN <= EIN[15]:
) GO TO 713
QIN[15][I]=0.1839/(EIN[15]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[15]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[15]+E[3])*1.023
if(QIN[15][I]:
< 0.0) QIN[15][I]=0.0
if(EN <= (3.0*EIN[15]:
)) GO TO 713
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# SINGLET DISSOCIATION AT 11.5 EV USE BEF SCALING WITH F=0.1073
713 QIN[16][I]=0.0
PEQIN[16][I]=0.0
if(EN <= EIN[16]:
) GO TO 714
QIN[16][I]=0.1073/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[16]+E[3])*1.022
if(QIN[16][I]:
< 0.0) QIN[16][I]=0.0
if(EN <= (3.0*EIN[16]:
)) GO TO 714
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# SINGLET DISSOCIATION AT 12.0 EV USE BEF SCALING WITH F=0.0880
714 QIN[17][I]=0.0
PEQIN[17][I]=0.0
if(EN <= EIN[17]:
) GO TO 715
QIN[17][I]=0.0880/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[17]+E[3])*1.021
if(QIN[17][I]:
< 0.0) QIN[17][I]=0.0
if(EN <= (3.0*EIN[17]:
)) GO TO 715
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# SINGLET DISSOCIATION AT 12.5 EV USE BEF SCALING WITH F=0.0304
715 QIN[18][I]=0.0
PEQIN[18][I]=0.0
if(EN <= EIN[18]:
) GO TO 716
QIN[18][I]=0.0304/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])*1.020
if(QIN[18][I]:
< 0.0) QIN[18][I]=0.0
if(EN <= (3.0*EIN[18]:
)) GO TO 716
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# SINGLET DISSOCIATION AT 13.0 EV USE BEF SCALING WITH F=0.0648
# ION PAIR printION F- + SF5+
716 QIN[19][I]=0.0
PEQIN[19][I]=0.0
if(EN <= EIN[19]:
) GO TO 717
QIN[19][I]=0.0648/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[19]+E[3])*1.019
if(QIN[19][I]:
< 0.0) QIN[19][I]=0.0
if(EN <= (3.0*EIN[19]:
)) GO TO 717
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# SINGLET DISSOCIATION AT 13.5 EV USE BEF SCALING WITH F=0.1067
717 QIN[20][I]=0.0
PEQIN[20][I]=0.0
if(EN <= EIN[20]:
) GO TO 718
QIN[20][I]=0.1067/(EIN[20]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[20]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[20]+E[3])*1.019
if(QIN[20][I]:
< 0.0) QIN[20][I]=0.0
if(EN <= (3.0*EIN[20]:
)) GO TO 718
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# SINGLET DISSOCIATION AT 14.0 EV USE BEF SCALING WITH F=0.1047
718 QIN[21][I]=0.0
PEQIN[21][I]=0.0
if(EN <= EIN[21]:
) GO TO 719
QIN[21][I]=0.1047/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[21]+E[3])*1.018
if(QIN[21][I]:
< 0.0) QIN[21][I]=0.0
if(EN <= (3.0*EIN[21]:
)) GO TO 719
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# TRIPLET DISSOCIATION AT 14.4 EV
719 QIN[22][I]=0.0
PEQIN[2][I]=0.0
if(EN <= EIN[22]:
) GO TO 724
if(EN > XTR3(NTRP3):
) GO TO 722
DO 720 J=2,NTRP3
if(EN <= XTR3[J]:
) GO TO 721
720 CONTINUE
J=NTRP3
721 A=(YTR3[J]-YTR3[J-1])/(XTR3[J]-XTR3[J-1])
B=(XTR3[J-1]*YTR3[J]-XTR3[J]*YTR3[J-1])/(XTR3[J-1]-XTR3[J])
QIN[22][I]=(A*EN+B)*1.e-16*AMPTR3
GO TO 723
# SCALE BY 1/E**2 ABOVE XTR3(NTRP3) EV
722 QIN[22][I]=YTR3(NTRP3)*(XTR3(NTRP3)/EN)**2*1.e-16*AMPTR3
723 if(EN <= (3.0*EIN[22])) GO TO 724
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# SINGLET DISSOCIATION AT 14.5 EV USE BEF SCALING WITH F=0.1211
724 QIN[23][I]=0.00
PEQIN[23][I]=0.0
if(EN <= EIN[23]:
) GO TO 725
QIN[23][I]=0.01211/(EIN[23]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[23]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[23]+E[3])*1.017
if(QIN[23][I]:
< 0.0) QIN[23][I]=0.0
if(EN <= (3.0*EIN[23]:
)) GO TO 725
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# SINGLET DISSOCIATION AT 15.0 EV USE BEF SCALING WITH F=0.2225
725 QIN[24][I]=0.0
PEQIN[24][I]=0.0
if(EN <= EIN[24]:
) GO TO 726
QIN[24][I]=0.2225/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])*1.017
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (3.0*EIN[24]:
)) GO TO 726
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# SINGLET DISSOCIATION AT 15.5 EV USE BEF SCALING WITH F=0.2731
726 QIN[25][I]=0.0
PEQIN[25][I]=0.0
if(EN <= EIN[25]:
) GO TO 727
QIN[25][I]=0.2731/(EIN[25]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[25]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[25]+E[3])*1.016
if(QIN[25][I]:
< 0.0) QIN[25][I]=0.0
if(EN <= (3.0*EIN[25]:
)) GO TO 727
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
# SINGLET DISSOCIATION AT 16.0 EV USE BEF SCALING WITH F=0.1514
727 QIN[26][I]=0.0
PEQIN[26][I]=0.0
if(EN <= EIN[26]:
) GO TO 728
QIN[26][I]=0.1514/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])*1.016
if(QIN[26][I]:
< 0.0) QIN[26][I]=0.0
if(EN <= (3.0*EIN[26]:
)) GO TO 728
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# SINGLET DISSOCIATION AT 16.5 EV USE BEF SCALING WITH F=0.1831
728 QIN[27][I]=0.0
PEQIN[27][I]=0.0
if(EN <= EIN[27]:
) GO TO 729
QIN[27][I]=0.1831/(EIN[27]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[27]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[27]+E[3])*1.015
if(QIN[27][I]:
< 0.0) QIN[27][I]=0.0
if(EN <= (3.0*EIN[27]:
)) GO TO 729
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# SINGLET DISSOCIATION AT 17.00 EV USE BEF SCALING WITH F=0.1678
729 QIN[28][I]=0.0
PEQIN[28][I]=0.0
if(EN <= EIN[28]:
) GO TO 730
QIN[28][I]=0.1678/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+E[3])*1.015
if(QIN[28][I]:
< 0.0) QIN[28][I]=0.0
if(EN <= (3.0*EIN[28]:
)) GO TO 730
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# SINGLET DISSOCIATION AT 17.5 EV USE BEF SCALING WITH F=0.1098
730 QIN[29][I]=0.0
PEQIN[29][I]=0.0
if(EN <= EIN[29]:
) GO TO 731
QIN[29][I]=0.1098/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+E[3])*1.014
if(QIN[29][I]:
< 0.0) QIN[29][I]=0.0
if(EN <= (3.0*EIN[29]:
)) GO TO 731
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# SINGLET DISSOCIATION AT 18.0 EV USE BEF SCALING WITH F=0.0623
731 QIN[30][I]=0.0
PEQIN[30][I]=0.0
if(EN <= EIN[30]:
) GO TO 732
QIN[30][I]=0.0623/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])*1.014
if(QIN[30][I]:
< 0.0) QIN[30][I]=0.0
if(EN <= (3.0*EIN[30]:
)) GO TO 732
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# SINGLET DISSOCIATION AT 18.5 EV USE BEF SCALING WITH F=0.0361
732 QIN[31][I]=0.0
PEQIN[31][I]=0.0
if(EN <= EIN[31]:
) GO TO 733
QIN[31][I]=0.0361/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[31]+E[3])*1.014
if(QIN[31][I]:
< 0.0) QIN[31][I]=0.0
if(EN <= (3.0*EIN[31]:
)) GO TO 733
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# SINGLET DISSOCIATION AT 19.0 EV USE BEF SCALING WITH F=0.0107
733 QIN[32][I]=0.0
PEQIN[32][I]=0.0
if(EN <= EIN[32]:
) GO TO 734
QIN[32][I]=0.0107/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])*1.013
if(QIN[32][I]:
< 0.0) QIN[32][I]=0.0
if(EN <= (3.0*EIN[32]:
)) GO TO 734
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# SINGLET DISSOCIATION AT 19.5 EV USE BEF SCALING WITH F=0.0129
734 QIN[33][I]=0.0
PEQIN[33][I]=0.0
if(EN <= EIN[33]:
) GO TO 735
QIN[33][I]=0.0129/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+E[3])*1.013
if(QIN[33][I]:
< 0.0) QIN[33][I]=0.0
if(EN <= (3.0*EIN[33]:
)) GO TO 735
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# SINGLET DISSOCIATION AT 20.0 EV USE BEF SCALING WITH F=0.0053
735 QIN[34][I]=0.0
PEQIN[34][I]=0.0
if(EN <= EIN[34]:
) GO TO 736
QIN[34][I]=0.0053/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])*1.013
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.0
if(EN <= (3.0*EIN[34]:
)) GO TO 736
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# SINGLET DISSOCIATION AT 23.0 EV USE BEF SCALING WITH F=0.029
736 QIN[35][I]=0.0
PEQIN[35][I]=0.0
if(EN <= EIN[35]:
) GO TO 737
QIN[35][I]=0.0290/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+E[3])*1.02
if(QIN[35][I]:
< 0.0) QIN[35][I]=0.0
if(EN <= (3.0*EIN[35]:
)) GO TO 737
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# LOAD BREMSSTRAHLUNG X-SECTIONS
737 QIN[36][I]=0.0
QIN[37][I]=0.0
if(EN <= 1000.):
GO TO 800
DO 780 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 790
780 CONTINUE
J=NBREM
790 A=(math.log(Z16T[J])-math.log(Z16T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z16T[J])*EBRM[J-1]-math.log(Z16T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
A1=(math.log(Z9T[J])-math.log(Z9T[J-1]))/(EBRM[J]-EBRM[J-1])
B1=(math.log(Z9T[J])*EBRM[J-1]-math.log(Z9T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[36][I]=math.exp(A*EN+B)*1.e-24
QIN[37][I]=math.exp(A1*EN+B1)*6.e-24
800 CONTINUE
# WRITE(6,881) EN
# 881 print('EN=',D14.6)
# WRITE(6,882) QIN[1][I],QIN[2][I],QIN[3][I],QIN[4][I],QIN[5][I]
# WRITE(6,882) QIN[6][I],QIN[7][I],QIN[8][I],QIN[9][I],QIN[10][I]
# WRITE(6,882) QIN[11][I],QIN[12][I],QIN[13][I],QIN[14][I],QIN[15][I]
# WRITE(6,882) QIN[16][I],QIN[17][I],QIN[18][I],QIN[19][I],QIN[20][I]
# WRITE(6,882) QIN[21][I],QIN[22][I],QIN[23][I],QIN[24][I],QIN[25][I]
# WRITE(6,882) QIN[26][I],QIN[27][I],QIN[28][I],QIN[29][I],QIN[30][I]
# WRITE(6,882) QIN[31][I],QIN[32][I],QIN[33][I],QIN[34][I],QIN[35][I]
# 882 print(' QIN ',5'%.4f' % )
# WRITE(6,883) Q[2][I],Q[3][I],Q[4][I],Q[5][I]
# 883 print(' Q 2 3 4 5',4'%.4f' % )
# WRITE(6,884) QION[1][I],QION[2][I],QION[3][I]
# 884 print('QION 1 2 3 ',3'%.4f' % )
#
QSUP=QIN[1][I]+QIN[3][I]+QIN[5][I]
QVIB=QIN[2][I]+QIN[4][I]+QIN[6][I]+QIN[7][I]+QIN[8][I]+QIN[9][I]+QIN[10][I]
QSING=0.0
DO 888 NPT=11,35
888 QSING=QSING+QIN(NPT,I)
QTRIP=QIN[11][I]+QIN[14][I]+QIN[22][I]
QSING=QSING-QTRIP
QATTA=Q[4][I]
QIONS=0.0
DO 889 NPT=1,NION
889 QIONS=QIONS+QION(NPT,I)
QTOT=Q[2][I]+Q[4][I]+QSUP+QVIB+QSING+QTRIP
# WRITE(6,767) EN,QTOT,QATT,QSUP,QVIB,QSING,QTRIP,QIONS,Q[2][I],QMOM
#767 print(' EN=','%.4f' %,' QTOT=','%.3f' %,' QATT=','%.3f' %,' QSUP=','%.3f' %,/
# /,' QVIB=','%.3f' %,' QSING=','%.3f' %,' QTRIP=','%.3f' %,' QION=','%.3f' %,/,'
# / QELAS=','%.3f' %,' QELMOM=','%.3f' %,/)
#
1000 CONTINUE
# SAVE COMPUTE TIME
DO 1010 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 1011
# endif
1010 CONTINUE
1011 CONTINUE
if(EFINAL > 1000.):
NIN=37
#
return
# end
def GAS31(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS32(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS33(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS34(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS35(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS36(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS37(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS38(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS39(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS40(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS41(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS42(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS43(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
# IMPLICIT #real*8 (A-H,O-Z)
# IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
COMMON/DENS/DEN(20000)
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS44(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
COMMON/MIX2/EG(20000),EROOT(20000),QT1(20000),QT2(20000),QT3(20000),QT4(20000)
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
DIMENSION XEN(130),YELM(130),YELT(130),YEPS(130),XION[42],YION[42],YINC[42],XATT[10],YATT[10],XKSHC(83),YKSHC(83),XKSHN(89),YKSHN(89),XTORS[32],YTORS[32],XVIB1[25],YVIB1[25],XVIB2[24],YVIB2[24],XVIB3[28],YVIB3[28],XVHAR[15],YVHAR[15],XTRP1[12],YTRP1[12],XTRP2[11],YTRP2[11],XTRP3[11],YTRP3[11],IOFFN[37],IOFFION[12]
DIMENSION Z6T[25],Z7T[25],Z1T[25],EBRM[25]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
#
XEN=[0.00,.001,0.01,0.02,0.10,0.20,0.30,0.40,0.50,0.70,1.00,1.50,2.00,3.00,4.00,5.00,7.00,8.00,10.0,12.0,15.0,20.0,30.0,60.0,100.,125.,150.,175.,200.,250.,300.,350.,400.,450.,500.,600.,700.,800.,900.,1000.,1250.,1500.,1750.,2000.,2500.,3000.,3500.,4000.,4500.,5000.,6000.,7000.,8000.,9000.,1.0D4,1.25D4,1.5D4,1.75D4,2.0D4,2.5'%.3f' %.0'%.3f' %.5D4,4.0D4,4.5D4,5.0D4,6.0D4,7.0D4,8.0D4,9.0D4,1.0D5,1.25D5,1.5D5,1.75D5,2.0D5,2.5'%.3f' %.0'%.3f' %.5D5,4.0D5,4.5D5,5.0D5,6.0D5,7.0D5,8.0D5,9.0D5,1.0D6,1.25D6,1.5D6,1.75'%.3f' %.0D6,2.5'%.3f' %.0'%.3f' %.5D6,4.0D6,4.5D6,5.0D6,6.0D6,7.0D6,8.0D6,9.0D6,1.0D7,1.25D7,1.5D7,1.75D7,2.0D7,2.5'%.3f' %.0'%.3f' %.5D7,4.0D7,4.5D7,5.0D7,6.0D7,7.0D7,8.0D7,9.0D7,1.0D8,1.25D8,1.5D8,1.75D8,2.0D8,2.5'%.3f' %.0'%.3f' %.5D8,4.0D8,4.5D8,5.0D8,6.0D8,7.0D8,8.0D8,9.0D8,1.0D9]
# ELASTIC MOMENTUM TRANSFER
YELM=[400.,390.,280.,190.,38.0,19.5,15.0,13.0,12.5,13.0,14.0,15.5,17.0,21.0,26.0,31.0,38.0,38.0,37.0,33.0,29.0,24.0,18.0,11.0,6.09,4.50,3.50,2.81,2.32,1.67,1.26,.998,.810,.672,.568,.423,.328,.263,.216,.180,.123,.0899,.0687,.0544,.0367,.0265,.0202,.0159,.0128,.0106,.00765,.00579,.00455,.00367,.00304,.00203,.00146,.00110,8.63e-4,5.77e-4,4.14e-4,3.14e-4,2.47e-4,2.00e-4,1.66e-4,1.20e-4,9.10e-5,7.19e-5,5.85e-5,4.87e-5,3.32e-5,2.43e-5,1.88e-5,1.50e-5,1.04e-5,7.76e-6,6.07e-6,4.92e-6,4.09e-6,3.47e-6,2.62e-6,2.07e-6,1.69e-6,1.41e-6,1.20e-6,8.60e-7,6.48e-7,5.10e-7,4.13e-7,2.89e-7,2.15e-7,1.67e-7,1.33e-7,1.09e-7,9.15e-8,6.69e-8,5.13e-8,4.06e-8,3.30e-8,2.74e-8,1.84e-8,1.32e-8,9.99e-9,7.83e-9,5.19e-9,3.71e-9,2.78e-9,2.17e-9,1.74e-9,1.42e-9,1.01e-9,7.49e-10,5.79e-10,4.61e-10,3.75e-10,2.42e-10,1.69e-10,1.25e-10,9.57e-11,6.14e-11,4.27e-11,3.14e-11,2.40e-11,1.90e-11,1.54e-11,1.07e-11,7.86e-12,6.02e-12,4.76e-12,3.85e-12]
# ELASTIC
YELT=[400.,390.,280.,190.,38.0,19.5,15.0,14.5,15.0,15.7,17.0,19.0,21.4,26.5,34.5,41.3,51.3,54.0,56.0,52.2,46.2,39.7,33.0,22.3,16.2,13.2,11.8,10.2,8.76,7.44,6.49,5.78,5.21,4.75,4.37,3.77,3.32,2.97,2.68,2.45,2.01,1.71,1.48,1.31,1.06,.897,.775,.682,.610,.551,.463,.399,.351,.314,.284,.229,.193,.167,.147,.119,.101,.0877,.0779,.0702,.0640,.0548,.0482,.0442,.0394,.0363,.0308,.0271,.0245,.0226,.0199,.0181,.0169,.0159,.0152,.0147,.0139,.0133,.0129,.0126,.0123,.0119,.0117,.0115,.0114,.0113,.0112,.0111,.0111,.0110,.0110,.0110,.0110,.0110,.0110,.0110,.0109,29*0.0109]
# 1.0-EPS
YEPS=[7*1.0,.84557,.75309,.74543,.73896,.72785,.69736,.69462,.64030,.63613,.62258,.57254,.51632,.48021,.47463,.44619,.37693,.31990,.20687,.17740,.14298,.12770,.12028,.09386,.076184,.063994,.055018,.048145,.042751,.034829,.029328,.025289,.022205,.019780,.015515,.012745,.01001,.009377,.007412,.006122,.005213,.004539,.004020,.003604,.002989,.002552,.002225,.001973,.001771,.001410,.001170,9.991e-4,8.715e-4,6.926e-4,5.734e-4,4.886e-4,4.250e-4,3.755e-4,3.361e-4,2.768e-4,2.346e-4,1.978e-4,1.785e-4,1.590e-4,1.239e-4,1.007e-4,8.425e-5,7.202e-5,5.511e-5,4.405e-5,3.628e-5,3.058e-5,2.622e-5,2.280e-5,1.781e-5,1.437e-5,1.188e-5,1.002e-5,8.574e-6,6.164e-6,4.635e-6,3.621e-6,2.910e-6,2.003e-6,1.466e-6,1.120e-6,8.840e-7,7.159e-7,5.917e-7,4.239e-7,3.186e-7,2.484e-7,1.991e-7,1.631e-7,1.066e-7,7.51e-8,5.58e-8,4.30e-8,2.78e-8,1.94e-8,1.43e-8,1.10e-8,8.70e-9,7.10e-9,4.89e-9,3.58e-9,2.73e-9,2.15e-9,1.73e-9,1.09e-9,7.48e-10,5.43e-10,4.11e-10,2.58e-10,1.76e-10,1.28e-10,9.7D-11,7.5D-11,6.0D-11,4.1D-11,3.0D-11,2.3D-11,1.8D-11,1.4D-11]
# TORSION SCALED BY 1/E ABOVE 10 EV
XTORS=[.0334,.034,.035,.036,.038,.040,.045,.050,.055,.060,.070,.080,.100,.120,.140,.170,.200,0.25,0.30,0.40,0.50,0.70,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0=[ ]
YTORS=[0.00,.068,.072,.090,.114,.132,.150,.156,.162,.162,.156,.150,.138,.126,.114,.102,.0932,.0798,.0702,.0576, .0486,.0378,.0288,.0210,.0162,.0120,.0090,.0078,.0066,.00576,.00516,.0042=[ ]
# VIB1 SCALED BY 1/E ABOVE 40 EV
XVIB1=[.103,0.12,0.13,0.15,0.20,0.23,0.25,0.30,0.40,0.50,0.70,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0,15.0,20.0,30.0,40.0=[ ]
YVIB1=[0.00,0.51,0.90,1.20,1.30,1.26,1.18,1.06,0.90,0.79,0.66,0.51,0.43,0.57,0.92,1.21,1.56,2.03,2.03,1.67,0.99,0.66,0.35,0.22,0.16=[ ]
# YVIB2 SCALED BY 1/E ABOVE 40 EV
XVIB2=[.179,.185,0.19,0.20,0.23,0.25,0.30,0.40,0.50,0.70,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0,15.0,20.0,30.0,40.0]
YVIB2=[0.00,0.23,0.48,0.68,0.88,0.95,1.01,0.95,0.88,0.76,0.61,0.53,0.53,0.79,1.03,1.33,1.75,1.75,1.48,0.88,0.57,0.31,.193,.145]
# YVIB3 SCALED BY 1/E ABOVE 40 EV
XVIB3=[.366,.373,0.38,0.39,0.40,0.42,0.45,0.50,0.55,0.60,0.70,0.80,0.90,1.00,1.20,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0,15.0,20.0,30.0,40.0]
YVIB3=[0.00,.224,.339,.415,.472,.553,0.63,0.70,0.73,0.74,0.74,0.71,0.65,0.66,0.65,0.65,0.73,1.04,1.39,1.70,1.87,1.87,1.46,0.80,0.53,0.29,0.19,0.14]
# YVHAR SCALED BY 1/E ABOVE 40 EV
XVHAR=[.480,1.00,1.50,2.00,3.00,4.00,5.00,6.00,7.00,8.00,10.0,15.0,20.0,30.0,40.0]
YVHAR=[0.00,.001,.033,.085,0.16,0.20,0.27,0.30,0.30,0.23,.125,.085,.047,.032,.024]
# NB. RYDBERG 3S AND 3P AND HIGHER STATES
# DIPOLE PART =[IVEN BY BRION CAN.J.CHEM. 72(1994)529]
# DIPOLE PART =[IVE ANALYTICALLY BEF SCALING IN de]
#
# TRIPLET NON DIPOLE STATES
XTRP1=[4.60,5.50,7.00,8.00,9.00,10.0,12.0,14.0,17.0,20.0,24.0,27.0]
YTRP1=[0.00,.015,.050,.075,.084,.090,.098,.100,.090,.075,.055,.043]
#
XTRP2=[5.70,7.20,8.20,9.20,10.2,12.2,14.2,17.2,20.2,24.2,27.2]
YTRP2=[0.00,.088,.161,.185,.198,.216,.220,.198,.165,.121, .095]
#
XTRP3=[7.00,8.00,9.00,10.0,12.0,14.0,17.0,20.0,24.0,27.0,32.0]
YTRP3=[0.00,.245,.504,.588,.665,.700,.700,.665,.525,.406,.301]
#
XION=[8.40,9.00,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0, 18.0,19.0,20.0,22.5,25.0,27.5,30.0,35.0,40.0,45.0, 50.0,60.0,70.0,80.0,90.0,100.,110.,120.,140.,160.,180.,200.,300.,400.,500.,600.,700.,800.,900.,1000., 2000.,3000.]
# GROSS IONISATION
YION=[0.00,.097,.267,.435,.595,.760,1.08,1.53,2.00,2.52, 3.06,3.58,4.07,5.18,6.15,7.00,7.75,8.93,9.79,10.4,10.8,11.3,11.5,11.5,11.4,11.2,11.0,10.7,10.2,9.76,9.30,8.86,7.16,6.00,5.18,4.57,4.09,3.71,3.40,3.13,1.81,1.30]
# COUNTING IONISATION
YINC=[42*0.0]
XATT=[10*0.0]
YATT=[10*0.0]
# K-SHELL IONISATION X-SECTION CARBON
XKSHC=[285.,298.,307.,316.,325.,335.,345.,365.,398.,422.,447.,473.,501.,531.,613.,668.,708.,750.,817.,917.,1000.,1122.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3981.,5012.,7079.,1.0D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.0D6,1.26D6,1.5D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.0D7,1.26D7,1.5D7,2.05'%.3f' %.07D7,4.10D7,5.01D7,6.13D7,7.08D7,8.18D7,1.0D8,1.26D8,1.5D8,2.05'%.3f' %.07D8,4.10D8,5.01D8,6.13D8,7.08D8,8.18D8,1.0D9]
YKSHC=[0.00,1.66e-4,3.48e-4,5.25e-4,6.96e-4,8.63e-4,1.02e-3,1.33e-3,1.75e-3,2.01e-3,2.24e-3,2.46e-3,2.66e-3,2.84e-3,3.21e-3,3.38e-3,3.47e-3,3.55e-3,3.65e-3,3.72e-3,3.75e-3,3.74e-3,3.68e-3,3.57e-3,3.45e-3,3.31e-3,3.19e-3,3.07e-3,2.91e-3,2.66e-3,2.25e-3,1.95e-3,1.55e-3,1.21e-3,8.97e-4,7.07e-4,6.07e-4,5.21e-4,4.21e-4,3.63e-4,3.14e-4,2.84e-4,2.57e-4,2.25e-4,1.74e-4,1.50e-4,1.28e-4,1.15e-4,1.09e-4,1.05e-4,1.03e-4,1.02e-4,1.01e-4,1.005e-4,1.01e-4,1.03e-4,1.07e-4,1.11e-4,1.14e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.29e-4,1.32e-4,1.38e-4,1.45e-4,1.50e-4,1.54e-4,1.58e-4,1.60e-4,1.63e-4,1.67e-4,1.71e-4,1.74e-4,1.80e-4,1.87e-4,1.92e-4,1.96e-4,2.00e-4,2.02e-4,2.05e-4,2.09e-4]
# NITROGEN K-SHELL IONISATION (MULTIPLY BY 2 FOR MOLECULE)
XKSHN=[401.6,407.,419.,431.,444.,457.,471.,485.,499.,515.,530.,546.,562.,596.,631.,668.,708.,750.,794.,841.,891.,944.,1000.,1090.,1188.,1296.,1496.,1679.,1884.,2054.,2238.,2512.,2985.,3758.,4467.,5158.,5957.,7079.,1.0D4,1.26D4,1.50D4,2.05D4,2.51'%.3f' %.07D4,4.10D4,5.01D4,6.13D4,7.08D4,8.18D4,1.0D5,1.54D5,2.05D5,2.99D5,4.10D5,5.01D5,6.13D5,7.08D5,8.18D5,1.00D6,1.25D6,1.50D6,2.05'%.3f' %.07D6,4.10D6,5.01D6,6.13D6,7.08D6,8.18D6,1.00D7,1.22D7,1.50D7,1.88D7,2.24D7,2.82'%.3f' %.76D7,4.87D7,6.31D7,8.66D7,1.00D8,1.22D8,1.50D8,1.88D8,2.24D8,2.82'%.3f' %.76D8,4.87D8,6.31D8,8.66D8,1.00D9]
YKSHN=[0.00,4.11e-5,1.38e-4,2.32e-4,3.23e-4,4.12e-4,4.98e-4,5.81e-4,6.61e-4,7.38e-4,8.13e-4,8.85e-4,9.54e-4,1.08e-3,1.20e-3,1.31e-3,1.41e-3,1.50e-3,1.58e-3,1.65e-3,1.72e-3,1.77e-3,1.82e-3,1.87e-3,1.91e-3,1.94e-3,1.95e-3,1.93e-3,1.89e-3,1.86e-3,1.81e-3,1.74e-3,1.63e-3,1.45e-3,1.32e-3,1.22e-3,1.12e-3,1.00e-3,7.95e-4,6.77e-4,5.98e-4,4.74e-4,4.09e-4,3.52e-4,2.85e-4,2.47e-4,2.14e-4,1.94e-4,1.76e-4,1.54e-4,1.19e-4,1.03e-4,8.77e-5,7.92e-5,7.54e-5,7.27e-5,7.14e-5,7.04e-5,6.97e-5,6.96e-5,7.00e-5,7.16e-5,7.47e-5,7.74e-5,7.95e-5,8.17e-5,8.34e-5,8.51e-5,8.75e-5,9.00e-5,9.25e-5,9.54e-5,9.76e-5,1.01e-4,1.04e-4,1.08e-4,1.11e-4,1.15e-4,1.17e-4,1.20e-4,1.22e-4,1.25e-4,1.27e-4,1.31e-4,1.34e-4,1.38e-4,1.41e-4,1.45e-4,1.47e-4]
# BREMSTRAHLUNG X-SECTION WITH CUT OFF
Z1T=[11.3,6.18,2.80,1.54,.858,.407,.251,.176,.145,.150,.167,.178,.187,.193,.198,.205,.210,.218,.222,.228,.231,.233,.234,.235,.235]
Z6T=[298.,178.,85.2,47.5,26.3,12.2,7.06,4.45,3.06,2.82,2.89,2.99,3.08,3.13,3.18,3.25,3.31,3.39,3.44,3.49,3.52,3.54,3.55,3.57,3.57]
Z7T=[385.,234.,113.,63.5,35.5,16.4,9.48,5.96,4.07,3.73,3.81,3.93,4.04,4.11,4.18,4.26,4.33,4.42,4.48,4.55,4.59,4.61,4.63,4.64,4.65]
EBRM=[1000.,2000.,5000.,1.D4,2.D4,5.D4,1.D5,2.D5,5.D5,1.D6,2.'%.3f' %.D6,4.D6,5.D6,6.D6,8.D6,1.D7,1.5D7,2.'%.3f' %.D7,4.D7,5.D7,6.D7,8.D7,1.D8]
#
# ********************************************************************
if(NANISO == 2):
NAME=' N(CH3)3 2015 ANISOTROPIC'
if(NANISO == 0):
NAME=' N(CH3)3 2015 ISOTROPIC '
# ********************************************************************
# X-SECTIONS FROM SCALING AND SYSTEMATICS
# TMA USED AS DOPANT AND FOR LIGHT EMISSION
# LIGHT FROM TRANSITIONS IN S AND P RYDBERG STATES ( 4.6 EV LEVEL )
# TOTAL ELECTRON SCATTERING FROM GDANSK.
# --------------------------------------------------------------------
# BEF CONSTANT
EMASS2=1021997.804
API=numpy.arccos(-1.00)
A0=0.52917720859e-8
RY=13.60569193
BBCONST=16.0*API*A0*A0*RY*RY/EMASS2
#
# BORN BETHE VALUES FOR IONISATION
CONST=1.873884e-20
AM2=15.2
C=142.1
AUGKC=2.00
AUGKN=1.99
#
NION=3
NATT=1
NIN=37
NNULL=0
IONMODEL=0
#
NDATA=130
NIOND=42
NKSHC=83
NKSHN=89
NATT1=10
NTORS=32
NVIB1=25
NVIB2=24
NVIB3=28
NTRP1=12
NTRP2=11
NTRP3=11
NVHAR=15
#
# ARRAY SIZE
NASIZE=20000
#
NBREM=25
DO 1 J=1,NIN
IZBR[J]=0
1 CONTINUE
IZBR[38]=1
IZBR[39]=6
IZBR[40]=7
#
# SET ANISOTROPIC SCATTERING OKHRIMOVSKKY
DO 2 J=1,6
2 KEL[J]=NANISO
DO 3 J=1,NIN
3 KIN[J]=NANISO
#
E[1]=0.0
E[2]=2.0*EMASS/(59.11026*AMU)
E[3]=8.40
E[4]=0.0
E[5]=0.0
E[6]=0.0
#
EION[1]=8.40
EION[2]=285.0
EION[3]=401.6
#
EOBY[1]=EION[1]*0.85
EOBY[2]=210.0
EOBY[3]=260.0
#
LEGAS[1]=0
ISHELL[1]=0
LEGAS[2]=1
ISHELL[2]=1
LEGAS[3]=2
ISHELL[3]=1
NC0[1]=0
EC0[1]=0.0
WKLM[1]=0.0
EFL[1]=0.0
NG1[1]=0
EG1[1]=0.0
NG2[1]=0
EG2[1]=0.0
# K SHELL INCLUDING FLUORESCENCE
NC0[2]=2
EC0[2]=253.0
WKLM[2]=0.0026
EFL[2]=273.0
NG1[2]=1
EG1[2]=253.0
NG2[2]=1
EG2[2]=5.0
NC0[3]=2
EC0[3]=358.6
WKLM[3]=0.0044
EFL[3]=385.
NG1[3]=1
EG1[3]=353.
NG2[3]=1
EG2[3]=6.0
#
DO 141 J=1,NION
DO 4 I=1,NASIZE
if(EG[I]:
> EION[J]) :
IOFFION[J]=I-1
GO TO 141
# endif
4 CONTINUE
141 CONTINUE
#
EIN[1]=-0.025
EIN[2]=0.025
EIN[3]=-0.0334
EIN[4]=0.0334
EIN[5]=-0.103
EIN[6]=0.103
EIN[7]=0.179
EIN[8]=0.366
EIN[9]=0.480
# NON DIPOLE
EIN[10]=4.6
# 3S RYDBERG DIPOLE
EIN[11]=4.65
EIN[12]=4.95
EIN[13]=5.25
EIN[14]=5.55
# NON DIPOLE
EIN[15]=5.7
# 3P RYDBERG DIPOLE
EIN[16]=5.85
EIN[17]=6.15
EIN[18]=6.45
EIN[19]=6.75
# NON DIPOLE
EIN[20]=7.0
# HIGHER RYDBERGS
EIN[21]=7.05
EIN[22]=7.35
EIN[23]=7.65
EIN[24]=7.95
EIN[25]=8.25
EIN[26]=8.55
EIN[27]=8.85
EIN[28]=9.15
EIN[29]=9.45
EIN[30]=9.75
EIN[31]=10.05
EIN[32]=10.35
EIN[33]=10.65
EIN[34]=10.95
EIN[35]=11.25
EIN[36]=11.55
EIN[37]=11.85
EIN[38]=0.0
EIN[39]=0.0
EIN[40]=0.0
# OFFSET ENERGY FOR EXCITATIONS
DO 42 NL=1,NIN
DO 651 I=1,NASIZE
if(EG[I]:
> abs(EIN[NL])) :
IOFFN[NL]=I-1
GO TO 42
# endif
651 CONTINUE
42 CONTINUE
# *************************************************************
# PENNING TRANSFER FRACTION FOR EACH LEVEL
# SET TO 0 SINCE VERY LOW ENERGY EXCITATION LEVELS
DO 5 K=1,NIN
DO 5 L=1,3
5 PENFRA[L,K]=0.0
# **************************************************************
SCRPT[1]=' '
SCRPT[2]=' ELASTIC N-(CH3)3 TRIMETHYL AMINE '
SCRPT[3]=' IONISATION ELOSS= 8.40 '
SCRPT[4]=' IONISATION CARBON K-SHELL ELOSS= 285.0 '
SCRPT[5]=' IONISATION NITROGEN K-SHELL ELOSS= 401.6 '
SCRPT[6]=' ATTACHMENT '
SCRPT[7]=' '
SCRPT[8]=' '
SCRPT[9]=' ROTATION ELOSS= -0.025 '
SCRPT[10]=' ROTATION ELOSS= 0.025 '
SCRPT[11]=' TORSION + ROTATION ELOSS= -0.0334 '
SCRPT[12]=' TORSION + ROTATION ELOSS= 0.0334 '
SCRPT[13]=' VIBRATION V1 ELOSS= -0.103 '
SCRPT[14]=' VIBRATION V1 ELOSS= 0.103 '
SCRPT[15]=' VIBRATION V2 ELOSS= 0.179 '
SCRPT[16]=' VIBRATION V3 ELOSS= 0.366 '
SCRPT[17]=' VIBRATION HARMONICS ELOSS= 0.480 '
SCRPT[18]=' EXC TRIPLET ELOSS= 4.6 '
SCRPT[19]=' EXC DIPOLE 3S RYDBERG F=.00047 ELOSS= 4.65 '
SCRPT[20]=' EXC DIPOLE 3S RYDBERG F=.00384 ELOSS= 4.95 '
SCRPT[21]=' EXC DIPOLE 3S RYDBERG F=.00828 ELOSS= 5.25 '
SCRPT[22]=' EXC DIPOLE 3S RYDBERG F=.00974 ELOSS= 5.55 '
SCRPT[23]=' EXC TRIPLET ELOSS= 5.70 '
SCRPT[24]=' EXC DIPOLE 3P RYDBERG F=.02635 ELOSS= 5.85 '
SCRPT[25]=' EXC DIPOLE 3P RYDBERG F=.03621 ELOSS= 6.15 '
SCRPT[26]=' EXC DIPOLE 3P RYDBERG F=.02819 ELOSS= 6.45 '
SCRPT[27]=' EXC DIPOLE 3P RYDBERG F=.02325 ELOSS= 6.75 '
SCRPT[28]=' EXC TRIPLET ELOSS= 7.00 '
SCRPT[29]=' EXC DIPOLE HIGH RYDBERG F=.02271 ELOSS= 7.05 '
SCRPT[30]=' EXC DIPOLE HIGH RYDBERG F=.02561 ELOSS= 7.35 '
SCRPT[31]=' EXC DIPOLE HIGH RYDBERG F=.02641 ELOSS= 7.65 '
SCRPT[32]=' EXC DIPOLE HIGH RYDBERG F=.02625 ELOSS= 7.95 '
SCRPT[33]=' EXC DIPOLE HIGH RYDBERG F=.02671 ELOSS= 8.25 '
SCRPT[34]=' EXC DIPOLE HIGH RYDBERG F=.04342 ELOSS= 8.55 '
SCRPT[35]=' EXC DIPOLE HIGH RYDBERG F=.06804 ELOSS= 8.85 '
SCRPT[36]=' EXC DIPOLE HIGH RYDBERG F=.07186 ELOSS= 9.15 '
SCRPT[37]=' EXC DIPOLE HIGH RYDBERG F=.07346 ELOSS= 9.45 '
SCRPT[38]=' EXC DIPOLE HIGH RYDBERG F=.08795 ELOSS= 9.75 '
SCRPT[39]=' EXC DIPOLE HIGH RYDBERG F=.11445 ELOSS= 10.05 '
SCRPT[40]=' EXC DIPOLE HIGH RYDBERG F=.12904 ELOSS= 10.35 '
SCRPT[41]=' EXC DIPOLE HIGH RYDBERG F=.13512 ELOSS= 10.65 '
SCRPT[42]=' EXC DIPOLE HIGH RYDBERG F=.14497 ELOSS= 10.95 '
SCRPT[43]=' EXC DIPOLE HIGH RYDBERG F=.15169 ELOSS= 11.25 '
SCRPT[44]=' EXC DIPOLE HIGH RYDBERG F=.15328 ELOSS= 11.55 '
SCRPT[45]=' EXC DIPOLE HIGH RYDBERG F=.15788 ELOSS= 11.85 '
SCRPT[46]=' BREMSSTRAHLUNG FROM HYDROGEN ATOMS '
SCRPT[47]=' BREMSSTRAHLUNG FROM CARBON ATOMS '
SCRPT[48]=' BREMSSTRAHLUNG FROM NITROGEN ATOM '
#
APOP1=math.exp(EIN[1]/AKT)
APOP2=math.exp(EIN[3]/AKT)
APOP3=math.exp(EIN[5]/AKT)
#
# EN=-ESTEP/2.0
DO 900 I=1,NSTEP
# EN=EN+ESTEP
EN=EG[I]
GAMMA1=(EMASS2+2.00*EN)/EMASS2
GAMMA2=GAMMA1*GAMMA1
BETA=math.sqrt(1.00-1.00/GAMMA2)
BETA2=BETA*BETA
#
Q[2][I]=0.0
# USE LOG INTERPOLATION BECAUSE OF RAPID CHANGE IN X-SEC
if(EN <= XEN[2]) :
Q[2][I]=YELM[2]*1.e-16
GO TO 30
# endif
DO 10 J=2,N
if(EN <= XEN[J]:
) GO TO 20
10 CONTINUE
J=NDATA
20 YXJ=math.log(YELM[J])
YXJ1=math.log(YELM[J-1])
XNJ=math.log(XEN[J])
XNJ1=math.log(XEN[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QMOM=math.exp(A*math.log(EN)+B)*1.*10**-16
YXJ=math.log(YELT[J])
YXJ1=math.log(YELT[J-1])
XNJ=math.log(XEN[J])
XNJ1=math.log(XEN[J-1])
A=(YXJ-YXJ1)/(XNJ-XNJ1)
B=(XNJ1*YXJ-XNJ*YXJ1)/(XNJ1-XNJ)
QELA=math.exp(A*math.log(EN)+B)*1.*10**-16
A=(YEPS[J]-YEPS[J-1])/(XEN[J]-XEN[J-1])
B=(XEN[J-1]*YEPS[J]-XEN[J]*YEPS[J-1])/(XEN[J-1]-XEN[J])
PQ2=(A*EN+B)
# EPS CORRECTED FOR 1-EPS
PQ2=1.0-PQ2
PQ1=0.5+(QELA-QMOM)/QELA
Q[2][I]=QELA
if(NANISO == 0):
Q[2][I]=QMOM
30 if(NANISO == 0) PEQEL[2][I]=0.5
if(NANISO == 1):
PEQEL[2][I]=PQ1
if(NANISO == 2):
PEQEL[2][I]=PQ2
#
Q[3][I]=0.0
#
QION[1][I]=0.0
PEQION[1][I]=0.5
if(NANISO == 2):
PEQION[1][I]=0.0
if(EN < EION[1]:
) GO TO 35
if(EN > XION(NIOND):
) GO TO 33
DO 31 J=2,NIOND
if(EN <= XION[J]:
) GO TO 32
31 CONTINUE
J=NIOND
32 A=(YION[J]-YION[J-1])/(XION[J]-XION[J-1])
B=(XION[J-1]*YION[J]-XION[J]*YION[J-1])/(XION[J-1]-XION[J])
QION[1][I]=(A*EN+B)*1.e-16
GO TO 34
# USE BORN BETHE X-SECTION ABOVE XION(NIOND) EV
33 X2=1.00/BETA2
X1=X2*math.log(BETA2/(1.00-BETA2))-1.00
QION[1][I]=CONST*(AM2*(X1-DEN[1]/2.0)+C*X2)
34 if(EN <= (2.0*EION[1])) GO TO 35
PEQION[1][I]=PEQEL[2][(I-IOFFION[1]])
# CARBON K SHELL IONISATION
35 QION[2][I]=0.0
PEQION[2][I]=0.5
if(NANISO == 2):
PEQION[2][I]=0.0
if(EN <= EION[2]:
) GO TO 38
DO 36 J=2,NKSHC
if(EN <= XKSHC[J]:
) GO TO 37
36 CONTINUE
J=NKSHC
37 A=(YKSHC[J]-YKSHC[J-1])/(XKSHC[J]-XKSHC[J-1])
B=(XKSHC[J-1]*YKSHC[J]-XKSHC[J]*YKSHC[J-1])/(XKSHC[J-1]-XKSHC[J])
# 3 CARBONS PER MOLECULE
QION[2][I]=3.0*(A*EN+B)*1.e-16
if(EN <= (2.0*EION[2]:
)) GO TO 38
PEQION[2][I]=PEQEL[2][(I-IOFFION[2]])
# NITROGEN K-SHELL IONISATION
38 QION[3][I]=0.0
PEQION[3][I]=0.5
if(NANISO == 2):
PEQION[3][I]=0.0
if(EN <= EION[3]:
) GO TO 41
DO 39 J=2,NKSHN
if(EN <= XKSHN[J]:
) GO TO 40
39 CONTINUE
J=NKSHN
40 A=(YKSHN[J]-YKSHN[J-1])/(XKSHN[J]-XKSHN[J-1])
B=(XKSHN[J-1]*YKSHN[J]-XKSHN[J]*YKSHN[J-1])/(XKSHN[J-1]-XKSHN[J])
QION[3][I]=(A*EN+B)*1.e-16
if(EN <= (2.0*EION[3]:
)) GO TO 41
PEQION[3][I]=PEQEL[2][(I-IOFFION[3]])
# CORRECT THE IONISATION FOR SPLIT INTO KSHELLS
QION[1][I]=QION[1][I]-AUGKC*QION[2][I]-AUGKN*QION[3][I]
# ATTACHMENT
41 Q[4][I]=0.0
#
Q[5][I]=0.0
Q[6][I]=0.0
#
# SUPERELASTIC ROT1
#
QIN[1][I]=0.0
PEQIN[1][I]=0.0
if(EN <= 0.0):
GO TO 100
EFAC=math.sqrt(1.0-(EIN[1]/EN))
QIN[1][I]=0.27*math.log((EFAC+1.0)/(EFAC-1.0))/EN
QIN[1][I]=QIN[1][I]*APOP1/(1.0+APOP1)*1.e-16
if(EN <= abs(20.0*EIN[1]:
)) GO TO 100
PEQIN[1][I]=PEQEL[2][(I-IOFFN[1]))]
# ROT1
100 QIN[2][I]=0.0
PEQIN[2][I]=0.0
if(EN <= EIN[2]:
) GO TO 150
EFAC=math.sqrt(1.0-(EIN[2]/EN))
QIN[2][I]=0.27*math.log((1.0+EFAC)/(1.0-EFAC))/EN
QIN[2][I]=QIN[2][I]/(1.0+APOP1)*1.e-16
if(EN <= (20.0*EIN[2]:
)) GO TO 150
PEQIN[2][I]=PEQEL[2][(I-IOFFN[2]))]
#
# SUPERELASTIC TORSION
#
150 QIN[3][I]=0.0
PEQIN[3][I]=0.0
if(EN <= 0.0):
GO TO 200
if((EN+EIN[4]:
) > XTORS(NTORS)) GO TO 175
DO 160 J=2,NTORS
if((EN+EIN[4]:
) <= XTORS[J]) GO TO 170
160 CONTINUE
J=NTORS
170 A=(YTORS[J]-YTORS[J-1])/(XTORS[J]-XTORS[J-1])
B=(XTORS[J-1]*YTORS[J]-XTORS[J]*YTORS[J-1])/(XTORS[J-1]-XTORS[J])
QIN[3][I]=(EN+EIN[4])*(A*(EN+EIN[4])+B)/EN
QIN[3][I]=QIN[3][I]*APOP2/(1.0+APOP2)*1.e-16
GO TO 176
# SCALED BY 1/E ABOVE XTORS(NTORS) EV
175 QIN[3][I]=YTORS(NTORS)*XTORS(NTORS)/EN
QIN[3][I]=QIN[3][I]*APOP2/(1.0+APOP2)*1.e-16
176 if(EN <= abs(10.0*EIN[3])) GO TO 200
PEQIN[3][I]=PEQEL[2][(I-IOFFN[3]))]
# INELASTIC TORSION
200 QIN[4][I]=0.0
PEQIN[4][I]=0.0
if(EN <= EIN[4]:
) GO TO 250
if(EN > XTORS(NTORS):
) GO TO 225
DO 210 J=2,NTORS
if(EN <= XTORS[J]:
) GO TO 220
210 CONTINUE
J=NTORS
220 A=(YTORS[J]-YTORS[J-1])/(XTORS[J]-XTORS[J-1])
B=(XTORS[J-1]*YTORS[J]-XTORS[J]*YTORS[J-1])/(XTORS[J-1]-XTORS[J])
QIN[4][I]=(A*EN+B)
QIN[4][I]=QIN[4][I]/(1.0+APOP2)*1.e-16
GO TO 226
# SCALED BY 1/E ABOVE XTORS(NTORS) EV
225 QIN[4][I]=YTORS(NTORS)*XTORS(NTORS)/EN
QIN[4][I]=QIN[4][I]/(1.0+APOP2)*1.e-16
226 if(EN <= (10.0*EIN[4])) GO TO 250
PEQIN[4][I]=PEQEL[2][(I-IOFFN[4]))]
# SUPERELASTIC VIB1
250 QIN[5][I]=0.0
PEQIN[5][I]=0.0
if(EN <= 0.0):
GO TO 300
if((EN+EIN[6]:
) > XVIB1(NVIB1)) GO TO 275
DO 260 J=2,NVIB1
if((EN+EIN[6]:
) <= XVIB1[J]) GO TO 270
260 CONTINUE
J=NVIB1
270 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN[5][I]=(EN+EIN[6])*(A*(EN+EIN[6])+B)/EN
QIN[5][I]=QIN[5][I]*APOP3/(1.0+APOP3)*1.e-16
GO TO 276
# SCALED BY 1/E ABOVE XVIB1(NVIB1) EV
275 QIN[5][I]=YVIB1(NVIB1)*XVIB1(NVIB1)/EN
QIN[5][I]=QIN[5][I]*APOP3/(1.0+APOP3)*1.e-16
276 if(EN <= abs(10.0*EIN[5])) GO TO 300
PEQIN[5][I]=PEQEL[2][(I-IOFFN[5]))] # INELASTIC VIB1
300 QIN[6][I]=0.0
PEQIN[6][I]=0.0
if(EN <= EIN[6]:
) GO TO 350
if(EN > XVIB1(NVIB1):
) GO TO 325
DO 310 J=2,NVIB1
if(EN <= XVIB1[J]:
) GO TO 320
310 CONTINUE
J=NVIB1
320 A=(YVIB1[J]-YVIB1[J-1])/(XVIB1[J]-XVIB1[J-1])
B=(XVIB1[J-1]*YVIB1[J]-XVIB1[J]*YVIB1[J-1])/(XVIB1[J-1]-XVIB1[J])
QIN[6][I]=(A*EN+B)
QIN[6][I]=QIN[6][I]/(1.0+APOP3)*1.e-16
GO TO 326
# SCALED BY 1/E ABOVE XVIB1(NVIB1) EV
325 QIN[6][I]=YVIB1(NVIB1)*XVIB1(NVIB1)/EN
QIN[6][I]=QIN[6][I]/(1.0+APOP3)*1.e-16
326 if(EN <= (10.0*EIN[6])) GO TO 350
PEQIN[6][I]=PEQEL[2][(I-IOFFN[6]))]
# INELASTIC VIB2
350 QIN[7][I]=0.0
PEQIN[7][I]=0.0
if(EN <= EIN[7]:
) GO TO 400
if(EN > XVIB2(NVIB2):
) GO TO 375
DO 360 J=2,NVIB2
if(EN <= XVIB2[J]:
) GO TO 370
360 CONTINUE
J=NVIB2
370 A=(YVIB2[J]-YVIB2[J-1])/(XVIB2[J]-XVIB2[J-1])
B=(XVIB2[J-1]*YVIB2[J]-XVIB2[J]*YVIB2[J-1])/(XVIB2[J-1]-XVIB2[J])
QIN[7][I]=(A*EN+B)*1.e-16
GO TO 376
# SCALED BY 1/E ABOVE XVIB2(NVIB2) EV
375 QIN[7][I]=YVIB2(NVIB2)*XVIB2(NVIB2)/EN*1.e-16
376 if(EN <= (5.0*EIN[7])) GO TO 400
PEQIN[7][I]=PEQEL[2][(I-IOFFN[7]))]
# INELASTIC VIB3
400 QIN[8][I]=0.0
PEQIN[8][I]=0.0
if(EN <= EIN[8]:
) GO TO 450
if(EN > XVIB3(NVIB3):
) GO TO 425
DO 410 J=2,NVIB3
if(EN <= XVIB3[J]:
) GO TO 420
410 CONTINUE
J=NVIB3
420 A=(YVIB3[J]-YVIB3[J-1])/(XVIB3[J]-XVIB3[J-1])
B=(XVIB3[J-1]*YVIB3[J]-XVIB3[J]*YVIB3[J-1])/(XVIB3[J-1]-XVIB3[J])
QIN[8][I]=(A*EN+B)*1.e-16
GO TO 426
# SCALED BY 1/E ABOVE XVIB3(NVIB3) EV
425 QIN[8][I]=YVIB3(NVIB3)*XVIB3(NVIB3)/EN*1.e-16
426 if(EN <= (5.0*EIN[8])) GO TO 450
PEQIN[8][I]=PEQEL[2][(I-IOFFN[8]))] # INELASTIC VIBRATION HARMONICS
450 QIN[9][I]=0.0
PEQIN[9][I]=0.0
if(EN <= EIN[9]:
) GO TO 500
if(EN > XVHAR(NVHAR):
) GO TO 475
DO 460 J=2,NVHAR
if(EN <= XVHAR[J]:
) GO TO 470
460 CONTINUE
J=NVHAR
470 A=(YVHAR[J]-YVHAR[J-1])/(XVHAR[J]-XVHAR[J-1])
B=(XVHAR[J-1]*YVHAR[J]-XVHAR[J]*YVHAR[J-1])/(XVHAR[J-1]-XVHAR[J])
QIN[9][I]=(A*EN+B)*1.e-16
GO TO 476
# SCALED BY 1/E ABOVE XVHAR(NVHAR) EV
475 QIN[9][I]=YVHAR(NVHAR)*XVHAR(NVHAR)/EN*1.e-16
476 if(EN <= (5.0*EIN[9])) GO TO 500
PEQIN[9][I]=PEQEL[2][(I-IOFFN[9]))]
# EXCITATION NON DIPOLE
500 QIN[10][I]=0.0
PEQIN[10][I]=0.0
if(EN <= EIN[10]:
) GO TO 550
if(EN > XTRP1(NTRP1):
) GO TO 525
DO 510 J=2,NTRP1
if(EN <= XTRP1[J]:
) GO TO 520
510 CONTINUE
J=NTRP1
520 A=(YTRP1[J]-YTRP1[J-1])/(XTRP1[J]-XTRP1[J-1])
B=(XTRP1[J-1]*YTRP1[J]-XTRP1[J]*YTRP1[J-1])/(XTRP1[J-1]-XTRP1[J])
QIN[10][I]=(A*EN+B)*1.e-16
GO TO 526
# SCALED BY 1/E**2 ABOVE XTRP1(NTRP1) EV
525 QIN[10][I]=YTRP1(NTRP1)*(XTRP1(NTRP1)/EN)**2*1.e-16
526 if(EN <= (5.0*EIN[10])) GO TO 550
PEQIN[10][I]=PEQEL[2][(I-IOFFN[10])]
# PART OF 3S RYDBERG CONTINUUM
550 QIN[11][I]=0.0
PEQIN[11][I]=0.0
if(EN <= EIN[11]:
) GO TO 551
QIN[11][I]=.0004779/(EIN[11]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[11]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[11]+E[3])*1.0323
if(QIN[11][I]:
< 0.0) QIN[11][I]=0.0
if(EN <= (5.0*EIN[11]:
)) GO TO 551
PEQIN[11][I]=PEQEL[2][(I-IOFFN[11])]
# PART OF 3S RYDBERG CONTINUUM
551 QIN[12][I]=0.0
PEQIN[12][I]=0.0
if(EN <= EIN[12]:
) GO TO 552
QIN[12][I]=.0039141/(EIN[12]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[12]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[12]+E[3])*1.0303
if(QIN[12][I]:
< 0.0) QIN[12][I]=0.0
if(EN <= (5.0*EIN[12]:
)) GO TO 552
PEQIN[12][I]=PEQEL[2][(I-IOFFN[12])]
# PART OF 3S RYDBERG CONTINUUM
552 QIN[13][I]=0.0
PEQIN[13][I]=0.0
if(EN <= EIN[13]:
) GO TO 553
QIN[13][I]=.0084476/(EIN[13]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[13]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[13]+E[3])*1.0286
if(QIN[13][I]:
< 0.0) QIN[13][I]=0.0
if(EN <= (5.0*EIN[13]:
)) GO TO 553
PEQIN[13][I]=PEQEL[2][(I-IOFFN[13])]
# PART OF 3S RYDBERG CONTINUUM
553 QIN[14][I]=0.0
PEQIN[14][I]=0.0
if(EN <= EIN[14]:
) GO TO 554
QIN[14][I]=.0102610/(EIN[14]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[14]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[14]+E[3])*1.0270
if(QIN[14][I]:
< 0.0) QIN[14][I]=0.0
if(EN <= (5.0*EIN[14]:
)) GO TO 554
PEQIN[14][I]=PEQEL[2][(I-IOFFN[14])]
# EXCITATION NON DIPOLE
554 QIN[15][I]=0.0
PEQIN[15][I]=0.0
if(EN <= EIN[15]:
) GO TO 559
if(EN > XTRP2(NTRP2):
) GO TO 557
DO 555 J=2,NTRP2
if(EN <= XTRP2[J]:
) GO TO 556
555 CONTINUE
J=NTRP2
556 A=(YTRP2[J]-YTRP2[J-1])/(XTRP2[J]-XTRP2[J-1])
B=(XTRP2[J-1]*YTRP2[J]-XTRP2[J]*YTRP2[J-1])/(XTRP2[J-1]-XTRP2[J])
QIN[15][I]=(A*EN+B)*1.e-16
GO TO 558
# SCALED BY 1/E**2 ABOVE XTRP2(NTRP2) EV
557 QIN[15][I]=YTRP2(NTRP2)*(XTRP2(NTRP2)/EN)**2*1.e-16
558 if(EN <= (5.0*EIN[15])) GO TO 559
PEQIN[15][I]=PEQEL[2][(I-IOFFN[15])]
# PART OF 3P RYDBERG CONTINUUM
559 QIN[16][I]=0.0
PEQIN[16][I]=0.0
if(EN <= EIN[16]:
) GO TO 560
QIN[16][I]=0.028163/(EIN[16]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[16]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[16]+E[3])*1.0256
if(QIN[16][I]:
< 0.0) QIN[16][I]=0.0
if(EN <= (4.0*EIN[16]:
)) GO TO 560
PEQIN[16][I]=PEQEL[2][(I-IOFFN[16])]
# PART OF 3P RYDBERG CONTINUUM
560 QIN[17][I]=0.0
PEQIN[17][I]=0.0
if(EN <= EIN[17]:
) GO TO 561
QIN[17][I]=0.038700/(EIN[17]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[17]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[17]+E[3])*1.0244
if(QIN[17][I]:
< 0.0) QIN[17][I]=0.0
if(EN <= (4.0*EIN[17]:
)) GO TO 561
PEQIN[17][I]=PEQEL[2][(I-IOFFN[17])]
# PART OF 3P RYDBERG CONTINUUM
561 QIN[18][I]=0.0
PEQIN[18][I]=0.0
if(EN <= EIN[18]:
) GO TO 562
QIN[18][I]=0.030128/(EIN[18]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[18]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[18]+E[3])*1.0233
if(QIN[18][I]:
< 0.0) QIN[18][I]=0.0
if(EN <= (4.0*EIN[18]:
)) GO TO 562
PEQIN[18][I]=PEQEL[2][(I-IOFFN[18])]
# PART OF 3P RYDBERG CONTINUUM
562 QIN[19][I]=0.0
PEQIN[19][I]=0.0
if(EN <= EIN[19]:
) GO TO 563
QIN[19][I]=0.024852/(EIN[19]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[19]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[19]+E[3])*1.0222
if(QIN[19][I]:
< 0.0) QIN[19][I]=0.0
if(EN <= (4.0*EIN[19]:
)) GO TO 563
PEQIN[19][I]=PEQEL[2][(I-IOFFN[19])]
# EXCITATION NON DIPOLE
563 QIN[20][I]=0.0
PEQIN[20][I]=0.0
if(EN <= EIN[20]:
) GO TO 568
if(EN > XTRP3(NTRP3):
) GO TO 566
DO 564 J=2,NTRP3
if(EN <= XTRP3[J]:
) GO TO 565
564 CONTINUE
J=NTRP3
565 A=(YTRP3[J]-YTRP3[J-1])/(XTRP3[J]-XTRP3[J-1])
B=(XTRP3[J-1]*YTRP3[J]-XTRP3[J]*YTRP3[J-1])/(XTRP3[J-1]-XTRP3[J])
QIN[20][I]=(A*EN+B)*1.e-16
GO TO 567
# SCALED BY 1/E**2 ABOVE XTRP3(NTRP3) EV
566 QIN[20][I]=YTRP3(NTRP3)*(XTRP3(NTRP3)/EN)**2*1.e-16
567 if(EN <= (4.0*EIN[20])) GO TO 568
PEQIN[20][I]=PEQEL[2][(I-IOFFN[20])]
# HIGH RYDBERG STATES
568 QIN[21][I]=0.0
PEQIN[21][I]=0.0
if(EN <= EIN[21]:
) GO TO 569
QIN[21][I]=0.023943/(EIN[21]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[21]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[21]+E[3])*1.0213
if(QIN[21][I]:
< 0.0) QIN[21][I]=0.0
if(EN <= (4.0*EIN[21]:
)) GO TO 569
PEQIN[21][I]=PEQEL[2][(I-IOFFN[21])]
# HIGH RYDBERG STATES
569 QIN[22][I]=0.0
PEQIN[22][I]=0.0
if(EN <= EIN[22]:
) GO TO 570
QIN[22][I]=0.026992/(EIN[22]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[22]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[22]+E[3])*1.0204
if(QIN[22][I]:
< 0.0) QIN[22][I]=0.0
if(EN <= (4.0*EIN[22]:
)) GO TO 570
PEQIN[22][I]=PEQEL[2][(I-IOFFN[22])]
# HIGH RYDBERG STATES
570 QIN[23][I]=0.0
PEQIN[23][I]=0.0
if(EN <= EIN[23]:
) GO TO 571
QIN[23][I]=0.027837/(EIN[23]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[23]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[23]+E[3])*1.0196
if(QIN[23][I]:
< 0.0) QIN[23][I]=0.0
if(EN <= (4.0*EIN[23]:
)) GO TO 571
PEQIN[23][I]=PEQEL[2][(I-IOFFN[23])]
# HIGH RYDBERG STATES
571 QIN[24][I]=0.0
PEQIN[24][I]=0.0
if(EN <= EIN[24]:
) GO TO 572
QIN[24][I]=0.027667/(EIN[24]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[24]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[24]+E[3])*1.0189
if(QIN[24][I]:
< 0.0) QIN[24][I]=0.0
if(EN <= (4.0*EIN[24]:
)) GO TO 572
PEQIN[24][I]=PEQEL[2][(I-IOFFN[24])]
# HIGH RYDBERG STATES
572 QIN[25][I]=0.0
PEQIN[25][I]=0.0
if(EN <= EIN[25]:
) GO TO 573
QIN[25][I]=0.028156/(EIN[25]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[25]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[25]+E[3])*1.0182
if(QIN[25][I]:
< 0.0) QIN[25][I]=0.0
if(EN <= (3.0*EIN[25]:
)) GO TO 573
PEQIN[25][I]=PEQEL[2][(I-IOFFN[25])]
# HIGH RYDBERG STATES
573 QIN[26][I]=0.0
PEQIN[26][I]=0.0
if(EN <= EIN[26]:
) GO TO 574
QIN[26][I]=0.045773/(EIN[26]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[26]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[26]+E[3])*1.0175
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[26][I]=QIN[26][I]*0.9324
if(QIN[26][I]:
< 0.0) QIN[26][I]=0.0
if(EN <= (3.0*EIN[26]:
)) GO TO 574
PEQIN[26][I]=PEQEL[2][(I-IOFFN[26])]
# HIGH RYDBERG STATES
574 QIN[27][I]=0.0
PEQIN[27][I]=0.0
if(EN <= EIN[27]:
) GO TO 575
QIN[27][I]=0.071724/(EIN[27]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[27]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[27]+E[3])*1.0169
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[27][I]=QIN[27][I]*0.8514
if(QIN[27][I]:
< 0.0) QIN[27][I]=0.0
if(EN <= (3.0*EIN[27]:
)) GO TO 575
PEQIN[27][I]=PEQEL[2][(I-IOFFN[27])]
# HIGH RYDBERG STATES
575 QIN[28][I]=0.0
PEQIN[28][I]=0.0
if(EN <= EIN[28]:
) GO TO 576
QIN[28][I]=0.075742/(EIN[28]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[28]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[28]+E[3])*1.0164
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[28][I]=QIN[28][I]*0.7703
if(QIN[28][I]:
< 0.0) QIN[28][I]=0.0
if(EN <= (3.0*EIN[28]:
)) GO TO 576
PEQIN[28][I]=PEQEL[2][(I-IOFFN[28])]
# HIGH RYDBERG STATES
576 QIN[29][I]=0.0
PEQIN[29][I]=0.0
if(EN <= EIN[29]:
) GO TO 577
QIN[29][I]=0.077213/(EIN[29]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[29]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[29]+E[3])*1.0159
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[29][I]=QIN[29][I]*0.6892
if(QIN[29][I]:
< 0.0) QIN[29][I]=0.0
if(EN <= (3.0*EIN[29]:
)) GO TO 577
PEQIN[29][I]=PEQEL[2][(I-IOFFN[29])]
# HIGH RYDBERG STATES
577 QIN[30][I]=0.0
PEQIN[30][I]=0.0
if(EN <= EIN[30]:
) GO TO 578
QIN[30][I]=0.092447/(EIN[30]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[30]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[30]+E[3])*1.0154
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[30][I]=QIN[30][I]*0.6081
if(QIN[30][I]:
< 0.0) QIN[30][I]=0.0
if(EN <= (3.0*EIN[30]:
)) GO TO 578
PEQIN[30][I]=PEQEL[2][(I-IOFFN[30])]
# HIGH RYDBERG STATES
578 QIN[31][I]=0.0
PEQIN[31][I]=0.0
if(EN <= EIN[31]:
) GO TO 579
QIN[31][I]=0.12030/(EIN[31]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[31]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[31]+E[3])*1.0149
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[31][I]=QIN[31][I]*0.527
if(QIN[31][I]:
< 0.0) QIN[31][I]=0.0
if(EN <= (3.0*EIN[31]:
)) GO TO 579
PEQIN[31][I]=PEQEL[2][(I-IOFFN[31])]
# HIGH RYDBERG STATES
579 QIN[32][I]=0.0
PEQIN[32][I]=0.0
if(EN <= EIN[32]:
) GO TO 580
QIN[32][I]=0.13563/(EIN[32]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[32]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[32]+E[3])*1.0145
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[32][I]=QIN[32][I]*0.4459
if(QIN[32][I]:
< 0.0) QIN[32][I]=0.0
if(EN <= (3.0*EIN[32]:
)) GO TO 580
PEQIN[32][I]=PEQEL[2][(I-IOFFN[32])]
# HIGH RYDBERG STATES
580 QIN[33][I]=0.0
PEQIN[33][I]=0.0
if(EN <= EIN[33]:
) GO TO 581
QIN[33][I]=0.14202/(EIN[33]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[33]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[33]+E[3])*1.0141
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[33][I]=QIN[33][I]*0.3649
if(QIN[33][I]:
< 0.0) QIN[33][I]=0.0
if(EN <= (3.0*EIN[33]:
)) GO TO 581
PEQIN[33][I]=PEQEL[2][(I-IOFFN[33])]
# HIGH RYDBERG STATES
581 QIN[34][I]=0.0
PEQIN[34][I]=0.0
if(EN <= EIN[34]:
) GO TO 582
QIN[34][I]=0.15238/(EIN[34]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[34]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[34]+E[3])*1.0137
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[34][I]=QIN[34][I]*0.2838
if(QIN[34][I]:
< 0.0) QIN[34][I]=0.0
if(EN <= (3.0*EIN[34]:
)) GO TO 582
PEQIN[34][I]=PEQEL[2][(I-IOFFN[34])]
# HIGH RYDBERG STATES
582 QIN[35][I]=0.0
PEQIN[35][I]=0.0
if(EN <= EIN[35]:
) GO TO 583
QIN[35][I]=0.15903/(EIN[35]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[35]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[35]+E[3])*1.0133
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[35][I]=QIN[35][I]*0.2027
if(QIN[35][I]:
< 0.0) QIN[35][I]=0.0
if(EN <= (3.0*EIN[35]:
)) GO TO 583
PEQIN[35][I]=PEQEL[2][(I-IOFFN[35])]
# HIGH RYDBERG STATES
583 QIN[36][I]=0.0
PEQIN[36][I]=0.0
if(EN <= EIN[36]:
) GO TO 584
QIN[36][I]=0.16048/(EIN[36]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[36]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[36]+E[3])*1.0130
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[36][I]=QIN[36][I]*0.1216
if(QIN[36][I]:
< 0.0) QIN[36][I]=0.0
if(EN <= (3.0*EIN[36]:
)) GO TO 584
PEQIN[36][I]=PEQEL[2][(I-IOFFN[36])]
# HIGH RYDBERG STATES
584 QIN[37][I]=0.0
PEQIN[37][I]=0.0
if(EN <= EIN[37]:
) GO TO 585
QIN[37][I]=0.16530/(EIN[37]*BETA2)*(math.log(BETA2*GAMMA2*EMASS2/(4.0*EIN[37]))-BETA2-DEN[I]/2.0)*BBCONST*EN/(EN+EIN[37]+E[3])*1.0127
# SCALE BY (1.0 - IONISATION QUANTUM EFFICIENCY)
QIN[37][I]=QIN[37][I]*0.0405
if(QIN[37][I]:
< 0.0) QIN[37][I]=0.0
if(EN <= (3.0*EIN[37]:
)) GO TO 585
PEQIN[37][I]=PEQEL[2][(I-IOFFN[37])]
585 CONTINUE
# LOAD BREMSSTRAHLUNG X-SECTIONS
QIN[38][I]=0.0
QIN[39][I]=0.0
QIN[40][I]=0.0
if(EN <= 1000.):
GO TO 720
DO 700 J=2,NBREM
if(EN <= EBRM[J]:
) GO TO 710
700 CONTINUE
J=NBREM
710 A=(math.log(Z1T[J])-math.log(Z1T[J-1]))/(EBRM[J]-EBRM[J-1])
B=(math.log(Z1T[J])*EBRM[J-1]-math.log(Z1T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
A1=(math.log(Z6T[J])-math.log(Z6T[J-1]))/(EBRM[J]-EBRM[J-1])
B1=(math.log(Z6T[J])*EBRM[J-1]-math.log(Z6T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
A2=(math.log(Z7T[J])-math.log(Z7T[J-1]))/(EBRM[J]-EBRM[J-1])
B2=(math.log(Z7T[J])*EBRM[J-1]-math.log(Z7T[J-1])*EBRM[J])/(EBRM[J-1]-EBRM[J])
QIN[38][I]=math.exp(A*EN+B)*9.0*1.e-24
QIN[39][I]=math.exp(A1*EN+B1)*3.0*1.e-24
QIN[40][I]=math.exp(A2*EN+B2)*1.e-24
720 CONTINUE
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# SUBTRACT ROTATIONAL XSEC TO GET CORRECT ELASTIC XSEC.
Q[2][I]=Q[2][I]-QIN[1][I]-QIN[2][I]
# IF(Q[2][I] <= 0.0) WRITE(6,966) Q[2][I],I
# 966 print(3X,' ERROR IN GAS 27 Q[2][I]=',E12.3,' I=',I5)
#
RSUM=QIN[1][I]+QIN[2][I]
VSUM=0.0
DO 800 J=3,9
800 VSUM=VSUM+QIN[J][I]
TRPSUM=QIN[10][I]+QIN[15][I]+QIN[20][I]
SNGSUM=0.0
DO 801 J=10,37
801 SNGSUM=SNGSUM+QIN[J][I]
SNGSUM=SNGSUM-TRPSUM
SUMION=QION[1][I]+QION[2][I]+QION[3][I]
SUMBREM=QIN[38][I]+QIN[39][I]+QIN[40][I]
Q[1][I]=Q[2][I]+SUMION+Q[4][I]+SNGSUM+TRPSUM+VSUM+RSUM
# WRITE(6,911) EG[I],Q[1][I],Q[2][I],RSUM,VSUM,SUMION,SNGSUM,TRPSUM,
# /SUMBREM
# 911 print(' EN =','%.4f' % ,' QTOT=','%.4f' % ,/,' QEL=','%.4f' % ,
# /' RSUM =','%.4f' % ,' VSUM=','%.4f' % ,/,' QION=','%.4f' % ,' SNGLT=','%.4f' % ,
# /' TRPLT=','%.4f' % ,/,' BREM =','%.4f' % ,/)
900 CONTINUE
# SAVE COMPUTE TIME
DO 1010 K=1,NIN
if(EFINAL <= EIN[K]:
) :
NIN=K-1
GO TO 1011
# endif
1010 CONTINUE
1011 CONTINUE
if(NIN <= 9):
NIN=9
if(EFINAL > 1000.):
NIN=40
#
return
# end
def GAS45(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS46(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS47(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS48(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS49(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT,QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS50(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS51(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS52(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS53(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS54(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS55(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS56(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS57(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS58(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS59(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS60(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS61(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS62(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS63(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS64(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS65(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS66(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS67(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS68(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS69(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS70(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS71(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS72(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS73(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS74(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS75(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS76(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS77(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS78(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS79(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
def GAS80(Q,QIN,NIN,E,EIN,NAME,VIRIAL,EOBY ,PEQEL,PEQIN,PENFRA,KEL,KIN,QION,PEQION,EION,NION,QATT,NATT, QNULL,NNULL,SCLN,NC0,EC0,WKLM,EFL,NG1,EG1,NG2,EG2,IZBR,LEGAS,ISHELL,IONMODEL,ESPLIT,SCRPT,SCRPTN)
IMPLICIT #real*8 (A-H,O-Z)
IMPLICIT #integer*8 (I-N)
global ECHARG,EMASS,AMU,PIR2
global NGAS,NSTEP,NANISO,EFINAL,ESTEP,AKT,ARY,TEMPC,TORR,IPEN
global EG,EROOT,QT1,QT2,QT3,QT4
global DEN
DIMENSION QATT(8,20000),QNULL(10,20000),SCLN[10],ESPLIT(5,20)
DIMENSION PEQEL[6][20000),PEQIN(]50,20000),KIN(250),KEL[6]
DIMENSION QION(30,20000),PEQION(30,20000),EION[30],EOBY[30]
DIMENSION NC0[30],EC0[30],WKLM[30],EFL[30],NG1[30],EG1[30],NG2[30],EG2[30],IZBR(250),LEGAS[30],ISHELL[30]
DIMENSION Q(6,20000),QIN(250,20000),E[6],EIN(250),PENFRA[3,250]
CHARACTER*50 SCRPT(300),SCRPTN[10]
CHARACTER*25 NAME
NAME=' DUMMY '
# ---------------------------------------------------------------------
# DUMMY ROUTINE
# ---------------------------------------------------------------------
NION=1
NATT=1
NIN=0
NNULL=0
IONMODEL=0
DO 1 J=1,6
1 KEL[J]=0
DO 2 J=1,NIN
2 KIN[J]=0
E[1]=0.0
E[2]=0.0
E[3]=0.0
E[4]=0.0
E[5]=0.0
E[6]=0.0
SCRPT[1]=' '
SCRPT[2]=' ELASTIC DUMMY '
SCRPT[3]=' IONISATION ELOSS= '
SCRPT[4]=' ATTACHMENT '
SCRPT[5]=' '
SCRPT[6]=' '
EN=-ESTEP/2.0
DO 900 I=1,NSTEP
EN=EN+ESTEP
Q[2][I]=0.0
Q[3][I]=0.0
Q[4][I]=0.0
Q[1][I]=Q[2][I]+Q[3][I]+Q[4][I]
900 CONTINUE
# SAVE COMPUTE TIME
return
# end
'''
Contribute to Documentation
Modules
All the modules are documented in separate markdown files in the modules directory.
Module Structure
The function module is written in markdown.
It consists of a brief pseudo code and the fortran as well as the python code for that module
Tangling
tangle.sh is a bash script that builds a final index.html file which is then reflected in the documentation