1 /* 2 3 Copyright (C) 2007 Michal Bajdich 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along 16 with this program; if not, write to the Free Software Foundation, Inc., 17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 19 */ 20 21 22 #ifndef NODES_METHOD_H_INCLUDED 23 #define NODES_METHOD_H_INCLUDED 24 25 #include "Array.h" 26 #include "MO_matrix.h" 27 #include "Qmc_std.h" 28 #include "Qmc_method.h" 29 #include "Wavefunction.h" 30 #include "Wavefunction_data.h" 31 #include "Sample_point.h" 32 #include "System.h" 33 class System; 34 class Wavefunction; 35 class Program_options; 36 37 class Nodes_method : public Qmc_method 38 { 39 public: 40 41 void read(vector <string> words, 42 unsigned int & pos, 43 Program_options & options); 44 void run(Program_options & options, ostream & output); 45 int showinfo(ostream & os); Nodes_method()46 Nodes_method() { 47 mywalker=NULL; 48 wfdata=NULL; 49 wf=NULL; 50 sysprop=NULL; 51 } ~Nodes_method()52 ~Nodes_method() 53 { 54 if(mywalker != NULL) delete mywalker; 55 deallocate(wf); 56 deallocate(wfdata); 57 // for(int i=0; i< nconfigsread; i++) { delete electrons(i); } 58 } 59 60 private: 61 Array1 <int> plots; //3D projections of WF for particular e's to be made 62 Array1 <doublevar> minmax; //xmin xmax ymin ymax zmin zmax 63 Array2 <doublevar> dxyz;//shift of second electron to be moved 64 bool doublemove; //switch for doublemove part 65 doublevar resolution; //grid coarsness: 10=coarser 0.1=finer 66 string readconfig; 67 System * sysprop; 68 Array1 <Sample_point *> tmp_configs; 69 Wavefunction * wf; 70 Wavefunction_data * wfdata; 71 Sample_point * mywalker; //a single configuration/walker 72 73 74 }; 75 76 #endif //NODES_METHOD_H_INCLUDED 77 //------------------------------------------------------------------------ 78