CASM  1.1.0
A Clusters Approach to Statistical Mechanics
BasicStructureTools.cc File Reference
#include "casm/crystallography/BasicStructureTools.hh"
#include <algorithm>
#include <atomic>
#include <tuple>
#include <unordered_set>
#include <utility>
#include <vector>
#include "casm/basis_set/Adapter.hh"
#include "casm/basis_set/DoFIsEquivalent.hh"
#include "casm/basis_set/DoFIsEquivalent_impl.hh"
#include "casm/crystallography/BasicStructure.hh"
#include "casm/crystallography/Coordinate.hh"
#include "casm/crystallography/DoFSet.hh"
#include "casm/crystallography/IntegralCoordinateWithin.hh"
#include "casm/crystallography/Lattice.hh"
#include "casm/crystallography/Niggli.hh"
#include "casm/crystallography/Site.hh"
#include "casm/crystallography/Superlattice.hh"
#include "casm/crystallography/SuperlatticeEnumerator.hh"
#include "casm/crystallography/SymTools.hh"
#include "casm/crystallography/SymType.hh"
#include "casm/crystallography/SymTypeComparator.hh"
#include "casm/crystallography/UnitCellCoord.hh"
#include "casm/external/Eigen/Core"
#include "casm/external/Eigen/src/Core/Matrix.h"
#include "casm/global/definitions.hh"
#include "casm/misc/CASM_Eigen_math.hh"
#include "casm/symmetry/SymOp.hh"
#include "casm/external/Eigen/src/Core/PermutationMatrix.h"
#include "casm/external/Eigen/src/Core/util/Constants.h"

Go to the source code of this file.

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::xtal
 

Functions

Index CASM::xtal::find_index (const std::vector< Site > &basis, const Site &test_site, double tol)
 
bool CASM::xtal::is_primitive (const BasicStructure &struc, double tol=TOL)
 
BasicStructure CASM::xtal::make_primitive (const BasicStructure &non_primitive_struc, double tol=TOL)
 Returns the smallest possible tiling unit of the given structure. More...
 
std::pair< double, Eigen::Vector3d > CASM::xtal::calc_rotation_angle_and_axis (const SymOp &op, const Lattice &lat)
 Calculates the rotation angle and axis of a symmetry operation. This function is almost exactly identical to the constructor of SymInfo::SymInfo. More...
 
void CASM::xtal::sort_factor_group (std::vector< SymOp > &factor_group, const Lattice &lat)
 Sort SymOp in the SymGroup. More...
 
std::vector< SymOpCASM::xtal::make_factor_group (const BasicStructure &struc, double tol=TOL)
 
std::vector< Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic, Index > > CASM::xtal::make_permutation_representation (const xtal::BasicStructure &struc, const std::vector< SymOp > &factor_group)
 Create the permutation group of a structure. More...
 
std::set< std::set< Index > > CASM::xtal::make_asymmetric_unit (const xtal::BasicStructure &struc, const std::vector< SymOp > &factor_group)
 Return indices of equivalent basis sites. More...
 
std::set< std::set< Index > > CASM::xtal::make_asymmetric_unit (const xtal::BasicStructure &struc)
 Return indices of equivalent basis sites. More...
 
BasicStructure CASM::xtal::symmetrize (const BasicStructure &structure, const std::vector< SymOp > &enforced_group)
 
template<typename IntegralType , int Options = 0>
BasicStructure CASM::xtal::make_superstructure (const BasicStructure &tiling_unit, const Eigen::Matrix< IntegralType, 3, 3, Options > &transformation_matrix)
 
template BasicStructure CASM::xtal::make_superstructure< int, 0 > (const BasicStructure &tiling_unit, const Eigen::Matrix< int, 3, 3, 0 > &transformation_matrix)
 
template BasicStructure CASM::xtal::make_superstructure< long, 0 > (const BasicStructure &tiling_unit, const Eigen::Matrix< long, 3, 3, 0 > &transformation_matrix)