13 #include <boost/program_options.hpp>
16 #include <boost/uuid/uuid.hpp>
17 #include <boost/uuid/uuid_generators.hpp>
18 #include <boost/uuid/uuid_io.hpp>
20 namespace po = boost::program_options;
41 double T()
const {
return T_;}
43 double mu()
const {
return mu_;}
44 double tau()
const {
return tau_;}
45 double m()
const {
return m_;}
46 double lambda()
const {
return lambda_;}
47 double rc()
const {
return rc_;}
48 double rc2()
const {
return rc2_;}
49 double C0()
const {
return C0_;}
50 double C()
const {
return C_;}
51 double V()
const {
return V_;}
52 double L()
const {
return L_;}
60 double rho0Norm(
int M,
int d)
const {
return ( pow((4.0*M_PI*lambda_*M*tau_),-0.5*d));}
65 double attemptProb(
string type) {
66 if (attemptProb_.count(type))
67 return attemptProb_[type];
69 cerr <<
"Get: Attempt probability for " << type <<
" does not exist!" << endl;
76 void setAttemptProb(
string type,
double prob) {
77 attemptProb_[type] = prob;
90 bool window()
const {
return window_;}
102 string id() {
return id_;}
104 int numBroken() {
return numBroken_;}
105 double spatialSubregion() {
return spatialSubregion_;}
106 bool spatialSubregionOn() {
return spatialSubregionOn_;}
107 int Npaths() {
return Npaths_;}
128 void getC() {C_ = C0_ / (1.0*Mbar_*numTimeSlices_*V_);}
142 double imagTimeLength_;
147 double dBWavelength_;
149 double displaceDelta_;
161 int initialNumParticles_;
163 double spatialSubregion_;
164 bool spatialSubregionOn_;
174 bool startWithState_;
176 bool gaussianEnsemble_;
177 double gaussianEnsembleSD_;
181 string intPotentialType_;
182 string extPotentialType_;
183 string waveFunctionType_;
192 bool saveStateFiles_;
193 string graphenelut3d_file_prefix_;
195 map <string,double> attemptProb_;
Constant simulation parameters.
int windowWidth() const
Get window 1/2 width.
string waveFunctionType() const
Get wave function type.
int numTimeSlices()
Get number of time slices.
ConstantParameters()
An empty constructor which simply sets all constants to null.
void setmu(double _mu)
Set the value of the chemical potential.
double T() const
Get temperature.
double endFactor() const
Get end factor.
void shiftmu(double frac)
Shift the chemical potential.
bool wallClockOn() const
Get wallclockOn.
double dBWavelength() const
Get deBroglie wavelength.
double R_LL_wfn() const
Get Lieb-Liniger length scale.
double rho0Norm(int M, int d) const
Get density matrix normalization factor.
int maxWind()
Get the maximum winding number sampled.
double m() const
Get mass.
string graphenelut3d_file_prefix() const
Get GrapheneLUT3D file prefix <prefix>_serialized.{dat|txt}.
double mu() const
Get chemical potential.
void setCoMDelta(double _comDelta)
Set the CoM move size.
double lambda() const
Get lambda = hbar^2/(2mk_B)
double V() const
Get cell volume.
double rc2() const
Get potential cutoff squared.
double rc() const
Get potential cutoff.
double displaceDelta() const
Get center of mass shift.
bool window() const
Get window on/off.
double k_LL_wfn() const
Get Lieb-Liniger wave number.
uint32 wallClock() const
Get wallclock limit.
void shiftCoMDelta(double frac)
Shift the CoM move size.
void shiftDisplaceDelta(double frac)
Shift the displace move size.
ConstantParameters(const ConstantParameters &)
Protected constructor.
void setC0(double _C0)
Set the value of C0.
double gaussianEnsembleSD() const
Get enesemble weight standard dev.
string extPotentialType() const
Get external potential type.
double imagTimeLength() const
Get the extent in imaginary time.
int virialWindow() const
Get centroid virial window size.
string id()
Get simulation UUID.
static ConstantParameters * getInstance()
This public method returns an instance of the constant object, Only one can ever exist at a time.
void initConstants(po::variables_map &)
Initialize all constants from command line, XMl and defaults.
void shiftC0(double frac)
Shift the value of C0.
double C0() const
Get worm factor C0.
void getC()
Get the value of the worm constant.
double L() const
Get maximum side length.
double tau() const
Get imaginary time step.
string intPotentialType() const
Get interaction potential type.
ConstantParameters & operator=(const ConstantParameters &)
Overload Singleton equals.
bool startWithState() const
Are we starting from a state?
int b()
Get bisection level.
double comDelta() const
Get center of mass shift.
uint32 numEqSteps()
Get the number of equilibration steps.
double fourLambdaTauInv() const
Get (4lambda/tau)^{-1}.
bool canonical() const
Get ensemble.
bool varUpdates() const
Fixed or variable length diagonal updates.
string actionType() const
Get wave action type.
bool gaussianEnsemble() const
Get enesemble weight on/off.
int initialNumParticles()
Get initial number of particles.
void setDisplaceDelta(double _displaceDelta)
Set the displace move size.
double C() const
Get full worm constant.
bool saveStateFiles()
Are we saving states every MC bin?
bool restart() const
Get restart state.
Global common header with shared dependencies and methods.
unsigned long uint32
Unsigned integer type, at least 32 bits.
ConstantParameters * constants()
Global public access to the constants.