00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef QMCInput_H
00014 #define QMCInput_H
00015
00016 #include <string>
00017 #include <fstream>
00018
00019 #include "QMCFlags.h"
00020 #include "QMCMolecule.h"
00021 #include "QMCBasisFunction.h"
00022 #include "QMCWavefunction.h"
00023 #include "QMCConfigIO.h"
00024 #include "QMCJastrowParameters.h"
00025
00026 using namespace std;
00027
00034 class QMCInput
00035 {
00036 public:
00040 QMCInput();
00041
00045 QMCFlags flags;
00046
00050 QMCMolecule Molecule;
00051
00055 QMCBasisFunction BF;
00056
00060 QMCWavefunction WF;
00061
00065 QMCJastrowParameters JP;
00066
00070 QMCConfigIO outputer;
00071
00076 Array1D< Array1D<double> > cs_Parameters;
00077
00086 void setMPIParameters(int my_rank, int nprocs);
00087
00094 void read(string inputfile);
00095
00100 void openConfigFile();
00101
00106 int getNumberAIParameters();
00107
00114 Array1D<double> getAIParameters();
00115
00122 void setAIParameters(Array1D<double> & params);
00123
00128 void printAIParameters(ostream & strm,
00129 string name,
00130 int margin,
00131 Array1D<double> & array,
00132 bool forcePrintOrbitals);
00133
00141 void printArray(ostream & strm, string name, int num,
00142 Array1D<double> & array, int & start,
00143 int margin, int width, int prec, int numPerRow);
00144
00149 void printAISummary();
00150
00155 friend ostream& operator<<(ostream & strm, QMCInput & Input);
00156 };
00157
00158 extern QMCInput globalInput;
00159
00160 #endif
00161