CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <Hull.hh>
Generate and inspect the convex hull generated from a selection of Configurations.
Classes | |
struct | CompareVertex |
Public Types | |
typedef VectorXdAttribute< Configuration > | CompCalculator |
typedef ScalarAttribute< Configuration > | EnergyCalculator |
typedef std::pair< notstd::cloneable_ptr< CompCalculator >, notstd::cloneable_ptr< EnergyCalculator > > | CalculatorPair |
typedef std::map< std::string, CalculatorPair > | CalculatorOptions |
Public Member Functions | |
Hull (const DB::Selection< Configuration > &_selection, const CompCalculator &_comp_calculator=ConfigIO::SpeciesFrac(), const EnergyCalculator &_energy_calculator=ConfigIO::formation_energy_per_species(), double _singular_value_tol=1e-14, double _bottom_facet_tol=1e-14) | |
Constructor for convex hull in composition/energy space. More... | |
const orgQhull::Qhull & | data () const |
const Access the hull object directly More... | |
const Eigen::MatrixXd & | reduce () const |
Orthogonal transformation matrix from a point in full comp/energy space to dimension-reduced comp/energy space. More... | |
const Eigen::Transpose< const Eigen::MatrixXd > | expand () const |
Orthogonal transformation matrix from a point in the dimension-reduced comp/energy space to the full comp/energy space. More... | |
const Configuration & | configuration (const orgQhull::QhullPoint &point) const |
Return the configuration corresponding to any point. More... | |
const Configuration & | configuration (const orgQhull::QhullVertex &vertex) const |
Return the configuration corresponding to a hull vertex. More... | |
Eigen::VectorXd | mu (const orgQhull::QhullFacet facet) const |
Return the chemical potential corresponding to a facet. More... | |
const Configuration & | groundstate (const Eigen::VectorXd &mu) const |
Return the 0K ground state corresponding to the input chemical potential. More... | |
double | energy (const Configuration &config) const |
Use the EnergyCalculator to return the energy of a Configuration. More... | |
Eigen::VectorXd | composition (const Configuration &config) const |
Use the CompCalculator to return the composition of a Configuration. More... | |
Eigen::VectorXd | point (const Configuration &config) const |
Return a vector corresponding to the coordinate of a given configuration in full composition/energy space. More... | |
Eigen::VectorXd | reduced_point (const Configuration &config) const |
Return a vector corresponding to the coordinate of a given configuration in the reduced composition/energy space. More... | |
double | dist_to_hull (const Configuration &config) const |
The distance a Configuration is above the hull along the energy axis. More... | |
double | dist_to_hull (Eigen::VectorXd _reduced_point) const |
The distance a point in the reduced composition/energy space is above the hull along the energy axis. More... | |
Private Attributes | |
orgQhull::Qhull | m_hull |
DB::Selection< Configuration > | m_selection |
notstd::cloneable_ptr< CompCalculator > | m_comp_calculator |
notstd::cloneable_ptr< EnergyCalculator > | m_energy_calculator |
Eigen::MatrixXd | m_reduce |
std::vector< std::pair< orgQhull::QhullFacet, double > > | m_bottom_facets |
std::set< orgQhull::QhullVertex, CompareVertex > | m_bottom_vertices |
typedef std::map<std::string, CalculatorPair> CASM::Hull::CalculatorOptions |
typedef std::pair<notstd::cloneable_ptr<CompCalculator>, notstd::cloneable_ptr<EnergyCalculator> > CASM::Hull::CalculatorPair |
CASM::Hull::Hull | ( | const DB::Selection< Configuration > & | _selection, |
const CompCalculator & | _comp_calculator = ConfigIO::SpeciesFrac() , |
||
const EnergyCalculator & | _energy_calculator = ConfigIO::formation_energy_per_species() , |
||
double | _singular_value_tol = 1e-14 , |
||
double | _bottom_facet_tol = 1e-14 |
||
) |
Eigen::VectorXd CASM::Hull::composition | ( | const Configuration & | config | ) | const |
Use the CompCalculator to return the composition of a Configuration.
const Configuration & CASM::Hull::configuration | ( | const orgQhull::QhullPoint & | point | ) | const |
const Configuration & CASM::Hull::configuration | ( | const orgQhull::QhullVertex & | vertex | ) | const |
const orgQhull::Qhull & CASM::Hull::data | ( | ) | const |
double CASM::Hull::dist_to_hull | ( | const Configuration & | config | ) | const |
The distance a Configuration is above the hull along the energy axis.
double CASM::Hull::dist_to_hull | ( | Eigen::VectorXd | _reduced_point | ) | const |
double CASM::Hull::energy | ( | const Configuration & | config | ) | const |
Use the EnergyCalculator to return the energy of a Configuration.
const Eigen::Transpose< const Eigen::MatrixXd > CASM::Hull::expand | ( | ) | const |
const Configuration & CASM::Hull::groundstate | ( | const Eigen::VectorXd & | mu | ) | const |
Eigen::VectorXd CASM::Hull::mu | ( | const orgQhull::QhullFacet | facet | ) | const |
Eigen::VectorXd CASM::Hull::point | ( | const Configuration & | config | ) | const |
const Eigen::MatrixXd & CASM::Hull::reduce | ( | ) | const |
Orthogonal transformation matrix from a point in full comp/energy space to dimension-reduced comp/energy space.
Eigen::VectorXd CASM::Hull::reduced_point | ( | const Configuration & | config | ) | const |
|
private |
|
private |
|
private |
|
private |
|
private |