CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SimpleStructure.hh>
Struct to encode all information about the crystal basis Info may describe the basis in a atomic context or molecular context Within a particular context, species are considered indivisible points If both contexts are present within the SimpleStructure, they are assumed to be different representation of the same crystal basis. The only difference is that the 'atomic' context separates each molecule into its constituent atoms. SimpleStructure DOES NOT TRACK how the molecular and atomic representations are related.
Definition at line 44 of file SimpleStructure.hh.
Public Types | |
using | Coord = Eigen::MatrixXd::ColXpr |
using | ConstCoord = Eigen::MatrixXd::ConstColXpr |
Public Member Functions | |
std::vector< Index > | sort_by_name () |
permutation that results in sites sorted alphabetically by species Guaranteed stable: will not change order for two sites with same species More... | |
Coord | cart_coord (Index i) |
Access coordinate of site 'i'. More... | |
ConstCoord | cart_coord (Index i) const |
const access for coordinate of site 'i' More... | |
void | resize (Index N) |
Resize to hold N sites. All coordinates set to zero, all occupants set to "Va". More... | |
Index | size () const |
Number of sites is defined as names.size() More... | |
Public Attributes | |
std::vector< std::string > | names |
names[i] is name of species that occupies sites 'i' More... | |
Eigen::MatrixXd | coords |
(3 x names.size()) matrix of coordinates. coords.col(i) is Cartesian coordinate of site 'i' More... | |
std::map< std::string, Eigen::MatrixXd > | properties |
map of [property name, (m x names.size()) matrix] for all numerical site properties properties are assumed to be vectors of some property-specific dimension 'm' More... | |
using CASM::xtal::SimpleStructure::Info::ConstCoord = Eigen::MatrixXd::ConstColXpr |
Definition at line 48 of file SimpleStructure.hh.
using CASM::xtal::SimpleStructure::Info::Coord = Eigen::MatrixXd::ColXpr |
Return types for accessing individual coordinates Can treat as a Eigen::VectorXd
Definition at line 47 of file SimpleStructure.hh.
Access coordinate of site 'i'.
Definition at line 68 of file SimpleStructure.hh.
|
inline |
const access for coordinate of site 'i'
Definition at line 71 of file SimpleStructure.hh.
|
inline |
Resize to hold N sites. All coordinates set to zero, all occupants set to "Va".
Definition at line 75 of file SimpleStructure.hh.
|
inline |
Number of sites is defined as names.size()
Definition at line 82 of file SimpleStructure.hh.
std::vector< Index > CASM::xtal::SimpleStructure::Info::sort_by_name | ( | ) |
permutation that results in sites sorted alphabetically by species Guaranteed stable: will not change order for two sites with same species
Definition at line 8 of file SimpleStructure.cc.
Eigen::MatrixXd CASM::xtal::SimpleStructure::Info::coords |
(3 x names.size()) matrix of coordinates. coords.col(i) is Cartesian coordinate of site 'i'
Definition at line 55 of file SimpleStructure.hh.
std::vector<std::string> CASM::xtal::SimpleStructure::Info::names |
names[i] is name of species that occupies sites 'i'
Definition at line 51 of file SimpleStructure.hh.
std::map<std::string, Eigen::MatrixXd> CASM::xtal::SimpleStructure::Info::properties |
map of [property name, (m x names.size()) matrix] for all numerical site properties properties are assumed to be vectors of some property-specific dimension 'm'
Definition at line 60 of file SimpleStructure.hh.