CASM
AClustersApproachtoStatisticalMechanics
|
#include <OccLocation.hh>
Stores data to enable efficient proposal and update of occupation mutation.
Definition at line 68 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 72 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 207 of file OccLocation.cc.
|
private |
Canonical propose.
Definition at line 231 of file OccLocation.cc.
Update configdof and this to reflect that event 'e' occurred.
Definition at line 161 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 91 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 96 of file OccLocation.cc.
void CASM::Monte::OccLocation::initialize | ( | const Configuration & | config | ) |
Fill tables with occupation info.
Definition at line 18 of file OccLocation.cc.
Convert from config index to variable site index.
Definition at line 111 of file OccLocation.cc.
Definition at line 82 of file OccLocation.cc.
Definition at line 86 of file OccLocation.cc.
Mol.id of a particular OccCandidate type.
The index into the configuration of a particular mutating site.
Definition at line 101 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 106 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 116 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 143 of file OccLocation.cc.
OccLocation::size_type CASM::Monte::OccLocation::size | ( | ) | const |
Total number of mutating sites.
Definition at line 78 of file OccLocation.cc.
|
private |
Definition at line 120 of file OccLocation.hh.
|
private |
Definition at line 118 of file OccLocation.hh.
|
private |
If true, update Species location during apply.
Definition at line 136 of file OccLocation.hh.
|
private |
l_to_mol[l] -> Mol.id, m_mol.size() otherwise
Definition at line 133 of file OccLocation.hh.
|
private |
Gives a list of all Mol of the same {asym, species}-type allowed to mutate m_loc[asym][i] -> m_mol index
Definition at line 124 of file OccLocation.hh.
|
private |
Holds Mol objects, one for each mutating site in the configuration.
Definition at line 130 of file OccLocation.hh.
|
private |
Holds Monte::Species objects.
Definition at line 127 of file OccLocation.hh.
|
private |
Data structure used store temporaries during apply.
Definition at line 139 of file OccLocation.hh.
|
mutableprivate |
Data used by propose_canonical.
Definition at line 142 of file OccLocation.hh.