SUBROUTINE mat_interp(rho, n, w, w0, w1, w2, xksq, energy, rho0, rho1, rho2) ! USE TotalEng_Module USE Masses_Module USE fuzzy_MODULE USE centerho_MODULE USE FileUnits_MODULE IMPLICIT NONE LOGICAL little, medium, full INTEGER n, nrho, ms, ithcll, ithsub, i, nmodes, j, ij, maxrho REAL(Kind=WP_Kind) rhosave, rho, rho0, rho1, rho2, a0, a1, a2 REAL(Kind=WP_Kind) abs, energy(n), xksq(n), w(n*(n+1)/2), w0(n,n), w1(n,n) REAL(Kind=WP_Kind) w2(n,n) !---------------------------------------------------------------------- ! written by r. t pack. this routine transforms the wigner DATA nrho/1/, ms/1/ !---------------------------------------------------------------------- ! rho hyperpsherical radius ! n number of coupled equations ! w potential matrix evaluated at rho. the potential matrix is ! determined by a lagrange interpolation of w0, w1, w2. ! w0 stores potential matrix at rho-0 ! w1 stores potential matrix at rho-1 ! w2 stores potential matrix at rho-2 !----------------------------------------------------------------------- ! ! start of a new sector read in values of the potential. !----------------------------------------------------------------------- DATA ithcll/0/,ithsub/0/ DATA little/.false./,medium/.false./,full/.false./ CALL popt('mat_interp ',little,medium,full,ithcll,ithsub) !---------------------------------------------------------------------- ! set lagrange constants to determine w at rho. !---------------------------------------------------------------------- IF(ABS(rho1-rho2) fuzz) & .or. (rho > rho2 .AND. ABS(rho-rho2) > fuzz) )THEN WRITE(Out_Unit,*)'error in mat_interp' WRITE(Out_Unit,*)'rho=',rho WRITE(Out_Unit,*)'rho0,rho1,rho2 =', rho0,rho1,rho2 WRITE(Msg_Unit,*)'error in mat_interp' WRITE(Msg_Unit,*)'rho=',rho WRITE(Msg_Unit,*)'rho0,rho1,rho2 =', rho0,rho1,rho2 STOP 'Stopping in mat_interp' ENDIF IF(full)THEN WRITE(Out_Unit,84)rho CALL MxOutD(w,n,n,1) ENDIF RETURN ! 80 FORMAT(//,'maxrho,nrho,rho,rho0,rho1,rho2: ',2i5,4f10.5) 81 FORMAT(//,'rho0=',f10.5) 82 FORMAT(//,'rho1=',f10.5) 83 FORMAT(//,'rho2=',f10.5) 84 FORMAT(//,'rho=',f10.5) 85 FORMAT(//,'a0, a1, a2=',3f10.5) 86 FORMAT(//,'energy=',20f10.5) END