@@ -54,6 +54,7 @@ subroutine hesian( NGdof, position, Mvol, mn, LGdof )
54
54
55
55
INTEGER :: vvol, idof, ii, mi, ni, irz, issym, isymdiff, lvol, ieval(1 :1 ), igdof, ifd
56
56
REAL :: oldEnergy(- 2 :2 ), error, cpul
57
+
57
58
REAL :: oldBB(1 :Mvol,- 2 :2 ), oBBdRZ(1 :Mvol,0 :1 ,1 :LGdof), ohessian(1 :NGdof,1 :NGdof)
58
59
59
60
REAL :: oRbc(1 :mn,0 :Mvol), oZbs(1 :mn,0 :Mvol), oRbs(1 :mn,0 :Mvol), oZbc(1 :mn,0 :Mvol), determinant
@@ -104,8 +105,10 @@ subroutine hesian( NGdof, position, Mvol, mn, LGdof )
104
105
105
106
xx(0 ,- 2 :2 )= zero
106
107
108
+
107
109
!- !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
108
- #ifdef MINIMIZE
110
+
111
+ #ifdef MINIMIZE
109
112
110
113
oldBB(1 :Mvol,0 ) = lBBintegral(1 :Mvol)
111
114
@@ -241,6 +244,7 @@ subroutine hesian( NGdof, position, Mvol, mn, LGdof )
241
244
LComputeAxis = .false.
242
245
WCALL( hesian, dforce, ( NGdof, position (0 :NGdof), force(0 :NGdof), LComputeDerivatives, LComputeAxis) ) ! calculate force-imbalance & hessian;
243
246
247
+
244
248
ohessian(1 :NGdof,1 :NGdof) = hessian2D(1 :NGdof,1 :NGdof) ! internal copy; 22 Apr 15;
245
249
246
250
@@ -263,7 +267,7 @@ subroutine hesian( NGdof, position, Mvol, mn, LGdof )
263
267
xx(0 ,- 2 :2 )= zero ; dRZ = 1.0E-04
264
268
265
269
write (svol,' (i3.3)' )myid
266
- ! open(lunit+myid,file="."// trim(ext)//".hessian."//svol,status="unknown")
270
+ ! open(lunit+myid,file=trim(get_hidden( ext) )//".hessian."//svol,status="unknown")
267
271
268
272
! lmu(1:Nvol) = mu(1:Nvol) ; lpflux(1:Nvol) = pflux(1:Nvol) ; lhelicity(1:Nvol) = helicity(1:Nvol) ! save original profile information; 20 Jun 14;
269
273
@@ -457,9 +461,9 @@ subroutine hesian( NGdof, position, Mvol, mn, LGdof )
457
461
! FATAL( global, .true., eigenvalue solver needs updating to F08NAF )
458
462
! #endif
459
463
call dgeev(' N' , JOB, NGdof, hessian2D(1 :LDA,1 :NGdof), LDA, evalr(1 :NGdof), evali(1 :NGdof), &
460
- evecl(1 :Ldvr,1 :NGdof), Ldvr, revecr(1 :Ldvr,1 :2 * NGdof), Ldvr, work(1 :Lwork), Lwork, if02ebf )
461
- evecr(1 :Ldvr,1 :NGdof) = revecr(1 :Ldvr,1 :NGdof)
462
- eveci(1 :Ldvr,1 :NGdof) = revecr(1 :Ldvr,NGdof+1 :2 * NGdof)
464
+ evecl(1 :Ldvr,1 :NGdof), Ldvr, revecr(1 :Ldvr,1 :2 * NGdof), Ldvr, work(1 :Lwork), Lwork, if02ebf )
465
+ evecr(1 :Ldvr,1 :NGdof) = revecr(1 :Ldvr,1 :NGdof)
466
+ eveci(1 :Ldvr,1 :NGdof) = revecr(1 :Ldvr,NGdof+1 :2 * NGdof)
463
467
464
468
if ( myid.eq. 0 ) then
465
469
cput = GETTIME
@@ -575,6 +579,7 @@ subroutine hesian( NGdof, position, Mvol, mn, LGdof )
575
579
576
580
!- !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!
577
581
582
+
578
583
if ( myid.eq. 0 ) then ! write to file; 04 Dec 14;
579
584
open (hunit, file= trim (get_hidden(ext))// " .GF.ev" , status= " unknown" , form= " unformatted" )
580
585
write (hunit) NGdof, Ldvr, Ldvi
0 commit comments