12 class PermuteIterator;
129 template <
typename GlobalInfoContainerType,
typename LocalInfoContainerType>
133 std::vector<SymGroupRepID>
const &occ_symrep_IDs,
double _tol);
157 void set_occupation(Eigen::Ref<const Eigen::VectorXi>
const &_occupation);
164 std::map<DoFKey, GlobalContinuousConfigDoFValues>
const &
global_dofs()
const;
174 Eigen::Ref<const Eigen::VectorXd>
const &_val);
176 std::map<DoFKey, LocalContinuousConfigDoFValues>
const &
local_dofs()
const;
186 Eigen::Ref<const Eigen::MatrixXd>
const &_val);
Index size() const
Number of sites in the ConfigDoF.
ConfigDoF(Index _N_sublat, Index _N_vol, GlobalInfoContainerType const &global_dof_info, LocalInfoContainerType const &local_dof_info, std::vector< SymGroupRepID > const &occ_symrep_IDs, double _tol)
std::map< DoFKey, LocalContinuousConfigDoFValues > const & local_dofs() const
void set_global_dof(DoFKey const &_key, Eigen::Ref< const Eigen::VectorXd > const &_val)
Set global continuous DoF values.
void swap(ConfigDoF &RHS)
Index n_vol() const
Integer volume of ConfigDoF.
std::map< DoFKey, GlobalContinuousConfigDoFValues > const & global_dofs() const
bool has_local_dof(DoFKey const &_key) const
LocalDiscreteConfigDoFValues m_occupation
bool has_occupation() const
Index n_sublat() const
Number of sublattices in ConfigDoF.
ConfigDoF & apply_sym_no_permute(SymOp const &_op)
void setZero()
Set all DoF values to zero.
void set_local_dof(DoFKey const &_key, Eigen::Ref< const Eigen::MatrixXd > const &_val)
Set local continuous DoF values.
bool has_global_dof(DoFKey const &_key) const
GlobalContinuousConfigDoFValues const & global_dof(DoFKey const &_key) const
Eigen::VectorXi const & occupation() const
Const reference occupation values.
ConfigDoF & apply_sym(PermuteIterator const &it)
double tol() const
Tolerance for comparison of continuous DoF values.
int & occ(Index i)
Reference occupation value on site i.
std::map< std::string, LocalContinuousConfigDoFValues > m_local_dofs
LocalContinuousConfigDoFValues const & local_dof(DoFKey const &_key) const
void set_occupation(Eigen::Ref< const Eigen::VectorXi > const &_occupation)
Set occupation values.
std::map< std::string, GlobalContinuousConfigDoFValues > m_global_dofs
SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian...
void swap(ConfigDoF &A, ConfigDoF &B)
void reset_properties(ConfigType &config)
std::map< DoFKey, std::vector< CASM::DoFSetInfo > > local_dof_info(Structure const &_struc)
INDEX_TYPE Index
For long integer indexing:
std::map< DoFKey, CASM::DoFSetInfo > global_dof_info(Structure const &_struc)