CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::Configuration Class Reference

#include <Configuration.hh>

+ Inheritance diagram for CASM::Configuration:

Detailed Description

Configuration, a periodic perturbation of the infinite crystal within the DoF space of the prim

A Configuration represents a particular periodic perturbation of the infinite crystal within the space of allowed perturbations defined by the BasicStructure. Configuration has:

  • a Supercell, representing the translational periodicity of the perturbation
  • a ConfigDoF, representing the values of DoF (local discrete and local continuous) "within" global DoF.
  • calculated properties (std::map<std::string, MappedProperties>), the values of properties (i.e. energy, relaxation displacements, relaxation strain, etc.) that are dependent on the values of the DoF. Properties are stored in a map with key "calctype" to allow for different values of the properties depending on the calculation method.

Definition at line 74 of file Configuration.hh.

Public Types

typedef Base::MostDerived MostDerived
 

Public Member Functions

 Configuration (std::shared_ptr< Supercell const > const &_supercell_ptr)
 
 Configuration (std::shared_ptr< Supercell const > const &_supercell_ptr, ConfigDoF const &_dof)
 
 Configuration (Supercell const &_supercell)
 Construct a default Configuration. More...
 
 Configuration (const Supercell &_supercell, const ConfigDoF &_dof)
 Construct a default Configuration. More...
 
const Supercellsupercell () const
 Get the Supercell for this Configuration. More...
 
const Latticeideal_lattice () const
 
Index size () const
 Returns number of sites, NOT the number of primitives that fit in here. More...
 
UnitCellCoord uccoord (Index site_l) const
 Get the UnitCellCoord for a given linear site index. More...
 
Index linear_index (const UnitCellCoord &bijk) const
 Return the linear index corresponding to integral coordinates. More...
 
int sublat (Index site_l) const
 Get the basis site index for a given linear linear site index. More...
 
const ConfigDoFconfigdof () const
 const Access the DoF More...
 
ConfigDoFconfigdof ()
 Access the DoF. More...
 
void clear ()
 Clear all DoF. More...
 
void init_occupation ()
 Set occupant variables to background structure. More...
 
void set_occupation (Eigen::Ref< const Eigen::VectorXi > const &_occupation)
 Set occupant variables. More...
 
Eigen::VectorXi const & occupation () const
 Occupant variables. More...
 
void set_occ (Index site_l, int val)
 Set occupant variable on site l. More...
 
const int & occ (Index site_l) const
 Occupant variable on site l. More...
 
const Moleculemol (Index site_l) const
 Molecule on site l. More...
 
bool has_occupation () const
 True if Configuration has occupation DoF. More...
 
bool operator< (const Configuration &B) const
 Clear occupation. More...
 
ConfigCompare less () const
 
ConfigIsEquivalent equal_to () const
 
bool is_primitive () const
 Check if this is a primitive Configuration. More...
 
PermuteIterator find_translation () const
 Returns a PermuteIterator corresponding to the first non-zero pure translation that maps the Configuration onto itself. More...
 
Configuration primitive () const
 Return the primitive Configuration. More...
 
Configuration in_canonical_supercell () const
 Returns the canonical form Configuration in the canonical Supercell. More...
 
std::vector< PermuteIteratorfactor_group () const
 Returns the subgroup of the Supercell factor group that leaves the Configuration unchanged. More...
 
std::vector< PermuteIteratorinvariant_subgroup () const
 Returns the subgroup of the Supercell factor group that leaves the Configuration unchanged. More...
 
bool is_canonical () const
 
int multiplicity () const
 Get symmetric multiplicity, excluding translations. More...
 
std::vector< PermuteIteratorpoint_group () const
 Returns the point group that leaves the Configuration unchanged. More...
 
std::string point_group_name () const
 Returns the point group that leaves the Configuration unchanged. More...
 
Configurationapply_sym (const PermuteIterator &it)
 Transform Configuration from PermuteIterator via *this = permute_iterator * *this. More...
 
std::vector< Eigen::VectorXd > sublattice_composition () const
 
std::vector< Eigen::VectorXi > sublat_num_each_molecule () const
 
Eigen::VectorXd composition () const
 
Eigen::VectorXd true_composition () const
 
Eigen::VectorXi num_each_molecule () const
 
Eigen::VectorXd param_composition () const
 Returns parametric composition, as calculated using PrimClex::param_comp. More...
 
Eigen::VectorXd num_each_component () const
 
ConfigInsertResult insert (bool primitive_only=false) const
 Insert this configuration (in primitive & canonical form) in the database. More...
 
std::vector< PermuteIteratorinvariant_subgroup () const
 Gives the subgroup of the supercell that leaves this configuration unchanged. More...
 
template<typename PermuteIteratorIt >
std::vector< PermuteIteratorinvariant_subgroup (PermuteIteratorIt begin, PermuteIteratorIt end) const
 Gives the subgroup of the supercell that leaves this configuration unchanged. More...
 
bool is_canonical () const
 Determines if this Configuration is in canonical form. More...
 
template<typename PermuteIteratorIt >
bool is_canonical (PermuteIteratorIt begin, PermuteIteratorIt end) const
 Determines if this Configuration is in canonical form. More...
 
bool is_sym_equivalent (const MostDerived &B) const
 True if this and B have same canonical form. More...
 
template<typename PermuteIteratorIt >
bool is_sym_equivalent (const MostDerived &B, PermuteIteratorIt begin, PermuteIteratorIt end) const
 True if this and B have same canonical form. More...
 
template<typename ConfigIterator >
ConfigIterator find_sym_equivalent (const MostDerived &B, ConfigIterator obj_begin, ConfigIterator obj_end) const
 Find Config that has same canonical form. More...
 
template<typename ConfigIterator , typename PermuteIteratorIt >
ConfigIterator find_sym_equivalent (ConfigIterator obj_begin, ConfigIterator obj_end, PermuteIteratorIt begin, PermuteIteratorIt end) const
 True if this and B have same canonical form. More...
 
template<typename PermuteIteratorIt >
bool is_canonical (PermuteIteratorIt begin, PermuteIteratorIt end) const
 
MostDerived canonical_form () const
 
template<typename PermuteIteratorIt >
MostDerived canonical_form (PermuteIteratorIt begin, PermuteIteratorIt end) const
 
PermuteIterator to_canonical () const
 
template<typename PermuteIteratorIt >
PermuteIterator to_canonical (PermuteIteratorIt begin, PermuteIteratorIt end) const
 
PermuteIterator from_canonical () const
 
template<typename PermuteIteratorIt >
PermuteIterator from_canonical (PermuteIteratorIt begin, PermuteIteratorIt end) const
 
template<typename PermuteIteratorIt >
std::vector< PermuteIteratorinvariant_subgroup (PermuteIteratorIt begin, PermuteIteratorIt end) const
 

Static Public Member Functions

static Configuration zeros (const std::shared_ptr< Supercell const > &_supercell_ptr)
 
static Configuration zeros (const std::shared_ptr< Supercell const > &_supercell_ptr, double _tol)
 
static Configuration zeros (Supercell const &_scel)
 
static Configuration zeros (Supercell const &_scel, double _tol)
 
static std::pair< std::string, std::string > split_name (std::string configname)
 Split configuration name string into scelname and config id. More...
 

Private Member Functions

std::string generate_name_impl () const
 Returns a Configuration name. More...
 
bool eq_impl (const Configuration &B) const
 operator== comparison of Configuration, via ConfigEqual More...
 

Private Attributes

Supercell const * m_supercell
 Pointer to the Supercell for this Configuration. More...
 
std::shared_ptr< Supercell const > m_supercell_ptr
 Used when constructing temporary Configuration in non-canonical Supercell. More...
 
ConfigDoF m_configdof
 Degrees of Freedom. More...
 

Friends

struct Comparisons< Calculable< CRTPBase< Configuration > > >
 
class DB::Named< CRTPBase< Configuration > >
 

Member Typedef Documentation

◆ MostDerived

template<typename Base >
typedef Base::MostDerived CASM::ConfigCanonicalForm< Base >::MostDerived
inherited

Definition at line 138 of file HasCanonicalForm.hh.

Constructor & Destructor Documentation

◆ Configuration() [1/4]

CASM::Configuration::Configuration ( std::shared_ptr< Supercell const > const &  _supercell_ptr)
explicit

Construct a default Configuration, with a shared Supercell

Note:

  • This is one of the preferred constructors for new code. It can be used when the Supercell is not stored in a Database<Supercell>. In the future, it will be used in that context also.
  • This Configuration does own its own Supercell, so the lifetime of the Supercell is guaranteed to exceed the lifetime of this Configuration

Definition at line 53 of file Configuration.cc.

◆ Configuration() [2/4]

CASM::Configuration::Configuration ( std::shared_ptr< Supercell const > const &  _supercell_ptr,
ConfigDoF const &  _dof 
)
explicit

Construct a default Configuration, with a shared Supercell

Note:

  • This is one of the preferred constructors for new code. It can be used when the Supercell is not stored in a Database<Supercell>. In the future, it will be used in that context also.
  • This Configuration does own its own Supercell, so the lifetime of the Supercell is guaranteed to exceed the lifetime of this Configuration

Definition at line 59 of file Configuration.cc.

◆ Configuration() [3/4]

CASM::Configuration::Configuration ( Supercell const &  _supercell)
explicit

Construct a default Configuration.

Construct a default Configuration, with a pointer to a Supercell and

Note:

  • Whenever possible, this constructor should not be used in new code .
  • This constructor keeps a pointer to _supercell, whose lifetime must exceed the lifetime of this Configuration

Definition at line 79 of file Configuration.cc.

◆ Configuration() [4/4]

CASM::Configuration::Configuration ( const Supercell _supercell,
const ConfigDoF _dof 
)
explicit

Construct a default Configuration.

Construct a default Configuration

Note:

  • Whenever possible, this constructor should not be used in new code .
  • This constructor keeps a pointer to _supercell, whose lifetime must exceed the lifetime of this Configuration

Definition at line 84 of file Configuration.cc.

Member Function Documentation

◆ apply_sym()

Configuration & CASM::Configuration::apply_sym ( const PermuteIterator it)

Transform Configuration from PermuteIterator via *this = permute_iterator * *this.

Definition at line 433 of file Configuration.cc.

◆ canonical_form() [1/2]

template<typename Base >
ConfigCanonicalForm< Base >::MostDerived CASM::ConfigCanonicalForm< Base >::canonical_form
inherited

Definition at line 217 of file HasCanonicalForm_impl.hh.

◆ canonical_form() [2/2]

template<typename Base >
template<typename PermuteIteratorIt >
ConfigCanonicalForm< Base >::MostDerived CASM::ConfigCanonicalForm< Base >::canonical_form ( PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const
inherited

Definition at line 272 of file HasCanonicalForm_impl.hh.

◆ clear()

void CASM::Configuration::clear ( )

Clear all DoF.

◆ composition()

Eigen::VectorXd CASM::Configuration::composition ( ) const

Returns composition, not counting vacancies composition[ molecule_type ]: molecule_type ordered as prim structure's xtal::struc_molecule_name(), with [Va]=0.0

get the total number of non-vacancy atoms

Definition at line 491 of file Configuration.cc.

◆ configdof() [1/2]

ConfigDoF& CASM::Configuration::configdof ( )
inline

Access the DoF.

Definition at line 185 of file Configuration.hh.

◆ configdof() [2/2]

const ConfigDoF& CASM::Configuration::configdof ( ) const
inline

const Access the DoF

Definition at line 180 of file Configuration.hh.

◆ eq_impl()

bool CASM::Configuration::eq_impl ( const Configuration B) const
private

operator== comparison of Configuration, via ConfigEqual

  • Must have the same Supercell
  • Checks that all DoF are the same, within tolerance

Definition at line 592 of file Configuration.cc.

◆ equal_to()

ConfigIsEquivalent CASM::Configuration::equal_to ( ) const

Definition at line 571 of file Configuration.cc.

◆ factor_group()

std::vector< PermuteIterator > CASM::Configuration::factor_group ( ) const

Returns the subgroup of the Supercell factor group that leaves the Configuration unchanged.

Definition at line 212 of file Configuration.cc.

◆ find_sym_equivalent() [1/2]

template<typename Base >
template<typename ConfigIterator , typename PermuteIteratorIt >
ConfigIterator CASM::ConfigCanonicalForm< Base >::find_sym_equivalent ( ConfigIterator  obj_begin,
ConfigIterator  obj_end,
PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const
inherited

True if this and B have same canonical form.

Definition at line 259 of file HasCanonicalForm_impl.hh.

◆ find_sym_equivalent() [2/2]

template<typename Base >
template<typename ConfigIterator >
ConfigIterator CASM::ConfigCanonicalForm< Base >::find_sym_equivalent ( const MostDerived B,
ConfigIterator  obj_begin,
ConfigIterator  obj_end 
) const
inherited

Find Config that has same canonical form.

Definition at line 199 of file HasCanonicalForm_impl.hh.

◆ find_translation()

PermuteIterator CASM::Configuration::find_translation ( ) const

Returns a PermuteIterator corresponding to the first non-zero pure translation that maps the Configuration onto itself.

  • If primitive, returns this->supercell().sym_info().translate_end()

Definition at line 126 of file Configuration.cc.

◆ from_canonical() [1/2]

template<typename Base >
PermuteIterator CASM::ConfigCanonicalForm< Base >::from_canonical
inherited

Definition at line 229 of file HasCanonicalForm_impl.hh.

◆ from_canonical() [2/2]

template<typename Base >
template<typename PermuteIteratorIt >
PermuteIterator CASM::ConfigCanonicalForm< Base >::from_canonical ( PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const
inherited

Definition at line 286 of file HasCanonicalForm_impl.hh.

◆ generate_name_impl()

std::string CASM::Configuration::generate_name_impl ( ) const
private

Returns a Configuration name.

For configurations in supercells equivalent to the canonical supercell: For canonical configurations:

  • CANON_CONFIG_NAME = $CANON_SCELNAME/$CONFIG_INDEX
  • The CANON_CONFIG is found in the config database by name. For non-canonical configurations:
  • NONCANON_CONFIG_NAME = $CANON_CONFIG_NAME.equiv.$FG_PERM.$TRANS_PERM
  • The CANON_CONFIG is found in the config database, then the FG_PERM-th factor_group permutation is applied, follwed by TRANS_PERM-th translation permutation. For all other configurations:
  • NONEQUIV_SCEL_CONFIG_NAME = $SCEL_NAME/super.$PRIM_FG_OP2.$NONCANON_CONFIG_NAME`
  • SCEL_NAME may be for a canonical equivalent or non canonical equivalent supercell, in which case it is represented by CANON_SCEL_NAME.$PRIM_FG_OP1
  • The NONCANON_CONFIG is constructed, PRIM_FG_OP2 is applied, and then the SCEL is filled
  • When generating the NONCANON_CONFIG_NAME, the primitive configuration is used

if 'id' is known

Definition at line 338 of file Configuration.cc.

◆ has_occupation()

bool CASM::Configuration::has_occupation ( ) const
inline

True if Configuration has occupation DoF.

Definition at line 274 of file Configuration.hh.

◆ ideal_lattice()

const Lattice & CASM::Configuration::ideal_lattice ( ) const

Definition at line 266 of file Configuration.cc.

◆ in_canonical_supercell()

Configuration CASM::Configuration::in_canonical_supercell ( ) const

Returns the canonical form Configuration in the canonical Supercell.

Definition at line 179 of file Configuration.cc.

◆ init_occupation()

void CASM::Configuration::init_occupation ( )

Set occupant variables to background structure.

Definition at line 101 of file Configuration.cc.

◆ insert()

ConfigInsertResult CASM::Configuration::insert ( bool  primitive_only = false) const

Insert this configuration (in primitive & canonical form) in the database.

Parameters
primitive_onlyIf true, only the primitive Configuration is inserted.
  • By convention, the primitive canonical form of a configuration must always be saved in the config list.
  • Supercells are inserted in the Supercell database as necessary
  • If this is already known to be primitive & canonical, prefer to use PrimClex::db<Configuration>.insert(config) directly.
  • Prefer to use the standalone DB::make_canonical_and_insert directly

Definition at line 197 of file Configuration.cc.

◆ invariant_subgroup() [1/4]

std::vector< PermuteIterator > CASM::ConfigCanonicalForm< Base >::invariant_subgroup

Gives the subgroup of the supercell that leaves this configuration unchanged.

Definition at line 158 of file HasCanonicalForm_impl.hh.

◆ invariant_subgroup() [2/4]

std::vector< PermuteIterator > CASM::Configuration::invariant_subgroup ( ) const

Returns the subgroup of the Supercell factor group that leaves the Configuration unchanged.

Definition at line 218 of file Configuration.cc.

◆ invariant_subgroup() [3/4]

template<typename PermuteIteratorIt >
std::vector< PermuteIterator > CASM::ConfigCanonicalForm< Base >::invariant_subgroup ( typename PermuteIteratorIt  )

Gives the subgroup of the supercell that leaves this configuration unchanged.

Definition at line 188 of file HasCanonicalForm_impl.hh.

◆ invariant_subgroup() [4/4]

template<typename Base >
template<typename PermuteIteratorIt >
std::vector< PermuteIterator > CASM::ConfigCanonicalForm< Base >::invariant_subgroup ( PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const
inherited

Definition at line 315 of file HasCanonicalForm_impl.hh.

◆ is_canonical() [1/4]

bool CASM::ConfigCanonicalForm< Base >::is_canonical

Determines if this Configuration is in canonical form.

Definition at line 150 of file HasCanonicalForm_impl.hh.

◆ is_canonical() [2/4]

bool CASM::Configuration::is_canonical ( ) const

Definition at line 230 of file Configuration.cc.

◆ is_canonical() [3/4]

template<typename PermuteIteratorIt >
bool CASM::ConfigCanonicalForm< Base >::is_canonical ( typename PermuteIteratorIt  )

Determines if this Configuration is in canonical form.

Definition at line 173 of file HasCanonicalForm_impl.hh.

◆ is_canonical() [4/4]

template<typename Base >
template<typename PermuteIteratorIt >
bool CASM::ConfigCanonicalForm< Base >::is_canonical ( PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const
inherited

Definition at line 243 of file HasCanonicalForm_impl.hh.

◆ is_primitive()

bool CASM::Configuration::is_primitive ( ) const

Check if this is a primitive Configuration.

Definition at line 112 of file Configuration.cc.

◆ is_sym_equivalent() [1/2]

template<typename Base >
bool CASM::ConfigCanonicalForm< Base >::is_sym_equivalent ( const MostDerived B) const
inherited

True if this and B have same canonical form.

Definition at line 193 of file HasCanonicalForm_impl.hh.

◆ is_sym_equivalent() [2/2]

template<typename Base >
template<typename PermuteIteratorIt >
bool CASM::ConfigCanonicalForm< Base >::is_sym_equivalent ( const MostDerived B,
PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const
inherited

True if this and B have same canonical form.

Definition at line 251 of file HasCanonicalForm_impl.hh.

◆ less()

ConfigCompare CASM::Configuration::less ( ) const

Definition at line 569 of file Configuration.cc.

◆ linear_index()

Index CASM::Configuration::linear_index ( const UnitCellCoord bijk) const

Return the linear index corresponding to integral coordinates.

Definition at line 408 of file Configuration.cc.

◆ mol()

const Molecule & CASM::Configuration::mol ( Index  site_l) const

Molecule on site l.

Equivalent to:

config.prim().basis()[ config.sublat(l) ].site_occupant[
config.occupation()[l]];
ConfigIO::GenericConfigFormatter< jsonParser > config()
Definition: ConfigIO.cc:777

Definition at line 416 of file Configuration.cc.

◆ multiplicity()

int CASM::Configuration::multiplicity ( ) const

Get symmetric multiplicity, excluding translations.

Definition at line 423 of file Configuration.cc.

◆ num_each_component()

Eigen::VectorXd CASM::Configuration::num_each_component ( ) const

Returns num_each_component[ component_type] per prim cell, where 'component_type' is ordered as ParamComposition::components

Definition at line 541 of file Configuration.cc.

◆ num_each_molecule()

Eigen::VectorXi CASM::Configuration::num_each_molecule ( ) const

Returns num_each_molecule[ molecule_type], where 'molecule_type' is ordered as Structure::get_struc_molecule()

Returns num_each_molecule[ molecule_type], where 'molecule_type' is ordered as Structure::xtal::struc_molecule_name()

Definition at line 524 of file Configuration.cc.

◆ occ()

const int& CASM::Configuration::occ ( Index  site_l) const
inline

Occupant variable on site l.

The occupant on site l can be obtained from the occupation variable using:

Molecule on_site_l = config.prim().basis()[ config.sublat(l)
].site_occupant[config.occ(l)];
  • For a CASM project, the occupation variables will be ordered according to the occupant DoF in a "prim.json" file. This means that for the background structure, 'occupation' is all 0

Definition at line 262 of file Configuration.hh.

◆ occupation()

Eigen::VectorXi const& CASM::Configuration::occupation ( ) const
inline

Occupant variables.

With one value for each site in the Configuration, this std::vector describes which occupant is at each of the 'N' sites of the configuration. The occupant on site l can be obtained from the occupation variable using:

Molecule on_site_l = config.prim().basis()[ config.sublat(l)
].site_occupant[ config.occupation()[l]];
  • For a CASM project, the occupation variables will be ordered according to the occupant DoF in a "prim.json" file. This means that for the background structure, 'occupation' is all 0

Definition at line 236 of file Configuration.hh.

◆ operator<()

bool CASM::Configuration::operator< ( const Configuration B) const

Clear occupation.

Compare Configuration, via ConfigCompare

Definition at line 565 of file Configuration.cc.

◆ param_composition()

Eigen::VectorXd CASM::Configuration::param_composition ( ) const

Returns parametric composition, as calculated using PrimClex::param_comp.

Definition at line 529 of file Configuration.cc.

◆ point_group()

std::vector< PermuteIterator > CASM::Configuration::point_group ( ) const

Returns the point group that leaves the Configuration unchanged.

Definition at line 240 of file Configuration.cc.

◆ point_group_name()

std::string CASM::Configuration::point_group_name ( ) const

Returns the point group that leaves the Configuration unchanged.

Definition at line 253 of file Configuration.cc.

◆ primitive()

Configuration CASM::Configuration::primitive ( ) const

Return the primitive Configuration.

Return a primitive Configuration.

Definition at line 141 of file Configuration.cc.

◆ set_occ()

void CASM::Configuration::set_occ ( Index  site_l,
int  val 
)

Set occupant variable on site l.

The occupant on site l can be obtained from the occupation variable using:

Molecule on_site_l = config.prim().basis()[ config.sublat(l)
].site_occupant[config.occ(l)];
  • For a CASM project, the occupation variables will be ordered according to the occupant DoF in a "prim.json" file. This means that for the background structure, 'occupation' is all 0
  • No check is performed as to whether val is in the correct range
  • This will invalidate the Configuration's id

Definition at line 106 of file Configuration.cc.

◆ set_occupation()

void CASM::Configuration::set_occupation ( Eigen::Ref< const Eigen::VectorXi > const &  _occupation)
inline

Set occupant variables.

With one value for each site in the Configuration, this std::vector describes which occupant is at each of the 'N' sites of the configuration. The occupant on site l can be obtained from the occupation variable using:

Molecule on_site_l = config.prim().basis()[ config.sublat(l)
].site_occupant[ config.occupation()[l]];
  • For a CASM project, the occupation variables will be ordered according to the occupant DoF in a "prim.json" file. This means that for the background structure, 'occupation' is all 0
  • This will invalidate the Configuration's id
Exceptions
If

Definition at line 220 of file Configuration.hh.

◆ size()

Index CASM::Configuration::size ( ) const

Returns number of sites, NOT the number of primitives that fit in here.

Definition at line 400 of file Configuration.cc.

◆ split_name()

std::pair< std::string, std::string > CASM::Configuration::split_name ( std::string  configname)
static

Split configuration name string into scelname and config id.

Definition at line 575 of file Configuration.cc.

◆ sublat()

int CASM::Configuration::sublat ( Index  site_l) const

Get the basis site index for a given linear linear site index.

Definition at line 412 of file Configuration.cc.

◆ sublat_num_each_molecule()

std::vector< Eigen::VectorXi > CASM::Configuration::sublat_num_each_molecule ( ) const

Returns number of each molecule by sublattice: sublat_num_each_molecule[ prim basis site / sublattice ][ molecule_type] molucule_type is ordered as in the Prim structure's site_occupant list for that basis site

Definition at line 470 of file Configuration.cc.

◆ sublattice_composition()

std::vector< Eigen::VectorXd > CASM::Configuration::sublattice_composition ( ) const

Returns composition on each sublattice: sublat_comp[ prim basis site / sublattice][ molecule_type] molucule_type is ordered as in the Prim structure's site_occupant list for that basis site (includes vacancies)

Definition at line 447 of file Configuration.cc.

◆ supercell()

const Supercell & CASM::Configuration::supercell ( ) const

Get the Supercell for this Configuration.

Definition at line 402 of file Configuration.cc.

◆ to_canonical() [1/2]

template<typename Base >
PermuteIterator CASM::ConfigCanonicalForm< Base >::to_canonical
inherited

Definition at line 223 of file HasCanonicalForm_impl.hh.

◆ to_canonical() [2/2]

template<typename Base >
template<typename PermuteIteratorIt >
PermuteIterator CASM::ConfigCanonicalForm< Base >::to_canonical ( PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const
inherited

Definition at line 279 of file HasCanonicalForm_impl.hh.

◆ true_composition()

Eigen::VectorXd CASM::Configuration::true_composition ( ) const

Returns composition, including vacancies composition[ molecule_type ]: molecule_type ordered as prim structure's xtal::struc_molecule_name()

Definition at line 518 of file Configuration.cc.

◆ uccoord()

UnitCellCoord CASM::Configuration::uccoord ( Index  site_l) const

Get the UnitCellCoord for a given linear site index.

Definition at line 404 of file Configuration.cc.

◆ zeros() [1/4]

Configuration CASM::Configuration::zeros ( const std::shared_ptr< Supercell const > &  _supercell_ptr)
static

Build a Configuration sized to _supercell with all fields initialized and set to zero

Definition at line 66 of file Configuration.cc.

◆ zeros() [2/4]

Configuration CASM::Configuration::zeros ( const std::shared_ptr< Supercell const > &  _supercell_ptr,
double  _tol 
)
static

Build a Configuration sized to _supercell with all fields initialized and set to zero

Definition at line 71 of file Configuration.cc.

◆ zeros() [3/4]

Configuration CASM::Configuration::zeros ( Supercell const &  _scel)
static

Build a Configuration sized to _scel with all fields initialized and set to zero

Note:

  • Whenever possible, this constructor should not be used in new code .

Definition at line 88 of file Configuration.cc.

◆ zeros() [4/4]

Configuration CASM::Configuration::zeros ( Supercell const &  _scel,
double  _tol 
)
static

Build a Configuration sized to _scel with all fields initialized and set to zero

Note:

  • Whenever possible, this constructor should not be used in new code .

Definition at line 92 of file Configuration.cc.

Friends And Related Function Documentation

◆ Comparisons< Calculable< CRTPBase< Configuration > > >

friend struct Comparisons< Calculable< CRTPBase< Configuration > > >
friend

Definition at line 384 of file Configuration.hh.

◆ DB::Named< CRTPBase< Configuration > >

friend class DB::Named< CRTPBase< Configuration > >
friend

Definition at line 384 of file Configuration.hh.

Member Data Documentation

◆ m_configdof

ConfigDoF CASM::Configuration::m_configdof
private

Degrees of Freedom.

Definition at line 405 of file Configuration.hh.

◆ m_supercell

Supercell const* CASM::Configuration::m_supercell
private

Pointer to the Supercell for this Configuration.

Definition at line 399 of file Configuration.hh.

◆ m_supercell_ptr

std::shared_ptr<Supercell const> CASM::Configuration::m_supercell_ptr
private

Used when constructing temporary Configuration in non-canonical Supercell.

Definition at line 402 of file Configuration.hh.


The documentation for this class was generated from the following files: