CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <ParamComposition.hh>
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 ¶m_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< ParamComposition > | m_allowed_list |
using CASM::ParamComposition::AllowedOccupants = std::vector<std::vector<std::string> > |
Definition at line 16 of file ParamComposition.hh.
|
inline |
Definition at line 22 of file ParamComposition.hh.
CASM::ParamComposition::ParamComposition | ( | ParamComposition::AllowedOccupants | _allowed_occs | ) |
Definition at line 194 of file ParamComposition.cc.
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.
|
inline |
Definition at line 134 of file ParamComposition.hh.
|
inline |
For each sublattice, a list of occupants allowed on that sublattice.
Definition at line 125 of file ParamComposition.hh.
Eigen::VectorXd CASM::ParamComposition::calc | ( | const Eigen::VectorXd & | tcomp, |
const int & | MODE | ||
) |
Definition at line 571 of file ParamComposition.cc.
ParamComposition CASM::ParamComposition::calc_composition_object | ( | const Eigen::VectorXd & | torigin, |
const std::vector< Eigen::VectorXd > | tspanning | ||
) |
Definition at line 600 of file ParamComposition.cc.
Eigen::VectorXd CASM::ParamComposition::calc_num_atoms | ( | const Eigen::VectorXd & | param_composition | ) | const |
Definition at line 591 of file ParamComposition.cc.
Eigen::VectorXd CASM::ParamComposition::calc_param_composition | ( | const Eigen::VectorXd & | num_atoms_per_prim | ) | const |
Definition at line 583 of file ParamComposition.cc.
void CASM::ParamComposition::calc_spanning_end_members | ( | ) |
Definition at line 665 of file ParamComposition.cc.
void CASM::ParamComposition::calc_transformation_matrices | ( | ) |
Definition at line 634 of file ParamComposition.cc.
|
inline |
Definition at line 116 of file ParamComposition.hh.
|
inline |
Components are in order of appearance precedence in allowed_occs()
Definition at line 130 of file ParamComposition.hh.
std::string CASM::ParamComposition::composition_formula | ( | ) | const |
Definition at line 706 of file ParamComposition.cc.
void CASM::ParamComposition::generate_composition_space | ( | bool | verbose = false | ) |
Definition at line 299 of file ParamComposition.cc.
void CASM::ParamComposition::generate_composition_transf | ( | ) |
void CASM::ParamComposition::generate_prim_end_members | ( | ) |
Definition at line 235 of file ParamComposition.cc.
|
inline |
Definition at line 145 of file ParamComposition.hh.
|
inline |
Definition at line 122 of file ParamComposition.hh.
|
inline |
Definition at line 118 of file ParamComposition.hh.
|
inline |
Return all possible end members as row matrix.
Definition at line 114 of file ParamComposition.hh.
|
inline |
Definition at line 72 of file ParamComposition.hh.
void CASM::ParamComposition::print_composition_axes | ( | std::ostream & | stream | ) | const |
Definition at line 477 of file ParamComposition.cc.
void CASM::ParamComposition::print_composition_formula | ( | std::ostream & | stream, |
const int & | stream_width | ||
) | const |
Definition at line 411 of file ParamComposition.cc.
|
inline |
Definition at line 88 of file ParamComposition.hh.
void CASM::ParamComposition::print_curr_composition_axes | ( | std::ostream & | stream | ) | const |
Definition at line 521 of file ParamComposition.cc.
void CASM::ParamComposition::print_end_member_formula | ( | const int & | end_member_index, |
std::ostream & | stream, | ||
const int & | stream_width | ||
) | const |
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.
void CASM::ParamComposition::print_origin_formula | ( | std::ostream & | stream, |
const int & | stream_width | ||
) | const |
Definition at line 470 of file ParamComposition.cc.
|
inline |
Definition at line 66 of file ParamComposition.hh.
|
inline |
Definition at line 120 of file ParamComposition.hh.
void CASM::ParamComposition::select_composition_axes | ( | const Index & | choice | ) |
Definition at line 685 of file ParamComposition.cc.
|
inline |
Definition at line 109 of file ParamComposition.hh.
|
static |
Definition at line 179 of file ParamComposition.cc.
|
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.
|
private |
m_allowed_occs[b] is list of occupants allowed at site [b]
Definition at line 163 of file ParamComposition.hh.
|
private |
holds the transformation matrix to go from NUMBER_ATOMS to PARAM_COMP and vice versa
Definition at line 170 of file ParamComposition.hh.
|
private |
The list of all allowed components, based on allowed_occs()
Definition at line 166 of file ParamComposition.hh.
|
private |
The origin of the composition space.
Definition at line 173 of file ParamComposition.hh.
|
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.
|
private |
the number of variables you need to define to give the position in this space
Definition at line 177 of file ParamComposition.hh.
|
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.