1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
Index: src/nwdft/xc/xc_cvs98.F
===================================================================
--- src/nwdft/xc/xc_cvs98.F (revision 27970)
+++ src/nwdft/xc/xc_cvs98.F (revision 27971)
@@ -160,12 +160,10 @@
GAA = ( delrho(n,1,1)*delrho(n,1,1) +
& delrho(n,2,1)*delrho(n,2,1) +
& delrho(n,3,1)*delrho(n,3,1))/4.0d0
- if(sqrt(gaa).lt.dtol) goto 20
c In the bc95css subroutine, we use 2*TA as the tau, so we do not divide
c the tau by 2 here
TA = tau(n,1)
- if(ta.lt.dtol) goto 20
Call vs98ss(tol_rho,PA,GAA,TA,FA,FPA,FGA,FTA,EUA,ZA,
& ChiA,EUPA,ChiAP,ChiAG,ZAP,ZAT,ijzy)
@@ -213,7 +211,6 @@
c In the bc95css subroutine, we use 2*TA as the tau
c
TA = tau(n,1)*2.0d0
- if(ta.lt.dtol) goto 25
Call vs98ss(tol_rho,PA,GAA,TA,FA,FPA,FGA,FTA,EUA,ZA,
& ChiA,EUPA,ChiAP,ChiAG,ZAP,ZAT,ijzy)
@@ -235,7 +232,6 @@
c
25 continue
PB = rho(n,3)
- if(PB.le.DTol) go to 30
GBB = delrho(n,1,2)*delrho(n,1,2) +
& delrho(n,2,2)*delrho(n,2,2) +
& delrho(n,3,2)*delrho(n,3,2)
@@ -242,7 +238,6 @@
TB = tau(n,2)*2.0d0
- if(tb.lt.dtol) goto 30
Call vs98ss(tol_rho,PB,GBB,TB,FB,FPB,FGB,FTB,EUB,ZB,
& ChiB,EUPB,ChiBP,ChiBG,ZBP,ZBT,ijzy)
Ec = Ec + FB*qwght(n)
@@ -378,10 +373,9 @@
else
call errquit("vs98ss: illegal value of ijzy",ijzy,UERR)
endif
-couch
-c DTol =1.0d-7
+
dtol=tol_rho
- If(PX.le.DTol) then
+ If(PX.le.DTol.or.gx.le.dtol.or.tx.le.dtol) then
EUEG = Zero
Chi = Zero
EUEGP = Zero
|