CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::ProjectBuilder Class Reference

#include <ProjectBuilder.hh>

Detailed Description

Sets up directories and files for a new CASM project.

Definition at line 18 of file ProjectBuilder.hh.

Public Member Functions

 ProjectBuilder (fs::path _root, std::string _name, std::string _property)
 Construct a CASM ProjectBuilder. More...
 
ProjectBuilderset_crystallography_tol (double _tol)
 
ProjectBuilderset_lin_alg_tol (double _tol)
 
void build () const
 Builds a new CASM project. More...
 

Private Attributes

fs::path m_root
 
std::string m_name
 
std::string m_property
 
std::vector< std::string >
m_properties 
relaxed_energy
 
double m_crystallography_tol = CASM::TOL
 
double m_lin_alg_tol = 1e-10
 

Constructor & Destructor Documentation

CASM::ProjectBuilder::ProjectBuilder ( fs::path  _root,
std::string  _name,
std::string  _property 
)
inline

Construct a CASM ProjectBuilder.

Parameters
_rootThe directory where a new CASM project should be created.
_nameThe name of the CASM project. Should be a short name suitable for prepending to files.
_propertyThe name of the default cluster expansion property, i.e. "formation_energy"

check if m_name is suitable:

Definition at line 28 of file ProjectBuilder.hh.

Member Function Documentation

void CASM::ProjectBuilder::build ( ) const

Builds a new CASM project.

  • requires a prim.json in the project directory
    • does not perform any checks if structure is primitive, right-handed, reduced, etc.
  • creates directories
  • create project_settings, symmetry, and standard composition axes files

re-throw exceptions

Definition at line 14 of file ProjectBuilder.cc.

ProjectBuilder& CASM::ProjectBuilder::set_crystallography_tol ( double  _tol)
inline

Definition at line 46 of file ProjectBuilder.hh.

ProjectBuilder& CASM::ProjectBuilder::set_lin_alg_tol ( double  _tol)
inline

Definition at line 51 of file ProjectBuilder.hh.

Member Data Documentation

double CASM::ProjectBuilder::m_crystallography_tol = CASM::TOL
private

Definition at line 71 of file ProjectBuilder.hh.

double CASM::ProjectBuilder::m_lin_alg_tol = 1e-10
private

Definition at line 72 of file ProjectBuilder.hh.

std::string CASM::ProjectBuilder::m_name
private

Definition at line 65 of file ProjectBuilder.hh.

std::string CASM::ProjectBuilder::m_property
private

Definition at line 66 of file ProjectBuilder.hh.

fs::path CASM::ProjectBuilder::m_root
private

Definition at line 64 of file ProjectBuilder.hh.

std::vector<std::string> m_properties CASM::ProjectBuilder::relaxed_energy
private

Definition at line 70 of file ProjectBuilder.hh.


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