ADAS Subroutine bornp1
SUBROUTINE BORNP1(NMIN,NMAX,NLOW,LLOW,NUP,LUP,LAM,ANS,QA,IOPT, &IMAX1) IMPLICIT REAL*8(A-H,O-Z) C----------------------------------------------------------------------- C PURPOSE: FIRST STAGE OF BORN X-SECT CALCULATION WITH DIRECTIONAL C BEAMS CAUSING TRANSITIONS BETWEEN HYDROGEN STARK/ZEEMAN STATES. C C RADIAL INTEGRALS OF FORM P(N1,L1)*P(N2,L2)*J(LAM,Q*R) ARE EVALUATED C FOR ALL HYDROGENIC ORBITALS WITH NMIN<=NMAX AND N1<N2 FOR A SET C OF Q'S SPANNING THE EXTENT OF THE GENERALISED OSCILLATOR STRENGTH C C CALLING ROUTINE WITH IOPT=1 PREPARES LOOKUP TABLES. CALL WITH IOPT=2 C RETURNS VALUES. C C MATRIX ELEMENT EVALUATION USES POWER SERIES ROUTINES. C C STACK INTEGRALS OVER A GRID OF MOMENTUM CHANGE FROM 10**-2 TO 10**2 C EQUALLY SPACED IN THE LOGARITHM (IMAX INTERVALS, IMAX+1 VALUES) C C EVALUATE MULTIPOLES UP TO LAMMX=2 C C USE POINTER VECTORS FOR RAPID LOOKUP. C C THE MAIN CALLING ROUTINE MUST HAVE THE LINE C CALL GAMAF(200) C BEFORE CALL TO BORNP1 C C ******** H.P. SUMMERS, JET 17 OCT 1988 ************* C INPUT C NMIN=LOWEST N-SHELL C NMAX=HIGHEST N-SHELL C NLOW=LOWER N FOR SELECTED TRANSITION C LLOW=LOWER L FOR SELECTED TRANSITION C NUP=UPPER N FOR SELECTED TRANSITION C LUP=UPPER L FOR SELECTED TRANSITION C LAM=REQUIRED MULTIPOLE (0<=LAM<=LAMMX) C IOPT=1 PREPARE LOOKUP STACKS (ONLY NMIN,NMAX PARAMETERS USED) C =2 SUPPLY ANSWERS FOR SPECIFIED NLOW,LLOW,NUP,LUP,LAM CASE C OUTPUT C ANS(I)=BORN APPROXIMATION RESULT FOR I=1,IMAX+1 C QA(I)=TRANSFERED MOMENTUM VECTOR C IMAX1=IMAX+1 C C----------------------------------------------------------------------- C C ADAS305 version. Developed from JETSHP.STARK.FORT (H P Summers). C C VERSION : 1.1 C DATE : 24-02-2005 C MODIFIED : Martin O'Mullane C - First version. C - Change dimensions from 200 to 500. C C VERSION : 1.2 C DATE : 16-05-2007 C MODIFIED : Allan Whiteford C - Updated comments as part of subroutine documentation C procedure. C C---------------------------------------------------------------------- INTEGER IMAX1, IOPT, LAM, LLOW INTEGER LUP, NLOW, NMAX, NMIN INTEGER NUP REAL*8 ANS(41), QA(41)