CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::xtal::SimpleStructure Class Reference

#include <SimpleStructure.hh>

Detailed Description

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
 
Infoinfo (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
 

Member Typedef Documentation

◆ SpeciesMode

Member Function Documentation

◆ deform_coords()

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.

◆ info() [1/2]

Info& CASM::xtal::SimpleStructure::info ( SpeciesMode  _mode)
inline

Info of specified context (atomic/molecular)

Definition at line 90 of file SimpleStructure.hh.

◆ info() [2/2]

Info const& CASM::xtal::SimpleStructure::info ( SpeciesMode  _mode) const
inline

Const info of specified context (atomic/molecular)

Definition at line 95 of file SimpleStructure.hh.

◆ n_atom()

Index CASM::xtal::SimpleStructure::n_atom ( ) const
inline

Definition at line 87 of file SimpleStructure.hh.

◆ n_mol()

Index CASM::xtal::SimpleStructure::n_mol ( ) const
inline

Definition at line 85 of file SimpleStructure.hh.

◆ rotate_coords()

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.

◆ within()

void CASM::xtal::SimpleStructure::within ( double  tol = TOL)

Map all coordinates within the unit cell.

Definition at line 23 of file SimpleStructure.cc.

Member Data Documentation

◆ atom_info

Info CASM::xtal::SimpleStructure::atom_info

Definition at line 115 of file SimpleStructure.hh.

◆ lat_column_mat

Eigen::Matrix3d CASM::xtal::SimpleStructure::lat_column_mat

Definition at line 110 of file SimpleStructure.hh.

◆ mol_info

Info CASM::xtal::SimpleStructure::mol_info

Definition at line 113 of file SimpleStructure.hh.

◆ properties

std::map<std::string, Eigen::MatrixXd> CASM::xtal::SimpleStructure::properties

Definition at line 117 of file SimpleStructure.hh.


The documentation for this class was generated from the following files: