CASM  1.1.0
A Clusters Approach to Statistical Mechanics
ConfigEnumInput_impl.hh
Go to the documentation of this file.
1 #ifndef CASM_ConfigEnumInput_impl
2 #define CASM_ConfigEnumInput_impl
3 
5 
6 namespace CASM {
7 
13 template <typename SiteContainer>
14 void ConfigEnumInput::select_sites(SiteContainer const &_container) {
15  for (auto const &site_index : _container) select_site(site_index);
16 }
17 
19 template <typename SublatticeIndexContainer>
21  SublatticeIndexContainer const &_container) {
22  for (auto const &sublattice_index : _container)
23  select_sublattice(sublattice_index);
24 }
25 
29 template <typename PermuteIteratorIt>
30 std::vector<PermuteIterator> make_invariant_subgroup(
31  ConfigEnumInput const &config_enum_input, PermuteIteratorIt group_begin,
32  PermuteIteratorIt group_end) {
33  std::vector<PermuteIterator> invariant_subgroup;
34  std::set<Index> const &selected_sites = config_enum_input.sites();
35 
36  for (auto it = group_begin; it != group_end; ++it) {
39  }
40  }
41  return invariant_subgroup;
42 }
43 
45 } // namespace CASM
46 
47 #endif
virtual void push_back(const SymOp &new_op)
Definition: SymGroup.cc:818
void select_site(Index site_index)
std::set< Index > const & sites() const
void select_sublattices(SublatticeIndexContainer const &_container)
Select all sites on multiples sublattices.
std::vector< PermuteIterator > make_invariant_subgroup(ConfigEnumInput const &config_enum_input)
void select_sublattice(Index sublattice_index)
Select all sites on a sublattice.
void select_sites(SiteContainer const &_container)
Select sites by "site_index" or "site_uccoord".
Generic1DDatumFormatter< std::vector< Index >, ConfigEnumDataType > selected_sites()
SymGroup invariant_subgroup(const SymGroup &super_group, const xtal::Lattice &lat)
Returns the subgroup of the given group that keeps the lattice invariant.
Definition: SymTools.cc:34
Main CASM namespace.
Definition: APICommand.hh:8
bool site_indices_are_invariant(PermuteIterator const &permute_it, std::set< Index > const &site_indices)
Return true if the permutation does not mix given sites and other sites.