hdiff output

r31584/calc.Cv.f90 2016-12-05 17:30:12.461760369 +0000 r31583/calc.Cv.f90 2016-12-05 17:30:13.137768993 +0000
962: ENDDO962: ENDDO
963: !963: !
964: ! Final densities of states are calculated from direct pe, q bin visits if964: ! Final densities of states are calculated from direct pe, q bin visits if
965: ! available, and the values inferred from the fit otherwise.965: ! available, and the values inferred from the fit otherwise.
966: !966: !
967: ! Fitting range for q bin J1 includes gamma bins from967: ! Fitting range for q bin J1 includes gamma bins from
968: ! LOWESTDIRECT(J1) to NBINS.968: ! LOWESTDIRECT(J1) to NBINS.
969: ! There is no contribution to the fit if q bin j1 is never visited for any gamma.969: ! There is no contribution to the fit if q bin j1 is never visited for any gamma.
970: !970: !
971: EVAR(1:NBINS)=0.0D0971: EVAR(1:NBINS)=0.0D0
972: OPEN(UNIT=19,FILE='weights.2D.C')972: DO J2=1,NQBINS            ! J2 labels the PE bin we quench to
973: DO J2=1,NQBINS             ! J2 labels the PE bin we quench to 
974:     IF (ALLZEROQ(J2)) THEN ! no fit for this q bin - use direct visits only973:     IF (ALLZEROQ(J2)) THEN ! no fit for this q bin - use direct visits only
975:        DO J1=1,NBINS       ! J1 labels the PE bin we quenched from974:        DO J1=1,NBINS ! J1 labels the PE bin we quenched from
976:           IF (ALLZERO2(J1,J2)) CYCLE975:           IF (ALLZERO2(J1,J2)) CYCLE
977:           NCOUNT=VARMAP2(J1,J2)976:           NCOUNT=VARMAP2(J1,J2)
978:           EVAR(J1)=EVAR(J1)+EXP(OLDVAR(NCOUNT))977:           EVAR(J1)=EVAR(J1)+EXP(OLDVAR(NCOUNT))
979:           WRITE(19,'(2I8,3G20.10)') J2, J1, QENERGY(J2), ENERGY(J1), OLDVAR(NCOUNT) 
980:        ENDDO978:        ENDDO
981:     ELSE ! use a combination of extrapolated or direct visit results979:     ELSE ! use a combination of extrapolated or direct visit results
982:        DO J1=1,LOWESTDIRECT(J2)-1 ! interpolated values only available980:        DO J1=1,LOWESTDIRECT(J2)-1 ! interpolated values only available
983:           IF (ENERGY(J1)-QENERGY(J2).GT.0.0D0) THEN981:           IF (ENERGY(J1)-QENERGY(J2).GT.0.0D0) THEN
984:              EVAR(J1)=EVAR(J1)+EXP((KFAC+(ENERGY(J1)-QENERGY(J2))*EXP(FITA(J2))) &982:              EVAR(J1)=EVAR(J1)+EXP((KFAC+(ENERGY(J1)-QENERGY(J2))*EXP(FITA(J2))) &
985:   &                                           *LOG(ENERGY(J1)-QENERGY(J2))+FITB(J2))983:   &                                           *LOG(ENERGY(J1)-QENERGY(J2))+FITB(J2))
986:              WRITE(19,'(2I8,3G20.10)') J2, J1, QENERGY(J2), ENERGY(J1), (KFAC+(ENERGY(J1)-QENERGY(J2))*EXP(FITA(J2))) & 
987:   &                                           *LOG(ENERGY(J1)-QENERGY(J2))+FITB(J2) 
988:           ENDIF984:           ENDIF
989:        ENDDO985:        ENDDO
990: !      DO J1=LOWESTDIRECT(J2),(LOWESTDIRECT(J2)+BESTBINS(J2))/2986: !      DO J1=LOWESTDIRECT(J2),(LOWESTDIRECT(J2)+BESTBINS(J2))/2
991:        DO J1=LOWESTDIRECT(J2),BESTBINS(J2) ! range used for fit987:        DO J1=LOWESTDIRECT(J2),BESTBINS(J2) ! range used for fit
992:           FRACTION=(J1*1.0D0-LOWESTDIRECT(J2)*1.0D0)/(BESTBINS(J2)*1.0D0-LOWESTDIRECT(J2)*1.0D0)988:           FRACTION=(J1*1.0D0-LOWESTDIRECT(J2)*1.0D0)/(BESTBINS(J2)*1.0D0-LOWESTDIRECT(J2)*1.0D0)
993: !         IF ((SUMVISITS(J1,J2).GT.0).AND.(ENERGY(J1)-QENERGY(J2).GT.0.0D0)) THEN989: !         IF ((SUMVISITS(J1,J2).GT.0).AND.(ENERGY(J1)-QENERGY(J2).GT.0.0D0)) THEN
994:           IF (ENERGY(J1)-QENERGY(J2).GT.0.0D0) THEN 990:           IF (ENERGY(J1)-QENERGY(J2).GT.0.0D0) THEN 
995:              EVAR(J1)=EVAR(J1)+(1.0D0-FRACTION)*EXP((KFAC+(ENERGY(J1)-QENERGY(J2))*EXP(FITA(J2))) &991:              EVAR(J1)=EVAR(J1)+(1.0D0-FRACTION)*EXP((KFAC+(ENERGY(J1)-QENERGY(J2))*EXP(FITA(J2))) &
996:   &                                           *LOG(ENERGY(J1)-QENERGY(J2))+FITB(J2))992:   &                                           *LOG(ENERGY(J1)-QENERGY(J2))+FITB(J2))
997:           ENDIF993:           ENDIF
998:           NCOUNT=VARMAP2(J1,J2)994:           NCOUNT=VARMAP2(J1,J2)
999: ! 
1000: ! Is this fraction one when the above if block is not used? 
1001: ! 
1002:           EVAR(J1)=EVAR(J1)+FRACTION*EXP(OLDVAR(NCOUNT))995:           EVAR(J1)=EVAR(J1)+FRACTION*EXP(OLDVAR(NCOUNT))
1003:  
1004:           IF (ENERGY(J1)-QENERGY(J2).GT.0.0D0) THEN 
1005:              WRITE(19,'(2I8,3G20.10)') J2, J1, QENERGY(J2), ENERGY(J1), & 
1006:   &                          LOG( (1.0D0-FRACTION)*EXP((KFAC+(ENERGY(J1)-QENERGY(J2))*EXP(FITA(J2))) & 
1007:   &                                           *LOG(ENERGY(J1)-QENERGY(J2))+FITB(J2)) & 
1008:   &                               +FRACTION*EXP(OLDVAR(NCOUNT)) ) 
1009:           ENDIF 
1010:        ENDDO996:        ENDDO
1011: !      DO J1=(LOWESTDIRECT(J2)+BESTBINS(J2))/2+1,NBINS ! use direct visits above range of fit if available997: !      DO J1=(LOWESTDIRECT(J2)+BESTBINS(J2))/2+1,NBINS ! use direct visits above range of fit if available
1012: !      DO J1=LOWESTDIRECT(J2),NBINS ! use only direct visits above lowest direct998: !      DO J1=LOWESTDIRECT(J2),NBINS ! use only direct visits above lowest direct
1013:        DO J1=BESTBINS(J2)+1,NBINS ! use direct visits above range of fit if available999:        DO J1=BESTBINS(J2)+1,NBINS ! use direct visits above range of fit if available
1014:           IF (ALLZERO2(J1,J2)) CYCLE1000:           IF (ALLZERO2(J1,J2)) CYCLE
1015:           NCOUNT=VARMAP2(J1,J2)1001:           NCOUNT=VARMAP2(J1,J2)
1016:           EVAR(J1)=EVAR(J1)+EXP(OLDVAR(NCOUNT))1002:           EVAR(J1)=EVAR(J1)+EXP(OLDVAR(NCOUNT))
1017:           WRITE(19,'(2I8,3G20.10)') J2, J1, QENERGY(J2), ENERGY(J1), (KFAC+(ENERGY(J1)-QENERGY(J2))*EXP(FITA(J2))) & 
1018:   &                                           *LOG(ENERGY(J1)-QENERGY(J2))+FITB(J2) 
1019:        ENDDO1003:        ENDDO
1020:     ENDIF1004:     ENDIF
1021: ENDDO1005: ENDDO
1022: CLOSE(19) 
1023: 1006: 
1024: PRINT '(A)',' '1007: PRINT '(A)',' '
1025: PRINT '(A)','dumping pe bin, direct visits, bin energy, ln omega to weights.C'1008: PRINT '(A)','dumping pe bin, direct visits, bin energy, ln omega to weights.C'
1026: NCOUNT=01009: NCOUNT=0
1027: IF (ALLOCATED(VSUM)) DEALLOCATE(VSUM)1010: IF (ALLOCATED(VSUM)) DEALLOCATE(VSUM)
1028: ALLOCATE(VSUM(NBINS))1011: ALLOCATE(VSUM(NBINS))
1029: VSUM=SUM(VISITS,DIM=2)1012: VSUM=SUM(VISITS,DIM=2)
1030: OPEN(UNIT=1,FILE='weights.C',STATUS='UNKNOWN')1013: OPEN(UNIT=1,FILE='weights.C',STATUS='UNKNOWN')
1031: DO J1=1,NBINS1014: DO J1=1,NBINS
1032:    IF (EVAR(J1).NE.0.0D0) THEN1015:    IF (EVAR(J1).NE.0.0D0) THEN


r31584/Cv.HSA.f90 2016-12-05 17:30:11.965754026 +0000 r31583/Cv.HSA.f90 2016-12-05 17:30:12.797764668 +0000
 10: DOUBLE PRECISION, ALLOCATABLE :: ENERGY(:), LNFRQS(:), MEANE(:), ZSAVE(:), PERMINP(:), PERMINM(:) 10: DOUBLE PRECISION, ALLOCATABLE :: ENERGY(:), LNFRQS(:), MEANE(:), ZSAVE(:), PERMINP(:), PERMINM(:)
 11: INTEGER, ALLOCATABLE :: HORDER(:), MINP(:), MINM(:) 11: INTEGER, ALLOCATABLE :: HORDER(:), MINP(:), MINM(:)
 12: INTEGER J1, NTEMP, J2, KAPPA, NMIN, NPLUS, NMINUS 12: INTEGER J1, NTEMP, J2, KAPPA, NMIN, NPLUS, NMINUS
 13: LOGICAL YESNO 13: LOGICAL YESNO
 14:  14: 
 15: OPEN(UNIT=10,FILE='Cv.data',STATUS='OLD') 15: OPEN(UNIT=10,FILE='Cv.data',STATUS='OLD')
 16: READ(10,*) TMIN, TMAX, NTEMP, KAPPA, NMIN 16: READ(10,*) TMIN, TMAX, NTEMP, KAPPA, NMIN
 17: CLOSE(10) 17: CLOSE(10)
 18: ALLOCATE(MEANE(NTEMP),ZSAVE(NTEMP)) 18: ALLOCATE(MEANE(NTEMP),ZSAVE(NTEMP))
 19:  19: 
 20: PRINT '(3(A,I10))','minima=',NMIN 20: PRINT '(3(A,I4))','minima=',NMIN
 21: PRINT '(A,2G15.5,A,I8)','minimum and maximum T for Cv calculation=',TMIN,TMAX,' number of Cv data points=',NTEMP 21: PRINT '(A,2G15.5,A,I8)','minimum and maximum T for Cv calculation=',TMIN,TMAX,' number of Cv data points=',NTEMP
 22: PRINT '(A,I8)','number of degrees of freedom=',KAPPA 22: PRINT '(A,I8)','number of degrees of freedom=',KAPPA
 23:  23: 
 24: ALLOCATE(ENERGY(NMIN),HORDER(NMIN),LNFRQS(NMIN)) 24: ALLOCATE(ENERGY(NMIN),HORDER(NMIN),LNFRQS(NMIN))
 25:  25: 
 26: OPEN(UNIT=10,FILE='min.data',STATUS='OLD') 26: OPEN(UNIT=10,FILE='min.data',STATUS='OLD')
 27: DO J1=1,NMIN 27: DO J1=1,NMIN
 28:    READ(10,*) ENERGY(J1),LNFRQS(J1),HORDER(J1) 28:    READ(10,*) ENERGY(J1),LNFRQS(J1),HORDER(J1)
 29: ENDDO 29: ENDDO
 30: CLOSE(10) 30: CLOSE(10)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0