CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::DB::ConfigData Class Reference

#include <ConfigData.hh>

+ Inheritance diagram for CASM::DB::ConfigData:

Detailed Description

Definition at line 131 of file ConfigData.hh.

Public Member Functions

template<typename ConfigType >
 ConfigData (const PrimClex &_primclex, TypeTag< ConfigType >)
 
const PrimClexprimclex () const
 
Database< Supercell > & db_supercell () const
 Path to default calctype training_data directory for config. More...
 
template<typename ConfigType >
Database< ConfigType > & db_config () const
 
PropertiesDatabasedb_props () const
 Uses primclex().settings().default_clex().calctype. More...
 
std::string calc_dir (const std::string configname) const
 Path to default calctype training_data directory for config. More...
 
bool has_existing_files (const std::string &to_configname) const
 Return true if there are existing files in the traning_data directory for a particular configuration. More...
 
bool has_existing_data (const std::string &to_configname) const
 Return true if there are existing files in the traning_data directory for a particular configuration. More...
 
bool has_existing_data_or_files (const std::string &to_configname) const
 
bool no_change (const std::string &configname) const
 Check if 'properties.calc.json' file has not changed since last read. More...
 
void rm_files (const std::string &configname, bool dry_run) const
 Remove existing files in the traning_data directory for a particular configuration. More...
 
void cp_files (ConfigIO::Result &res, bool dry_run, bool copy_additional_files) const
 Copy files in the same directory as properties.calc.json into the traning_data directory for a particular configuration. More...
 

Static Public Member Functions

static std::string resolve_struc_path (std::string pos_path, PrimClex const &_pclex)
 Checks if pos_path can be used to resolve a properties.calc.json, and return its path Return path to properties.calc.json or POSCAR-type file that will be imported checking a couple possible locations relative to pos_path. More...
 

Private Attributes

const PrimClexm_primclex
 
std::function< PropertiesDatabase &()> m_db_props_func
 

Constructor & Destructor Documentation

◆ ConfigData()

template<typename ConfigType >
CASM::DB::ConfigData::ConfigData ( const PrimClex _primclex,
TypeTag< ConfigType >   
)

Definition at line 13 of file ConfigData_impl.hh.

Member Function Documentation

◆ calc_dir()

std::string CASM::DB::ConfigData::calc_dir ( const std::string  configname) const

Path to default calctype training_data directory for config.

Definition at line 237 of file ConfigData.cc.

◆ cp_files()

void CASM::DB::ConfigData::cp_files ( ConfigIO::Result res,
bool  dry_run,
bool  copy_additional_files 
) const

Copy files in the same directory as properties.calc.json into the traning_data directory for a particular configuration.

  • First: calc_props_path = _calc_properties_path(pos_path) to get properties.calc.json location
  • If calc_props_path.empty(), return
  • else if !copy_additional_files copy properties.calc.json file only and return
  • else, recursively copy all files from calc_props_path.remove_filename() to the training data directory for the current calctype
Returns
{did_cp, did_cp_more}:
  • did_cp: if properties.calc.json file was found and copied
  • did_cp_more: if additional files were found and copied

Definition at line 307 of file ConfigData.cc.

◆ db_config()

template<typename ConfigType >
Database< ConfigType > & CASM::DB::ConfigData::db_config

Definition at line 22 of file ConfigData_impl.hh.

◆ db_props()

PropertiesDatabase & CASM::DB::ConfigData::db_props ( ) const

Uses primclex().settings().default_clex().calctype.

Definition at line 234 of file ConfigData.cc.

◆ db_supercell()

Database< Supercell > & CASM::DB::ConfigData::db_supercell ( ) const

Path to default calctype training_data directory for config.

Definition at line 230 of file ConfigData.cc.

◆ has_existing_data()

bool CASM::DB::ConfigData::has_existing_data ( const std::string &  to_configname) const

Return true if there are existing files in the traning_data directory for a particular configuration.

Return true if there is data already associated with a particular configuration.

Definition at line 257 of file ConfigData.cc.

◆ has_existing_data_or_files()

bool CASM::DB::ConfigData::has_existing_data_or_files ( const std::string &  to_configname) const

Definition at line 261 of file ConfigData.cc.

◆ has_existing_files()

bool CASM::DB::ConfigData::has_existing_files ( const std::string &  to_configname) const

Return true if there are existing files in the traning_data directory for a particular configuration.

Definition at line 247 of file ConfigData.cc.

◆ no_change()

bool CASM::DB::ConfigData::no_change ( const std::string &  configname) const

Check if 'properties.calc.json' file has not changed since last read.

Check if 'properties.calc.json' file has not changed since last read

  • Compares 'data_timestamp' && fs::last_write_time

Definition at line 269 of file ConfigData.cc.

◆ primclex()

const PrimClex& CASM::DB::ConfigData::primclex ( ) const
inline

Definition at line 152 of file ConfigData.hh.

◆ resolve_struc_path()

std::string CASM::DB::ConfigData::resolve_struc_path ( std::string  pos_path,
PrimClex const &  _pclex 
)
static

Checks if pos_path can be used to resolve a properties.calc.json, and return its path Return path to properties.calc.json or POSCAR-type file that will be imported checking a couple possible locations relative to pos_path.

checks: 1) is a JSON file? is pos_path ends in ".json" or ".JSON", return pos_path 2) assume pos_path is /path/to/POS, checks for /path/to/calctype.current/properties.calc.json 3) assume pos_path is /path/to/POS, checks for /path/to/properties.calc.json else returns pos_path

Definition at line 222 of file ConfigData.cc.

◆ rm_files()

void CASM::DB::ConfigData::rm_files ( const std::string &  configname,
bool  dry_run 
) const

Remove existing files in the traning_data directory for a particular configuration.

Definition at line 282 of file ConfigData.cc.

Member Data Documentation

◆ m_db_props_func

std::function<PropertiesDatabase &()> CASM::DB::ConfigData::m_db_props_func
private

Definition at line 192 of file ConfigData.hh.

◆ m_primclex

const PrimClex& CASM::DB::ConfigData::m_primclex
private

Definition at line 191 of file ConfigData.hh.


The documentation for this class was generated from the following files: