SUBROUTINE logderph1(u, z, w, n, rstart, rend, nstpl, zed, zp, & usys2, w2, zedz, EDeriv, zeta, omega, new, & g0, g1, g2, dmu, psi, gamma, & rhoval, xksq, energy, w0, w1, w2b, & diag, cor, asym, ndim, ipiv, ui, work) ! P U R P O S E O F S U B R O U T I N E ! This routine propagates a set of coupled second-order differential ! equations using Bob Johnson's Log Derivative method. ! I N P U T A R G U M E N T S ! u An temporary array for storing the interaction matrix ! z On entering contains the Log Derivative matrix at rstart. ! n Number of coupled channels. ! rstart Starting distance. ! rend Ending distance. ! nstpl Number of steps per asymptotic wavelength. ! ! zeta gamma vector at rstart ! omega temporary vector used in gamma propagation ! new temporary vector used in gamma propagation ! ! O U T P U T A R G U M E N T S ! z On return z contains the Wiger R-matrix at rend. ! ! zeta gamma vector at rend ! ! <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> !trp>> ! Modified on 9/12/97: Changed ui, work, and ipiv to arguments of ! dimension n,n. Changed calls to dsysv appropriately. Eliminated ! references to lw. Eliminated some no-longer-needed diagnostic ! output. ! Modified on 9/15/97: Eliminated some further no-longer-needed ! diagnostic output. ! 9/16/97 TRP Modified calls to addhone() in accordance with ! changes in that routine. !<2.d0) wavel=2.d0 nstep=nstpl*(rend-rstart)/wavel+.9d0 IF(nstep==0) nstep=1 drnow=(rend-rstart)/nstep h=drnow*0.5d0 d1=h*h/3.d0 d2=2.d0*d1 d4=-d1/16.d0 d3=2.d0*d2 IF(lphoto)THEN READ(fph_unit)wavel,nstep,drnow,h,d1,d2,d3 ENDIF ! ! Calculate the interaction matrix. ! NOTE: The negative of the interaction matrix returned. ! NOTE: The interaction Matrix is stored in symmetric packed form. r=rstart CALL potmatn ( n, r, u, g0, g1, g2, dmu, psi, gamma, rhoval, xksq, energy, & w0, w1, w2b, zp, diag, cor, asym, ndim) CALL pot_shift (n, r, u) ! IF(lphoto.AND.r