mirror of
https://github.com/LCPQ/quantum_package
synced 2025-04-16 13:39:32 +02:00
Removed dead code in pseudopotentials
This commit is contained in:
parent
89a376512a
commit
47ac033293
@ -1585,148 +1585,8 @@ end
|
||||
bessel_mod_exp=x**n*accu
|
||||
end
|
||||
|
||||
! double precision function bessel_mod(x,n)
|
||||
! IMPLICIT DOUBLE PRECISION (A-H,O-Z)
|
||||
! parameter(NBESSMAX=100)
|
||||
! dimension SI(0:NBESSMAX),DI(0:NBESSMAX)
|
||||
! if(n.lt.0.or.n.gt.NBESSMAX)stop 'pb with argument of bessel_mod'
|
||||
! CALL SPHI(N,X,NBESSMAX,SI,DI)
|
||||
! bessel_mod=si(n)
|
||||
! end
|
||||
|
||||
SUBROUTINE SPHI(N,X,NMAX,SI,DI)
|
||||
!
|
||||
! ========================================================
|
||||
! Purpose: Compute modified spherical Bessel functions
|
||||
! of the first kind, in(x) and in'(x)
|
||||
! Input : x --- Argument of in(x)
|
||||
! n --- Order of in(x) ( n = 0,1,2,... )
|
||||
! Output: SI(n) --- in(x)
|
||||
! DI(n) --- in'(x)
|
||||
! NM --- Highest order computed
|
||||
! Routines called:
|
||||
! MSTA1 and MSTA2 for computing the starting
|
||||
! point for backward recurrence
|
||||
! ========================================================
|
||||
!
|
||||
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
|
||||
DIMENSION SI(0:NMAX),DI(0:NMAX)
|
||||
NM=N
|
||||
IF (DABS(X).LT.1.0D-100) THEN
|
||||
DO 10 K=0,N
|
||||
SI(K)=0.0D0
|
||||
10 DI(K)=0.0D0
|
||||
SI(0)=1.0D0
|
||||
DI(1)=0.333333333333333D0
|
||||
RETURN
|
||||
ENDIF
|
||||
SI(0)=DSINH(X)/X
|
||||
SI(1)=-(DSINH(X)/X-DCOSH(X))/X
|
||||
SI0=SI(0)
|
||||
IF (N.GE.2) THEN
|
||||
M=MSTA1(X,200)
|
||||
|
||||
write(34,*)'m=',m
|
||||
|
||||
IF (M.LT.N) THEN
|
||||
NM=M
|
||||
ELSE
|
||||
M=MSTA2(X,N,15)
|
||||
write(34,*)'m=',m
|
||||
ENDIF
|
||||
F0=0.0D0
|
||||
F1=1.0D0-100
|
||||
DO 15 K=M,0,-1
|
||||
F=(2.0D0*K+3.0D0)*F1/X+F0
|
||||
IF (K.LE.NM) SI(K)=F
|
||||
F0=F1
|
||||
15 F1=F
|
||||
CS=SI0/F
|
||||
write(34,*)'cs=',cs
|
||||
DO 20 K=0,NM
|
||||
20 SI(K)=CS*SI(K)
|
||||
ENDIF
|
||||
DI(0)=SI(1)
|
||||
DO 25 K=1,NM
|
||||
25 DI(K)=SI(K-1)-(K+1.0D0)/X*SI(K)
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
INTEGER FUNCTION MSTA1(X,MP)
|
||||
!
|
||||
! ===================================================
|
||||
! Purpose: Determine the starting point for backward
|
||||
! recurrence such that the magnitude of
|
||||
! Jn(x) at that point is about 10^(-MP)
|
||||
! Input : x --- Argument of Jn(x)
|
||||
! MP --- Value of magnitude
|
||||
! Output: MSTA1 --- Starting point
|
||||
! ===================================================
|
||||
!
|
||||
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
|
||||
A0=DABS(X)
|
||||
N0=INT(1.1*A0)+1
|
||||
F0=ENVJ(N0,A0)-MP
|
||||
N1=N0+5
|
||||
F1=ENVJ(N1,A0)-MP
|
||||
DO 10 IT=1,20
|
||||
NN=N1-(N1-N0)/(1.0D0-F0/F1)
|
||||
F=ENVJ(NN,A0)-MP
|
||||
IF(ABS(NN-N1).LT.1) GO TO 20
|
||||
N0=N1
|
||||
F0=F1
|
||||
N1=NN
|
||||
10 F1=F
|
||||
20 MSTA1=NN
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
INTEGER FUNCTION MSTA2(X,N,MP)
|
||||
!
|
||||
! ===================================================
|
||||
! Purpose: Determine the starting point for backward
|
||||
! recurrence such that all Jn(x) has MP
|
||||
! significant digits
|
||||
! Input : x --- Argument of Jn(x)
|
||||
! n --- Order of Jn(x)
|
||||
! MP --- Significant digit
|
||||
! Output: MSTA2 --- Starting point
|
||||
! ===================================================
|
||||
!
|
||||
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
|
||||
A0=DABS(X)
|
||||
HMP=0.5D0*MP
|
||||
EJN=ENVJ(N,A0)
|
||||
IF (EJN.LE.HMP) THEN
|
||||
OBJ=MP
|
||||
N0=INT(1.1*A0)
|
||||
ELSE
|
||||
OBJ=HMP+EJN
|
||||
N0=N
|
||||
ENDIF
|
||||
F0=ENVJ(N0,A0)-OBJ
|
||||
N1=N0+5
|
||||
F1=ENVJ(N1,A0)-OBJ
|
||||
DO 10 IT=1,20
|
||||
NN=N1-(N1-N0)/(1.0D0-F0/F1)
|
||||
F=ENVJ(NN,A0)-OBJ
|
||||
IF (iABS(NN-N1).LT.1) GO TO 20
|
||||
N0=N1
|
||||
F0=F1
|
||||
N1=NN
|
||||
10 F1=F
|
||||
20 MSTA2=NN+10
|
||||
RETURN
|
||||
END
|
||||
|
||||
double precision FUNCTION ENVJ(N,X)
|
||||
DOUBLE PRECISION X
|
||||
integer N
|
||||
ENVJ=0.5D0*DLOG10(6.28D0*N)-N*DLOG10(1.36D0*X/N)
|
||||
RETURN
|
||||
END
|
||||
|
||||
!c Computation of real spherical harmonics Ylm(theta,phi)
|
||||
!c
|
||||
|
Loading…
x
Reference in New Issue
Block a user