CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::ParamComposition Class Reference

#include <ParamComposition.hh>

Detailed Description

Definition at line 14 of file ParamComposition.hh.

Public Types

using AllowedOccupants = std::vector< std::vector< std::string > >
 

Public Member Functions

 ParamComposition ()
 
 ParamComposition (AllowedOccupants _allowed_occs)
 
 ParamComposition (AllowedOccupants _allowed_occs, const Eigen::MatrixXd &transf_mat, const Eigen::VectorXd &_origin, const int &_rank_of_space, const int &COMP_TYPE)
 
void generate_prim_end_members ()
 
void generate_composition_transf ()
 
void generate_composition_space (bool verbose=false)
 
ParamComposition calc_composition_object (const Eigen::VectorXd &torigin, const std::vector< Eigen::VectorXd > tspanning)
 
Eigen::VectorXd calc (const Eigen::VectorXd &tcomp, const int &MODE)
 
void calc_spanning_end_members ()
 
void calc_transformation_matrices ()
 
Eigen::VectorXd calc_param_composition (const Eigen::VectorXd &num_atoms_per_prim) const
 
Eigen::VectorXd calc_num_atoms (const Eigen::VectorXd &param_composition) const
 
void print_prim_end_members (std::ostream &stream) const
 
void print_components (std::ostream &stream) const
 
void print_composition_axes (std::ostream &stream) const
 
void print_curr_composition_axes (std::ostream &stream) const
 
void print_end_member_formula (const int &end_member_index, std::ostream &stream, const int &stream_width) const
 
void print_member_formula (const Eigen::VectorXd &member, std::ostream &stream, const int &stream_width) const
 
void print_origin_formula (std::ostream &stream, const int &stream_width) const
 
void print_composition_formula (std::ostream &stream, const int &stream_width) const
 
void print_composition_matrices (std::ostream &stream) const
 
void select_composition_axes (const Index &choice)
 
const std::vector< Eigen::VectorXd > & spanning_end_members () const
 
Eigen::MatrixXd prim_end_members () const
 Return all possible end members as row matrix. More...
 
const std::vector< Eigen::MatrixXd > & comp () const
 
const Eigen::VectorXd & origin () const
 
const int & rank_of_space () const
 
const int & number_of_references () const
 
const std::vector< std::vector< std::string > > & allowed_occs () const
 For each sublattice, a list of occupants allowed on that sublattice. More...
 
const std::vector< std::string > & components () const
 Components are in order of appearance precedence in allowed_occs() More...
 
std::string composition_formula () const
 
const std::vector< ParamComposition > & allowed_list () const
 
bool is_set () const
 

Static Public Member Functions

static std::vector< std::string > string_components (ParamComposition::AllowedOccupants const &_allowed_occs)
 

Private Attributes

AllowedOccupants m_allowed_occs
 m_allowed_occs[b] is list of occupants allowed at site [b] More...
 
std::vector< std::string > m_components
 The list of all allowed components, based on allowed_occs() More...
 
std::vector< Eigen::MatrixXd > m_comp
 
Eigen::VectorXd m_origin
 The origin of the composition space. More...
 
int m_rank_of_space
 
std::vector< Eigen::VectorXd > m_spanning_end_members
 
Eigen::MatrixXd m_prim_end_members
 
std::vector< ParamCompositionm_allowed_list
 

Member Typedef Documentation

◆ AllowedOccupants

using CASM::ParamComposition::AllowedOccupants = std::vector<std::vector<std::string> >

Definition at line 16 of file ParamComposition.hh.

Constructor & Destructor Documentation

◆ ParamComposition() [1/3]

CASM::ParamComposition::ParamComposition ( )
inline

Definition at line 22 of file ParamComposition.hh.

◆ ParamComposition() [2/3]

CASM::ParamComposition::ParamComposition ( ParamComposition::AllowedOccupants  _allowed_occs)

Definition at line 194 of file ParamComposition.cc.

◆ ParamComposition() [3/3]

CASM::ParamComposition::ParamComposition ( ParamComposition::AllowedOccupants  _allowed_occs,
const Eigen::MatrixXd &  transf_mat,
const Eigen::VectorXd &  _origin,
const int &  _rank_of_space,
const int &  COMP_TYPE 
)

Definition at line 205 of file ParamComposition.cc.

Member Function Documentation

◆ allowed_list()

const std::vector<ParamComposition>& CASM::ParamComposition::allowed_list ( ) const
inline

Definition at line 134 of file ParamComposition.hh.

◆ allowed_occs()

const std::vector<std::vector<std::string> >& CASM::ParamComposition::allowed_occs ( ) const
inline

For each sublattice, a list of occupants allowed on that sublattice.

Definition at line 125 of file ParamComposition.hh.

◆ calc()

Eigen::VectorXd CASM::ParamComposition::calc ( const Eigen::VectorXd &  tcomp,
const int &  MODE 
)

Definition at line 571 of file ParamComposition.cc.

◆ calc_composition_object()

ParamComposition CASM::ParamComposition::calc_composition_object ( const Eigen::VectorXd &  torigin,
const std::vector< Eigen::VectorXd >  tspanning 
)

Definition at line 600 of file ParamComposition.cc.

◆ calc_num_atoms()

Eigen::VectorXd CASM::ParamComposition::calc_num_atoms ( const Eigen::VectorXd &  param_composition) const

Definition at line 591 of file ParamComposition.cc.

◆ calc_param_composition()

Eigen::VectorXd CASM::ParamComposition::calc_param_composition ( const Eigen::VectorXd &  num_atoms_per_prim) const

Definition at line 583 of file ParamComposition.cc.

◆ calc_spanning_end_members()

void CASM::ParamComposition::calc_spanning_end_members ( )

Definition at line 665 of file ParamComposition.cc.

◆ calc_transformation_matrices()

void CASM::ParamComposition::calc_transformation_matrices ( )

Definition at line 634 of file ParamComposition.cc.

◆ comp()

const std::vector<Eigen::MatrixXd>& CASM::ParamComposition::comp ( ) const
inline

Definition at line 116 of file ParamComposition.hh.

◆ components()

const std::vector<std::string>& CASM::ParamComposition::components ( ) const
inline

Components are in order of appearance precedence in allowed_occs()

Definition at line 130 of file ParamComposition.hh.

◆ composition_formula()

std::string CASM::ParamComposition::composition_formula ( ) const

Definition at line 706 of file ParamComposition.cc.

◆ generate_composition_space()

void CASM::ParamComposition::generate_composition_space ( bool  verbose = false)

Definition at line 299 of file ParamComposition.cc.

◆ generate_composition_transf()

void CASM::ParamComposition::generate_composition_transf ( )

◆ generate_prim_end_members()

void CASM::ParamComposition::generate_prim_end_members ( )

Definition at line 235 of file ParamComposition.cc.

◆ is_set()

bool CASM::ParamComposition::is_set ( ) const
inline

Definition at line 145 of file ParamComposition.hh.

◆ number_of_references()

const int& CASM::ParamComposition::number_of_references ( ) const
inline

Definition at line 122 of file ParamComposition.hh.

◆ origin()

const Eigen::VectorXd& CASM::ParamComposition::origin ( ) const
inline

Definition at line 118 of file ParamComposition.hh.

◆ prim_end_members()

Eigen::MatrixXd CASM::ParamComposition::prim_end_members ( ) const
inline

Return all possible end members as row matrix.

Definition at line 114 of file ParamComposition.hh.

◆ print_components()

void CASM::ParamComposition::print_components ( std::ostream &  stream) const
inline

Definition at line 72 of file ParamComposition.hh.

◆ print_composition_axes()

void CASM::ParamComposition::print_composition_axes ( std::ostream &  stream) const

Definition at line 477 of file ParamComposition.cc.

◆ print_composition_formula()

void CASM::ParamComposition::print_composition_formula ( std::ostream &  stream,
const int &  stream_width 
) const

Definition at line 411 of file ParamComposition.cc.

◆ print_composition_matrices()

void CASM::ParamComposition::print_composition_matrices ( std::ostream &  stream) const
inline

Definition at line 88 of file ParamComposition.hh.

◆ print_curr_composition_axes()

void CASM::ParamComposition::print_curr_composition_axes ( std::ostream &  stream) const

Definition at line 521 of file ParamComposition.cc.

◆ print_end_member_formula()

void CASM::ParamComposition::print_end_member_formula ( const int &  end_member_index,
std::ostream &  stream,
const int &  stream_width 
) const

◆ print_member_formula()

void CASM::ParamComposition::print_member_formula ( const Eigen::VectorXd &  member,
std::ostream &  stream,
const int &  stream_width 
) const

Definition at line 451 of file ParamComposition.cc.

◆ print_origin_formula()

void CASM::ParamComposition::print_origin_formula ( std::ostream &  stream,
const int &  stream_width 
) const

Definition at line 470 of file ParamComposition.cc.

◆ print_prim_end_members()

void CASM::ParamComposition::print_prim_end_members ( std::ostream &  stream) const
inline

Definition at line 66 of file ParamComposition.hh.

◆ rank_of_space()

const int& CASM::ParamComposition::rank_of_space ( ) const
inline

Definition at line 120 of file ParamComposition.hh.

◆ select_composition_axes()

void CASM::ParamComposition::select_composition_axes ( const Index choice)

Definition at line 685 of file ParamComposition.cc.

◆ spanning_end_members()

const std::vector<Eigen::VectorXd>& CASM::ParamComposition::spanning_end_members ( ) const
inline

Definition at line 109 of file ParamComposition.hh.

◆ string_components()

std::vector< std::string > CASM::ParamComposition::string_components ( ParamComposition::AllowedOccupants const &  _allowed_occs)
static

Definition at line 179 of file ParamComposition.cc.

Member Data Documentation

◆ m_allowed_list

std::vector<ParamComposition> CASM::ParamComposition::m_allowed_list
private

the list of possible composition axes that have positive composition axes as computed by generate_composition_axes

Definition at line 189 of file ParamComposition.hh.

◆ m_allowed_occs

AllowedOccupants CASM::ParamComposition::m_allowed_occs
private

m_allowed_occs[b] is list of occupants allowed at site [b]

Definition at line 163 of file ParamComposition.hh.

◆ m_comp

std::vector<Eigen::MatrixXd> CASM::ParamComposition::m_comp
private

holds the transformation matrix to go from NUMBER_ATOMS to PARAM_COMP and vice versa

Definition at line 170 of file ParamComposition.hh.

◆ m_components

std::vector<std::string> CASM::ParamComposition::m_components
private

The list of all allowed components, based on allowed_occs()

Definition at line 166 of file ParamComposition.hh.

◆ m_origin

Eigen::VectorXd CASM::ParamComposition::m_origin
private

The origin of the composition space.

Definition at line 173 of file ParamComposition.hh.

◆ m_prim_end_members

Eigen::MatrixXd CASM::ParamComposition::m_prim_end_members
private

holds the list of all allowed end_members in the PRIM each row is an end_member

Definition at line 185 of file ParamComposition.hh.

◆ m_rank_of_space

int CASM::ParamComposition::m_rank_of_space
private

the number of variables you need to define to give the position in this space

Definition at line 177 of file ParamComposition.hh.

◆ m_spanning_end_members

std::vector<Eigen::VectorXd> CASM::ParamComposition::m_spanning_end_members
private

holds the list of end members as defined in this space by the comp and origin matrices

Definition at line 181 of file ParamComposition.hh.


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