1 #ifndef CONFIGIOHULL_HH
2 #define CONFIGIOHULL_HH
28 template <
typename ValueType>
33 const std::string &_name,
const std::string &_desc,
34 const std::string &_default_selection =
"MASTER",
38 double _singular_value_tol = 1e-8,
double _bottom_facet_tol = 1e-8);
47 bool parse_args(
const std::string &args)
override;
68 mutable std::shared_ptr<Hull>
m_hull;
110 std::unique_ptr<OnHull>
clone()
const {
111 return std::unique_ptr<OnHull>(this->
_clone());
148 std::unique_ptr<HullDist>
clone()
const {
149 return std::unique_ptr<HullDist>(this->
_clone());
191 std::unique_ptr<OnClexHull>
clone()
const {
192 return std::unique_ptr<OnClexHull>(this->
_clone());
230 std::unique_ptr<ClexHullDist>
clone()
const {
231 return std::unique_ptr<ClexHullDist>(this->
_clone());
Base class for hull info formatters.
bool parse_args(const std::string &args) override
Determine the selection to use to generate the hull.
constexpr static double m_dist_to_hull_tol
std::string short_header(const Configuration &_config) const override
column header to use
std::shared_ptr< Hull > m_hull
std::string m_composition_type
BaseHull(const std::string &_name, const std::string &_desc, const std::string &_default_selection="MASTER", const std::string &_default_composition_type=default_hull_calculator(), const Hull::CalculatorOptions &_calculator_map=hull_calculator_options(), double _singular_value_tol=1e-8, double _bottom_facet_tol=1e-8)
Constructor.
double m_singular_value_tol
double m_bottom_facet_tol
const Hull & _hull() const
const Access the Hull object
Hull::CalculatorOptions m_calculator_map
bool init(const Configuration &_tmplt) const override
Calculates the convex hull.
Returns the distance, in eV, of a configuration's clex(formation_energy_per_atom) above the predicted...
virtual double evaluate(const Configuration &_config) const override
Return the distance to the hull.
ClexHullDist()
Constructor.
virtual bool validate(const Configuration &_config) const override
Validate that the Configuration has a cluster expanded formation energy per species.
static const std::string Name
static const std::string Desc
std::unique_ptr< ClexHullDist > clone() const
Clone.
ClexHullDist * _clone() const override
Clone.
Returns the distance, in eV, of a configuration's formation_energy_per_atom above the convex hull.
double evaluate(const Configuration &_config) const override
Return the distance to the hull.
static const std::string Name
static const std::string Desc
bool validate(const Configuration &_config) const override
Validate that the Configuration has a formation energy per species.
HullDist * _clone() const override
Clone.
std::unique_ptr< HullDist > clone() const
Clone.
Returns a boolean indicating if a Configuration is a predicted convex hull vertex.
virtual bool validate(const Configuration &_config) const override
Validate that the Configuration has a cluster expanded formation energy per species.
virtual bool evaluate(const Configuration &_config) const override
Check if the Configuration is a hull vertex.
static const std::string Desc
std::unique_ptr< OnClexHull > clone() const
Clone.
OnClexHull * _clone() const override
Clone.
static const std::string Name
Returns a boolean indicating if a Configuration is a convex hull vertex.
OnHull * _clone() const override
Clone.
std::unique_ptr< OnHull > clone() const
Clone.
static const std::string Desc
bool evaluate(const Configuration &_config) const override
Check if the Configuration is a hull vertex.
static const std::string Name
bool validate(const Configuration &_config) const override
Validate that the Configuration has a formation energy per species.
Generate and inspect the convex hull generated from a selection of Configurations.
std::map< std::string, CalculatorPair > CalculatorOptions
Hull::CalculatorOptions hull_calculator_options()
Returns a map containing default hull calculators.
std::string default_hull_calculator()
Returns "atom_frac".
Hull::CalculatorOptions clex_hull_calculator_options()
Returns a map containing default clex hull calculators.