CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <OccLocation.hh>
Stores data to enable efficient proposal and update of occupation mutation.
Definition at line 76 of file OccLocation.hh.
Public Types | |
typedef Index | size_type |
Public Member Functions | |
OccLocation (const Conversions &_convert, const OccCandidateList &_cand) | |
void | initialize (const Configuration &config) |
Fill tables with occupation info. More... | |
size_type | size () const |
Total number of mutating sites. More... | |
Mol & | mol (Index mol_id) |
const Mol & | mol (Index mol_id) const |
size_type | cand_size (Index cand_index) const |
Total number of mutating sites, of OccCandidate type, specified by index. More... | |
size_type | cand_size (const OccCandidate &cand) const |
Total number of mutating sites, of OccCandidate type. More... | |
Index | mol_id (Index cand_index, Index loc) const |
Mol.id of a particular OccCandidate type. More... | |
Index | mol_id (const OccCandidate &cand, Index loc) const |
Mol.id of a particular OccCandidate type. More... | |
Index | l_to_mol_id (Index l) const |
Convert from config index to variable site index. More... | |
OccEvent & | propose_canonical (OccEvent &e, const std::vector< OccSwap > &canonical_swap, MTRand &mtrand) const |
Propose canonical OccEvent. More... | |
OccEvent & | propose_grand_canonical (OccEvent &e, const OccSwap &swap, MTRand &mtrand) const |
Propose grand canonical OccEvent. More... | |
void | apply (const OccEvent &e, ConfigDoF &configdof) |
Update configdof and this to reflect that event 'e' occurred. More... | |
Private Member Functions | |
OccEvent & | _propose (OccEvent &e, const OccSwap &swap, MTRand &mtrand, Index cand_a, Index cand_b, Index size_a, Index size_b) const |
Canonical propose. More... | |
OccEvent & | _propose (OccEvent &e, const OccSwap &swap, MTRand &mtrand) const |
Canonical propose. More... | |
Private Attributes | |
const Conversions & | m_convert |
const OccCandidateList & | m_cand |
std::vector< std::vector< Index > > | m_loc |
std::vector< Species > | m_species |
Holds Monte::Species objects. More... | |
std::vector< Mol > | m_mol |
Holds Mol objects, one for each mutating site in the configuration. More... | |
std::vector< Index > | m_l_to_mol |
l_to_mol[l] -> Mol.id, m_mol.size() otherwise More... | |
bool | m_kmc |
If true, update Species location during apply. More... | |
std::vector< Mol > | m_tmol |
Data structure used store temporaries during apply. More... | |
std::vector< double > | m_tsum |
Data used by propose_canonical. More... | |
Definition at line 78 of file OccLocation.hh.
CASM::Monte::OccLocation::OccLocation | ( | const Conversions & | _convert, |
const OccCandidateList & | _cand | ||
) |
Definition at line 11 of file OccLocation.cc.
|
private |
Canonical propose.
Definition at line 220 of file OccLocation.cc.
|
private |
Canonical propose.
Definition at line 192 of file OccLocation.cc.
Update configdof and this to reflect that event 'e' occurred.
Definition at line 147 of file OccLocation.cc.
OccLocation::size_type CASM::Monte::OccLocation::cand_size | ( | const OccCandidate & | cand | ) | const |
Total number of mutating sites, of OccCandidate type.
Definition at line 85 of file OccLocation.cc.
OccLocation::size_type CASM::Monte::OccLocation::cand_size | ( | Index | cand_index | ) | const |
Total number of mutating sites, of OccCandidate type, specified by index.
Definition at line 80 of file OccLocation.cc.
void CASM::Monte::OccLocation::initialize | ( | const Configuration & | config | ) |
Fill tables with occupation info.
Definition at line 16 of file OccLocation.cc.
Convert from config index to variable site index.
Definition at line 100 of file OccLocation.cc.
Definition at line 75 of file OccLocation.cc.
Definition at line 77 of file OccLocation.cc.
Index CASM::Monte::OccLocation::mol_id | ( | const OccCandidate & | cand, |
Index | loc | ||
) | const |
Mol.id of a particular OccCandidate type.
The index into the configuration of a particular mutating site.
Definition at line 95 of file OccLocation.cc.
Mol.id of a particular OccCandidate type.
The index into the configuration of a particular mutating site.
Definition at line 90 of file OccLocation.cc.
OccEvent & CASM::Monte::OccLocation::propose_canonical | ( | OccEvent & | e, |
const std::vector< OccSwap > & | canonical_swap, | ||
MTRand & | mtrand | ||
) | const |
Propose canonical OccEvent.
Definition at line 103 of file OccLocation.cc.
OccEvent & CASM::Monte::OccLocation::propose_grand_canonical | ( | OccEvent & | e, |
const OccSwap & | swap, | ||
MTRand & | mtrand | ||
) | const |
Propose grand canonical OccEvent.
Definition at line 128 of file OccLocation.cc.
OccLocation::size_type CASM::Monte::OccLocation::size | ( | ) | const |
Total number of mutating sites.
Definition at line 73 of file OccLocation.cc.
|
private |
Definition at line 130 of file OccLocation.hh.
|
private |
Definition at line 128 of file OccLocation.hh.
|
private |
If true, update Species location during apply.
Definition at line 146 of file OccLocation.hh.
|
private |
l_to_mol[l] -> Mol.id, m_mol.size() otherwise
Definition at line 143 of file OccLocation.hh.
|
private |
Gives a list of all Mol of the same {asym, species}-type allowed to mutate m_loc[cand_index][i] -> m_mol index
Definition at line 134 of file OccLocation.hh.
|
private |
Holds Mol objects, one for each mutating site in the configuration.
Definition at line 140 of file OccLocation.hh.
|
private |
Holds Monte::Species objects.
Definition at line 137 of file OccLocation.hh.
|
private |
Data structure used store temporaries during apply.
Definition at line 149 of file OccLocation.hh.
|
mutableprivate |
Data used by propose_canonical.
Definition at line 152 of file OccLocation.hh.