CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
Namespaces | |
ConfigIO | |
Classes | |
class | Selection |
struct | ConstructImpl |
class | InterfaceData |
class | Database |
class | Selected |
Returns true if configuration is specified in given selection (default: MASTER) More... | |
class | ValDatabase |
Generic interface for database of a particular CASM type. More... | |
class | Remove< Supercell > |
class | DatabaseIterator |
Wrapper class for specializations DatabaseIteratorBase. More... | |
class | Cache |
Store data in JSON. More... | |
struct | TypeTag |
class | ConfigData |
class | StructureMap |
class | Database< Configuration > |
class | StructureMap< Configuration > |
class | Import< Configuration > |
Configuration-specialized Import. More... | |
class | Update< Configuration > |
Configuration-specialized Import. More... | |
class | DatabaseBase |
Fully generic database interface for use by DatabaseHandler. More... | |
class | DatabaseIteratorBase |
class | DatabaseHandler |
Provides access to all databases. More... | |
class | DatabaseNameIterator |
DatabaseIterator for implementations using std::map<std::string, ObjIterator> More... | |
class | DatabaseSetIterator |
DatabaseIterator for implementations using std::set<ValueType> More... | |
struct | ImportSettings |
Struct with optional parameters for Config/Data Import Specifies default parameters for all values, in order to simplify parsing from JSON. More... | |
class | ImportT |
Generic ConfigType-dependent part of Import. More... | |
class | Import |
class | jsonDatabase |
struct | jsonDB |
class | jsonDatabase< Supercell > |
class | jsonDatabase< Configuration > |
class | jsonPropertiesDatabaseIterator |
class | jsonPropertiesDatabase |
An implementation of PropertiesDatabase for reading/writing JSON. More... | |
class | Named |
class | Indexed |
class | PropertiesDatabaseIteratorBase |
class | PropertiesDatabaseIterator |
Wrapper class for specializations PropertiesDatabaseIteratorBase. More... | |
class | PropertiesDatabase |
class | RemoveT |
Generic ConfigType-dependent part of Remove. More... | |
class | Remove |
class | Database< Supercell > |
class | SelectionIterator |
class | UpdateT |
Generic ConfigType-dependent part of Import. More... | |
class | Update |
struct | EraseScelConfigsBase |
Helper struct base class. More... | |
struct | EraseScelConfigs |
struct | EraseDataScelConfigs |
struct | EraseAllScelConfigs |
Typedefs | |
typedef std::tuple< BOOST_PP_SEQ_ENUM(CASM_DB_TYPES)> | DataObjectTypeTuple |
typedef std::tuple< BOOST_PP_SEQ_ENUM(CASM_DB_CONFIG_TYPES)> | ConfigTypeTuple |
template<typename T > | |
using | IfConfigType = std::enable_if< CASM_TMP::has_type< T, ConfigTypeTuple >::value, T > |
template<typename T > | |
using | IfNotConfigType = std::enable_if<!CASM_TMP::has_type< T, ConfigTypeTuple >::value, T > |
Enumerations | |
enum class | SELECTION_TYPE { MASTER , ALL , NONE , EMPTY , CALCULATED } |
Functions | |
std::string | create_report_dir (std::string report_dir) |
Create a new report directory to avoid overwriting existing results. More... | |
Configuration | in_canonical_supercell (Configuration const &configuration, Database< Supercell > &supercell_db) |
Returns the canonical form Configuration in the canonical Supercell. More... | |
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. More... | |
template<typename EnumeratorType > | |
ConfigInsertResult | make_canonical_and_insert (EnumeratorType const &enumerator, Configuration const &configuration, Database< Supercell > &supercell_db, Database< Configuration > &configuration_db, bool primitive_only) |
Insert this configuration (in primitive & canonical form) in the database. More... | |
template<typename F > | |
void | for_each_type (F f) |
template<typename F > | |
void | for_type (std::string name, F f) |
template<typename F > | |
void | for_type_short (std::string short_name, F f) |
const std::set< std::string > & | types () |
std::set of all QueryTraits<DataObject>::name More... | |
const std::set< std::string > & | types_short () |
std::set of all QueryTraits<DataObject>::short_name More... | |
template<typename F > | |
void | for_each_config_type (F f) |
template<typename F > | |
void | for_config_type (std::string name, F f) |
template<typename F > | |
void | for_config_type_short (std::string short_name, F f) |
const std::set< std::string > & | config_types () |
std::set of all QueryTraits<ConfigType>::name More... | |
const std::set< std::string > & | config_types_short () |
std::set of all QueryTraits<ConfigType>::short_name More... | |
Index | config_count (std::string scelname, const PrimClex &primclex) |
Total number of configs of all types in a supercell. More... | |
Index | config_count (std::string configtype, std::string scelname, const PrimClex &primclex) |
Total number of configs of a specific type in a supercell. More... | |
Index | config_calculated_count (std::string scelname, const PrimClex &primclex) |
Total number of calculated configs of all types in a supercell. More... | |
Index | config_calculated_count (std::string configtype, std::string scelname, const PrimClex &primclex) |
Total number of calculated configs of a specific type in a supercell. More... | |
Index | config_data_count (std::string scelname, const PrimClex &primclex) |
Total number of configs w/ data or files of all types in a supercell. More... | |
Index | config_data_count (std::string configtype, std::string scelname, const PrimClex &primclex) |
Total number of configs w/ data or files of a specific type in a supercell. More... | |
template<typename OutputIterator > | |
std::pair< OutputIterator, int > | construct_pos_paths (const PrimClex &primclex, const Completer::ImportOption &import_opt, OutputIterator result) |
Construct pos_paths from input args –pos && –batch. More... | |
jsonParser & | to_json (ImportSettings const &_set, jsonParser &_json) |
jsonParser const & | from_json (ImportSettings &_set, jsonParser const &_json) |
template<typename DataObject > | |
DB::Selection< DataObject > | make_selection (DB::Database< DataObject > &db, const jsonParser &kwargs, std::string name_key, std::string sel_key, OnError on_error=OnError::THROW) |
Make a DB::Selection from JSON input. More... | |
template<typename DataObject > | |
Selection< DataObject > | make_selection (Database< DataObject > &db, const jsonParser &kwargs, std::string name_key, std::string sel_key, OnError on_error) |
Make a Selection from JSON input. More... | |
Supercell const & | canonical_supercell (Supercell const &supercell, Database< Supercell > &supercell_db) |
std::pair< Database< Supercell >::iterator, bool > | make_canonical_and_insert (std::shared_ptr< Structure const > const &shared_prim, Lattice const &super_lattice, Database< Supercell > &supercell_db) |
Make canonical supercell and insert into supercell database. More... | |
std::pair< Database< Supercell >::iterator, bool > | make_canonical_and_insert (std::shared_ptr< Structure const > const &shared_prim, Eigen::Matrix3l const &transformation_matrix_to_super, Database< Supercell > &supercell_db) |
Make canonical supercell and insert into supercell database. More... | |
std::pair< Database< Supercell >::iterator, bool > | make_canonical_and_insert (Supercell const &supercell, Database< Supercell > &supercell_db) |
Make canonical supercell and insert into supercell database. More... | |
template<typename EnumeratorType > | |
std::pair< Database< Supercell >::iterator, bool > | make_canonical_and_insert (EnumeratorType const &enumerator, Supercell const &supercell, Database< Supercell > &supercell_db) |
template std::pair< vector_path_back_inserter, int > | construct_pos_paths< vector_path_back_inserter > (const PrimClex &primclex, const Completer::ImportOption &import_opt, vector_path_back_inserter result) |
template std::pair< set_path_inserter, int > | construct_pos_paths< set_path_inserter > (const PrimClex &primclex, const Completer::ImportOption &import_opt, set_path_inserter result) |
typedef std::tuple<BOOST_PP_SEQ_ENUM(CASM_DB_CONFIG_TYPES)> CASM::DB::ConfigTypeTuple |
Definition at line 35 of file DatabaseTypes.hh.
typedef std::tuple<BOOST_PP_SEQ_ENUM(CASM_DB_TYPES)> CASM::DB::DataObjectTypeTuple |
Definition at line 31 of file DatabaseTypes.hh.
using CASM::DB::IfConfigType = typedef std::enable_if<CASM_TMP::has_type<T, ConfigTypeTuple>::value, T> |
Definition at line 40 of file DatabaseTypes.hh.
using CASM::DB::IfNotConfigType = typedef std::enable_if<!CASM_TMP::has_type<T, ConfigTypeTuple>::value, T> |
Definition at line 44 of file DatabaseTypes.hh.
|
strong |
Enumerator | |
---|---|
MASTER | |
ALL | |
NONE | |
EMPTY | |
CALCULATED |
Definition at line 16 of file Selection.hh.
Supercell const & CASM::DB::canonical_supercell | ( | Supercell const & | supercell, |
Database< Supercell > & | supercell_db | ||
) |
Return const reference to canonical equivalent supercell in the supercell database
Return const reference to canonical equivalent supercell in the supercell database
Note:
PrimClex const*
(this is preferred if possible) Definition at line 58 of file ScelDatabaseTools.cc.
Index CASM::DB::config_calculated_count | ( | std::string | configtype, |
std::string | scelname, | ||
const PrimClex & | primclex | ||
) |
Total number of calculated configs of a specific type in a supercell.
Definition at line 141 of file DatabaseTypes.cc.
Total number of calculated configs of all types in a supercell.
Definition at line 132 of file DatabaseTypes.cc.
Index CASM::DB::config_count | ( | std::string | configtype, |
std::string | scelname, | ||
const PrimClex & | primclex | ||
) |
Total number of configs of a specific type in a supercell.
Definition at line 122 of file DatabaseTypes.cc.
Total number of configs of all types in a supercell.
Definition at line 113 of file DatabaseTypes.cc.
Index CASM::DB::config_data_count | ( | std::string | configtype, |
std::string | scelname, | ||
const PrimClex & | primclex | ||
) |
Total number of configs w/ data or files of a specific type in a supercell.
Definition at line 160 of file DatabaseTypes.cc.
Total number of configs w/ data or files of all types in a supercell.
Definition at line 151 of file DatabaseTypes.cc.
const std::set< std::string > & CASM::DB::config_types | ( | ) |
std::set of all QueryTraits<ConfigType>::name
Definition at line 96 of file DatabaseTypes.cc.
const std::set< std::string > & CASM::DB::config_types_short | ( | ) |
std::set of all QueryTraits<ConfigType>::short_name
Definition at line 104 of file DatabaseTypes.cc.
std::pair< OutputIterator, int > CASM::DB::construct_pos_paths | ( | const PrimClex & | primclex, |
const Completer::ImportOption & | import_opt, | ||
OutputIterator | result | ||
) |
Construct pos_paths from input args –pos && –batch.
Construct pos_paths from input args
Definition at line 22 of file Import_impl.hh.
template std::pair<set_path_inserter, int> CASM::DB::construct_pos_paths< set_path_inserter > | ( | const PrimClex & | primclex, |
const Completer::ImportOption & | import_opt, | ||
set_path_inserter | result | ||
) |
template std::pair<vector_path_back_inserter, int> CASM::DB::construct_pos_paths< vector_path_back_inserter > | ( | const PrimClex & | primclex, |
const Completer::ImportOption & | import_opt, | ||
vector_path_back_inserter | result | ||
) |
std::string CASM::DB::create_report_dir | ( | std::string | report_dir | ) |
Create a new report directory to avoid overwriting existing results.
Definition at line 58 of file ConfigData.cc.
void CASM::DB::for_config_type | ( | std::string | name, |
F | f | ||
) |
Definition at line 76 of file DatabaseTypes.hh.
void CASM::DB::for_config_type_short | ( | std::string | short_name, |
F | f | ||
) |
Definition at line 81 of file DatabaseTypes.hh.
void CASM::DB::for_each_config_type | ( | F | f | ) |
Definition at line 71 of file DatabaseTypes.hh.
void CASM::DB::for_each_type | ( | F | f | ) |
Definition at line 50 of file DatabaseTypes.hh.
void CASM::DB::for_type | ( | std::string | name, |
F | f | ||
) |
Definition at line 55 of file DatabaseTypes.hh.
void CASM::DB::for_type_short | ( | std::string | short_name, |
F | f | ||
) |
Definition at line 60 of file DatabaseTypes.hh.
jsonParser const & CASM::DB::from_json | ( | ImportSettings & | _set, |
jsonParser const & | _json | ||
) |
Configuration CASM::DB::in_canonical_supercell | ( | Configuration const & | configuration, |
Database< Supercell > & | supercell_db | ||
) |
Returns the canonical form Configuration in the canonical Supercell.
Returns the canonical form Configuration in the canonical Supercell
Note:
PrimClex const*
(this is preferred if possible) Definition at line 95 of file ConfigDatabaseTools.cc.
ConfigInsertResult CASM::DB::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.
Insert this configuration (in primitive & canonical form) in the database
primitive_only | If true, only the primitive Configuration is inserted. |
Note:
configuration_db.insert(configuration)
directly.PrimClex const*
(this is preferred if possible) Definition at line 120 of file ConfigDatabaseTools.cc.
ConfigInsertResult CASM::DB::make_canonical_and_insert | ( | EnumeratorType const & | enumerator, |
Configuration const & | configuration, | ||
Database< Supercell > & | supercell_db, | ||
Database< Configuration > & | configuration_db, | ||
bool | primitive_only | ||
) |
Insert this configuration (in primitive & canonical form) in the database.
Insert this configuration (in primitive & canonical form) in the database
is_guaranteed_for_database_insert(enumerator)
and either inserts directly or makes canonical and then inserts Definition at line 18 of file ConfigDatabaseTools_impl.hh.
std::pair< Database< Supercell >::iterator, bool > CASM::DB::make_canonical_and_insert | ( | EnumeratorType const & | enumerator, |
Supercell const & | supercell, | ||
Database< Supercell > & | supercell_db | ||
) |
Make canonical supercell and insert into supercell database
is_guaranteed_for_database_insert(enumerator)
and either inserts directly or makes canonical and then inserts Definition at line 16 of file ScelDatabaseTools_impl.hh.
std::pair< Database< Supercell >::iterator, bool > CASM::DB::make_canonical_and_insert | ( | std::shared_ptr< Structure const > const & | shared_prim, |
Eigen::Matrix3l const & | transformation_matrix_to_super, | ||
Database< Supercell > & | supercell_db | ||
) |
Make canonical supercell and insert into supercell database.
Definition at line 78 of file ScelDatabaseTools.cc.
std::pair< Database< Supercell >::iterator, bool > CASM::DB::make_canonical_and_insert | ( | std::shared_ptr< Structure const > const & | shared_prim, |
Lattice const & | super_lattice, | ||
Database< Supercell > & | supercell_db | ||
) |
Make canonical supercell and insert into supercell database.
Definition at line 67 of file ScelDatabaseTools.cc.
std::pair< Database< Supercell >::iterator, bool > CASM::DB::make_canonical_and_insert | ( | Supercell const & | supercell, |
Database< Supercell > & | supercell_db | ||
) |
Make canonical supercell and insert into supercell database.
Definition at line 88 of file ScelDatabaseTools.cc.
Selection<DataObject> CASM::DB::make_selection | ( | Database< DataObject > & | db, |
const jsonParser & | kwargs, | ||
std::string | name_key, | ||
std::string | sel_key, | ||
OnError | on_error | ||
) |
Make a Selection from JSON input.
Make a DB::Selection from JSON input.
db | The database to generate the selection from |
kwargs | jsonParser with JSON input |
name_key | Read object names from kwargs[name_key]. Expects array of string. |
sel_key | Read selection name for kwargs[sel_key]. Expect string. |
on_error | Indicates how to handle names that do not exist in database. OnError::WARN is not allowed and treated as OnError::THROW. |
Notes:
Definition at line 30 of file json_io_impl.hh.
DB::Selection<DataObject> CASM::DB::make_selection | ( | Database< DataObject > & | db, |
const jsonParser & | kwargs, | ||
std::string | name_key, | ||
std::string | sel_key, | ||
OnError | on_error | ||
) |
Make a DB::Selection from JSON input.
Make a DB::Selection from JSON input.
db | The database to generate the selection from |
kwargs | jsonParser with JSON input |
name_key | Read object names from kwargs[name_key]. Expects array of string. |
sel_key | Read selection name for kwargs[sel_key]. Expect string. |
on_error | Indicates how to handle names that do not exist in database. OnError::WARN is not allowed and treated as OnError::THROW. |
Notes:
Definition at line 30 of file json_io_impl.hh.
jsonParser & CASM::DB::to_json | ( | ImportSettings const & | _set, |
jsonParser & | _json | ||
) |
const std::set< std::string > & CASM::DB::types | ( | ) |
std::set of all QueryTraits<DataObject>::name
Definition at line 80 of file DatabaseTypes.cc.
const std::set< std::string > & CASM::DB::types_short | ( | ) |
std::set of all QueryTraits<DataObject>::short_name
Definition at line 88 of file DatabaseTypes.cc.