Merge branch 'master' of git.gromacs.org:gromacs
authorSzilard Pall <pszilard@cbr.su.se>
Thu, 9 Sep 2010 19:37:32 +0000 (21:37 +0200)
committerSzilard Pall <pszilard@cbr.su.se>
Thu, 9 Sep 2010 19:37:32 +0000 (21:37 +0200)
include/types/qmmmrec.h
src/kernel/CMakeLists.txt
src/mdlib/qm_orca.c

index 0cd9affa76627e7839c67ad6ba9c1a3dc402d9ec..f516153e4dfdf63dcae62995e1c0747058ef2775 100644 (file)
@@ -63,6 +63,7 @@ typedef struct {
  char          *gauss_exe;
  char          *devel_dir;
  char          *orca_basename; /* basename for I/O with orca        */
+ char          *orca_dir;      /* directory for ORCA                */
  real          *c6;
  real          *c12;
  /* Surface hopping stuff */
index b5ac189191e504f9d55cac6c1749c8748badb136..52a36a86901109ae57d22e60bd0baf0b40e082b9 100644 (file)
@@ -35,7 +35,8 @@ set(GMXPREPROCESS_SOURCES
 set(MDRUN_SOURCES 
     gctio.c    ionize.c runner.c
     do_gct.c     repl_ex.c  xutils.c
-    md.c         mdrun.c    genalg.c md_openmm.c)
+    md.c         mdrun.c    genalg.c gmx_membed.c
+    md_openmm.c)
 
 add_library(gmxpreprocess ${GMXPREPROCESS_SOURCES})
 target_link_libraries(gmxpreprocess md)
index 4066b74e85e6e5a35baa5b7427418333b3a547ec..08920baac04eca7c56a44759746adc171059bc43 100644 (file)
@@ -72,6 +72,7 @@ void init_orca(t_commrec *cr, t_QMrec *qm, t_MMrec *mm)
  char
    *buf;
  snew(buf,200);    
+ /* ORCA settings on the system */
  buf = getenv("BASENAME");
  if (buf){
      snew(qm->orca_basename,200);
@@ -79,6 +80,20 @@ void init_orca(t_commrec *cr, t_QMrec *qm, t_MMrec *mm)
  }
  else
      gmx_fatal(FARGS,"no $BASENAME\n");
+
+ /* ORCA directory on the system */
+ snew(buf,200);
+ buf = getenv("ORCA_PATH");
+ fprintf(stderr,"%s",buf);
+
+ if (buf){
+   snew(qm->orca_dir,200);
+   sscanf(buf,"%s",qm->orca_dir);
+ }
+ else
+   gmx_fatal(FARGS,"no $ORCA_PATH, check manual\n");
+
+ fprintf(stderr,"%s...\n",qm->orca_dir);
  fprintf(stderr,"orca initialised...\n");
  /* since we append the output to the BASENAME.out file,
  we should delete an existent old out-file here. */
@@ -375,7 +390,7 @@ real read_orca_output(rvec QMgrad[],rvec MMgrad[],int step,t_forcerec *fr,
  return(QMener);  
 }
 
-void do_orca(int step,char *exe, char *basename)
+void do_orca(int step,char *exe, char *orca_dir, char *basename)
 {
 
  /* make the call to the orca binary through system()
@@ -384,7 +399,8 @@ void do_orca(int step,char *exe, char *basename)
   */
  char
    buf[100];
- sprintf(buf,"%s %s.inp >> %s.out",
+ sprintf(buf,"%s/%s %s.inp >> %s.out",
+             orca_dir,
              "orca",
              basename,
              basename);
@@ -414,7 +430,7 @@ real call_orca(t_commrec *cr,  t_forcerec *fr,
  snew(MMgrad,mm->nrMMatoms);
 
  write_orca_input(step,fr,qm,mm);
- do_orca(step,exe,qm->orca_basename);
+ do_orca(step,exe,qm->orca_dir,qm->orca_basename);
  QMener = read_orca_output(QMgrad,MMgrad,step,fr,qm,mm);
  /* put the QMMM forces in the force array and to the fshift
   */