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

#include <UnitCellCoord.hh>

+ Inheritance diagram for CASM::xtal::UnitCell:

Detailed Description

Unit Cell Indices.

  • Integer vector to represent a particular unit cell using multiples of the unit cell vectors
  • Is a Eigen::Vector3i.

Definition at line 34 of file UnitCellCoord.hh.

Public Member Functions

 UnitCell (void)
 
template<typename OtherDerived >
 UnitCell (const Eigen::MatrixBase< OtherDerived > &integral_coordinate)
 Construct from integral fractional values, relative to the tiling unit. More...
 
 UnitCell (Index a, Index b, Index c)
 
Coordinate coordinate (const Lattice &tiling_unit) const
 
UnitCell reset_tiling_unit (const Lattice &current_tiling_unit, const Lattice &new_tiling_unit) const
 Finds a new UnitCell with values relative to the given tiling unit. More...
 
template<typename OtherDerived >
UnitCelloperator= (const Eigen::MatrixBase< OtherDerived > &other)
 
bool operator< (const UnitCell &B) const
 Compare UnitCell. More...
 

Static Public Member Functions

static UnitCell from_coordinate (Coordinate const &lattice_point)
 Convert lattice point to a unitcell. More...
 
static UnitCell from_cartesian (const Eigen::Vector3d &cartesian_coord, const Lattice &tiling_unit)
 

Static Private Member Functions

static void _throw_large_rounding_error ()
 

Constructor & Destructor Documentation

◆ UnitCell() [1/3]

CASM::xtal::UnitCell::UnitCell ( void  )
inline

Definition at line 36 of file UnitCellCoord.hh.

◆ UnitCell() [2/3]

template<typename OtherDerived >
CASM::xtal::UnitCell::UnitCell ( const Eigen::MatrixBase< OtherDerived > &  integral_coordinate)
inline

Construct from integral fractional values, relative to the tiling unit.

Definition at line 40 of file UnitCellCoord.hh.

◆ UnitCell() [3/3]

CASM::xtal::UnitCell::UnitCell ( Index  a,
Index  b,
Index  c 
)
inline

Definition at line 43 of file UnitCellCoord.hh.

Member Function Documentation

◆ _throw_large_rounding_error()

static void CASM::xtal::UnitCell::_throw_large_rounding_error ( )
inlinestaticprivate

Throws exception to indicate that finding integral values resulted in errors much larger than the relevant lattice tolerance

Definition at line 85 of file UnitCellCoord.hh.

◆ coordinate()

Coordinate CASM::xtal::UnitCell::coordinate ( const Lattice tiling_unit) const

Convert a unitcell to a lattice point coordinate, given the primitive tiling unit lattice

Definition at line 40 of file UnitCellCoord.cc.

◆ from_cartesian()

UnitCell CASM::xtal::UnitCell::from_cartesian ( const Eigen::Vector3d &  cartesian_coord,
const Lattice tiling_unit 
)
static

Convert a Cartesian coordinate into a unitcell by rounding fractional coordinates to the provided lattice

Definition at line 34 of file UnitCellCoord.cc.

◆ from_coordinate()

UnitCell CASM::xtal::UnitCell::from_coordinate ( Coordinate const &  lattice_point)
static

Convert lattice point to a unitcell.

Definition at line 13 of file UnitCellCoord.cc.

◆ operator<()

bool CASM::xtal::UnitCell::operator< ( const UnitCell B) const
inline

Compare UnitCell.

Definition at line 69 of file UnitCellCoord.hh.

◆ operator=()

template<typename OtherDerived >
UnitCell& CASM::xtal::UnitCell::operator= ( const Eigen::MatrixBase< OtherDerived > &  other)
inline

Definition at line 63 of file UnitCellCoord.hh.

◆ reset_tiling_unit()

UnitCell CASM::xtal::UnitCell::reset_tiling_unit ( const Lattice current_tiling_unit,
const Lattice new_tiling_unit 
) const

Finds a new UnitCell with values relative to the given tiling unit.

Definition at line 45 of file UnitCellCoord.cc.


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