SUBROUTINE EnergyFitDAF(NStates) USE Numeric_Kinds_Module, ONLY: WP_Kind, IW_Kind USE Numbers_Module, ONLY: Zero, Ten, WP_Epsilon USE FileUnits_Module, ONLY: Time_Unit USE FileUnits_OneDim_Module, ONLY: DAF_Unit, DAFbin_Unit, DAF_Oscil_Unit USE OneDim_Parms_Module, ONLY: nmax, MaxYterms, jmin, jmax, MinElec, MaxElec USE QstateDAF_Module, ONLY: EigDAF, LeftTP, RightTP, NthElec, Spin, Lambda, Nuvib, jrot, YIJ, Bound, QuasiB, Scatt, jval, nu, Elec USE CriticalDist_Module, ONLY: Vmax, Vinf USE ElectronicState_Module, ONLY: hstep, rvals, DiatomicPotential, Dipole, IthElec, KthElec USE Convrsns_Module, ONLY: autoev, cmm1toau IMPLICIT NONE CHARACTER(LEN=11), PARAMETER:: Method="Daf " LOGICAL, PARAMETER :: IDbug=.false., OscillatorStrengths=.False. INTEGER NBound, NQuasi, NStates, NumNu, nYTerms, i, istate, nup, IthState, KthState INTEGER j, mj, jp, mjp, ml INTEGER, PARAMETER :: lval=1 REAL(KIND=WP_Kind) cpu1, cpu2 REAL(KIND=WP_Kind) Sum, coef, Cleb REAL(KIND=WP_Kind), ALLOCATABLE:: Yfit(:,:), Psi(:,:) Call CPU_TIME(cpu1) CALL TimeInfoSub('Numerov','Begin EnergyFitDAF') Nyterms=MaxYterms ALLOCATE(YFit(jmin:jmax,0:NYterms-1)) ALLOCATE(NthElec(0:NStates)) ALLOCATE(Spin(0:NStates)) ALLOCATE(Lambda(0:NStates)) ALLOCATE(Nuvib(0:NStates)) ALLOCATE(jrot(0:NStates)) ALLOCATE(Bound(0:NStates)) ALLOCATE(QuasiB(0:NStates)) ALLOCATE(Scatt(0:NStates)) ALLOCATE(EigDAF(0:NStates)) ALLOCATE(Psi(0:NMax,0:NStates)) REWIND(DAFBin_Unit) Yfit=Zero IState=0 DO WHILE(IState.lt.NStates) READ(DAFBin_Unit)elec,jval,numnu,nbound,nquasi,nYTerms WRITE(DAF_Unit,*) WRITE(DAF_Unit,*)"DAF States" WRITE(DAF_Unit,*)"Index n S lm Nu j B QB Sc EigDAF" DO Nup=0,NumNu-1 READ(DAFBin_Unit)Nu,EigDAF(IState) READ(DAFBin_Unit)Psi(:,IState) NthElec(Istate)=elec Spin(Istate) =0 Lambda(Istate) =0 Nuvib(Istate) =Nu jrot(Istate) =jval IF(EigDAF(Istate)