00001 #ifndef ASE_H
00002 #define ASE_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 ASE
00018 {
00019 private:
00020
00021 int nscffail;
00022 int firstrun;
00023
00024 int runNum;
00025 int runend;
00026 string aseoutfile;
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 int CHARGE;
00042 int MULT;
00043
00044 double grads(double* coords, double* grads);
00045 void alloc(int natoms);
00046 void init(string infilename, int natoms, int* anumbers, string* anames, int run, int rune);
00047 void freemem();
00048 void write_xyz_grad(double* coords, double* grad, string filename);
00049
00050 int ncpu;
00051 int gradcalls;
00052
00053 double energy0;
00054 double energy;
00055
00056 };
00057
00058 #endif