CASM  1.1.0
A Clusters Approach to Statistical Mechanics
ConfigDatabaseTools.hh
Go to the documentation of this file.
1 #ifndef CASM_ConfigDatabaseTools
2 #define CASM_ConfigDatabaseTools
3 
6 
7 namespace CASM {
8 
9 struct ConfigInsertResult;
10 class PrimClex;
11 
12 namespace DB {
13 
14 // Note: Supercell is being transitioned to no longer have a `PrimClex const *`.
15 // While this is occuring there are overloads of these functions with and
16 // without a `PrimClex const *`. Currently, the `PrimClex const *` is required
17 // for Configuration calculated properties, but not for enumeration without
18 // calculated properties.
19 
20 // /// Returns the canonical form Configuration in the canonical Supercell
21 // Configuration in_canonical_supercell(
22 // Configuration const &configuration,
23 // PrimClex const *primclex,
24 // Database<Supercell> &supercell_db);
25 //
26 // /// Insert this configuration (in primitive & canonical form) in the database
27 // ConfigInsertResult make_canonical_and_insert(
28 // Configuration const &configuration,
29 // PrimClex const *primclex,
30 // Database<Supercell> &supercell_db,
31 // Database<Configuration> &configuration_db,
32 // bool primitive_only);
33 
35 Configuration in_canonical_supercell(Configuration const &configuration,
36  Database<Supercell> &supercell_db);
37 
39 ConfigInsertResult make_canonical_and_insert(
40  Configuration const &configuration, Database<Supercell> &supercell_db,
41  Database<Configuration> &configuration_db, bool primitive_only);
42 
48 template <typename EnumeratorType>
49 ConfigInsertResult make_canonical_and_insert(
50  EnumeratorType const &enumerator, Configuration const &configuration,
51  Database<Supercell> &supercell_db,
52  Database<Configuration> &configuration_db, bool primitive_only);
53 } // namespace DB
54 } // namespace CASM
55 
56 #endif
Configuration in_canonical_supercell(Configuration const &configuration, Database< Supercell > &supercell_db)
Returns the canonical form Configuration in the canonical Supercell.
ConfigInsertResult make_canonical_and_insert(Configuration const &configuration, Database< Supercell > &supercell_db, Database< Configuration > &configuration_db, bool primitive_only)
Insert this configuration (in primitive & canonical form) in the database.
Main CASM namespace.
Definition: APICommand.hh:8