CASM  1.1.0
A Clusters Approach to Statistical Mechanics
SimpleStructureTools.hh
Go to the documentation of this file.
1 #ifndef CLEX_SIMPLESTRUCTURETOOLS_HH
2 #define CLEX_SIMPLESTRUCTURETOOLS_HH
3 
4 #include <set>
5 #include <vector>
6 
9 
10 namespace CASM {
11 
12 namespace xtal {
13 class SimpleStructure;
14 }
15 
16 class ConfigDoF;
17 class Configuration;
18 struct MappedProperties;
19 class Supercell;
20 
26 xtal::SimpleStructure make_simple_structure(
27  Supercell const &_scel, ConfigDoF const &_dof,
28  std::vector<DoFKey> const &_which_dofs = {});
29 
51 xtal::SimpleStructure make_simple_structure(
52  Configuration const &_config, std::vector<DoFKey> const &_which_dofs = {},
53  bool relaxed = false);
54 
71 xtal::SimpleStructure make_simple_structure(
72  Supercell const &_scel, ConfigDoF const &_dof,
73  MappedProperties const &_props, std::vector<DoFKey> const &_which_dofs = {},
74  bool relaxed = false);
75 
79 std::vector<std::set<Index> > atom_site_compatibility(
80  xtal::SimpleStructure const &sstruc, Configuration const &_config);
81 
85 std::vector<std::set<Index> > mol_site_compatibility(
86  xtal::SimpleStructure const &sstruc, Configuration const &_config);
87 
88 } // namespace CASM
89 
90 #endif
Main CASM namespace.
Definition: APICommand.hh:8
std::vector< std::set< Index > > atom_site_compatibility(xtal::SimpleStructure const &sstruc, Configuration const &_config)
Determine which sites of a Configuration can host each atom of a SimpleStructure result[i] is set of ...
std::vector< std::set< Index > > mol_site_compatibility(xtal::SimpleStructure const &sstruc, Configuration const &_config)
Determine which sites of a Configuration can host each molecule of a SimpleStructure result[i] is set...
xtal::SimpleStructure make_simple_structure(Supercell const &_scel, ConfigDoF const &_dof, std::vector< DoFKey > const &_which_dofs={})
Construct from ConfigDoF _dof belonging to provided Supercell _scel.