ADAS Subroutine bornp2
SUBROUTINE BORNP2(NMAX,LLOW,LAM,LUP,MLLOW,NU,MLUP,ANS,IOPT) IMPLICIT REAL*8(A-H,O-Z) C----------------------------------------------------------------------- C PURPOSE: SECOND STAGE OF BORN X-SECT CALCULATION WITH DIRECTIONAL C BEAMS CAUSING TRANSITIONS BETWEEN HYDROGEN STARK/ZEEMAN STATES. C C ANGULAR INTEGRALS OF FORM ???????????????????????????? ARE EVALUATED C FOR ALL ORBITAL ANGULAR MOMENTA 0<=L<=NMAX-1 C C CALLING ROUTINE WITH IOPT=1 PREPARES LOOKUP TABLES. CALL WITH IOPT=2 C RETURNS 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 BORNP2 C C ******** H.P. SUMMERS, JET 17 OCT 1988 ************* C INPUT C NMAX=HIGHEST N-SHELL FOR TABLE PREPARATION C LLOW=LOWER L FOR SELECTED TRANSITION C LAM=MULTIPOLE (0<=LAM<=LAMMX) C LUP=UPPER L FOR SELECTED TRANSITION C MLLOW=AZIMUTHAL QUANTUM NUMBER FOR LOWER L C NU=MULTIPOLE AZIMUTHAL COMPONENT C MLUP=AZIMUTHAL QUANTUM NUMBER FOR UPPER L C IOPT=1 PREPARE LOOKUP STACKS (ONLY NMAX PARAMETER USED) C =2 SUPPLY ANSWERS FOR SPECIFIED LLOW,LAM,LUP,MLLOW,NU,MLUP C OUTPUT C ANS(I)=RESULT 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 IOPT, LAM, LLOW, LUP INTEGER MLLOW, MLUP, NMAX, NU REAL*8 ANS