CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::ClusterSpecs_json_io_impl Namespace Reference

Functions

template<typename SpecsType >
std::vector< double > parse_orbit_branch_specs_attr (InputParser< SpecsType > &parser, const std::string &attrname)
 
void write_group_indices (const SymGroup &grp, jsonParser &json)
 
void write_group_indices (std::vector< PermuteIterator > const &grp, jsonParser &json)
 
std::vector< SymOp >::const_iterator find_by_master_group_index (const SymOp &op, const SymGroup &super_group)
 
std::unique_ptr< SymGroupgroup_from_indices (const SymGroup &super_group, const std::set< Index > &indices)
 
template<typename SymCompareType >
std::unique_ptr< SymGrouplocal_group_from_indices (const SymGroup &super_group, const std::set< Index > &indices, const IntegralCluster &phenomenal, const SymCompareType &sym_compare)
 
std::unique_ptr< SymGroupparse_generating_group (InputParser< PeriodicMaxLengthClusterSpecs > &parser, const std::shared_ptr< const Structure > &shared_prim, const SymGroup &super_group)
 
template<typename SymCompareType >
std::unique_ptr< SymGroupparse_local_generating_group (InputParser< LocalMaxLengthClusterSpecs > &parser, const std::shared_ptr< const Structure > &shared_prim, const IntegralCluster &phenomenal, const SymGroup &super_group, const SymCompareType &sym_compare)
 
jsonParserorbit_branch_specs_attr_to_json (std::vector< double > attr, const std::string &attrname, jsonParser &json)
 

Function Documentation

◆ find_by_master_group_index()

std::vector<SymOp>::const_iterator CASM::ClusterSpecs_json_io_impl::find_by_master_group_index ( const SymOp op,
const SymGroup super_group 
)

Definition at line 89 of file ClusterSpecs_json_io.cc.

◆ group_from_indices()

std::unique_ptr<SymGroup> CASM::ClusterSpecs_json_io_impl::group_from_indices ( const SymGroup super_group,
const std::set< Index > &  indices 
)

Definition at line 101 of file ClusterSpecs_json_io.cc.

◆ local_group_from_indices()

template<typename SymCompareType >
std::unique_ptr<SymGroup> CASM::ClusterSpecs_json_io_impl::local_group_from_indices ( const SymGroup super_group,
const std::set< Index > &  indices,
const IntegralCluster phenomenal,
const SymCompareType &  sym_compare 
)

Definition at line 122 of file ClusterSpecs_json_io.cc.

◆ orbit_branch_specs_attr_to_json()

jsonParser& CASM::ClusterSpecs_json_io_impl::orbit_branch_specs_attr_to_json ( std::vector< double >  attr,
const std::string &  attrname,
jsonParser json 
)

Definition at line 543 of file ClusterSpecs_json_io.cc.

◆ parse_generating_group()

std::unique_ptr<SymGroup> CASM::ClusterSpecs_json_io_impl::parse_generating_group ( InputParser< PeriodicMaxLengthClusterSpecs > &  parser,
const std::shared_ptr< const Structure > &  shared_prim,
const SymGroup super_group 
)

Definition at line 158 of file ClusterSpecs_json_io.cc.

◆ parse_local_generating_group()

template<typename SymCompareType >
std::unique_ptr<SymGroup> CASM::ClusterSpecs_json_io_impl::parse_local_generating_group ( InputParser< LocalMaxLengthClusterSpecs > &  parser,
const std::shared_ptr< const Structure > &  shared_prim,
const IntegralCluster phenomenal,
const SymGroup super_group,
const SymCompareType &  sym_compare 
)

Definition at line 178 of file ClusterSpecs_json_io.cc.

◆ parse_orbit_branch_specs_attr()

template<typename SpecsType >
std::vector<double> CASM::ClusterSpecs_json_io_impl::parse_orbit_branch_specs_attr ( InputParser< SpecsType > &  parser,
const std::string &  attrname 
)

Read vector from 'bspecs' JSON

Returns
std::vector<double> giving <attrname> value branch 0, 1, etc.

Expects parser.self in format:

"orbit_branch_specs": {
// includes "0": {<attrname>: 0.0} always, by default
// includes "b": {<attrname>: 0.0} if any greater branch is present
"2": { <attrname>: 8.0 },
"3": { <attrname>: 6.0 }
}

Definition at line 30 of file ClusterSpecs_json_io.cc.

◆ write_group_indices() [1/2]

void CASM::ClusterSpecs_json_io_impl::write_group_indices ( const SymGroup grp,
jsonParser json 
)

Definition at line 72 of file ClusterSpecs_json_io.cc.

◆ write_group_indices() [2/2]

void CASM::ClusterSpecs_json_io_impl::write_group_indices ( std::vector< PermuteIterator > const &  grp,
jsonParser json 
)

Definition at line 79 of file ClusterSpecs_json_io.cc.