40 boost::ptr_vector<estimator_vector> &,
const bool,
uint32 binSize=100);
76 void printWormState();
83 int numImagTimeSweeps;
105 vector <double> C0Vals;
106 vector <double> diagFracVals;
108 double targetDiagFrac;
112 int numRemainingSteps;
117 vector<string> stateStrings;
122 boost::ptr_vector<Path> &pathPtrVec;
125 boost::ptr_vector<move_vector> &movePtrVec;
128 boost::ptr_vector<estimator_vector> &estimatorPtrVec;
132 vector <double> attemptDiagProb;
133 vector <double> attemptOffDiagProb;
135 map <string,int> moveIndex;
136 map <string,int> estimatorIndex;
142 double linearRegressionC0();
148 void loadClassicalState(Array <dVec,2>&, Array <unsigned int, 2>&,
int);
149 void loadQuantumState(Array <dVec,2>&, Array <beadLocator,2>&, Array<beadLocator,2>&,
int,
int);
155 string update(
const double,
const int,
const int);
The base class that all estimator classes will be derived from.
The particle (bead) lookup table.
The base class that all moves will be derived from.
The main driver class for the entire path integral monte carlo program.
void outputPDB()
Output the worldline configuration to disk using PDB , suitable for plotting using vmd.
~PathIntegralMonteCarlo()
Destructor.
bool equilStepRelaxC0()
Relax the worm constant C0 until we have found the desired diagonal fraction.
bool equilStepRelaxmu()
Relax the chemical potential to find a target number of particles.
int prevNumCoMAttempted
Number of Center of Mass moves attempted.
int numDisplaceAttempted
Number of equil Displace moves.
int numDisplaceAccepted
Number of equil Displace moves accepted.
void saveState(const int finalSave=0)
Save the state of the simulation to disk, including all path, worm, move and estimator data.
int numConfig
Number of configurations;.
void equilStep(const uint32, const bool, const bool)
Equilibration.
void finalOutput()
Output simulation statistics to disk.
string printHistogram()
Output a histogram to the terminal.
int numStepsAttempted
Number of steps for relaxing C0.
PathIntegralMonteCarlo(boost::ptr_vector< Path > &, MTRand &, boost::ptr_vector< move_vector > &, boost::ptr_vector< estimator_vector > &, const bool, uint32 binSize=100)
Constructor.
int numCoMAttempted
Number of Center of Mass moves.
int numCoMAccepted
Number of equil CoM moves accepted.
int numNAttempted
The number of particle measurements.
void equilStepDiagonal()
Diagonal Equilibration.
int numDiagonal
Number of consecutive diagonal configs.
int numStoredBins
Number of stored estimators.
int numMuAttempted
Number of moves between mu adjustments.
The space-time trajectories.
Global common header with shared dependencies and methods.
unsigned long uint32
Unsigned integer type, at least 32 bits.
Class definitions for all file input/output.
Estimator class definitions.
boost::ptr_vector< EstimatorBase > estimator_vector
A vector containing measurable estimators.
boost::ptr_vector< MoveBase > move_vector
A vector containing Monte Carlo updates.