CASM
AClustersApproachtoStatisticalMechanics
|
#include <iostream>
#include <cmath>
#include "casm/misc/Comparisons.hh"
#include "casm/container/Array.hh"
#include "casm/container/LinearAlgebra.hh"
#include "casm/container/Counter.hh"
Go to the source code of this file.
Classes | |
class | CASM::Lattice |
Namespaces | |
CASM | |
Main CASM namespace. | |
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... | |