c program difls version 2 D. C. Griffin Last modified: 08/08/08 c c program to calculate the angular distribution of the differential c excitation cross section and calculate the total excitation cross c section for electron-atom and electron-ion scattering in the ls c coupling scheme. c implicit real*8(a-h,o-z) c c parameter dimensions c c ntm--maximum number of target terms c nfm--maximum number of final target terms to which differential c cross sections are to be calculated c ncm--maximum number of channels in k-matrices c nctm--maximum number of channels for a given term c nlm--maximum number of angular momenta for continuum electron c njm--maximum number of momentum transfer values c nwm--maximum number of partial waves actually used in calculation c nftm--maximum number of different factorials used in coupling c coefficient calculations - 800 should be enough c ntem-maximum number of different angles c parameter(ntm=100,nfm=10,ncm=200,nctm=10,nlm=71,njm=2*nlm, 1 nlbm=2*nlm,nwm=102,nftm=800,ntem=181) character name(ntm)*10,pltunt(5)*12 dimension title(10),ent(ntm),lt(ntm),lspt(ntm),lpt(ntm) common/blok1/einc,theta(ntem),sigbri(nlm),sigbrf(nlm,nfm), 1 pcf(61,nfm),thpcf(61),thmn,thmx,nthta,iprint,icharg,llmx,ntf, 2 iti,itf(ntm),nthmx,lti,nspin,ispin(2),ltf(nfm),limn,limx, 3 lfmx(nlm,nfm),lfmn(nlm,nfm),lspin,ielas,iphr,nipc,nfpc common/blok2/gamma(nftm) common/blok3/tr(nwm,ncm,ncm),ti(nwm,ncm,ncm),ltot(nwm),lstot(nwm), 1 ncci(nwm),nccf(nwm,nfm),icci(nwm,nctm),iccf(nwm,nctm,nftm), 2 lcs(nwm,ncm),iwu,imrd common/blok4/fmr(nlm,nfm,nlm,njm,2),fmi(nlm,nfm,nlm,njm,2), 1 qr(nlm),qi(nlm),alm(nfm,nlbm),dsg(ntem,nfm),sig(nfm),sigic(nfm) common/blok5/pl(nlbm),imbmx namelist/difls/iphr,iprint,icharg,llmx,nt,iti,ntf,imrd, 1 nthta,thmn,thmx,ein,iunit c data zero,onehndrd,one80/0.0d0,1.00d2,1.80d2/ data convev,convsg,convsg1,convsg2,convsg3,convsg4/13.6058d0, 1 2.80028d-17,1.0d-19,1.0d-18,1.0d-17,1.0d-16/ data (pltunt(i),i=1,5) /' a0^2/sr ','10-19 cm2/sr', 1 '10-18 cm2/sr','10-17 cm2/sr','10-16 cm2/sr'/ open(5,file='difin') open(6,file='difout') open(7,file='difplt.dat') c c input from difin c c title(10)--title for run - 80 characters c read(5,100) title 100 format(10a8) write(6,200) title 200 format(/80('*')//10a8//80('*')//) c c iphr--if input k-matrices are generated using the fano phase convention c set iphr equal to 1. This corrects the differential cross section c for the fact that the spherical harmonics include the factor i**l. c For the Condon and Shortley phase convention set iphr equal to 0. c (default: 1) c iprint--if equal to 1, print k-matrices; if equal to 2, print c t-matrices; if equal to 3, print ql and a-lambda c coefficents; if equal to 4, print m array. c (default:0) c icharg--charge of target c llmx--maximum total angular momentum for partial waves to be included c in the cross section calculation. c nt--number of target terms included in input k-matrices c iti--term number of the initial state from list of target terms c must be in the range 1<=iti<=nt c ntf--number of final states considered c imrd--set equal to zero to read k-matrices from unitarized c distorted-wave run or R-matrix run from file KMAT.DAT c set equal to 1 to read t-matrices from non-unitarized c distorted-wave run from file tmatnu c (default:0) c nthta--number of angles for thmn