5#ifndef OILAB_LANDAUWANGTP_H
6#define OILAB_LANDAUWANGTP_H
16 template<
typename StateType,
typename SystemType>
35 const double& density,
41 static Eigen::MatrixXd
getTheta(
const Eigen::Matrix<bool,Eigen::Dynamic,Eigen::Dynamic>&
mask,
double&
f);
44 Eigen::Matrix<bool,Eigen::Dynamic,Eigen::Dynamic>
mask;
57 double probability(
const std::pair<StateType,SystemType>& proposedState,
58 const std::pair<StateType,SystemType>& currentState);
60 void writeTheta(
const std::string& filename)
const;
std::pair< double, double > energy(const std::string &lammpsLocation, const std::string &oilabConfigFile, const std::string &potentialFile)
static Eigen::MatrixXd getTheta(const Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > &mask, double &f)
const int numberOfEnergyStates
Eigen::MatrixXi histogram
const int numberOfDensityStates
bool histogramIsFlat(const double &c) const
static std::tuple< int, int, bool > spectrumIndex(const double &energy, const double &density, const std::tuple< double, double, int > &energyLimits, const std::tuple< double, double, int > &densityLimits)
void writeTheta(const std::string &filename) const
double probability(const std::pair< StateType, SystemType > &proposedState, const std::pair< StateType, SystemType > ¤tState)
const std::tuple< double, double, int > energyLimits
const std::tuple< double, double, int > densityLimits
static std::map< StateType, std::pair< double, double > > getStateDensityEnergyMap()
std::map< StateType, std::pair< double, double > > stateDensityEnergyMap
std::ofstream spectrumFile
Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > mask
static Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > getMask(const int &numberOfEnergyStates, const int &numberOfDensityStates)
std::string potentialName