1 #ifndef CASM_app_enum_stream_io_impl
2 #define CASM_app_enum_stream_io_impl
31 template <
typename PermuteIteratorIt>
33 std::string
const &identifier,
35 PermuteIteratorIt permute_begin,
36 PermuteIteratorIt permute_end,
bool sym_axes,
42 log.
begin(std::string(
"DoF space: ") + identifier);
45 log << json << std::endl << std::endl;
47 log.
begin(std::string(
"DoF space and symmetry report: ") + identifier);
48 log <<
"For large spaces this may be slow... basis shape = ["
49 << dof_space.
basis().rows() <<
", " << dof_space.
basis().cols() <<
"]"
53 dof_space, input_state, permute_begin, permute_end, calc_wedges);
55 log <<
"Symmetry report complete" << std::endl;
59 to_json(dof_space, json, identifier, input_state, sym_report);
60 log << json << std::endl << std::endl;
65 template <
typename NamedInitialStatesType>
67 NamedInitialStatesType
const &named_initial_states) {
68 log.
indent() <<
"# of initial enumeration states: "
69 << named_initial_states.size() << std::endl;
71 log.
indent() <<
"initial enumeration states:" << std::endl;
73 for (
auto const &named_initial_state : named_initial_states) {
74 log.
indent() << named_initial_state.first << std::endl;
Eigen::MatrixXd const & basis() const
void end_section()
End a section.
void begin_section()
Begin a section, without header.
Log & subsection()
Create a subsection.
void begin(const std::string &what)
VectorSpaceSymReport vector_space_sym_report(DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges=false)
Make VectorSpaceSymReport.
jsonParser & to_json(const ClexDescription &desc, jsonParser &json)
void print_initial_states(Log &log, NamedInitialStatesType const &named_initial_states)
void print_dof_space(Log &log, DoFSpace const &dof_space, std::string const &identifier, ConfigEnumInput const &input_state, PermuteIteratorIt permute_begin, PermuteIteratorIt permute_end, bool sym_axes, bool calc_wedges)
Print DoFSpace information.
Summary of data associated with the action of a symmetry group on a vector space.