~ubuntu-branches/ubuntu/trusty/nwchem/trusty-proposed

« back to all changes in this revision

Viewing changes to src/nwxc/nwxc_x_hse08.F

  • Committer: Package Import Robot
  • Author(s): Michael Banck, Daniel Leidert, Andreas Tille, Michael Banck
  • Date: 2013-07-04 12:14:55 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130704121455-5tvsx2qabor3nrui
Tags: 6.3-1
* New upstream release.
* Fixes anisotropic properties (Closes: #696361).
* New features include:
  + Multi-reference coupled cluster (MRCC) approaches
  + Hybrid DFT calculations with short-range HF 
  + New density-functionals including Minnesota (M08, M11) and HSE hybrid
    functionals
  + X-ray absorption spectroscopy (XAS) with TDDFT
  + Analytical gradients for the COSMO solvation model
  + Transition densities from TDDFT 
  + DFT+U and Electron-Transfer (ET) methods for plane wave calculations
  + Exploitation of space group symmetry in plane wave geometry optimizations
  + Local density of states (LDOS) collective variable added to Metadynamics
  + Various new XC functionals added for plane wave calculations, including
    hybrid and range-corrected ones
  + Electric field gradients with relativistic corrections 
  + Nudged Elastic Band optimization method
  + Updated basis sets and ECPs 

[ Daniel Leidert ]
* debian/watch: Fixed.

[ Andreas Tille ]
* debian/upstream: References

[ Michael Banck ]
* debian/upstream (Name): New field.
* debian/patches/02_makefile_flags.patch: Refreshed.
* debian/patches/06_statfs_kfreebsd.patch: Likewise.
* debian/patches/07_ga_target_force_linux.patch: Likewise.
* debian/patches/05_avoid_inline_assembler.patch: Removed, no longer needed.
* debian/patches/09_backported_6.1.1_fixes.patch: Likewise.
* debian/control (Build-Depends): Added gfortran-4.7 and gcc-4.7.
* debian/patches/10_force_gcc-4.7.patch: New patch, explicitly sets
  gfortran-4.7 and gcc-4.7, fixes test suite hang with gcc-4.8 (Closes:
  #701328, #713262).
* debian/testsuite: Added tests for COSMO analytical gradients and MRCC.
* debian/rules (MRCC_METHODS): New variable, required to enable MRCC methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef SECOND_DERIV
 
2
C> \ingroup nwxc
 
3
C> @{
 
4
C>
 
5
C> \file nwxc_x_hse08.F
 
6
C> The range separated HSE exchange enhancement factor
 
7
C>
 
8
C> @}
 
9
#endif
 
10
C>
 
11
C> \ingroup nwxc_priv
 
12
C> @{
 
13
C>
 
14
C> \brief Evaluate the range separated HSE exchange enhancement factor
 
15
C>
 
16
C> This routine calculates the HSE exchange enhancement factor [1,2].
 
17
C>
 
18
C> ### References ###
 
19
C>
 
20
C> [1] J. Heyd, G.E. Scuceria, M. Ernzerhof, "Hybrid functionals based
 
21
C> on a screened Coulomb potential", J. Chem. Phys. <b>118</b>, 
 
22
C> 8207 (2003), DOI: <a href="http://dx.doi.org/10.1063/1.1564060">
 
23
C> 10.1063/1.1564060</a>.
 
24
C>
 
25
C> [2] J. Heyd, G.E. Scuceria, M. Ernzerhof, "Erratum: Hybrid 
 
26
C> functionals based on a screened Coulomb potential", J. Chem. Phys.
 
27
C> <b>124</b>, 219906 (2006), DOI:
 
28
C> <a href="http://dx.doi.org/10.1063/1.2204597">
 
29
C> 10.1063/1.2204597</a>.
 
30
C>
 
31
#ifndef SECOND_DERIV
 
32
      Subroutine nwxc_x_HSE08(cam_omega,ipol,rho,s,Fxhse,
 
33
     &           d10Fxhse,d01Fxhse)
 
34
#else
 
35
      Subroutine nwxc_x_HSE08_d2(cam_omega,ipol,rho,s,Fxhse,
 
36
     &           d10Fxhse,d01Fxhse,d20Fxhse,d02Fxhse,d11Fxhse)
 
37
#endif
 
38
 
 
39
c
 
40
      implicit none
 
41
c
 
42
c HSE evaluates the Heyd et al. Screened Coulomb
 
43
c Exchange Functional
 
44
c
 
45
c Calculates the enhancement factor
 
46
c
 
47
      integer ipol
 
48
      double precision cam_omega
 
49
      double precision rho,s,Fxhse,d10Fxhse,d01Fxhse
 
50
c
 
51
#ifdef SECOND_DERIV
 
52
      double precision  d20Fxhse,d02Fxhse,d11Fxhse
 
53
#endif
 
54
 
 
55
      double precision  A,B,C,D,E
 
56
      double precision  ha2,ha3,ha4,ha5,ha6,ha7
 
57
      double precision  hb1,hb2,hb3,hb4,hb5,hb6,hb7,hb8,hb9
 
58
      double precision  smax,strans,sconst
 
59
c
 
60
      double precision  zero,one,two,three,four,five,six,seven,eight
 
61
      double precision  nine,ten
 
62
      double precision  fifteen,sixteen
 
63
 
 
64
      double precision  H,hnum,hden 
 
65
      double precision  d1H,d1hnum,d1hden 
 
66
      double precision  s2,s3,s4,s5,s6,s7,s8,s9
 
67
      double precision  Fs, d1Fs
 
68
      double precision  zeta, lambda, eta, kf, nu, chi, lambda2
 
69
      double precision  d1zeta,d1lambda,d1eta,d1nu,d1chi,d1lambda2
 
70
      double precision  EGs,d1EGs
 
71
      double precision  nu2,L2,L3,nu3,nu4,nu5,nu6
 
72
      double precision  Js,Ks,Ms,Ns
 
73
      double precision  d1Js,d1Ks,d1Ms,d1Ns
 
74
 
 
75
      double precision  tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8
 
76
      double precision  tmp9,tmp10,tmp11,tmp12,tmp13,tmp14,tmp15
 
77
      double precision  Fxhse1,Fxhse2,Fxhse3,Fxhse4,Fxhse5,Fxhse6
 
78
      double precision  d1Fxhse1,d1Fxhse2,d1Fxhse3,d1Fxhse4,d1Fxhse5
 
79
      double precision  d1Fxhse6,d1Fxhse7
 
80
 
 
81
      double precision  r42,r27,r12,r15,r14,r18,r20,r30,r56,r72
 
82
      double precision  r16,r32,r24,r48,r11,r64,r35
 
83
      double precision  pi,pi2,srpi,s02
 
84
      double precision  f12,f13,f32,f52,f72,f92
 
85
#ifdef SECOND_DERIV
 
86
      double precision  d2H,d2hnum,d2hden
 
87
      double precision  d2Fs
 
88
      double precision  d2zeta,d2lambda,d2eta,d2nu,d2chi,d2lambda2
 
89
      double precision  d2EGs
 
90
      double precision  d2Js,d2Ks,d2Ms,d2Ns
 
91
      double precision  d2Fxhse1,d2Fxhse2,d2Fxhse3,d2Fxhse4,d2Fxhse5
 
92
      double precision  d2Fxhse6,d2Fxhse7
 
93
      double precision  d11Fxhse1,d11Fxhse2,d11Fxhse3,d11Fxhse4
 
94
      double precision  d11Fxhse5,d11Fxhse6,d11Fxhse7
 
95
#endif
 
96
 
 
97
 
 
98
c
 
99
c     Constants for HJS hole
 
100
c
 
101
      Data A,B,C,D,E
 
102
     &     / 7.57211D-1,-1.06364D-1,-1.18649D-1,
 
103
     &       6.09650D-1,-4.77963D-2 /
 
104
c
 
105
c     Constants for fit of H(s) (PBE hole)
 
106
c     Taken from JCTC_5_754 (2009)
 
107
c
 
108
      Data ha2,ha3,ha4,ha5,ha6,ha7
 
109
     &     / 1.59941D-2,8.52995D-2,-1.60368D-1,1.52645D-1,
 
110
     &      -9.71263D-2,4.22061D-2 /
 
111
c
 
112
      Data hb1,hb2,hb3,hb4,hb5,hb6,hb7,hb8,hb9
 
113
     &     / 5.33319D0,-12.4780D0,11.0988D0,-5.11013D0,
 
114
     &      1.71468D0,-6.10380D-1,3.07555D-1,-7.70547D-2,
 
115
     &      3.34840D-2 /
 
116
 
 
117
c
 
118
c     Whole numbers used during evaluation
 
119
c
 
120
      Data zero,one,two,three,four,five,six,seven,eight,nine,ten
 
121
     &     / 0D0,1D0,2D0,3D0,4D0,5D0,6D0,7D0,8D0,9D0,10D0 /
 
122
       
 
123
      Data r11,r12,r14,r15,r16,r18,r20,r24,r27,r30,r32
 
124
     &     / 11D0,12D0,14D0,15D0,16D0,18D0,20D0,24D0,27d0,30D0,32D0 /
 
125
 
 
126
      Data r35,r42,r48,r56,r64,r72
 
127
     &     / 35D0,42D0,48D0,56D0,64D0,72D0 /
 
128
c
 
129
c     Fractions used during evaluation
 
130
c
 
131
      Data f12
 
132
     &     / 0.5D0 /
 
133
c
 
134
c     General constants
 
135
c
 
136
      f13   = one/three
 
137
      f32   = three/two
 
138
      f52   = five/two
 
139
      f72   = seven/two
 
140
      f92   = nine/two
 
141
      pi    = ACos(-one)
 
142
      pi2   = pi*pi
 
143
      srpi = dsqrt(pi)
 
144
c
 
145
c
 
146
c     Calculate prelim variables
 
147
c
 
148
      s2 = s*s
 
149
      s02 = s2/four
 
150
      s3 = s2*s
 
151
      s4 = s3*s
 
152
      s5 = s4*s
 
153
      s6 = s5*s
 
154
      s7 = s6*s
 
155
      s8 = s7*s
 
156
      s9 = s8*s
 
157
 
 
158
c
 
159
c     Calculate H(s) the model exhange hole
 
160
c
 
161
      hnum = ha2*s2 + ha3*s3 + ha4*s4 + ha5*s5 + ha6*s6 + ha7*s7 
 
162
      hden = one + hb1*s + hb2*s2 + hb3*s3 + hb4*s4 + hb5*s5 +
 
163
     &       hb6*s6 + hb7*s7 + hb8*s8 + hb9*s9
 
164
      H = hnum/hden
 
165
 
 
166
c
 
167
c     Calculate helper variables
 
168
c
 
169
      zeta = s2*H
 
170
      eta = A + zeta
 
171
      lambda = D + zeta
 
172
      if (ipol.eq.1) then
 
173
         kf = (three*pi2*rho)**f13 
 
174
      else
 
175
         kf = (six*pi2*rho)**f13 
 
176
      endif
 
177
      nu = cam_omega/kf
 
178
      chi = nu/dsqrt(lambda+nu**two)
 
179
      lambda2 = (one+chi)*(lambda+nu**two)
 
180
 
 
181
c
 
182
c     Calculate F(H(s)) for the model exhange hole
 
183
c
 
184
      Fs = one-s2/(r27*C*(one+s02))-zeta/(two*C)
 
185
 
 
186
c
 
187
c     Calculate EG(s) 
 
188
c
 
189
      EGs = -(two/five)*C*Fs*lambda - (four/r15)*B*lambda**two -
 
190
     &      (six/five)*A*lambda**three - 
 
191
     &      (four/five)*srpi*lambda**(seven/two) -
 
192
     &      (r12/five)*(lambda**(seven/two))*(dsqrt(zeta)-dsqrt(eta))
 
193
 
 
194
c
 
195
c     Calculate the denominators needed
 
196
c
 
197
 
 
198
      nu2 = nu*nu
 
199
      Js = (dsqrt(zeta+nu2)+dsqrt(eta+nu2))*(dsqrt(zeta+nu2)+nu) 
 
200
      Ks = (dsqrt(zeta+nu2)+dsqrt(eta+nu2))*(dsqrt(eta+nu2)+nu) 
 
201
      Ms = (dsqrt(zeta+nu2)+dsqrt(lambda+nu2))*(dsqrt(lambda+nu2)+nu) 
 
202
      Ns = (dsqrt(eta+nu2)+dsqrt(lambda+nu2))*(dsqrt(lambda+nu2)+nu) 
 
203
 
 
204
c
 
205
c       The final value for the enhancement factor is
 
206
c
 
207
      tmp1 = one + f12*chi
 
208
      tmp2 = one + (nine/eight)*chi + (three/eight)*chi**two 
 
209
      Fxhse1  = A*(zeta/Js + eta/Ks) 
 
210
      Fxhse2  = -(four/nine)*B/lambda2
 
211
      Fxhse3  = -(four/nine)*C*Fs*tmp1/lambda2**two
 
212
      Fxhse4  = -(eight/nine)*EGs*tmp2/lambda2**three
 
213
      Fxhse5  = two*zeta*dlog(one -D/Ms)
 
214
      Fxhse6  = -two*eta*dlog(one -(D-A)/Ns)
 
215
 
 
216
      Fxhse = Fxhse1+Fxhse2+Fxhse3+Fxhse4+Fxhse5+Fxhse6
 
217
c
 
218
c     Calculate the first derivative of H with respect to the
 
219
c     reduced density gradient, s.
 
220
c
 
221
      d1hnum = two*ha2*s + three*ha3*s2 + four*ha4*s3 +
 
222
     &          five*ha5*s4 + six*ha6*s5 + seven*ha7*s6
 
223
 
 
224
      d1hden  = hb1 + two*hb2*s +three*hb3*s2 + four*hb4*s3 +
 
225
     &          five*hb5*s4 + six*hb6*s5 + seven*hb7*s6 +
 
226
     &          eight*hb8*s7 + nine*hb9*s8 
 
227
      d1H =   (hden*d1hnum -hnum*d1hden)/hden**two
 
228
 
 
229
c
 
230
c     calculate first derivative of variables needed with respect to s
 
231
 
232
      d1zeta = two*s*H + s2*d1H
 
233
      d1eta  = d1zeta
 
234
      d1lambda = d1zeta
 
235
      d1chi = -f12*nu*d1zeta/(lambda + nu2)**f32
 
236
      d1lambda2 = d1chi*(lambda + nu**two) + (one+chi)*d1lambda
 
237
      !d1lambda2 = (d1lambda*(one-chi)+lambda*d1chi)/(one-chi)**two
 
238
 
 
239
c   
 
240
c     calculate the first derivative of Fs with respect to s
 
241
c   
 
242
      d1Fs = -two*s/(r27*C*(one+s02)**two) - d1zeta/(two*C)
 
243
 
 
244
c
 
245
c     Calculate the first derivate of EGs with respect to s
 
246
c
 
247
      d1EGs = -(two/five)*C*(d1Fs*lambda + Fs*d1lambda) -
 
248
     &        (eight/r15)*B*lambda*d1lambda -
 
249
     &        (r18/five)*A*lambda*lambda*d1lambda -
 
250
     &        (r14/five)*srpi*d1lambda*lambda**f52 -
 
251
     &        (r42/five)*(lambda**f52)*
 
252
     &        d1lambda*(dsqrt(zeta)-dsqrt(eta))-
 
253
     &        (six/five)*(lambda**(seven/two))*
 
254
     &        (d1zeta/dsqrt(zeta)-d1eta/dsqrt(eta))
 
255
 
 
256
c
 
257
c     Calculate the first derivate of denominators needed with respect
 
258
c     to s
 
259
c
 
260
      tmp1 = (dsqrt(zeta+nu2)+nu)/(dsqrt(eta+nu2)) 
 
261
      tmp2 = (dsqrt(eta+nu2)+nu)/(dsqrt(zeta+nu2))
 
262
 
 
263
      d1Js = f12*d1zeta*(two+tmp1+tmp2)
 
264
      d1Ks = d1Js
 
265
 
 
266
      tmp3 = (dsqrt(zeta+nu2)+nu)/(dsqrt(lambda+nu2))
 
267
      tmp4 = (dsqrt(lambda+nu2)+nu)/(dsqrt(zeta+nu2)) 
 
268
      d1Ms = f12*d1zeta*(two +tmp3+tmp4)
 
269
 
 
270
      tmp5 = (dsqrt(lambda+nu2)+nu)/(dsqrt(eta+nu2))
 
271
      tmp6 = (dsqrt(eta+nu2)+nu)/(dsqrt(lambda+nu2))
 
272
      d1Ns = f12*d1zeta*(two + tmp5+tmp6)
 
273
c
 
274
c
 
275
c     Calculate the derivative of the 08-Fxhse with respect to s
 
276
c
 
277
      L2 = lambda2*lambda2
 
278
      L3 = lambda2*lambda2*lambda2
 
279
      d1Fxhse1  = A*( (Js*d1zeta - zeta*d1Js)/(Js*Js) +
 
280
     &                (Ks*d1zeta - eta*d1Ks)/(Ks*Ks) ) 
 
281
 
 
282
      d1Fxhse2  = (four/nine)*B*d1lambda2/L2 
 
283
 
 
284
      tmp9 = d1lambda2/lambda2
 
285
      tmp7 = d1Fs - two*Fs*tmp9
 
286
      tmp8 = one + f12*chi
 
287
      tmp10 =  f12*Fs*d1chi
 
288
 
 
289
      d1Fxhse3 = -(four*C/(nine*L2))*(tmp7*tmp8+tmp10)
 
290
 
 
291
c      d1Fxhse3  = -(four/nine)*(C/(L2*L2))* 
 
292
c     &           (L2*d1Fs - two*lambda2*Fs*d1lambda2 +
 
293
c     &           f12*(L2*(d1Fs*chi+Fs*d1chi) -
 
294
c     &           two*lambda2*chi*Fs*d1chi))
 
295
 
 
296
c       tmp4 = d1chi/(one+chi) + d1lambda/(lambda+nu2)
 
297
c       tmp4 = (one-chi)*d1lambda2/lambda
 
298
c       tmp1 = (eight/three+three*chi+chi*chi)*tmp4
 
299
c       tmp2 = d1chi + (two/three)*chi*d1chi
 
300
c       tmp3 = (eight/nine + chi + f13*chi*chi)
 
301
c       d1FXhse4 = ((tmp1-tmp2)*EGs-tmp3*d1EGs)/L3
 
302
 
 
303
        tmp7 = one + (nine/eight)*chi+(three/eight)*chi*chi
 
304
        tmp8 = (nine/eight)*d1chi + (six/eight)*chi*d1chi
 
305
 
 
306
       d1Fxhse4 = -(eight/(nine*L3))*((d1EGs-three*EGs*tmp9)*tmp7
 
307
     &           + EGs*tmp8)
 
308
c      d1Fxhse4  = -(eight/nine)*(L3*d1EGs - 
 
309
c     &            three*EGs*L2*d1lambda2)/(L3*L3) -
 
310
c     &             (L3*(d1EGs*chi + EGs*d1chi) -
 
311
c     &            three*EGs*chi*L2*d1lambda2)/(L3*L3)-
 
312
c     &           (L3*(d1EGs*chi*chi+two*EGs*chi*d1chi)-
 
313
c     &            three*EGs*chi*chi*L2*d1lambda2)/(three*L3*L3) 
 
314
c
 
315
      d1Fxhse5  = two*d1zeta*dlog(one-D/Ms) +
 
316
     &           two*zeta*D*d1Ms/(Ms*Ms*(one-D/Ms)) 
 
317
 
 
318
      d1Fxhse6  = -two*d1eta*dlog(one- (D-A)/Ns) -
 
319
     &           two*eta*(D-A)*d1Ns/(Ns*Ns*(one-(D-A)/Ns)) 
 
320
c
 
321
      d10Fxhse = d1Fxhse1+d1Fxhse2+d1Fxhse3+d1Fxhse4+d1Fxhse5+d1Fxhse6
 
322
c
 
323
c     Calculate the derivative of 08-Fxhse with respect to nu
 
324
c
 
325
      nu3 = nu2*nu
 
326
c
 
327
      d1Fxhse1 = -((A*(nu + dsqrt(eta + nu2))*zeta)/
 
328
     &            (dsqrt(eta + nu2)*dsqrt(nu2 + zeta)*
 
329
     &            (nu + dsqrt(nu2 + zeta))*
 
330
     &            (dsqrt(eta + nu2) + dsqrt(nu2 + zeta))))
 
331
c
 
332
      d1Fxhse2 = -((A*eta*(nu/dsqrt(eta + nu2) + nu/
 
333
     &            dsqrt(nu2 + zeta)))/
 
334
     &            ((nu + dsqrt(eta + nu2))*
 
335
     &            (dsqrt(eta + nu2) + dsqrt(nu2 + zeta))**two)) -
 
336
     &            (A*eta*(one + nu/dsqrt(eta + nu2)))/
 
337
     &            ((nu + dsqrt(eta + nu2))**two*
 
338
     &            (dsqrt(eta + nu2) + dsqrt(nu2 + zeta)))
 
339
c
 
340
      d1Fxhse3 = (four*B)/(nine*(lambda + nu2)**(f32))
 
341
c
 
342
      d1Fxhse4 = (two*C*Fs)/(three*(lambda + nu2)**(f52))
 
343
c
 
344
      d1Fxhse5 = (five*EGs*(lambda**two + four*nu3*
 
345
     &            (nu + dsqrt(lambda + nu2)) +
 
346
     &            lambda*nu*(five*nu + three*dsqrt(lambda + nu2))))/
 
347
     &   (three*(lambda + nu2)**four*(nu + dsqrt(lambda + nu2))**three)
 
348
c
 
349
      d1Fxhse6 = (two*D*zeta*(nu + dsqrt(nu2 + zeta)))/
 
350
     &            (dsqrt(lambda + nu2)*dsqrt(nu2 + zeta)*
 
351
     &            (-D + lambda + (nu + dsqrt(lambda + nu2))*
 
352
     &            (nu + dsqrt(nu2 + zeta))))
 
353
c
 
354
      d1Fxhse7 = (two*(A - D)*eta*(nu + dsqrt(eta + nu2)))/
 
355
     &            (dsqrt(eta + nu2)*dsqrt(lambda + nu2)*
 
356
     &            (A - D + lambda + nu2 + nu*dsqrt(eta + nu2) +
 
357
     &            nu*dsqrt(lambda + nu2) +
 
358
     &            dsqrt(eta + nu2)*dsqrt(lambda + nu2)))
 
359
c
 
360
c
 
361
c      d1Fxhse1 = -((A*zeta*(nu/dsqrt(eta + nu2) +
 
362
c     &           nu/dsqrt(nu2 + zeta)))/((nu + dsqrt(nu2 + zeta))*
 
363
c     &           (dsqrt(eta + nu2) + dsqrt(nu2 + zeta))**two)) -
 
364
c     &           (A*zeta*(one + nu/dsqrt(nu2 + zeta)))/
 
365
c     &           ((nu + dsqrt(nu2 + zeta))**two*(dsqrt(eta + nu2) +
 
366
c     &           dsqrt(nu2 + zeta)))
 
367
c
 
368
c      d1Fxhse2 = -((A*eta*(nu/dsqrt(eta + nu2) +
 
369
c     &           nu/dsqrt(nu2 + zeta)))/((nu + dsqrt(eta + nu2))*
 
370
c     &           (dsqrt(eta + nu2) + dsqrt(nu2 + zeta))**two)) -
 
371
c     &           (A*eta*(one + nu/dsqrt(eta + nu2)))/
 
372
c     &           ((nu + dsqrt(eta + nu2))**two*(dsqrt(eta + nu2) +
 
373
c     &           dsqrt(nu2 + zeta)))
 
374
c
 
375
c      d1Fxhse3 = (four*B*(-(nu2/(lambda + nu2)**(three/two)) +
 
376
c     &           one/dsqrt(lambda + nu2)))/(nine*(lambda + nu2)*
 
377
c     &           (one + nu/dsqrt(lambda + nu2))**two) +
 
378
c     &           (eight*B*nu)/(nine*(lambda + nu2)**two*
 
379
c     &           (one + nu/dsqrt(lambda + nu2)))
 
380
c
 
381
c      d1Fxhse4 = (eight*C*Fs*(-(nu2/(lambda + nu2)**(three/two)) +
 
382
c     &           one/dsqrt(lambda + nu2))*
 
383
c     & (one + nu/(two*dsqrt(lambda + nu2))))/(nine*(lambda + nu2)**two*
 
384
c     &           (one + nu/dsqrt(lambda + nu2))**three) -
 
385
c     &           (four*C*Fs*(-nu2/(two*(lambda + nu2)**(three/two)) +
 
386
c     &        one/(two*dsqrt(lambda + nu2))))/(nine*(lambda + nu2)**two*
 
387
c     &           (one + nu/dsqrt(lambda + nu2))**two) +
 
388
c     &           (r16*C*Fs*nu*(one + nu/(two*dsqrt(lambda + nu2))))/
 
389
c     &           (nine*(lambda + nu2)**three*
 
390
c     &           (one + nu/dsqrt(lambda + nu2))**two)
 
391
c
 
392
c      d1Fxhse5 = (-eight*EGs*((-three*nu3)/(four*(lambda + nu2)**two) -
 
393
c     &           (nine*nu2)/(eight*(lambda + nu2)**(three/two)) +
 
394
c     &           (three*nu)/(four*(lambda + nu2)) +
 
395
c     & nine/(eight*dsqrt(lambda + nu2))))/(nine*(lambda + nu2)**three*
 
396
c     &           (one + nu/dsqrt(lambda + nu2))**three) +
 
397
c     &           (eight*EGs*(-(nu2/(lambda + nu2)**(three/two)) +
 
398
c     &           one/dsqrt(lambda + nu2))*
 
399
c     &           (one + (three*nu2)/(eight*(lambda + nu2)) +
 
400
c     &           (nine*nu)/(eight*dsqrt(lambda + nu2))))/
 
401
c     &           (three*(lambda + nu2)**three*
 
402
c     &           (one + nu/dsqrt(lambda + nu2))**four)
 
403
c     &   + (r16*EGs*nu*(one + (three*nu2)/(eight*(lambda + nu2)) +
 
404
c     &           (nine*nu)/(eight*dsqrt(lambda + nu2))))/
 
405
c     &           (three*(lambda + nu2)**four*
 
406
c     &           (one + nu/dsqrt(lambda + nu2))**three)
 
407
c
 
408
c      d1Fxhse6 = (two*zeta*((D*(nu/dsqrt(lambda + nu2) +
 
409
c     &           nu/dsqrt(nu2 + zeta)))/
 
410
c     &           ((nu + dsqrt(lambda + nu2))*(dsqrt(lambda + nu2) +
 
411
c     &           dsqrt(nu2 + zeta))**two) +
 
412
c     &           (D*(one + nu/dsqrt(lambda + nu2)))/
 
413
c     &           ((nu + dsqrt(lambda + nu2))**two*(dsqrt(lambda + nu2) +
 
414
c     &           dsqrt(nu2 + zeta)))))/
 
415
c     &           (one - D/((nu + dsqrt(lambda + nu2))*
 
416
c     &           (dsqrt(lambda + nu2) + dsqrt(nu2 + zeta))))
 
417
c
 
418
c      d1Fxhse7 = (-two*eta*(((-A + D)*(nu/dsqrt(eta + nu2) +
 
419
c     &           nu/dsqrt(lambda + nu2)))/
 
420
c     &           ((nu + dsqrt(lambda + nu2))*(dsqrt(eta + nu2) +
 
421
c     &           dsqrt(lambda + nu2))**two) +
 
422
c     &           ((-A + D)*(one + nu/dsqrt(lambda + nu2)))/
 
423
c     &           ((nu + dsqrt(lambda + nu2))**two*(dsqrt(eta + nu2) +
 
424
c     &           dsqrt(lambda + nu2)))))/
 
425
c     &           (one - (-A + D)/((nu + dsqrt(lambda + nu2))*
 
426
c     &           (dsqrt(eta + nu2) + dsqrt(lambda + nu2))))
 
427
c
 
428
c
 
429
      d01Fxhse = d1Fxhse1+d1Fxhse2+d1Fxhse3+d1Fxhse4+d1Fxhse5+d1Fxhse6+
 
430
     &           d1Fxhse7
 
431
c   
 
432
#ifdef SECOND_DERIV
 
433
c
 
434
c     Calculate the second derivative of H
 
435
c
 
436
      d2hnum =  two*ha2+six*ha3*s+r12*ha4*s2+r20*ha5*s3+
 
437
     &           r30*ha6*s4 + r42*ha7*s5
 
438
 
 
439
      d2hden  =  two*hb2+six*hb3*s+r12*hb4*s2+r20*hb5*s3+
 
440
     &           r30*hb6*s4+r42*hb7*s5+r56*hb8*s6+r72*hb9*s7
 
441
 
 
442
      d2H     =  (hden*(hden*d2hnum-hnum*d2hden) -
 
443
     &           two*(hden*d1hnum-hnum*d1hden)*d1hden)/hden**three   
 
444
 
 
445
c
 
446
c     calculate second derivative of variables needed
 
447
 
448
      d2zeta    = two*H +four*s*d1H + s2*d2H
 
449
      d2eta     = d2zeta
 
450
      d2lambda  = d2zeta
 
451
 
 
452
      d2chi     = -f12*(nu/(lambda+nu2)**(f32))*
 
453
     &           (-f32*d1zeta*d1zeta/(lambda+nu2) +d2zeta)
 
454
 
 
455
      d2lambda2 =(one-chi)*(d2lambda-d2lambda*chi+lambda*d2chi)+
 
456
     &           two*d1chi*(d1lambda-d1lambda*chi+lambda*d1chi)
 
457
      d2lambda2 = d2lambda2/(one-chi)**three
 
458
 
 
459
c   
 
460
c     calculate the second derivative of Fs
 
461
c   
 
462
      d2Fs = -(two/(r27*C))*(one-three*s02)/
 
463
     &        ((one+s02)**three)-d2zeta/(two*C)  
 
464
 
 
465
c
 
466
c     Calculate the second derivate of EGs
 
467
c
 
468
      tmp7 = -(two/five)*C*(d2Fs*lambda+two*d1Fs*d1lambda+Fs*d2lambda)
 
469
      tmp8 = -(eight/r15)*B*(d1lambda*d1lambda+lambda*d2lambda)
 
470
      tmp9 =-(r18/five)*A*lambda*(two*d1lambda*d1lambda+lambda*d2lambda)
 
471
      tmp10 = -(r14/five)*srpi*(f52*(lambda**f32)*d1lambda*d1lambda
 
472
     &          +(lambda**f52)*d2lambda)
 
473
      tmp11 = -(r42/five)*(f52*(lambda**f32)*d1lambda*d1lambda
 
474
     &          +(lambda**f52)*d2lambda)*(dsqrt(zeta)-dsqrt(eta))
 
475
      tmp12 = -(r42/five)*(lambda**f52)*d1lambda*
 
476
     &          (d1zeta/dsqrt(zeta)-d1eta/dsqrt(eta))
 
477
      tmp13 = -(six/five)*(lambda**(seven/two))*
 
478
     &          (-d1zeta*d1zeta/(two*zeta**f32)+d2zeta/dsqrt(zeta)
 
479
     &          +d1eta*d1eta/(two*eta**f32)-d2eta/dsqrt(eta))
 
480
 
 
481
      d2EGs = tmp7+tmp8+tmp9+tmp10+tmp11+tmp12+tmp13
 
482
c
 
483
c     Calculate the second derivate of denominators needed
 
484
c
 
485
      tmp7 = two/(dsqrt(zeta+nu2)*dsqrt(eta+nu2))
 
486
      tmp8 = (dsqrt(eta+nu2)+nu)/(zeta+nu2)**f32
 
487
      tmp9 = (dsqrt(zeta+nu2)+nu)/(eta+nu2)**f32
 
488
      
 
489
      d2Js = f12*(d2zeta*(two+tmp1+tmp2) +
 
490
     &       f12*d1zeta*d1zeta*(tmp7-tmp8-tmp9)) 
 
491
 
 
492
      d2Ks = d2Js
 
493
 
 
494
      tmp10 = two/(dsqrt(zeta+nu2)*dsqrt(lambda+nu2))
 
495
      tmp11 = (dsqrt(lambda+nu2)+nu)/(zeta+nu2)**f32
 
496
      tmp12 = (dsqrt(zeta+nu2)+nu)/(lambda+nu2)**f32
 
497
      d2Ms = f12*(d2zeta*(two+tmp3+tmp4) +
 
498
     &       f12*d1zeta*d1zeta*(tmp10-tmp11-tmp12)) 
 
499
 
 
500
      tmp13 = two/(dsqrt(eta+nu2)*dsqrt(lambda+nu2))
 
501
      tmp14 = (dsqrt(lambda+nu2)+nu)/(eta+nu2)**f32
 
502
      tmp15 = (dsqrt(eta+nu2)+nu)/(lambda+nu2)**f32
 
503
      d2Ns = f12*(d2zeta*(two+tmp5+tmp6) +
 
504
     &       f12*d1zeta*d1zeta*(tmp13-tmp14-tmp15)) 
 
505
 
 
506
 
 
507
c
 
508
c     Calculate the second derivative of the Fxhse with respect to the
 
509
c     reduced density gradient, s.
 
510
c
 
511
      tmp1      = A*(Js*Js*d2zeta -two*Js*d1Js*d1zeta 
 
512
     &            + two*d1Js*d1Js*zeta-Js*d2Js*zeta)/
 
513
     &            (Js*Js*Js) 
 
514
      tmp2       = A*(Ks*Ks*d2zeta -two*Ks*d1Ks*d1zeta 
 
515
     &            + two*d1Ks*d1Ks*eta-Ks*d2Ks*eta)/
 
516
     &            (Ks*Ks*Ks) 
 
517
      d2Fxhse1  = tmp1 +tmp2 
 
518
 
 
519
      d2Fxhse2  = (four/nine)*B*(L2*d2lambda2-
 
520
     &            two*lambda2*d1lambda2*d1lambda2)/(L2*L2)
 
521
 
 
522
      tmp4 = d1lambda2/lambda2
 
523
      tmp5 = d2lambda2/lambda2
 
524
      d2Fxhse3  = -((four*C)/(nine*L2))*(d2Fs +
 
525
     &           six*Fs*tmp4**two - two*Fs*tmp5 -
 
526
     &           four*d1Fs*tmp4 +
 
527
     &          f12*((d2Fs*chi+two*d1Fs*d1chi+Fs*d2chi)-
 
528
     &           four*tmp4*(d1Fs*chi+Fs*d1chi) +
 
529
     &           six*chi*Fs*tmp4*tmp4)-chi*Fs*tmp5)
 
530
 
 
531
      tmp1  =  -d2chi -(two/three)*(d1chi*d1chi+chi*d2chi)
 
532
     &      + (six*d1chi+four*chi*d1chi
 
533
     &      -tmp4*(r32/three+r12*chi+four*chi*chi))*tmp4
 
534
     &      +((eight/three) +three*chi +chi*chi)*tmp5
 
535
 
 
536
      tmp2  =  -(two +(four/three)*chi)*d1chi
 
537
     &        +(two*chi*chi+(r16/three)+six*chi)*tmp4
 
538
 
 
539
      tmp3  =  -((eight/nine)+chi+(one/three)*chi*chi)
 
540
 
 
541
      d2Fxhse4  = (EGs*tmp1 + d1EGs*tmp2+ d2EGs*tmp3)/L3
 
542
 
 
543
      tmp1      = (one-D/Ms) 
 
544
 
 
545
      d2Fxhse5  = two*d2zeta*dlog(tmp1)+four*d1zeta*D*d1Ms/(Ms*Ms*tmp1)-
 
546
     &            two*zeta*(D*d1Ms/(Ms*Ms*tmp1))**two +
 
547
     &          two*zeta*D*(Ms*Ms*d2Ms-two*Ms*d1Ms*d1Ms)/(tmp1*Ms**four)
 
548
 
 
549
      tmp1      = (one-(D-A)/Ns) 
 
550
      d2Fxhse6  = -two*d2eta*dlog(tmp1)-
 
551
     &             four*d1eta*(D-A)*d1Ns/(Ns*Ns*tmp1)+
 
552
     &             two*eta*((D-A)*d1Ns/(Ns*Ns*tmp1))**two -
 
553
     &       two*eta*(D-A)*(Ns*Ns*d2Ns-two*Ns*d1Ns*d1Ns)/(tmp1*Ns**four)
 
554
 
 
555
      d20Fxhse = d2Fxhse1+d2Fxhse2+d2Fxhse3+d2Fxhse4+d2Fxhse5+d2Fxhse6
 
556
c
 
557
c     Calculate the second derivative of Fxhse with respect to the
 
558
c     parameter nu (cam_omega/kf).
 
559
c
 
560
      nu5 = nu3*nu2
 
561
      nu6 = nu5*nu
 
562
c
 
563
      d2Fxhse1 = A*zeta*((two*(one + nu/dsqrt(nu2 + zeta))*
 
564
     &            (nu/dsqrt(eta + nu2) + nu/dsqrt(nu2 + zeta)))/
 
565
     &            ((nu + dsqrt(nu2 + zeta))**two*(dsqrt(eta + nu2) +
 
566
     &            dsqrt(nu2 + zeta))**two) +
 
567
     &            ((two*(one + nu/dsqrt(nu2 + zeta))**two)/
 
568
     &            (nu + dsqrt(nu2 + zeta))**three -
 
569
     &      (-(nu2/(nu2 + zeta)**(three/two)) + one/dsqrt(nu2 + zeta))/
 
570
     &            (nu + dsqrt(nu2 + zeta))**two)/
 
571
     &            (dsqrt(eta + nu2) + dsqrt(nu2 + zeta)) +
 
572
     &    ((two*(nu/dsqrt(eta + nu2) + nu/dsqrt(nu2 + zeta))**two)/
 
573
     &    (dsqrt(eta + nu**two) + dsqrt(nu2 + zeta))**three -
 
574
     &       (-(nu2/(eta + nu2)**(three/two)) + one/dsqrt(eta + nu2) -
 
575
     &        nu2/(nu2 + zeta)**(three/two) + one/dsqrt(nu2 + zeta))/
 
576
     &        (dsqrt(eta + nu2) + dsqrt(nu2 + zeta))**two)/
 
577
     &             (nu + dsqrt(nu2 + zeta)))
 
578
c
 
579
      d2Fxhse2 = A*eta*((two*(one + nu/dsqrt(eta + nu2))*
 
580
     &            (nu/dsqrt(eta + nu2) + nu/dsqrt(nu2 + zeta)))/
 
581
     &            ((nu + dsqrt(eta + nu2))**two*(dsqrt(eta + nu2) +
 
582
     &            dsqrt(nu2 + zeta))**two) +
 
583
     &            ((two*(one + nu/dsqrt(eta + nu2))**two)/
 
584
     &            (nu + dsqrt(eta + nu2))**three -
 
585
     &       (-(nu2/(eta + nu2)**(three/two)) + one/dsqrt(eta + nu2))/
 
586
     &            (nu + dsqrt(eta + nu2))**two)/(dsqrt(eta + nu2) +
 
587
     &            dsqrt(nu2 + zeta)) +
 
588
     &       ((two*(nu/dsqrt(eta + nu2) + nu/dsqrt(nu2 + zeta))**two)/
 
589
     &            (dsqrt(eta + nu2) + dsqrt(nu2 + zeta))**three -
 
590
     &       (-(nu2/(eta + nu2)**(three/two)) + one/dsqrt(eta + nu2) -
 
591
     &         nu2/(nu2 + zeta)**(three/two) + one/dsqrt(nu2 + zeta))/
 
592
     &            (dsqrt(eta + nu2) + dsqrt(nu2 + zeta))**two)/
 
593
     &            (nu + dsqrt(eta + nu2)))
 
594
c
 
595
      d2Fxhse3 = (-four*B*((four*nu*(-(nu2/(lambda + nu2)**(three/two))
 
596
     &            + one/dsqrt(lambda + nu2)))/((lambda + nu2)**two*
 
597
     &            (one + nu/dsqrt(lambda + nu2))**two) +
 
598
     &            ((eight*nu2)/(lambda + nu2)**three -
 
599
     &         two/(lambda + nu2)**two)/(one + nu/dsqrt(lambda + nu2)) +
 
600
     &            ((two*(-(nu2/(lambda + nu2)**(three/two)) +
 
601
     &            one/dsqrt(lambda + nu2))**two)/
 
602
     &            (one + nu/dsqrt(lambda + nu2))**three -
 
603
     &            ((three*nu3)/(lambda + nu2)**(five/two) -
 
604
     &            (three*nu)/(lambda + nu2)**(three/two))/
 
605
     &        (one + nu/dsqrt(lambda + nu2))**two)/(lambda + nu2)))/nine
 
606
c
 
607
      d2Fxhse4 =(-four*C*Fs*((-four*(-(nu2/(lambda + nu2)**(three/two))
 
608
     &            + one/dsqrt(lambda + nu2))*
 
609
     &            ((-nu2/(two*(lambda + nu2)**(three/two)) +
 
610
     &            one/(two*dsqrt(lambda + nu2)))/(lambda + nu2)**two -
 
611
     &            (four*nu*(one + nu/(two*dsqrt(lambda + nu2))))/
 
612
     &   (lambda + nu2)**three))/(one + nu/dsqrt(lambda + nu2))**three +
 
613
     &            ((one + nu/(two*dsqrt(lambda + nu2)))*
 
614
     &            ((six*(-(nu2/(lambda + nu2)**(three/two)) +
 
615
     &            one/dsqrt(lambda + nu2))**two)/
 
616
     &            (one + nu/dsqrt(lambda + nu2))**four -
 
617
     &            (two*((three*nu3)/(lambda + nu2)**(five/two) -
 
618
     &            (three*nu)/(lambda + nu2)**(three/two)))/
 
619
     &            (one + nu/dsqrt(lambda + nu2))**three))/
 
620
     &            (lambda + nu2)**two +
 
621
     &            ((-eight*nu*(-nu2/(two*(lambda + nu2)**(three/two)) +
 
622
     &          one/(two*dsqrt(lambda + nu2))))/(lambda + nu2)**three +
 
623
     &   ((r24*nu2)/(lambda + nu2)**four - four/(lambda + nu2)**three)*
 
624
     &            (one + nu/(two*dsqrt(lambda + nu2))) +
 
625
     &            (-(nu/(lambda + nu2)**(three/two)) +
 
626
     &            (nu*((three*nu2)/(lambda + nu2)**(five/two) -
 
627
     &        (lambda + nu2)**(-three/two)))/two)/(lambda + nu2)**two)/
 
628
     &            (one + nu/dsqrt(lambda + nu2))**two))/nine
 
629
c
 
630
      d2Fxhse5 = (-eight*EGs*((r48*nu2)/(lambda + nu2)**five -
 
631
     &            six/(lambda + nu2)**four)*
 
632
     &            (one + (three*nu2)/(eight*(lambda + nu2)) +
 
633
     &            (nine*nu)/(eight*dsqrt(lambda + nu2))))/
 
634
     &            (nine*(one + nu/dsqrt(lambda + nu2))**three) +
 
635
     &          (r32*EGs*nu*(((-three*nu3)/(four*(lambda + nu2)**two) -
 
636
     &            (nine*nu2)/(eight*(lambda + nu2)**(three/two)) +
 
637
     &            (three*nu)/(four*(lambda + nu2)) +
 
638
     &            nine/(eight*dsqrt(lambda + nu2)))/
 
639
     &            (one + nu/dsqrt(lambda + nu2))**three -
 
640
     &            (three*(-(nu2/(lambda + nu2)**(three/two)) +
 
641
     &            one/dsqrt(lambda + nu2))*
 
642
     &            (one + (three*nu2)/(eight*(lambda + nu2)) +
 
643
     &            (nine*nu)/(eight*dsqrt(lambda + nu2))))/
 
644
     &            (one + nu/dsqrt(lambda + nu2))**four))/
 
645
     &            (three*(lambda + nu2)**four) -
 
646
     &          (eight*EGs*((-six*(-(nu2/(lambda + nu2)**(three/two)) +
 
647
     &            one/dsqrt(lambda + nu2))*
 
648
     &            ((-three*nu3)/(four*(lambda + nu2)**two) -
 
649
     &            (nine*nu2)/(eight*(lambda + nu2)**(three/two)) +
 
650
     &            (three*nu)/(four*(lambda + nu2)) +
 
651
     &            nine/(eight*dsqrt(lambda + nu2))))/
 
652
     &            (one + nu/dsqrt(lambda + nu2))**four +
 
653
     &            ((-three*nu2)/(lambda + nu2)**two -
 
654
     &            (nine*nu)/(four*(lambda + nu2)**(three/two)) +
 
655
     &            three/(four*(lambda + nu2)) +
 
656
     &            (three*nu2*((eight*nu2)/(lambda + nu2)**three -
 
657
     &            two/(lambda + nu2)**two))/eight +
 
658
     &            (nine*nu*((three*nu2)/(lambda + nu2)**(five/two) -
 
659
     &            (lambda + nu2)**(-three/two)))/eight)/
 
660
     &            (one + nu/dsqrt(lambda + nu2))**three +
 
661
     &            (one + (three*nu2)/(eight*(lambda + nu2)) +
 
662
     &            (nine*nu)/(eight*dsqrt(lambda + nu2)))*
 
663
     &            ((r12*(-(nu2/(lambda + nu2)**(three/two)) +
 
664
     &            one/dsqrt(lambda + nu2))**two)/
 
665
     &            (one + nu/dsqrt(lambda + nu2))**five -
 
666
     &            (three*((three*nu3)/(lambda + nu2)**(five/two) -
 
667
     &            (three*nu)/(lambda + nu2)**(three/two)))/
 
668
     &            (one + nu/dsqrt(lambda + nu2))**four)))/
 
669
     &            (nine*(lambda + nu2)**three)
 
670
c
 
671
      d2Fxhse6 = two*zeta*(-(((D*(nu/dsqrt(lambda + nu2) +
 
672
     &            nu/dsqrt(nu2 + zeta)))/
 
673
     &            ((nu + dsqrt(lambda + nu2))*(dsqrt(lambda + nu2) +
 
674
     &            dsqrt(nu2 + zeta))**two) +
 
675
     &            (D*(one + nu/dsqrt(lambda + nu2)))/
 
676
     &         ((nu + dsqrt(lambda + nu2))**two*(dsqrt(lambda + nu2) +
 
677
     &            dsqrt(nu2 + zeta))))**two/
 
678
     &            (one - D/((nu + dsqrt(lambda + nu2))*
 
679
     &            (dsqrt(lambda + nu2) + dsqrt(nu2 + zeta))))**two) +
 
680
     &  ((-two*D*(nu/dsqrt(lambda + nu2) + nu/dsqrt(nu2 + zeta))**two)/
 
681
     &            ((nu + dsqrt(lambda + nu2))*(dsqrt(lambda + nu2) +
 
682
     &            dsqrt(nu2 + zeta))**three) +
 
683
     &            (D*(-(nu2/(lambda + nu2)**(three/two)) +
 
684
     &        one/dsqrt(lambda + nu2) - nu2/(nu2 + zeta)**(three/two) +
 
685
     &            one/dsqrt(nu2 + zeta)))/
 
686
     &            ((nu + dsqrt(lambda + nu2))*(dsqrt(lambda + nu2) +
 
687
     &            dsqrt(nu2 + zeta))**two) -
 
688
     &            (two*D*(one + nu/dsqrt(lambda + nu2))*
 
689
     &            (nu/dsqrt(lambda + nu2) + nu/dsqrt(nu2 + zeta)))/
 
690
     &        ((nu + dsqrt(lambda + nu2))**two*(dsqrt(lambda + nu2) +
 
691
     &            dsqrt(nu2 + zeta))**two) -
 
692
     &            (two*D*(one + nu/dsqrt(lambda + nu2))**two)/
 
693
     &        ((nu + dsqrt(lambda + nu2))**three*(dsqrt(lambda + nu2) +
 
694
     &            dsqrt(nu2 + zeta))) +
 
695
     &            (D*(-(nu2/(lambda + nu2)**(three/two)) +
 
696
     &            one/dsqrt(lambda + nu2)))/
 
697
     &          ((nu + dsqrt(lambda + nu2))**two*(dsqrt(lambda + nu2) +
 
698
     &            dsqrt(nu2 + zeta))))/
 
699
     &            (one - D/((nu + dsqrt(lambda + nu2))*
 
700
     &            (dsqrt(lambda + nu2) + dsqrt(nu2 + zeta)))))
 
701
c
 
702
      d2Fxhse7 = -two*eta*(-((((-A + D)*(nu/dsqrt(eta + nu2) +
 
703
     &            nu/dsqrt(lambda + nu2)))/
 
704
     &            ((nu + dsqrt(lambda + nu2))*(dsqrt(eta + nu2) +
 
705
     &            dsqrt(lambda + nu2))**two) +
 
706
     &            ((-A + D)*(one + nu/dsqrt(lambda + nu2)))/
 
707
     &            ((nu + dsqrt(lambda + nu2))**two*(dsqrt(eta + nu2) +
 
708
     &            dsqrt(lambda + nu2))))**two/
 
709
     & (one - (-A + D)/((nu + dsqrt(lambda + nu2))*(dsqrt(eta + nu2) +
 
710
     &            dsqrt(lambda + nu2))))**two) +
 
711
     &            ((-two*(-A + D)*(nu/dsqrt(eta + nu2) +
 
712
     &            nu/dsqrt(lambda + nu2))**two)/
 
713
     &            ((nu + dsqrt(lambda + nu2))*(dsqrt(eta + nu2) +
 
714
     &            dsqrt(lambda + nu2))**three) -
 
715
     &            (two*(-A + D)*(one + nu/dsqrt(lambda + nu2))*
 
716
     &            (nu/dsqrt(eta + nu2) + nu/dsqrt(lambda + nu2)))/
 
717
     &            ((nu + dsqrt(lambda + nu2))**two*(dsqrt(eta + nu2) +
 
718
     &            dsqrt(lambda + nu2))**two) +
 
719
     &            ((-A + D)*(-(nu2/(eta + nu2)**(three/two)) +
 
720
     &        one/dsqrt(eta + nu2) - nu2/(lambda + nu2)**(three/two) +
 
721
     &            one/dsqrt(lambda + nu2)))/
 
722
     &            ((nu + dsqrt(lambda + nu2))*(dsqrt(eta + nu2) +
 
723
     &            dsqrt(lambda + nu2))**two) -
 
724
     &            (two*(-A + D)*(one + nu/dsqrt(lambda + nu2))**two)/
 
725
     &          ((nu + dsqrt(lambda + nu2))**three*(dsqrt(eta + nu2) +
 
726
     &            dsqrt(lambda + nu2))) +
 
727
     &            ((-A + D)*(-(nu2/(lambda + nu2)**(three/two)) +
 
728
     &            one/dsqrt(lambda + nu2)))/
 
729
     &            ((nu + dsqrt(lambda + nu2))**two*(dsqrt(eta + nu2) +
 
730
     &            dsqrt(lambda + nu2))))/
 
731
     &            (one - (-A + D)/((nu + dsqrt(lambda + nu2))*
 
732
     &            (dsqrt(eta + nu2) + dsqrt(lambda + nu2)))))
 
733
c
 
734
      d02Fxhse = d2Fxhse1+d2Fxhse2+d2Fxhse3+d2Fxhse4+d2Fxhse5+d2Fxhse6+
 
735
     &           d2Fxhse7
 
736
c
 
737
c
 
738
c     Calculate the mixed partial derivative of the enhancement factor 
 
739
c     with respect to both the reduced density gradient, s, and the 
 
740
c     parameter nu (cam_omega/kF).  Note that the enhancement factor
 
741
c     satisfies continuity requirements and therefore it does not matter
 
742
c     what order the derivatives are taken in.
 
743
c     
 
744
      nu4 = nu3*nu
 
745
c
 
746
      d11Fxhse1 = (A*(nu*zeta**three*d1eta - two*nu2*(nu2 + eta)*
 
747
     &           (eta + two*nu*(nu + dsqrt(nu2 + eta)))*
 
748
     &           (nu + dsqrt(nu2 + zeta))*d1zeta +
 
749
     &           nu*(eta + two*nu*(nu + dsqrt(nu2 + eta)))*zeta*
 
750
     &        (nu*(nu + dsqrt(nu2 + zeta))*d1eta - (nu2 + eta)*d1zeta) +
 
751
     &           zeta**two*((eta*(nu + dsqrt(nu2 + zeta)) +
 
752
     &          nu*(three*nu2 + two*dsqrt(nu2 + eta)*dsqrt(nu2 + zeta) +
 
753
     &           two*nu*(dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))))*
 
754
     &           d1eta + (nu2 + eta)*(nu + dsqrt(nu2 + eta))*d1zeta)))/
 
755
     &           (two*(nu2 + eta)**(f32)*(nu2 + zeta)**(f32)*
 
756
     &            (nu + dsqrt(nu2 + zeta))**two*
 
757
     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))**two)
 
758
c
 
759
      d11Fxhse2 = (A*((-nu2 - zeta)*
 
760
     &            (-(eta**two*(nu + dsqrt(nu2 + zeta))) +
 
761
     &            nu*eta*(zeta + two*nu*(nu + dsqrt(nu2 + zeta))) +
 
762
     &            two*nu2*(nu + dsqrt(nu2 + eta))*(zeta +
 
763
     &            two*nu*(nu + dsqrt(nu2 + zeta))))*d1eta +
 
764
     &            eta*(nu2 + eta)*(nu*eta + (nu + dsqrt(nu2 + eta))*
 
765
     &            (zeta + two*nu*(nu + dsqrt(nu2 + zeta))))*d1zeta))/
 
766
     &            (two*(nu2 + eta)**(f32)*(nu + dsqrt(nu2 + eta))**two*
 
767
     &            (nu2 + zeta)**(f32)*
 
768
     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))**two)
 
769
c
 
770
      d11Fxhse3 = (-two*B*(two*nu2*(nu + dsqrt(nu2 + lambda)) +
 
771
     &            lambda*(two*nu + dsqrt(nu2 + lambda)))*d1lambda)/
 
772
     &            (three*(nu2 + lambda)**three*
 
773
     &            (nu + dsqrt(nu2 + lambda))**two)
 
774
c
 
775
      d11Fxhse4 = (C*(two*(nu2 + lambda)*d1Fs - five*Fs*d1lambda))/
 
776
     &            (three*(nu2 + lambda)**(f72))
 
777
c
 
778
      d11Fxhse5 = (five*(eight*nu4*(nu + dsqrt(nu2 + lambda)) +
 
779
     &         lambda**two*(four*nu + dsqrt(nu2 + lambda)) +
 
780
     &            four*nu2*lambda*(three*nu + two*dsqrt(nu2 + lambda)))*
 
781
     &            (two*(nu2 + lambda)*d1EGs - seven*EGs*d1lambda))/
 
782
     &       (six*(nu2 + lambda)**five*(nu + dsqrt(nu2 + lambda))**four)
 
783
c
 
784
      d11Fxhse6 = (D*((-nu - two*dsqrt(nu2 + lambda))*zeta**three*
 
785
     &            d1lambda +
 
786
     &            two*nu2*(nu2 + lambda)*(-D + lambda + two*nu*
 
787
     &            (nu + dsqrt(nu2 + lambda)))*(nu + dsqrt(nu2 + zeta))*
 
788
     &            d1zeta + zeta**two*((D*(nu + dsqrt(nu2 + zeta)) -
 
789
     &            three*lambda*(nu + dsqrt(nu2 + zeta)) -
 
790
     &            nu*(five*nu2 + six*nu*dsqrt(nu2 + lambda) +
 
791
     &            four*nu*dsqrt(nu2 + zeta) + four*dsqrt(nu2 + lambda)*
 
792
     &            dsqrt(nu2 + zeta)))*
 
793
     &   d1lambda + (nu2 + lambda)*(nu + dsqrt(nu2 + lambda))*d1zeta) +
 
794
     &            zeta*(-(nu2*(-D + three*lambda + four*nu*
 
795
     & (nu + dsqrt(nu2 + lambda)))*(nu + dsqrt(nu2 + zeta))*d1lambda) +
 
796
     &            (nu2 + lambda)*(two*nu*(nu + dsqrt(nu2 + lambda))*
 
797
     &            (two*nu + dsqrt(nu2 + zeta)) -
 
798
     &            D*(nu + two*dsqrt(nu2 + zeta)) +
 
799
     &            lambda*(nu + two*dsqrt(nu2 + zeta)))*d1zeta)))/
 
800
     &            ((nu2 + lambda)**(f32)*(nu2 + zeta)**(f32)*
 
801
     &            (-D + lambda + (nu + dsqrt(nu2 + lambda))*
 
802
     &            (nu + dsqrt(nu2 + zeta)))**two)
 
803
c
 
804
      d11Fxhse7 = ((A - D)*((nu2 + lambda)*(eta**two*
 
805
     &            (nu + dsqrt(nu2 + lambda)) +
 
806
     &            two*nu2*(nu + dsqrt(nu2 + eta))*
 
807
     &        (A - D + two*nu2 + lambda + two*nu*dsqrt(nu2 + lambda)) +
 
808
     &           eta*(A*nu - D*nu + four*nu3 + two*A*dsqrt(nu2 + eta) -
 
809
     &            two*D*dsqrt(nu2 + eta) + two*nu2*dsqrt(nu2 + eta) +
 
810
     &            (nu + two*dsqrt(nu2 + eta))*lambda +
 
811
     &            four*nu2*dsqrt(nu2 + lambda) +
 
812
     &            two*nu*dsqrt(nu2 + eta)*dsqrt(nu2 + lambda)))*d1eta -
 
813
     &            eta*(nu2 + eta)*
 
814
     &            (eta*(nu + two*dsqrt(nu2 + lambda)) +
 
815
     &            (nu + dsqrt(nu2 + eta))*
 
816
     &            (A - D + four*nu2 + three*lambda +
 
817
     &            four*nu*dsqrt(nu2 + lambda)))*d1lambda))/
 
818
     &            ((nu2 + eta)**(f32)*(nu2 + lambda)**(f32)*
 
819
     &            (A - D + nu2 + nu*dsqrt(nu2 + eta) +
 
820
     &            lambda + nu*dsqrt(nu2 + lambda) +
 
821
     &            dsqrt(nu2 + eta)*dsqrt(nu2 + lambda))**two)
 
822
c
 
823
c
 
824
c      d11Fxhse1 = (A*zeta*(nu/dsqrt(nu2 + eta) +
 
825
c     &            nu/dsqrt(nu2 + zeta))*d1zeta)/
 
826
c     &      (two*dsqrt(nu2 + zeta)*(nu + dsqrt(nu2 + zeta))**two*
 
827
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))**two) -
 
828
c     &   (A*(nu/dsqrt(nu2 + eta) + nu/dsqrt(nu2 + zeta))*d1zeta)/
 
829
c     &            ((nu + dsqrt(nu2 + zeta))*(dsqrt(nu2 + eta) +
 
830
c     &            dsqrt(nu2 + zeta))**two) +
 
831
c     &            (A*zeta*(one + nu/dsqrt(nu2 + zeta))*d1zeta)/
 
832
c     &            (dsqrt(nu2 + zeta)*(nu + dsqrt(nu2 + zeta))**three*
 
833
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))) +
 
834
c     &            (A*nu*zeta*d1zeta)/
 
835
c     & (two*(nu2 + zeta)**(three/two)*(nu + dsqrt(nu2 + zeta))**two*
 
836
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))) -
 
837
c     &            (A*(one + nu/dsqrt(nu2 + zeta))*d1zeta)/
 
838
c     &            ((nu + dsqrt(nu2 + zeta))**two*(dsqrt(nu2 + eta) +
 
839
c     &            dsqrt(nu2 + zeta))) -
 
840
c     &            (A*zeta*(-(nu*d1eta)/(two*(nu2 + eta)**(three/two)) -
 
841
c     &            (nu*d1zeta)/(two*(nu2 + zeta)**(three/two))))/
 
842
c     &            ((nu + dsqrt(nu2 + zeta))*(dsqrt(nu2 + eta) +
 
843
c     &            dsqrt(nu2 + zeta))**two) +
 
844
c     &        (two*A*zeta*(nu/dsqrt(nu2 + eta) + nu/dsqrt(nu2 + zeta))*
 
845
c     &            (d1eta/(two*dsqrt(nu2 + eta)) +
 
846
c     &            d1zeta/(two*dsqrt(nu2 + zeta))))/
 
847
c     &            ((nu + dsqrt(nu2 + zeta))*(dsqrt(nu2 + eta) +
 
848
c     &            dsqrt(nu2 + zeta))**three) +
 
849
c     &            (A*zeta*(one + nu/dsqrt(nu2 + zeta))*
 
850
c     &            (d1eta/(two*dsqrt(nu2 + eta)) +
 
851
c     &            d1zeta/(two*dsqrt(nu2 + zeta))))/
 
852
c     &            ((nu + dsqrt(nu2 + zeta))**two*(dsqrt(nu2 + eta) +
 
853
c     &            dsqrt(nu2 + zeta))**two)
 
854
c
 
855
c      d11Fxhse2 = (A*eta*(nu/dsqrt(nu2 + eta) +
 
856
c     &            nu/dsqrt(nu2 + zeta))*d1eta)/
 
857
c     &            (two*dsqrt(nu2 + eta)*(nu + dsqrt(nu2 + eta))**two*
 
858
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))**two) -
 
859
c     &        (A*(nu/dsqrt(nu2 + eta) + nu/dsqrt(nu2 + zeta))*d1eta)/
 
860
c     &            ((nu + dsqrt(nu2 + eta))*(dsqrt(nu2 + eta) +
 
861
c     &            dsqrt(nu2 + zeta))**two) +
 
862
c     &            (A*eta*(one + nu/dsqrt(nu2 + eta))*d1eta)/
 
863
c     &            (dsqrt(nu2 + eta)*(nu + dsqrt(nu2 + eta))**three*
 
864
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))) +
 
865
c     &            (A*nu*eta*d1eta)/
 
866
c     &    (two*(nu2 + eta)**(three/two)*(nu + dsqrt(nu2 + eta))**two*
 
867
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + zeta))) -
 
868
c     &            (A*(one + nu/dsqrt(nu2 + eta))*d1eta)/
 
869
c     &            ((nu + dsqrt(nu2 + eta))**two*(dsqrt(nu2 + eta) +
 
870
c     &            dsqrt(nu2 + zeta))) -
 
871
c     &            (A*eta*(-(nu*d1eta)/(two*(nu2 + eta)**(three/two)) -
 
872
c     &            (nu*d1zeta)/(two*(nu2 + zeta)**(three/two))))/
 
873
c     &            ((nu + dsqrt(nu2 + eta))*(dsqrt(nu2 + eta) +
 
874
c     &            dsqrt(nu2 + zeta))**two) +
 
875
c     &        (two*A*eta*(nu/dsqrt(nu2 + eta) + nu/dsqrt(nu2 + zeta))*
 
876
c     &            (d1eta/(two*dsqrt(nu2 + eta)) +
 
877
c     &            d1zeta/(two*dsqrt(nu2 + zeta))))/
 
878
c     &            ((nu + dsqrt(nu2 + eta))*(dsqrt(nu2 + eta) +
 
879
c     &            dsqrt(nu2 + zeta))**three) +
 
880
c     &            (A*eta*(one + nu/dsqrt(nu2 + eta))*
 
881
c     &            (d1eta/(two*dsqrt(nu2 + eta)) +
 
882
c     &            d1zeta/(two*dsqrt(nu2 + zeta))))/
 
883
c     &            ((nu + dsqrt(nu2 + eta))**two*(dsqrt(nu2 + eta) +
 
884
c     &            dsqrt(nu2 + zeta))**two)
 
885
c
 
886
c      d11Fxhse3 = (four*B*nu*(-(nu2/(nu2 + lambda)**(three/two)) +
 
887
c     &            one/dsqrt(nu2 + lambda))*d1lambda)/
 
888
c     &            (nine*(nu2 + lambda)**(five/two)*
 
889
c     &            (one + nu/dsqrt(nu2 + lambda))**three) +
 
890
c     &        (four*B*nu2*d1lambda)/(nine*(nu2 + lambda)**(seven/two)*
 
891
c     &            (one + nu/dsqrt(nu2 + lambda))**two) -
 
892
c     &            (four*B*(-(nu2/(nu2 + lambda)**(three/two)) +
 
893
c     &            one/dsqrt(nu2 + lambda))*d1lambda)/
 
894
c     &            (nine*(nu2 + lambda)**two*
 
895
c     &            (one + nu/dsqrt(nu2 + lambda))**two) -
 
896
c     &            (r16*B*nu*d1lambda)/(nine*(nu2 + lambda)**three*
 
897
c     &            (one + nu/dsqrt(nu2 + lambda))) +
 
898
c     &            (four*B*((three*nu2*d1lambda)/
 
899
c     &            (two*(nu2 + lambda)**(five/two)) -
 
900
c     &            d1lambda/(two*(nu2 + lambda)**(three/two))))/
 
901
c     &       (nine*(nu2 + lambda)*(one + nu/dsqrt(nu2 + lambda))**two)
 
902
c
 
903
c      d11Fxhse4 = (eight*C*(-(nu2/(nu2 + lambda)**(three/two)) +
 
904
c     &            one/dsqrt(nu2 + lambda))*
 
905
c     &            (one + nu/(two*dsqrt(nu2 + lambda)))*d1Fs)/
 
906
c     &            (nine*(nu2 + lambda)**two*
 
907
c     &            (one + nu/dsqrt(nu2 + lambda))**three) -
 
908
c     &            (four*C*(-nu2/(two*(nu2 + lambda)**(three/two)) +
 
909
c     &            one/(two*dsqrt(nu2 + lambda)))*d1Fs)/
 
910
c     &            (nine*(nu2 + lambda)**two*
 
911
c     &            (one + nu/dsqrt(nu2 + lambda))**two) +
 
912
c     &            (r16*C*nu*(one + nu/(two*dsqrt(nu2 + lambda)))*d1Fs)/
 
913
c     &            (nine*(nu2 + lambda)**three*
 
914
c     &            (one + nu/dsqrt(nu2 + lambda))**two) +
 
915
c     &            (four*C*nu*Fs*(-(nu2/(nu2 + lambda)**(three/two)) +
 
916
c     &            one/dsqrt(nu2 + lambda))*(one + nu/
 
917
c     &            (two*dsqrt(nu2 + lambda)))*
 
918
c     &            d1lambda)/(three*(nu2 + lambda)**(seven/two)*
 
919
c     &            (one + nu/dsqrt(nu2 + lambda))**four) -
 
920
c     &          (four*C*nu*Fs*(-nu2/(two*(nu2 + lambda)**(three/two)) +
 
921
c     &            one/(two*dsqrt(nu2 + lambda)))*d1lambda)/
 
922
c     &            (nine*(nu2 + lambda)**(seven/two)*
 
923
c     &            (one + nu/dsqrt(nu2 + lambda))**three) -
 
924
c     &            (two*C*nu*Fs*(-(nu2/(nu2 + lambda)**(three/two)) +
 
925
c     &            one/dsqrt(nu2 + lambda))*d1lambda)/
 
926
c     &            (nine*(nu2 + lambda)**(seven/two)*
 
927
c     &            (one + nu/dsqrt(nu2 + lambda))**three) +
 
928
c     &    (r16*C*nu2*Fs*(one + nu/(two*dsqrt(nu2 + lambda)))*d1lambda)/
 
929
c     &            (nine*(nu2 + lambda)**(nine/two)*
 
930
c     &            (one + nu/dsqrt(nu2 + lambda))**three) -
 
931
c     &            (r16*C*Fs*(-(nu2/(nu2 + lambda)**(three/two)) +
 
932
c     &   one/dsqrt(nu2 + lambda))*(one + nu/(two*dsqrt(nu2 + lambda)))*
 
933
c     &            d1lambda)/(nine*(nu2 + lambda)**three*
 
934
c     &            (one + nu/dsqrt(nu2 + lambda))**three) -
 
935
c     &       (four*C*nu2*Fs*d1lambda)/(nine*(nu2 + lambda)**(nine/two)*
 
936
c     &            (one + nu/dsqrt(nu2 + lambda))**two) +
 
937
c     &            (eight*C*Fs*(-nu2/(two*(nu2 + lambda)**(three/two)) +
 
938
c     &            one/(two*dsqrt(nu2 + lambda)))*d1lambda)/
 
939
c     &            (nine*(nu2 + lambda)**three*
 
940
c     &            (one + nu/dsqrt(nu2 + lambda))**two) -
 
941
c     &     (r16*C*nu*Fs*(one + nu/(two*dsqrt(nu2 + lambda)))*d1lambda)/
 
942
c     &            (three*(nu2 + lambda)**four*
 
943
c     &            (one + nu/dsqrt(nu2 + lambda))**two) +
 
944
c     &            (eight*C*Fs*(one + nu/(two*dsqrt(nu2 + lambda)))*
 
945
c     &         ((three*nu2*d1lambda)/(two*(nu2 + lambda)**(five/two)) -
 
946
c     &            d1lambda/(two*(nu2 + lambda)**(three/two))))/
 
947
c     &            (nine*(nu2 + lambda)**two*
 
948
c     &            (one + nu/dsqrt(nu2 + lambda))**three) -
 
949
c     &            (four*C*Fs*((three*nu2*d1lambda)/
 
950
c     &            (four*(nu2 + lambda)**(five/two)) -
 
951
c     &            d1lambda/(four*(nu2 + lambda)**(three/two))))/
 
952
c     &            (nine*(nu2 + lambda)**two*
 
953
c     &            (one + nu/dsqrt(nu2 + lambda))**two)
 
954
c
 
955
c      d11Fxhse5 = (-eight*((-three*nu3)/(four*(nu2 + lambda)**two) -
 
956
c     &            (nine*nu2)/(eight*(nu2 + lambda)**(three/two)) +
 
957
c     &            (three*nu)/(four*(nu2 + lambda)) +
 
958
c     &            nine/(eight*dsqrt(nu2 + lambda)))*d1EGs)/
 
959
c     &            (nine*(nu2 + lambda)**three*
 
960
c     &            (one + nu/dsqrt(nu2 + lambda))**three) +
 
961
c     &            (eight*(-(nu2/(nu2 + lambda)**(three/two)) +
 
962
c     &            one/dsqrt(nu2 + lambda))*
 
963
c     &            (one + (three*nu2)/(eight*(nu2 + lambda)) +
 
964
c     &            (nine*nu)/(eight*dsqrt(nu2 + lambda)))*d1EGs)/
 
965
c     &            (three*(nu2 + lambda)**three*
 
966
c     &            (one + nu/dsqrt(nu2 + lambda))**four) +
 
967
c     &            (r16*nu*(one + (three*nu2)/(eight*(nu2 + lambda)) +
 
968
c     &            (nine*nu)/(eight*dsqrt(nu2 + lambda)))*d1EGs)/
 
969
c     &            (three*(nu2 + lambda)**four*
 
970
c     &            (one + nu/dsqrt(nu2 + lambda))**three) -
 
971
c     &        (four*nu*EGs*((-three*nu3)/(four*(nu2 + lambda)**two) -
 
972
c     &            (nine*nu2)/(eight*(nu2 + lambda)**(three/two)) +
 
973
c     &            (three*nu)/(four*(nu2 + lambda)) +
 
974
c     &            nine/(eight*dsqrt(nu2 + lambda)))*d1lambda)/
 
975
c     &            (three*(nu2 + lambda)**(nine/two)*
 
976
c     &            (one + nu/dsqrt(nu2 + lambda))**four) +
 
977
c     &            (eight*EGs*((-three*nu3)/(four*(nu2 + lambda)**two) -
 
978
c     &            (nine*nu2)/(eight*(nu2 + lambda)**(three/two)) +
 
979
c     &            (three*nu)/(four*(nu2 + lambda)) +
 
980
c     &            nine/(eight*dsqrt(nu2 + lambda)))*d1lambda)/
 
981
c     &            (three*(nu2 + lambda)**four*
 
982
c     &            (one + nu/dsqrt(nu2 + lambda))**three) +
 
983
c     &            (r16*nu*EGs*(-(nu2/(nu2 + lambda)**(three/two)) +
 
984
c     &            one/dsqrt(nu2 + lambda))*
 
985
c     &            (one + (three*nu2)/(eight*(nu2 + lambda)) +
 
986
c     &            (nine*nu)/(eight*dsqrt(nu2 + lambda)))*d1lambda)/
 
987
c     &            (three*(nu2 + lambda)**(nine/two)*
 
988
c     &            (one + nu/dsqrt(nu2 + lambda))**five) +
 
989
c     &       (eight*nu2*EGs*(one + (three*nu2)/(eight*(nu2 + lambda)) +
 
990
c     &            (nine*nu)/(eight*dsqrt(nu2 + lambda)))*d1lambda)/
 
991
c     &            ((nu2 + lambda)**(r11/two)*
 
992
c     &            (one + nu/dsqrt(nu2 + lambda))**four) -
 
993
c     &            (eight*EGs*(-(nu2/(nu2 + lambda)**(three/two)) +
 
994
c     &            one/dsqrt(nu2 + lambda))*
 
995
c     &            (one + (three*nu2)/(eight*(nu2 + lambda)) +
 
996
c     &            (nine*nu)/(eight*dsqrt(nu2 + lambda)))*d1lambda)/
 
997
c     &    ((nu2 + lambda)**four*(one + nu/dsqrt(nu2 + lambda))**four) -
 
998
c     &          (r64*nu*EGs*(one + (three*nu2)/(eight*(nu2 + lambda)) +
 
999
c     &            (nine*nu)/(eight*dsqrt(nu2 + lambda)))*d1lambda)/
 
1000
c     &            (three*(nu2 + lambda)**five*
 
1001
c     &            (one + nu/dsqrt(nu2 + lambda))**three) -
 
1002
c     &            (eight*EGs*((three*nu3*d1lambda)/
 
1003
c     &            (two*(nu2 + lambda)**three) +
 
1004
c     &            (r27*nu2*d1lambda)/(r16*(nu2 + lambda)**(five/two)) -
 
1005
c     &            (three*nu*d1lambda)/(four*(nu2 + lambda)**two) -
 
1006
c     &            (nine*d1lambda)/(r16*(nu2 + lambda)**(three/two))))/
 
1007
c     &            (nine*(nu2 + lambda)**three*
 
1008
c     &            (one + nu/dsqrt(nu2 + lambda))**three) +
 
1009
c     &           (eight*EGs*(one + (three*nu2)/(eight*(nu2 + lambda)) +
 
1010
c     &            (nine*nu)/(eight*dsqrt(nu2 + lambda)))*
 
1011
c     &         ((three*nu2*d1lambda)/(two*(nu2 + lambda)**(five/two)) -
 
1012
c     &            d1lambda/(two*(nu2 + lambda)**(three/two))))/
 
1013
c     &            (three*(nu2 + lambda)**three*
 
1014
c     &            (one + nu/dsqrt(nu2 + lambda))**four) +
 
1015
c     &            (r16*nu*EGs*((-three*nu2*d1lambda)/
 
1016
c     &            (eight*(nu2 + lambda)**two) -
 
1017
c     &          (nine*nu*d1lambda)/(r16*(nu2 + lambda)**(three/two))))/
 
1018
c     &            (three*(nu2 + lambda)**four*
 
1019
c     &            (one + nu/dsqrt(nu2 + lambda))**three)
 
1020
c
 
1021
c      d11Fxhse6 = (two*((D*(nu/dsqrt(nu2 + lambda) +
 
1022
c     &            nu/dsqrt(nu2 + zeta)))/
 
1023
c     &            ((nu + dsqrt(nu2 + lambda))*(dsqrt(nu2 + lambda) +
 
1024
c     &            dsqrt(nu2 + zeta))**two) +
 
1025
c     &            (D*(one + nu/dsqrt(nu2 + lambda)))/
 
1026
c     &       ((nu + dsqrt(nu2 + lambda))**two*(dsqrt(nu2 + lambda) +
 
1027
c     &            dsqrt(nu2 + zeta))))*
 
1028
c     &            d1zeta)/(one - D/((nu + dsqrt(nu2 + lambda))*
 
1029
c     &            (dsqrt(nu2 + lambda) + dsqrt(nu2 + zeta)))) +
 
1030
c     &            (two*zeta*(-(D*(nu/dsqrt(nu2 + lambda) +
 
1031
c     &            nu/dsqrt(nu2 + zeta))*d1lambda)/
 
1032
c     &      (two*dsqrt(nu2 + lambda)*(nu + dsqrt(nu2 + lambda))**two*
 
1033
c     &            (dsqrt(nu2 + lambda) + dsqrt(nu2 + zeta))**two) -
 
1034
c     &            (D*(one + nu/dsqrt(nu2 + lambda))*d1lambda)/
 
1035
c     &        (dsqrt(nu2 + lambda)*(nu + dsqrt(nu2 + lambda))**three*
 
1036
c     &            (dsqrt(nu2 + lambda) + dsqrt(nu2 + zeta))) -
 
1037
c     &            (D*nu*d1lambda)/
 
1038
c     &            (two*(nu2 + lambda)**(three/two)*
 
1039
c     &           (nu + dsqrt(nu2 + lambda))**two*(dsqrt(nu2 + lambda) +
 
1040
c     &            dsqrt(nu2 + zeta))) +
 
1041
c     &           (D*(-(nu*d1lambda)/(two*(nu2 + lambda)**(three/two)) -
 
1042
c     &            (nu*d1zeta)/(two*(nu2 + zeta)**(three/two))))/
 
1043
c     &            ((nu + dsqrt(nu2 + lambda))*(dsqrt(nu2 + lambda) +
 
1044
c     &            dsqrt(nu2 + zeta))**two) -
 
1045
c     &          (two*D*(nu/dsqrt(nu2 + lambda) + nu/dsqrt(nu2 + zeta))*
 
1046
c     &            (d1lambda/(two*dsqrt(nu2 + lambda)) +
 
1047
c     &            d1zeta/(two*dsqrt(nu2 + zeta))))/
 
1048
c     &            ((nu + dsqrt(nu2 + lambda))*(dsqrt(nu2 + lambda) +
 
1049
c     &            dsqrt(nu2 + zeta))**three) -
 
1050
c     &            (D*(one + nu/dsqrt(nu2 + lambda))*
 
1051
c     &            (d1lambda/(two*dsqrt(nu2 + lambda)) +
 
1052
c     &            d1zeta/(two*dsqrt(nu2 + zeta))))/
 
1053
c     &          ((nu + dsqrt(nu2 + lambda))**two*(dsqrt(nu2 + lambda) +
 
1054
c     &            dsqrt(nu2 + zeta))**two)))/
 
1055
c     &            (one - D/((nu + dsqrt(nu2 + lambda))*
 
1056
c     &            (dsqrt(nu2 + lambda) + dsqrt(nu2 + zeta)))) -
 
1057
c     &            (two*zeta*((D*(nu/dsqrt(nu2 + lambda) +
 
1058
c     &            nu/dsqrt(nu2 + zeta)))/
 
1059
c     &            ((nu + dsqrt(nu2 + lambda))*(dsqrt(nu2 + lambda) +
 
1060
c     &            dsqrt(nu2 + zeta))**two) +
 
1061
c     &            (D*(one + nu/dsqrt(nu2 + lambda)))/
 
1062
c     &          ((nu + dsqrt(nu2 + lambda))**two*(dsqrt(nu2 + lambda) +
 
1063
c     &            dsqrt(nu2 + zeta))))*
 
1064
c     &            ((D*d1lambda)/
 
1065
c     &        (two*dsqrt(nu2 + lambda)*(nu + dsqrt(nu2 + lambda))**two*
 
1066
c     &            (dsqrt(nu2 + lambda) + dsqrt(nu2 + zeta))) +
 
1067
c     &            (D*(d1lambda/(two*dsqrt(nu2 + lambda)) +
 
1068
c     &            d1zeta/(two*dsqrt(nu2 + zeta))))/
 
1069
c     &            ((nu + dsqrt(nu2 + lambda))*(dsqrt(nu2 + lambda) +
 
1070
c     &            dsqrt(nu2 + zeta))**two)))/
 
1071
c     &            (one - D/((nu + dsqrt(nu2 + lambda))*
 
1072
c     &            (dsqrt(nu2 + lambda) + dsqrt(nu2 + zeta))))**two
 
1073
c
 
1074
c      d11Fxhse7 = (-two*(((-A + D)*(nu/dsqrt(nu2 + eta) +
 
1075
c     &            nu/dsqrt(nu2 + lambda)))/
 
1076
c     &            ((nu + dsqrt(nu2 + lambda))*
 
1077
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))**two) +
 
1078
c     &            ((-A + D)*(one + nu/dsqrt(nu2 + lambda)))/
 
1079
c     &            ((nu + dsqrt(nu2 + lambda))**two*(dsqrt(nu2 + eta) +
 
1080
c     &            dsqrt(nu2 + lambda))))*d1eta)/(one - (-A + D)/
 
1081
c     &            ((nu + dsqrt(nu2 + lambda))*
 
1082
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda)))) -
 
1083
c     &            (two*eta*(-((-A + D)*(nu/dsqrt(nu2 + eta) +
 
1084
c     &            nu/dsqrt(nu2 + lambda))*d1lambda)/
 
1085
c     &       (two*dsqrt(nu2 + lambda)*(nu + dsqrt(nu2 + lambda))**two*
 
1086
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))**two) -
 
1087
c     &            ((-A + D)*(one + nu/dsqrt(nu2 + lambda))*d1lambda)/
 
1088
c     &         (dsqrt(nu2 + lambda)*(nu + dsqrt(nu2 + lambda))**three*
 
1089
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))) -
 
1090
c     &            ((-A + D)*nu*d1lambda)/
 
1091
c     &            (two*(nu2 + lambda)**(three/two)*
 
1092
c     &            (nu + dsqrt(nu2 + lambda))**two*
 
1093
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))) +
 
1094
c     &         ((-A + D)*(-(nu*d1eta)/(two*(nu2 + eta)**(three/two)) -
 
1095
c     &            (nu*d1lambda)/(two*(nu2 + lambda)**(three/two))))/
 
1096
c     &            ((nu + dsqrt(nu2 + lambda))*
 
1097
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))**two) -
 
1098
c     &            (two*(-A + D)*(nu/dsqrt(nu2 + eta) +
 
1099
c     &            nu/dsqrt(nu2 + lambda))*
 
1100
c     &            (d1eta/(two*dsqrt(nu2 + eta)) +
 
1101
c     &            d1lambda/(two*dsqrt(nu2 + lambda))))/
 
1102
c     &            ((nu + dsqrt(nu2 + lambda))*
 
1103
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))**three) -
 
1104
c     &            ((-A + D)*(one + nu/dsqrt(nu2 + lambda))*
 
1105
c     &            (d1eta/(two*dsqrt(nu2 + eta)) +
 
1106
c     &            d1lambda/(two*dsqrt(nu2 + lambda))))/
 
1107
c     &            ((nu + dsqrt(nu2 + lambda))**two*(dsqrt(nu2 + eta) +
 
1108
c     &            dsqrt(nu2 + lambda))**two)))/
 
1109
c     &            (one - (-A + D)/((nu + dsqrt(nu2 + lambda))*
 
1110
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda)))) +
 
1111
c     &            (two*eta*(((-A + D)*(nu/dsqrt(nu2 + eta) +
 
1112
c     &            nu/dsqrt(nu2 + lambda)))/
 
1113
c     &            ((nu + dsqrt(nu2 + lambda))*(dsqrt(nu2 + eta) +
 
1114
c     &            dsqrt(nu2 + lambda))**two) +
 
1115
c     &            ((-A + D)*(one + nu/dsqrt(nu2 + lambda)))/
 
1116
c     &            ((nu + dsqrt(nu2 + lambda))**two*
 
1117
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))))*
 
1118
c     &            (((-A + D)*d1lambda)/
 
1119
c     &       (two*dsqrt(nu2 + lambda)*(nu + dsqrt(nu2 + lambda))**two*
 
1120
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))) +
 
1121
c     &            ((-A + D)*(d1eta/(two*dsqrt(nu2 + eta)) +
 
1122
c     &            d1lambda/(two*dsqrt(nu2 + lambda))))/
 
1123
c     &            ((nu + dsqrt(nu2 + lambda))*(dsqrt(nu2 + eta) +
 
1124
c     &            dsqrt(nu2 + lambda))**two)))/
 
1125
c     &            (one - (-A + D)/((nu + dsqrt(nu2 + lambda))*
 
1126
c     &            (dsqrt(nu2 + eta) + dsqrt(nu2 + lambda))))**two
 
1127
c
 
1128
c
 
1129
      d11Fxhse = d11Fxhse1+d11Fxhse2+d11Fxhse3+d11Fxhse4+d11Fxhse5+
 
1130
     &           d11Fxhse6+d11Fxhse7
 
1131
 
 
1132
#endif
 
1133
 
 
1134
      
 
1135
      end
 
1136
#ifndef SECOND_DERIV
 
1137
#define SECOND_DERIV
 
1138
c
 
1139
c     Compile source again for the 2nd derivative case
 
1140
c
 
1141
#include "nwxc_x_hse08.F"
 
1142
#endif
 
1143
c $Id: nwxc_x_hse08.F 23648 2013-02-27 21:52:25Z d3y133 $
 
1144
C> @}