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

#include <SimpleStructure.hh>

Detailed Description

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< Indexsort_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...
 

Member Typedef Documentation

◆ ConstCoord

using CASM::xtal::SimpleStructure::Info::ConstCoord = Eigen::MatrixXd::ConstColXpr

Definition at line 48 of file SimpleStructure.hh.

◆ Coord

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.

Member Function Documentation

◆ cart_coord() [1/2]

Coord CASM::xtal::SimpleStructure::Info::cart_coord ( Index  i)
inline

Access coordinate of site 'i'.

Definition at line 68 of file SimpleStructure.hh.

◆ cart_coord() [2/2]

ConstCoord CASM::xtal::SimpleStructure::Info::cart_coord ( Index  i) const
inline

const access for coordinate of site 'i'

Definition at line 71 of file SimpleStructure.hh.

◆ resize()

void CASM::xtal::SimpleStructure::Info::resize ( Index  N)
inline

Resize to hold N sites. All coordinates set to zero, all occupants set to "Va".

Definition at line 75 of file SimpleStructure.hh.

◆ size()

Index CASM::xtal::SimpleStructure::Info::size ( ) const
inline

Number of sites is defined as names.size()

Definition at line 82 of file SimpleStructure.hh.

◆ sort_by_name()

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.

Member Data Documentation

◆ coords

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.

◆ names

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.

◆ properties

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.


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