25 m_primclex(&_primclex),
82 double in_param_comp) {
130 return !(*
this == RHS);
134 int max_division = 0;
144 if (temp_division > max_division &&
146 max_division = temp_division;
157 sout <<
"param_composition: "
Eigen::VectorXd mol_composition(const Eigen::VectorXd &x) const
Convert parametric composition, 'x', to number of mol per prim, 'n'.
double temperature() const
Eigen::VectorXd param_composition() const
parametric composition: comp_x
const PrimClex * m_primclex
void set_temperature(double in_temp)
Set the temperature of the current grand canonical condition.
bool operator!=(const CanonicalConditions &RHS) const
Compare temperature and all chemical potentials to *this.
bool operator==(const CanonicalConditions &RHS) const
Compare temperature and all chemical potentials to *this.
int operator/(const CanonicalConditions &RHS_inc) const
Divide ALL parameters and return the greatest number in absolute value.
void set_param_composition(const Eigen::VectorXd &in_param_comp)
Set parametric composition.
const PrimClex & primclex() const
double m_tolerance
Tolerance for comparison operators == and !=.
Eigen::VectorXd m_param_composition
Vector of the param composition.
CanonicalConditions & operator+=(const CanonicalConditions &RHS)
Add temperature and all chemical potentials to *this.
Eigen::VectorXd mol_composition() const
mol composition: comp_n
CanonicalConditions & operator-=(const CanonicalConditions &RHS)
Subtract temperature and all chemical potentials to *this.
CanonicalConditions operator+(const CanonicalConditions &RHS) const
double m_temperature
Temperature.
CanonicalConditions()
Default constructor.
double m_beta
Inverse temperature. Includes Boltzmann term.
CanonicalConditions operator-(const CanonicalConditions &RHS) const
PrimClex is the top-level data structure for a CASM project.
Eigen::CwiseUnaryOp< decltype(Local::round_l< typename Derived::Scalar >), const Derived > round(const Eigen::MatrixBase< Derived > &val)
Round Eigen::MatrixXd.
const CompositionConverter & composition_axes() const
const Access CompositionConverter object
CASM::jsonParser & to_json_array(const Eigen::MatrixBase< Derived > &value, CASM::jsonParser &json)
Write Eigen Matrix with 1 row or 1 column to JSON array.
std::ostream & operator<<(std::ostream &sout, const CanonicalConditions &cond)
bool almost_zero(const T &val, double tol=TOL)
If T is not integral, use std::abs(val) < tol;.
INDEX_TYPE Index
For long integer indexing: