CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::DoF_impl Namespace Reference

Namespaces

 OccupationDoFSpecs_impl
 

Classes

class  DisplacementDoFTraits
 
struct  MagSpinDoFSpecs
 
class  MagSpinDoFTraits
 
struct  SublatComp
 
struct  OccupationDoFSpecs
 
class  OccupationDoFTraits
 
class  StrainDoFTraits
 

Enumerations

enum class  SITE_BASIS_FUNCTION_TYPE { CHEBYCHEV , OCCUPATION , COMPOSITION }
 

Functions

std::vector< double > chebychev_sublat_prob_vec (Index occupant_dof_size)
 
std::vector< double > occupation_sublat_prob_vec (Index occupant_dof_size)
 
std::vector< double > composition_sublat_prob_vec (const OccupationDoFSpecs &occ_specs, Index sublat_index, const std::vector< std::string > &allowed_occupants)
 
Validator validate (OccupationDoFSpecs const &occ_specs, const Structure &prim)
 
std::vector< double > _make_occ_probs (const Site &site, Index b_ind, OccupationDoFSpecs const &occ_specs)
 
void _construct_orthonormal_discrete_functions (BasisSet &site_basis, Orbit< PrimPeriodicSymCompare< IntegralCluster >> const &orbit, Structure const &prim, DoF_impl::OccupationDoFSpecs const &occ_specs)
 

Enumeration Type Documentation

◆ SITE_BASIS_FUNCTION_TYPE

Enumerator
CHEBYCHEV 
OCCUPATION 
COMPOSITION 

Definition at line 16 of file OccupationDoFTraits.hh.

Function Documentation

◆ _construct_orthonormal_discrete_functions()

void CASM::DoF_impl::_construct_orthonormal_discrete_functions ( BasisSet site_basis,
Orbit< PrimPeriodicSymCompare< IntegralCluster >> const &  orbit,
Structure const &  prim,
DoF_impl::OccupationDoFSpecs const &  occ_specs 
)

Definition at line 203 of file OccupationDoFTraits.cc.

◆ _make_occ_probs()

std::vector<double> CASM::DoF_impl::_make_occ_probs ( const Site site,
Index  b_ind,
OccupationDoFSpecs const &  occ_specs 
)

Definition at line 181 of file OccupationDoFTraits.cc.

◆ chebychev_sublat_prob_vec()

std::vector< double > CASM::DoF_impl::chebychev_sublat_prob_vec ( Index  occupant_dof_size)

Definition at line 41 of file OccupationDoFTraits.cc.

◆ composition_sublat_prob_vec()

std::vector< double > CASM::DoF_impl::composition_sublat_prob_vec ( const OccupationDoFSpecs occ_specs,
Index  sublat_index,
const std::vector< std::string > &  allowed_occupants 
)

Get the sublattice probability vector for composition based functions

Note:

Definition at line 51 of file OccupationDoFTraits.cc.

◆ occupation_sublat_prob_vec()

std::vector< double > CASM::DoF_impl::occupation_sublat_prob_vec ( Index  occupant_dof_size)

Definition at line 45 of file OccupationDoFTraits.cc.

◆ validate()

Validator CASM::DoF_impl::validate ( OccupationDoFSpecs const &  occ_specs,
const Structure prim 
)

Validates OccupationDoFSpecs against a prim Structure

Validates OccupationDoFSpecs for:

  • valid sublattice indices: in range [0, prim.basis.size()), no duplicates, no missing
  • check that molecule names are allowed on sublattices
  • check that allowed molecule on a sublattice has a composition value (may be 0)
  • check that all sublattices (w/ >1 occupant) have composition

Definition at line 176 of file OccupationDoFTraits.cc.