Merge branch 'master' into qmmm
authorGerrit Groenhof <ggroenh@ggroenh.mpibpc.intern>
Wed, 9 Jun 2010 07:57:21 +0000 (09:57 +0200)
committerGerrit Groenhof <ggroenh@ggroenh.mpibpc.intern>
Wed, 9 Jun 2010 07:57:21 +0000 (09:57 +0200)
Conflicts:

configure.ac
src/mdlib/Makefile.am

1  2 
CMakeLists.txt
configure.ac
include/types/qmmmrec.h
src/mdlib/Makefile.am
src/mdlib/qmmm.c

diff --cc CMakeLists.txt
index 7ca8724ecf5dd3b90524047a4d0966608a46221d,5f5d554a5d35359d6ac6e8656a9ea3de12a2ae3f..6bee4cf4f212d7773f3fae198f5fdf2c0ac9aa85
@@@ -301,10 -398,10 +400,10 @@@ elseif(${GMX_QMMM_PROGRAM} STREQUAL "OR
  elseif(${GMX_QMMM_PROGRAM} STREQUAL "NONE")
      # nothing to do
  else(${GMX_QMMM_PROGRAM} STREQUAL "GAUSSIAN")
 -    MESSAGE(FATAL_ERROR "Invalid QM/MM program option: ${GMX_QMMM_PROGRAM}. Choose one of: Gaussian, Mopac, Gamess, None")
 +    MESSAGE(FATAL_ERROR "Invalid QM/MM program option: ${GMX_QMMM_PROGRAM}. Choose one of: Gaussian, Mopac, Gamess, Orca, None")
  endif(${GMX_QMMM_PROGRAM} STREQUAL "GAUSSIAN")
  
- # Process FFT library settings
+ # Process FFT library settings - if not OpenMM build 
  string(TOUPPER ${GMX_FFT_LIBRARY} ${GMX_FFT_LIBRARY})
  if(${GMX_FFT_LIBRARY} STREQUAL "FFTW3")
  #    MESSAGE(STATUS "Using external FFT library - fftw3")
diff --cc configure.ac
index 97489fb6e5b68a4a38ce193a023807a795029fb2,cd4c2e7ee46cdbcbea6d9c57f36f1e9c67c1a726..4b9c98d042f7d4a35a4ea32235a83973b332fe82
@@@ -277,14 -263,15 +263,22 @@@ if test "$with_qmmm_mopac" = "yes"; the
    AC_DEFINE(GMX_QMMM_MOPAC,,[Use (modified) Mopac 7 for QM-MM calculations])
  fi
  
 -   
 -
++
 +AC_ARG_WITH(qmmm_orca,
 +              [AC_HELP_STRING([--without-qmmm-mopac],
 +                              [Use ORCA for QM-MM])],,with_qmmm_orca=no)
 +if test "$with_qmmm_orca"="yes"; then
 +  AC_DEFINE(GMX_QMMM_ORCA,,[Use ORCA for QM-MM calculations])
 +fi
 +
 +
+ AC_ARG_WITH(dlopen,
+             [AC_HELP_STRING([--without-dlopen],
+                             [do not compile with dlopen, needed to read VMD]
+                             [supported file formats])],,with_dlopen=yes)
  ############################################################
  # Add some debug info: Who is building, and on what machine?
  ############################################################
index 3e0e805bdf678216da95d7ec7b70b1e329e1c3f0,56bd84bdf7ee15798518afbddf5335fb32e38cef..09aaa816b9b60ec98a93dec60fc78c3c6a3a9d4b
  #include <config.h>
  #endif
  
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
  typedef struct {
 -  int           nrQMatoms;      /* total nr of QM atoms              */
 -  rvec          *xQM;           /* shifted to center of box          */  
 -  int           *indexQM;       /* atom i = atom indexQM[i] in mdrun */
 -  int           *atomicnumberQM;/* atomic numbers of QM atoms        */  
 -  real          *QMcharges;     /* atomic charges of QM atoms(ONIOM) */
 -  int           *shiftQM;
 -  int           QMcharge;       /* charge of the QM system           */
 -  int           multiplicity;   /* multipicity (no of unpaired eln)  */
 -  int           QMmethod;       /* see enums.h for all methods       */
 -  int           QMbasis;        /* see enums.h for all bases         */
 -  int           nelectrons;     /* total number of elecs in QM region*/
 -  bool          bTS;            /* Optimize a TS, only steep, no md  */
 -  bool          bOPT;          /* Optimize QM subsys, only steep, no md  */
 -  bool          *frontatoms;   /* qm atoms on the QM side of a QM-MM bond */
 -  /* Gaussian specific stuff */
 -  int           nQMcpus;        /* no. of CPUs used for the QM calc. */
 -  int           QMmem;          /* memory for the gaussian calc.     */
 -  int           accuracy;       /* convergence criterium (E(-x))     */
 -  bool          cpmcscf;        /* using cpmcscf(l1003)*/
 -  char          *gauss_dir;
 -  char          *gauss_exe;
 -  char          *devel_dir;
 -  real          *c6;
 -  real          *c12;
 -  /* Surface hopping stuff */
 -  bool          bSH;            /* surface hopping (diabatic only)   */
 -  real          SAon;           /* at which energy gap the SA starts */
 -  real          SAoff;          /* at which energy gap the SA stops  */
 -  int           SAsteps;        /* stepwise switchinng on the SA     */
 -  int           SAstep;         /* current state of SA               */
 -  int           CIdim;
 -  real          *CIvec1;
 -  real          *CIvec2;
 -  real          *CIvec1old;
 -  real          *CIvec2old;
 -  ivec          SHbasis;
 -  int           CASelectrons;
 -  int           CASorbitals;
 + int           nrQMatoms;      /* total nr of QM atoms              */
 + rvec          *xQM;           /* shifted to center of box          */  
 + int           *indexQM;       /* atom i = atom indexQM[i] in mdrun */
 + int           *atomicnumberQM;/* atomic numbers of QM atoms        */  
 + real          *QMcharges;     /* atomic charges of QM atoms(ONIOM) */
 + int           *shiftQM;
 + int           QMcharge;       /* charge of the QM system           */
 + int           multiplicity;   /* multipicity (no of unpaired eln)  */
 + int           QMmethod;       /* see enums.h for all methods       */
 + int           QMbasis;        /* see enums.h for all bases         */
 + int           nelectrons;     /* total number of elecs in QM region*/
 + bool          bTS;            /* Optimize a TS, only steep, no md  */
 + bool          bOPT;          /* Optimize QM subsys, only steep, no md  */
 + bool          *frontatoms;   /* qm atoms on the QM side of a QM-MM bond */
 + /* Gaussian specific stuff */
 + int           nQMcpus;        /* no. of CPUs used for the QM calc. */
 + int           QMmem;          /* memory for the gaussian calc.     */
 + int           accuracy;       /* convergence criterium (E(-x))     */
 + bool          cpmcscf;        /* using cpmcscf(l1003)*/
 + char          *gauss_dir;
 + char          *gauss_exe;
 + char          *devel_dir;
 + char          *orca_basename; /* basename for I/O with orca        */
 + real          *c6;
 + real          *c12;
 + /* Surface hopping stuff */
 + bool          bSH;            /* surface hopping (diabatic only)   */
 + real          SAon;           /* at which energy gap the SA starts */
 + real          SAoff;          /* at which energy gap the SA stops  */
 + int           SAsteps;        /* stepwise switchinng on the SA     */
 + int           SAstep;         /* current state of SA               */
 + int           CIdim;
 + real          *CIvec1;
 + real          *CIvec2;
 + real          *CIvec1old;
 + real          *CIvec2old;
 + ivec          SHbasis;
 + int           CASelectrons;
 + int           CASorbitals;
  } t_QMrec;
  
  typedef struct {
index ed67914fbcc17847750e3a4c430c54ec135e9ff5,fe68367746e4f1abf49e2b8074338b4bb7041f0d..337778970c0d0fbb55f8435a6159f409645b31b1
@@@ -41,10 -45,11 +45,11 @@@ libmd@LIBSUFFIX@_la_SOURCES = 
        wall.c          wnblist.c       \
        csettle.c       clincs.c        \
        qmmm.c          gmx_fft.c       gmx_parallel_3dfft.c    \
-       gmx_wallcycle.c \
+       fft5d.c         fft5d.h         \
+       gmx_wallcycle.c fftgrid.c       \
        qm_gaussian.c   qm_mopac.c      qm_gamess.c             \
        gmx_fft_fftw2.c gmx_fft_fftw3.c gmx_fft_fftpack.c       \
 -      gmx_fft_mkl.c   
 +      gmx_fft_mkl.c   qm_orca.c
  
  LDADD = ../mdlib/libmd@LIBSUFFIX@.la ../gmxlib/libgmx@LIBSUFFIX@.la 
  
Simple merge