CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
Relates to CASM project settings, directory structure, etc.
A CASM project encompasses all the settings, calculations, cluster expansions, Monte Carlo results, etc. related to a single parent crystal structure (known as the 'prim').
All the results and data related to a CASM project may be stored in a directory tree with structure defined by the DirectoryStructure class, and accessible through the top-level data structure PrimClex.
Modules | |
PrimClex | |
PrimClex is the top-level data structure for a CASM project. | |
Classes | |
struct | CASM::QueryTraits< DataObject > |
class | CASM::ProjectSettings |
struct | CASM::jsonConstructor< ReturnType > |
Helper struct for constructing objects that need additional data. More... | |
struct | CASM::jsonConstructor< ProjectSettings > |
Functions | |
bool | CASM::is_valid_project_name (std::string project_name) |
void | CASM::throw_if_project_name_is_not_valid (std::string project_name) |
Throw if project name is invalid. More... | |
bool | CASM::create_all_directories (ProjectSettings const &set) |
void | CASM::print_compiler_settings_summary (ProjectSettings const &set, Log &log) |
Print summary of compiler settings, as for 'casm settings -l'. More... | |
void | CASM::print_summary (ProjectSettings const &set, Log &log) |
Print summary of ProjectSettings, as for 'casm settings -l'. More... | |
jsonParser & | CASM::to_json (const ProjectSettings &set, jsonParser &json) |
Serialize ProjectSettings to JSON. More... | |
void | CASM::write_project_settings (ProjectSettings const &set, fs::path project_settings_path) |
ProjectSettings | CASM::read_project_settings (fs::path project_settings_path) |
void | CASM::commit (ProjectSettings const &set) |
ProjectSettings | CASM::open_project_settings (fs::path path_in_project) |
void CASM::commit | ( | ProjectSettings const & | set | ) |
Write project settings file for an existing project
Equivalent to write_project_settings(set, set.dir().project_settings())
Definition at line 688 of file ProjectSettings.cc.
bool CASM::create_all_directories | ( | ProjectSettings const & | set | ) |
Add directories for all cluster expansions
For all ClexDescription currently saved in this->cluster_expansions()
, create bset, calc_settings, ref, and eci directories
Definition at line 393 of file ProjectSettings.cc.
bool CASM::is_valid_project_name | ( | std::string | project_name | ) |
Return true if project name is valid
Notes:
check if project_name is suitable:
check if project_name is suitable:
Definition at line 22 of file ProjectSettings.cc.
ProjectSettings CASM::open_project_settings | ( | fs::path | path_in_project | ) |
Open the project settings JSON file of an existing project
Note:
ProjectSettings::has_dir() == true
)path_in_project
does not need to be a root dir exactly, it may be anywere inside a CASM projectpath_in_project
is not inside any CASM project or reading fails Definition at line 692 of file ProjectSettings.cc.
void CASM::print_compiler_settings_summary | ( | ProjectSettings const & | set, |
Log & | log | ||
) |
Print summary of compiler settings, as for 'casm settings -l'.
Definition at line 420 of file ProjectSettings.cc.
void CASM::print_summary | ( | ProjectSettings const & | set, |
Log & | log | ||
) |
Print summary of ProjectSettings, as for 'casm settings -l'.
Definition at line 433 of file ProjectSettings.cc.
ProjectSettings CASM::read_project_settings | ( | fs::path | project_settings_path | ) |
Read ProjectSettings from JSON file
project_settings_path | Location of ProjectSettings JSON file |
Note:
ProjectSettings::has_dir() == false
) Definition at line 676 of file ProjectSettings.cc.
void CASM::throw_if_project_name_is_not_valid | ( | std::string | project_name | ) |
Throw if project name is invalid.
check if project_name is suitable:
check if project_name is suitable:
Definition at line 30 of file ProjectSettings.cc.
jsonParser & CASM::to_json | ( | const ProjectSettings & | set, |
jsonParser & | json | ||
) |
Serialize ProjectSettings to JSON.
Definition at line 501 of file ProjectSettings.cc.
void CASM::write_project_settings | ( | ProjectSettings const & | set, |
fs::path | project_settings_path | ||
) |
Write ProjectSettings to JSON file
set | ProjectSettings |
project_settings_path | Location to write ProjectSettings JSON file |
Definition at line 665 of file ProjectSettings.cc.