CASM  1.1.0
A Clusters Approach to Statistical Mechanics
DoFSpace.cc File Reference

Go to the source code of this file.

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::DoFSpace_impl
 

Functions

void CASM::DoFSpace_impl::throw_if_missing_local_dof_requirements (DoFKey const &dof_key, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super, std::optional< std::set< Index >> const &sites)
 
void CASM::DoFSpace_impl::error_report (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges, std::optional< VectorSpaceSymReport > &symmetry_report)
 Print information in case constructing VectorSpaceSymReport fails. More...
 
void CASM::DoFSpace_impl::error_report_v2 (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges, std::optional< SymRepTools_v2::VectorSpaceSymReport > &symmetry_report)
 Print information in case constructing VectorSpaceSymReport fails. More...
 
bool CASM::is_valid_dof_space (Configuration const &config, DoFSpace const &dof_space)
 
void CASM::throw_if_invalid_dof_space (Configuration const &config, DoFSpace const &dof_space)
 Throw if !is_valid_dof_space(config, dof_space) More...
 
Eigen::VectorXd CASM::get_normal_coordinate (Configuration const &config, DoFSpace const &dof_space)
 Return config DoF value as a coordinate in the DoFSpace basis. More...
 
void CASM::set_dof_value (Configuration &config, DoFSpace const &dof_space, Eigen::VectorXd const &normal_coordinate)
 Set config DoF value from a coordinate in the DoFSpace basis. More...
 
Index CASM::get_dof_space_dimension (DoFKey dof_key, xtal::BasicStructure const &prim, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super=std::nullopt, std::optional< std::set< Index >> const &sites=std::nullopt)
 Return dimension of DoFSpace. More...
 
std::vector< std::string > CASM::make_axis_glossary (DoFKey dof_key, xtal::BasicStructure const &prim, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super, std::optional< std::set< Index >> const &sites)
 The axis_glossary gives names to an un-symmetrized coordinate system. More...
 
void CASM::make_dof_space_axis_info (DoFKey dof_key, xtal::BasicStructure const &prim, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super, std::optional< std::set< Index >> const &sites, std::vector< std::string > &axis_glossary, std::optional< std::vector< Index >> &axis_site_index, std::optional< std::vector< Index >> &axis_dof_component)
 Make DoFSpace axis glossary, axis site index, and axis dof component. More...
 
DoFSpace CASM::make_dof_space (DoFKey dof_key, ConfigEnumInput const &input_state, std::optional< Eigen::MatrixXd > const &basis=std::nullopt)
 
SymGroupRep const & CASM::make_dof_space_symrep (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, MasterSymGroup &symrep_master_group, SymGroupRepID &id)
 Make a SymGroupRep for a DoFSpace. More...
 
VectorSpaceSymReport CASM::vector_space_sym_report (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges=false)
 Make VectorSpaceSymReport. More...
 
SymRepTools_v2::VectorSpaceSymReport CASM::vector_space_sym_report_v2 (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges=false)
 Make VectorSpaceSymReport. More...
 
DoFSpace CASM::make_symmetry_adapted_dof_space (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges, std::optional< VectorSpaceSymReport > &symmetry_report)
 Make DoFSpace with symmetry adapated basis. More...
 
DoFSpace CASM::make_symmetry_adapted_dof_space_v2 (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges, std::optional< SymRepTools_v2::VectorSpaceSymReport > &symmetry_report)
 Make DoFSpace with symmetry adapated basis. More...
 
DoFSpace CASM::exclude_homogeneous_mode_space (DoFSpace const &dof_space)
 Removes the homogeneous mode space from the DoFSpace basis. More...
 
Eigen::MatrixXd CASM::make_homogeneous_mode_space (DoFSpace const &dof_space)
 Make the homogeneous mode space of a local DoFSpace. More...