CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
Clex.cc
Go to the documentation of this file.
1 #include "casm/clex/Clex.hh"
2 
3 #include "casm/clex/PrimClex.hh"
4 
5 namespace CASM {
6 
7 
8  const PrimClex &Clex::primclex() const {
9  return *m_primclex;
10  }
11 
12  const ClexDescription &Clex::desc() const {
13  return m_desc;
14  }
15 
16  const SiteOrbitree &Clex::orbitree() const {
17 
18  if(m_orbitree == nullptr) {
20  }
21  return *m_orbitree;
22  }
23 
24  Clexulator &Clex::clexulator(Log &status_log) const {
25 
26  if(!m_clexulator.initialized()) {
28  }
29  return m_clexulator;
30  }
31 
32  const ECIContainer &Clex::eci() const {
33 
34  if(m_eci == nullptr) {
35  m_eci = &primclex().eci(m_desc);
36  }
37  return *m_eci;
38  }
39 
41  bool operator<(const Clex &A, const Clex &B) {
42  return A.desc() < B.desc();
43  }
44 
45 }
Clexulator clexulator(const ClexDescription &key) const
Definition: PrimClex.cc:1030
Specifies a particular cluster expansion.
const SiteOrbitree * m_orbitree
Pointer to SiteOrbitree held by PrimClex.
Definition: Clex.hh:58
const PrimClex & primclex() const
Definition: Clex.cc:8
Clexulator & clexulator(Log &status_log=null_log()) const
Definition: Clex.cc:24
ClexDescription m_desc
Cluster expansion description: name, property, calctype, ref, bset, eci.
Definition: Clex.hh:55
bool operator<(const ClexDescription &A, const ClexDescription &B)
Compare using name strings: A.name < B.name.
const SiteOrbitree & orbitree() const
Definition: Clex.cc:16
bool initialized() const
Is runtime library loaded?
Definition: Clexulator.hh:355
const ClexDescription & desc() const
Definition: Clex.cc:12
Main CASM namespace.
Definition: complete.cpp:8
const ECIContainer * m_eci
Pointer to ECIContainer held by PrimClex.
Definition: Clex.hh:65
Clexulator m_clexulator
Definition: Clex.hh:62
Evaluates correlations.
Definition: Clexulator.hh:240
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:52
const PrimClex * m_primclex
Pointer to PrimClex.
Definition: Clex.hh:52
const ECIContainer & eci() const
Definition: Clex.cc:32
Definition: Log.hh:9
Data structure used for cluster expansions.
Definition: Clex.hh:24
const SiteOrbitree & orbitree(const ClexDescription &key) const
Definition: PrimClex.cc:996
const ECIContainer & eci(const ClexDescription &key) const
Definition: PrimClex.cc:1076
A sparse container of ECI values and their corresponding orbit indices.
Definition: ECIContainer.hh:12