CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules

Detailed Description

Relates to Molecule.

Classes

singleton  CASM::OccupantDoF< T >
 
class  CASM::Specie
 
class  CASM::AtomPosition
 
class  CASM::Molecule
 

Typedefs

typedef OccupantDoF< Molecule > CASM::MoleculeOccupant
 
typedef std::array< bool, 3 > CASM::AtomPosition::sd_type
 

Functions

bool CASM::is_vacancy (const std::string &name)
 A vacancy is any Specie/Molecule with (name == "VA" || name == "va" || name == "Va") More...
 
 CASM::Specie::Specie ()
 
 CASM::Specie::Specie (std::string init_name)
 
bool CASM::Specie::is_vacancy () const
 
bool CASM::Specie::operator== (const Specie &RHS) const
 
jsonParser & CASM::to_json (const Specie &specie, jsonParser &json)
 
void CASM::from_json (Specie &specie, const jsonParser &json)
 
 CASM::AtomPosition::AtomPosition (const Lattice &init_lattice)
 
 CASM::AtomPosition::AtomPosition (double elem1, double elem2, double elem3, std::string sp_name, const Lattice &init_lattice, COORD_TYPE mode, sd_type _SD_flag=sd_type{{false, false, false}})
 
bool CASM::AtomPosition::operator== (const AtomPosition &RHS) const
 
void CASM::AtomPosition::print (std::ostream &stream, const Coordinate &trans, int spaces, bool SD_is_on=false) const
 
AtomPosition & CASM::AtomPosition::apply_sym (const SymOp &op)
 
AtomPosition & CASM::AtomPosition::apply_sym_no_trans (const SymOp &op)
 
jsonParser & CASM::to_json (const AtomPosition &apos, jsonParser &json)
 
void CASM::from_json (AtomPosition &apos, const jsonParser &json)
 
 CASM::Molecule::Molecule (const Lattice &init_home)
 
Lattice const * CASM::Molecule::home () const
 
void CASM::Molecule::get_center ()
 
void CASM::Molecule::generate_point_group ()
 
bool CASM::Molecule::is_vacancy () const
 
Molecule & CASM::Molecule::apply_sym (const SymOp &op)
 
Molecule & CASM::Molecule::apply_sym_no_trans (const SymOp &op)
 
void CASM::Molecule::set_lattice (const Lattice &new_lat, COORD_TYPE invariant_mode)
 
Molecule CASM::Molecule::get_union (const Molecule &RHS)
 
Molecule & CASM::Molecule::operator*= (const SymOp &RHS)
 
Molecule & CASM::Molecule::operator+= (const Coordinate &RHS)
 
bool CASM::Molecule::operator== (const Molecule &RHS) const
 
bool CASM::Molecule::contains (const std::string &name) const
 
void CASM::Molecule::read (std::istream &stream)
 
void CASM::Molecule::print (std::ostream &stream, const Coordinate &trans, int spaces, char delim, bool SD_is_on=false) const
 
jsonParser & CASM::Molecule::to_json (jsonParser &json) const
 
void CASM::Molecule::from_json (const jsonParser &json)
 
Molecule CASM::operator* (const SymOp &LHS, const Molecule &RHS)
 
Molecule CASM::operator+ (const Coordinate &LHS, const Molecule &RHS)
 
Molecule CASM::operator+ (const Molecule &LHS, const Coordinate &RHS)
 
Molecule CASM::make_atom (std::string atom_name, const Lattice &lat)
 Return an atomic Molecule with specified name and Lattice. More...
 
Molecule CASM::make_vacancy (const Lattice &lat)
 Return an vacancy Molecule with specified Lattice. More...
 
bool CASM::is_molecule_name (const Molecule &mol, std::string name)
 Return true if Molecule name matches 'name', including Va checks. More...
 
jsonParser & CASM::to_json (const Molecule &mol, jsonParser &json)
 
void CASM::from_json (Molecule &mol, const jsonParser &json)
 

Variables

std::string CASM::Specie::name
 
double CASM::Specie::mass
 
double CASM::Specie::magmom
 
double CASM::Specie::U
 
double CASM::Specie::J
 
Specie CASM::AtomPosition::specie
 
sd_type CASM::AtomPosition::SD_flag
 
Lattice const * CASM::Molecule::m_home
 
Array< SymOp > CASM::Molecule::point_group
 
Coordinate CASM::Molecule::center
 
std::string CASM::Molecule::name
 

Typedef Documentation

typedef OccupantDoF<Molecule> CASM::MoleculeOccupant

Definition at line 22 of file Molecule.hh.

typedef std::array<bool, 3> CASM::AtomPosition::sd_type

Definition at line 58 of file Molecule.hh.

Function Documentation

AtomPosition & CASM::AtomPosition::apply_sym ( const SymOp op)

Definition at line 79 of file Molecule.cc.

Molecule & CASM::Molecule::apply_sym ( const SymOp op)

Applies symmetry operation to a Molecule

Parameters
SymOp&op

Definition at line 128 of file Molecule.cc.

AtomPosition & CASM::AtomPosition::apply_sym_no_trans ( const SymOp op)

Definition at line 90 of file Molecule.cc.

Molecule & CASM::Molecule::apply_sym_no_trans ( const SymOp op)

Applies symmetry operation to a Molecule without adding translation

Parameters
SymOp&op

Definition at line 148 of file Molecule.cc.

CASM::AtomPosition::AtomPosition ( const Lattice init_lattice)
inlineexplicit

Definition at line 63 of file Molecule.hh.

CASM::AtomPosition::AtomPosition ( double  elem1,
double  elem2,
double  elem3,
std::string  sp_name,
const Lattice init_lattice,
COORD_TYPE  mode,
sd_type  _SD_flag = sd_type {{false, false, false}} 
)
inline

Definition at line 64 of file Molecule.hh.

bool CASM::Molecule::contains ( const std::string &  name) const

Definition at line 207 of file Molecule.cc.

void CASM::from_json ( Specie &  specie,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 20 of file Molecule.cc.

void CASM::from_json ( AtomPosition &  apos,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 105 of file Molecule.cc.

void CASM::Molecule::from_json ( const jsonParser json)

Read Molecule from json. Assumes current lattice.

re-throw exceptions

Definition at line 252 of file Molecule.cc.

void CASM::from_json ( Molecule &  mol,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 307 of file Molecule.cc.

void CASM::Molecule::generate_point_group ( )
void CASM::Molecule::get_center ( )
Molecule CASM::Molecule::get_union ( const Molecule RHS)
Lattice const* CASM::Molecule::home ( ) const
inline

Definition at line 116 of file Molecule.hh.

bool CASM::is_molecule_name ( const Molecule &  mol,
std::string  name 
)

Return true if Molecule name matches 'name', including Va checks.

Return true if Molecule name matches 'name', including Va name checks.

Equivalent to:

( (is_vacancy(mol.name) && is_vacancy(name)) || (mol.name == name) )

Definition at line 298 of file Molecule.cc.

bool CASM::is_vacancy ( const std::string &  name)
inline

A vacancy is any Specie/Molecule with (name == "VA" || name == "va" || name == "Va")

Definition at line 27 of file Molecule.hh.

bool CASM::Specie::is_vacancy ( ) const
inline

Definition at line 38 of file Molecule.hh.

bool CASM::Molecule::is_vacancy ( ) const
inline

Definition at line 124 of file Molecule.hh.

Molecule CASM::make_atom ( std::string  atom_name,
const Lattice &  lat 
)

Return an atomic Molecule with specified name and Lattice.

Definition at line 279 of file Molecule.cc.

Molecule CASM::make_vacancy ( const Lattice &  lat)

Return an vacancy Molecule with specified Lattice.

Definition at line 287 of file Molecule.cc.

CASM::Molecule::Molecule ( const Lattice init_home)
inlineexplicit

Definition at line 114 of file Molecule.hh.

Molecule CASM::operator* ( const SymOp &  LHS,
const Molecule &  RHS 
)
Molecule& CASM::Molecule::operator*= ( const SymOp RHS)
Molecule CASM::operator+ ( const Coordinate &  LHS,
const Molecule &  RHS 
)
Molecule CASM::operator+ ( const Molecule &  LHS,
const Coordinate &  RHS 
)
Molecule& CASM::Molecule::operator+= ( const Coordinate RHS)
bool CASM::Specie::operator== ( const Specie RHS) const
inline

Definition at line 43 of file Molecule.hh.

bool CASM::AtomPosition::operator== ( const AtomPosition RHS) const

Definition at line 42 of file Molecule.cc.

bool CASM::Molecule::operator== ( const Molecule RHS) const

Definition at line 183 of file Molecule.cc.

void CASM::AtomPosition::print ( std::ostream &  stream,
const Coordinate trans,
int  spaces,
bool  SD_is_on = false 
) const

Definition at line 54 of file Molecule.cc.

void CASM::Molecule::print ( std::ostream &  stream,
const Coordinate trans,
int  spaces,
char  delim,
bool  SD_is_on = false 
) const

Definition at line 220 of file Molecule.cc.

void CASM::Molecule::read ( std::istream &  stream)
void CASM::Molecule::set_lattice ( const Lattice new_lat,
COORD_TYPE  invariant_mode 
)

Definition at line 168 of file Molecule.cc.

CASM::Specie::Specie ( )
inline

Definition at line 35 of file Molecule.hh.

CASM::Specie::Specie ( std::string  init_name)
inlineexplicit

Definition at line 36 of file Molecule.hh.

jsonParser & CASM::to_json ( const Specie &  specie,
jsonParser &  json 
)

Definition at line 10 of file Molecule.cc.

jsonParser & CASM::to_json ( const AtomPosition &  apos,
jsonParser &  json 
)

Definition at line 96 of file Molecule.cc.

jsonParser & CASM::Molecule::to_json ( jsonParser json) const

Write Molecule to json. Does not write lattice.

Definition at line 234 of file Molecule.cc.

jsonParser & CASM::to_json ( const Molecule &  mol,
jsonParser &  json 
)

Definition at line 302 of file Molecule.cc.

Variable Documentation

Coordinate CASM::Molecule::center

Definition at line 111 of file Molecule.hh.

double CASM::Specie::J

Definition at line 34 of file Molecule.hh.

Lattice const* CASM::Molecule::m_home
private

Definition at line 102 of file Molecule.hh.

double CASM::Specie::magmom

Definition at line 34 of file Molecule.hh.

double CASM::Specie::mass

Definition at line 34 of file Molecule.hh.

std::string CASM::Specie::name

Definition at line 33 of file Molecule.hh.

std::string CASM::Molecule::name

Definition at line 112 of file Molecule.hh.

Array<SymOp> CASM::Molecule::point_group
private

Definition at line 104 of file Molecule.hh.

sd_type CASM::AtomPosition::SD_flag

Definition at line 61 of file Molecule.hh.

Specie CASM::AtomPosition::specie

Definition at line 59 of file Molecule.hh.

double CASM::Specie::U

Definition at line 34 of file Molecule.hh.