CASM  1.1.0
A Clusters Approach to Statistical Mechanics
SpeciesAttribute.cc
Go to the documentation of this file.
2 
4 #include "casm/external/Eigen/Core"
6 
7 namespace CASM {
8 namespace xtal {
9 
11  double _tol) const {
12  return name() == other.name() && almost_equal(value(), other.value(), _tol);
13 }
14 } // namespace xtal
15 
16 } // namespace CASM
17 
18 namespace CASM {
19 namespace sym {
21  xtal::SpeciesAttribute &mutating_attribute) {
22  Eigen::MatrixXd symop_matrix_representation =
23  mutating_attribute.traits().symop_to_matrix(
25  mutating_attribute.set_value(symop_matrix_representation *
26  mutating_attribute.value());
27  return mutating_attribute;
28 }
29 
31  xtal::SpeciesAttribute attribute) {
32  apply(op, attribute);
33  return attribute;
34 }
35 } // namespace sym
36 } // namespace CASM
Eigen::MatrixXd symop_to_matrix(Eigen::Ref< const Eigen::Matrix3d > const &_matrix, Eigen::Ref< const Eigen::Vector3d > const &_tau, bool time_reversal) const
Generate a symmetry representation for the supporting vector space.
void set_value(Eigen::Ref< const Eigen::VectorXd > const &_value)
std::string const & name() const
BasicTraits const & traits(KeyType const &key)
Eigen::VectorXd const & value() const
bool identical(SpeciesAttribute const &other, double _tol) const
const SymOp::matrix_type & get_matrix(const SymOp &op)
Definition: SymOp.cc:167
bool get_time_reversal(const SymOp &op)
Definition: SymOp.cc:171
const SymOp::vector_type & get_translation(const SymOp &op)
Definition: SymOp.cc:169
xtal::Coordinate copy_apply(const xtal::SymOp &op, xtal::Coordinate coord)
Copy and apply SymOp to a Coordinate.
Definition: Coordinate.cc:354
xtal::Coordinate & apply(const xtal::SymOp &op, xtal::Coordinate &coord)
apply SymOp to a Coordinate
Definition: Coordinate.cc:347
Main CASM namespace.
Definition: APICommand.hh:8
bool almost_equal(ClusterInvariants const &A, ClusterInvariants const &B, double tol)
Check if ClusterInvariants are equal.
Eigen::MatrixXd MatrixXd