CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SimpleStructure.hh>
Representation of a crystal of molecular and/or atomic occupants, and any additional properties. It does not require a primitive Structure or BasicStructure object to act as a reference and can be thought of as the class that embodies all the information of a config.json or properties.calc.json file.
Definition at line 32 of file SimpleStructure.hh.
Classes | |
struct | Info |
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. More... | |
Public Types | |
using | SpeciesMode = SimpleStructureTools::SpeciesMode |
Public Member Functions | |
Index | n_mol () const |
Index | n_atom () const |
Info & | info (SpeciesMode _mode) |
Info of specified context (atomic/molecular) More... | |
Info const & | info (SpeciesMode _mode) const |
Const info of specified context (atomic/molecular) More... | |
void | within (double tol=TOL) |
Map all coordinates within the unit cell. More... | |
void | deform_coords (Eigen::Ref< const Eigen::Matrix3d > const &_F) |
Apply homogeneous deformation gradient tensor _F to lat_column_mat, mol_info, and atom_info. More... | |
void | rotate_coords (Eigen::Ref< const Eigen::Matrix3d > const &_R) |
Apply homogeneous rotation matrix _R to lat_column_mat, mol_info, and atom_info. More... | |
Public Attributes | |
Eigen::Matrix3d | lat_column_mat |
Info | mol_info |
Info | atom_info |
std::map< std::string, Eigen::MatrixXd > | properties |
Definition at line 34 of file SimpleStructure.hh.
void CASM::xtal::SimpleStructure::deform_coords | ( | Eigen::Ref< const Eigen::Matrix3d > const & | _F | ) |
Apply homogeneous deformation gradient tensor _F to lat_column_mat, mol_info, and atom_info.
Definition at line 44 of file SimpleStructure.cc.
|
inline |
Info of specified context (atomic/molecular)
Definition at line 90 of file SimpleStructure.hh.
|
inline |
Const info of specified context (atomic/molecular)
Definition at line 95 of file SimpleStructure.hh.
|
inline |
Definition at line 87 of file SimpleStructure.hh.
|
inline |
Definition at line 85 of file SimpleStructure.hh.
void CASM::xtal::SimpleStructure::rotate_coords | ( | Eigen::Ref< const Eigen::Matrix3d > const & | _R | ) |
Apply homogeneous rotation matrix _R to lat_column_mat, mol_info, and atom_info.
Definition at line 53 of file SimpleStructure.cc.
void CASM::xtal::SimpleStructure::within | ( | double | tol = TOL | ) |
Map all coordinates within the unit cell.
Definition at line 23 of file SimpleStructure.cc.
Info CASM::xtal::SimpleStructure::atom_info |
Definition at line 115 of file SimpleStructure.hh.
Eigen::Matrix3d CASM::xtal::SimpleStructure::lat_column_mat |
Definition at line 110 of file SimpleStructure.hh.
Info CASM::xtal::SimpleStructure::mol_info |
Definition at line 113 of file SimpleStructure.hh.
std::map<std::string, Eigen::MatrixXd> CASM::xtal::SimpleStructure::properties |
Definition at line 117 of file SimpleStructure.hh.