00001 #ifndef ORCA_H 00002 #define ORCA_H 00003 00004 #include <iostream> 00005 #include <iomanip> 00006 #include <fstream> 00007 #include <cstdio> 00008 #include <vector> 00009 #include <cstring> 00010 #include <math.h> 00011 00012 #include "stringtools.h" 00013 #include "pTable.h" 00014 #include "constants.h" 00015 #include "utils.h" 00016 00017 class ORCA 00018 { 00019 private: 00020 00021 int nscffail; 00022 int firstrun; 00023 00024 int runNum; 00025 int runend; 00026 string outfile; 00027 string scrdir; 00028 string scrBaseDir; 00029 string runName; 00030 string runName0; 00031 string fileloc; 00032 00033 int natoms; 00034 int* anumbers; 00035 string* anames; 00036 00037 double get_energy_grad(string file, double* grad, int natoms); 00038 00039 public: 00040 00041 double grads(double* coords, double* grads); 00042 void alloc(int natoms); 00043 void init(string infilename, int natoms, int* anumbers, string* anames, int run, int rune); 00044 void freemem(); 00045 void write_xyz_grad(double* coords, double* grad, string filename); 00046 00047 int ncpu; 00048 int gradcalls; 00049 00050 double energy0; 00051 double energy; 00052 00053 }; 00054 00055 #endif