1 #ifndef CASM_ConfigDoFValues
2 #define CASM_ConfigDoFValues
54 std::vector<SymGroupRepID>
const &_symrep_IDs);
60 void set_values(Eigen::Ref<ValueType const>
const &_values);
67 Eigen::VectorXi
const &
values()
const;
77 std::vector<SymGroupRepID>
const &
symrep_IDs()
const;
125 std::vector<DoFSetInfo>
const &_info);
131 void set_values(Eigen::Ref<const ValueType>
const &_values);
141 Eigen::Ref<const Eigen::MatrixXd>
const &_standard_values);
159 std::vector<DoFSetInfo>
const &
info()
const;
208 void set_values(Eigen::Ref<const Eigen::MatrixXd>
const &_values);
218 Eigen::Ref<const Eigen::MatrixXd>
const &_standard_values);
Specifies traits of (possibly) anisotropic crystal properties.
std::string const & type_name() const
ConfigDoFValues(DoF::BasicTraits const &_traits, Index _n_sublat, Index _n_vol)
Eigen::MatrixXd standard_values() const
Get global DoF values as standard DoF values.
GlobalContinuousConfigDoFValues(DoF::BasicTraits const &_traits, Index _n_sublat, Index _n_vol, DoFSetInfo const &_info)
void from_standard_values(Eigen::Ref< const Eigen::MatrixXd > const &_standard_values)
Set global DoF values from standard DoF values.
ValueType::Scalar SiteValueType
Eigen::VectorXd & Reference
void _throw_if_invalid_size(Eigen::Ref< ValueType const > const &_values) const
Eigen::VectorXd const & values() const
Const access global DoF values.
Index dim() const
Global DoF vector representation dimension.
Eigen::VectorXd ValueType
void setZero()
Set DoF values to zero.
DoFSetInfo const & info() const
DoFSetInfo provides the basis and symmetry representations for values
const int & ConstSiteReference
void set_values(Eigen::Ref< const Eigen::MatrixXd > const &_values)
Set global DoF values.
Eigen::VectorXd const & ConstReference
std::vector< DoFSetInfo > const & info() const
DoFSetInfo provides the basis and symmetry representations for values
SiteReference site_value(Index l)
Access site DoF value vector.
Eigen::MatrixXd const & ConstReference
Index dim() const
maximum DoF vector representation size (max of DoFSetInfo::dim())
const Eigen::Block< const ValueType > ConstSublatReference
static Index matrix_dim(std::vector< DoFSetInfo > const &_info)
local continuous DoF values matrix has #rows == max( DoFSetInfo::dim() )
Eigen::MatrixXd ValueType
void from_standard_values(Eigen::Ref< const Eigen::MatrixXd > const &_standard_values)
Set local DoF values from standard DoF values.
std::vector< DoFSetInfo > m_info
ValueType SublatValueType
Eigen::MatrixXd & Reference
void _throw_if_invalid_size(Eigen::Ref< ValueType const > const &_values) const
Eigen::VectorXd SiteValueType
Eigen::Block< ValueType > SublatReference
LocalContinuousConfigDoFValues(DoF::BasicTraits const &_traits, Index _n_sublat, Index _n_vol, std::vector< DoFSetInfo > const &_info)
ValueType::ColXpr SiteReference
const ValueType::ConstColXpr ConstSiteReference
void set_values(Eigen::Ref< const ValueType > const &_values)
Access site DoF values (prim DoF basis, matrix representing all sites)
SublatReference sublat(Index b)
Access matrix block of values for all sites on one sublattice.
Eigen::MatrixXd const & values() const
Const access DoF values (prim DoF basis, matrix representing all sites)
void setZero()
Set DoF values to zero.
Eigen::MatrixXd standard_values() const
Get local DoF values as standard DoF values.
std::vector< SymGroupRepID > const & symrep_IDs() const
ValueType::ConstSegmentReturnType ConstSublatReference
const int & ConstSiteReference
ValueType::Scalar SiteValueType
Eigen::VectorXi const & ConstReference
int & occ(Index i)
Reference occupation value on site i.
std::vector< SymGroupRepID > m_symrep_IDs
Eigen::VectorXi & Reference
Eigen::VectorXi ValueType
LocalDiscreteConfigDoFValues(DoF::BasicTraits const &_traits, Index _n_sublat, Index _n_vol, std::vector< SymGroupRepID > const &_symrep_IDs)
Eigen::VectorXi const & values() const
SublatReference sublat(Index b)
Access vector block of values for all sites on one sublattice.
void _throw_if_invalid_size(Eigen::Ref< ValueType const > const &_values) const
ValueType::SegmentReturnType SublatReference
ValueType SublatValueType
void set_values(Eigen::Ref< ValueType const > const &_values)
Set occupation values (values are indices into Site::occupant_dof())
void setZero()
Set occupation values to zero.
INDEX_TYPE Index
For long integer indexing: