19 (
"lattice-point-group",
"Pretty print lattice point group")
20 (
"factor-group",
"Pretty print factor group")
21 (
"crystal-point-group",
"Pretty print crystal point group");
40 po::store(po::parse_command_line(args.
argc, args.
argv, sym_opt.
desc()), vm);
44 if(vm.count(
"help")) {
46 args.
log << sym_opt.
desc() << std::endl;
51 if(vm.count(
"desc")) {
53 args.
log << sym_opt.
desc() << std::endl;
54 args.
log <<
"DESCRIPTION" << std::endl;
55 args.
log <<
" Display symmetry group information.\n";
66 args.
err_log <<
"ERROR: " << e.what() << std::endl << std::endl;
70 catch(std::exception &e) {
71 args.
err_log <<
"Unhandled Exception reached the top of main: "
72 << e.what() <<
", application will now exit" << std::endl;
90 args.
log <<
"Generating lattice point group. " << std::endl << std::endl;
96 args.
log <<
" Lattice point group size: " << prim_pg.
size() << std::endl;
97 args.
log <<
" Lattice point group is: " << prim_pg.
get_name() << std::endl << std::endl;
99 args.
log <<
"Generating factor group. " << std::endl << std::endl;
109 if(vm.count(
"lattice-point-group")) {
110 args.
log <<
"\n***************************\n" << std::endl;
111 args.
log <<
"Lattice point group:\n\n" << std::endl;
115 if(vm.count(
"factor-group")) {
116 args.
log <<
"\n***************************\n" << std::endl;
117 args.
log <<
"Factor group:\n\n" << std::endl;
121 if(vm.count(
"crystal-point-group")) {
122 args.
log <<
"\n***************************\n" << std::endl;
123 args.
log <<
"Crystal point group:\n\n" << std::endl;
132 fs::ofstream outfile;
142 fs::ofstream outfile;
152 fs::ofstream outfile;
160 args.
log << std::endl;
Data structure holding basic CASM command info.
COORD_TYPE coordtype_enum() const
Return the coordinate type recasted as the CASM defined enum.
void set_site_internals()
Associate each site with its basis index by setting its internal flags (asym_ind -> -1) ...
void generate_point_group(SymGroup &point_group, double pg_tol=TOL) const
Populate.
Specification of CASM project directory structure.
const SymGroup & point_group() const
Structure specifies the lattice and atomic basis of a crystal.
void write_symgroup(const SymGroup &grp, jsonParser &json)
void add_help_suboption()
Add a plain –help suboption.
const Lattice & lattice() const
fs::path prim() const
Return prim.json path.
void print(std::ostream &out, COORD_TYPE mode) const
Print the SymGroup to a stream.
void generate_factor_group(double map_tol=TOL) const
BasicStructure< Site > read_prim(fs::path filename)
void print(std::ostream &stream, unsigned int indent=2, unsigned int prec=12) const
Print json to stream.
SymGroup is a collection of symmetry operations that satisfy the group property The symmetry operatio...
fs::path crystal_point_group() const
Return crystal_point_group.json path.
const po::options_description & desc()
Get the program options, filled with the initialized values.
COORD_MODE specifies the current coordinate mode (Fractional or Cartesian)
const MasterSymGroup & factor_group() const
Read/modify settings of an already existing CASM project.
const Array< std::complex< double > >::X2 & character_table() const
bool new_symmetry_dir() const
Create new symmetry directory.
po::options_description m_desc
Boost program options. All the derived classes have them, but will fill them up themselves.
void initialize() override
Fill in the options descriptions accordingly.
fs::path lattice_point_group() const
Return lattice_point_group.json path.
void add_coordtype_suboption()
Add a –coord suboption to specify FRAC or CART.
int sym_command(const CommandArgs &args)
double crystallography_tol() const
Get current project crystallography tolerance.
void error(const std::string &what)
const std::string & get_name() const
fs::path factor_group() const
Return factor_group.json path.