hdiff output

r26124/amber12_interface.F90 2017-03-30 13:30:07.336211087 +0100 r26123/amber12_interface.F90 2017-03-30 13:30:17.656348252 +0100
  6:   use prmtop_dat_mod  6:   use prmtop_dat_mod
  7:   use runfiles_mod  7:   use runfiles_mod
  8:   use runmd_mod  8:   use runmd_mod
  9:   use runmin_mod  9:   use runmin_mod
 10:  10: 
 11:   implicit none 11:   implicit none
 12:  12: 
 13: !****************************************************************************** 13: !******************************************************************************
 14: ! Types and parameters for representing AMBER12 atoms. 14: ! Types and parameters for representing AMBER12 atoms.
 15:   type amber12_atom 15:   type amber12_atom
  16:     sequence
 16:     character (len = 4)    :: name 17:     character (len = 4)    :: name
 17:     double precision       :: charge 18:     double precision       :: charge
 18:     double precision       :: mass 19:     double precision       :: mass
 19:     integer                :: res_index 20:     integer                :: res_index
 20:     character (len = 4)    :: res_name 21:     character (len = 4)    :: res_name
 21:     integer                :: type_index 22:     integer                :: type_index
 22:     character (len = 4)    :: atom_type 23:     character (len = 4)    :: atom_type
 23:     character (len = 4)    :: tree_class 24:     character (len = 4)    :: tree_class
 24:     double precision       :: gb_radii 25:     double precision       :: gb_radii
 25:     double precision       :: gb_screen 26:     double precision       :: gb_screen
 26:   end type amber12_atom 27:   end type amber12_atom
 27:  28: 
 28:   integer, parameter                   :: amber12_atom_size = 10 29:   integer, parameter                   :: amber12_atom_size = 10
 29: !****************************************************************************** 30: !******************************************************************************
 30:  31: 
 31: !****************************************************************************** 32: !******************************************************************************
 32: ! Types and parameters for representing AMBER12 residues. 33: ! Types and parameters for representing AMBER12 residues.
 33:   type amber12_residue 34:   type amber12_residue
  35:     sequence
 34:     character (len = 4)                :: name 36:     character (len = 4)                :: name
 35:     integer                            :: num_atoms 37:     integer                            :: num_atoms
 36:     type(amber12_atom), dimension(100) :: atoms 38:     type(amber12_atom), dimension(:)   :: atoms
 37:   end type amber12_residue 39:   end type amber12_atom
 38:  40: 
 39:   integer, parameter                   :: amber12_residue_size = 3 41:   integer, parameter                   :: amber12_residue_size = 3
 40: !****************************************************************************** 42: !******************************************************************************
 41:  43: 
 42: !****************************************************************************** 44: !******************************************************************************
 43: ! Types and parameters for writing pdb ATOM coordinate records to pdb files. 45: ! Types and parameters for writing pdb ATOM coordinate records to pdb files.
 44:   type pdb_atom_data 46:   type pdb_atom_data
  47:     sequence
 45:     character (len = 6)    :: record_name 48:     character (len = 6)    :: record_name
 46:     integer                :: atom_number 49:     integer                :: atom_number
 47:     character (len = 4)    :: atom_name 50:     character (len = 4)    :: atom_name
 48:     character (len = 1)    :: alt_loc_indicator 51:     character (len = 1)    :: alt_loc_indicator
 49:     character (len = 3)    :: residue_name 52:     character (len = 3)    :: residue_name
 50:     character (len = 1)    :: chain_id 53:     character (len = 1)    :: chain_id
 51:     integer                :: residue_number 54:     integer                :: residue_number
 52:     character (len = 1)    :: insertion_code 55:     character (len = 1)    :: insertion_code
 53:     double precision       :: x_coord 56:     double precision       :: x_coord
 54:     double precision       :: y_coord 57:     double precision       :: y_coord
495: ! COLUMNS  DATA  TYPE    FIELD       DEFINITION498: ! COLUMNS  DATA  TYPE    FIELD       DEFINITION
496: ! ------------------------------------------------------------------------------499: ! ------------------------------------------------------------------------------
497: !  1 -  6  Record name   "ATOM  "500: !  1 -  6  Record name   "ATOM  "
498: !  7 - 11  Integer       serial      Atom  serial number.501: !  7 - 11  Integer       serial      Atom  serial number.
499: ! 12       Blank         ------502: ! 12       Blank         ------
500: ! 13 - 16  Atom          name        Atom name.503: ! 13 - 16  Atom          name        Atom name.
501: ! 17       Character     altLoc      Alternate location indicator.504: ! 17       Character     altLoc      Alternate location indicator.
502: ! 18 - 20  Residue name  resName     Residue name.505: ! 18 - 20  Residue name  resName     Residue name.
503: ! 21       Blank         ------506: ! 21       Blank         ------
504: ! 22       Character     chainID     Chain identifier.507: ! 22       Character     chainID     Chain identifier.
505: ! 23 - 26  Integer       resSeq      Residue sequence identifier.508: ! 23 - 26  Integer       resSeq      Residue sequence number.
506: ! 27       AChar         iCode       Code for insertion of residues.509: ! 27       AChar         iCode       Code for insertion of residues.
507: ! 28 - 30  Blank         ------510: ! 28 - 30  Blank         ------
508: ! 31 - 38  Real(8.3)     x           Orthogonal coordinates for X in Angstroms.511: ! 31 - 38  Real(8.3)     x           Orthogonal coordinates for X in Angstroms.
509: ! 39 - 46  Real(8.3)     y           Orthogonal coordinates for Y in Angstroms.512: ! 39 - 46  Real(8.3)     y           Orthogonal coordinates for Y in Angstroms.
510: ! 47 - 54  Real(8.3)     z           Orthogonal coordinates for Z in Angstroms.513: ! 47 - 54  Real(8.3)     z           Orthogonal coordinates for Z in Angstroms.
511: ! 55 - 60  Real(6.2)     occupancy   Occupancy.514: ! 55 - 60  Real(6.2)     occupancy   Occupancy.
512: ! 61 - 66  Real(6.2)     tempFactor  Temperature  factor.515: ! 61 - 66  Real(6.2)     tempFactor  Temperature  factor.
513: ! 67 - 76  Blank         ------516: ! 67 - 76  Blank         ------
514: ! 77 - 78  LString(2)    element     Element symbol, right-justified.517: ! 77 - 78  LString(2)    element     Element symbol, right-justified.
515: ! 79 - 80  LString(2)    charge      Charge  on the atom.518: ! 79 - 80  LString(2)    charge      Charge  on the atom.
668:     atoms(current_atom) % mass         = atm_mass(current_atom)671:     atoms(current_atom) % mass         = atm_mass(current_atom)
669:     do current_residue = 1, nres672:     do current_residue = 1, nres
670:        if ((current_atom >= gbl_res_atms(current_residue)) .and. &673:        if ((current_atom >= gbl_res_atms(current_residue)) .and. &
671:        & (current_atom < gbl_res_atms(current_residue + 1))) then674:        & (current_atom < gbl_res_atms(current_residue + 1))) then
672:            atoms(current_atom) % res_index = current_residue675:            atoms(current_atom) % res_index = current_residue
673:            atoms(current_atom) % res_name = gbl_labres(current_residue)676:            atoms(current_atom) % res_name = gbl_labres(current_residue)
674:            exit677:            exit
675:        end if678:        end if
676:     end do679:     end do
677:     atoms(current_atom) % type_index   = atm_iac(current_atom)680:     atoms(current_atom) % type_index   = atm_iac(current_atom)
678:     atoms(current_atom) % atom_type    = atm_isymbl(current_atom)681:     atoms(current_atom) % atom_type    = atm_isymbol(current_atom)
679:     atoms(current_atom) % tree_class   = atm_itree(current_atom)682:     atoms(current_atom) % tree_class   = atm_itree(current_atom)
680:     atoms(current_atom) % gb_radii     = atm_gb_radii(current_atom)683:     atoms(current_atom) % gb_radii     = atm_gb_radii(current_atom)
681:     atoms(current_atom) % gb_screen    = atm_gb_fs(current_atom)684:     atoms(current_atom) % gb_screen    = atm_gb_fs(current_atom)
682:   end do685:   end do
683: 686: 
684: ! Assign atoms to the residues from the prmtop data. 687: ! Assign atoms to the residues from the prmtop data. 
685:   do current_residue = 1, nres688:   do current_residue = 1, nres
686:     res_start = gbl_res_atms(current_residue)689:     res_start = gbl_res_atms(current_residue)
687:     res_next  = gbl_res_atms(current_residue + 1)690:     res_next  = gbl_res_atms(current_residue + 1)
688:     residues(current_residue) % name      = gbl_labres(current_residue)691:     residues(current_residue) % name      = gbl_labres(current_residue)
694:   do current_residue = 1, nres697:   do current_residue = 1, nres
695:   ! Check that we have the right number of atoms in each residue.698:   ! Check that we have the right number of atoms in each residue.
696:     if ( size(residues(current_residue) % atoms) .ne. &699:     if ( size(residues(current_residue) % atoms) .ne. &
697:          &residues(current_residue) % num_atoms) then700:          &residues(current_residue) % num_atoms) then
698:       stop 'Error reading atoms into residues in subroutine populate_atom_data'701:       stop 'Error reading atoms into residues in subroutine populate_atom_data'
699:     end if702:     end if
700:   703:   
701:   ! Check that each of the atoms' residue name matches the name of the residue,704:   ! Check that each of the atoms' residue name matches the name of the residue,
702:   ! which contains it.705:   ! which contains it.
703:     do current_atom = 1, residues(current_residue) % num_atoms706:     do current_atom = 1, residues(current_residue) % num_atoms
704:       if (residues(current_residue) % atoms(current_atom) % res_name .ne. &707:       if ((residues(current_residue) % atoms) (current_atom) % res_name .ne. &
705:           &residues(current_residue) % name) then708:           &residues(current_residue) % name) then
706:         stop 'Error reading atoms into residues in subroutine &709:         stop 'Error reading atoms into residues in subroutine &
707:              &populate_atom_data'710:              &populate_atom_data'
708:       end if711:       end if
709:     end do712:     end do
710:   end do713:   end do
711:  714:  
712: end subroutine populate_atom_data715: end subroutine populate_atom_data
713: 716: 
714: end module amber12_interface_mod717: end module amber12_interface_mod


r26124/amberinterface.f 2017-03-30 13:30:06.736203111 +0100 r26123/amberinterface.f 2017-03-30 13:30:17.024339848 +0100
635: !! we currently only apply a force to the ligand atoms (body A) because it was pulling the protein to bits!635: !! we currently only apply a force to the ligand atoms (body A) because it was pulling the protein to bits!
636: !!     GRAD(3*(SMINATOMB-1)+1)=GRAD(3*(SMINATOMB-1)+1)+SMINKCURRENT*(Y(3*(SMINATOMB-1)+1)-Y(3*(SMINATOMA-1)+1))636: !!     GRAD(3*(SMINATOMB-1)+1)=GRAD(3*(SMINATOMB-1)+1)+SMINKCURRENT*(Y(3*(SMINATOMB-1)+1)-Y(3*(SMINATOMA-1)+1))
637: !!     GRAD(3*(SMINATOMB-1)+2)=GRAD(3*(SMINATOMB-1)+2)+SMINKCURRENT*(Y(3*(SMINATOMB-1)+2)-Y(3*(SMINATOMA-1)+2))637: !!     GRAD(3*(SMINATOMB-1)+2)=GRAD(3*(SMINATOMB-1)+2)+SMINKCURRENT*(Y(3*(SMINATOMB-1)+2)-Y(3*(SMINATOMA-1)+2))
638: !!     GRAD(3*(SMINATOMB-1)+3)=GRAD(3*(SMINATOMB-1)+3)+SMINKCURRENT*(Y(3*(SMINATOMB-1)+3)-Y(3*(SMINATOMA-1)+3))638: !!     GRAD(3*(SMINATOMB-1)+3)=GRAD(3*(SMINATOMB-1)+3)+SMINKCURRENT*(Y(3*(SMINATOMB-1)+3)-Y(3*(SMINATOMA-1)+3))
639: !   ELSE639: !   ELSE
640: !! if they have reached the cutoff, switch off the force and do NOT turn it on again this quench640: !! if they have reached the cutoff, switch off the force and do NOT turn it on again this quench
641: !      LOCALSTEEREDMINT=.FALSE.641: !      LOCALSTEEREDMINT=.FALSE.
642: !   ENDIF642: !   ENDIF
643: ENDIF643: ENDIF
644: 644: 
645: !645: ! catch cold fusion:
646: ! khs26 > Pass the energy decomposition from AMBER to GMIN for debugging (and other possible uses...)646: IF(ereal<-1.0D10) THEN
647: !647:         write(MYUNITNEW,*) 'sf344> in amberenergies: cold fusion detected, checking distances',ereal!,natom,y(1:3*natom)
648: E_POTENTIAL = ener(23) 
649: E_IGB = ener(26) 
650: E_BOND = ener(27) 
651: E_ANGLE = ener(28) 
652: E_DIHEDRAL = ener(29) 
653: E_VDW = ener(24) 
654: E_14_VDW = ener(30) 
655: E_ELEC = ener(25) 
656: E_14_ELEC = ener(31) 
657: AMBER_IGB = igb 
658:  
659: ! catch cold fusion 
660: ! khs26> I changed this to check that ereal is between -1.0D10 and +1.0D10.  If not, signal cold fusion, since NaN actually 
661: ! passes ereal<-1.0D10 check and can arise when you have atom clashes and implicit solvation turned on. 
662: IF(.NOT.(ereal>-1.0D10 .AND. ereal<1.0D10)) THEN 
663:         write(MYUNITNEW,*) 'sf344> in amberenergies: cold fusion detected, (actually not) checking distances',ereal!,natom,y(1:3*natom) 
664: !     call checkdistances648: !     call checkdistances
665:         ereal = -1.0D7649:         ereal = -1.0D7
666:         grad(1:3*natom) = 1.0D0650:         grad(1:3*natom) = 1.0D0
667: END IF651: END IF
668:  
669: END SUBROUTINE AMBERENERGIES652: END SUBROUTINE AMBERENERGIES
670: 653: 
671: 654: 
672: SUBROUTINE TAKESTEPAMBER(JP,y,movableatomlist,nmovableatoms,ligmovet,mdstept1,randomseedt2,blockmovet,nblocks,atomsinblock)655: SUBROUTINE TAKESTEPAMBER(JP,y,movableatomlist,nmovableatoms,ligmovet,mdstept1,randomseedt2,blockmovet,nblocks,atomsinblock)
673: !656: !
674: ! Takestep routine for the AMBER interface.  657: ! Takestep routine for the AMBER interface.  
675: ! Short MD steps are being taken, controlled by min_md.in, followed by random xyz moves.658: ! Short MD steps are being taken, controlled by min_md.in, followed by random xyz moves.
676: ! The random xyz moves are being taken in subroutine TAKESTEP, which is being called 659: ! The random xyz moves are being taken in subroutine TAKESTEP, which is being called 
677: ! after this routine.660: ! after this routine.
678: !661: !


r26124/CMakeLists.txt 2017-03-30 13:30:12.972285995 +0100 r26123/CMakeLists.txt 2017-03-30 13:30:18.204355531 +0100
 63:   set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) 63:   set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
 64: endif(NOT CMAKE_BUILD_TYPE) 64: endif(NOT CMAKE_BUILD_TYPE)
 65:  65: 
 66: enable_language(CXX) 66: enable_language(CXX)
 67:  67: 
 68: # the FORTRANCOMPILER check is in svn/CMakeModules 68: # the FORTRANCOMPILER check is in svn/CMakeModules
 69: # it adds a compiler switch and sets flags 69: # it adds a compiler switch and sets flags
 70: find_package(FORTRANCOMPILER) 70: find_package(FORTRANCOMPILER)
 71:  71: 
 72: message("CMAKE_Fortran_COMPILER = ${CMAKE_Fortran_COMPILER}") 72: message("CMAKE_Fortran_COMPILER = ${CMAKE_Fortran_COMPILER}")
 73: set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/modules) 
 74: include_directories(${CMAKE_CURRENT_BINARY_DIR}/modules) 
 75:  73: 
 76: include_directories(${CMAKE_SOURCE_DIR}) 74: include_directories(${CMAKE_SOURCE_DIR})
 77: include(${CMAKE_SOURCE_DIR}/PythonGMIN.cmake) 75: include(${CMAKE_SOURCE_DIR}/PythonGMIN.cmake)
 78:  76: 
 79: file(GLOB DUMMY_AMH amhdummy_cmake.f) 77: file(GLOB DUMMY_AMH amhdummy_cmake.f)
 80: file(GLOB DUMMY_CHARMM chdummy.f) 78: file(GLOB DUMMY_CHARMM  chdummy.f)
 81: file(GLOB DUMMY_AMBER9 amber9dummy.f90) 79: file(GLOB DUMMY_AMBER9 amber9dummy.f90)
 82: file(GLOB DUMMY_USERPOT dummy_userpot.f90) 80: file(GLOB DUMMY_USERPOT dummy_userpot.f90)
 83: file(GLOB DUMMY_DMACRYS dummy_dmacrys.f90) 81: file(GLOB DUMMY_DMACRYS dummy_dmacrys.f90)
 84: file(GLOB DUMMY_TESTING dummy_testing.f90) 82: file(GLOB DUMMY_TESTING dummy_testing.f90)
 85: file(GLOB DUMMY_AMBER12 amber12_dummies/*.F90) 
 86:  83: 
 87: file(GLOB GMIN_MAIN main.F) 84: file(GLOB GMIN_MAIN main.F)
 88: file(GLOB GMIN_SOURCES *.f *.f90 *.F *.F90 ./AMH/amhglobals.f ./AMH/amh_interfaces.f90 ./AMH/E_write.f90) 85: file(GLOB GMIN_SOURCES *.f *.f90 *.F *.F90 ./AMH/amhglobals.f ./AMH/amh_interfaces.f90 ./AMH/E_write.f90)
 89: file(GLOB NOT_GMIN_SOURCES 86: file(GLOB NOT_GMIN_SOURCES
 90:     dummyoptim.f90 # we need to do this separately dependency hell!         87:     dummyoptim.f90 # we need to do this separately dependency hell!        
 91:     molinfo.f90 tetherfuncall.f90 transforms.f90 olami.f rdpot.f wenzel.1D.f wenzel.2D.f compress2.f  88:     molinfo.f90 tetherfuncall.f90 transforms.f90 olami.f rdpot.f wenzel.1D.f wenzel.2D.f compress2.f 
 92:     mf.f otp.f bmin.f evstep.f lbfgs.f takestep2.f ptbs.f io_sanity.f90 fsc1TH.f90 dblpy.f90 funcs.f90 89:     mf.f otp.f bmin.f evstep.f lbfgs.f takestep2.f ptbs.f io_sanity.f90 fsc1TH.f90 dblpy.f90 funcs.f90
 93:     dfuncs.f90 io.f90 mek-quake.f90 wham_djw.f90 dgetf2.f  dtrti2.f charmmBildc.f blas.f 90:     dfuncs.f90 io.f90 mek-quake.f90 wham_djw.f90 dgetf2.f  dtrti2.f charmmBildc.f blas.f
 94:     lapack.f dtrtri.f mind.f nonATLASblas.f dlaswp.f  symmetry3.f90 bipartite.f90     91:     lapack.f dtrtri.f mind.f nonATLASblas.f dlaswp.f  symmetry3.f90 bipartite.f90    
 95:     dlamch.f myblas.f mylapack.f rk45ad.f symmetry2.f90 tn.f amberdummy.f amhdummy.f 92:     dlamch.f myblas.f mylapack.f rk45ad.f symmetry2.f90 tn.f amberdummy.f amhdummy.f
 96:     bsptsave.F *.F.f ptmc.F gmin_quip_wrapper.f90  93:     bsptsave.F *.F.f ptmc.F gmin_quip_wrapper.f90 
 97:     # remove these in case already exist. will be added later 94:     # remove these in case already exist. will be added later
 98:     display_version.f90 porfuncs.f90 pygmin.F modcudalbfgs.f90 95:     display_version.f90 porfuncs.f90 pygmin.F modcudalbfgs.f90
 99: ) 96: )
100:  97: 
101: list(REMOVE_ITEM GMIN_SOURCES ${NOT_GMIN_SOURCES} ${DUMMY_AMH} ${DUMMY_CHARMM} ${DUMMY_AMBER9}  ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING} ${DUMMY_AMBER12}) 98: list(REMOVE_ITEM GMIN_SOURCES ${NOT_GMIN_SOURCES} ${DUMMY_AMH} ${DUMMY_CHARMM} ${DUMMY_AMBER9}  ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING})
102:  99: 
103: # ---- add generated source files 100: # ---- add generated source files 
104: set(GMIN_SOURCES ${GMIN_SOURCES} display_version.f90 porfuncs.f90)101: set(GMIN_SOURCES ${GMIN_SOURCES} display_version.f90 porfuncs.f90)
105: 102: 
106: # ---- porfuncs.f90 TODO: shuold it build every time?103: # ---- porfuncs.f90 TODO: shuold it build every time?
107: add_custom_command (104: add_custom_command (
108:    OUTPUT porfuncs.f90 105:    OUTPUT porfuncs.f90 
109:    COMMAND csh ${CMAKE_CURRENT_SOURCE_DIR}/porfuncs.csh ${COMPILER_SWITCH} > porfuncs.f90)106:    COMMAND csh ${CMAKE_CURRENT_SOURCE_DIR}/porfuncs.csh ${COMPILER_SWITCH} > porfuncs.f90)
110: 107: 
111: set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES porfuncs.f90)108: set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES porfuncs.f90)
113: # ---- display_version.f90 110: # ---- display_version.f90 
114: add_custom_command (111: add_custom_command (
115:   OUTPUT display_version.f90 112:   OUTPUT display_version.f90 
116:   COMMAND bash ${SVN_ROOT}/SCRIPTS/all/display_version.sh > display_version.f90113:   COMMAND bash ${SVN_ROOT}/SCRIPTS/all/display_version.sh > display_version.f90
117: )114: )
118: set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES display_version.f90)115: set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES display_version.f90)
119: 116: 
120: add_custom_command(117: add_custom_command(
121:   OUTPUT libnab.a118:   OUTPUT libnab.a
122:   COMMAND mkdir -p ${SVN_ROOT}/NAB/bin119:   COMMAND mkdir -p ${SVN_ROOT}/NAB/bin
123:   COMMAND cd ${SVN_ROOT}/NAB/ucpp-1.3/ && make install NABHOME="${SVN_ROOT}/NAB"120:   COMMAND cd ${SVN_ROOT}/NAB/ucpp-1.3/ && make install
124:   COMMAND cd ${SVN_ROOT}/NAB/byacc/ && make install NABHOME="${SVN_ROOT}/NAB"121:   COMMAND cd ${SVN_ROOT}/NAB/byacc/ && make install
125:   COMMAND cd ${SVN_ROOT}/NAB && make install NABHOME="${SVN_ROOT}/NAB" LIBDIR="${SVN_ROOT}/NAB/lib"122:   COMMAND cd ${SVN_ROOT}/NAB && make install NABHOME="${SVN_ROOT}/NAB" LIBDIR="${SVN_ROOT}/NAB/lib"
126:   COMMAND cp ${SVN_ROOT}/NAB/lib/libnab.a ${CMAKE_BINARY_DIR}/libnab.a123:   COMMAND cp ${SVN_ROOT}/NAB/lib/libnab.a ${CMAKE_BINARY_DIR}/libnab.a
127: )124: )
128: 125: 
129: add_custom_target (nab_build DEPENDS libnab.a)126: add_custom_target (nab_build DEPENDS libnab.a)
130: set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES libnab.a)127: set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES libnab.a)
131: 128: 
132: # ----- Libraries 129: # ----- Libraries 
133: # ----- generate a gmin library to avoid recompiling the whole code for every executable130: # ----- generate a gmin library to avoid recompiling the whole code for every executable
134: add_library(gminlib ${GMIN_SOURCES})131: add_library(gminlib ${GMIN_SOURCES})
135: add_library(dummylib dummyoptim.f90)132: add_library(dummylib dummyoptim.f90)
136: ADD_DEPENDENCIES(dummylib gminlib)133: ADD_DEPENDENCIES(dummylib gminlib)
137: add_library(amber12dummylib ${DUMMY_AMBER12}) 
138: target_link_libraries(gminlib amber12dummylib) 
139: 134: 
140: find_package(MYBLAS)135: find_package(MYBLAS)
141: find_package(MYLAPACK)136: find_package(MYLAPACK)
142: 137: 
143: # MPI flag 138: # MPI flag 
144: option(WITH_MPI "Enable MPI compilation" OFF)139: option(WITH_MPI "Enable MPI compilation" OFF)
145: if(WITH_MPI)140: if(WITH_MPI)
146:   # append -DMPI to fortran flags 141:   # append -DMPI to fortran flags 
147:   set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DMPI")  142:   set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DMPI")  
148:   message("building with MPI: \n  ${CMAKE_Fortran_FLAGS}")   143:   message("building with MPI: \n  ${CMAKE_Fortran_FLAGS}")   
149: endif(WITH_MPI)144: endif(WITH_MPI)
150: 145: 
151: # --- Finally, the execs146: # --- Finally, the execs
152: 147: 
153: # standard GMIN148: # standard GMIN
154: add_executable(GMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMH} ${DUMMY_AMBER9} ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING} ${DUMMY_AMBER12})149: add_executable(GMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMH} ${DUMMY_AMBER9} ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING})
155: target_link_libraries(GMIN gminlib ${MYLAPACK_LIBS})150: target_link_libraries(GMIN gminlib ${MYLAPACK_LIBS})
156: 151: 
157: # AMHGMIN152: # AMHGMIN
158: option(WITH_AMH "Enable AMHGMIN compilation" OFF)153: option(WITH_AMH "Enable AMHGMIN compilation" OFF)
159: if(WITH_AMH)154: if(WITH_AMH)
160:   add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/AMH)155:   add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/AMH)
161:   add_executable(AMHGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING} ${DUMMY_AMBER12})156:   add_executable(AMHGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING})
162:   target_link_libraries(AMHGMIN gminlib amh ${MYLAPACK_LIBS})157:   target_link_libraries(AMHGMIN gminlib amh ${MYLAPACK_LIBS})
163: endif(WITH_AMH)158: endif(WITH_AMH)
164: 159: 
165: # AMBGMIN  160: # AMBGMIN  
166: option(WITH_AMBER "Enable AMBGMIN compilation" OFF)161: option(WITH_AMBER "Enable AMBGMIN compilation" OFF)
167: if(WITH_AMBER)162: if(WITH_AMBER)
168:   add_subdirectory(AMBER) # temporary folder to copy files from sander;  163:   add_subdirectory(AMBER) # temporary folder to copy files from sander;  
169:                         # TODO: make this folder hidden or consider moving sander files locally 164:                         # TODO: make this folder hidden or consider moving sander files locally 
170:   add_executable(AMBGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING} ${DUMMY_AMBER12})165:   add_executable(AMBGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING})
171:   add_library(nab STATIC IMPORTED DEPENDS nab_build)166:   add_library(nab STATIC IMPORTED DEPENDS nab_build)
172:   set_target_properties( nab PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/libnab.a )167:   set_target_properties( nab PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/libnab.a )
173:   target_link_libraries(AMBGMIN gminlib amber nab dummylib ${MYLAPACK_LIBS})168:   target_link_libraries(AMBGMIN gminlib amber nab dummylib ${MYLAPACK_LIBS})
174:   add_dependencies(AMBGMIN nab_build)169:   add_dependencies(AMBGMIN nab_build)
175: 170: 
176: endif(WITH_AMBER)171: endif(WITH_AMBER)
177: 172: 
178: # AMB12GMIN   
179: option(WITH_AMBER12 "Enable AMBGMIN with AMBER 12 compilation" OFF) 
180: if(WITH_AMBER12) 
181:   add_subdirectory(AMBER12) # temporary folder to copy files from sander;   
182:                         # TODO: make this folder hidden or consider moving sander files locally  
183:   add_executable(AMB12GMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_USERPOT} ${DUMMY_TESTING}) 
184:   target_link_libraries(gminlib amber12) 
185:   target_link_libraries(AMB12GMIN amber12 gminlib dummylib ${MYLAPACK_LIBS}) 
186: #  add_library(nab STATIC IMPORTED DEPENDS nab_build) 
187: #  set_target_properties( nab PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/libnab.a ) 
188: #  add_dependencies(AMB12GMIN nab_build) 
189:  
190: endif(WITH_AMBER12) 
191:  
192: #DMACRYS173: #DMACRYS
193: option(WITH_DMACRYS "Enable DMAGMIN compilation (DMACRYS needs to be present!)" OFF)174: option(WITH_DMACRYS "Enable DMAGMIN compilation (DMACRYS needs to be present!)" OFF)
194: if(WITH_DMACRYS)175: if(WITH_DMACRYS)
195:   add_subdirectory(DMACRYSinterface)176:   add_subdirectory(DMACRYSinterface)
196:   add_executable(DMAGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_AMH} ${DUMMY_USERPOT} ${DUMMY_TESTING} ${DUMMY_AMBER12})177:   add_executable(DMAGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_AMH} ${DUMMY_USERPOT} ${DUMMY_TESTING})
197:   target_link_libraries(DMAGMIN gminlib dmacrysinterface ${MYLAPACK_LIBS})178:   target_link_libraries(DMAGMIN gminlib dmacrysinterface ${MYLAPACK_LIBS})
198: endif(WITH_DMACRYS)179: endif(WITH_DMACRYS)
199: 180: 
200: #OXDNA181: #OXDNA
201: option(WITH_OXDNA "Enable OXDNAGMIN compilation" OFF)182: option(WITH_OXDNA "Enable OXDNAGMIN compilation" OFF)
202: if(WITH_OXDNA)183: if(WITH_OXDNA)
203:   add_subdirectory(OXDNAinterface)184:   add_subdirectory(OXDNAinterface)
204:   add_executable(OXDNAGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_TESTING} ${DUMMY_AMBER12})185:   add_executable(OXDNAGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_TESTING})
205:   target_link_libraries(OXDNAGMIN gminlib OXDNA ${MYLAPACK_LIBS})186:   target_link_libraries(OXDNAGMIN gminlib OXDNA ${MYLAPACK_LIBS})
206: endif(WITH_OXDNA)187: endif(WITH_OXDNA)
207: 188: 
208: #SPIN interface189: #SPIN interface
209: option(WITH_SPIN "Enable SPINGMIN compilation" OFF)190: option(WITH_SPIN "Enable SPINGMIN compilation" OFF)
210: if(WITH_SPIN)191: if(WITH_SPIN)
211:   add_subdirectory(SPINinterface)192:   add_subdirectory(SPINinterface)
212:   add_executable(SPINGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_TESTING} ${DUMMY_AMBER12})193:   add_executable(SPINGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9} ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_TESTING})
213:   target_link_libraries(SPINGMIN gminlib SPIN ${MYLAPACK_LIBS})194:   target_link_libraries(SPINGMIN gminlib SPIN ${MYLAPACK_LIBS})
214: endif(WITH_SPIN)195: endif(WITH_SPIN)
215: 196: 
216: #OPEP interface197: #OPEP interface
217: option(WITH_OPEP "Enable OPEPGMIN compilation" OFF)198: option(WITH_OPEP "Enable OPEPGMIN compilation" OFF)
218: if(WITH_OPEP)199: if(WITH_OPEP)
219:   add_subdirectory(OPEPinterface)200:   add_subdirectory(OPEPinterface)
220:   add_executable(OPEPGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9}201:   add_executable(OPEPGMIN ${GMIN_MAIN} ${DUMMY_CHARMM} ${DUMMY_AMBER9}
221: ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_TESTING} ${DUMMY_AMBER12})202: ${DUMMY_AMH} ${DUMMY_DMACRYS} ${DUMMY_TESTING})
222:   target_link_libraries(OPEPGMIN gminlib OPEP ${MYLAPACK_LIBS})203:   target_link_libraries(OPEPGMIN gminlib OPEP ${MYLAPACK_LIBS})
223: endif(WITH_OPEP)204: endif(WITH_OPEP)
224: 205: 
225: # CHGMIN 206: # CHGMIN 
226: option(WITH_CHARMM "Enable CHGMIN compilation" OFF)207: option(WITH_CHARMM "Enable CHGMIN compilation" OFF)
227: if(WITH_CHARMM)208: if(WITH_CHARMM)
228:   add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/CHARMMboth)209:   add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/CHARMMboth)
229:   add_executable(CHGMIN myblas.f mylapack.f ${DUMMY_AMBER9} ${DUMMY_AMH})210:   add_executable(CHGMIN myblas.f mylapack.f ${DUMMY_AMBER9} ${DUMMY_AMH})
230:   target_link_libraries(CHGMIN gminlib mylapack myblascharmm charmm211:   target_link_libraries(CHGMIN gminlib mylapack myblascharmm charmm
231: ${DUMMY_DMACRYS}  ${DUMMY_USERPOT}  ${DUMMY_TESTING} ${DUMMY_AMBER12}  ${CHARMM_LIBS} gfortran)212: ${DUMMY_DMACRYS}  ${DUMMY_USERPOT}  ${DUMMY_TESTING}  ${CHARMM_LIBS} gfortran)
232: endif(WITH_CHARMM)213: endif(WITH_CHARMM)
233: 214: 
234: 215: 
235:  216:  
236: 217: 
237: # target_link_libraries(CGMIN gminlib mylapack myblascharmm charmm ${CHARMM_LIBS} gfortran)218: # target_link_libraries(CGMIN gminlib mylapack myblascharmm charmm ${CHARMM_LIBS} gfortran)
238: 219: 
239: 220: 
240: # Example section for USERPOT entry, please do not commit CMAkelists.txt if you make changes here!221: # Example section for USERPOT entry, please do not commit CMAkelists.txt if you make changes here!
241: # I'm working on a more general solutioin where you can give the path to the userpotenital source222: # I'm working on a more general solutioin where you can give the path to the userpotenital source


r26124/commons.f90 2017-03-30 13:30:14.164301819 +0100 r26123/commons.f90 2017-03-30 13:30:19.296370044 +0100
 32:      &        CPS, CPF, ACKLANDID, PATOM1, PATOM2, CSMGPINDEX, CSMGUIDEGPINDEX, CSMSTEPS, CSMQUENCHES, CSMMAXIT, & 32:      &        CPS, CPF, ACKLANDID, PATOM1, PATOM2, CSMGPINDEX, CSMGUIDEGPINDEX, CSMSTEPS, CSMQUENCHES, CSMMAXIT, &
 33:      &        MYEUNIT, MYMUNIT, MYBUNIT, MYRUNIT, MYPUNIT, NFREEZETYPEA, & 33:      &        MYEUNIT, MYMUNIT, MYBUNIT, MYRUNIT, MYPUNIT, NFREEZETYPEA, &
 34:      &        TBPSTEPS, TBPCI, TBPBASIN, NTSITES, NRBGROUP, NZERO, PTMCDS_FRQ, PTMCDUMPENERFRQ, MONITORINT, NBLOCKS, & 34:      &        TBPSTEPS, TBPCI, TBPBASIN, NTSITES, NRBGROUP, NZERO, PTMCDS_FRQ, PTMCDUMPENERFRQ, MONITORINT, NBLOCKS, &
 35:      &        BINARY_EXAB_FRQ, NRESMIN, USERES, EXEQ, NONEDAPBC, STRUC, CHEMSHIFTITER, GRIDSIZE, MFETRUNS, BESTINVERT 35:      &        BINARY_EXAB_FRQ, NRESMIN, USERES, EXEQ, NONEDAPBC, STRUC, CHEMSHIFTITER, GRIDSIZE, MFETRUNS, BESTINVERT
 36:   36:  
 37:       DOUBLE PRECISION RHO, GAMMA, SIG, SCEPS, SCC, TOLB, T12FAC, XMOVERENORM, RESIZE, QTSALLIS, & 37:       DOUBLE PRECISION RHO, GAMMA, SIG, SCEPS, SCC, TOLB, T12FAC, XMOVERENORM, RESIZE, QTSALLIS, &
 38:      &                 CQMAX, RADIUS, BQMAX,  MAXBFGS, DECAYPARAM, SYMTOL1, SYMTOL2, SYMTOL3, SYMTOL4, SYMTOL5, & 38:      &                 CQMAX, RADIUS, BQMAX,  MAXBFGS, DECAYPARAM, SYMTOL1, SYMTOL2, SYMTOL3, SYMTOL4, SYMTOL5, &
 39:      &                 ECONV, TOLD, TOLE, SYMREM(120,3,3), GMAX, CUTOFF, PCUT, EXPFAC, EXPD, CENTX, CENTY, CENTZ, & 39:      &                 ECONV, TOLD, TOLE, SYMREM(120,3,3), GMAX, CUTOFF, PCUT, EXPFAC, EXPD, CENTX, CENTY, CENTZ, &
 40:      &                 BOXLX, BOXLY, BOXLZ, BOX3D(3), PCUTOFF, SUPSTEP, SQUEEZER, SQUEEZED, COOPCUT, STOCKMU, STOCKLAMBDA, & 40:      &                 BOXLX, BOXLY, BOXLZ, BOX3D(3), PCUTOFF, SUPSTEP, SQUEEZER, SQUEEZED, COOPCUT, STOCKMU, STOCKLAMBDA, &
 41:      &                 TFAC(3), RMS, TEMPS, SACCRAT, CEIG, PNEWJUMP, EAMP, DISTFAC, ODDCHARGE, COULQ, COULSWAP, & 41:      &                 TFAC(3), RMS, TEMPS, SACCRAT, CEIG, PNEWJUMP, EAMP, DISTFAC, ODDCHARGE, COULQ, COULSWAP, &
 42:      &                 COULTEMP, APP, AMM, APM, XQP, XQM, ALPHAP, ALPHAM, ZSTAR, K_COMP, DGUESS, GUIDECUT, EFAC,&  42:      &                 COULTEMP, APP, AMM, APM, XQP, XQM, ALPHAP, ALPHAM, ZSTAR, COMP, DGUESS, GUIDECUT, EFAC,& 
 43:      &                 TRENORM, HISTMIN, HISTMAX, HISTFAC, EPSSPHERE, FINALCUTOFF, SHELLPROB, RINGROTSCALE, & 43:      &                 TRENORM, HISTMIN, HISTMAX, HISTFAC, EPSSPHERE, FINALCUTOFF, SHELLPROB, RINGROTSCALE, &
 44:      &                 HISTFACMUL, HPERCENT, AVOIDDIST, MAXERISE, MAXEFALL, TSTART, MATDIFF, STICKYSIG, SDTOL, & 44:      &                 HISTFACMUL, HPERCENT, AVOIDDIST, MAXERISE, MAXEFALL, TSTART, MATDIFF, STICKYSIG, SDTOL, &
 45:      &                 MinimalTemperature, MaximalTemperature, SwapProb, hdistconstraint, COREFRAC, TSTAR, & 45:      &                 MinimalTemperature, MaximalTemperature, SwapProb, hdistconstraint, COREFRAC, TSTAR, &
 46:      &                 RK_R, RK_THETA,ARMA,ARMB, ExtrapolationPercent, lnHarmFreq, PTEMIN, PTEMAX, PTTMIN, PTTMAX, EXCHPROB, & 46:      &                 RK_R, RK_THETA,ARMA,ARMB, ExtrapolationPercent, lnHarmFreq, PTEMIN, PTEMAX, PTTMIN, PTTMAX, EXCHPROB, &
 47:      &                 PTSTEPS, NEQUIL, NQUENCH, COLDFUSIONLIMIT, NEWRES_TEMP, MINOMEGA, LJSIGMA, LJEPSILON, TAUMAX, & 47:      &                 PTSTEPS, NEQUIL, NQUENCH, COLDFUSIONLIMIT, NEWRES_TEMP, MINOMEGA, LJSIGMA, LJEPSILON, TAUMAX, &
 48:      &                 TAUMAXFULL, CPFACTORSG, CPFACTORFG, VGWTOL, ABTHRESH, ACTHRESH, CSMPMAT(3,3), & 48:      &                 TAUMAXFULL, CPFACTORSG, CPFACTORFG, VGWTOL, ABTHRESH, ACTHRESH, CSMPMAT(3,3), &
 49:      &                 RADIUS_CONTAINER, HYDROPHOBIC, RESTRICTREGIONX0, RESTRICTREGIONY0, RESTRICTREGIONZ0, & 49:      &                 RADIUS_CONTAINER, HYDROPHOBIC, RESTRICTREGIONX0, RESTRICTREGIONY0, RESTRICTREGIONZ0, &
 50:      &                 RESTRICTREGIONRADIUS, HARMONICSTR, DUMPUNIQUEEPREV, DUMPUNIQUEEMARKOV, FREEZESAVEE, & 50:      &                 RESTRICTREGIONRADIUS, HARMONICSTR, DUMPUNIQUEEPREV, DUMPUNIQUEEMARKOV, FREEZESAVEE, &
 51:      &                 TBPMIN, TBPSTEP, TBPHF, TBPCF, TBPINCR, SHIFTV, GEOMDIFFTOL, LJATTOC, & 51:      &                 TBPMIN, TBPSTEP, TBPHF, TBPCF, TBPINCR, SHIFTV, GEOMDIFFTOL, LJATTOC, &
 52:      &                 SRATIO, TRATIO, EXCHINT, DDMCUT, SUMTEMP, SUMSTEP, SUMOSTEP, EXPANDFACTOR, ROTATEFACTOR, EPSRIGID, & 52:      &                 SRATIO, TRATIO, EXCHINT, DDMCUT, SUMTEMP, SUMSTEP, SUMOSTEP, EXPANDFACTOR, ROTATEFACTOR, EPSRIGID, &
 53:      &                 CONTOURBOUNDS(3,2), KCOMP_RIGID, RIGIDCOMDIST, PALPHA, PBETA, PGAMMA, LAT(3,3), MFETPCTL, MFETTRGT, QUIPEQDIST, & 53:      &                 CONTOURBOUNDS(3,2), KCOMP, RIGIDCOMDIST, PALPHA, PBETA, PGAMMA, LAT(3,3), MFETPCTL, MFETTRGT, QUIPEQDIST, &
 54: ! 54: !
 55: !   parameters for anisotropic potentials 55: !   parameters for anisotropic potentials
 56: ! 56: !
 57: !    DC430 > 57: !    DC430 >
 58:      &                 CAPEPS2, CAPRAD, CAPRHO, CAPHEIGHT1, CAPHEIGHT2, & 58:      &                 CAPEPS2, CAPRAD, CAPRHO, CAPHEIGHT1, CAPHEIGHT2, &
 59:      &                 EPSR, GBKAPPA, GBKAPPRM, GBMU,GBNU, GBSIGNOT, GBEPSNOT, GBCHI, GBCHIPRM, & 59:      &                 EPSR, GBKAPPA, GBKAPPRM, GBMU,GBNU, GBSIGNOT, GBEPSNOT, GBCHI, GBCHIPRM, &
 60:      &                 SIGNOT, EPSNOT, SIGMAF, INVKAP, ESA(3), LPRSQ, LSQDFR, GBDPMU, GBDPEPS, GBDPFCT, & 60:      &                 SIGNOT, EPSNOT, SIGMAF, INVKAP, ESA(3), LPRSQ, LSQDFR, GBDPMU, GBDPEPS, GBDPFCT, &
 61:      &                 PYSIGNOT, PYEPSNOT, PYA1(3), PYA2(3), PYDPMU, PYDPEPS, PYDPFCT, & 61:      &                 PYSIGNOT, PYEPSNOT, PYA1(3), PYA2(3), PYDPMU, PYDPEPS, PYDPFCT, &
 62:      &                 LWRCUT, LWCNSTA, LWCNSTB, LWRCUTSQ, LWRCUT2SQ, DELRC, PAPALP, PAPS, PAPCD, PAPEPS, PAPANG1, PAPANG2, &     62:      &                 LWRCUT, LWCNSTA, LWCNSTB, LWRCUTSQ, LWRCUT2SQ, DELRC, PAPALP, PAPS, PAPCD, PAPEPS, PAPANG1, PAPANG2, &    
 63:      &                 DBEPSBB, DBEPSAB, DBSIGBB, DBSIGAB, DBPMU, EFIELD, YKAPPA, YEPS, GEMRC, MREQ, HSEFF, BEPS, & 63:      &                 DBEPSBB, DBEPSAB, DBSIGBB, DBSIGAB, DBPMU, EFIELD, YKAPPA, YEPS, GEMRC, MREQ, HSEFF, BEPS, &
 92:      &        AMBERT, RANDOMSEEDT, PYGPERIODICT, LJCAPSIDT, PYBINARYT, SWAPMOVEST, MOVABLEATOMST, LIGMOVET,DUMPSTRUCTURES, & 92:      &        AMBERT, RANDOMSEEDT, PYGPERIODICT, LJCAPSIDT, PYBINARYT, SWAPMOVEST, MOVABLEATOMST, LIGMOVET,DUMPSTRUCTURES, &
 93:      &        LJSITECOORDST, VGW, ACKLANDT, G46, DF1T, PULLT, LOCALSAMPLET, CSMT, A9INTET, INTERESTORE, COLDFUSION, & 93:      &        LJSITECOORDST, VGW, ACKLANDT, G46, DF1T, PULLT, LOCALSAMPLET, CSMT, A9INTET, INTERESTORE, COLDFUSION, &
 94:      &        CSMGUIDET, MULTISITEPYT, CHAPERONINT, AVOIDRESEEDT, OHCELLT, UNFREEZEFINALQ, PERCOLATET, PERCT, PERCACCEPTED,& 94:      &        CSMGUIDET, MULTISITEPYT, CHAPERONINT, AVOIDRESEEDT, OHCELLT, UNFREEZEFINALQ, PERCOLATET, PERCT, PERCACCEPTED,&
 95:      &        GENALT, MINDENSITYT, RESTRICTREGION, RESTRICTREGIONTEST, RESTRICTCYL, ACK1, ACK2, HARMONICF,& 95:      &        GENALT, MINDENSITYT, RESTRICTREGION, RESTRICTREGIONTEST, RESTRICTCYL, ACK1, ACK2, HARMONICF,&
 96:      &        HARMONICDONTMOVE, DUMPUNIQUE, FREEZESAVE, TBP, RBSYMT, PTMCDUMPSTRUCT, PTMCDUMPENERT, PYCOLDFUSION, MONITORT,& 96:      &        HARMONICDONTMOVE, DUMPUNIQUE, FREEZESAVE, TBP, RBSYMT, PTMCDUMPSTRUCT, PTMCDUMPENERT, PYCOLDFUSION, MONITORT,&
 97:      &        CHARMMDFTBT, PERMINVOPT, BLOCKMOVET, MAXERISE_SET, PYT, BINARY_EXAB, CHIROT, SANDBOXT, & 97:      &        CHARMMDFTBT, PERMINVOPT, BLOCKMOVET, MAXERISE_SET, PYT, BINARY_EXAB, CHIROT, SANDBOXT, &
 98:      &        RESERVOIRT, DISTOPT, ONEDAPBCT, ONEDPBCT, TWODAPBCT, TWODPBCT, THREEDAPBCT, THREEDPBCT, RATIOT, & 98:      &        RESERVOIRT, DISTOPT, ONEDAPBCT, ONEDPBCT, TWODAPBCT, TWODPBCT, THREEDAPBCT, THREEDPBCT, RATIOT, &
 99:      &        PTRANDOM, PTINTERVAL, PTSINGLE, PTSETS, CHEMSHIFT, CHEMSHIFT2, CSH, DEBUGss2029, UNIFORMMOVE, RANSEEDT, & 99:      &        PTRANDOM, PTINTERVAL, PTSINGLE, PTSETS, CHEMSHIFT, CHEMSHIFT2, CSH, DEBUGss2029, UNIFORMMOVE, RANSEEDT, &
100:      &        TTM3T, NOINVERSION, RIGIDCONTOURT, UPDATERIGIDREFT, HYBRIDMINT, COMPRESSRIGIDT, MWFILMT, &100:      &        TTM3T, NOINVERSION, RIGIDCONTOURT, UPDATERIGIDREFT, HYBRIDMINT, COMPRESSRIGIDT, MWFILMT, &
101:      &        SUPPRESST, MFETT, POLIRT, QUIPT, SWPOTT, MWPOTT, REPMATCHT, GLJT, MLJT, READMASST, NEWTSALLIST, &101:      &        SUPPRESST, MFETT, POLIRT, QUIPT, SWPOTT, MWPOTT, REPMATCHT, GLJT, MLJT, READMASST, NEWTSALLIST, &
102:      &        PHI4MODELT, CUDAT, CUDATIMET, AMBER12T, ENERGY_DECOMPT102:      &        PHI4MODELT, CUDAT, CUDATIMET
103: !103: !
104:       DOUBLE PRECISION, ALLOCATABLE:: ATMASS(:) 104:       DOUBLE PRECISION, ALLOCATABLE:: ATMASS(:) 
105: 105: 
106: ! csw34> FREEZEGROUP variables106: ! csw34> FREEZEGROUP variables
107: !107: !
108:       INTEGER :: GROUPCENTRE108:       INTEGER :: GROUPCENTRE
109:       DOUBLE PRECISION :: GROUPRADIUS109:       DOUBLE PRECISION :: GROUPRADIUS
110:       CHARACTER (LEN=2) :: FREEZEGROUPTYPE110:       CHARACTER (LEN=2) :: FREEZEGROUPTYPE
111:       LOGICAL :: FREEZEGROUPT111:       LOGICAL :: FREEZEGROUPT
112: ! END112: ! END


r26124/compress.f 2017-03-30 13:30:14.444305551 +0100 r26123/compress.f 2017-03-30 13:30:19.580373819 +0100
 48:       IF (PERIODIC) RETURN 48:       IF (PERIODIC) RETURN
 49:  49: 
 50:       IF (DEBUG) WRITE (MYUNIT,*) 'compress> Compressing' 50:       IF (DEBUG) WRITE (MYUNIT,*) 'compress> Compressing'
 51:  51: 
 52: C Loop over all bodies 52: C Loop over all bodies
 53:       DO J1=1, NMOL 53:       DO J1=1, NMOL
 54:          J3=3*J1 54:          J3=3*J1
 55:          DIST=(X(J3-2)-XMASS)**2+(X(J3-1)-YMASS)**2+(X(J3)-ZMASS)**2 55:          DIST=(X(J3-2)-XMASS)**2+(X(J3-1)-YMASS)**2+(X(J3)-ZMASS)**2
 56:  56: 
 57: C Add energy 57: C Add energy
 58:          ENERGY=ENERGY+K_COMP*DIST/2.0D0 58:          ENERGY=ENERGY+COMP*DIST/2.0D0
 59:  59: 
 60:          IF (GTEST) THEN 60:          IF (GTEST) THEN
 61: C Add gradients 61: C Add gradients
 62:             V(J3-2)=V(J3-2)+K_COMP*(X(J3-2)-XMASS) 62:             V(J3-2)=V(J3-2)+COMP*(X(J3-2)-XMASS)
 63:             V(J3-1)=V(J3-1)+K_COMP*(X(J3-1)-YMASS) 63:             V(J3-1)=V(J3-1)+COMP*(X(J3-1)-YMASS)
 64:             V(J3)=  V(J3)  +K_COMP*(X(J3)  -ZMASS) 64:             V(J3)=  V(J3)  +COMP*(X(J3)  -ZMASS)
 65:          ENDIF 65:          ENDIF
 66:       ENDDO 66:       ENDDO
 67:  67: 
 68:       RETURN 68:       RETURN
 69:       END 69:       END


r26124/configure2 2017-03-30 13:30:12.696282316 +0100 r26123/configure2 2017-03-30 13:30:17.932351914 +0100
337:    echo ""337:    echo ""
338: fi338: fi
339: 339: 
340: #------------------------------------------------------------------------------340: #------------------------------------------------------------------------------
341: #  Set up defaults that work for most machines:341: #  Set up defaults that work for most machines:
342: #------------------------------------------------------------------------------342: #------------------------------------------------------------------------------
343: 343: 
344: workdir=`pwd`344: workdir=`pwd`
345: AMBERTOOLSHOME=`dirname $workdir`345: AMBERTOOLSHOME=`dirname $workdir`
346: ambhome=`dirname $AMBERTOOLSHOME`346: ambhome=`dirname $AMBERTOOLSHOME`
347: AMBERHOME= 
348: check_amberhome $ambhome347: check_amberhome $ambhome
349: 348: 
350: mklinc=''349: mklinc=''
351: if [ $macAccelerate = 'no' ]; then350: if [ $macAccelerate = 'no' ]; then
352:     if [ -z "$MKL_HOME" ]; then351:     if [ -z "$MKL_HOME" ]; then
353:         mkl='no'352:         mkl='no'
354:         if [ -z "$GOTO" ]; then353:         if [ -z "$GOTO" ]; then
355:             gotolib='no'354:             gotolib='no'
356:         else355:         else
357:             gotolib='yes'356:             gotolib='yes'


r26124/finalio.f90 2017-03-30 13:30:14.744309543 +0100 r26123/finalio.f90 2017-03-30 13:30:19.828377118 +0100
  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/finalio.f90' in revision 26124  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/finalio.f90' in revision 26123


r26124/genrigid.f90 2017-03-30 13:30:15.040313480 +0100 r26123/genrigid.f90 2017-03-30 13:30:20.104380789 +0100
  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/genrigid.f90' in revision 26124  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/genrigid.f90' in revision 26123


r26124/io1.f 2017-03-30 13:30:15.328317306 +0100 r26123/io1.f 2017-03-30 13:30:20.376384401 +0100
  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/io1.f' in revision 26124  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/io1.f' in revision 26123


r26124/keywords.f 2017-03-30 13:30:15.612321084 +0100 r26123/keywords.f 2017-03-30 13:30:20.628387747 +0100
  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/keywords.f' in revision 26124  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/GMIN/source/keywords.f' in revision 26123


r26124/Makefile 2017-03-30 13:30:13.312290545 +0100 r26123/Makefile 2017-03-30 13:30:18.484359251 +0100
 31: # 31: #
 32: # ifort/64/10.1/015 icc/64/10.1/015 mpi/openmpi/64/intel10/1.2.6 32: # ifort/64/10.1/015 icc/64/10.1/015 mpi/openmpi/64/intel10/1.2.6
 33: # 33: #
 34:  34: 
 35: GPROG =        ../bin/GMIN 35: GPROG =        ../bin/GMIN
 36: CPROG = ../bin/CGMIN 36: CPROG = ../bin/CGMIN
 37: AMHPROG = ../bin/AMHGMIN 37: AMHPROG = ../bin/AMHGMIN
 38: AMBPROG = ../bin/AMBGMIN 38: AMBPROG = ../bin/AMBGMIN
 39: CUDAPROG = ../bin/CUDAGMIN 39: CUDAPROG = ../bin/CUDAGMIN
 40: QUIPPROG = ../bin/QUIPGMIN 40: QUIPPROG = ../bin/QUIPGMIN
 41: AMB12PROG = ../bin/AMB12GMIN 
 42:  41: 
 43: OBJS1 = porfuncs.o commons.o countatoms.o modamb.o modcharmm.o modmxatms.o modhess.o modamber9.o grouprotation.o dampedmove.o \ 42: OBJS1 = porfuncs.o commons.o countatoms.o modamb.o modcharmm.o modmxatms.o modhess.o modamber9.o grouprotation.o dampedmove.o \
 44:         operations.o overlap.o polirmod.o ps_intra_polir_b.o swmod.o quicksort.o AMH/amhglobals.o AMH/amh_interfaces.o AMH/E_write.o 43:         operations.o overlap.o polirmod.o ps_intra_polir_b.o swmod.o quicksort.o
 45: OBJS2 =        centre.o genrigid.o rotations.o finalio.o modconsts_trans_97.o modconsts.o dist.o tryexchange.o \ 44: OBJS2 =        centre.o genrigid.o rotations.o finalio.o modconsts_trans_97.o modconsts.o dist.o tryexchange.o \
 46:         io1.o keywords.o main.o mc.o mcruns.o morse.o \ 45:         io1.o keywords.o main.o mc.o mcruns.o morse.o \
 47:         potential.o quench.o rad.o dprand.o saveit.o seed.o \ 46:         potential.o quench.o rad.o dprand.o saveit.o seed.o \
 48:         sort.o sort2.o sort3.o sort4.o takestep.o mycpu_time.o trans.o \ 47:         sort.o sort2.o sort3.o sort4.o takestep.o mycpu_time.o trans.o \
 49:         finalq.o symmetry.o symmetrycsm.o ptgrp.o eigsrt.o SiSW.o taboo.o reseed.o newinertia.o supermc.o \ 48:         finalq.o symmetry.o symmetrycsm.o ptgrp.o eigsrt.o SiSW.o taboo.o reseed.o newinertia.o supermc.o \
 50:         tosifumi.o ortho.o compress.o mylbfgs.o mymylbfgs.o input.o ddfpmin.o dlnsrch.o cgmin.o linmin.o \ 49:         tosifumi.o ortho.o compress.o mylbfgs.o mymylbfgs.o input.o ddfpmin.o dlnsrch.o cgmin.o linmin.o \
 51:         brent.o mnbrak.o dbrent.o f1dim.o zwischen.o hsmove.o PachecoC60.o AT.o EAMLJ_sub.o \ 50:         brent.o mnbrak.o dbrent.o f1dim.o zwischen.o hsmove.o PachecoC60.o AT.o EAMLJ_sub.o \
 52:         Pbglue.o wenzel.o odesd.o capsid.o rigidfuncs.o tip.o pah.o strand.o \ 51:         Pbglue.o wenzel.o odesd.o capsid.o rigidfuncs.o tip.o pah.o strand.o \
 53:         SW.o qmod.o ljpbin.o fdm.o dftb.o ljpshift.o dzugutov.o ljcoulomb.o binary_id_swaps.o homoref.o homoref_addons.o enperms.o \ 52:         SW.o qmod.o ljpbin.o fdm.o dftb.o ljpshift.o dzugutov.o ljcoulomb.o binary_id_swaps.o homoref.o homoref_addons.o enperms.o \
 54:         fd.o fedor.o welch.o glj_yukawa.o BGupta.o BLJcluster.o BLJcluster_nocut.o stock.o Farkas.o getorbits.o \ 53:         fd.o fedor.o welch.o glj_yukawa.o BGupta.o BLJcluster.o BLJcluster_nocut.o stock.o Farkas.o getorbits.o \
 66:         ga_modules.o ga_main.o ga_select.o ga_bln.o ga_cluster.o dummy_dmacrys.o dummy_userpot.o vec3.o \ 65:         ga_modules.o ga_main.o ga_select.o ga_bln.o ga_cluster.o dummy_dmacrys.o dummy_userpot.o vec3.o \
 67:         dummy_testing.o harmonic.o utils.o minpermdistrbcom.o rbperm.o msaveit.o soft_sphere.o bhpt.o \ 66:         dummy_testing.o harmonic.o utils.o minpermdistrbcom.o rbperm.o msaveit.o soft_sphere.o bhpt.o \
 68:         initialization.o chiro.o sandbox.o hbondmatrix.o py.o Energy_1d_APBC.o \ 67:         initialization.o chiro.o sandbox.o hbondmatrix.o py.o Energy_1d_APBC.o \
 69:         Energy_1d_PBC.o Energy_2d_APBC.o Energy_2d_PBC.o Energy_3d_APBC.o Energy_3d_PBC.o \ 68:         Energy_1d_PBC.o Energy_2d_APBC.o Energy_2d_PBC.o Energy_3d_APBC.o Energy_3d_PBC.o \
 70:         cell_lists.o cell_lists_binary.o \ 69:         cell_lists.o cell_lists_binary.o \
 71:         neighbor_list.o neighbor_list_bin.o bspt_one_atom.o ratio.o neighbor_list_moveone.o dodecamorse.o \ 70:         neighbor_list.o neighbor_list_bin.o bspt_one_atom.o ratio.o neighbor_list_moveone.o dodecamorse.o \
 72:         tryexchange_independence.o dprand_universal.o dlsode.o ttm3f.o restraindistance.o mW_wrapper.o mindist.o \ 71:         tryexchange_independence.o dprand_universal.o dlsode.o ttm3f.o restraindistance.o mW_wrapper.o mindist.o \
 73:         bspt_utils.o selectmove.o CSMinit.o Gthomson.o percsphere.o ellipticintegral.o reservoir_utils.o random_normal.o \ 72:         bspt_utils.o selectmove.o CSMinit.o Gthomson.o percsphere.o ellipticintegral.o reservoir_utils.o random_normal.o \
 74:         dftbC.o detsym.o symutils.o masswt.o ljgh.o morsegh.o GLJ.o phi4model.o dihedralrotation.o  73:         dftbC.o detsym.o symutils.o masswt.o ljgh.o morsegh.o GLJ.o phi4model.o dihedralrotation.o 
 75:  74: 
 76:  
 77: #SVN_ROOT = $(realpath $($(PWD)/../..) ) 
 78: SVN_ROOT = $(PWD)/../.. 
 79: GMIN_DIR = ${SVN_ROOT}/GMIN/source 
 80: OBJS = ${OBJS1} ${OBJS2} 75: OBJS = ${OBJS1} ${OBJS2}
 81: GENF90FILES = porfuncs.f90 76: GENF90FILES = porfuncs.f90
 82: QUIPINTERFACE = gmin_quip_wrapper.o 77: QUIPINTERFACE = gmin_quip_wrapper.o
 83: CUDAINTERFACE = modcudalbfgs.o 78: CUDAINTERFACE = modcudalbfgs.o
 84: CHDUM = chdummy.o 79: CHDUM = chdummy.o
 85: AMHDUM = amhdummy.o 80: AMHDUM = amhdummy.o
 86: AMB12DUM = amber12_dummies/amber12_interface.o amber12_dummies/gb_force.o amber12_dummies/runfiles.o  
 87: AMB9DUM = amber9dummy.o 81: AMB9DUM = amber9dummy.o
 88: QUIPDUM = gmin_quipdummy.o 82: QUIPDUM = gmin_quipdummy.o
 89: CUDADUM = modcudadummy.o 83: CUDADUM = modcudadummy.o
 90: VPATH = .:AMH:. 84: VPATH = .:AMH:.
 91: LDFLAGS = -L. 85: LDFLAGS = -L.
 92: DEFS = 86: DEFS =
 93: # CPP = /usr/bin/cpp 87: # CPP = /usr/bin/cpp
 94: CPP = /lib/cpp 88: CPP = /lib/cpp
 95: CPFLAGS = -traditional -P 89: CPFLAGS = -traditional -P
 96:  90: 
 97: INCLUDE_COMMAND = -I${GMIN_DIR}/amber12_dummies -I${GMIN_DIR} -I${GMIN_DIR}/AMH 
 98:  
 99: #QUIP library files 91: #QUIP library files
100: QUIPLIBS = libfullquip.a 92: QUIPLIBS = libfullquip.a
101:  93: 
102: #CUDA stuff 94: #CUDA stuff
103: NVCC = nvcc 95: NVCC = nvcc
104: NVCCFLAGS = -O3 -arch compute_35 96: NVCCFLAGS = -O3 -arch compute_35
105: CUDASRC = /home/${USER}/svn/GMIN/source/cuda_lbfgs 97: CUDASRC = /home/${USER}/svn/GMIN/source/cuda_lbfgs
106: CUDAFILES = $(CUDASRC)/lbfgs/timer_cuda.o $(CUDASRC)/projects/setup_cuda.o $(CUDASRC)/projects/lj_cuda.o $(CUDASRC)/lbfgs/lbfgs_cuda.o 98: CUDAFILES = $(CUDASRC)/lbfgs/timer_cuda.o $(CUDASRC)/projects/setup_cuda.o $(CUDASRC)/projects/lj_cuda.o $(CUDASRC)/lbfgs/lbfgs_cuda.o
107: CUDAOBJS = timer_cuda.o setup_cuda.o lj_cuda.o lbfgs_cuda.o 99: CUDAOBJS = timer_cuda.o setup_cuda.o lj_cuda.o lbfgs_cuda.o
108: CUDAINCDIRS = -I/usr/local/cuda/include -I$(CUDASRC)/include -I$(CUDASRC)/include/CudaLBFGS -I$(CUDASRC)/lbfgs -I/usr/local/cuda/include100: CUDAINCDIRS = -I/usr/local/cuda/include -I$(CUDASRC)/include -I$(CUDASRC)/include/CudaLBFGS -I$(CUDASRC)/lbfgs -I/usr/local/cuda/include
195: endif187: endif
196: 188: 
197: ###################################### COMPILERS AND COMPILER FLAGS ###################################### 189: ###################################### COMPILERS AND COMPILER FLAGS ###################################### 
198: #190: #
199: ######## The Portland Group Compiler Technology Fortran 90 compiler {{191: ######## The Portland Group Compiler Technology Fortran 90 compiler {{
200:  FC = pgf90192:  FC = pgf90
201: # FC = mpif77  # for lam - don't forget to uncomment MPI!193: # FC = mpif77  # for lam - don't forget to uncomment MPI!
202: # FC = mpif90  # for mpich and openmpi - don't forget to uncomment MPI!194: # FC = mpif90  # for mpich and openmpi - don't forget to uncomment MPI!
203: # DEFS = -DMPI195: # DEFS = -DMPI
204: # The usual flags for AMBGMIN:196: # The usual flags for AMBGMIN:
205:  FFLAGS= -Mextend -O3 -Mvect=assoc,cachesize:1024000,recog,transform197: # FFLAGS= -Mextend -O3 -Mvect=assoc,cachesize:1024000,recog,transform
206: # These are the CHARMM31 flags for mpif90 64 bit library.198: # These are the CHARMM31 flags for mpif90 64 bit library.
207: # It is ESSENTIAL to use the same flags as for the CHARMM build!!!!199: # It is ESSENTIAL to use the same flags as for the CHARMM build!!!!
208: #200: #
209: # FFLAGS= -Mextend -O3 -Munroll -Mnoframe # used this for normal stuff201:  FFLAGS= -Mextend -O3 -Munroll -Mnoframe # used this for normal stuff
210: # FFLAGS= -Mextend -O0 -Mnoframe202: # FFLAGS= -Mextend -O0 -Mnoframe
211: # FFLAGS= -Mextend -O0 -C -g -traceback203: # FFLAGS= -Mextend -O0 -C -g -traceback
212: # FFLAGS= -Mextend -O0 -g -traceback -pg ## used this for debugging with pgdbg swo24204: # FFLAGS= -Mextend -O0 -g -traceback -pg ## used this for debugging with pgdbg swo24
213: # FFLAGS= -Mextend -g -traceback ## used this for debugging with pgdbg swo24205: # FFLAGS= -Mextend -g -traceback ## used this for debugging with pgdbg swo24
214: # Debugging flags206: # Debugging flags
215: # FFLAGS= -Mextend -C -g -gopt -Mbounds -Mchkfpstk -Mchkptr -Mchkstk -Mcoff -Mdwarf1 -Mdwarf2 -Melf -Mpgicoff -traceback207: # FFLAGS= -Mextend -C -g -gopt -Mbounds -Mchkfpstk -Mchkptr -Mchkstk -Mcoff -Mdwarf1 -Mdwarf2 -Melf -Mpgicoff -traceback
216: # FFLAGS= -Mextend -C -g -gopt -Mbounds -Mchkfpstk -Mchkptr -Mchkstk -Mcoff -Mdwarf1 -Mdwarf2 -Mdwarf3 -Melf -Mpgicoff -traceback208: # FFLAGS= -Mextend -C -g -gopt -Mbounds -Mchkfpstk -Mchkptr -Mchkstk -Mcoff -Mdwarf1 -Mdwarf2 -Mdwarf3 -Melf -Mpgicoff -traceback
217: # flags for AMBER9209: # flags for AMBER9
218: #210: #
219:  FREEFORMAT_FLAG= -Mfree211:  FREEFORMAT_FLAG= -Mfree
220:  EXTRA_FLAGS=-module212:  EXTRA_FLAGS=-module
221:  MOD_LOCATION= -module $(@D) 
222: #213: #
223:  NOOPT = -O0 -Mextend214:  NOOPT = -O0 -Mextend
224:  SEARCH_PATH =  -I..215:  SEARCH_PATH =  -I..
225: # the double reference to -lblas seems to be needed!216: # the double reference to -lblas seems to be needed!
226:  LIBS = libmyblas.a libmylapack.a libmyblas.a217: # LIBS = libmyblas.a libmylapack.a libmyblas.a
227:  LDFLAGS= -L.218: # LDFLAGS= -L.
228:  SWITCH=pgi219: # SWITCH=pgi
229: # }}}220: # }}}
230: ###### end of The Portland Group Compiler Technology Fortran 90 compiler }}}221: ###### end of The Portland Group Compiler Technology Fortran 90 compiler }}}
231: #222: #
232: ### NAGWare Fortran 223: ### NAGWare Fortran 
233: # use this compiler for nag/64/5.1224: # use this compiler for nag/64/5.1
234: # FC = f95225: # FC = f95
235: # DEFS+=-DNAG226: # DEFS+=-DNAG
236: # use this compiler for nag/64/5.2227: # use this compiler for nag/64/5.2
237: #FC = nagfor228: FC = nagfor
238: #FFLAGS = -132 -Bdynamic  -maxcontin=3000 -kind=byte -mismatch_all -O4 229: FFLAGS = -132 -Bdynamic  -maxcontin=3000 -kind=byte -mismatch_all -O4 
239: # this line is for garden variety debugging 230: # this line is for garden variety debugging 
240: # FFLAGS = -132 -maxcontin=3000 -C -g -kind=byte -mismatch_all -ieee=stop231: # FFLAGS = -132 -maxcontin=3000 -C -g -kind=byte -mismatch_all -ieee=stop
241: # this line is for thorough but slow debugging 232: # this line is for thorough but slow debugging 
242: # FFLAGS = -132 -maxcontin=3000 -C=all -mtrace=all -gline -kind=byte -ieee=stop233: # FFLAGS = -132 -maxcontin=3000 -C=all -mtrace=all -gline -kind=byte -ieee=stop
243: #NOOPT= -O0 -132  -kind=byte234: NOOPT= -O0 -132  -kind=byte
244: #SEARCH_PATH = -I..235: SEARCH_PATH = -I..
245: #LDFLAGS= -L.236: LDFLAGS= -L.
246: #MOD_LOCATION= -mdir $(@D)237: SWITCH=nag
247: #SWITCH=nag 
248: #238: #
249: # the double reference to -lblas seems to be needed!239: # the double reference to -lblas seems to be needed!
250: #240: #
251: # LIBS = libmyblas.a libmylapack.a libmyblas.a 241: LIBS = libmyblas.a libmylapack.a libmyblas.a 
252: #242: #
253: # flags for AMBER9243: # flags for AMBER9
254: #244: #
255: # FREEFORMAT_FLAG= -free245: # FREEFORMAT_FLAG= -free
256: # EXTRA_FLAGS=-I246: # EXTRA_FLAGS=-I
257: #247: #
258: ###### end of NAGWare Fortran 95 compiler flags 248: ###### end of NAGWare Fortran 95 compiler flags 
259: #249: #
260: ##########################################################250: ##########################################################
261: # Intel compilers 251: # Intel compilers 
274: #      -O0 -traceback -debug full -check uninit -stand f03 -assume realloc_lhs -check all,noarg_temp_created \264: #      -O0 -traceback -debug full -check uninit -stand f03 -assume realloc_lhs -check all,noarg_temp_created \
275: #      -traceback -warn all -fstack-protector -assume protect_parens -implicitnone265: #      -traceback -warn all -fstack-protector -assume protect_parens -implicitnone
276: ##### ifort optimization flags266: ##### ifort optimization flags
277: # FFLAGS= -132 -O3267: # FFLAGS= -132 -O3
278: # FFLAGS= -132 -Vaxlib -O3 # for ifc268: # FFLAGS= -132 -Vaxlib -O3 # for ifc
279: # FFLAGS= -132 -O3 -ip -static # -ipo or -fast doesnt work 269: # FFLAGS= -132 -O3 -ip -static # -ipo or -fast doesnt work 
280: # FFLAGS= -132 -O4270: # FFLAGS= -132 -O4
281: ## FFLAGS= -O2 -extend_source -g -traceback271: ## FFLAGS= -O2 -extend_source -g -traceback
282: # NOOPT= -132 -O0272: # NOOPT= -132 -O0
283: # SWITCH=ifort273: # SWITCH=ifort
284: # SEARCH_PATH= -I. -I./amber12_dummies 
285: # SEARCH_PATH= -I..274: # SEARCH_PATH= -I..
286: # LDFLAGS= -L.275: # LDFLAGS= -L.
287: # LIBS = libmyblas.a libmylapack.a libmyblas.a  276: # LIBS = libmyblas.a libmylapack.a libmyblas.a  
288: # FREEFORMAT_FLAG= -free277: # FREEFORMAT_FLAG= -free
289: # EXTRA_FLAGS=-I278: # EXTRA_FLAGS=-I
290: # MOD_LOCATION= -module $(@D) 
291: #279: #
292: # End of intel compilers 280: # End of intel compilers 
293: ### Gfortran  281: ### Gfortran  
294: #282: #
295: # FC = gfortran283: # FC = gfortran
296: # FC = mpif90284: # FC = mpif90
297: # DEFS = -DMPI285: # DEFS = -DMPI
298: # FFLAGS= -ffixed-line-length-265 -O3 -ffree-line-length-0286: # FFLAGS= -ffixed-line-length-265 -O3 -ffree-line-length-0
299: # FFLAGS= -ffixed-line-length-132 -O3 -ftree-vectorize -ffree-line-length-0287: # FFLAGS= -ffixed-line-length-132 -O3 -ftree-vectorize -ffree-line-length-0
300: # FFLAGS= -ffixed-line-length-132 -g -fbounds-check -Wuninitialized -O -ftrapv -ffree-line-length-0288: # FFLAGS= -ffixed-line-length-132 -g -fbounds-check -Wuninitialized -O -ftrapv -ffree-line-length-0
301: # FFLAGS= -ffixed-line-length-132 -g -fbounds-check -Wuninitialized -O -ftrapv -fimplicit-none -fno-automatic -ffree-line-length-0289: # FFLAGS= -ffixed-line-length-132 -g -fbounds-check -Wuninitialized -O -ftrapv -fimplicit-none -fno-automatic -ffree-line-length-0
302: # NOOPT= -O0 -ffixed-line-length-132290: # NOOPT= -O0 -ffixed-line-length-132
303: # SWITCH=gfortran291: # SWITCH=gfortran
304: # SEARCH_PATH =  -I..292: # SEARCH_PATH =  -I..
305: # LIBS = libmylapack.a libmyblas.a293: # LIBS = libmylapack.a libmyblas.a
306: # LDFLAGS = -LBLAS -LLAPACK294: # LDFLAGS = -LBLAS -LLAPACK
307: # LDFLAGS = -L.295: #LDFLAGS = -L.
308: # FREEFORMAT_FLAG= -ffree-form296: # FREEFORMAT_FLAG= -ffree-form
309: # EXTRA_FLAGS=-I297: # EXTRA_FLAGS=-I
310: #298: #
311: #  End Gfortran 299: #  End Gfortran 
312: # 300: # 
313: ###############################################################################################301: ###############################################################################################
314: # Pass the subversion revision number into the code to print it in the output302: # Pass the subversion revision number into the code to print it in the output
315:    #DEFS+=-DSVNVERSION="`./svn_revision.sh`"303:    #DEFS+=-DSVNVERSION="`./svn_revision.sh`"
316: ###################################### RULES AND TARGETS ###################################### 304: ###################################### RULES AND TARGETS ###################################### 
317: .SUFFIXES:305: .SUFFIXES:
318: .SUFFIXES: .o .f .F .f90 .F90306: .SUFFIXES: .o .f .F .f90 .F90
319: 307: 
320: .F.f:308: .F.f:
321:         $(CPP) $(CPFLAGS) $(DEFS) $< > $@309:         $(CPP) $(CPFLAGS) $(DEFS) $< > $@
322: 310: 
323: .F90.f90:311: .F90.f90:
324:         $(CPP) $(CPFLAGS) $(DEFS) $< > $@312:         $(CPP) $(CPFLAGS) $(DEFS) $< > $@
325: 313: 
326: .f90.o:314: .f90.o:
327: #        $(FC) $(FFLAGS) ${SEARCH_PATH} -module . -o $@ -c $<315:         $(FC) $(FFLAGS) ${SEARCH_PATH} -c $<
328:         $(FC) $(FFLAGS) ${SEARCH_PATH} ${INCLUDE_COMMAND} ${MOD_LOCATION} -o $@ -c $< 
329: 316: 
330: .f.o:317: .f.o:
331:         $(FC) $(FFLAGS) ${SEARCH_PATH} ${INCLUDE_COMMAND} ${MOD_LOCATION} -o $@ -c $<318:         $(FC) $(FFLAGS) ${SEARCH_PATH} -c $<
332: 319: 
333: %.o: %.cu320: %.o: %.cu
334:         $(NVCC) $(NVCCFLAGS) ${CUDAINCDIRS} -c $< 321:         $(NVCC) $(NVCCFLAGS) ${CUDAINCDIRS} -c $< 
335: 322: 
336: default: $(GPROG)323: default: $(GPROG)
337: 324: 
338: # vr274 not needed anymore since there is a rule for .F90->.f90 now325: # vr274 not needed anymore since there is a rule for .F90->.f90 now
339: #tryexchange.o:326: #tryexchange.o:
340: #        $(CPP) $(CPFLAGS) $(DEFS) tryexchange.F > tryexchange.f90327: #        $(CPP) $(CPFLAGS) $(DEFS) tryexchange.F > tryexchange.f90
341: #        $(FC) $(FFLAGS) ${SEARCH_PATH} -c tryexchange.f90328: #        $(FC) $(FFLAGS) ${SEARCH_PATH} -c tryexchange.f90
342: 329: 
343: GMIN: $(GPROG)330: GMIN: $(GPROG)
344: gmin: $(GPROG)331: gmin: $(GPROG)
345: 332: 
346: CHGMIN: $(CPROG)333: CHGMIN: $(CPROG)
347: chgmin: $(CPROG)334: chgmin: $(CPROG)
348: 335: 
349: $(GPROG): $(CUDADUM) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(OBJS) $(EXTRAS) 336: $(GPROG): $(CUDADUM) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(OBJS) $(EXTRAS) 
350:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(EXTRAS) $(OBJS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) $(LIBS)337:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(EXTRAS) $(OBJS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) $(LIBS)
351: 338: 
352: ifeq (${CTYPE},C31)339: ifeq (${CTYPE},C31)
353: $(CPROG): $(CUDADUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(OBJS) $(EXTRAS) libcharmm.a 340: $(CPROG): $(CUDADUM) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(OBJS) $(EXTRAS) libcharmm.a 
354:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ ${CHOBJS31} $(EXTRAS) $(OBJS) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) $(LIBS) \341:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ ${CHOBJS31} $(EXTRAS) $(OBJS) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) $(LIBS) \
355:         ${CHLIBS31} ${CHLIBS31} ${CHLIBS31}342:         ${CHLIBS31} ${CHLIBS31} ${CHLIBS31}
356: endif343: endif
357: ifeq (${CTYPE},C35)344: ifeq (${CTYPE},C35)
358: $(CPROG): $(CUDADUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(OBJS) $(EXTRAS) libcharmm.a 345: $(CPROG): $(CUDADUM) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(OBJS) $(EXTRAS) libcharmm.a 
359:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ ${CHOBJS35} $(EXTRAS) $(OBJS) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) $(LIBS) \346:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ ${CHOBJS35} $(EXTRAS) $(OBJS) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) $(LIBS) \
360:         ${CHLIBS35} ${CHLIBS35} ${CHLIBS35}347:         ${CHLIBS35} ${CHLIBS35} ${CHLIBS35}
361: endif348: endif
362: 349: 
363: AMBGMIN: $(AMBPROG) 350: AMBGMIN: $(AMBPROG) 
364: ambgmin: $(AMBPROG) 351: ambgmin: $(AMBPROG) 
365: 352: 
366: $(AMBPROG): $(CUDADUM) $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(AMB12DUM) $(QUIPDUM) libamber.a libnab.a353: $(AMBPROG): $(CUDADUM) $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(QUIPDUM) libamber.a libnab.a
367:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(AMB12DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) libamber.a libnab.a $(LIBS) 354:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) libamber.a libnab.a $(LIBS) 
368: 355: 
369: CUDAGMIN: $(CUDAPROG)356: CUDAGMIN: $(CUDAPROG)
370: cudagmin: $(CUDAPROG)357: cudagmin: $(CUDAPROG)
371: 358: 
372: $(CUDAPROG): $(CUDAFILES) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(CUDAINTERFACE) $(OBJS) $(EXTRAS)359: $(CUDAPROG): $(CUDAFILES) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(CUDAINTERFACE) $(OBJS) $(EXTRAS)
373:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(EXTRAS)  $(CUDAOBJS) $(CUDAINTERFACE) $(OBJS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(LDFLAGS) $(LIBS) $(CUDALIBS)360:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(EXTRAS)  $(CUDAOBJS) $(CUDAINTERFACE) $(OBJS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(QUIPDUM) $(LDFLAGS) $(LIBS) $(CUDALIBS)
374: 361: 
375: QUIPGMIN: $(QUIPPROG)362: QUIPGMIN: $(QUIPPROG)
376: quipgmin: $(QUIPPROG)363: quipgmin: $(QUIPPROG)
377: 364: 
378: $(QUIPPROG): $(CUDADUM) $(QUIPLIBS) $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPINTERFACE)365: $(QUIPPROG): $(CUDADUM) $(QUIPLIBS) $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(QUIPINTERFACE)
379:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(AMB12DUM) $(CUDADUM) $(QUIPINTERFACE) $(LDFLAGS) $(QUIPLIBS) -static -llapack -lopenblas 366:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(OBJS) $(EXTRAS) $(CHDUM) $(AMHDUM) $(AMB9DUM) $(CUDADUM) $(QUIPINTERFACE) $(LDFLAGS) $(QUIPLIBS) -static -llapack -lopenblas 
380: 367: 
381: 368: 
382: AMHGMIN: $(AMHPROG)369: AMHGMIN: $(AMHPROG)
383: amhgmin: $(AMHPROG)370: amhgmin: $(AMHPROG)
384: 371: 
385: $(AMHPROG): $(CUDADUM) $(OBJS) $(EXTRAS) $(CHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) libamh.a372: $(AMHPROG): $(CUDADUM) $(OBJS) $(EXTRAS) $(CHDUM) $(AMB9DUM) $(QUIPDUM) libamh.a
386:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(OBJS) $(EXTRAS) $(CHDUM) $(AMB9DUM) $(AMB12DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) libamh.a $(LIBS) 373:         $(FC) $(FFLAGS) ${SEARCH_PATH} -o $@ $(OBJS) $(EXTRAS) $(CHDUM) $(AMB9DUM) $(QUIPDUM) $(CUDADUM) $(LDFLAGS) libamh.a $(LIBS) 
387: 374: 
388: #  no agressive optimizations for selected files to cut down on compile time375: #  no agressive optimizations for selected files to cut down on compile time
389: keywords.o: keywords.f376: keywords.o: keywords.f
390:         ${FC} ${NOOPT} ${SEARCH_PATH} ${INCLUDE_COMMAND} -c keywords.f377:         ${FC} ${NOOPT} ${SEARCH_PATH} -c keywords.f
391: 378: 
392: clean:379: clean:
393:         rm -f ${GPROG} ${CPROG} $(AMHPROG) $(AMBPROG) $(OBJS) $(CUDAPROG) $(QUIPPROG) *.mod $(EXTRAS) *.lst *.o pref.dat prefx.msg nag.f90 FOR021.DAT porfuncs.f90 display_version.f90 mc.f ptmc.f bspt.f bspt_one_atom.f main.f tryexchange.f90 bhpt.f90 *.a tryexchange_independence.f90380:         rm -f ${GPROG} ${CPROG} $(AMHPROG) $(AMBPROG) $(OBJS) $(CUDAPROG) $(QUIPPROG) *.mod $(EXTRAS) *.lst *.o pref.dat prefx.msg nag.f90 FOR021.DAT porfuncs.f90 display_version.f90 mc.f ptmc.f bspt.f bspt_one_atom.f main.f tryexchange.f90 bhpt.f90 *.a tryexchange_independence.f90
394:         if test -d ../../BLAS ;  then cd ../../BLAS ; make clean ; fi381:         if test -d ../../BLAS ;  then cd ../../BLAS ; make clean ; fi
395:         if test -d ../../LAPACK ;  then cd ../../LAPACK ; make clean ; fi382:         if test -d ../../LAPACK ;  then cd ../../LAPACK ; make clean ; fi
396:         if test -d CHARMMinterface ;  then cd CHARMMinterface ; make clean ; fi383:         if test -d CHARMMinterface ;  then cd CHARMMinterface ; make clean ; fi
397:         if test -d CHARMMinterface35 ;  then cd CHARMMinterface35 ; make clean ; fi384:         if test -d CHARMMinterface35 ;  then cd CHARMMinterface35 ; make clean ; fi
398:         if test -d CHARMMboth ;  then cd CHARMMboth ; make clean ; fi385:         if test -d CHARMMboth ;  then cd CHARMMboth ; make clean ; fi
399:         if test -d amber12_dummies ;  then rm amber12_dummies/*.o amber12_dummies/*.mod ; fi 
400:         if test -d AMH ;  then cd AMH ; make clean ; fi386:         if test -d AMH ;  then cd AMH ; make clean ; fi
401:         if test -d $(SANDERSRC) ; then cd $(SANDERSRC) ; make clean ; fi387:         if test -d $(SANDERSRC) ; then cd $(SANDERSRC) ; make clean ; fi
402:         if test -d ../../QUIP ; then cd ../../QUIP ; export QUIP_ARCH=linux_x86_64_ifort_icc; make clean ; fi388:         if test -d ../../QUIP ; then cd ../../QUIP ; export QUIP_ARCH=linux_x86_64_ifort_icc; make clean ; fi
403: 389: 
404: cleanexe:390: cleanexe:
405:         rm -f $(CPROG) $(GPROG) $(AMHPROG) $(AMBPROG) $(CUDAPROG) $(QUIPPROG)391:         rm -f $(CPROG) $(GPROG) $(AMHPROG) $(AMBPROG) $(CUDAPROG) $(QUIPPROG)
406: 392: 
407: timing:393: timing:
408:         rm -f GMIN.2.0394:         rm -f GMIN.2.0
409:         $(FC) $(FFLAGS) -p $(OBJS) $(EXTRAS) -o $(GPROG) $(LIBS)395:         $(FC) $(FFLAGS) -p $(OBJS) $(EXTRAS) -o $(GPROG) $(LIBS)
490: #${OBJS2}: ${OBJS1} 476: #${OBJS2}: ${OBJS1} 
491: 477: 
492: 478: 
493: Alglue.o:      commons.o479: Alglue.o:      commons.o
494: binary_id_swaps.o: commons.o480: binary_id_swaps.o: commons.o
495: BLJcluster.o:  commons.o481: BLJcluster.o:  commons.o
496: GLJ.o:  commons.o482: GLJ.o:  commons.o
497: BLJcluster_nocut.o: commons.o483: BLJcluster_nocut.o: commons.o
498: BGupta.o:      commons.o484: BGupta.o:      commons.o
499: detsym.o:      commons.o485: detsym.o:      commons.o
500: homoref.o:     commons.o486: homoref.o:     commons.o homoref_addons.o
501: homoref_addons.o: commons.o487: homoref_addons.o: commons.o
502: enperms.o:     commons.o488: enperms.o:     commons.o
503: EAMLJ_sub.o:   commons.o489: EAMLJ_sub.o:   commons.o
504: EAMal.o:       commons.o490: EAMal.o:       commons.o
505: Gupta.o:       commons.o491: Gupta.o:       commons.o
506: glj_yukawa.o:  commons.o492: glj_yukawa.o:  commons.o
507: MSorig.o:      commons.o modconsts.o dist.o493: MSorig.o:      commons.o modconsts.o dist.o
508: MSorigc.o:     commons.o modconsts.o dist.o494: MSorigc.o:     commons.o modconsts.o dist.o
509: MStrans.97.o:  commons.o modconsts_trans_97.o dist.o495: MStrans.97.o:  commons.o modconsts_trans_97.o dist.o
510: Mgglue.o:      commons.o496: Mgglue.o:      commons.o
532: dmblmorse.o:   commons.o518: dmblmorse.o:   commons.o
533: dmblpy.o:      commons.o519: dmblpy.o:      commons.o
534: ddfpmin.o:     commons.o520: ddfpmin.o:     commons.o
535: dftb.o:        commons.o521: dftb.o:        commons.o
536: dftbC.o:        commons.o522: dftbC.o:        commons.o
537: dzugutov.o:    commons.o523: dzugutov.o:    commons.o
538: evstep.o:      commons.o524: evstep.o:      commons.o
539: f1dim.o:       commons.o modf1com.o525: f1dim.o:       commons.o modf1com.o
540: fd.o:          commons.o526: fd.o:          commons.o
541: fdm.o:         commons.o527: fdm.o:         commons.o
542: finalio.o:     commons.o modamb.o qmod.o modcharmm.o AMH/amhglobals.o modamber9.o BGupta.o modperm.o amber12_dummies/amber12_interface.o 528: finalio.o:     commons.o modamb.o qmod.o modcharmm.o AMH/amhglobals.o modamber9.o BGupta.o modperm.o 
543: finalq.o:      commons.o qmod.o529: finalq.o:      commons.o qmod.o
544: frausi.o:      dist.o530: frausi.o:      dist.o
545: gbcalamitic.o: commons.o531: gbcalamitic.o: commons.o
546: gbdiscotic.o:  commons.o532: gbdiscotic.o:  commons.o
547: gbddp.o:       commons.o533: gbddp.o:       commons.o
548: gem.o:         commons.o534: gem.o:         commons.o
549: grnd.o:        commons.o535: grnd.o:        commons.o
550: harmonic.o:    commons.o536: harmonic.o:    commons.o
551: hmat1n.o:      commons.o537: hmat1n.o:      commons.o
552: hmatd_.o:      commons.o538: hmatd_.o:      commons.o
553: hsmove.o:      commons.o539: hsmove.o:      commons.o
554: io1.o:         commons.o modamb.o modperm.o qmod.o modcharmm.o porfuncs.o BGupta.o sandbox.o py.o540: io1.o:         commons.o modamb.o modperm.o qmod.o modcharmm.o porfuncs.o BGupta.o sandbox.o py.o
555: keywords.o:     commons.o modamb.o modcharmm.o porfuncs.o ga_modules.o BGupta.o MSC.o glj_yukawa.o chiro.o sandbox.o restraindistance.o polirmod.o swmod.o amber12_dummies/amber12_interface.o 541: keywords.o:     commons.o modamb.o modcharmm.o porfuncs.o ga_modules.o BGupta.o MSC.o glj_yukawa.o chiro.o sandbox.o restraindistance.o polirmod.o swmod.o
556: linmin.o:      commons.o modf1com.o542: linmin.o:      commons.o modf1com.o
557: linrod.o:      commons.o543: linrod.o:      commons.o
558: ljcoulomb.o:   commons.o544: ljcoulomb.o:   commons.o
559: lj.o:          commons.o545: lj.o:          commons.o
560: ljgh.o:        commons.o modhess.o546: ljgh.o:        commons.o modhess.o
561: ljpbin.o:      commons.o547: ljpbin.o:      commons.o
562: ljpshift.o:    commons.o neighbor_list.o neighbor_list_bin.o cell_lists.o cell_lists_binary.o neighbor_list_moveone.o548: ljpshift.o:    commons.o neighbor_list.o neighbor_list_bin.o cell_lists.o cell_lists_binary.o neighbor_list_moveone.o
563: gmin_quip_wrapper.o: commons.o549: gmin_quip_wrapper.o: commons.o
564: lwotp.o:       commons.o rbperm.o550: lwotp.o:       commons.o rbperm.o
565: newpah.o:      commons.o551: newpah.o:      commons.o
589: BLN.o:         commons.o575: BLN.o:         commons.o
590: pah.o:         commons.o576: pah.o:         commons.o
591: multpaha.o:    commons.o qmod.o577: multpaha.o:    commons.o qmod.o
592: pahw99.o:      commons.o578: pahw99.o:      commons.o
593: paha.o:        commons.o579: paha.o:        commons.o
594: pap.o:         commons.o580: pap.o:         commons.o
595: papbin.o:      commons.o qmod.o581: papbin.o:      commons.o qmod.o
596: papjanus.o:    commons.o qmod.o582: papjanus.o:    commons.o qmod.o
597: percsphere.o:  commons.o583: percsphere.o:  commons.o
598: ptstst.o:      commons.o584: ptstst.o:      commons.o
599: potential.o:   commons.o modperm.o qmod.o modcharmm.o porfuncs.o restraindistance.o polirmod.o swmod.o amber12_dummies/amber12_interface.o 585: potential.o:   commons.o modperm.o qmod.o modcharmm.o porfuncs.o restraindistance.o polirmod.o swmod.o
600: polirmod.o:    commons.o ps_intra_polir_b.o586: polirmod.o:    commons.o ps_intra_polir_b.o
601: ptgrp.o:       commons.o587: ptgrp.o:       commons.o
602: py.o:          commons.o vec3.o qmod.o rotations.o588: py.o:          commons.o vec3.o qmod.o rotations.o
603: phi4model.o:        commons.o589: phi4model.o:        commons.o
604: quench.o:      commons.o qmod.o porfuncs.o quicksort.o590: quench.o:      commons.o qmod.o porfuncs.o quicksort.o
605: rad.o:         commons.o591: rad.o:         commons.o
606: ratio.o:       commons.o592: ratio.o:       commons.o
607: rotations.o:   commons.o593: rotations.o:   commons.o
608: rdpot.o:       commons.o594: rdpot.o:       commons.o
609: sandbox.o:     commons.o rotations.o qmod.o vec3.o595: sandbox.o:     commons.o rotations.o qmod.o vec3.o
626: welch.o:       commons.o612: welch.o:       commons.o
627: waterpdc.o:    commons.o613: waterpdc.o:    commons.o
628: waterpkz.o:    commons.o614: waterpkz.o:    commons.o
629: zwischen.o:    commons.o modf1com.o 615: zwischen.o:    commons.o modf1com.o 
630: stock.o:       commons.o616: stock.o:       commons.o
631: sticky.o:      commons.o617: sticky.o:      commons.o
632: tether.o:      tetherfunc.o618: tether.o:      tetherfunc.o
633: masswt.o:      modhess.o619: masswt.o:      modhess.o
634: mycpu_time.o:  commons.o620: mycpu_time.o:  commons.o
635: gauss.o:       commons.o621: gauss.o:       commons.o
636: mc.o:          qmod.o modcharmm.o porfuncs.o mc.f mc.F AMH/amhglobals.o AMH/amh_interfaces.o AMH/E_write.o commons.o operations.o utils.o rotations.o vec3.o bhpt.o hbondmatrix.o Gthomson.o amber12_dummies/amber12_interface.o622: mc.o:          qmod.o modcharmm.o porfuncs.o mc.f mc.F AMH/amhglobals.o AMH/amh_interfaces.o AMH/E_write.o commons.o operations.o utils.o rotations.o vec3.o bhpt.o hbondmatrix.o Gthomson.o
637: mc.f: mc.F623: mc.f: mc.F
638: ptmc.f: ptmc.F624: ptmc.f: ptmc.F
639: ptmc.o:          qmod.o modcharmm.o porfuncs.o tetherfunc.o ptmc.f ptmc.F625: ptmc.o:          qmod.o modcharmm.o porfuncs.o tetherfunc.o ptmc.f ptmc.F
640: reservoir_utils.o: commons.o random_normal.o626: reservoir_utils.o: commons.o random_normal.o
641: bspt_utils.o:      commons.o mymylbfgs.o dprand.o perc.o porfuncs.o627: bspt_utils.o:      commons.o mymylbfgs.o dprand.o perc.o porfuncs.o
642: bspt.f: bspt.F628: bspt.f: bspt.F
643: bspt.o:          qmod.o modcharmm.o porfuncs.o tetherfunc.o bspt.f bspt.F utils.o overlap.o tryexchange.o bspt_utils.o629: bspt.o:          qmod.o modcharmm.o porfuncs.o tetherfunc.o bspt.f bspt.F utils.o overlap.o tryexchange.o bspt_utils.o
644: bspt_one_atom.f: bspt_one_atom.F630: bspt_one_atom.f: bspt_one_atom.F
645: bspt_one_atom.o:          qmod.o modcharmm.o porfuncs.o tetherfunc.o bspt_one_atom.f bspt_one_atom.F utils.o overlap.o ljpshift.o tryexchange.o bspt_utils.o631: bspt_one_atom.o:          qmod.o modcharmm.o porfuncs.o tetherfunc.o bspt_one_atom.f bspt_one_atom.F utils.o overlap.o ljpshift.o tryexchange.o bspt_utils.o
646: GMINdump.o: commons.o qmod.o porfuncs.o output.o632: GMINdump.o: commons.o qmod.o porfuncs.o output.o
691: orient.o: commons.o677: orient.o: commons.o
692: cell_lists.o: cell_lists.f90678: cell_lists.o: cell_lists.f90
693: cell_lists_binary.o: cell_lists.f90679: cell_lists_binary.o: cell_lists.f90
694: neighbor_list.o: neighbor_list.f90 cell_lists.o680: neighbor_list.o: neighbor_list.f90 cell_lists.o
695: neighbor_list_bin.o: cell_lists.o681: neighbor_list_bin.o: cell_lists.o
696: neighbor_list_moveone.o: 682: neighbor_list_moveone.o: 
697: selectmove.o: commons.o683: selectmove.o: commons.o
698: commons.o: countatoms.o684: commons.o: countatoms.o
699: dihedralrotation.o: commons.o685: dihedralrotation.o: commons.o
700: dipolarmorse.o: commons.o686: dipolarmorse.o: commons.o
701: amber12_dummies/amber12_interface.o: amber12_dummies/runfiles.o amber12_dummies/gb_force.o 
702: AMH/amh_interfaces.o: AMH/amhglobals.o 
703: AMH/E_write.o: AMH/amhglobals.o 


r26124/modamber9.f90 2017-03-30 13:30:15.944325481 +0100 r26123/modamber9.f90 2017-03-30 13:30:20.896391308 +0100
355: !   atom groups for steered minimisation355: !   atom groups for steered minimisation
356: INTEGER :: NATOMSINA, NATOMSINB, NATOMSINC356: INTEGER :: NATOMSINA, NATOMSINB, NATOMSINC
357: INTEGER,ALLOCATABLE,DIMENSION(:) :: ATOMSINALIST, ATOMSINBLIST, ATOMSINCLIST  357: INTEGER,ALLOCATABLE,DIMENSION(:) :: ATOMSINALIST, ATOMSINBLIST, ATOMSINCLIST  
358: LOGICAL,ALLOCATABLE,DIMENSION(:) :: ATOMSINALISTLOGICAL, ATOMSINBLISTLOGICAL, ATOMSINCLISTLOGICAL358: LOGICAL,ALLOCATABLE,DIMENSION(:) :: ATOMSINALISTLOGICAL, ATOMSINBLISTLOGICAL, ATOMSINCLISTLOGICAL
359: !LOGICAL :: BHDEBUG359: !LOGICAL :: BHDEBUG
360: !DOUBLE PRECISION :: BHSTEPSIZE360: !DOUBLE PRECISION :: BHSTEPSIZE
361: DOUBLE PRECISION :: AMCHNMAX, AMCHNMIN, AMCHPMAX, AMCHPMIN361: DOUBLE PRECISION :: AMCHNMAX, AMCHNMIN, AMCHPMAX, AMCHPMIN
362: ! freezing in AMBER to speed up endhess362: ! freezing in AMBER to speed up endhess
363: LOGICAL, ALLOCATABLE,DIMENSION(:) :: FROZENAMBER363: LOGICAL, ALLOCATABLE,DIMENSION(:) :: FROZENAMBER
364: INTEGER :: n_amb_calls364: INTEGER :: n_amb_calls
365: ! khs26> IGB number (0 = no igb, for others check AMBER docs)365: 
366: INTEGER :: AMBER_IGB 
367: ! khs26> Components of the energy from AMBER 
368: DOUBLE PRECISION :: E_POTENTIAL, E_ELEC, E_IGB, E_BOND, E_ANGLE, E_DIHEDRAL, E_VDW, E_14_VDW, E_14_ELEC 
369: END MODULE MODAMBER9 366: END MODULE MODAMBER9 
370: 367: 


r26124/reservoir_utils.f90 2017-03-30 13:30:16.468332458 +0100 r26123/reservoir_utils.f90 2017-03-30 13:30:21.436398481 +0100
128:    w = w + par*(1./(tau)) * (Ehsa-Ephys) 128:    w = w + par*(1./(tau)) * (Ehsa-Ephys) 
129: 129: 
130:    !IF (par.eq.-1) THEN130:    !IF (par.eq.-1) THEN
131:    IF (DEBUG) THEN131:    IF (DEBUG) THEN
132:       WRITE (MYUNIT,"(A,I2.0,2G20.10,2I3.0,G20.10)") "switch> HSA: Ehsa, Ephys ",USERES,Ehsa,Ephys,time,par&132:       WRITE (MYUNIT,"(A,I2.0,2G20.10,2I3.0,G20.10)") "switch> HSA: Ehsa, Ephys ",USERES,Ehsa,Ephys,time,par&
133:         & ,Xs(1)133:         & ,Xs(1)
134:    ENDIF134:    ENDIF
135:    WORK = BETA(USERES) * w135:    WORK = BETA(USERES) * w
136:    !IF (Ehsa.gt.100.0.and.par.eq.-1) THEN136:    !IF (Ehsa.gt.100.0.and.par.eq.-1) THEN
137:    !   DO J1=1,NATOMS137:    !   DO J1=1,NATOMS
138:    !      WRITE (MYUNIT,"(3G20.10)") Xs(J1),Ys(J1),Zs(J1)138:    !      WRITE (MYUNIT,"(3G20.10)"), Xs(J1),Ys(J1),Zs(J1)
139:    !   ENDDO139:    !   ENDDO
140:    !   !STOP140:    !   !STOP
141:    !ENDIF141:    !ENDIF
142: 142: 
143: 143: 
144:    RETURN144:    RETURN
145: 145: 
146: END SUBROUTINE switch146: END SUBROUTINE switch
147: 147: 
148: SUBROUTINE myaccrej(Xa,Ya,Za,Xao,Yao,Zao,Ephys,Ephyspert,Ehsa,Ehsapert,par,time,tau,BETA,LBFGS_ITERATIONS)148: SUBROUTINE myaccrej(Xa,Ya,Za,Xao,Yao,Zao,Ephys,Ephyspert,Ehsa,Ehsapert,par,time,tau,BETA,LBFGS_ITERATIONS)
160:    RANDOM = DPRAND()160:    RANDOM = DPRAND()
161: 161: 
162:    ! calculation of E_lambda = H_lambda(x) := H_i(x) + lambda * (H_f(x) -H_i(x))162:    ! calculation of E_lambda = H_lambda(x) := H_i(x) + lambda * (H_f(x) -H_i(x))
163:    Eps = Ephys + (0.5*(1.-par) + par*time*1./(tau)) * (Ehsa- Ephys)163:    Eps = Ephys + (0.5*(1.-par) + par*time*1./(tau)) * (Ehsa- Ephys)
164:    Epspert = Ephyspert + (0.5*(1.-par) + par*time*1./(tau)) * (Ehsapert - Ephyspert)164:    Epspert = Ephyspert + (0.5*(1.-par) + par*time*1./(tau)) * (Ehsapert - Ephyspert)
165:    !Epspert = Ephyspert + (time*1./(tau)) * (Ehsapert - Ephyspert)165:    !Epspert = Ephyspert + (time*1./(tau)) * (Ehsapert - Ephyspert)
166: 166: 
167:    Weight=MIN(1.0D0,EXP(-BETA(USERES)*(Epspert-Eps)))167:    Weight=MIN(1.0D0,EXP(-BETA(USERES)*(Epspert-Eps)))
168: 168: 
169:    !IF (par.eq.-1) THEN169:    !IF (par.eq.-1) THEN
170:    !   WRITE (MYUNIT,"(A,2G)") "acc> HSA: Xs, Xso ",Xa(1),Xao(1)170:    !   WRITE (MYUNIT,"(A,2G)"), "acc> HSA: Xs, Xso ",Xa(1),Xao(1)
171:    !ENDIF171:    !ENDIF
172:    !WRITE(MYUNIT,'(A,5G,I,4G)') "switch> xo x",Xao(1),Xa(1),Weight,Epspert,Eps,par,Ephys,Ephyspert,Ehsa,Ehsapert172:    !WRITE(MYUNIT,'(A,5G,I,4G)') "switch> xo x",Xao(1),Xa(1),Weight,Epspert,Eps,par,Ephys,Ephyspert,Ehsa,Ehsapert
173: 173: 
174:    IF (Weight.LT.RANDOM) THEN174:    IF (Weight.LT.RANDOM) THEN
175:       ! rej175:       ! rej
176:       Xa(:) = Xao(:)176:       Xa(:) = Xao(:)
177:       Ya(:) = Yao(:)177:       Ya(:) = Yao(:)
178:       Za(:) = Zao(:)178:       Za(:) = Zao(:)
179:    ELSE179:    ELSE
180:       ! accept180:       ! accept
310:    ! Calculate work associated with switching to other replica310:    ! Calculate work associated with switching to other replica
311:    CALL POTENTIAL(CONFIGALIGNED(:),GRAD,POTEL,.FALSE.,.FALSE.)311:    CALL POTENTIAL(CONFIGALIGNED(:),GRAD,POTEL,.FALSE.,.FALSE.)
312:    !ab2111> debug312:    !ab2111> debug
313:    WRITE(MYUNIT,'(A,G14.7,A,2G14.7,I4,A,3G14.7)') 'Final Work elements JLOW+1', &313:    WRITE(MYUNIT,'(A,G14.7,A,2G14.7,I4,A,3G14.7)') 'Final Work elements JLOW+1', &
314:   &               POTEL,'--->',POTEL_HSA,VNEW,WELLLOW," Ephys(quen)",POTELquenched&314:   &               POTEL,'--->',POTEL_HSA,VNEW,WELLLOW," Ephys(quen)",POTELquenched&
315:      & ,DISTANCEq,DISTANCE315:      & ,DISTANCEq,DISTANCE
316: 316: 
317:    IF (POTEL_HSA.GT.0.0) THEN317:    IF (POTEL_HSA.GT.0.0) THEN
318:    !IF (POTEL_HSA> 100.0) THEN318:    !IF (POTEL_HSA> 100.0) THEN
319:       !DO J1=1,NATOMS319:       !DO J1=1,NATOMS
320:       !   WRITE(MYUNIT,'(3F20.10)') CONFIGALIGNED(3*J1-2),CONFIGALIGNED(3*J1-1),CONFIGALIGNED(3*J1)320:       !   WRITE(MYUNIT,'(3F20.10)'),CONFIGALIGNED(3*J1-2),CONFIGALIGNED(3*J1-1),CONFIGALIGNED(3*J1)
321:       !   !WRITE(MYUNIT,'(3F20.10)') CONFIGQUENCHED(3*J1-2),CONFIGQUENCHED(3*J1-1),CONFIGQUENCHED(3*J1)321:       !   !WRITE(MYUNIT,'(3F20.10)'),CONFIGQUENCHED(3*J1-2),CONFIGQUENCHED(3*J1-1),CONFIGQUENCHED(3*J1)
322:       !ENDDO322:       !ENDDO
323:       !STOP323:       !STOP
324:    ENDIF324:    ENDIF
325: 325: 
326:    RETURN 326:    RETURN 
327:    END SUBROUTINE RESERVOIR_CALC_EHSA327:    END SUBROUTINE RESERVOIR_CALC_EHSA
328: 328: 
329: subroutine RESERVOIR_SAMPLE_HSA(Xhsa,Yhsa,Zhsa,WELLLOW,POTEL,POTEL_HSA,BETA,LBFGS_ITERATIONS)329: subroutine RESERVOIR_SAMPLE_HSA(Xhsa,Yhsa,Zhsa,WELLLOW,POTEL,POTEL_HSA,BETA,LBFGS_ITERATIONS)
330: 330: 
331:    USE COMMONS 331:    USE COMMONS 


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0