ADAS Subroutine start7
SUBROUTINE START7(IUTMP,IUPS1,IUPS2,STITLE,DSLPATH, & NBENG,NTEMP,NDENS, lbndl, lproj) IMPLICIT REAL*8(A-H,O-Z) C----------------------------------------------------------------------- C C ********* FORTRAN 77 ROUTINE : START7.F ********** C C PURPOSE : CALCULATION OF THE RESOLVED-NL POPULATION C STRUCTURE. C C NOTE : THE RELEVANT QUANTUM NUMBERS ASSOCIATED WITH C THE POPULATION STRUCTURE CALCULATION ARE C STORED IN INTEGER ARRAYS WERE EACH ELEMENT C IS 4 BYTES. THE FIRST 10 BITS OF THE 4 BYTE C INTEGER ELEMENT OF THE ARRAY IS USED TO C STORE THE TOTAL ANGULAR MOMENTUM QUANTUM C NUMBER,L. THE NEXT TEN BITS IS USED TO STORE C THE ORBITAL ANGULAR MOMENTUM QUANTUM C NUMBER,l. THE LAST 12 BITS ARE USED TO STORE C THE PRINCIPAL QUANTUM NUMBER,N. C C |<---------4 BYTE INTEGER--------->| C |<---------32 BIT INTEGER--------->| C |<----N----->|<----l--->|<---L---->| C C [ |.....N......|.....l....|.....L....| ] C C BIT OPERATORS ARE THEN EMPLOYED TO C INTEROGATE ARRAYS,E.G IAND,ISHFR, C USING HEXIDECIMAL MASKS. C C C INPUT : C C (CHR) TITLE() : NAME OF THE NEUTRAL BEAM SPECIES. C (I*4) MN : C (R*8) RX3 : C (R*8) DPT : C (R*8) EHCT : CRITICAL ENERGY ?. C (I*4) NHCT : CRITICAL PRINCIPAL QUANTUM C NUMBER ?. C (I*4) LHCT : CRITICAL ORBITAL QUANTUM C NUMBER ?. C (I*4) NIP : RANGE OF DELTA N FOR IMPACT C PARAMETER XSECTS. (LE.4) C (I*4) NEX : C (I*4) IPRT : C (I*4) NDEL : C (I*4) INTD : ORDER OF MAXWELL QUADRATURE C FOR XSECTS. (LE.3) C (I*4) IPRS : 0 DEFAULT TO VAN REGEMORTER XSECTS. C BEYOND NIP RANGE C 1 USE PERCIVAL-RICHARDS XSECTS. C BEYOND NIP RANGE C (I*4) ILOW : 0 NO SPECIAL LOW LEVEL DATA ACCESSED. C 1 SPECIAL LOW LEVEL DATA ACCESSED. C (I*4) IONIP : 0 NO ION IMPACT COLLISIONS INCLUDED. C 1 ION IMPACT EXCITATION AND IONISATION C INCLUDED. C C (I*4) NIONIP : RANGE OF DELTA N FOR ION IMPACT C EXCITATION XSECTS. C (I*4) ILPRS : 0 DEFAULT TO VAINSHTEIN ION IMPACT C EXCITATION XSECTS. C 1 USE LODGE-PERCIVAL-RICHARDS ION C IMPACT EXCITATION XSECTS. C (I*4) IVDISP : 0 ION IMPACT AT THERMAL MAXWELLIAN C ENERGIES C 1 ION IMPACT AT DISPLACED THERMAL C ENERGIES ACCORDING TO THE NEUTRAL C BEAM ENERGY PARAMETER. IF(IVDISP=0 THEN C SPECIAL LOW LEVEL DATA FOR ION IMPACT C IS NOT SUBSTITUTED - ONLY VAINSHTEIN C AND LODGE ET AL. OPTIONS ARE OPEN. C ELECTRON IMPACT DATA SUBSTITUTION C DOES OCCUR. C (R*4) ZEFF : EFFECTIVE CHARGE OF THE PLASMA. C (R*8) DEDEG : CRITICAL TRANSITION ENERGY (RYDBERGS) C USED IN THE NEARLY DEGENERATE LEVEL C TREATMENT. C IF DE<=DEDEG THEN ASSUME ZERO A-VALUE C AND NO SUPPLEMENTARY DATA. C IF DE> DEDEG THEN ASSUME A-VALUE C CALCULABLE AND SEARCH FOR SUPPLEMENTARY C DATA. C N.B. APPLIES TO DELTA N TRANSITIONS C ONLY. C C (I*4) NL1 : PRINCIPAL QUANTUM NUMBER FROM WHICH C THE RESOLVED-NL POPULATION STRUCTURE C CALCULATION STARTS FROM C C (I*4) NL2 : PRINCIPAL QUANTUM NUMBER WHICH MARKS C THE END OF THE RESOLVED-NL TREATMENT C WITHIN THE POPULATION STRUCTURE C CALCULATION AND INDICATES THE START C OF THE BUNDLED-N APPROXIMATION. C (I*4) NL3 : UPPER PRINCIPAL QUANTUM NUMBER OF C THE BUNDLED-N APPROXIMATION. C (R*8) Z0 : NUCLEAR CHARGE OF BEAM ATOM ?. C (R*8) Z1 : ION CHARGE+1 OF BEAM ION ?. C (R*8) ALF : ADJUSTABLE PARAMETER ASSOCIATED C WITH THE MODIFIED POTENTIAL USED C WHEN SOLVING THE RADIAL WAVE C EQUATION. C (R*8) AMSZ0 : C (R*8) AMSHYD : C (I*4) LP : C (I*4) ISP : C C C OUTPUT : C C (R*8) ....ETC C C GENERAL : C C (I*4) NLREP() : ARRAY CONTAINING REPRESENTATIVE C LEVELS. C (R*8) ENL() : EFFECTIVE PRINCIPAL QUANTUM C NUMBER. C (R*8) ENL2() : RECIPROCAL OF THE EFFECTIVE PRINCIPAL C QUANTUM NUMBER SQUARED. C (I*4) KPF() : ARRAY CONTAINING THE QUANTUM NUMBERS, C N,l,L FROM NMIN TO NMAX, IN ORDER C OF DECREASING BINDING ENERGY. SEE C NOTE AT THE TOP OF PROGRAM. C (I*4) KPB() : ARRAY CONTAINING THE INDEX OF THE C CORRESPONDING LEVEL IN KPF(). C (R*8) EGY : IONISATION POTENTIAL ( RYDBERGS ). C (I*4) IR : COUNTER TO REFERENCE REPRESENTATIVE C LEVELS. C (I*4) I : GENERAL COUNTER. C (R*8) V : EFFECTIVE PRINCIPAL QUANTUM NUMBER. C (R*8) E : RECIPROCAL OF THE EFFECTIVE PRINCIPAL C QUANTUM NUMBER SQUARED. C (R*8) EXE : VARIABLE USED TO ASSIGN THE VALUE C OF EXP(I/k*Te). C (R*8) EXS : VARIABLE USED TO ASSIGN THE VALUE C OF EXP(I/k*TS) C (I*4) K : GENERAL COUNTER. C (R*8) C1() : COEFFICIENT OF THE QUANTUM DEFECT C EXPANSION. C (R*8) C2() : COEFFICIENT OF THE QUANTUM DEFECT C EXPANSION. C (R*8) C3() : COEFFICIENT OF THE QUANTUM DEFECT C EXPANSION. C C C C C C ROUTINES: C C ROUTINE SOURCE BRIEF DESCRIPTION C ----------------------------------------------- c SUPPHE1 ADAS OBTAINS FUNDAMENTAL DATA C FROM APPROPRIATE DATABASES. C OVLP ADAS ????????????????????????? C SETUP3 ADAS ????????????????????????? C SPIJ ADAS ????????????????????????? C CCNST7 ADAS ASSEMBLES ARRAYS USED TO C CONSTRUCT THE COLLISIONAL- C RADIATIVE MATRIX. C CCNSE4 ADAS APPLIES MATRIX CONDENSATION C SCHEME TO ARRAYS USED TO C ASSEMBLE THE COLLISIONAL- C RADIATIVE MATRIX. C HYSCL ADAS ????????????????????????? C C C HISTORY : ORIGINALLY WRITTEN BY H.P.SUMMERS. C C NOTE : THE RESOLVED-NL CALCULATION WAS STRUCTURED C IN SUCH A MANNER THAT THE CALCULATION WAS C PERFORMED IN TWO STAGES. THIS TWO STAGE C PROCCESS HAS BEEN REMOVED. CUBIC SPLINE C INTERPLOATION IN L. THE DIMENSIONALITIES C FOR EACH SPIN SYSTEM ARE AS FOLLOWS : C C NUMBER OF LEVELS <1000. C NUMBER OF PRINCIPAL QUANTUM LEVELS<300. C NUMBER OF RESOLVED PRINCIPAL QUANTUM LEVELS<40. C NUMBER OF RESOLVED LEVELS <800 C NUMBER OF RESOLVED REPR.PRINC.QUANTUM LEVELS<11. C NUMBER OF REPRESENTATIVE LEVELS<80. C NUMBER OF PRINCIPAL QUANTUM REPRESENTATIVE LEVELS<30. C C C CONTACT : HARVEY ANDERSON C UNIVERSITY OF STRATHCLYDE C ANDERSON@PHYS.STRATH.AC.UK C C DATE : 2/2/98 C C NOTE : C THE C-R MATRIX IS PASSED TO THE ROUTINE FINISH5.F C VIA A SCRTACH FILE ON STREAM 12. IDEALLY THE VARIBLES C SHOULD BE PASSED DIRECTLY TO THE ROUTINE. C C C MODIFIED C C VERSION: 1.2 DATE: 21-10-99 C MODIFIED: RICHARD MARTIN C CHANGED HEXADECIMAL CONSTANTS TO Z'FFF00000' FORM. C C VERSION : 1.3 C MODIFIED: Martin O'Mullane C DATE : 08-11-2004 C Alter nmax in gamaf() from 200 to 500. C C VERSION : 1.4 C DATE : 18-11-2004 C MODIFIED: Martin O'Mullane C - Align with Harvey Anderson's last version. C - Add lproj if projection output is requested. C - Add lbndl if adf36 output file is requested. C - The dsnps1 variable is replaced by iups2 in the C parameter list. C C VERSION : 1.5 C DATE : 16-05-07 C MODIFIED: Allan Whiteford C - Moved parameter statement to below comment block C as part of subroutine documentation procedure. C C----------------------------------------------------------------------- CHARACTER*80 DSLPATH, STITLE INTEGER IUPS1, IUPS2, IUTMP, NBENG INTEGER NDENS, NTEMP LOGICAL LBNDL, LPROJ