CASM
AClustersApproachtoStatisticalMechanics
|
Relates to Lattice.
Modules | |
Lattice Enumerators | |
Enumerates Lattice. | |
Classes | |
class | CASM::Lattice |
class | CASM::LatticeIsEquivalent |
Putting all the Lattice comparisons in one place. More... | |
class | CASM::LatticeMap |
class | CASM::NiggliRep |
class | CASM::PrimGrid |
Functions | |
jsonParser & | CASM::to_json (const Lattice &lat, jsonParser &json) |
void | CASM::from_json (Lattice &lat, const jsonParser &json) |
double | CASM::volume (const Lattice &lat) |
Returns the volume of a Lattice. More... | |
Lattice & | CASM::apply (const SymOp &op, Lattice &lat) |
Apply SymOp to a Lattice. More... | |
Lattice | CASM::copy_apply (const SymOp &op, const Lattice &lat) |
Copy and apply SymOp to a Lattice. More... | |
Lattice | CASM::make_supercell (const Lattice &lat, const Eigen::Matrix3i &transf_mat) |
Returns a super Lattice. More... | |
std::pair< bool, Eigen::MatrixXi > | CASM::is_supercell (const Lattice &scel, const Lattice &unit, double tol) |
Check if scel is a supercell of unitcell unit and some integer transformation matrix T. More... | |
template<typename Object , typename OpIterator > | |
std::pair< OpIterator, Eigen::MatrixXi > | CASM::is_supercell (const Object &scel, const Object &unit, OpIterator begin, OpIterator end, double tol) |
std::istream & | CASM::operator>> (std::istream &in, const Lattice &lattice_in) |
Lattice | CASM::superdupercell (const Lattice &lat1, const Lattice &lat2) |
returns Lattice that is smallest possible supercell of both input Lattice More... | |
template<typename LatIterator , typename SymOpIterator > | |
Lattice | CASM::superdupercell (LatIterator begin, LatIterator end, SymOpIterator op_begin=SymOpIterator(), SymOpIterator op_end=SymOpIterator()) |
returns Lattice that is smallest possible supercell of all input Lattice More... | |
Lattice | CASM::replace_vector (const Lattice &lat, const Eigen::Vector3d &new_vector, double tol) |
Eigen::Matrix3d | CASM::cart2frac (const Eigen::Ref< const Eigen::Matrix3d > &cart_mat, const Lattice &lat) |
Returns 'frac_mat' which is transformation of 'cart_mat' if cart_vec_after = cart_mat*cart_vec then frac_vec_after = frac_mat*frac_vec where cart_vec = lat.lat_column_mat()*frac_vec and cart_vec_after = lat.lat_column_mat()*frac_vec_after. More... | |
Eigen::Matrix3d | CASM::frac2cart (const Eigen::Ref< const Eigen::Matrix3d > &frac_mat, const Lattice &lat) |
Returns 'cart_mat' which is transformation of 'frac_mat' if cart_vec_after = cart_mat*cart_vec then frac_vec_after = frac_mat*frac_vec where cart_vec = lat.lat_column_mat()*frac_vec and cart_vec_after = lat.lat_column_mat()*frac_vec_after. More... | |
template<typename T > | |
Lattice | CASM::Lattice::make_supercell (const Eigen::Matrix< T, 3, 3 > &trans_mat) const |
make a supercell of this lattice. Equivalent to Lattice(lat_column_mat()*trans_mat) More... | |
Lattice & CASM::apply | ( | const SymOp & | op, |
Lattice & | lat | ||
) |
Definition at line 1128 of file Lattice.cc.
|
inline |
Returns 'frac_mat' which is transformation of 'cart_mat' if cart_vec_after = cart_mat*cart_vec then frac_vec_after = frac_mat*frac_vec where cart_vec = lat.lat_column_mat()*frac_vec and cart_vec_after = lat.lat_column_mat()*frac_vec_after.
Definition at line 341 of file Lattice.hh.
Lattice CASM::copy_apply | ( | const SymOp & | op, |
const Lattice & | lat | ||
) |
Copy and apply SymOp to a Lattice.
Definition at line 1133 of file Lattice.cc.
|
inline |
Returns 'cart_mat' which is transformation of 'frac_mat' if cart_vec_after = cart_mat*cart_vec then frac_vec_after = frac_mat*frac_vec where cart_vec = lat.lat_column_mat()*frac_vec and cart_vec_after = lat.lat_column_mat()*frac_vec_after.
Definition at line 354 of file Lattice.hh.
void CASM::from_json | ( | Lattice & | lat, |
const jsonParser & | json | ||
) |
std::pair< bool, Eigen::MatrixXi > CASM::is_supercell | ( | const Lattice & | scel, |
const Lattice & | unit, | ||
double | tol | ||
) |
Check if scel is a supercell of unitcell unit and some integer transformation matrix T.
Definition at line 1196 of file Lattice.cc.
std::pair< OpIterator, Eigen::MatrixXi > CASM::is_supercell | ( | const Object & | scel, |
const Object & | unit, | ||
OpIterator | begin, | ||
OpIterator | end, | ||
double | tol | ||
) |
Check if there is a symmetry operation, op, and transformation matrix T, such that scel is a supercell of the result of applying op to unit
Check if there is a symmetry operation, op, and transformation matrix T, such that scel is a supercell of the result of applying op to unit
Definition at line 93 of file Lattice_impl.hh.
Lattice CASM::Lattice::make_supercell | ( | const Eigen::Matrix< T, 3, 3 > & | trans_mat | ) | const |
make a supercell of this lattice. Equivalent to Lattice(lat_column_mat()*trans_mat)
Definition at line 362 of file Lattice.hh.
|
inline |
Returns a super Lattice.
Definition at line 377 of file Lattice.hh.
std::istream& CASM::operator>> | ( | std::istream & | in, |
const Lattice & | lattice_in | ||
) |
|
related |
Lattice CASM::superdupercell | ( | const Lattice & | lat1, |
const Lattice & | lat2 | ||
) |
returns Lattice that is smallest possible supercell of both input Lattice
Definition at line 1161 of file Lattice.cc.
Lattice CASM::superdupercell | ( | LatIterator | begin, |
LatIterator | end, | ||
SymOpIterator | op_begin, | ||
SymOpIterator | op_end | ||
) |
jsonParser & CASM::to_json | ( | const Lattice & | lat, |
jsonParser & | json | ||
) |
Definition at line 1107 of file Lattice.cc.
|
inline |
Returns the volume of a Lattice.
lat | a Lattice |
Definition at line 372 of file Lattice.hh.