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