CASM  1.1.0
A Clusters Approach to Statistical Mechanics
ClexBasis_stream_io_impl.hh
Go to the documentation of this file.
1 #ifndef CASM_clex_ClexBasis_stream_io_impl
2 #define CASM_clex_ClexBasis_stream_io_impl
3 
5 #include "casm/casm_io/Log.hh"
6 #include "casm/clex/ClexBasis.hh"
11 
12 namespace CASM {
13 
14 template <typename OrbitVecType>
15 void ClexBasisFunctionPrinter::operator()(OrbitVecType const &orbits) const {
17  ClexBasis clex_basis{m_shared_prim, m_basis_set_specs, dof_dict};
18  clex_basis.generate(orbits.begin(), orbits.end());
19 
20  if (m_align) {
24  } else {
28  }
29  ProtoFuncsPrinter funcs_printer{clex_basis, m_shared_prim->shared_structure(),
31  m_log << "Prototype cluster functions: \n\n";
32  print_clust(orbits.begin(), orbits.end(), m_log, funcs_printer);
33 }
34 
35 } // namespace CASM
36 
37 #endif
std::shared_ptr< Structure const > m_shared_prim
OrbitPrinterOptions m_orbit_printer_opt
void operator()(OrbitVecType const &orbits) const
Parsing dictionary for obtaining the correct MoleculeAttribute given a name.
TraitsDictionary & traits_dict()
Definition: DoFTraits.cc:39
Main CASM namespace.
Definition: APICommand.hh:8
void print_clust(ClusterOrbitIterator begin, ClusterOrbitIterator end, Log &out, OrbitPrinter printer)
Print IntegralCluster orbits.
void print_site_basis_funcs(std::shared_ptr< const Structure > prim_ptr, ClexBasis const &clex_basis, Log &out, Index indent_space=6, COORD_TYPE mode=FRAC)
Print site basis functions, as for 'casm bset –functions'.
void print_aligned_site_basis_funcs(std::shared_ptr< const Structure > prim_ptr, ClexBasis const &clex_basis, Log &out, Index indent_space=6, COORD_TYPE mode=FRAC)
Print aligned site basis functions, as for 'casm bset –functions –align'.
Print Orbit<SymCompareType> & ClexBasis, including prototypes and prototype basis functions.