CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CanonicalEvent.hh
Go to the documentation of this file.
1 #ifndef CASM_Monte_CanonicalEvent
2 #define CASM_Monte_CanonicalEvent
3 
4 #include "casm/external/Eigen/Dense"
8 
9 namespace CASM {
10 namespace Monte {
11 
15  public:
18 
26  CanonicalEvent(size_type Nspecies, size_type Ncorr);
27 
30  void set_dEf(double dE);
31 
34  double dEf() const;
35 
38  const Eigen::VectorXl &dN() const;
39 
42  long int dN(size_type species_type_index) const;
43 
45  double dEpot() const;
46 
50 
53  const Eigen::VectorXd &dCorr() const;
54 
57 
59  const OccEvent &occ_event() const;
60 
61  private:
64 
66  double m_dEf;
67 
70  // double m_dEpot; == m_dEf
71 
75 
78 };
79 
80 } // namespace Monte
81 } // namespace CASM
82 
83 #endif
Data structure for storing information regarding a proposed grand canonical Monte Carlo event.
CanonicalEvent()
Default constructor.
double dEpot() const
Return change in (extensive) potential energy, dEpot = dEf.
double dEf() const
Return change in (extensive) formation energy associated with this event.
void set_dEf(double dE)
Set the change in (extensive) formation energy associated with this event.
Eigen::VectorXd & dCorr()
Access the changes in (extensive) correlations associated with this event.
double m_dEf
Change in (extensive) formation energy due to this event.
Eigen::VectorXd m_dCorr
Change in (extensive) correlations due to this event.
OccEvent & occ_event()
Access the data describing this event.
const Eigen::VectorXl & dN() const
const Access change in number of species per supercell. Zeros, size of CompositionConverter::componen...
OccEvent m_occ_event
The modifications performed by this event.
Eigen::VectorXl m_dN
Change in (extensive) potential energy, dEpot = dEf - sum_i(Nunit * param_chem_pot_i * dcomp_x_i)
Main CASM namespace.
Definition: APICommand.hh:8
Eigen::VectorXd VectorXd
Matrix< long int, Dynamic, 1 > VectorXl
Definition: eigen.hh:15