CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
Functions | |
std::string | clexulator_member_declarations (std::string const &class_name, ClexBasis const &clex, ParamPackMixIn const &_param_pack_mix_in, std::vector< std::unique_ptr< OrbitFunctionTraits > > const &orbit_func_traits, Index N_flower, std::string const &indent) |
std::string | clexulator_private_method_declarations (std::string const &class_name, ClexBasis const &clex, std::string const &indent) |
std::string | clexulator_public_method_declarations (std::string const &class_name, ClexBasis const &clex, std::string const &indent) |
template<typename OrbitType > | |
std::tuple< std::string, std::string > | clexulator_orbit_function_strings (std::string const &class_name, ClexBasis::BSetOrbit const &_bset_orbit, OrbitType const &_clust_orbit, std::function< std::string(Index, Index)> method_namer, PrimNeighborList &_nlist, std::vector< std::unique_ptr< FunctionVisitor > > const &visitors, std::string const &indent) |
template<typename OrbitType > | |
std::tuple< std::string, std::string > | clexulator_flower_function_strings (std::string const &class_name, ClexBasis::BSetOrbit const &_bset_orbit, OrbitType const &_clust_orbit, std::function< std::string(Index, Index)> method_namer, std::map< UnitCellCoord, std::set< UnitCellCoord > > const &_nhood, PrimNeighborList &_nlist, std::vector< std::unique_ptr< FunctionVisitor > > const &visitor, std::string const &indent) |
Print the flower function formulae for orbit. More... | |
template<typename OrbitType > | |
std::tuple< std::string, std::string > | clexulator_dflower_function_strings (std::string const &class_name, ClexBasis::BSetOrbit const &_bset_orbit, ClexBasis::BSetOrbit const &_site_bases, OrbitType const &_clust_orbit, std::function< std::string(Index, Index)> method_namer, std::map< UnitCellCoord, std::set< UnitCellCoord > > const &_nhood, PrimNeighborList &_nlist, std::vector< std::unique_ptr< FunctionVisitor > > const &visitors, FunctionVisitor const &prefactor_labeler, std::string const &indent) |
std::string | clexulator_interface_declaration (std::string const &class_name, ClexBasis const &clex, ParamPackMixIn const &_param_pack_mix_in, std::string const &indent) |
template<typename OrbitType > | |
std::string | clexulator_constructor_definition (std::string const &class_name, ClexBasis const &clex, std::vector< OrbitType > const &_tree, std::map< UnitCellCoord, std::set< UnitCellCoord > > const &_nhood, PrimNeighborList &_nlist, ParamPackMixIn const &_param_pack_mix_in, std::vector< std::string > const &orbit_method_names, std::vector< std::vector< std::string > > const &flower_method_names, std::vector< std::vector< std::string > > const &dflower_method_names, std::string const &indent) |
template<typename OrbitType > | |
std::string | clexulator_point_prepare_definition (std::string const &class_name, ClexBasis const &clex, std::vector< OrbitType > const &_tree, std::vector< std::unique_ptr< OrbitFunctionTraits > > const &orbit_func_traits, std::map< UnitCellCoord, std::set< UnitCellCoord > > const &_nhood, PrimNeighborList &_nlist, std::string const &indent) |
template<typename OrbitType > | |
std::string | clexulator_global_prepare_definition (std::string const &class_name, ClexBasis const &clex, std::vector< OrbitType > const &_tree, std::vector< std::unique_ptr< OrbitFunctionTraits > > const &orbit_func_traits, std::map< UnitCellCoord, std::set< UnitCellCoord > > const &_nhood, PrimNeighborList &_nlist, std::string const &indent) |
template<typename OrbitType > | |
std::vector< std::string > | orbit_function_cpp_strings (ClexBasis::BSetOrbit _bset_orbit, OrbitType const &_clust_orbit, PrimNeighborList &_nlist, std::vector< std::unique_ptr< FunctionVisitor > > const &visitors) |
template<typename OrbitType > | |
std::vector< std::string > | flower_function_cpp_strings (ClexBasis::BSetOrbit _bset_orbit, std::function< BasisSet(BasisSet const &)> _bset_transform, OrbitType const &_clust_orbit, std::map< UnitCellCoord, std::set< UnitCellCoord > > const &_nhood, PrimNeighborList &_nlist, std::vector< std::unique_ptr< FunctionVisitor > > const &_visitors, UnitCellCoord const &_nbor) |
nlist_index is the index of the basis site in the neighbor list More... | |
template<typename OrbitType > | |
void | print_proto_clust_funcs (ClexBasis const &clex, std::ostream &out, std::vector< OrbitType > const &_tree) |
template<typename OrbitIterType > | |
std::map< UnitCellCoord, std::set< UnitCellCoord > > | dependency_neighborhood (OrbitIterType begin, OrbitIterType end) |
template<typename UCCIterType , typename IntegralClusterSymCompareType > | |
std::set< UnitCellCoord > | equiv_ucc (UCCIterType begin, UCCIterType end, UnitCellCoord const &_pivot, Structure const &_prim, IntegralClusterSymCompareType const &_sym_compare) |
std::string CASM::ClexBasisWriter_impl::clexulator_constructor_definition | ( | std::string const & | class_name, |
ClexBasis const & | clex, | ||
std::vector< OrbitType > const & | _tree, | ||
std::map< UnitCellCoord, std::set< UnitCellCoord > > const & | _nhood, | ||
PrimNeighborList & | _nlist, | ||
ParamPackMixIn const & | _param_pack_mix_in, | ||
std::vector< std::string > const & | orbit_method_names, | ||
std::vector< std::vector< std::string > > const & | flower_method_names, | ||
std::vector< std::vector< std::string > > const & | dflower_method_names, | ||
std::string const & | indent | ||
) |
Definition at line 710 of file ClexBasisWriter_impl.hh.
std::tuple< std::string, std::string > CASM::ClexBasisWriter_impl::clexulator_dflower_function_strings | ( | std::string const & | class_name, |
ClexBasis::BSetOrbit const & | _bset_orbit, | ||
ClexBasis::BSetOrbit const & | _site_bases, | ||
OrbitType const & | _clust_orbit, | ||
std::function< std::string(Index, Index)> | method_namer, | ||
std::map< UnitCellCoord, std::set< UnitCellCoord > > const & | _nhood, | ||
PrimNeighborList & | _nlist, | ||
std::vector< std::unique_ptr< FunctionVisitor > > const & | visitors, | ||
FunctionVisitor const & | prefactor_labeler, | ||
std::string const & | indent | ||
) |
Definition at line 351 of file ClexBasisWriter_impl.hh.
std::tuple< std::string, std::string > CASM::ClexBasisWriter_impl::clexulator_flower_function_strings | ( | std::string const & | class_name, |
ClexBasis::BSetOrbit const & | _bset_orbit, | ||
OrbitType const & | _clust_orbit, | ||
std::function< std::string(Index, Index)> | method_namer, | ||
std::map< UnitCellCoord, std::set< UnitCellCoord > > const & | _nhood, | ||
PrimNeighborList & | _nlist, | ||
std::vector< std::unique_ptr< FunctionVisitor > > const & | visitor, | ||
std::string const & | indent | ||
) |
Print the flower function formulae for orbit.
_clust_orbit | specified by BasisSet |
_bset_orbit | The pivot of the flower is specified by |
_sublat_index | The flower function of site |
_sublat_index | and orbit |
_clust_orbit | is obtained by summing the contributions of all cluster functions from |
_bset_orbit | that 'touch' the site (b,i,j,k)=(sublat_index,0,0,0), including functions that are found by translations of equivalent clusters in |
_clust_orbit. | Depending on the orbit periodicity (i.e., Orbit::sym_compare()), not all translations of the cluster that touch (sublat_index,0,0,0) are translationally equivalent. Thus, the result is the std::map that associates UnitCell (i.e, translation) to a set of formulae, (i.e., std::vector<std::string>), with one formula per function in _clust_orbit[i] (some or all formulae may evaluate to zero, if if |
_clust_orbit | doesn't include site of type |
_sublat_index. | |
_bset_transfrom | is a function/functor that applies a transformation to each _bset_orbit[i]. |
_nlist | is the PrimNeighborList, used to index sites in the neighborhood |
_labelers | is a set of FunctionVisitors that can be used to control formatting of the formulae |
Definition at line 302 of file ClexBasisWriter_impl.hh.
std::string CASM::ClexBasisWriter_impl::clexulator_global_prepare_definition | ( | std::string const & | class_name, |
ClexBasis const & | clex, | ||
std::vector< OrbitType > const & | _tree, | ||
std::vector< std::unique_ptr< OrbitFunctionTraits > > const & | orbit_func_traits, | ||
std::map< UnitCellCoord, std::set< UnitCellCoord > > const & | _nhood, | ||
PrimNeighborList & | _nlist, | ||
std::string const & | indent | ||
) |
Definition at line 949 of file ClexBasisWriter_impl.hh.
std::string CASM::ClexBasisWriter_impl::clexulator_interface_declaration | ( | std::string const & | class_name, |
ClexBasis const & | clex, | ||
ParamPackMixIn const & | _param_pack_mix_in, | ||
std::string const & | indent | ||
) |
Definition at line 408 of file ClexBasisWriter.cc.
std::string CASM::ClexBasisWriter_impl::clexulator_member_declarations | ( | std::string const & | class_name, |
ClexBasis const & | clex, | ||
ParamPackMixIn const & | _param_pack_mix_in, | ||
std::vector< std::unique_ptr< OrbitFunctionTraits > > const & | orbit_func_traits, | ||
Index | N_flower, | ||
std::string const & | indent | ||
) |
Definition at line 50 of file ClexBasisWriter.cc.
std::tuple< std::string, std::string > CASM::ClexBasisWriter_impl::clexulator_orbit_function_strings | ( | std::string const & | class_name, |
ClexBasis::BSetOrbit const & | _bset_orbit, | ||
OrbitType const & | _clust_orbit, | ||
std::function< std::string(Index, Index)> | method_namer, | ||
PrimNeighborList & | _nlist, | ||
std::vector< std::unique_ptr< FunctionVisitor > > const & | visitors, | ||
std::string const & | indent | ||
) |
Definition at line 262 of file ClexBasisWriter_impl.hh.
std::string CASM::ClexBasisWriter_impl::clexulator_point_prepare_definition | ( | std::string const & | class_name, |
ClexBasis const & | clex, | ||
std::vector< OrbitType > const & | _tree, | ||
std::vector< std::unique_ptr< OrbitFunctionTraits > > const & | orbit_func_traits, | ||
std::map< UnitCellCoord, std::set< UnitCellCoord > > const & | _nhood, | ||
PrimNeighborList & | _nlist, | ||
std::string const & | indent | ||
) |
Definition at line 916 of file ClexBasisWriter_impl.hh.
std::string CASM::ClexBasisWriter_impl::clexulator_private_method_declarations | ( | std::string const & | class_name, |
ClexBasis const & | clex, | ||
std::string const & | indent | ||
) |
Definition at line 154 of file ClexBasisWriter.cc.
std::string CASM::ClexBasisWriter_impl::clexulator_public_method_declarations | ( | std::string const & | class_name, |
ClexBasis const & | clex, | ||
std::string const & | indent | ||
) |
Definition at line 370 of file ClexBasisWriter.cc.
std::map< UnitCellCoord, std::set< UnitCellCoord > > CASM::ClexBasisWriter_impl::dependency_neighborhood | ( | OrbitIterType | begin, |
OrbitIterType | end | ||
) |
Definition at line 614 of file ClexBasisWriter_impl.hh.
std::set< UnitCellCoord > CASM::ClexBasisWriter_impl::equiv_ucc | ( | UCCIterType | begin, |
UCCIterType | end, | ||
UnitCellCoord const & | _pivot, | ||
Structure const & | _prim, | ||
IntegralClusterSymCompareType const & | _sym_compare | ||
) |
Definition at line 669 of file ClexBasisWriter_impl.hh.
std::vector< std::string > CASM::ClexBasisWriter_impl::flower_function_cpp_strings | ( | ClexBasis::BSetOrbit | _bset_orbit, |
std::function< BasisSet(BasisSet const &)> | _bset_transform, | ||
OrbitType const & | _clust_orbit, | ||
std::map< UnitCellCoord, std::set< UnitCellCoord > > const & | _nhood, | ||
PrimNeighborList & | _nlist, | ||
std::vector< std::unique_ptr< FunctionVisitor > > const & | _visitors, | ||
UnitCellCoord const & | _nbor | ||
) |
nlist_index is the index of the basis site in the neighbor list
For each equivalent ucc that is in the equivalent cluster, translate the cluster so that the site coincides with nbor
For each equivalent ucc that is in the equivalent cluster, translate the cluster so that the site coincides with nbor
Definition at line 477 of file ClexBasisWriter_impl.hh.
std::vector< std::string > CASM::ClexBasisWriter_impl::orbit_function_cpp_strings | ( | ClexBasis::BSetOrbit | _bset_orbit, |
OrbitType const & | _clust_orbit, | ||
PrimNeighborList & | _nlist, | ||
std::vector< std::unique_ptr< FunctionVisitor > > const & | visitors | ||
) |
Definition at line 436 of file ClexBasisWriter_impl.hh.
void CASM::ClexBasisWriter_impl::print_proto_clust_funcs | ( | ClexBasis const & | clex, |
std::ostream & | out, | ||
std::vector< OrbitType > const & | _tree | ||
) |
Definition at line 556 of file ClexBasisWriter_impl.hh.