CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <ClexBasis.hh>
Definition at line 31 of file ClexBasis.hh.
Public Types | |
typedef std::vector< BasisSet > | BSetOrbit |
typedef std::vector< BSetOrbit >::const_iterator | BSetOrbitIterator |
typedef Structure | PrimType |
typedef std::shared_ptr< const Structure > | PrimType_ptr |
Public Member Functions | |
ClexBasis (PrimType_ptr _prim_ptr, ClexBasisSpecs const &_basis_set_specs, ParsingDictionary< DoFType::Traits > const *_dof_dict) | |
PrimType const & | prim () const |
PrimType_ptr | shared_prim () const |
ClexBasisSpecs const & | basis_set_specs () const |
ParsingDictionary< DoFType::Traits > const * | dof_dict () const |
DoFType::Traits const & | lookup_dof_type_traits (std::string const &key) const |
Index | n_sublat () const |
Total number of basis sites in primitive cell. More... | |
Index | n_orbits () const |
Total number of BasisSet orbits. More... | |
Index | n_functions () const |
Total number of basis functions. More... | |
BasisSet const & | clust_basis (Index orbit_ind, Index equiv_ind) const |
Const access of clust basis of orbit. More... | |
BSetOrbit const & | bset_orbit (Index orbit_ind) const |
Const access of BSetOrbit of orbit. More... | |
BSetOrbitIterator | begin () const |
Const iterator to first BasisSet orbit. More... | |
BSetOrbitIterator | cbegin () const |
Const iterator to first BasisSet orbit. More... | |
BSetOrbitIterator | end () const |
Const past-the-end iterator for BasisSet orbits. More... | |
BSetOrbitIterator | cend () const |
Const past-the-end iterator for BasisSet orbits. More... | |
std::map< DoFKey, std::vector< BasisSet > > const & | site_bases () const |
Const access to dictionary of all site BasisSets. More... | |
std::map< DoFKey, std::vector< BasisSet > > const & | global_bases () const |
Const access to dictionary of all global BasisSets. More... | |
template<typename OrbitIterType > | |
void | generate (OrbitIterType _begin, OrbitIterType _end) |
generate clust_basis for all equivalent clusters in More... | |
template<typename OrbitIteratorType > | |
void | generate (OrbitIteratorType _orbit_begin, OrbitIteratorType _orbit_end) |
Private Member Functions | |
template<typename OrbitType > | |
BasisSet | _construct_prototype_basis (OrbitType const &_orbit, std::vector< DoFKey > const &local_keys, std::vector< DoFKey > const &global_keys, Index max_poly_order) const |
void | _populate_site_bases () |
Performs heavy lifting for populating site bases in m_site_bases. More... | |
Private Attributes | |
PrimType_ptr | m_prim_ptr |
ClexBasisSpecs | m_basis_set_specs |
ParsingDictionary< DoFType::Traits > const * | m_dof_dict |
notstd::cloneable_ptr< ClexBasisBuilder > | m_basis_builder |
pointer to class that constructs cluster functions More... | |
std::vector< BSetOrbit > | m_bset_tree |
Collection of all cluster orbits (are we keeping this?) More... | |
std::map< DoFKey, std::vector< BasisSet > > | m_site_bases |
Dictionary of all site BasisSets, initialized on construction m_site_basis[DOF][b] gives site basis functions for 'DOF' at site 'b' of prim. More... | |
std::map< DoFKey, std::vector< BasisSet > > | m_global_bases |
Dictionary of all global BasisSets, initialized. More... | |
typedef std::vector<BasisSet> CASM::ClexBasis::BSetOrbit |
Definition at line 33 of file ClexBasis.hh.
typedef std::vector<BSetOrbit>::const_iterator CASM::ClexBasis::BSetOrbitIterator |
Definition at line 34 of file ClexBasis.hh.
typedef Structure CASM::ClexBasis::PrimType |
Definition at line 36 of file ClexBasis.hh.
typedef std::shared_ptr<const Structure> CASM::ClexBasis::PrimType_ptr |
Definition at line 37 of file ClexBasis.hh.
CASM::ClexBasis::ClexBasis | ( | PrimType_ptr | _prim_ptr, |
ClexBasisSpecs const & | _basis_set_specs, | ||
ParsingDictionary< DoFType::Traits > const * | _dof_dict | ||
) |
Constructor
_prim_ptr | Shared pointer to prim Structure |
_basis_function_specs | Parameters specifying how to construct basis functions. See BasisFunctionSpecs for documentation of options. |
The constructor constructs site bases, so that they are ready to be used when the generate
method is called with a range of cluster orbits to generate cluster expasion basis functions.
Definition at line 31 of file ClexBasis.cc.
|
private |
Definition at line 109 of file ClexBasis_impl.hh.
|
private |
Performs heavy lifting for populating site bases in m_site_bases.
Definition at line 107 of file ClexBasis.cc.
ClexBasisSpecs const & CASM::ClexBasis::basis_set_specs | ( | ) | const |
Definition at line 75 of file ClexBasis.cc.
|
inline |
Const iterator to first BasisSet orbit.
Definition at line 83 of file ClexBasis.hh.
Const access of BSetOrbit of orbit.
orbit_ind |
Definition at line 78 of file ClexBasis.hh.
|
inline |
Const iterator to first BasisSet orbit.
Definition at line 86 of file ClexBasis.hh.
|
inline |
Const past-the-end iterator for BasisSet orbits.
Definition at line 92 of file ClexBasis.hh.
Const access of clust basis of orbit.
orbit_ind | and equivalent cluster |
equiv_ind |
Definition at line 73 of file ClexBasis.hh.
ParsingDictionary< DoFType::Traits > const * CASM::ClexBasis::dof_dict | ( | ) | const |
Definition at line 79 of file ClexBasis.cc.
|
inline |
Const past-the-end iterator for BasisSet orbits.
Definition at line 89 of file ClexBasis.hh.
void CASM::ClexBasis::generate | ( | OrbitIteratorType | _orbit_begin, |
OrbitIteratorType | _orbit_end | ||
) |
Definition at line 31 of file ClexBasis_impl.hh.
void CASM::ClexBasis::generate | ( | OrbitIterType | _begin, |
OrbitIterType | _end | ||
) |
generate clust_basis for all equivalent clusters in
_orbitree | |
_begin,_end | A range of cluster orbits for which to generate cluster basis functions |
Const access to dictionary of all global BasisSets.
Definition at line 100 of file ClexBasis.hh.
DoFType::Traits const & CASM::ClexBasis::lookup_dof_type_traits | ( | std::string const & | key | ) | const |
Definition at line 83 of file ClexBasis.cc.
Index CASM::ClexBasis::n_functions | ( | ) | const |
Total number of basis functions.
Definition at line 96 of file ClexBasis.cc.
Index CASM::ClexBasis::n_orbits | ( | ) | const |
Total number of BasisSet orbits.
Total number of cluster orbits.
Definition at line 93 of file ClexBasis.cc.
Index CASM::ClexBasis::n_sublat | ( | ) | const |
Total number of basis sites in primitive cell.
Definition at line 90 of file ClexBasis.cc.
const ClexBasis::PrimType & CASM::ClexBasis::prim | ( | ) | const |
Definition at line 71 of file ClexBasis.cc.
ClexBasis::PrimType_ptr CASM::ClexBasis::shared_prim | ( | ) | const |
Definition at line 73 of file ClexBasis.cc.
Const access to dictionary of all site BasisSets.
Definition at line 95 of file ClexBasis.hh.
|
private |
pointer to class that constructs cluster functions
Definition at line 129 of file ClexBasis.hh.
|
private |
Definition at line 124 of file ClexBasis.hh.
|
private |
Collection of all cluster orbits (are we keeping this?)
Collection of all cluster BasisSets, one per cluster orbit
Definition at line 135 of file ClexBasis.hh.
|
private |
Definition at line 126 of file ClexBasis.hh.
Dictionary of all global BasisSets, initialized.
Definition at line 143 of file ClexBasis.hh.
|
private |
Definition at line 122 of file ClexBasis.hh.
Dictionary of all site BasisSets, initialized on construction m_site_basis[DOF][b] gives site basis functions for 'DOF' at site 'b' of prim.
Definition at line 140 of file ClexBasis.hh.