oILAB
Loading...
Searching...
No Matches
gbLAB::LandauWangTP< StateType, SystemType > Class Template Reference

#include <LandauWangTP.h>

+ Inheritance diagram for gbLAB::LandauWangTP< StateType, SystemType >:

Public Member Functions

 LandauWangTP (const std::tuple< double, double, int > &energyLimits, const std::string &lmpLocation, const std::string &potentialName)
 
 LandauWangTP (const std::tuple< double, double, int > &energyLimits, const std::tuple< double, double, int > &densityLimits, const std::string &lmpLocation, const std::string &potentialName)
 
double probability (const std::pair< StateType, SystemType > &proposedState, const std::pair< StateType, SystemType > &currentState)
 
void writeTheta (const std::string &filename) const
 
- Public Member Functions inherited from gbLAB::EvolutionAlgorithm< StateType, SystemType, LandauWangTP< StateType, SystemType > >
 EvolutionAlgorithm ()
 
bool acceptMove (const std::pair< StateType, SystemType > &proposedStateSystem, const std::pair< StateType, SystemType > &currentStateSystem) const
 

Data Fields

Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > mask
 
Eigen::MatrixXd theta
 
- Data Fields inherited from gbLAB::EvolutionAlgorithm< StateType, SystemType, LandauWangTP< StateType, SystemType > >
LandauWangTP< StateType, SystemType > & transitionProbability
 

Private Member Functions

bool histogramIsFlat (const double &c) const
 

Static Private Member Functions

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)
 
static Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > getMask (const int &numberOfEnergyStates, const int &numberOfDensityStates)
 
static std::map< StateType, std::pair< double, double > > getStateDensityEnergyMap ()
 
static Eigen::MatrixXd getTheta (const Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > &mask, double &f)
 

Private Attributes

bool exponentialRegime
 
double f
 
int countLW
 
double currentEnergy
 
double currentDensity
 
const std::tuple< double, double, int > energyLimits
 
const std::tuple< double, double, int > densityLimits
 
const int numberOfEnergyStates
 
const int numberOfDensityStates
 
Eigen::MatrixXi histogram
 
std::map< StateType, std::pair< double, double > > stateDensityEnergyMap
 
std::ofstream spectrumFile
 
std::string lmpLocation
 
std::string potentialName
 

Detailed Description

template<typename StateType, typename SystemType>
class gbLAB::LandauWangTP< StateType, SystemType >

Definition at line 17 of file LandauWangTP.h.

Constructor & Destructor Documentation

◆ LandauWangTP() [1/2]

template<typename StateType , typename SystemType >
gbLAB::LandauWangTP< StateType, SystemType >::LandauWangTP ( const std::tuple< double, double, int > &  energyLimits,
const std::string &  lmpLocation,
const std::string &  potentialName 
)
explicit

Definition at line 16 of file LandauWangTPImplementation.h.

◆ LandauWangTP() [2/2]

template<typename StateType , typename SystemType >
gbLAB::LandauWangTP< StateType, SystemType >::LandauWangTP ( const std::tuple< double, double, int > &  energyLimits,
const std::tuple< double, double, int > &  densityLimits,
const std::string &  lmpLocation,
const std::string &  potentialName 
)

Definition at line 23 of file LandauWangTPImplementation.h.

Member Function Documentation

◆ getMask()

template<typename StateType , typename SystemType >
Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > gbLAB::LandauWangTP< StateType, SystemType >::getMask ( const int &  numberOfEnergyStates,
const int &  numberOfDensityStates 
)
staticprivate

Definition at line 208 of file LandauWangTPImplementation.h.

◆ getStateDensityEnergyMap()

template<typename StateType , typename SystemType >
std::map< StateType, std::pair< double, double > > gbLAB::LandauWangTP< StateType, SystemType >::getStateDensityEnergyMap ( )
staticprivate

Definition at line 233 of file LandauWangTPImplementation.h.

◆ getTheta()

template<typename StateType , typename SystemType >
Eigen::MatrixXd gbLAB::LandauWangTP< StateType, SystemType >::getTheta ( const Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > &  mask,
double &  f 
)
staticprivate

Definition at line 269 of file LandauWangTPImplementation.h.

◆ histogramIsFlat()

template<typename StateType , typename SystemType >
bool gbLAB::LandauWangTP< StateType, SystemType >::histogramIsFlat ( const double &  c) const
private

Definition at line 153 of file LandauWangTPImplementation.h.

◆ probability()

template<typename StateType , typename SystemType >
double gbLAB::LandauWangTP< StateType, SystemType >::probability ( const std::pair< StateType, SystemType > &  proposedState,
const std::pair< StateType, SystemType > &  currentState 
)

Definition at line 52 of file LandauWangTPImplementation.h.

◆ spectrumIndex()

template<typename StateType , typename SystemType >
std::tuple< int, int, bool > gbLAB::LandauWangTP< StateType, SystemType >::spectrumIndex ( const double &  energy,
const double &  density,
const std::tuple< double, double, int > &  energyLimits,
const std::tuple< double, double, int > &  densityLimits 
)
staticprivate

Definition at line 188 of file LandauWangTPImplementation.h.

◆ writeTheta()

template<typename StateType , typename SystemType >
void gbLAB::LandauWangTP< StateType, SystemType >::writeTheta ( const std::string &  filename) const

Definition at line 326 of file LandauWangTPImplementation.h.

Field Documentation

◆ countLW

template<typename StateType , typename SystemType >
int gbLAB::LandauWangTP< StateType, SystemType >::countLW
private

Definition at line 21 of file LandauWangTP.h.

◆ currentDensity

template<typename StateType , typename SystemType >
double gbLAB::LandauWangTP< StateType, SystemType >::currentDensity
private

Definition at line 22 of file LandauWangTP.h.

◆ currentEnergy

template<typename StateType , typename SystemType >
double gbLAB::LandauWangTP< StateType, SystemType >::currentEnergy
private

Definition at line 22 of file LandauWangTP.h.

◆ densityLimits

template<typename StateType , typename SystemType >
const std::tuple<double,double,int> gbLAB::LandauWangTP< StateType, SystemType >::densityLimits
private

Definition at line 23 of file LandauWangTP.h.

◆ energyLimits

template<typename StateType , typename SystemType >
const std::tuple<double,double,int> gbLAB::LandauWangTP< StateType, SystemType >::energyLimits
private

Definition at line 23 of file LandauWangTP.h.

◆ exponentialRegime

template<typename StateType , typename SystemType >
bool gbLAB::LandauWangTP< StateType, SystemType >::exponentialRegime
private

Definition at line 19 of file LandauWangTP.h.

◆ f

template<typename StateType , typename SystemType >
double gbLAB::LandauWangTP< StateType, SystemType >::f
private

Definition at line 20 of file LandauWangTP.h.

◆ histogram

template<typename StateType , typename SystemType >
Eigen::MatrixXi gbLAB::LandauWangTP< StateType, SystemType >::histogram
private

Definition at line 25 of file LandauWangTP.h.

◆ lmpLocation

template<typename StateType , typename SystemType >
std::string gbLAB::LandauWangTP< StateType, SystemType >::lmpLocation
private

Definition at line 28 of file LandauWangTP.h.

◆ mask

template<typename StateType , typename SystemType >
Eigen::Matrix<bool,Eigen::Dynamic,Eigen::Dynamic> gbLAB::LandauWangTP< StateType, SystemType >::mask

Definition at line 44 of file LandauWangTP.h.

◆ numberOfDensityStates

template<typename StateType , typename SystemType >
const int gbLAB::LandauWangTP< StateType, SystemType >::numberOfDensityStates
private

Definition at line 24 of file LandauWangTP.h.

◆ numberOfEnergyStates

template<typename StateType , typename SystemType >
const int gbLAB::LandauWangTP< StateType, SystemType >::numberOfEnergyStates
private

Definition at line 24 of file LandauWangTP.h.

◆ potentialName

template<typename StateType , typename SystemType >
std::string gbLAB::LandauWangTP< StateType, SystemType >::potentialName
private

Definition at line 29 of file LandauWangTP.h.

◆ spectrumFile

template<typename StateType , typename SystemType >
std::ofstream gbLAB::LandauWangTP< StateType, SystemType >::spectrumFile
private

Definition at line 27 of file LandauWangTP.h.

◆ stateDensityEnergyMap

template<typename StateType , typename SystemType >
std::map<StateType, std::pair<double,double> > gbLAB::LandauWangTP< StateType, SystemType >::stateDensityEnergyMap
private

Definition at line 26 of file LandauWangTP.h.

◆ theta

template<typename StateType , typename SystemType >
Eigen::MatrixXd gbLAB::LandauWangTP< StateType, SystemType >::theta

Definition at line 45 of file LandauWangTP.h.


The documentation for this class was generated from the following files: