CASM  1.1.0
A Clusters Approach to Statistical Mechanics
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
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...