CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM Namespace Reference

Detailed Description

Main CASM namespace.

What is being tested:

Cluster expansion class.

What is being used to test it:

Namespaces

 api_impl
 
 CASM_TMP
 
 Clexulator_impl
 
 ComparePTLeaf
 
 Completer
 
 ConfigIO
 Contains ConfigIO classes and functions.
 
 ConfigIO_impl
 
 ConfigMap_impl
 
 ConfigMapping
 
 ConfigSelection_impl
 
 Coordinate_impl
 
 DataStream_impl
 
 DoFIsEquivalent
 Namespace containing DoF comparison functors.
 
 HermiteCounter_impl
 
 Hull_impl
 
 HungarianMethod_impl
 
 Import_impl
 
 Monte
 
 multivector_impl
 
 normal_form_impl
 
 ref_impl
 
 SiteCluster_impl
 
 Update_impl
 
 VaspIO
 Functions and classes related to VASP input/output.
 

Classes

class  Args
 
class  Array
 Basic std::vector like container (deprecated) More...
 
class  ArraySizeLessThan
 
class  AtomFracMonteSampler
 Sampler for atom fraction. More...
 
class  AtomPosition
 
class  Base1DDatumFormatter
 Abstract base class for creating 1D DatumFormatter. More...
 
class  BaseCounter
 A Counter allows looping over many incrementing variables in one loop. More...
 
class  BaseDatumFormatter
 Abstract base class from which all other DatumFormatter<DataObject> classes inherit. More...
 
class  BaseValueFormatter
 Base class for creating scalar DatumFormatter. More...
 
class  BasicPolyPolyScalarProd
 
class  BasicStructure
 BasicStructure specifies the lattice and atomic basis of a crystal. More...
 
class  BasicVarVarScalarProd
 
class  BasisSet
 
class  ChemicalReference
 
struct  ChemicalReferencePrinter
 Structure to help print ChemicalReference. More...
 
struct  ChemicalReferenceState
 Stores the composition and energy in a single reference state. More...
 
class  Clex
 Data structure used for cluster expansions. More...
 
struct  ClexDescription
 Specifies a particular cluster expansion. More...
 
class  Clexulator
 Evaluates correlations. More...
 
class  ClustJsonHelper
 
struct  CommandArgs
 Data structure holding basic CASM command info. More...
 
struct  Comparisons
 Implements other comparisons in terms of '<'. More...
 
class  CompMonteSampler
 Sampler for parametric composition. More...
 
struct  CompositionAxes
 
class  CompositionConverter
 Convert between number of species per unit cell and parametric composition. More...
 
class  ConfigCompare
 Class for less than comparison of Configurations (with the same Supercell) More...
 
class  ConfigDoF
 A container class for the different degrees of freedom a Configuration might have. More...
 
class  ConfigDoFCompare
 Wrapper class for generic less than comparison of ConfigDoF. More...
 
class  ConfigDoFIsEquivalent
 Wrapper class for generic equality comparison of ConfigDoF. More...
 
class  ConfigEnumAllOccupations
 Enumerate over all possible occupations in a particular Supercell. More...
 
class  ConfigEnumEquivalents
 Enumerate all equivalent Configurations in a Supercell, as generated by Supercell factor group symmetry. More...
 
class  ConfigEnumInterpolation
 
class  ConfigEnumRandomOccupations
 Enumerate n random occupations in a particular Supercell. More...
 
class  ConfigEnumStrain
 
struct  ConfigInsertResult
 Holds results of Configuration::insert. More...
 
class  ConfigIsEquivalent
 Class for comparison of Configurations (with the same Supercell) More...
 
singleton  ConfigIterator
 
struct  ConfigMapCompare
 
class  ConfigMapper
 
singleton  ConfigSelection
 
class  ConfigSelectionIterator
 
class  Configuration
 A Configuration represents the values of all degrees of freedom in a Supercell. More...
 
class  ConstantReference
 Maps all Configurations to the same value. More...
 
class  ConstantValueFormatter
 Prints a string value specified at construction. A header string can also be passed. More...
 
struct  ContainerTraits
 Specialize container traits Expects: More...
 
struct  ContainerTraits< Eigen::VectorXd >
 Eigen::VectorXd container traits. More...
 
class  ContinuousDoF
 
class  COORD_MODE
 COORD_MODE specifies the current coordinate mode (Fractional or Cartesian) More...
 
class  Coordinate
 Represents cartesian and fractional coordinates. More...
 
class  CountDataStream
 
class  Counter
 A Counter allows looping over many incrementing variables in one loop. More...
 
class  CounterValueIterator
 
class  CounterValueIterator< MultiCounter< SubCounterType > >
 
struct  CovEvaluator
 Functor to help evaluate covariance. More...
 
singleton  DataFormatter
 Extract data from objects of 'DataObject' class. More...
 
class  DataFormatterDictionary
 Parsing dictionary for constructing a DataFormatter<DataObject> object. More...
 
class  DataFormatterOperator
 DataFormatters that operate on the results of other DataFormatters. More...
 
class  DataStream
 
class  DatumFormatterAlias
 Implements a DatumFormatter that is an alias for a combination of others. More...
 
class  DeltaProperties
 
class  DerivedID
 
struct  DictionaryConverter
 
struct  DictionaryConverter< DataObject, BaseDatumFormatter< DataObject > >
 
class  DirectoryStructure
 Specification of CASM project directory structure. More...
 
class  DiscreteDoF
 
class  DisplacementDoFEnvironment
 
class  DoF
 
class  DoFEnvironment
 
class  DoFManager
 DoFManager holds multiple DoFEnvironments, and provides a simple interface for adding and managing DoFs. More...
 
singleton  DynamicMatrix
 
class  ECIContainer
 A sparse container of ECI values and their corresponding orbit indices. More...
 
class  EnumEquivalents
 Enumerate over all equivalents. More...
 
class  EnumeratorBase
 Abstract base class for enumerators. More...
 
class  EnumeratorHandler
 
class  EnumInterface
 Template class to be specialized for each enumerator that may be accessed via the API. More...
 
class  EnumInterfaceBase
 Base class for generic use of enumerators that may be accessed through the API. More...
 
class  EnumIteratorBase
 
class  EquilibriumMonteSettings
 
class  FCC_ternary_Clexulator
 
class  FileEnumerator
 Lists all files in a CASM project, for use with 'casm files' command. More...
 
class  FillSupercell
 
class  FilteredConfigIterator
 
struct  FloatCompare
 
class  FormatFlag
 
class  FormattedPrintable
 Abstract base class to enable generic formatting. More...
 
class  Function
 
class  FunctionOperation
 
class  FunctionVisitor
 
class  Generic1DDatumFormatter
 A DatumFormatter that returns a 1D value of specified type, via functions that may be specified at runtime. More...
 
class  GenericCluster
 
singleton  GenericDatumFormatter
 A DatumFormatter that returns a value of specified type, via functions that may be specified at runtime. More...
 
class  GenericOrbit
 
class  GenericOrbitBranch
 
singleton  GenericOrbitree
 
class  GramSchmidt
 
class  GrandCanonical
 
class  GrandCanonicalConditions
 
class  GrandCanonicalEvent
 Data structure for storing information regarding a proposed grand canonical Monte Carlo event. More...
 
class  GrandCanonicalSettings
 
singleton  HallOfFame
 A container for storing best scoring objects. More...
 
class  HermiteCounter
 
class  HierarchyID
 
class  Hull
 Generate and inspect the convex hull generated from a selection of Configurations. More...
 
class  HyperPlaneReference
 Maps a Configuration to a scalar value via a hyperplane. More...
 
class  HyperPlaneReferenceBase
 Maps a Configuration to a scalar value via a hyperplane. More...
 
class  InnerProduct
 
class  InputEnumerator
 Generic input enumerator. More...
 
class  InputEnumeratorBase
 Base class for implementing specialized input enumerators. More...
 
class  InputEnumIterator
 
class  InputEnumIteratorBase
 
class  IsoCounter
 A IsoCounter allows looping over many incrementing variables in one loop. More...
 
struct  jsonConstructor
 Helper struct for constructing objects that need additional data. More...
 
struct  jsonConstructor< ChemicalReference >
 Read chemical reference from JSON. More...
 
struct  jsonConstructor< HyperPlaneReference >
 
struct  jsonConstructor< Monte::OccCandidate >
 
struct  jsonConstructor< Monte::OccSwap >
 
class  jsonParser
 
class  jsonParserIterator
 
class  LabeledMatrixXdDataStream
 
class  Lattice
 
class  LatticeEnumEquivalents
 Enumerate equivalent Lattics, given a SymGroup. More...
 
class  LatticeIsEquivalent
 Putting all the Lattice comparisons in one place. More...
 
class  LatticeMap
 
class  Log
 
class  Logging
 
class  MasterSymGroup
 
class  MatrixXdDataStream
 
class  MCData
 MCData stores observations of properties. More...
 
class  MCDataConvergence
 Checks if a range of observations have converged. More...
 
class  MCDataEquilibration
 Checks if a range of observations have equilibrated. More...
 
class  Molecule
 
class  MonteCarlo
 Interface base class for all types of Monte Carlo simulations (not meant to be used polymorphically) More...
 
class  MonteCarloDirectoryStructure
 
class  MonteCarloEnum
 
class  MonteCarloEnumCheck
 
class  MonteCarloEnumMetric
 
class  MonteCounter
 Track the number of passes, steps and samples taken in a Monte Carlo calculation. More...
 
class  MonteDriver
 
class  MonteSampler
 An abstract base class for sampling and storing data observations. More...
 
class  MonteSettings
 Settings for Monte Carlo calculations. More...
 
class  MultiCounter
 
struct  multivector
 Shortcut for multidimensional vector (std::vector< std::vector< ...) More...
 
class  NiggliRep
 
class  Norm
 
class  NormPerSpecies
 
class  NormPerUnitCell
 
class  OccFuncBasisIndexer
 
class  OccFuncLabeler
 
class  OccOccOperation
 
singleton  OccupantDoF
 
class  OccupantFunction
 
class  OccupationDoFEnvironment
 
class  OStringStreamLog
 
class  ParamComposition
 
class  PCA
 Principle component analysis. More...
 
class  PERIODICITY_MODE
 
class  Permutation
 
class  PermuteIterator
 
class  PolynomialFunction
 
class  PolyOccOperation
 
class  PolyPolyOperation
 
class  PolyTrie
 
class  PolyVarOperation
 
class  Popen
 Remember how to use popen. More...
 
class  PrimClex
 PrimClex is the top-level data structure for a CASM project. More...
 
class  PrimGrid
 
class  PrimNeighborList
 The PrimNeighborList gives the coordinates of UnitCell that are neighbors of the origin UnitCell. More...
 
class  ProjectBuilder
 Sets up directories and files for a new CASM project. More...
 
class  ProjectSettings
 Read/modify settings of an already existing CASM project. More...
 
class  Properties
 
class  PTIterator
 
class  PTLeaf
 
class  PTNode
 
class  QueryHandler
 
class  QueryMonteSampler
 Sampler for individual elements of a vector property. More...
 
struct  QueryTraits
 
struct  QueryTraits< Configuration >
 
class  RandomAccessEnumerator
 Generic random access enumerator. More...
 
class  RandomAccessEnumeratorBase
 Base class for implementing specialized random access enumerators. More...
 
class  RandomAccessEnumIterator
 The iterator type for RandomAccessEnumerator. More...
 
class  RandomAccessEnumIteratorBase
 RandomAccessEnumIterator implemenation. More...
 
class  ReturnArray
 
class  ReturnTensor
 
class  RuntimeLibrary
 Write, compile, load and use code at runtime. More...
 
class  SafeOfstream
 Write to a temporary file to ensure a good write, then rename. More...
 
struct  SamplerNameCompare
 
class  ScalarMonteSampler
 Sampler for a scalar property. More...
 
class  ScelEnumByNameT
 Enumerate over Supercell. More...
 
class  ScelEnumByPropsT
 Enumerate over Supercell. More...
 
class  ScelEnumEquivalents
 Enumerate equivalent Supercell. More...
 
class  ScelEnumProps
 Data structure for holding supercell enumeration properties. More...
 
singleton  ScelEnumT
 Enumerate over Supercell. More...
 
class  SimpleJSonSiteStructure
 
class  Site
 
class  SiteCluster
 
class  SiteExchanger
 
class  SiteFracMonteSampler
 Sampler for site fraction. More...
 
class  SiteMod
 Describes the modification of a variable on a basis site. More...
 
singleton  SparseTensor
 
class  Specie
 
class  StrainConverter
 
class  StrainDoFEnvironment
 
class  Structure
 Structure specifies the lattice and atomic basis of a crystal. More...
 
class  SubExpressionLabeler
 
class  Supercell
 Represents a supercell of the primitive parent crystal structure. More...
 
class  SupercellEnumerator
 A fake container of supercell matrices. More...
 
class  SupercellIterator
 Iterators used with SupercellEnumerator. More...
 
class  SuperConfigEnum
 Given a selection of Configurations, enumerate all tilings into some supercell. More...
 
class  SuperNeighborList
 The SuperNeighborList gives the linear indices of neighboring sites and unitcells in a particular Supercell. More...
 
class  SymBasisPermute
 SymBasisPermute describes how a symmetry operation permutes atoms in a basis. More...
 
class  SymGroup
 SymGroup is a collection of symmetry operations that satisfy the group property The symmetry operations are stored as their coordinate representation, as described by the SymOp class i.e., if SymOps 'A' and 'B' are in SymGroup, C=A*B is also in SymGroup if 'A' is in SymGroup, then A.inverse() is in SymGroup SymGroup always contains an identity operation. More...
 
class  SymGroupRep
 SymGroupRep is an alternative representation of a SymGroup for something other than real space. There is a one-to-one correspondence of SymOps in some SymGroup with the SymOpRepresentations in SymGroupRep SymGroupRep does not know or care about the specifics of what the SymOpRepresentations describe or how they are implemented. More...
 
class  SymGroupRepHandle
 
class  SymGroupRepID
 Type-safe ID object for communicating and accessing Symmetry representation info. More...
 
struct  SymInfo
 Simple struct to be used as return type for SymOp::info(). More...
 
class  SymMatrixXd
 Generalized symmetry matrix representation for arbitrary dimension Can be used to describe application of symmetry to N-dimensional vector spaces Use for 3-dimensional transformations if they do not describe coordinate transformations. More...
 
class  SymOp
 SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian (CART) information about how a symetry operation transforms 3D spatial coordinates. More...
 
class  SymOpRepresentation
 SymOpRepresentation is the base class for anything describes a symmetry operation. More...
 
class  SymPermutation
 SymPermutation describes how a symmetry operation permutes a list of 'things' For example, Coordinates in a Cluster, basis atoms in a Structure, Clusters in an Orbit, etc. More...
 
struct  SymRepIndexCompare
 
class  Tensor
 
class  TensorBasis
 
class  test_Clexulator
 
class  TestEnum
 Enumerate over all possible occupations in a particular Supercell. More...
 
struct  traits
 
class  UnitCell
 Unit Cell Indices. More...
 
class  UnitCellCoord
 Unit Cell Coordinates. More...
 
class  ValEnumerator
 
class  ValEnumIterator
 
class  ValueDataStream
 
class  Variable
 
class  VariableLabeler
 
class  VarVarOperation
 
class  VectorDataStream
 
class  VectorMonteSampler
 Sampler for individual elements of a vector property. More...
 
class  ZrO_Clexulator
 

Typedefs

typedef ArgHandler::ARG_TYPE ARG_TYPE
 
typedef std::function< int(const
CommandArgs &)> 
Command
 
typedef std::map< std::string,
Command
CommandMap
 
typedef ConfigSelection< true > ConstConfigSelection
 
typedef unsigned int uint
 
typedef unsigned long int ulint
 
typedef long int lint
 
typedef Eigen::MatrixXd::Index EigenIndex
 For integer indexing: More...
 
typedef EigenIndex Index
 For long integer indexing: More...
 
template<typename DataObject >
using StringAttribute = BaseValueFormatter< std::string, DataObject >
 Template alias for BaseValueFormatter returning std::string. More...
 
template<typename DataObject >
using StringAttributeDictionary = DataFormatterDictionary< DataObject, StringAttribute< DataObject > >
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
using BooleanAttribute = BaseValueFormatter< bool, DataObject >
 Template alias for BaseValueFormatter returning bool. More...
 
template<typename DataObject >
using BooleanAttributeDictionary = DataFormatterDictionary< DataObject, BooleanAttribute< DataObject > >
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
using IntegerAttribute = BaseValueFormatter< Index, DataObject >
 Template alias for BaseValueFormatter returning Index. More...
 
template<typename DataObject >
using IntegerAttributeDictionary = DataFormatterDictionary< DataObject, IntegerAttribute< DataObject > >
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
using ScalarAttribute = BaseValueFormatter< double, DataObject >
 Template alias for BaseValueFormatter returning double. More...
 
template<typename DataObject >
using ScalarAttributeDictionary = DataFormatterDictionary< DataObject, ScalarAttribute< DataObject > >
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
using VectorXdAttribute = Base1DDatumFormatter< Eigen::VectorXd, DataObject >
 Template alias for BaseValueFormatter returning Eigen::VectorXd. More...
 
template<typename DataObject >
using VectorXdAttributeDictionary = DataFormatterDictionary< DataObject, VectorXdAttribute< DataObject > >
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
typedef GenericOrbitree
< SiteCluster
SiteOrbitree
 
typedef Eigen::VectorXd Correlation
 
typedef ScalarAttribute
< Configuration
Reference
 
typedef GenericOrbitree
< HopCluster > 
HopOrbitree
 
typedef ClustJsonHelper
< SiteCluster
SiteClusterJsonHelper
 
typedef ClustJsonHelper
< SiteOrbit
SiteOrbitJsonHelper
 
typedef ClustJsonHelper
< SiteOrbitBranch
SiteOrbitBranchJsonHelper
 
typedef ClustJsonHelper
< SiteOrbitree
SiteOrbitreeJsonHelper
 
typedef ClustJsonHelper< const
SiteCluster
ConstSiteClusterJsonHelper
 
typedef ClustJsonHelper< const
SiteOrbit
ConstSiteOrbitJsonHelper
 
typedef ClustJsonHelper< const
SiteOrbitBranch
ConstSiteOrbitBranchJsonHelper
 
typedef ClustJsonHelper< const
SiteOrbitree
ConstSiteOrbitreeJsonHelper
 
typedef GenericOrbit< SiteClusterSiteOrbit
 
typedef GenericOrbit< HopCluster > HopOrbit
 
typedef GenericOrbitBranch
< SiteCluster
SiteOrbitBranch
 
template<typename EigenType >
using EigenCounter = Counter< EigenType, typename EigenType::Scalar, typename EigenType::Index, CASM_TMP::ParenthesesAccess< EigenType, typename EigenType::Scalar, typename EigenType::Index > >
 
typedef EigenCounter
< Eigen::VectorXd > 
EigenVectorXdCounter
 Counter for Eigen::VectorXd. More...
 
typedef EigenCounter
< Eigen::MatrixXd > 
EigenMatrixXdCounter
 Counter for Eigen::MatrixXd. More...
 
typedef EigenCounter
< Eigen::Matrix3d > 
EigenMatrix3dCounter
 Counter for Eigen::Matrix3d. More...
 
typedef EigenCounter
< Eigen::Vector3d > 
EigenVector3dCounter
 Counter for Eigen::Vector3d. More...
 
typedef EigenCounter
< Eigen::Vector3i > 
EigenVector3iCounter
 Counter for Eigen::Vector3i. More...
 
typedef EigenCounter
< Eigen::VectorXi > 
EigenVectorXiCounter
 Counter for Eigen::VectorXi. More...
 
typedef EigenCounter
< Eigen::MatrixXi > 
EigenMatrixXiCounter
 Counter for Eigen::MatrixXd. More...
 
typedef EigenCounter
< Eigen::Matrix3i > 
EigenMatrix3iCounter
 Counter for Eigen::MatrixXd. More...
 
typedef ScelEnumT< false > ScelEnum
 
typedef
notstd::unique_cloneable_map
< std::string,
EnumInterfaceBase
EnumeratorMap
 Used to hold a list of all enumerators that may be accessed via the API. More...
 
typedef OccupantDoF< MoleculeMoleculeOccupant
 
typedef const MonteCarloConstMonteCarloPtr
 const pointer to const MonteCarlo More...
 
typedef SiteMod< int > OccMod
 An OccMod describes the change in occupation variable on a site. More...
 
typedef Eigen::VectorXd VectorXd
 
typedef Eigen::MatrixXd MatrixXd
 
typedef Eigen::Matrix3d Matrix3d
 

Enumerations

enum  COORD_TYPE { FRAC = 0, CART = 1, COORD_DEFAULT = 2 }
 
enum  PERIODICITY_TYPE { PERIODIC = 0, LOCAL = 1, PERIODICITY_DEFAULT = 2 }
 
enum  CELL_TYPE { PRIM = 0, SCEL = 1 }
 
enum  COMPLEX_OUTPUT_TYPE { REAL = 0, IMAG = 1, COMPLEX = 2 }
 
enum  CASMfileTypes { TYPEFILE, TYPEDIR, TYPEOTHER, IOERR }
 
enum  COMPOSITION_TYPE { PARAM_COMP = 0, NUMBER_ATOMS = 1 }
 
enum  STRAIN_METRIC {
  GREEN_LAGRANGE = 0, BIOT = 1, HENCKY = 2, EULER_ALMANSI = 3,
  DISP_GRAD = 4
}
 

Functions

std::string recast (ARG_TYPE atype)
 
void subopt_test ()
 
void opt_test ()
 
void opt_test2 ()
 
void po_test ()
 
Option generate_option (std::string postfix, char beginshort)
 
void engine_test ()
 
void argtype_test ()
 
void property_test ()
 
BasicStructure< Siteread_prim (fs::path filename)
 
BasicStructure< Siteread_prim (const jsonParser &json)
 Read prim.json. More...
 
void write_prim (const BasicStructure< Site > &prim, fs::path filename, COORD_TYPE mode)
 Write prim.json to file. More...
 
void write_prim (const BasicStructure< Site > &prim, jsonParser &json, COORD_TYPE mode)
 Write prim.json as JSON. More...
 
void write_symop (const SymGroup &grp, Index i, jsonParser &j)
 
void write_symgroup (const SymGroup &grp, jsonParser &json)
 
ChemicalReference read_chemical_reference (fs::path filename, const Structure &prim, double tol)
 Read chemical reference states from JSON file. More...
 
ChemicalReference read_chemical_reference (const jsonParser &json, const Structure &prim, double tol)
 Read chemical reference states from JSON. More...
 
void write_chemical_reference (const ChemicalReference &chem_ref, fs::path filename)
 
void write_chemical_reference (const ChemicalReference &chem_ref, jsonParser &json)
 
template<typename OutputIterator >
OutputIterator read_composition_axes (OutputIterator result, const jsonParser &json)
 Read standard axes from JSON, and output to std::map<std::string, CompositionConverter> More...
 
void write_basis (const SiteOrbitree &tree, const Structure &prim, jsonParser &json, double tol)
 Write summary of basis functions. More...
 
CommandMapcommand_map ()
 Return static CommandMap containing all CASM API commands. More...
 
int casm_api (const CommandArgs &args)
 Executes CASM commands specified by args. More...
 
PrimClexmake_primclex_if_not (const CommandArgs &args, std::unique_ptr< PrimClex > &uniq_primclex)
 If !_primclex, construct new PrimClex stored in uniq_primclex, then return reference to existing or constructed PrimClex. More...
 
PrimClexmake_primclex_if_not (const CommandArgs &args, std::unique_ptr< PrimClex > &uniq_primclex, Log &status_log)
 If !_primclex, construct new PrimClex stored in uniq_primclex, then return reference to existing or constructed PrimClex. More...
 
std::ostream & make_ostream_if (bool output, std::ostream &sout, std::unique_ptr< std::ostream > &fout, fs::path out_path, bool gzip)
 Return a reference to proper std::ostream. More...
 
int help_command (const CommandArgs &args)
 Print CASM help info to args.log. More...
 
int bset_command (const CommandArgs &args)
 
int composition_command (const CommandArgs &args)
 
int enum_command (const CommandArgs &args)
 
int files_command (const CommandArgs &args)
 
int format_command (const CommandArgs &args)
 
int import_command (const CommandArgs &args)
 
int init_command (const CommandArgs &args)
 
int monte_command (const CommandArgs &args)
 
int perturb_command (const CommandArgs &args)
 
int query_command (const CommandArgs &args)
 
int ref_command (const CommandArgs &args)
 
int rm_command (const CommandArgs &args)
 
int run_command (const CommandArgs &args)
 
int select_command (const CommandArgs &args)
 
int settings_command (const CommandArgs &args)
 
int status_command (const CommandArgs &args)
 
int super_command (const CommandArgs &args)
 
int sym_command (const CommandArgs &args)
 
int update_command (const CommandArgs &args)
 
int version_command (const CommandArgs &args)
 
int view_command (const CommandArgs &args)
 
template<typename EnumeratorMapInserter , typename RuntimeLibInserter >
std::pair
< EnumeratorMapInserter,
RuntimeLibInserter > 
load_enumerator_plugins (const ProjectSettings &set, EnumeratorMapInserter enum_it, RuntimeLibInserter lib_it)
 Load enumerator plugins from a CASM project. More...
 
bool operator< (const ClexDescription &A, const ClexDescription &B)
 Compare using name strings: A.name < B.name. More...
 
jsonParserto_json (const ClexDescription &desc, jsonParser &json)
 
void from_json (ClexDescription &desc, const jsonParser &json)
 
bool clex_exists (const DirectoryStructure &dir, const ClexDescription &desc)
 
jsonParserto_json (const ProjectSettings &set, jsonParser &json)
 
template<typename DataFormatterDictInserter , typename RuntimeLibInserter >
std::pair
< DataFormatterDictInserter,
RuntimeLibInserter > 
load_query_plugins (const ProjectSettings &set, DataFormatterDictInserter dict_it, RuntimeLibInserter lib_it)
 Load enumerator plugins from a CASM project. More...
 
jsonParserto_json (const Function *func, jsonParser &json)
 
jsonParserto_json (const BasisSet &bset, jsonParser &json)
 
void from_json (BasisSet &bset, const jsonParser &json)
 
BasisSet operator* (const SymOp &LHS, const BasisSet &RHS)
 
jsonParserto_json (const DoF *dof, jsonParser &json)
 creates jsonParser using polymorphism More...
 
void from_json (DoF *dof, const jsonParser &json, const Lattice &lat)
 
jsonParserto_json (const OccupantDoF< int > &dof, jsonParser &json)
 overload for each template type to be used More...
 
void from_json (OccupantDoF< int > &dof, const jsonParser &json)
 
jsonParserto_json (const OccupantDoF< Molecule > &dof, jsonParser &json)
 
void from_json (OccupantDoF< Molecule > &dof, const jsonParser &json)
 
void from_json (ContinuousDoF &dof, const jsonParser &json)
 
jsonParserto_json (const ContinuousDoF &dof, jsonParser &json)
 
jsonParserto_json (const OccupantFunction &func, jsonParser &json)
 
void from_json (OccupantFunction &func, const jsonParser &json)
 
jsonParserto_json (const Variable &var, jsonParser &json)
 
void from_json (Variable &var, const jsonParser &json)
 
template<class T >
std::istream & operator>> (std::istream &_in, std::vector< T > &vec)
 
bool valid_index (Index i)
 
std::istream & operator>> (std::istream &sin, COORD_TYPE &coord)
 
void print_splash (std::ostream &out)
 
template<typename Object , typename Transform , typename... Args>
Object & apply (const Transform &f, Object &obj, Args &&...args)
 
template<typename Object , typename Transform , typename... Args>
Object copy_apply (const Transform &f, Object obj, Args &&...args)
 
void split_formatter_expression (const std::string &input_expr, std::vector< std::string > &tag_names, std::vector< std::string > &sub_exprs)
 
template<typename T >
bool always_true (const T &)
 
template<typename DataObject >
DataFormatterDictionary
< DataObject > 
make_attribute_dictionary ()
 Dictionary of all AttributeFormatter (i.e. BaseValueFormatter<V, DataObject>) More...
 
template<typename DataObject >
DataFormatterDictionary
< DataObject > 
make_operator_dictionary ()
 Dictionary of all DatumFormatterOperator. More...
 
template<typename DataObject >
DataFormatterDictionary
< DataObject > 
make_dictionary ()
 Template to can be specialized for constructing dictionaries for particular DataObject. More...
 
jsonParserto_json (const FormattedPrintable &_obj, jsonParser &json)
 
std::ostream & operator<< (std::ostream &_stream, const FormattedPrintable &_formatted)
 
DataStreamoperator<< (DataStream &_stream, const FormattedPrintable &_formatted)
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_add ()
 Makes a DataFormatterOperator that adds two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_sub ()
 Makes a DataFormatterOperator that subtracts two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_mult ()
 Makes a DataFormatterOperator that returns the product of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_div ()
 Makes a DataFormatterOperator that divides two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_max ()
 Makes a DataFormatterOperator that returns the maximum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_min ()
 Makes a DataFormatterOperator that returns the minimum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< long,
double, DataObject > 
format_operator_imax ()
 Makes a DataFormatterOperator that returns the index (from 0) of the maximum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< long,
double, DataObject > 
format_operator_imin ()
 Makes a DataFormatterOperator that returns the index (from 0) of the minimum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_exp ()
 Makes a DataFormatterOperator that returns the exponential of a number. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
std::string, DataObject > 
format_operator_re ()
 Makes a DataFormatterOperator that checks if a string matches a regular expression. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
std::string, DataObject > 
format_operator_rs ()
 Makes a DataFormatterOperator that checks if a string contains a regular expression. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_sq ()
 Makes a DataFormatterOperator that returns the square of a number. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_sqrt ()
 Makes a DataFormatterOperator that returns the square root of a number. More...
 
template<typename DataObject >
DataFormatterOperator< double,
double, DataObject > 
format_operator_neg ()
 Makes a DataFormatterOperator that returns the negative of a number. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
bool, DataObject > 
format_operator_and ()
 Makes a DataFormatterOperator that returns the boolean AND for a sequence of boolean values. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
bool, DataObject > 
format_operator_or ()
 Makes a DataFormatterOperator that returns the boolean OR for a sequence of boolean values. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
bool, DataObject > 
format_operator_xor ()
 Makes a DataFormatterOperator that returns the boolean NOT for a single boolean value. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
bool, DataObject > 
format_operator_not ()
 
template<typename DataObject >
DataFormatterOperator< bool,
double, DataObject > 
format_operator_eq ()
 Makes a DataFormatterOperator for equality comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
double, DataObject > 
format_operator_lt ()
 Makes a DataFormatterOperator for less-than comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
double, DataObject > 
format_operator_le ()
 Makes a DataFormatterOperator for less-than-or-equal comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
double, DataObject > 
format_operator_gt ()
 Makes a DataFormatterOperator for greater-than comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool,
double, DataObject > 
format_operator_ge ()
 Makes a DataFormatterOperator for greater-than-or-equal comparison of two numbers. More...
 
template<typename DataObject >
DatumFormatterAlias< DataObject > datum_formatter_alias (const std::string &_name, const std::string &_command, const DataFormatterDictionary< DataObject > &_dict, const std::string &_help="")
 Make a DatumFormatterAlias. More...
 
template<typename DataObject >
DatumFormatterAlias< DataObject > datum_formatter_alias (const std::string &_name, const BaseDatumFormatter< DataObject > &_inside, const std::string &_help="")
 Make a DatumFormatterAlias. More...
 
template<typename DataObject >
StringAttributeDictionary
< DataObject > 
make_string_dictionary ()
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
BooleanAttributeDictionary
< DataObject > 
make_boolean_dictionary ()
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
IntegerAttributeDictionary
< DataObject > 
make_integer_dictionary ()
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
ScalarAttributeDictionary
< DataObject > 
make_scalar_dictionary ()
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
template<typename DataObject >
VectorXdAttributeDictionary
< DataObject > 
make_vectorxd_dictionary ()
 Template to be specialized for constructing dictionaries for particular DataObject. More...
 
DataStreamoperator<< (DataStream &_stream, int i)
 
DataStreamoperator<< (DataStream &_stream, float f)
 
DataStreamoperator<< (DataStream &_stream, unsigned int i)
 
DataStreamoperator<< (DataStream &_stream, unsigned long i)
 
template<class T >
DataStreamoperator<< (DataStream &_stream, const std::vector< T > &vec)
 
template<typename ENUM >
std::string help ()
 Print help message describing recognized strings for allowed enum values. More...
 
template<typename ENUM >
void invalid_enum_string (std::string val, std::ostream &serr)
 Throw invalid_argument error for unrecognized strings. More...
 
template<typename ENUM >
std::string to_string (ENUM val)
 Return string representation of enum class. More...
 
template<typename ENUM >
ENUM from_string (const std::string &val)
 Return enum class object from string representation. More...
 
std::ostream & operator<< (std::ostream &_stream, const FormatFlag &flag)
 
jsonParserto_json (const COORD_TYPE &value, jsonParser &json)
 Puts COORD_TYPE value (as string) More...
 
void from_json (COORD_TYPE &value, const jsonParser &json)
 
jsonParserto_json (const PERIODICITY_TYPE &value, jsonParser &json)
 Puts PERIODICITY_TYPE value (as string) More...
 
void from_json (PERIODICITY_TYPE &value, const jsonParser &json)
 Gets string value as PERIODICITY_TYPE. More...
 
jsonParserto_json (const CELL_TYPE &value, jsonParser &json)
 Puts CELL_TYPE value (as string) More...
 
void from_json (CELL_TYPE &value, const jsonParser &json)
 Gets string value as CELL_TYPE. More...
 
std::ostream & operator<< (std::ostream &stream, const jsonParser &json)
 
std::istream & operator>> (std::istream &stream, jsonParser &json)
 
jsonParserto_json (bool value, jsonParser &json)
 To JSON for basic types. More...
 
jsonParserto_json (int value, jsonParser &json)
 
jsonParserto_json (unsigned int value, jsonParser &json)
 
jsonParserto_json (long int value, jsonParser &json)
 
jsonParserto_json (unsigned long int value, jsonParser &json)
 
jsonParserto_json (double value, jsonParser &json)
 
jsonParserto_json (const std::string &value, jsonParser &json)
 
jsonParserto_json (const char *value, jsonParser &json)
 
jsonParserto_json (const jsonParser &value, jsonParser &json)
 
template<typename T >
from_json (const jsonParser &json)
 From JSON for basic types. More...
 
template<>
bool from_json< bool > (const jsonParser &json)
 
template<>
int from_json< int > (const jsonParser &json)
 
template<>
unsigned int from_json< unsigned int > (const jsonParser &json)
 
template<>
long int from_json< long int > (const jsonParser &json)
 
template<>
unsigned long int from_json< unsigned long int > (const jsonParser &json)
 
template<>
double from_json< double > (const jsonParser &json)
 
template<>
std::string from_json< std::string > (const jsonParser &json)
 
template<>
jsonParser from_json< jsonParser > (const jsonParser &json)
 
void from_json (bool &value, const jsonParser &json)
 From JSON for basic types. More...
 
void from_json (int &value, const jsonParser &json)
 
void from_json (unsigned int &value, const jsonParser &json)
 
void from_json (long int &value, const jsonParser &json)
 
void from_json (unsigned long int &value, const jsonParser &json)
 
void from_json (double &value, const jsonParser &json)
 
void from_json (std::string &value, const jsonParser &json)
 
void from_json (jsonParser &value, const jsonParser &json)
 
void from_json (std::istream &stream, const jsonParser &json)
 
void from_json (fs::path &value, const jsonParser &json)
 
void to_json (std::istream &stream, jsonParser &json)
 Create a jsonParser from a stream. More...
 
void to_json (fs::path file_path, jsonParser &json)
 
template<typename T >
jsonParserto_json (const std::complex< T > &value, jsonParser &json)
 To JSON for complex. More...
 
template<typename T >
void from_json (std::complex< T > &value, const jsonParser &json)
 From JSON for complex. More...
 
template<typename Key , typename T >
jsonParserto_json (const std::pair< Key, T > &value, jsonParser &json)
 To JSON for std::pair<std::string, T> More...
 
template<typename Key , typename T >
void from_json (std::pair< Key, T > &value, const jsonParser &json)
 From JSON for std::pair<std::string, T> More...
 
boost::filesystem::path find_diff (const jsonParser &A, const jsonParser &B, boost::filesystem::path diff=boost::filesystem::path())
 Return the location at which jsonParser 'A' != 'B' as a boost::filesystem::path. More...
 
boost::filesystem::path find_diff (const jsonParser &A, const jsonParser &B, double tol, boost::filesystem::path diff=boost::filesystem::path())
 Return the location at which jsonParser !A.almost_equal(B, tol) as a boost::filesystem::path. More...
 
template<typename T >
Logoperator<< (Log &log, const T &msg_details)
 
Logoperator<< (Log &log, std::ostream &(*fptr)(std::ostream &))
 
Logdefault_log ()
 
Logdefault_err_log ()
 
Lognull_log ()
 
bool operator< (const Clex &A, const Clex &B)
 Compare using descriptions: A.desc() < B.desc() More...
 
template<typename OutputIterator >
OutputIterator standard_composition_axes (const Structure &prim, OutputIterator result)
 Generate CompositionConverter specifying standard composition axes for a prim Structure. More...
 
void display_composition_axes (std::ostream &stream, const std::map< std::string, CompositionConverter > &map)
 Pretty-print map of name/CompositionConverter pairs. More...
 
void display_comp (std::ostream &stream, const CompositionConverter &f, int indent=0)
 Pretty-print comp in terms of comp_n. More...
 
void display_comp_n (std::ostream &stream, const CompositionConverter &f, int indent=0)
 Pretty-print comp_n in terms of comp. More...
 
void display_param_chem_pot (std::ostream &stream, const CompositionConverter &f, int indent=0)
 Pretty-print param_chem_pot in terms of chem_pot. More...
 
jsonParserto_json (const CompositionConverter &f, jsonParser &json)
 Serialize CompositionConverter to JSON. More...
 
void from_json (CompositionConverter &f, const jsonParser &json)
 Deserialize CompositionConverter from JSON. More...
 
Eigen::MatrixXd end_members (const Structure &prim)
 Generate a column matrix containing all the possible molecular end members. More...
 
Eigen::MatrixXd composition_space (const Structure &prim, double tol=1e-14)
 Return the composition space of a Structure. More...
 
Eigen::MatrixXd null_composition_space (const Structure &prim, double tol=1e-14)
 Return the null composition space of a Structure. More...
 
jsonParserto_json (const ConfigDoF &value, jsonParser &json)
 
void from_json (ConfigDoF &value, const jsonParser &json)
 
ConfigDoFapply (const PermuteIterator &it, ConfigDoF &dof)
 
void swap (ConfigDoF &A, ConfigDoF &B)
 
Correlation correlations (const ConfigDoF &configdof, const Supercell &scel, Clexulator &clexulator)
 Returns correlations using 'clexulator'. Supercell needs a correctly populated neighbor list. More...
 
Eigen::VectorXd correlations_vec (const ConfigDoF &configdof, const Supercell &scel, Clexulator &clexulator)
 Returns correlations using 'clexulator'. Supercell needs a correctly populated neighbor list. More...
 
ReturnArray< int > get_num_each_molecule (const ConfigDoF &configdof, const Supercell &scel)
 Returns num_each_molecule[ molecule_type], where 'molecule_type' is ordered as Structure::get_struc_molecule() More...
 
Eigen::VectorXi get_num_each_molecule_vec (const ConfigDoF &configdof, const Supercell &scel)
 Returns num_each_molecule(molecule_type), where 'molecule_type' is ordered as Structure::get_struc_molecule() More...
 
Eigen::VectorXd comp_n (const ConfigDoF &configdof, const Supercell &scel)
 Returns comp_n, the number of each molecule per primitive cell, ordered as Structure::get_struc_molecule() More...
 
void reset_properties (ConfigDoF &_dof)
 
template<>
StringAttributeDictionary
< Configuration
make_string_dictionary< Configuration > ()
 
template<>
BooleanAttributeDictionary
< Configuration
make_boolean_dictionary< Configuration > ()
 
template<>
IntegerAttributeDictionary
< Configuration
make_integer_dictionary< Configuration > ()
 
template<>
ScalarAttributeDictionary
< Configuration
make_scalar_dictionary< Configuration > ()
 
template<>
VectorXdAttributeDictionary
< Configuration
make_vectorxd_dictionary< Configuration > ()
 
template<typename ConfigType , typename PrimClexType >
void swap (ConfigIterator< ConfigType, PrimClexType > &a, ConfigIterator< ConfigType, PrimClexType > &b)
 
template<bool IsConst>
std::ostream & operator<< (std::ostream &_stream, const ConfigSelection< IsConst > &selection)
 
bool get_selection (const Array< std::string > &criteria, const Configuration &config, bool is_selected)
 
Configurationapply (const PermuteIterator &it, Configuration &config)
 
Configuration sub_configuration (Supercell &sub_scel, const Configuration &super_config, const UnitCell &origin)
 Returns the sub-configuration that fills a particular Supercell. More...
 
Configuration make_configuration (PrimClex &primclex, std::string name)
 Make Configuration from name string. More...
 
Correlation correlations (const Configuration &config, Clexulator &clexulator)
 Returns correlations using 'clexulator'. More...
 
Eigen::VectorXd comp (const Configuration &config)
 Returns parametric composition, as calculated using PrimClex::param_comp. More...
 
Eigen::VectorXd comp_n (const Configuration &config)
 Returns the composition, as number of each species per unit cell. More...
 
double n_vacancy (const Configuration &config)
 Returns the vacancy composition, as number per unit cell. More...
 
double n_species (const Configuration &config)
 Returns the total number species per unit cell. More...
 
Eigen::VectorXd species_frac (const Configuration &config)
 Returns the composition as species fraction, with [Va] = 0.0, in the order of Structure::get_struc_molecule. More...
 
Eigen::VectorXd site_frac (const Configuration &config)
 Returns the composition as site fraction, in the order of Structure::get_struc_molecule. More...
 
double relaxed_energy (const Configuration &config)
 Returns the relaxed energy, normalized per unit cell. More...
 
double relaxed_energy_per_species (const Configuration &config)
 Returns the relaxed energy, normalized per species. More...
 
double reference_energy (const Configuration &config)
 Returns the reference energy, normalized per unit cell. More...
 
double reference_energy_per_species (const Configuration &config)
 Returns the reference energy, normalized per species. More...
 
double formation_energy (const Configuration &config)
 Returns the formation energy, normalized per unit cell. More...
 
double formation_energy_per_species (const Configuration &config)
 Returns the formation energy, normalized per species. More...
 
double clex_formation_energy (const Configuration &config)
 Returns the formation energy, normalized per unit cell. More...
 
double clex_formation_energy_per_species (const Configuration &config)
 Returns the formation energy, normalized per species. More...
 
bool is_calculated (const Configuration &config)
 Return true if all current properties have been been calculated for the configuration. More...
 
double rms_force (const Configuration &_config)
 Root-mean-square forces of relaxed configurations, determined from DFT (eV/Angstr.) More...
 
double basis_deformation (const Configuration &_config)
 Cost function that describes the degree to which basis sites have relaxed. More...
 
double lattice_deformation (const Configuration &_config)
 Cost function that describes the degree to which lattice has relaxed. More...
 
double volume_relaxation (const Configuration &_config)
 Change in volume due to relaxation, expressed as the ratio V/V_0. More...
 
double relaxed_magmom (const Configuration &_config)
 Returns the relaxed magnetic moment, normalized per unit cell. More...
 
double relaxed_magmom_per_species (const Configuration &_config)
 Returns the relaxed magnetic moment, normalized per species. More...
 
Eigen::VectorXd relaxed_mag_basis (const Configuration &_config)
 Returns the relaxed magnetic moment of each basis site. More...
 
Eigen::VectorXd relaxed_mag (const Configuration &_config)
 Returns the relaxed magnetic moment for each molecule. More...
 
bool is_primitive (const Configuration &_config)
 returns true if _config describes primitive cell of the configuration it describes More...
 
bool is_canonical (const Configuration &_config)
 returns true if _config no symmetry transformation applied to _config will increase its lexicographic order More...
 
std::string calc_status (const Configuration &_config)
 Status of calculation. More...
 
std::string failure_type (const Configuration &_config)
 
bool has_relaxed_energy (const Configuration &_config)
 
bool has_reference_energy (const Configuration &_config)
 
bool has_formation_energy (const Configuration &_config)
 
bool has_rms_force (const Configuration &_config)
 
bool has_basis_deformation (const Configuration &_config)
 
bool has_lattice_deformation (const Configuration &_config)
 
bool has_volume_relaxation (const Configuration &_config)
 
bool has_relaxed_magmom (const Configuration &_config)
 
bool has_relaxed_mag_basis (const Configuration &_config)
 
bool has_calc_status (const Configuration &_config)
 
bool has_failure_type (const Configuration &_config)
 
std::ostream & operator<< (std::ostream &sout, const Configuration &c)
 
void reset_properties (Configuration &_config)
 
template<class U >
void match_shape (Correlation &corr, const Array< Array< Array< U > > > &thing)
 
template<class ClustType >
void match_shape (Correlation &corr, const GenericOrbitree< ClustType > &tree)
 
double operator* (const ECIContainer &_eci, const Correlation &_corr)
 Evaluate property given an ECIContainer and Correlation. More...
 
double operator* (const ECIContainer &_eci, double const *_corr_begin)
 Evaluate property given an ECIContainer and pointer to beginning of range of correlation. More...
 
ECIContainer read_eci_out (const fs::path &filepath)
 Read eci.out file from specified path (deprecated) More...
 
ECIContainer read_eci (const fs::path &filepath)
 Read eci.json file from specified path. More...
 
template<typename IteratorType >
void swap (FilteredConfigIterator< IteratorType > &a, FilteredConfigIterator< IteratorType > &b)
 Definitions. More...
 
template<typename IteratorType >
FilteredConfigIterator
< IteratorType > 
filter_begin (const IteratorType &it, const IteratorType &it_end, const std::vector< std::string > &filter_expr, const DataFormatterDictionary< Configuration > &_dict)
 
template<typename IteratorType >
FilteredConfigIterator
< IteratorType > 
filter_end (const IteratorType &it_end)
 
SiteOrbitree make_orbitree (Structure &prim, const jsonParser &json, double _tol)
 Make orbitree. For now specifically global. More...
 
void print_clexulator (const Structure &prim, SiteOrbitree &tree, const PrimNeighborList &nlist, std::string class_name, std::ostream &stream, double xtal_tol)
 Print clexulator. More...
 
Supercellapply (const SymOp &op, Supercell &scel)
 
Supercell copy_apply (const SymOp &op, const Supercell &scel)
 
std::string generate_name (const Eigen::Matrix3i &transf_mat)
 
template<typename CoordType >
GenericCluster< CoordType > operator* (const SymOp &LHS, const GenericCluster< CoordType > &RHS)
 create symmetry-transformed cluster More...
 
template<typename CoordType >
GenericCluster< CoordType > operator+ (const GenericCluster< CoordType > &LHS, const Coordinate &RHS)
 create translated cluster More...
 
template<typename CoordType >
GenericCluster< CoordType > operator- (const GenericCluster< CoordType > &LHS, const Coordinate &RHS)
 create translated cluster More...
 
template<typename CoordType >
bool almost_equal (const GenericCluster< CoordType > &LHS, const GenericCluster< CoordType > &RHS, double tol)
 
template<typename T >
jsonParserto_json (const GenericCluster< T > &clust, jsonParser &json)
 
template<typename T >
void from_json (GenericCluster< T > &clust, const jsonParser &json)
 
template<typename CoordType >
std::ostream & operator<< (std::ostream &stream, const GenericCluster< CoordType > &cluster)
 
jsonParserto_json (const GenericOrbitBranch< SiteCluster > &branch, jsonParser &json)
 
void from_json (GenericOrbitBranch< SiteCluster > &branch, const jsonParser &json)
 Assumes the pivot lattice is already set. More...
 
jsonParserto_json (const GenericOrbit< SiteCluster > &orbit, jsonParser &json)
 
void from_json (GenericOrbit< SiteCluster > &orbit, const jsonParser &json)
 Assumes the prototype lattice is already set. More...
 
void from_json (SiteClusterJsonHelper clust_helper, const jsonParser &json)
 
jsonParserto_json (const ConstSiteClusterJsonHelper &clust_helper, jsonParser &json)
 
jsonParserto_json (const ConstSiteOrbitJsonHelper &orbit_helper, jsonParser &json)
 Lean printing of Orbits (only the prototype gets printed; full orbit can later be reconstructed using struc.factor_group();. More...
 
void from_json (SiteOrbitBranchJsonHelper branch_helper, const jsonParser &json)
 
jsonParserto_json (const ConstSiteOrbitBranchJsonHelper &branch_helper, jsonParser &json)
 
void from_json (SiteOrbitreeJsonHelper tree_helper, const jsonParser &json)
 
jsonParserto_json (const ConstSiteOrbitreeJsonHelper &tree_helper, jsonParser &json)
 
template<typename ValueType >
ClustJsonHelper< ValueType > jsonHelper (ValueType &_value, const Structure &_struc, double tol=TOL)
 
template<typename ClustType >
std::ostream & operator<< (std::ostream &stream, const GenericOrbitree< ClustType > &orbitree)
 
template<typename ClustType >
void from_json (GenericOrbitree< ClustType > &tree, const jsonParser &json)
 Assumes the prototype lattice is already set. More...
 
template<typename OutputIterator , typename TreeType , typename StrucType >
OutputIterator orbit_neighborhood (OutputIterator result, const TreeType &tree, const StrucType &struc, Index nb, Index no, double tol)
 Iterate over all sites in an orbit and insert a UnitCellCoord. More...
 
template<typename OutputIterator , typename TreeType , typename StrucType >
OutputIterator neighborhood (OutputIterator result, const TreeType &tree, const StrucType &struc, double tol)
 Iterate over all sites in an orbitree and insert a UnitCellCoord. More...
 
SiteCluster operator* (const SymOp &LHS, const SiteCluster &RHS)
 
jsonParserto_json (const SiteCluster &clust, jsonParser &json)
 
void from_json (SiteCluster &clust, const jsonParser &json)
 
template<typename T >
jsonParserto_json (const Array< T > &value, jsonParser &json)
 
template<typename T >
void from_json (Array< T > &value, const jsonParser &json)
 This requires that 'T::T()' exists, if not, you must do this by hand. More...
 
template<class T >
Array< T > array_cat (const Array< T > &A1, const Array< T > &A2)
 
template<class T >
std::ostream & operator<< (std::ostream &out, const Array< T > &array_out)
 
template<typename T >
void swap (Array< T > &A1, Array< T > &A2)
 
EnumeratorMap make_enumerator_map ()
 Use to construct an EnumeratorMap. More...
 
jsonParser make_enumerator_scel_enum_input (const jsonParser &_kwargs, const Completer::EnumOption &enum_opt)
 Standardizes parsing casm enum input options to make ScelEnum JSON input. More...
 
ScelEnumProps make_enumerator_scel_enum_props (PrimClex &primclex, const jsonParser &_kwargs, const Completer::EnumOption &enum_opt)
 Standardizes parsing casm enum input options to make an ScelEnumProps. More...
 
std::unique_ptr
< SupercellEnumerator< Lattice > > 
make_enumerator_superlat_enum (PrimClex &primclex, const jsonParser &_kwargs, const Completer::EnumOption &enum_opt)
 Standardizes parsing casm enum input options to make an SupercellEnumerator<Lattice> More...
 
std::unique_ptr< ScelEnummake_enumerator_scel_enum (PrimClex &primclex, const jsonParser &_kwargs, const Completer::EnumOption &enum_opt)
 Standardizes parsing casm enum input options to make an ScelEnum. More...
 
std::vector< std::string > make_enumerator_filter_expr (const jsonParser &_kwargs, const Completer::EnumOption &enum_opt)
 Standardizes parsing casm enum filter expressions. More...
 
template<typename ScelIterator , typename ConfigEnumConstructor >
int insert_unique_canon_configs (std::string method, PrimClex &primclex, ScelIterator begin, ScelIterator end, ConfigEnumConstructor f, std::vector< std::string > filter_expr)
 Standardizes insertion from enumerators that construct unique primitive canonical configurations. More...
 
template<typename ScelIterator , typename ConfigEnumConstructor >
int insert_configs (std::string method, PrimClex &primclex, ScelIterator begin, ScelIterator end, ConfigEnumConstructor f, std::vector< std::string > filter_expr, bool primitive_only)
 Standardizes insertion from enumerators that construct configurations. More...
 
template<typename LatticeIterator , typename ConfigEnumConstructor >
int insert_configs_via_lattice_enum (std::string method, PrimClex &primclex, LatticeIterator begin, LatticeIterator end, ConfigEnumConstructor f, std::vector< std::string > filter_expr, bool primitive_only)
 Standardizes insertion from enumerators that construct configurations. More...
 
void get_Hermitian (Eigen::MatrixXcd &original_mat, Eigen::MatrixXcd &hermitian_mat, Eigen::MatrixXcd &antihermitian_mat)
 
bool is_Hermitian (Eigen::MatrixXcd &mat)
 
void poly_fit (Eigen::VectorXcd &xvec, Eigen::VectorXcd &yvec, Eigen::VectorXcd &coeffs, int degree)
 
std::pair< Eigen::MatrixXi,
Eigen::MatrixXi > 
hermite_normal_form (const Eigen::MatrixXi &M)
 Return the hermite normal form, M == H*V. More...
 
double angle (const Eigen::Ref< const Eigen::Vector3d > &a, const Eigen::Ref< const Eigen::Vector3d > &b)
 Get angle, in radians, between two vectors on range [0,pi]. More...
 
double signed_angle (const Eigen::Ref< const Eigen::Vector3d > &a, const Eigen::Ref< const Eigen::Vector3d > &b, const Eigen::Ref< const Eigen::Vector3d > &pos_ref)
 signed angle, in radians, between -pi and pi that describe separation in direction of two vectors More...
 
Eigen::MatrixXd pretty (const Eigen::MatrixXd &M, double tol)
 Round entries that are within tol of being integer to that integer value. More...
 
template<typename Derived >
Derived::Scalar triple_prod (const Derived &vec0, const Derived &vec1, const Derived &vec2)
 
template<typename Derived >
bool is_integer (const Eigen::MatrixBase< Derived > &M, double tol)
 Check if Eigen::Matrix is integer. More...
 
template<typename Derived >
bool is_unimodular (const Eigen::MatrixBase< Derived > &M, double tol)
 Check if Eigen::Matrix is unimodular. More...
 
template<typename Derived >
bool is_diagonal (const Eigen::MatrixBase< Derived > &M, double tol=TOL)
 Check if Eigen::Matrix is diagonal. More...
 
template<typename Derived >
Eigen::CwiseUnaryOp< decltype(std::ptr_fun(boost::math::iround
< typename Derived::Scalar >
)), const Derived > 
iround (const Eigen::MatrixBase< Derived > &val)
 Round Eigen::MatrixXd to Eigen::MatrixXi. More...
 
template<typename Derived >
Eigen::CwiseUnaryOp< decltype(std::ptr_fun(boost::math::lround
< typename Derived::Scalar >
)), const Derived > 
lround (const Eigen::MatrixBase< Derived > &val)
 Round Eigen::MatrixXd to Eigen::MatrixXl. More...
 
template<typename Derived >
Derived::Scalar matrix_minor (const Eigen::MatrixBase< Derived > &M, int row, int col)
 Return the minor of integer Matrix M element row, col. More...
 
template<typename Derived >
Eigen::Matrix< typename
Derived::Scalar,
Derived::RowsAtCompileTime,
Derived::ColsAtCompileTime > 
cofactor (const Eigen::MatrixBase< Derived > &M)
 Return cofactor matrix. More...
 
template<typename Derived >
Eigen::Matrix< typename
Derived::Scalar,
Derived::RowsAtCompileTime,
Derived::ColsAtCompileTime > 
adjugate (const Eigen::MatrixBase< Derived > &M)
 Return adjugate matrix. More...
 
template<typename Derived >
Eigen::Matrix< typename
Derived::Scalar,
Derived::RowsAtCompileTime,
Derived::ColsAtCompileTime > 
inverse (const Eigen::MatrixBase< Derived > &M)
 Return the integer inverse matrix of an invertible integer matrix. More...
 
template<typename DerivedIn , typename DerivedOut >
void smith_normal_form (const Eigen::MatrixBase< DerivedIn > &M, Eigen::MatrixBase< DerivedOut > &U, Eigen::MatrixBase< DerivedOut > &S, Eigen::MatrixBase< DerivedOut > &V)
 Return the smith normal form, M == U*S*V. More...
 
std::vector< Eigen::Matrix3i > _unimodular_matrices (bool positive, bool negative)
 
const std::vector
< Eigen::Matrix3i > & 
positive_unimodular_matrices ()
 
const std::vector
< Eigen::Matrix3i > & 
negative_unimodular_matrices ()
 
const std::vector
< Eigen::Matrix3i > & 
unimodular_matrices ()
 
jsonParserto_json (const Permutation &value, jsonParser &json)
 
void from_json (Permutation &value, const jsonParser &json)
 
std::ostream & operator<< (std::ostream &, const Permutation &)
 
template<class T >
Tensor< T > operator* (const T &LHS, const Tensor< T > &RHS)
 
template<class T >
Tensor< T > operator* (const SymOp &LHS, const Tensor< T > &RHS)
 
template<class T >
std::ostream & operator<< (std::ostream &stream, const Tensor< T > &RHS)
 
template<class T >
std::istream & operator>> (std::istream &stream, Tensor< T > &RHS)
 
template<class T >
dot (const Tensor< T > &LHS, const Tensor< T > &RHS)
 
template<class T >
norm (const Tensor< T > &ttens)
 
template<typename CoordType >
BasicStructure< CoordType > operator* (const SymOp &LHS, const BasicStructure< CoordType > &RHS)
 
template<typename CoordType >
BasicStructure< CoordType > operator* (const Lattice &LHS, const BasicStructure< CoordType > &RHS)
 
template<typename CoordType >
BasicStructure< CoordType > operator+ (const Coordinate &LHS, const BasicStructure< CoordType > &RHS)
 
template<typename CoordType >
BasicStructure< CoordType > operator+ (const BasicStructure< CoordType > &LHS, const Coordinate &RHS)
 
template<typename CoordType >
jsonParserto_json (const BasicStructure< CoordType > &basic, jsonParser &json)
 
template<typename CoordType >
void from_json (BasicStructure< CoordType > &basic, const jsonParser &json)
 
jsonParserto_json (const Coordinate &value, jsonParser &json)
 
void from_json (Coordinate &value, const jsonParser &json)
 
Coordinate operator* (const SymOp &LHS, const Coordinate &RHS)
 
Coordinate operator+ (const Coordinate &LHS, const Coordinate &RHS)
 
Coordinate operator- (const Coordinate &LHS, const Coordinate &RHS)
 
jsonParserto_json (const Lattice &lat, jsonParser &json)
 
void from_json (Lattice &lat, const jsonParser &json)
 
double volume (const Lattice &lat)
 Returns the volume of a Lattice. More...
 
Latticeapply (const SymOp &op, Lattice &lat)
 Apply SymOp to a Lattice. More...
 
Lattice copy_apply (const SymOp &op, const Lattice &lat)
 Copy and apply SymOp to a Lattice. More...
 
Lattice make_supercell (const Lattice &lat, const Eigen::Matrix3i &transf_mat)
 Returns a super Lattice. More...
 
std::pair< bool, Eigen::MatrixXi > is_supercell (const Lattice &scel, const Lattice &unit, double tol)
 Check if scel is a supercell of unitcell unit and some integer transformation matrix T. More...
 
template<typename Object , typename OpIterator >
std::pair< OpIterator,
Eigen::MatrixXi > 
is_supercell (const Object &scel, const Object &unit, OpIterator begin, OpIterator end, double tol)
 
std::istream & operator>> (std::istream &in, const Lattice &lattice_in)
 
Lattice superdupercell (const Lattice &lat1, const Lattice &lat2)
 returns Lattice that is smallest possible supercell of both input Lattice More...
 
template<typename LatIterator , typename SymOpIterator >
Lattice superdupercell (LatIterator begin, LatIterator end, SymOpIterator op_begin=SymOpIterator(), SymOpIterator op_end=SymOpIterator())
 returns Lattice that is smallest possible supercell of all input Lattice More...
 
Lattice replace_vector (const Lattice &lat, const Eigen::Vector3d &new_vector, double tol)
 
Eigen::Matrix3d cart2frac (const Eigen::Ref< const Eigen::Matrix3d > &cart_mat, const Lattice &lat)
 Returns 'frac_mat' which is transformation of 'cart_mat' if cart_vec_after = cart_mat*cart_vec then frac_vec_after = frac_mat*frac_vec where cart_vec = lat.lat_column_mat()*frac_vec and cart_vec_after = lat.lat_column_mat()*frac_vec_after. More...
 
Eigen::Matrix3d frac2cart (const Eigen::Ref< const Eigen::Matrix3d > &frac_mat, const Lattice &lat)
 Returns 'cart_mat' which is transformation of 'frac_mat' if cart_vec_after = cart_mat*cart_vec then frac_vec_after = frac_mat*frac_vec where cart_vec = lat.lat_column_mat()*frac_vec and cart_vec_after = lat.lat_column_mat()*frac_vec_after. More...
 
bool is_vacancy (const std::string &name)
 A vacancy is any Specie/Molecule with (name == "VA" || name == "va" || name == "Va") More...
 
jsonParserto_json (const Specie &specie, jsonParser &json)
 
void from_json (Specie &specie, const jsonParser &json)
 
jsonParserto_json (const AtomPosition &apos, jsonParser &json)
 
void from_json (AtomPosition &apos, const jsonParser &json)
 
Molecule operator* (const SymOp &LHS, const Molecule &RHS)
 
Molecule operator+ (const Coordinate &LHS, const Molecule &RHS)
 
Molecule operator+ (const Molecule &LHS, const Coordinate &RHS)
 
Molecule make_atom (std::string atom_name, const Lattice &lat)
 Return an atomic Molecule with specified name and Lattice. More...
 
Molecule make_vacancy (const Lattice &lat)
 Return an vacancy Molecule with specified Lattice. More...
 
bool is_molecule_name (const Molecule &mol, std::string name)
 Return true if Molecule name matches 'name', including Va checks. More...
 
jsonParserto_json (const Molecule &mol, jsonParser &json)
 
void from_json (Molecule &mol, const jsonParser &json)
 
Eigen::Matrix3i make_unit_cell (PrimClex &primclex, const jsonParser &json)
 Read unit cell transformation matrix from JSON input. More...
 
ScelEnumProps make_scel_enum_props (PrimClex &primclex, const jsonParser &input)
 Make a ScelEnumProps object from JSON input. More...
 
template<typename UnitType >
Eigen::Matrix3i enforce_min_volume (const UnitType &unit, const Eigen::Matrix3i &T, const SymGroup &point_grp, Index volume, bool fix_shape=false)
 Return a transformation matrix that ensures a supercell of at least some volume. More...
 
template<>
Eigen::Matrix3i enforce_min_volume< Lattice > (const Lattice &unit, const Eigen::Matrix3i &T, const SymGroup &point_grp, Index volume, bool fix_shape)
 
Eigen::Matrix3i canonical_hnf (const Eigen::Matrix3i &T, const SymGroup &effective_pg, const Lattice &ref_lattice)
 Return canonical hermite normal form of the supercell matrix, and op used to find it. More...
 
template<typename Iterator , typename T , typename BinaryCompare >
Iterator find (Iterator begin, Iterator end, const T &value, BinaryCompare q)
 Equivalent to std::find(begin, end, value), but with custom comparison. More...
 
template<typename Iterator , typename T >
Index find_index (Iterator begin, Iterator end, const T &value)
 Equivalent to std::distance(begin, std::find(begin, end, value)) More...
 
template<typename Iterator , typename T , typename BinaryCompare >
Index find_index (Iterator begin, Iterator end, const T &value, BinaryCompare q)
 Equivalent to std::distance(begin, find(begin, end, value, q)) More...
 
template<typename Iterator , typename UnaryPredicate >
Index find_index_if (Iterator begin, Iterator end, UnaryPredicate p)
 Equivalent to std::distance(begin, std::find_if(begin, end, p)) More...
 
template<typename Iterator , typename UnaryPredicate >
Index find_index_if_not (Iterator begin, Iterator end, UnaryPredicate q)
 Equivalent to std::distance(begin, std::find_if_not(begin, end, q)) More...
 
template<typename Container , typename T , typename BinaryCompare >
Index find_index (const Container &container, const T &value, BinaryCompare q)
 Equivalent to std::distance(container.begin(), find(container.begin(), container.end(), value,q)) More...
 
template<typename Container , typename T >
Index find_index (const Container &container, const T &value)
 Equivalent to std::distance(container.begin(), std::find(container.begin(), container.end(), value)) More...
 
template<typename Container , typename UnaryPredicate >
Index find_index_if (const Container &container, UnaryPredicate p)
 Equivalent to std::distance(container.begin(), std::find_if(container.begin(), container.end(), p)) More...
 
template<typename Container , typename UnaryPredicate >
Index find_index_if_not (const Container &container, UnaryPredicate q)
 Equivalent to std::distance(container.begin(), std::find_if_not(container.begin(), container.end(), p)) More...
 
template<typename Container , typename T >
bool contains (const Container &container, const T &value)
 Equivalent to container.end() != std::find(container.begin(), container.end(), value) More...
 
template<typename Container , typename T , typename BinaryCompare >
bool contains (const Container &container, const T &value, BinaryCompare q)
 Equivalent to container.end() != find(container.begin(), container.end(), value, q) More...
 
template<typename Container , typename UnaryPredicate >
bool contains_if (const Container &container, UnaryPredicate p)
 Equivalent to container.end() != std::find_if(container.begin(), container.end(), p) More...
 
template<typename Container , typename UnaryPredicate >
bool contains_if_not (const Container &container, UnaryPredicate q)
 Equivalent to container.end() != std::find_if_not(container.begin(), container.end(), q) More...
 
int round (double val)
 
template<typename T >
min (const T &A, const T &B)
 
template<typename T >
max (const T &A, const T &B)
 
template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
bool almost_zero (const T &val, double tol=TOL)
 If T is not integral, use std::abs(val) < tol;. More...
 
template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
bool almost_zero (const std::complex< T > &val, double tol=TOL)
 If std::complex<T>, use std::abs(val) < tol;. More...
 
template<typename Derived >
bool almost_zero (const Eigen::MatrixBase< Derived > &val, double tol=TOL)
 Equivalent to almost_zero(double(val.norm()), tol);. More...
 
template<typename T , typename std::enable_if< !std::is_integral< T >::value, T >::type * = nullptr>
bool almost_equal (const T &val1, const T &val2, double tol=TOL)
 If T is not integral, use almost_zero(val1 - val2, tol);. More...
 
template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
bool compare (const T &A, const T &B, double tol)
 Floating point comparison with tol, return A < B. More...
 
template<class InputIt1 , class InputIt2 >
bool float_lexicographical_compare (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, double tol)
 Floating point lexicographical comparison with tol. More...
 
bool float_lexicographical_compare (const Eigen::VectorXd &A, const Eigen::VectorXd &B, double tol)
 Floating point lexicographical comparison with tol. More...
 
template<typename T , typename std::enable_if< std::is_integral< T >::value, T >::type * = nullptr>
int sgn (T val)
 
template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
int float_sgn (T val, double compare_tol=TOL)
 
template<typename IntType >
IntType nchoosek (IntType n, IntType k)
 
int dl_string_dist (const std::string &a, const std::string &b)
 Computes the Damerescau-Levenshtein distance – the number of edits (deletions, insertions, transpositions) to go from string 'a' to string 'b'. More...
 
double ran0 (int &idum)
 
int gcf (int i1, int i2)
 Find greatest common factor. More...
 
int lcm (int i1, int i2)
 Find least common multiple. More...
 
double gaussian (double a, double x, double b, double c)
 
double gaussian_moment (int expon, double sigma)
 
double gaussian_moment (int expon, double sigma, double x0)
 
Eigen::VectorXd eigen_vector_from_string (const std::string &tstr, const int &size)
 
template<typename IntType >
IntType extended_gcf (IntType i1, IntType i2, IntType &p1, IntType &p2)
 Calculate greatest common factor of two integers, and bezout coefficients. More...
 
void nearest_rational_number (double val, long &numerator, long &denominator, double tol=TOL)
 
std::string irrational_to_tex_string (double val, int lim, int max_pow=2)
 
int mod (int a, int b)
 
double cuberoot (double number)
 
Index which_unique_combination (const Array< Index > &input, const Array< Index >::X2 &unique, const Array< Index >::X2 &ind_equiv)
 
Index which_unique_combination (const Array< Index > &input, const Array< Index >::X2 &unique)
 
int lcm (const Array< int > &series)
 Find least common multiple. More...
 
ReturnArray< Array< int > > get_prime_factors (int target)
 
template<typename IntType >
IntType multinomial_coeff (const Array< IntType > &exponents)
 
template<typename IntType >
IntType multinomial_coeff (const Array< IntType > &exponents, const Array< Index > &sublist)
 
template<typename T >
bool almost_equal (const Array< T > &A, const Array< T > &B, double tol=TOL)
 
template<typename T >
ReturnArray< T > cum_sum (const Array< T > &arr)
 
template<typename Derived >
double length (const Eigen::MatrixBase< Derived > &value)
 
template<typename Derived >
ReturnArray< Indexpartition_distinct_values (const Eigen::MatrixBase< Derived > &value, double tol=TOL)
 
double hungarian_method (const Eigen::MatrixXd &cost_matrix, std::vector< Index > &optimal_assignments, const double _tol)
 
template<typename Derived >
Eigen::Matrix< int,
Derived::RowsAtCompileTime,
Derived::ColsAtCompileTime > 
scale_to_int (const Eigen::MatrixBase< Derived > &val, double _tol=TOL)
 Take a vector of doubles, and multiply by some factor that turns it into a vector of integers (within a tolerance) More...
 
Eigen::MatrixXd pad (const Eigen::MatrixXd &M, int n)
 Construct a matrix consisting of blocks M and Identity(n,n) More...
 
std::ostream & operator<< (std::ostream &sout, const GrandCanonicalConditions &cond)
 
DataFormatter< ConstMonteCarloPtrmake_results_formatter (const GrandCanonical &mc)
 Make a LTE results formatter. More...
 
DataFormatter< ConstMonteCarloPtrmake_lte_results_formatter (const GrandCanonical &mc, const double &phi_LTE1, const std::string &configname)
 Make a results formatter. More...
 
jsonParserto_json (const GrandCanonicalConditions &conditions, jsonParser &json)
 Store GrandCanonicalConditions in JSON format. More...
 
void from_json (GrandCanonicalConditions &conditions, const PrimClex &primclex, const jsonParser &json)
 Read GrandCanonicalConditions from JSON format. More...
 
GenericDatumFormatter< double,
ConstMonteCarloPtr
GrandCanonicalLTEFormatter (const double &phi_LTE1)
 Print single spin flip LTE. More...
 
void write_lte_results (const MonteSettings &settings, const GrandCanonical &mc, const double &phi_LTE1, const std::string &configname, Log &_log)
 Will create new file or append to existing results file the results of the latest run. More...
 
template<typename RunType >
bool monte_carlo_step (RunType &monte_run)
 Perform a single monte carlo step, return true if accepted. More...
 
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloMeanFormatter (std::string prop_name)
 Print mean property values: <prop_name> More...
 
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloPrecFormatter (std::string prop_name)
 Print calculated precision of property values: prec(<prop_name>) More...
 
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloCovFormatter (std::string prop_name1, std::string prop_name2)
 Print covariance: cov(prop_name1, prop_name2) More...
 
GenericDatumFormatter< bool,
ConstMonteCarloPtr
MonteCarloIsEquilibratedFormatter ()
 Print if equilibrated (not counting explicitly requested equilibration) More...
 
GenericDatumFormatter< bool,
ConstMonteCarloPtr
MonteCarloIsConvergedFormatter ()
 Print if converged. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloTFormatter ()
 Print Temperature. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloBetaFormatter ()
 Print Beta. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloParamChemPotFormatter (const MonteType &mc, int index)
 Print param_chem_pot(x) More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloChemPotFormatter (const MonteType &mc, int index)
 Print chem_pot(N) More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloCompFormatter (const MonteType &mc, int index)
 Print comp(x) More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloCompNFormatter (const MonteType &mc, int index)
 Print comp_n(N) More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloHeatCapacityFormatter ()
 Print heat capacity, 'heat_capacity'. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloSuscXFormatter (std::string comp_var_i, std::string comp_var_j)
 Print parametric susceptibility, 'susc_x(a,b)'. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloSuscNFormatter (std::string species_i, std::string species_j)
 Print susceptibility, 'susc_n(A,B)'. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloThermoChemSuscXFormatter (std::string comp_var_i)
 Print parametric thermo-chemical susceptibility, 'susc_x(S,a)'. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloThermoChemSuscNFormatter (std::string species_i)
 Print thermo-chemical susceptibility, 'susc_n(S,A)'. More...
 
GenericDatumFormatter
< MonteSampler::size_type,
ConstMonteCarloPtr
MonteCarloNEquilSamplesFormatter ()
 Print number of samples used for equilibration (not counting explicitly requested equilibration) More...
 
GenericDatumFormatter
< MonteSampler::size_type,
ConstMonteCarloPtr
MonteCarloNAvgSamplesFormatter ()
 Print number of samples used in calculating means. More...
 
GenericDatumFormatter
< MonteCounter::size_type,
std::pair< ConstMonteCarloPtr,
Index > > 
MonteCarloPassFormatter ()
 Print Pass number of observation. More...
 
GenericDatumFormatter
< MonteCounter::size_type,
std::pair< ConstMonteCarloPtr,
Index > > 
MonteCarloStepFormatter ()
 Print Step number of observation. More...
 
GenericDatumFormatter< double,
std::pair< ConstMonteCarloPtr,
Index > > 
MonteCarloObservationFormatter (std::string prop_name)
 Print value of observation. More...
 
GenericDatumFormatter< int,
std::pair< ConstMonteCarloPtr,
Index > > 
MonteCarloOccFormatter (Index occ_index)
 Print value of a particular occupation variable. More...
 
DataFormatter< std::pair
< ConstMonteCarloPtr, Index > > 
make_observation_formatter (const MonteCarlo &mc)
 Make a observation formatter. More...
 
DataFormatter< std::pair
< ConstMonteCarloPtr, Index > > 
make_trajectory_formatter (const MonteCarlo &mc)
 Make a trajectory formatter. More...
 
template<typename MonteType >
void write_results (const MonteSettings &settings, const MonteType &mc, Log &_log)
 Will create new file or append to existing file results of the latest run. More...
 
template<typename MonteType >
void write_conditions_json (const MonteSettings &settings, const MonteType &mc, Index cond_index, Log &_log)
 Write conditions to conditions.cond_index directory. More...
 
void write_observations (const MonteSettings &settings, const MonteCarlo &mc, Index cond_index, Log &_log)
 Will create (and possibly overwrite) new file with all observations from run with conditions.cond_index. More...
 
void write_trajectory (const MonteSettings &settings, const MonteCarlo &mc, Index cond_index, Log &_log)
 Will create (and possibly overwrite) new file with all observations from run with conditions.cond_index. More...
 
void write_POSCAR_initial (const MonteCarlo &mc, Index cond_index, Log &_log)
 For the initial state, write a POSCAR file. More...
 
void write_POSCAR_final (const MonteCarlo &mc, Index cond_index, Log &_log)
 For the final state, write a POSCAR file. More...
 
void write_POSCAR_trajectory (const MonteCarlo &mc, Index cond_index, Log &_log)
 For every snapshot taken, write a POSCAR file. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloSiteFracFormatter (const MonteType &mc, int index)
 Print site_frac(x) for any class MonteType with valid 'Eigen::VectorXd MonteType::comp_n'. More...
 
template<typename MonteType >
GenericDatumFormatter< double,
ConstMonteCarloPtr
MonteCarloAtomFracFormatter (const MonteType &mc, int index)
 Print atom_frac(X) for any class MonteType with valid 'Eigen::VectorXd MonteType::comp_n'. More...
 
bool operator== (const jsonParser &json, const MonteSettings &settings)
 
bool operator!= (const jsonParser &json, const MonteSettings &settings)
 
jsonParserto_json (const SymGroup &group, jsonParser &json)
 
void from_json (SymGroup &group, const jsonParser &json)
 
SymGroup molecular_point_group (std::map< int, std::vector< Eigen::Vector3d > > coord_map)
 
bool compare_periodic (const SymOp &a, const SymOp &b, const Lattice &lat, PERIODICITY_TYPE periodicity, double _tol)
 
SymOp within_cell (const SymOp &a, const Lattice &lat, PERIODICITY_TYPE periodicity)
 
jsonParserto_json (const SymOp &sym, jsonParser &json)
 
void from_json (SymOp &sym, const jsonParser &json)
 
std::string include_path (const fs::path &dir)
 
std::string link_path (const fs::path &dir)
 
const std::string & version ()
 
void write_prim_nlist (const Array< UnitCellCoord > &prim_nlist, const fs::path &nlistpath)
 
Array< UnitCellCoordread_prim_nlist (const fs::path &nlistpath)
 
void display (std::ostream &sout, const CompositionAxes &opt)
 
template std::pair
< enum_it_type,
runtimelib_it_type > 
load_enumerator_plugins (const ProjectSettings &set, enum_it_type enum_it, runtimelib_it_type lib_it)
 
bool _has_existing_files (fs::path p)
 
fs::path _calc_properties_path (const PrimClex &primclex, fs::path pos_path)
 Return path to properties.calc.json that will be imported checking a couple possible locations relative to pos_path. More...
 
void _cp_files (const fs::path &pos_path, const Configuration &config, bool copy_additional_files, Log &log)
 Copy files in the same directory as properties.calc.json into the traning_data directory for a particular configuration. More...
 
void _recurs_cp_files (const fs::path &from_dir, const fs::path &to_dir, Log &log)
 
void print_monte_help (std::ostream &sout, const po::options_description &desc)
 
void print_monte_desc (std::ostream &sout, const po::options_description &desc)
 
template<typename MCType >
int _initial_POSCAR (PrimClex &primclex, const CommandArgs &args, const Completer::MonteOption &monte_opt)
 
template<typename MCType >
int _final_POSCAR (PrimClex &primclex, const CommandArgs &args, const Completer::MonteOption &monte_opt)
 
template<typename MCType >
int _traj_POSCAR (PrimClex &primclex, const CommandArgs &args, const Completer::MonteOption &monte_opt)
 
template<typename MCType >
int _driver (PrimClex &primclex, const CommandArgs &args, const Completer::MonteOption &monte_opt)
 
int _run_GrandCanonical (PrimClex &primclex, const MonteSettings &monte_settings, const CommandArgs &args, const Completer::MonteOption &monte_opt)
 
int _run_Canonical (PrimClex &primclex, const MonteSettings &monte_settings, const CommandArgs &args, const Completer::MonteOption &monte_opt)
 
Eigen::Matrix3l _default_nlist_weight_matrix (const Structure &prim, double tol)
 Default weight matrix for approximately spherical neighborhood in Cartesian coordinates. More...
 
std::set< int > _default_nlist_sublat_indices (const Structure &prim)
 Default includes sublattices with >= 2 components. More...
 
void query_help (const DataFormatterDictionary< Configuration > &_dict, std::ostream &_stream, std::vector< std::string > help_opt_vec)
 
int _rm_configs (const CommandArgs &args, const Completer::RmOption &rm_opt)
 
int _rm_scel (const CommandArgs &args, const Completer::RmOption &rm_opt)
 
template<typename ConfigIterType >
void set_selection (const DataFormatterDictionary< Configuration > &dict, ConfigIterType begin, ConfigIterType end, const std::string &criteria, bool mk, Log &err_log)
 
template<typename ConfigIterType >
void set_selection (const DataFormatterDictionary< Configuration > &dict, ConfigIterType begin, ConfigIterType end, const std::string &criteria, Log &err_log)
 
template<bool IsConst>
bool write_selection (const DataFormatterDictionary< Configuration > &dict, const ConfigSelection< IsConst > &config_select, bool force, const fs::path &out_path, bool write_json, bool only_selected, Log &err_log)
 
void select_help (const DataFormatterDictionary< Configuration > &_dict, std::ostream &_stream, std::vector< std::string > help_opt)
 
template<bool IsConst>
void write_selection_stats (Index Ntot, const ConfigSelection< IsConst > &config_select, Log &log, bool only_selected)
 
template<bool IsConst>
void write_master_selection_stats (Index Ntot, const ConfigSelection< IsConst > &config_select, Log &log)
 
void status_unitialized (const CommandArgs &args)
 
void composition_unselected (const CommandArgs &args)
 
void supercells_ungenerated (const CommandArgs &args)
 
void configs_ungenerated (const CommandArgs &args)
 
void configs_uncalculated (const CommandArgs &args)
 
void references_unset (const CommandArgs &args)
 
void bset_uncalculated (const CommandArgs &args)
 
void eci_uncalculated (const CommandArgs &args)
 
void montecarlo (const CommandArgs &args)
 
int update_eci_format (fs::path root, const CommandArgs &args)
 
int update_format (fs::path root, const CommandArgs &args)
 
void print_details (const CommandArgs &args, const PrimClex &primclex)
 
std::string::const_iterator end_of_literal (std::string::const_iterator it, std::string::const_iterator end_it)
 
template<>
ChemicalReferenceState from_json (const jsonParser &json)
 Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'. More...
 
Eigen::MatrixXd _composition_space (const Structure &prim, double tol)
 Non-orthogonal composition space. More...
 
template std::pair
< config_dict_it_type,
runtimelib_it_type > 
load_query_plugins (const ProjectSettings &set, config_dict_it_type dict_it, runtimelib_it_type lib_it)
 
void set_nlist_ind (const Structure &prim, SiteOrbitree &tree, const PrimNeighborList &nlist, double xtal_tol)
 
void _generate_primitives (PrimClex &primclex, const Supercell &unit_cell, const jsonParser &kwargs, std::map< Configuration, std::string > &prim_subconfig)
 
void _generate_equivalents (const PrimClex &primclex, Supercell &unit_cell, const std::map< Configuration, std::string > &prim_subconfig, std::vector< Configuration > &subconfig)
 
std::ostream & operator<< (std::ostream &stream, const Coordinate &coord)
 
template Lattice superdupercell< vec_lat_it, array_symop_cit > (vec_lat_it, vec_lat_it, array_symop_cit, array_symop_cit)
 
template std::pair
< array_symop_cit,
Eigen::MatrixXi > 
is_supercell< Lattice, array_symop_cit > (const Lattice &, const Lattice &, array_symop_cit, array_symop_cit, double)
 
bool standard_orientation_spatial_compare (const Eigen::Matrix3d &low_score_lat_mat, const Eigen::Matrix3d &high_score_lat_mat, double compare_tol)
 
Index which_unique_combination (const Array< Index > &input, const Array< Array< Index > > &unique, const Array< Array< Index > > &ind_equiv)
 
Index which_unique_combination (const Array< Index > &input, const Array< Array< Index > > &unique)
 
std::string _help ()
 
double covariance (const Eigen::VectorXd &X, const Eigen::VectorXd &Y, double mean)
 
void swap (PermuteIterator &a, PermuteIterator &b)
 
jsonParserto_json (const MasterSymGroup &sym, jsonParser &json)
 
void from_json (MasterSymGroup &sym, const jsonParser &json)
 
void confirm_lattice (const Lattice &known_niggli_form, const Eigen::Matrix3i &skewed_unimodular)
 
void confirm_fcc_lattice (const Eigen::Matrix3i &skewed_unimodular)
 
void confirm_bcc_lattice (const Eigen::Matrix3i &skewed_unimodular)
 
void confirm_hexagonal_lattice (const Eigen::Matrix3i &skewed_unimodular)
 
void confirm_cubic_lattice (const Eigen::Matrix3i &skewed_unimodular)
 
void symmetric_testing ()
 
void single_dimension_test ()
 
void ZrO_supercell_enum_test ()
 
void ZrO_supercell_enum_test2 ()
 
void standard_orientation_compare_test ()
 
fs::path find_casmroot (const fs::path &cwd)
 
fs::path relative_casmroot (const fs::path &cwd)
 
void recurs_rm_files (fs::path p, bool dry_run, Log &log)
 Remove files recursively. More...
 
jsonParserto_json (const ChemicalReferenceState &ref_state, jsonParser &json)
 Write ChemicalReferenceState to: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'. More...
 
template<>
ChemicalReferenceState from_json< ChemicalReferenceState > (const jsonParser &json)
 Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'. More...
 
void from_json (ChemicalReferenceState &ref_state, const jsonParser &json)
 Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'. More...
 
jsonParserto_json (const HyperPlaneReference &ref, jsonParser &json)
 
void from_json (HyperPlaneReference &ref, const jsonParser &json, HyperPlaneReference::InputFunction f)
 
jsonParserto_json (const ChemicalReference &ref, jsonParser &json)
 Write chemical reference. More...
 
std::pair< Eigen::VectorXd,
std::vector
< ChemicalReferenceState > > 
one_chemical_reference_from_json (const Structure &prim, const jsonParser &json)
 Read chemical reference from one of 3 alternative forms. More...
 
void from_json (ChemicalReference &ref, const jsonParser &json, const Structure &prim, double tol=1e-14)
 Read chemical reference from JSON. More...
 
template<typename T >
jsonParserto_json (const std::map< std::string, T > &map, jsonParser &json)
 Converts to a JSON object. More...
 
template<typename T >
void from_json (std::map< std::string, T > &map, const jsonParser &json)
 
template<typename T >
jsonParserto_json (const std::vector< T > &vec, jsonParser &json)
 Converts to a JSON array. More...
 
template<typename T >
void from_json (std::vector< T > &vec, const jsonParser &json)
 
template<typename T , std::size_t N>
jsonParserto_json (const std::array< T, N > &arr, jsonParser &json)
 Converts to a JSON array. More...
 
template<typename T , std::size_t N>
void from_json (std::array< T, N > &arr, const jsonParser &json)
 
template<typename T , typename Compare >
jsonParserto_json (const std::set< T, Compare > &set, jsonParser &json)
 Converts to a JSON array. More...
 
template<typename T , typename Compare , typename... Args>
void from_json (std::set< T, Compare > &set, const jsonParser &json, Args...args)
 
template<typename Derived >
CASM::jsonParserto_json (const Eigen::MatrixBase< Derived > &value, CASM::jsonParser &json)
 Write Eigen Matrix/Vector to JSON. More...
 
template<typename Derived >
CASM::jsonParserto_json_array (const Eigen::MatrixBase< Derived > &value, CASM::jsonParser &json)
 Write Eigen Matrix with 1 row or 1 column to JSON array. More...
 
template<typename Derived >
void from_json (Eigen::MatrixBase< Derived > &value, const CASM::jsonParser &json)
 Read Eigen Matrix/Vector from JSON. More...
 
ChemicalReference auto_chemical_reference (const PrimClex &primclex, double lin_alg_tol)
 Automatically set ChemicalReference using calculated Configurations with 'extreme' compositions. More...
 
template<typename CounterType >
std::ostream & operator<< (std::ostream &stream, const MultiCounter< CounterType > &counter)
 
template<bool IsConst>
void from_json (const SimpleJSonSiteStructure< IsConst > &jstruc, const jsonParser &json)
 
template<bool IsConst>
jsonParserto_json (const SimpleJSonSiteStructure< IsConst > &jstruc, jsonParser &json)
 
SimpleJSonSiteStructure< true > simple_json (const BasicStructure< Site > &struc, const std::string &prefix)
 
SimpleJSonSiteStructure< false > simple_json (BasicStructure< Site > &struc, const std::string &prefix)
 
Lattice canonical_equivalent_lattice (const Lattice &in_lat, const SymGroup &point_grp, double compare_tol)
 Find the niggli, most standard oriented version of the given orbit (defined by the given SymGroup) of lattices. More...
 
Lattice niggli (const Lattice &in_lat, double compare_tol, bool keep_handedness=false)
 Convert the given lattice into it's niggli reduced form, with the most standard orientation possilbe. More...
 
bool is_niggli (const Eigen::Matrix3d &test_lat_mat, double compare_tol)
 Check whether the given lattice (represented as a matrix) is in niggli TYPE ?? reduced form (does not check for orientation) More...
 
bool is_niggli (const Lattice &test_lat, double compare_tol)
 Check whether the given lattice is primitive (does not check for orientation) More...
 
Eigen::VectorXd spatial_unroll (const Eigen::Matrix3d &lat_mat, double compare_tol)
 Generate a vector whose lexicographical value determines how well it's oriented in space. More...
 
bool standard_orientation_spatial_compare (const Eigen::Matrix3d &low_score_lat_mat, Eigen::Matrix3d &high_score_lat_mat, double compare_tol)
 Compare the spatial orientation (ignoring matrix symmetry) and determine which one is oriented more standard. True if high is more standard. More...
 
bool standard_orientation_compare (const Eigen::Matrix3d &low_score_lat_mat, const Eigen::Matrix3d &high_score_lat_mat, double compare_tol)
 Determine whether high_score has a more standard format than low_score. More...
 
jsonParserto_json (const Site &value, jsonParser &json)
 
void from_json (Site &value, const jsonParser &json)
 
std::ostream & operator<< (std::ostream &stream, const Site &site)
 
Site operator* (const SymOp &LHS, const Site &RHS)
 
Site operator+ (const Site &LHS, const Coordinate &RHS)
 
Site operator+ (const Coordinate &LHS, const Site &RHS)
 
jsonParserto_json (const Structure &structure, jsonParser &json)
 
void from_json (Structure &structure, const jsonParser &json)
 
Structure operator* (const Lattice &LHS, const Structure &RHS)
 
Structure operator+ (const Coordinate &LHS, const Structure &RHS)
 
Structure operator+ (const Structure &LHS, const Coordinate &RHS)
 
Structure operator+ (const Structure &LHS, const Structure &RHS)
 
Structure operator+ (const Structure &LHS, const Lattice &RHS)
 
Structure operator+ (const Lattice &LHS, const Structure &RHS)
 
std::vector< std::vector< Index > > get_index_converter (const Structure &struc, std::vector< Molecule > mol_list)
 Helper Functions. More...
 
std::vector< std::vector< Index > > get_index_converter (const Structure &struc, std::vector< std::string > mol_name_list)
 
std::vector< std::vector< Index > > get_index_converter_inverse (const Structure &struc, std::vector< std::string > mol_name_list)
 
std::ostream & operator<< (std::ostream &sout, const UnitCellCoord &site)
 
UnitCellCoord operator+ (UnitCell frac, UnitCellCoord site)
 Add UnitCell to UnitCellCoord. More...
 
UnitCellCoord operator+ (UnitCellCoord site, UnitCell frac)
 Add UnitCell to UnitCellCoord. More...
 
UnitCellCoord operator- (UnitCellCoord site, UnitCell frac)
 Subtract UnitCell from UnitCellCoord. More...
 
bool operator< (const UnitCellCoord &A, const UnitCellCoord &B)
 Compare UnitCellCoord. More...
 
bool operator> (const UnitCellCoord &A, const UnitCellCoord &B)
 Compare UnitCellCoord. More...
 
bool operator<= (const UnitCellCoord &A, const UnitCellCoord &B)
 Compare UnitCellCoord. More...
 
bool operator>= (const UnitCellCoord &A, const UnitCellCoord &B)
 Compare UnitCellCoord. More...
 
bool operator== (const UnitCellCoord &A, const UnitCellCoord &B)
 Compare UnitCellCoord. More...
 
bool operator!= (const UnitCellCoord &A, const UnitCellCoord &B)
 Compare UnitCellCoord. More...
 
jsonParserto_json (const UnitCellCoord &ucc_val, jsonParser &fill_json)
 Print to json as [b, i, j, k]. More...
 
void from_json (UnitCellCoord &fill_value, const jsonParser &read_json)
 Read from json [b, i, j, k]. More...
 
jsonParserto_json (const PermuteIterator &clust, jsonParser &json)
 
void from_json (PermuteIterator &clust, const jsonParser &json)
 
template<typename BasisPermutable >
UnitCellCoordapply (const SymOp &op, UnitCellCoord &value, const BasisPermutable &obj)
 Apply symmetry to a UnitCellCoord. More...
 
UnitCellCoordapply (const SymBasisPermute &op, UnitCellCoord &value)
 Apply symmetry to a UnitCellCoord. More...
 
SymGroupRep subset_permutation_rep (const SymGroupRep &permute_rep, const Array< Index >::X2 &subsets)
 
SymGroupRep permuted_direct_sum_rep (const SymGroupRep &permute_rep, const Array< SymGroupRep const * > &sum_reps)
 
SymGroupRep kron_rep (const SymGroupRep &LHS, const SymGroupRep &RHS)
 
jsonParserto_json (const SymGroupRep &rep, jsonParser &json)
 
void from_json (SymGroupRep &rep, const jsonParser &json)
 
bool operator== (SymGroupRepID const &a, SymGroupRepID const &b)
 Compares true if group_index() and rep_index() are equal. More...
 
bool operator!= (SymGroupRepID const &a, SymGroupRepID const &b)
 Compares false if group_index() and rep_index() are equal. More...
 
bool operator< (SymGroupRepID const &a, SymGroupRepID const &b)
 Less-than comparison for use in STL containers (std::set, std::map, etc) More...
 
jsonParserto_json (SymGroupRepID const &_id, jsonParser &json)
 
jsonParser const & from_json (SymGroupRepID &_id, jsonParser const &json)
 
std::ostream & operator<< (std::ostream &out, SymGroupRepID const &_id)
 
jsonParserto_json (const SymMatrixXd &sym, jsonParser &json)
 
void from_json (SymMatrixXd &sym, const jsonParser &json)
 
jsonParserto_json (const SymOpRepresentation *rep, jsonParser &json)
 creates jsonParser using polymorphism More...
 
void from_json (SymOpRepresentation *rep, const jsonParser &json)
 This allocates a new object to 'rep'. More...
 
jsonParserto_json (const SymPermutation &sym, jsonParser &json)
 
void from_json (SymPermutation &sym, const jsonParser &json)
 

Variables

const double TOL = 0.00001
 
const double KB = 8.6173423E-05
 
const double PLANCK = 4.135667516E-15
 
enum  symmetry_type {
  symmetry_type::identity_op, symmetry_type::mirror_op, symmetry_type::glide_op, symmetry_type::rotation_op,
  symmetry_type::screw_op, symmetry_type::inversion_op, symmetry_type::rotoinversion_op, symmetry_type::invalid_op
}
 
std::string to_string (const SymInfo &info, COORD_TYPE mode)
 Print SymInfo to string. More...
 
std::string description (const SymOp &op, const Lattice &lat, COORD_TYPE mode)
 Print SymInfo to string. More...
 
void add_sym_info (const SymInfo &info, jsonParser &j)
 Add to existing JSON object. More...
 

Typedef Documentation

Definition at line 10 of file complete_tests.cpp.

Definition at line 23 of file ProjectSettings.hh.

const pointer to const MonteCarlo

Definition at line 9 of file CanonicalIO.hh.

Definition at line 44 of file jsonClust.hh.

Definition at line 45 of file jsonClust.hh.

typedef Eigen::VectorXd CASM::Correlation

Definition at line 9 of file Correlation.hh.

typedef Eigen::MatrixXd::Index CASM::EigenIndex

For integer indexing:

Definition at line 28 of file CASM_global_definitions.hh.

typedef GenericOrbit<HopCluster> CASM::HopOrbit

Definition at line 19 of file Orbit.hh.

typedef GenericOrbitree< HopCluster > CASM::HopOrbitree

Definition at line 14 of file ClusterFunctions.hh.

For long integer indexing:

Definition at line 54 of file CASM_global_definitions.hh.

typedef long int CASM::lint

Definition at line 25 of file CASM_global_definitions.hh.

typedef Eigen::Matrix3d CASM::Matrix3d

Definition at line 25 of file StrainConverter.hh.

typedef Eigen::MatrixXd CASM::MatrixXd

Definition at line 24 of file StrainConverter.hh.

typedef SiteMod<int> CASM::OccMod

An OccMod describes the change in occupation variable on a site.

Definition at line 68 of file DoFMod.hh.

Definition at line 16 of file Reference.hh.

typedef ScelEnumT<false> CASM::ScelEnum
related

Definition at line 402 of file Enumerator.hh.

Definition at line 16 of file Orbit.hh.

Definition at line 40 of file jsonClust.hh.

Definition at line 14 of file Clex.hh.

typedef unsigned int CASM::uint

Definition at line 23 of file CASM_global_definitions.hh.

typedef unsigned long int CASM::ulint

Definition at line 24 of file CASM_global_definitions.hh.

typedef Eigen::VectorXd CASM::VectorXd

Definition at line 21 of file StrainConverter.hh.

Enumeration Type Documentation

Enumerator
TYPEFILE 
TYPEDIR 
TYPEOTHER 
IOERR 

Definition at line 68 of file CASM_global_definitions.hh.

Enumerator
PRIM 
SCEL 

Definition at line 64 of file CASM_global_definitions.hh.

Enumerator
REAL 
IMAG 
COMPLEX 

Definition at line 66 of file CASM_global_definitions.hh.

Enumerator
PARAM_COMP 
NUMBER_ATOMS 

Definition at line 15 of file ParamComposition.hh.

Enumerator
FRAC 
CART 
COORD_DEFAULT 

Definition at line 57 of file CASM_global_definitions.hh.

Enumerator
PERIODIC 
LOCAL 
PERIODICITY_DEFAULT 

Definition at line 62 of file CASM_global_definitions.hh.

Enumerator
GREEN_LAGRANGE 
BIOT 
HENCKY 
EULER_ALMANSI 
DISP_GRAD 

Definition at line 29 of file StrainConverter.hh.

Function Documentation

fs::path CASM::_calc_properties_path ( const PrimClex &  primclex,
fs::path  pos_path 
)

Return path to properties.calc.json that will be imported checking a couple possible locations relative to pos_path.

checks: 1) is a JSON file? is pos_path ends in ".json" or ".JSON", return pos_path 2) assume pos_path is /path/to/POS, checks for /path/to/calctype.current/properties.calc.json 3) assume pos_path is /path/to/POS, checks for /path/to/properties.calc.json else returns empty path

Definition at line 495 of file import.cc.

Eigen::MatrixXd CASM::_composition_space ( const Structure &  prim,
double  tol 
)

Non-orthogonal composition space.

Definition at line 649 of file CompositionConverter.cc.

void CASM::_cp_files ( const fs::path &  pos_path,
const Configuration &  config,
bool  copy_additional_files,
Log &  log 
)

Copy files in the same directory as properties.calc.json into the traning_data directory for a particular configuration.

  • First: calc_props_path = _calc_properties_path(pos_path) to get properties.calc.json location
  • If calc_props_path.empty(), return
  • else if !copy_additional_files copy properties.calc.json file only and return
  • else, recursively copy all files from calc_props_path.remove_filename() to the training data directory for the current calctype

Definition at line 534 of file import.cc.

std::set<int> CASM::_default_nlist_sublat_indices ( const Structure &  prim)

Default includes sublattices with >= 2 components.

Definition at line 24 of file ProjectSettings.cc.

Eigen::Matrix3l CASM::_default_nlist_weight_matrix ( const Structure &  prim,
double  tol 
)

Default weight matrix for approximately spherical neighborhood in Cartesian coordinates.

Equivalent to:

PrimNeighborList::make_weight_matrix(prim.lattice().lat_column_mat(), 10, tol());

Definition at line 19 of file ProjectSettings.cc.

template<typename MCType >
int CASM::_driver ( PrimClex &  primclex,
const CommandArgs &  args,
const Completer::MonteOption &  monte_opt 
)

Definition at line 274 of file monte.cc.

template<typename MCType >
int CASM::_final_POSCAR ( PrimClex &  primclex,
const CommandArgs &  args,
const Completer::MonteOption &  monte_opt 
)

Definition at line 236 of file monte.cc.

void CASM::_generate_equivalents ( const PrimClex &  primclex,
Supercell &  unit_cell,
const std::map< Configuration, std::string > &  prim_subconfig,
std::vector< Configuration > &  subconfig 
)

sub-routine for EnumInterface<SuperConfigEnum>::run, generates equivalent configurations of all primitive configurations

Definition at line 130 of file SuperConfigEnum.cc.

void CASM::_generate_primitives ( PrimClex &  primclex,
const Supercell &  unit_cell,
const jsonParser &  kwargs,
std::map< Configuration, std::string > &  prim_subconfig 
)

sub-routine for EnumInterface<SuperConfigEnum>::run, generates primitive configurations from input

Definition at line 72 of file SuperConfigEnum.cc.

bool CASM::_has_existing_files ( fs::path  p)

Definition at line 479 of file import.cc.

std::string CASM::_help ( )

Definition at line 8 of file GrandCanonicalSettings.cc.

template<typename MCType >
int CASM::_initial_POSCAR ( PrimClex &  primclex,
const CommandArgs &  args,
const Completer::MonteOption &  monte_opt 
)

Definition at line 217 of file monte.cc.

void CASM::_recurs_cp_files ( const fs::path &  from_dir,
const fs::path &  to_dir,
Log &  log 
)

Definition at line 556 of file import.cc.

int CASM::_rm_configs ( const CommandArgs &  args,
const Completer::RmOption &  rm_opt 
)

Definition at line 142 of file rm.cc.

int CASM::_rm_scel ( const CommandArgs &  args,
const Completer::RmOption &  rm_opt 
)

Definition at line 182 of file rm.cc.

int CASM::_run_Canonical ( PrimClex &  primclex,
const MonteSettings &  monte_settings,
const CommandArgs &  args,
const Completer::MonteOption &  monte_opt 
)

Definition at line 409 of file monte.cc.

int CASM::_run_GrandCanonical ( PrimClex &  primclex,
const MonteSettings &  monte_settings,
const CommandArgs &  args,
const Completer::MonteOption &  monte_opt 
)

Definition at line 288 of file monte.cc.

template<typename MCType >
int CASM::_traj_POSCAR ( PrimClex &  primclex,
const CommandArgs &  args,
const Completer::MonteOption &  monte_opt 
)

Definition at line 255 of file monte.cc.

template<typename T , typename std::enable_if< !std::is_integral< T >::value, T >::type * = nullptr>
bool CASM::almost_equal ( const T &  val1,
const T &  val2,
double  tol = TOL 
)

If T is not integral, use almost_zero(val1 - val2, tol);.

If T is integral type, use val1 == val2;.

Definition at line 69 of file CASM_math.hh.

template<typename CoordType >
bool CASM::almost_equal ( const GenericCluster< CoordType > &  LHS,
const GenericCluster< CoordType > &  RHS,
double  tol 
)

Definition at line 888 of file Cluster_impl.hh.

template<typename T >
bool CASM::almost_equal ( const Array< T > &  A,
const Array< T > &  B,
double  tol = TOL 
)

Definition at line 328 of file CASM_math.hh.

template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
bool CASM::almost_zero ( const T &  val,
double  tol = TOL 
)
inline

If T is not integral, use std::abs(val) < tol;.

If T is integral, val == 0;.

Definition at line 41 of file CASM_math.hh.

template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
bool CASM::almost_zero ( const std::complex< T > &  val,
double  tol = TOL 
)
inline

If std::complex<T>, use std::abs(val) < tol;.

Definition at line 48 of file CASM_math.hh.

template<typename Derived >
bool CASM::almost_zero ( const Eigen::MatrixBase< Derived > &  val,
double  tol = TOL 
)

Equivalent to almost_zero(double(val.norm()), tol);.

Definition at line 61 of file CASM_math.hh.

template<typename T >
bool CASM::always_true ( const T &  )

Definition at line 469 of file DataFormatter.hh.

template<typename Object , typename Transform , typename... Args>
Object& CASM::apply ( const Transform &  f,
Object &  obj,
Args &&...  args 
)

Apply a transformation, in place

  • Default is equivalent to
    obj.apply_sym(f, args...)

Definition at line 77 of file CASM_global_definitions.hh.

template<typename BasisPermutable >
UnitCellCoord & CASM::apply ( const SymOp &  op,
UnitCellCoord &  value,
const BasisPermutable &  obj 
)

Apply symmetry to a UnitCellCoord.

Parameters
opThe symmetry operation to apply
valueThe UnitCellCoord being transformed
objThe object that the UnitCellCoord coordinates refer to, typically a primitive Structure
  • Requires BasisPermutable::basis_permutation_symrep_ID() to obtain the SymBasisPermute representation

Definition at line 142 of file SymBasisPermute.hh.

UnitCellCoord& CASM::apply ( const SymBasisPermute &  op,
UnitCellCoord &  value 
)
inline

Apply symmetry to a UnitCellCoord.

Definition at line 107 of file SymBasisPermute.hh.

ConfigDoF & CASM::apply ( const PermuteIterator &  it,
ConfigDoF &  dof 
)

Definition at line 175 of file ConfigDoF.cc.

void CASM::argtype_test ( )

Definition at line 187 of file complete_tests.cpp.

ChemicalReference CASM::auto_chemical_reference ( const PrimClex &  primclex,
double  lin_alg_tol 
)

Automatically set ChemicalReference using calculated Configurations with 'extreme' compositions.

Definition at line 225 of file ChemicalReference.cc.

void CASM::bset_uncalculated ( const CommandArgs &  args)

Definition at line 224 of file status.cc.

Lattice CASM::canonical_equivalent_lattice ( const Lattice &  in_lat,
const SymGroup &  point_grp,
double  compare_tol 
)

Find the niggli, most standard oriented version of the given orbit (defined by the given SymGroup) of lattices.

Return a canonical Lattice by first converting the given Lattice into the standard Niggli form, followed by applying the point group of the Lattice so that the one oriented in the most standard manner is selected.

Definition at line 276 of file Niggli.cc.

Eigen::VectorXd CASM::comp_n ( const ConfigDoF &  configdof,
const Supercell &  scel 
)

Returns comp_n, the number of each molecule per primitive cell, ordered as Structure::get_struc_molecule()

Definition at line 312 of file ConfigDoF.cc.

template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
bool CASM::compare ( const T &  A,
const T &  B,
double  tol 
)

Floating point comparison with tol, return A < B.

Implements:

if(!almost_equal(A,B,tol)) { return A < B; }
return false;

Definition at line 89 of file CASM_math.hh.

Eigen::MatrixXd CASM::composition_space ( const Structure &  prim,
double  tol 
)

Return the composition space of a Structure.

Parameters
primA Structure to find the standard composition space for (does not check if it is actually primitive).
toltolerance for checking rank (default 1e-14)

Definition at line 682 of file CompositionConverter.cc.

void CASM::composition_unselected ( const CommandArgs &  args)

Definition at line 78 of file status.cc.

void CASM::configs_uncalculated ( const CommandArgs &  args)

Definition at line 139 of file status.cc.

void CASM::configs_ungenerated ( const CommandArgs &  args)

Definition at line 111 of file status.cc.

void CASM::confirm_bcc_lattice ( const Eigen::Matrix3i &  skewed_unimodular)

Definition at line 44 of file Niggli_test.cpp.

void CASM::confirm_cubic_lattice ( const Eigen::Matrix3i &  skewed_unimodular)

Definition at line 58 of file Niggli_test.cpp.

void CASM::confirm_fcc_lattice ( const Eigen::Matrix3i &  skewed_unimodular)

Definition at line 37 of file Niggli_test.cpp.

void CASM::confirm_hexagonal_lattice ( const Eigen::Matrix3i &  skewed_unimodular)

Definition at line 51 of file Niggli_test.cpp.

void CASM::confirm_lattice ( const Lattice known_niggli_form,
const Eigen::Matrix3i &  skewed_unimodular 
)

Definition at line 15 of file Niggli_test.cpp.

template<typename Container , typename T >
bool CASM::contains ( const Container &  container,
const T &  value 
)

Equivalent to container.end() != std::find(container.begin(), container.end(), value)

Definition at line 66 of file algorithm.hh.

template<typename Container , typename T , typename BinaryCompare >
bool CASM::contains ( const Container &  container,
const T &  value,
BinaryCompare  q 
)

Equivalent to container.end() != find(container.begin(), container.end(), value, q)

Definition at line 72 of file algorithm.hh.

template<typename Container , typename UnaryPredicate >
bool CASM::contains_if ( const Container &  container,
UnaryPredicate  p 
)

Equivalent to container.end() != std::find_if(container.begin(), container.end(), p)

Definition at line 78 of file algorithm.hh.

template<typename Container , typename UnaryPredicate >
bool CASM::contains_if_not ( const Container &  container,
UnaryPredicate  q 
)

Equivalent to container.end() != std::find_if_not(container.begin(), container.end(), q)

Definition at line 84 of file algorithm.hh.

template<typename Object , typename Transform , typename... Args>
Object CASM::copy_apply ( const Transform &  f,
Object  obj,
Args &&...  args 
)

Copy and apply a transformation

  • We can also include a specialization for cloneable objects, via SFINAE

Definition at line 84 of file CASM_global_definitions.hh.

Correlation CASM::correlations ( const ConfigDoF &  configdof,
const Supercell &  scel,
Clexulator &  clexulator 
)

Returns correlations using 'clexulator'. Supercell needs a correctly populated neighbor list.

Definition at line 200 of file ConfigDoF.cc.

Eigen::VectorXd CASM::correlations_vec ( const ConfigDoF &  configdof,
const Supercell &  scel,
Clexulator &  clexulator 
)

Returns correlations using 'clexulator'. Supercell needs a correctly populated neighbor list.

Definition at line 242 of file ConfigDoF.cc.

double CASM::covariance ( const Eigen::VectorXd &  X,
const Eigen::VectorXd &  Y,
double  mean 
)

Definition at line 155 of file MCData.cc.

double CASM::cuberoot ( double  number)

Definition at line 292 of file CASM_math.cc.

template<typename T >
ReturnArray<T> CASM::cum_sum ( const Array< T > &  arr)

Definition at line 341 of file CASM_math.hh.

Log& CASM::default_err_log ( )
inline

Definition at line 206 of file Log.hh.

Log& CASM::default_log ( )
inline

Definition at line 201 of file Log.hh.

void CASM::display ( std::ostream &  sout,
const CompositionAxes &  opt 
)

Definition at line 12 of file composition.cc.

void CASM::display_comp ( std::ostream &  stream,
const CompositionConverter &  f,
int  indent 
)

Pretty-print comp in terms of comp_n.

Example:

comp(a) = c00*(comp_n(A) - 1) + c01*comp_n(B) + ...
comp(b) = c00*comp_n(A) + c01*(comp_n(B) - 2) + ...
...

Definition at line 545 of file CompositionConverter.cc.

void CASM::display_comp_n ( std::ostream &  stream,
const CompositionConverter &  f,
int  indent 
)

Pretty-print comp_n in terms of comp.

Pretty-print comp in terms of comp_n.

Example:

comp_n(A) = nAo + c00*comp(a) + c01*comp(b) + ...
comp_n(B) = nBo + c10*comp(a) + c11*comp(b) + ...
...

Definition at line 561 of file CompositionConverter.cc.

void CASM::display_composition_axes ( std::ostream &  stream,
const std::map< std::string, CompositionConverter > &  map 
)

Pretty-print map of name/CompositionConverter pairs.

Parameters
streamOutput stream
mapMap of name/CompositionConverter pairs
nameName for this set of composition axes

Definition at line 501 of file CompositionConverter.cc.

void CASM::display_param_chem_pot ( std::ostream &  stream,
const CompositionConverter &  f,
int  indent 
)

Pretty-print param_chem_pot in terms of chem_pot.

Example:

param_chem_pot(a) = c00*chem_pot(A) + c01*chem_pot(B) + ...
param_chem_pot(b) = c10*chem_pot(A) + c11*chem_pot(B) + ...
...

Definition at line 577 of file CompositionConverter.cc.

int CASM::dl_string_dist ( const std::string &  a,
const std::string &  b 
)

Computes the Damerescau-Levenshtein distance – the number of edits (deletions, insertions, transpositions) to go from string 'a' to string 'b'.

Definition at line 42 of file CASM_math.cc.

void CASM::eci_uncalculated ( const CommandArgs &  args)

Definition at line 242 of file status.cc.

Eigen::VectorXd CASM::eigen_vector_from_string ( const std::string &  tstr,
const int &  size 
)

Definition at line 119 of file CASM_math.cc.

Eigen::MatrixXd CASM::end_members ( const Structure &  prim)

Generate a column matrix containing all the possible molecular end members.

Parameters
primA Structure to find the end members of (does not check if it is actually primitive).

Definition at line 640 of file CompositionConverter.cc.

std::string::const_iterator CASM::end_of_literal ( std::string::const_iterator  it,
std::string::const_iterator  end_it 
)

Definition at line 9 of file DataFormatter.cc.

void CASM::engine_test ( )

Definition at line 166 of file complete_tests.cpp.

template<typename IntType >
IntType CASM::extended_gcf ( IntType  i1,
IntType  i2,
IntType &  p1,
IntType &  p2 
)

Calculate greatest common factor of two integers, and bezout coefficients.

Returns
greatest common factor
Parameters
i1,i2two integers for which to find greatest common factor
[out]p1,p2bezout coefficients such that p1*i1 + p2*i2 = gcf(abs(i1),abs(i2));
See also
smith_normal_form

Definition at line 214 of file CASM_math.hh.

template<typename IteratorType >
FilteredConfigIterator<IteratorType> CASM::filter_begin ( const IteratorType &  it,
const IteratorType &  it_end,
const std::vector< std::string > &  filter_expr,
const DataFormatterDictionary< Configuration > &  _dict 
)

Definition at line 115 of file FilteredConfigIterator.hh.

template<typename IteratorType >
FilteredConfigIterator<IteratorType> CASM::filter_end ( const IteratorType &  it_end)

Definition at line 124 of file FilteredConfigIterator.hh.

template<typename Iterator , typename T , typename BinaryCompare >
Iterator CASM::find ( Iterator  begin,
Iterator  end,
const T &  value,
BinaryCompare  q 
)

Equivalent to std::find(begin, end, value), but with custom comparison.

Definition at line 10 of file algorithm.hh.

fs::path CASM::find_casmroot ( const fs::path &  cwd)
inline

return path to current or parent directory containing ".casm" directory if none found, return empty path

Definition at line 24 of file DirectoryStructure.hh.

template<typename Iterator , typename T >
Index CASM::find_index ( Iterator  begin,
Iterator  end,
const T &  value 
)

Equivalent to std::distance(begin, std::find(begin, end, value))

Definition at line 16 of file algorithm.hh.

template<typename Iterator , typename T , typename BinaryCompare >
Index CASM::find_index ( Iterator  begin,
Iterator  end,
const T &  value,
BinaryCompare  q 
)

Equivalent to std::distance(begin, find(begin, end, value, q))

Definition at line 22 of file algorithm.hh.

template<typename Container , typename T , typename BinaryCompare >
Index CASM::find_index ( const Container &  container,
const T &  value,
BinaryCompare  q 
)

Equivalent to std::distance(container.begin(), find(container.begin(), container.end(), value,q))

Definition at line 41 of file algorithm.hh.

template<typename Container , typename T >
Index CASM::find_index ( const Container &  container,
const T &  value 
)

Equivalent to std::distance(container.begin(), std::find(container.begin(), container.end(), value))

Definition at line 47 of file algorithm.hh.

template<typename Iterator , typename UnaryPredicate >
Index CASM::find_index_if ( Iterator  begin,
Iterator  end,
UnaryPredicate  p 
)

Equivalent to std::distance(begin, std::find_if(begin, end, p))

Definition at line 28 of file algorithm.hh.

template<typename Container , typename UnaryPredicate >
Index CASM::find_index_if ( const Container &  container,
UnaryPredicate  p 
)

Equivalent to std::distance(container.begin(), std::find_if(container.begin(), container.end(), p))

Definition at line 53 of file algorithm.hh.

template<typename Iterator , typename UnaryPredicate >
Index CASM::find_index_if_not ( Iterator  begin,
Iterator  end,
UnaryPredicate  q 
)

Equivalent to std::distance(begin, std::find_if_not(begin, end, q))

Definition at line 34 of file algorithm.hh.

template<typename Container , typename UnaryPredicate >
Index CASM::find_index_if_not ( const Container &  container,
UnaryPredicate  q 
)

Equivalent to std::distance(container.begin(), std::find_if_not(container.begin(), container.end(), p))

Definition at line 59 of file algorithm.hh.

template<class InputIt1 , class InputIt2 >
bool CASM::float_lexicographical_compare ( InputIt1  first1,
InputIt1  last1,
InputIt2  first2,
InputIt2  last2,
double  tol 
)

Floating point lexicographical comparison with tol.

Definition at line 111 of file CASM_math.hh.

bool CASM::float_lexicographical_compare ( const Eigen::VectorXd &  A,
const Eigen::VectorXd &  B,
double  tol 
)
inline

Floating point lexicographical comparison with tol.

Definition at line 117 of file CASM_math.hh.

template<typename T , typename std::enable_if< std::is_floating_point< T >::value, T >::type * = nullptr>
int CASM::float_sgn ( val,
double  compare_tol = TOL 
)

Definition at line 130 of file CASM_math.hh.

template<typename DataObject >
DataFormatterOperator<bool, bool, DataObject> CASM::format_operator_not ( )

Definition at line 362 of file DataFormatterTools.hh.

void CASM::from_json ( COORD_TYPE &  value,
const jsonParser &  json 
)

Gets string value as COORD_TYPE

If first letter is:

  • 'c', 'C', 'k', or 'K' -> CART
  • 'd', 'D', 'f', or 'F' -> FRAC
  • else: COORD_DEFAULT

Definition at line 13 of file global.cc.

void CASM::from_json ( PERIODICITY_TYPE &  value,
const jsonParser &  json 
)

Gets string value as PERIODICITY_TYPE.

Definition at line 46 of file global.cc.

void CASM::from_json ( CELL_TYPE &  value,
const jsonParser &  json 
)

Gets string value as CELL_TYPE.

Definition at line 80 of file global.cc.

template<>
ChemicalReferenceState CASM::from_json ( const jsonParser &  json)

Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'.

Definition at line 20 of file clex.cc.

void CASM::from_json ( GenericOrbitBranch< SiteCluster > &  branch,
const jsonParser &  json 
)

Assumes the pivot lattice is already set.

Assumes the prototype lattice is already set.

Definition at line 17 of file ClusterFunctions.cc.

void CASM::from_json ( GenericOrbit< SiteCluster > &  orbit,
const jsonParser &  json 
)

Assumes the prototype lattice is already set.

Definition at line 25 of file ClusterFunctions.cc.

void CASM::from_json ( GrandCanonicalConditions &  conditions,
const PrimClex &  primclex,
const jsonParser &  json 
)

Read GrandCanonicalConditions from JSON format.

{
"temperature" : number,
"tol: number,
"param_chem_pot" : {"a": number, "b": number, ...}
}

Definition at line 253 of file GrandCanonicalIO.cc.

void CASM::from_json ( SymMatrixXd &  sym,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 47 of file SymMatrixXd.cc.

void CASM::from_json ( SiteClusterJsonHelper  clust_helper,
const jsonParser &  json 
)

Definition at line 5 of file jsonClust.cc.

void CASM::from_json ( SiteOrbitBranchJsonHelper  branch_helper,
const jsonParser &  json 
)

Definition at line 45 of file jsonClust.cc.

void CASM::from_json ( SiteOrbitreeJsonHelper  tree_helper,
const jsonParser &  json 
)

Definition at line 88 of file jsonClust.cc.

void CASM::from_json ( SymPermutation &  sym,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 77 of file SymPermutation.cc.

void CASM::from_json ( SiteCluster &  clust,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 419 of file SiteCluster.cc.

template<bool IsConst>
void CASM::from_json ( const SimpleJSonSiteStructure< IsConst > &  jstruc,
const jsonParser &  json 
)

Definition at line 100 of file jsonStruc.hh.

void CASM::from_json ( DoF *  dof,
const jsonParser &  json,
const Lattice &  lat 
)

This allocates a new object to 'dof'. It needs a Lattice in case it is a DiscreteDoF<Molecule>

This allocates a new object to 'dof'. It needs a Lattice in case it is a OccupantDoF<Molecule>

re-throw exceptions

re-throw exceptions

Definition at line 117 of file DoF.cc.

jsonParser const& CASM::from_json ( SymGroupRepID &  _id,
jsonParser const &  json 
)
inline

Definition at line 110 of file SymGroupRepID.hh.

void CASM::from_json ( Permutation &  value,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 178 of file Permutation.cc.

void CASM::from_json ( UnitCellCoord &  fill_value,
const jsonParser &  read_json 
)
inline

Read from json [b, i, j, k].

Definition at line 274 of file UnitCellCoord.hh.

void CASM::from_json ( Site &  value,
const jsonParser &  json 
)

Definition at line 491 of file Site.cc.

void CASM::from_json ( PermuteIterator &  clust,
const jsonParser &  json 
)

Definition at line 204 of file PermuteIterator.cc.

void CASM::from_json ( SymOpRepresentation *  rep,
const jsonParser &  json 
)

This allocates a new object to 'rep'.

re-throw exceptions

re-throw exceptions

Definition at line 99 of file SymOpRepresentation.cc.

void CASM::from_json ( Variable &  var,
const jsonParser &  json 
)
void CASM::from_json ( OccupantFunction &  func,
const jsonParser &  json 
)
void CASM::from_json ( CompositionConverter &  f,
const jsonParser &  json 
)

Deserialize CompositionConverter from JSON.

re-throw exceptions

re-throw exceptions

Definition at line 602 of file CompositionConverter.cc.

void CASM::from_json ( ConfigDoF &  value,
const jsonParser &  json 
)

Definition at line 167 of file ConfigDoF.cc.

void CASM::from_json ( SymGroupRep &  rep,
const jsonParser &  json 
)

Definition at line 1525 of file SymGroupRep.cc.

void CASM::from_json ( Structure &  structure,
const jsonParser &  json 
)

Definition at line 1269 of file Structure.cc.

template<typename ClustType >
void CASM::from_json ( GenericOrbitree< ClustType > &  tree,
const jsonParser &  json 
)

Assumes the prototype lattice is already set.

Definition at line 261 of file Orbitree.hh.

void CASM::from_json ( BasisSet &  bset,
const jsonParser &  json 
)
template<typename T >
void CASM::from_json ( GenericCluster< T > &  clust,
const jsonParser &  json 
)

Definition at line 309 of file Cluster.hh.

void CASM::from_json ( OccupantDoF< int > &  dof,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 29 of file DoF.cc.

void CASM::from_json ( OccupantDoF< Molecule > &  dof,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 62 of file DoF.cc.

void CASM::from_json ( ContinuousDoF &  dof,
const jsonParser &  json 
)

re-throw exceptions

re-throw exceptions

Definition at line 96 of file DoF.cc.

void CASM::from_json ( MasterSymGroup &  sym,
const jsonParser &  json 
)

re-throw exceptions

Definition at line 4634 of file SymGroup.cc.

double CASM::gaussian ( double  a,
double  x,
double  b,
double  c 
)

Definition at line 144 of file CASM_math.cc.

double CASM::gaussian_moment ( int  expon,
double  sigma 
)

Definition at line 153 of file CASM_math.cc.

double CASM::gaussian_moment ( int  expon,
double  sigma,
double  x0 
)

Definition at line 172 of file CASM_math.cc.

int CASM::gcf ( int  i1,
int  i2 
)

Find greatest common factor.

Definition at line 92 of file CASM_math.cc.

Option CASM::generate_option ( std::string  postfix,
char  beginshort 
)

Definition at line 137 of file complete_tests.cpp.

std::vector< std::vector< Index > > CASM::get_index_converter ( const Structure &  struc,
std::vector< Molecule >  mol_list 
)

Helper Functions.

Returns 'converter' which converts site_occupant indices to 'mol_list' indices: mol_list_index = converter[basis_site][site_occupant_index]

Returns 'converter' which converts Site::site_occupant indices to 'mol_list' indices: mol_list_index = converter[basis_site][site_occupant_index]

Definition at line 1297 of file Structure.cc.

std::vector< std::vector< Index > > CASM::get_index_converter ( const Structure &  struc,
std::vector< std::string >  mol_name_list 
)

Returns 'converter' which converts site_occupant indices to 'mol_name_list' indices: mol_name_list_index = converter[basis_site][site_occupant_index]

Returns 'converter' which converts Site::site_occupant indices to 'mol_name_list' indices: mol_name_list_index = converter[basis_site][site_occupant_index]

Definition at line 1315 of file Structure.cc.

std::vector< std::vector< Index > > CASM::get_index_converter_inverse ( const Structure &  struc,
std::vector< std::string >  mol_name_list 
)

Returns 'converter_inverse' which converts 'mol_name_list' indices to Site::site_occupant indices: site_occupant_index = converter_inverse[basis_site][mol_name_list_index]

Returns 'converter_inverse' which converts 'mol_name_list' indices to Site::site_occupant indices: site_occupant_index = converter_inverse[basis_site][mol_name_list_index]

If mol is not allowed on basis_site, return struc.basis[basis_site].site_occupant().size()

Definition at line 1335 of file Structure.cc.

ReturnArray< int > CASM::get_num_each_molecule ( const ConfigDoF &  configdof,
const Supercell &  scel 
)

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

Definition at line 278 of file ConfigDoF.cc.

Eigen::VectorXi CASM::get_num_each_molecule_vec ( const ConfigDoF &  configdof,
const Supercell &  scel 
)

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

Definition at line 295 of file ConfigDoF.cc.

ReturnArray< Array< int > > CASM::get_prime_factors ( int  target)

Definition at line 413 of file CASM_math.cc.

GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::GrandCanonicalLTEFormatter ( const double &  phi_LTE1)

Print single spin flip LTE.

Definition at line 270 of file GrandCanonicalIO.cc.

double CASM::hungarian_method ( const Eigen::MatrixXd &  cost_matrix,
std::vector< Index > &  optimal_assignments,
const double  _tol 
)

Definition at line 444 of file CASM_math.cc.

std::string CASM::include_path ( const fs::path &  dir)

Definition at line 386 of file RuntimeLibrary.cc.

std::string CASM::irrational_to_tex_string ( double  val,
int  lim,
int  max_pow = 2 
)

Definition at line 224 of file CASM_math.cc.

bool CASM::is_niggli ( const Eigen::Matrix3d &  test_lat_mat,
double  compare_tol 
)

Check whether the given lattice (represented as a matrix) is in niggli TYPE ?? reduced form (does not check for orientation)

Definition at line 218 of file Niggli.cc.

bool CASM::is_niggli ( const Lattice &  test_lat,
double  compare_tol 
)

Check whether the given lattice is primitive (does not check for orientation)

Definition at line 225 of file Niggli.cc.

template std::pair<array_symop_cit, Eigen::MatrixXi> CASM::is_supercell< Lattice, array_symop_cit > ( const Lattice &  ,
const Lattice &  ,
array_symop_cit  ,
array_symop_cit  ,
double   
)
template<typename ValueType >
ClustJsonHelper<ValueType> CASM::jsonHelper ( ValueType &  _value,
const Structure &  _struc,
double  tol = TOL 
)

Definition at line 62 of file jsonClust.hh.

SymGroupRep CASM::kron_rep ( const SymGroupRep &  LHS,
const SymGroupRep &  RHS 
)

Definition at line 1462 of file SymGroupRep.cc.

int CASM::lcm ( int  i1,
int  i2 
)

Find least common multiple.

Definition at line 114 of file CASM_math.cc.

int CASM::lcm ( const Array< int > &  series)

Find least common multiple.

Definition at line 402 of file CASM_math.cc.

template<typename Derived >
double CASM::length ( const Eigen::MatrixBase< Derived > &  value)

Definition at line 354 of file CASM_math.hh.

std::string CASM::link_path ( const fs::path &  dir)

Definition at line 393 of file RuntimeLibrary.cc.

template std::pair<enum_it_type, runtimelib_it_type> CASM::load_enumerator_plugins ( const ProjectSettings &  set,
enum_it_type  enum_it,
runtimelib_it_type  lib_it 
)
template<typename EnumeratorMapInserter , typename RuntimeLibInserter >
std::pair< EnumeratorMapInserter, RuntimeLibInserter > CASM::load_enumerator_plugins ( const ProjectSettings &  set,
EnumeratorMapInserter  enum_it,
RuntimeLibInserter  lib_it 
)

Load enumerator plugins from a CASM project.

Parameters
setCASM project settings to read enumerator plugins from
enum_itInserter to EnumeratorMap where the plugins should be stored
lib_itInserter to container of pair<std::string, std::shared_ptr<RuntimeLibrary> > holding the libraries with the enumerator plugins
  • Checks the directory primclex.dir().enumerator_plugins() for ENUMNAME.cc files
  • All *.cc files found are compiled and linked, and the base of the filename (ENUMNAME) is assumed to be the enumerator name
  • An extern C function named make_ENUMNAME_interface is assumed to exist with signature: CASM::EnumInterfaceBase* make_ENUMNAME_interface(), that returns a pointer which owns a CASM::EnumInterfaceBase-derived object
Note
The lifetime of the RuntimeLibrary must be longer than the lifetime of the EnumInterface

Definition at line 31 of file EnumeratorHandler_impl.hh.

template std::pair<config_dict_it_type, runtimelib_it_type> CASM::load_query_plugins ( const ProjectSettings &  set,
config_dict_it_type  dict_it,
runtimelib_it_type  lib_it 
)
template<typename DataFormatterDictInserter , typename RuntimeLibInserter >
std::pair< DataFormatterDictInserter, RuntimeLibInserter > CASM::load_query_plugins ( const ProjectSettings &  set,
DataFormatterDictInserter  dict_it,
RuntimeLibInserter  lib_it 
)

Load enumerator plugins from a CASM project.

Definition at line 100 of file QueryHandler_impl.hh.

template<typename DataObject >
DataFormatterDictionary< DataObject > CASM::make_attribute_dictionary ( )

Dictionary of all AttributeFormatter (i.e. BaseValueFormatter<V, DataObject>)

Dictionary of all Attribute.

Default includes String, Boolean, Integer, Scalar, and VectorXd attributes

Definition at line 1192 of file DataFormatterTools.hh.

template<typename DataObject >
DataFormatterDictionary<DataObject> CASM::make_dictionary ( )

Template to can be specialized for constructing dictionaries for particular DataObject.

Default includes the make_attribute_dictionary() and make_operator_dictionary()

Definition at line 711 of file DataFormatter.hh.

DataFormatter< ConstMonteCarloPtr > CASM::make_lte_results_formatter ( const GrandCanonical &  mc,
const double &  phi_LTE1,
const std::string &  configname 
)

Make a results formatter.

Make a LTE results formatter.

Output data is:

  • T
  • phi_LTE
  • Beta
  • configname
  • gs_potential_energy
  • gs_formation_energy
  • param_chem_pot(a) ...
  • gs_comp(a) ...
  • gs_comp_n(a) ...

For JSON format is:

{ "key0":[...], "key1":[...], ... }

Definition at line 156 of file GrandCanonicalIO.cc.

DataFormatter< std::pair< ConstMonteCarloPtr, Index > > CASM::make_observation_formatter ( const MonteCarlo &  mc)

Make a observation formatter.

For csv:

# Pass Step X1 X2 ...

For JSON:

{"Pass/Step":[...], "X":[...], ...}

Definition at line 177 of file MonteIO.cc.

template<typename DataObject >
DataFormatterDictionary< DataObject > CASM::make_operator_dictionary ( )

Dictionary of all DatumFormatterOperator.

Definition at line 449 of file DataFormatterTools.hh.

DataFormatter< ConstMonteCarloPtr > CASM::make_results_formatter ( const GrandCanonical &  mc)

Make a LTE results formatter.

Make a results formatter.

Output data is:

  • N_equil_samples
  • N_avg_samples
  • T
  • Beta
  • <potential_energy>, prec(<potential_energy>)
  • <formation_energy>, prec(<formation_energy>)
  • param_chem_pot(a) ...
  • <comp(a)> prec(<comp(a)>) ...
  • <comp_n(a)> prec(<comp_n(a)>) ...
  • (other properties: correlations, atom_frac, site_frac, etc.)
  • heat_capacity
  • susc_x(a,a), ...
  • susc_x(S,a), ...
  • susc_n(A,A), ...
  • susc_n(S,A), ...

For JSON format is:

{ "key0":[...], "key1":[...], ... }

Definition at line 34 of file GrandCanonicalIO.cc.

DataFormatter< std::pair< ConstMonteCarloPtr, Index > > CASM::make_trajectory_formatter ( const MonteCarlo &  mc)

Make a trajectory formatter.

For csv:

Pass Step occ(0) occ(1) ...

For JSON:

{"Pass" : [...], "Step":[...], "occ":[[...]]}

Definition at line 200 of file MonteIO.cc.

template<class U >
void CASM::match_shape ( Correlation &  corr,
const Array< Array< Array< U > > > &  thing 
)

Definition at line 12 of file Correlation.hh.

template<class ClustType >
void CASM::match_shape ( Correlation &  corr,
const GenericOrbitree< ClustType > &  tree 
)

Definition at line 26 of file Correlation.hh.

template<typename T >
T CASM::max ( const T &  A,
const T &  B 
)

Definition at line 32 of file CASM_math.hh.

template<typename T >
T CASM::min ( const T &  A,
const T &  B 
)

Definition at line 25 of file CASM_math.hh.

int CASM::mod ( int  a,
int  b 
)

Definition at line 280 of file CASM_math.cc.

template<typename RunType >
bool CASM::monte_carlo_step ( RunType &  monte_run)

Perform a single monte carlo step, return true if accepted.

Definition at line 521 of file MonteDriver.hh.

void CASM::montecarlo ( const CommandArgs &  args)

Definition at line 280 of file status.cc.

template<typename MonteType >
GenericDatumFormatter<double, ConstMonteCarloPtr> CASM::MonteCarloAtomFracFormatter ( const MonteType &  mc,
int  index 
)

Print atom_frac(X) for any class MonteType with valid 'Eigen::VectorXd MonteType::comp_n'.

Definition at line 89 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloBetaFormatter ( )

Print Beta.

Print Beta for any class MonteType with valid 'double MonteType::conditions().beta()'.

Definition at line 22 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloChemPotFormatter ( const MonteType &  mc,
int  index 
)

Print chem_pot(N)

Print chem_pot(N) for any class MonteType with valid 'double MonteType::conditions().chem_pot(index)'.

Definition at line 43 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloCompFormatter ( const MonteType &  mc,
int  index 
)

Print comp(x)

Print comp(x) for any class MonteType with valid 'double MonteType::conditions().param_composition()(index)'.

Definition at line 54 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloCompNFormatter ( const MonteType &  mc,
int  index 
)

Print comp_n(N)

Print comp(x) for any class MonteType with valid 'double MonteType::conditions().mol_composition()(index)'.

Definition at line 65 of file MonteIO_impl.hh.

GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloCovFormatter ( std::string  prop_name1,
std::string  prop_name2 
)

Print covariance: cov(prop_name1, prop_name2)

Definition at line 69 of file MonteIO.cc.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloHeatCapacityFormatter ( )

Print heat capacity, 'heat_capacity'.

  • Heat capacity (per unit cell) = cov(potential_energy, potential_energy)*N/(k*T*T)

Definition at line 107 of file MonteIO_impl.hh.

GenericDatumFormatter< bool, ConstMonteCarloPtr > CASM::MonteCarloIsConvergedFormatter ( )

Print if converged.

Definition at line 93 of file MonteIO.cc.

GenericDatumFormatter< bool, ConstMonteCarloPtr > CASM::MonteCarloIsEquilibratedFormatter ( )

Print if equilibrated (not counting explicitly requested equilibration)

Definition at line 83 of file MonteIO.cc.

GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloMeanFormatter ( std::string  prop_name)

Print mean property values: <prop_name>

Definition at line 10 of file MonteIO.cc.

GenericDatumFormatter< MonteSampler::size_type, ConstMonteCarloPtr > CASM::MonteCarloNAvgSamplesFormatter ( )

Print number of samples used in calculating means.

Definition at line 113 of file MonteIO.cc.

GenericDatumFormatter< MonteSampler::size_type, ConstMonteCarloPtr > CASM::MonteCarloNEquilSamplesFormatter ( )

Print number of samples used for equilibration (not counting explicitly requested equilibration)

Definition at line 103 of file MonteIO.cc.

GenericDatumFormatter< double, std::pair< ConstMonteCarloPtr, Index > > CASM::MonteCarloObservationFormatter ( std::string  prop_name)

Print value of observation.

Definition at line 143 of file MonteIO.cc.

GenericDatumFormatter< int, std::pair< ConstMonteCarloPtr, Index > > CASM::MonteCarloOccFormatter ( Index  occ_index)

Print value of a particular occupation variable.

Definition at line 154 of file MonteIO.cc.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloParamChemPotFormatter ( const MonteType &  mc,
int  index 
)

Print param_chem_pot(x)

Print param_chem_pot(x) for any class MonteType with valid 'double MonteType::conditions().param_chem_pot()(index)'.

Definition at line 32 of file MonteIO_impl.hh.

GenericDatumFormatter< MonteCounter::size_type, std::pair< ConstMonteCarloPtr, Index > > CASM::MonteCarloPassFormatter ( )

Print Pass number of observation.

Definition at line 123 of file MonteIO.cc.

GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloPrecFormatter ( std::string  prop_name)

Print calculated precision of property values: prec(<prop_name>)

Definition at line 26 of file MonteIO.cc.

template<typename MonteType >
GenericDatumFormatter<double, ConstMonteCarloPtr> CASM::MonteCarloSiteFracFormatter ( const MonteType &  mc,
int  index 
)

Print site_frac(x) for any class MonteType with valid 'Eigen::VectorXd MonteType::comp_n'.

Definition at line 76 of file MonteIO_impl.hh.

GenericDatumFormatter< MonteCounter::size_type, std::pair< ConstMonteCarloPtr, Index > > CASM::MonteCarloStepFormatter ( )

Print Step number of observation.

Definition at line 133 of file MonteIO.cc.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloSuscNFormatter ( std::string  species_i,
std::string  species_j 
)

Print susceptibility, 'susc_n(A,B)'.

Print parametric susceptibility, 'susc_x(a,b)'.

  • species_i: First species "A", "B", "C", ...
  • species_j: Second species "A", "B", "C", ...
  • Heat capacity (per unit cell) = cov(x_i, x_j)*N/(k*T)

Definition at line 162 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloSuscXFormatter ( std::string  comp_var_i,
std::string  comp_var_j 
)

Print parametric susceptibility, 'susc_x(a,b)'.

  • comp_var_i: First parametric composition variable "a", "b", "c", ...
  • comp_var_j: Second parametric composition variable "a", "b", "c", ...
  • Heat capacity (per unit cell) = cov(x_i, x_j)*N/(k*T)

Definition at line 133 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloTFormatter ( )

Print Temperature.

Print Temperature for any class MonteType with valid 'double MonteType::conditions().temperature()'.

Definition at line 12 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloThermoChemSuscNFormatter ( std::string  species_i)

Print thermo-chemical susceptibility, 'susc_n(S,A)'.

Definition at line 215 of file MonteIO_impl.hh.

template<typename MonteType >
GenericDatumFormatter< double, ConstMonteCarloPtr > CASM::MonteCarloThermoChemSuscXFormatter ( std::string  comp_var_i)

Print parametric thermo-chemical susceptibility, 'susc_x(S,a)'.

  • species_i: First species "A", "B", "C", ...
  • thermo-chemical susceptibility (per unit cell) = cov(potential_energy, x_i)*N/(k*T)

Definition at line 191 of file MonteIO_impl.hh.

template<typename IntType >
IntType CASM::multinomial_coeff ( const Array< IntType > &  exponents)

Definition at line 306 of file CASM_math.hh.

template<typename IntType >
IntType CASM::multinomial_coeff ( const Array< IntType > &  exponents,
const Array< Index > &  sublist 
)

Definition at line 318 of file CASM_math.hh.

template<typename IntType >
IntType CASM::nchoosek ( IntType  n,
IntType  k 
)

Definition at line 148 of file CASM_math.hh.

void CASM::nearest_rational_number ( double  val,
long &  numerator,
long &  denominator,
double  tol = TOL 
)

Definition at line 188 of file CASM_math.cc.

template<typename OutputIterator , typename TreeType , typename StrucType >
OutputIterator CASM::neighborhood ( OutputIterator  result,
const TreeType &  tree,
const StrucType &  struc,
double  tol 
)

Iterate over all sites in an orbitree and insert a UnitCellCoord.

Parameters
resultan OutputIterator for UnitCellCoord
treethe Orbitree to iterate over
structhe structure that UnitCellCoord are referenced to
toltolerance for mapping Coordinate to UnitCellCoord
Returns
the resulting OutputIterator

This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It can be used to create a set of UnitCellCoord for input to expand a PrimNeighborList.

Definition at line 314 of file Orbitree.hh.

Lattice CASM::niggli ( const Lattice &  in_lat,
double  compare_tol,
bool  keep_handedness 
)

Convert the given lattice into it's niggli reduced form, with the most standard orientation possilbe.

Converts a given Lattice into a new Lattice that satisfies the Niggli criteria. Because there are several representations of the Lattice that satisfy these conditions, the one with the most standard orientation will be returned.

The returned Niggli cell will be right handed regardless of the inputted lattice, unless keep_handedness is set to true.

Definition at line 240 of file Niggli.cc.

Eigen::MatrixXd CASM::null_composition_space ( const Structure &  prim,
double  tol 
)

Return the null composition space of a Structure.

Parameters
primA Structure to find the standard composition space for (does not check if it is actually primitive).
toltolerance for checking rank (default 1e-14)

Definition at line 697 of file CompositionConverter.cc.

Log& CASM::null_log ( )
inline

Definition at line 211 of file Log.hh.

bool CASM::operator!= ( SymGroupRepID const &  a,
SymGroupRepID const &  b 
)
inline

Compares false if group_index() and rep_index() are equal.

Definition at line 91 of file SymGroupRepID.hh.

bool CASM::operator!= ( const UnitCellCoord &  A,
const UnitCellCoord &  B 
)
inline

Compare UnitCellCoord.

Definition at line 257 of file UnitCellCoord.hh.

bool CASM::operator!= ( const jsonParser &  json,
const MonteSettings &  settings 
)
inline

Definition at line 209 of file MonteSettings.hh.

double CASM::operator* ( const ECIContainer &  _eci,
const Correlation &  _corr 
)

Evaluate property given an ECIContainer and Correlation.

Definition at line 6 of file ECIContainer.cc.

double CASM::operator* ( const ECIContainer &  _eci,
double const *  _corr_begin 
)

Evaluate property given an ECIContainer and pointer to beginning of range of correlation.

Definition at line 16 of file ECIContainer.cc.

SiteCluster CASM::operator* ( const SymOp &  LHS,
const SiteCluster &  RHS 
)

Definition at line 352 of file SiteCluster.cc.

Site CASM::operator* ( const SymOp &  LHS,
const Site &  RHS 
)

Definition at line 520 of file Site.cc.

template<typename CoordType >
GenericCluster< CoordType > CASM::operator* ( const SymOp &  LHS,
const GenericCluster< CoordType > &  RHS 
)

create symmetry-transformed cluster

Definition at line 869 of file Cluster_impl.hh.

Structure CASM::operator* ( const Lattice &  LHS,
const Structure &  RHS 
)

Definition at line 1281 of file Structure.cc.

BasisSet CASM::operator* ( const SymOp &  LHS,
const BasisSet &  RHS 
)

Definition at line 1154 of file BasisSet.cc.

UnitCellCoord CASM::operator+ ( UnitCell  frac,
UnitCellCoord  site 
)
inline

Add UnitCell to UnitCellCoord.

Definition at line 203 of file UnitCellCoord.hh.

UnitCellCoord CASM::operator+ ( UnitCellCoord  site,
UnitCell  frac 
)
inline

Add UnitCell to UnitCellCoord.

Definition at line 208 of file UnitCellCoord.hh.

Site CASM::operator+ ( const Site &  LHS,
const Coordinate &  RHS 
)

Definition at line 526 of file Site.cc.

Site CASM::operator+ ( const Coordinate &  LHS,
const Site &  RHS 
)

Definition at line 532 of file Site.cc.

template<typename CoordType >
GenericCluster< CoordType > CASM::operator+ ( const GenericCluster< CoordType > &  LHS,
const Coordinate &  RHS 
)

create translated cluster

Definition at line 875 of file Cluster_impl.hh.

Structure CASM::operator+ ( const Coordinate &  LHS,
const Structure &  RHS 
)
Structure CASM::operator+ ( const Structure &  LHS,
const Coordinate &  RHS 
)
Structure CASM::operator+ ( const Structure &  LHS,
const Structure &  RHS 
)
Structure CASM::operator+ ( const Structure &  LHS,
const Lattice &  RHS 
)
Structure CASM::operator+ ( const Lattice &  LHS,
const Structure &  RHS 
)
UnitCellCoord CASM::operator- ( UnitCellCoord  site,
UnitCell  frac 
)
inline

Subtract UnitCell from UnitCellCoord.

Definition at line 213 of file UnitCellCoord.hh.

template<typename CoordType >
GenericCluster< CoordType > CASM::operator- ( const GenericCluster< CoordType > &  LHS,
const Coordinate &  RHS 
)

create translated cluster

Definition at line 882 of file Cluster_impl.hh.

bool CASM::operator< ( SymGroupRepID const &  a,
SymGroupRepID const &  b 
)
inline

Less-than comparison for use in STL containers (std::set, std::map, etc)

Definition at line 97 of file SymGroupRepID.hh.

bool CASM::operator< ( const UnitCellCoord &  A,
const UnitCellCoord &  B 
)
inline

Compare UnitCellCoord.

Definition at line 218 of file UnitCellCoord.hh.

std::ostream & CASM::operator<< ( std::ostream &  _stream,
const FormatFlag &  flag 
)

Definition at line 9 of file FormatFlag.cc.

std::ostream& CASM::operator<< ( std::ostream &  sout,
const UnitCellCoord &  site 
)
inline

Definition at line 89 of file UnitCellCoord.hh.

std::ostream& CASM::operator<< ( std::ostream &  out,
SymGroupRepID const &  _id 
)
inline

Definition at line 115 of file SymGroupRepID.hh.

std::ostream & CASM::operator<< ( std::ostream &  out,
const Permutation &  perm 
)

Definition at line 165 of file Permutation.cc.

std::ostream & CASM::operator<< ( std::ostream &  sout,
const GrandCanonicalConditions &  cond 
)

Definition at line 171 of file GrandCanonicalConditions.cc.

std::ostream & CASM::operator<< ( std::ostream &  stream,
const Site &  site 
)

Definition at line 417 of file Site.cc.

template<typename T >
Log& CASM::operator<< ( Log &  log,
const T &  msg_details 
)

Definition at line 191 of file Log.hh.

Log & CASM::operator<< ( Log &  log,
std::ostream &(*)(std::ostream &)  fptr 
)

Definition at line 115 of file Log.cc.

template<typename CounterType >
std::ostream& CASM::operator<< ( std::ostream &  stream,
const MultiCounter< CounterType > &  counter 
)

Definition at line 214 of file MultiCounter.hh.

template<typename ClustType >
std::ostream & CASM::operator<< ( std::ostream &  stream,
const GenericOrbitree< ClustType > &  orbitree 
)

Allows for printing using the << operator.

Definition at line 1553 of file Orbitree_impl.hh.

DataStream& CASM::operator<< ( DataStream &  _stream,
int  i 
)
inline

Definition at line 345 of file DataStream.hh.

DataStream& CASM::operator<< ( DataStream &  _stream,
float  f 
)
inline

Definition at line 350 of file DataStream.hh.

DataStream& CASM::operator<< ( DataStream &  _stream,
unsigned int  i 
)
inline

Definition at line 355 of file DataStream.hh.

DataStream& CASM::operator<< ( DataStream &  _stream,
unsigned long  i 
)
inline

Definition at line 360 of file DataStream.hh.

template<class T >
DataStream& CASM::operator<< ( DataStream &  _stream,
const std::vector< T > &  vec 
)
inline

Definition at line 366 of file DataStream.hh.

std::ostream& CASM::operator<< ( std::ostream &  stream,
const Coordinate &  coord 
)

Definition at line 441 of file Coordinate.cc.

std::ostream& CASM::operator<< ( std::ostream &  _stream,
const FormattedPrintable &  _formatted 
)
inline

Definition at line 728 of file DataFormatter.hh.

DataStream& CASM::operator<< ( DataStream &  _stream,
const FormattedPrintable &  _formatted 
)
inline

Definition at line 734 of file DataFormatter.hh.

template<typename CoordType >
std::ostream& CASM::operator<< ( std::ostream &  stream,
const GenericCluster< CoordType > &  cluster 
)

Allows for printing using the << operator.

Definition at line 861 of file Cluster_impl.hh.

bool CASM::operator<= ( const UnitCellCoord &  A,
const UnitCellCoord &  B 
)
inline

Compare UnitCellCoord.

Definition at line 240 of file UnitCellCoord.hh.

bool CASM::operator== ( SymGroupRepID const &  a,
SymGroupRepID const &  b 
)
inline

Compares true if group_index() and rep_index() are equal.

Definition at line 85 of file SymGroupRepID.hh.

bool CASM::operator== ( const UnitCellCoord &  A,
const UnitCellCoord &  B 
)
inline

Compare UnitCellCoord.

Definition at line 249 of file UnitCellCoord.hh.

bool CASM::operator== ( const jsonParser &  json,
const MonteSettings &  settings 
)
inline

Definition at line 205 of file MonteSettings.hh.

bool CASM::operator> ( const UnitCellCoord &  A,
const UnitCellCoord &  B 
)
inline

Compare UnitCellCoord.

Definition at line 235 of file UnitCellCoord.hh.

bool CASM::operator>= ( const UnitCellCoord &  A,
const UnitCellCoord &  B 
)
inline

Compare UnitCellCoord.

Definition at line 245 of file UnitCellCoord.hh.

template<class T >
std::istream& CASM::operator>> ( std::istream &  _in,
std::vector< T > &  vec 
)

Definition at line 40 of file CASM_global_definitions.hh.

std::istream & CASM::operator>> ( std::istream &  sin,
COORD_TYPE &  coord 
)

Definition at line 9 of file CASM_global_definitions.cc.

void CASM::opt_test ( )

Definition at line 52 of file complete_tests.cpp.

void CASM::opt_test2 ( )

Definition at line 79 of file complete_tests.cpp.

template<typename OutputIterator , typename TreeType , typename StrucType >
OutputIterator CASM::orbit_neighborhood ( OutputIterator  result,
const TreeType &  tree,
const StrucType &  struc,
Index  nb,
Index  no,
double  tol 
)

Iterate over all sites in an orbit and insert a UnitCellCoord.

Parameters
resultan OutputIterator for UnitCellCoord
treethe Orbitree to iterate over
structhe structure that UnitCellCoord are referenced to
toltolerance for mapping Coordinate to UnitCellCoord
Returns
the resulting OutputIterator

This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It can be used to create a set of UnitCellCoord for input to expand a PrimNeighborList.

Definition at line 279 of file Orbitree.hh.

Eigen::MatrixXd CASM::pad ( const Eigen::MatrixXd &  M,
int  n 
)
inline

Construct a matrix consisting of blocks M and Identity(n,n)

M -> [ M 0 ]
[ 0 I ]

Definition at line 88 of file PCA.hh.

template<typename Derived >
ReturnArray<Index> CASM::partition_distinct_values ( const Eigen::MatrixBase< Derived > &  value,
double  tol = TOL 
)

Definition at line 361 of file CASM_math.hh.

SymGroupRep CASM::permuted_direct_sum_rep ( const SymGroupRep &  permute_rep,
const Array< SymGroupRep const * > &  sum_reps 
)

Definition at line 1414 of file SymGroupRep.cc.

void CASM::po_test ( )

Definition at line 106 of file complete_tests.cpp.

void CASM::print_details ( const CommandArgs &  args,
const PrimClex &  primclex 
)

Definition at line 359 of file status.cc.

void CASM::print_monte_desc ( std::ostream &  sout,
const po::options_description &  desc 
)

Definition at line 21 of file monte.cc.

void CASM::print_monte_help ( std::ostream &  sout,
const po::options_description &  desc 
)

Definition at line 16 of file monte.cc.

void CASM::print_splash ( std::ostream &  out)

Definition at line 24 of file CASM_global_definitions.cc.

void CASM::property_test ( )

Definition at line 200 of file complete_tests.cpp.

void CASM::query_help ( const DataFormatterDictionary< Configuration > &  _dict,
std::ostream &  _stream,
std::vector< std::string >  help_opt_vec 
)

Definition at line 10 of file query.cc.

double CASM::ran0 ( int &  idum)

Definition at line 12 of file CASM_math.cc.

ECIContainer CASM::read_eci ( const fs::path &  filepath)

Read eci.json file from specified path.

Format:

{
"site_functions":[
{
"asym_unit": X,
"sublat_indices: [2, 3],
"phi_b_0": {"Va":0.0, "O":1.0},
"phi_b_1": {"Va":0.0, "O":1.0},
...
},
...
],
"cluster_functions":[
{
"eci": X.XXXXX,
"prototype_function": "\phi_b_i(s_j)...",
"orbit": [branch_index, orbit_index],
"linear_function_index": I,
"mult": X,
"prototype": [
[b, i, j, k],
...
]
},
...
]
}

Definition at line 115 of file ECIContainer.cc.

ECIContainer CASM::read_eci_out ( const fs::path &  filepath)

Read eci.out file from specified path (deprecated)

I'm sure the format of eci.out is going to do nothing but change, so keep an eye on this one. The current format is:

Num clusters
Num structures
rms value
WCV structures
WCV score
some other rms value
#Header for ECI (we use these) ECI/mult (ignore) Cluster number (this is the index)
value value value
value value value
.
.
.
value value value

Definition at line 48 of file ECIContainer.cc.

Array<UnitCellCoord> CASM::read_prim_nlist ( const fs::path &  nlistpath)

Definition at line 425 of file AppIO.cc.

std::string CASM::recast ( ARG_TYPE  atype)

Definition at line 12 of file complete_tests.cpp.

void CASM::recurs_rm_files ( fs::path  p,
bool  dry_run,
Log &  log 
)

Remove files recursively.

Definition at line 7 of file DirectoryStructure.cc.

void CASM::references_unset ( const CommandArgs &  args)

Definition at line 190 of file status.cc.

fs::path CASM::relative_casmroot ( const fs::path &  cwd)
inline

return relative path to current or parent directory containing ".casm" directory if none found, return empty path

Definition at line 39 of file DirectoryStructure.hh.

void CASM::reset_properties ( ConfigDoF &  _dof)
inline

Definition at line 202 of file ConfigDoF.hh.

int CASM::round ( double  val)

Definition at line 6 of file CASM_math.cc.

template<typename Derived >
Eigen::Matrix<int, Derived::RowsAtCompileTime, Derived::ColsAtCompileTime> CASM::scale_to_int ( const Eigen::MatrixBase< Derived > &  val,
double  _tol = TOL 
)

Take a vector of doubles, and multiply by some factor that turns it into a vector of integers (within a tolerance)

Definition at line 416 of file CASM_math.hh.

void CASM::select_help ( const DataFormatterDictionary< Configuration > &  _dict,
std::ostream &  _stream,
std::vector< std::string >  help_opt 
)

Definition at line 92 of file select.cc.

void CASM::set_nlist_ind ( const Structure &  prim,
SiteOrbitree &  tree,
const PrimNeighborList &  nlist,
double  xtal_tol 
)

Definition at line 1143 of file PrimClex.cc.

template<typename ConfigIterType >
void CASM::set_selection ( const DataFormatterDictionary< Configuration > &  dict,
ConfigIterType  begin,
ConfigIterType  end,
const std::string &  criteria,
bool  mk,
Log &  err_log 
)

Definition at line 11 of file select.cc.

template<typename ConfigIterType >
void CASM::set_selection ( const DataFormatterDictionary< Configuration > &  dict,
ConfigIterType  begin,
ConfigIterType  end,
const std::string &  criteria,
Log &  err_log 
)

Definition at line 45 of file select.cc.

template<typename T , typename std::enable_if< std::is_integral< T >::value, T >::type * = nullptr>
int CASM::sgn ( val)

Definition at line 125 of file CASM_math.hh.

SimpleJSonSiteStructure<true> CASM::simple_json ( const BasicStructure< Site > &  struc,
const std::string &  prefix 
)
inline

Definition at line 110 of file jsonStruc.hh.

SimpleJSonSiteStructure<false> CASM::simple_json ( BasicStructure< Site > &  struc,
const std::string &  prefix 
)
inline

Definition at line 115 of file jsonStruc.hh.

void CASM::single_dimension_test ( )

Definition at line 88 of file Niggli_test.cpp.

Eigen::VectorXd CASM::spatial_unroll ( const Eigen::Matrix3d &  lat_mat,
double  compare_tol 
)

Generate a vector whose lexicographical value determines how well it's oriented in space.

Generates a vector of values from a Lattice column matrix, whose lexicographical value determines how standard it's orientation is.

First entry is the number of non-negative entries in the matrix. Next entries are the diagonal values. Next entries are the negative of the absolute value of the off diagonal entries. Finally, the signs of the off diagonal entries.

Maximizing the lexicographical value will favor matrices that are diagonal if possible, followed by a preference for upper triangular matrices. Off diagonal entries are minimized.

Definition at line 319 of file Niggli.cc.

void CASM::split_formatter_expression ( const std::string &  input_expr,
std::vector< std::string > &  tag_names,
std::vector< std::string > &  sub_exprs 
)

Definition at line 22 of file DataFormatter.cc.

template<typename OutputIterator >
OutputIterator CASM::standard_composition_axes ( const Structure &  prim,
OutputIterator  result 
)

Generate CompositionConverter specifying standard composition axes for a prim Structure.

Definition at line 234 of file CompositionConverter.hh.

bool CASM::standard_orientation_compare ( const Eigen::Matrix3d &  low_score_lat_mat,
const Eigen::Matrix3d &  high_score_lat_mat,
double  compare_tol 
)

Determine whether high_score has a more standard format than low_score.

Compares two lattice column matrices to each other and determines which one has a more standard orientation based on whether said matrices are (bi)symmetric and how aligned the vectors are along the Cartesian directions.

A bisymmetric matrix will always have better standard orientation than one that is simply symmetric. In turn, a symmetric matrix will always have a better standard orientation than on that is not. The criteria with lowest impact is the orientation of the lattice vectors in space, as defined in standard_orientation_spatial_compare

The routine returns "low_score_mat<high_score_mat", which is true if high_score_mat has a more standard orientation.

Definition at line 391 of file Niggli.cc.

void CASM::standard_orientation_compare_test ( )

Definition at line 193 of file Niggli_test.cpp.

bool CASM::standard_orientation_spatial_compare ( const Eigen::Matrix3d &  low_score_lat_mat,
Eigen::Matrix3d &  high_score_lat_mat,
double  compare_tol 
)

Compare the spatial orientation (ignoring matrix symmetry) and determine which one is oriented more standard. True if high is more standard.

bool CASM::standard_orientation_spatial_compare ( const Eigen::Matrix3d &  low_score_lat_mat,
const Eigen::Matrix3d &  high_score_lat_mat,
double  compare_tol 
)

Given two lattice column matrices, determine which one of them is oriented in a more standard manner in space relative to the Cartesian coordinates.

The routine returns "low_score_lat_mat<high_score_lat_mat", which is true if high_score_lat_mat has a more standard spatial orientation.

Definition at line 370 of file Niggli.cc.

void CASM::status_unitialized ( const CommandArgs &  args)

Definition at line 10 of file status.cc.

void CASM::subopt_test ( )

Definition at line 43 of file complete_tests.cpp.

SymGroupRep CASM::subset_permutation_rep ( const SymGroupRep &  permute_rep,
const Array< Index >::X2 &  subsets 
)

Definition at line 1369 of file SymGroupRep.cc.

void CASM::supercells_ungenerated ( const CommandArgs &  args)

Definition at line 94 of file status.cc.

template Lattice CASM::superdupercell< vec_lat_it, array_symop_cit > ( vec_lat_it  ,
vec_lat_it  ,
array_symop_cit  ,
array_symop_cit   
)
template<typename ConfigType , typename PrimClexType >
void CASM::swap ( ConfigIterator< ConfigType, PrimClexType > &  a,
ConfigIterator< ConfigType, PrimClexType > &  b 
)

Definition at line 195 of file ConfigIterator.hh.

template<typename IteratorType >
void CASM::swap ( FilteredConfigIterator< IteratorType > &  a,
FilteredConfigIterator< IteratorType > &  b 
)

Definitions.

Definition at line 106 of file FilteredConfigIterator.hh.

void CASM::swap ( ConfigDoF &  A,
ConfigDoF &  B 
)

Definition at line 195 of file ConfigDoF.cc.

void CASM::swap ( PermuteIterator &  a,
PermuteIterator &  b 
)

Definition at line 192 of file PermuteIterator.cc.

void CASM::symmetric_testing ( )

Definition at line 66 of file Niggli_test.cpp.

jsonParser & CASM::to_json ( const COORD_TYPE &  value,
jsonParser &  json 
)

Puts COORD_TYPE value (as string)

Definition at line 33 of file global.cc.

jsonParser & CASM::to_json ( const PERIODICITY_TYPE &  value,
jsonParser &  json 
)

Puts PERIODICITY_TYPE value (as string)

Definition at line 67 of file global.cc.

jsonParser & CASM::to_json ( const CELL_TYPE &  value,
jsonParser &  json 
)

Puts CELL_TYPE value (as string)

Definition at line 98 of file global.cc.

jsonParser & CASM::to_json ( const GenericOrbitBranch< SiteCluster > &  branch,
jsonParser &  json 
)

Definition at line 12 of file ClusterFunctions.cc.

jsonParser & CASM::to_json ( const GenericOrbit< SiteCluster > &  orbit,
jsonParser &  json 
)

Definition at line 21 of file ClusterFunctions.cc.

jsonParser & CASM::to_json ( const GrandCanonicalConditions &  conditions,
jsonParser &  json 
)

Store GrandCanonicalConditions in JSON format.

{
"temperature" : number,
"tol: number,
"param_chem_pot" : {"a": number, "b": number, ...}
}

Definition at line 230 of file GrandCanonicalIO.cc.

jsonParser & CASM::to_json ( const SymMatrixXd &  sym,
jsonParser &  json 
)

Definition at line 41 of file SymMatrixXd.cc.

jsonParser & CASM::to_json ( const ConstSiteClusterJsonHelper &  clust_helper,
jsonParser &  json 
)

Definition at line 19 of file jsonClust.cc.

jsonParser & CASM::to_json ( const ConstSiteOrbitJsonHelper &  orbit_helper,
jsonParser &  json 
)

Lean printing of Orbits (only the prototype gets printed; full orbit can later be reconstructed using struc.factor_group();.

Definition at line 34 of file jsonClust.cc.

jsonParser & CASM::to_json ( const ConstSiteOrbitBranchJsonHelper &  branch_helper,
jsonParser &  json 
)

Definition at line 72 of file jsonClust.cc.

jsonParser & CASM::to_json ( const ConstSiteOrbitreeJsonHelper &  tree_helper,
jsonParser &  json 
)

Definition at line 107 of file jsonClust.cc.

jsonParser & CASM::to_json ( const SymPermutation &  sym,
jsonParser &  json 
)

Definition at line 71 of file SymPermutation.cc.

jsonParser & CASM::to_json ( const SiteCluster &  clust,
jsonParser &  json 
)

Definition at line 416 of file SiteCluster.cc.

jsonParser & CASM::to_json ( const DoF *  dof,
jsonParser &  json 
)

creates jsonParser using polymorphism

Definition at line 110 of file DoF.cc.

jsonParser& CASM::to_json ( SymGroupRepID const &  _id,
jsonParser &  json 
)
inline

Definition at line 103 of file SymGroupRepID.hh.

template<bool IsConst>
jsonParser& CASM::to_json ( const SimpleJSonSiteStructure< IsConst > &  jstruc,
jsonParser &  json 
)

Definition at line 105 of file jsonStruc.hh.

jsonParser & CASM::to_json ( const Permutation &  value,
jsonParser &  json 
)

Definition at line 172 of file Permutation.cc.

jsonParser & CASM::to_json ( const UnitCellCoord &  ucc_val,
jsonParser &  fill_json 
)
inline

Print to json as [b, i, j, k].

Definition at line 263 of file UnitCellCoord.hh.

jsonParser & CASM::to_json ( const Site &  value,
jsonParser &  json 
)

Definition at line 487 of file Site.cc.

jsonParser & CASM::to_json ( const PermuteIterator &  clust,
jsonParser &  json 
)

Definition at line 200 of file PermuteIterator.cc.

jsonParser & CASM::to_json ( const SymOpRepresentation *  rep,
jsonParser &  json 
)

creates jsonParser using polymorphism

Definition at line 92 of file SymOpRepresentation.cc.

jsonParser & CASM::to_json ( const OccupantFunction &  func,
jsonParser &  json 
)

Definition at line 349 of file OccupantFunction.cc.

jsonParser & CASM::to_json ( const Variable &  var,
jsonParser &  json 
)

Definition at line 450 of file Variable.cc.

jsonParser & CASM::to_json ( const CompositionConverter &  f,
jsonParser &  json 
)

Serialize CompositionConverter to JSON.

Definition at line 586 of file CompositionConverter.cc.

jsonParser & CASM::to_json ( const ConfigDoF &  value,
jsonParser &  json 
)

Definition at line 161 of file ConfigDoF.cc.

jsonParser & CASM::to_json ( const SymGroupRep &  rep,
jsonParser &  json 
)

Definition at line 1519 of file SymGroupRep.cc.

jsonParser & CASM::to_json ( const Structure &  structure,
jsonParser &  json 
)

Definition at line 1265 of file Structure.cc.

jsonParser & CASM::to_json ( const Function *  func,
jsonParser &  json 
)

Definition at line 385 of file BasisFunction.cc.

jsonParser & CASM::to_json ( const BasisSet &  bset,
jsonParser &  json 
)

Definition at line 1141 of file BasisSet.cc.

template<typename T >
jsonParser& CASM::to_json ( const GenericCluster< T > &  clust,
jsonParser &  json 
)

Definition at line 304 of file Cluster.hh.

jsonParser & CASM::to_json ( const OccupantDoF< int > &  dof,
jsonParser &  json 
)

overload for each template type to be used

Definition at line 25 of file DoF.cc.

jsonParser & CASM::to_json ( const OccupantDoF< Molecule > &  dof,
jsonParser &  json 
)

Definition at line 56 of file DoF.cc.

jsonParser & CASM::to_json ( const ContinuousDoF &  dof,
jsonParser &  json 
)

Definition at line 92 of file DoF.cc.

jsonParser& CASM::to_json ( const FormattedPrintable &  _obj,
jsonParser &  json 
)
inline

Definition at line 723 of file DataFormatter.hh.

jsonParser& CASM::to_json ( const MasterSymGroup &  sym,
jsonParser &  json 
)

Definition at line 4630 of file SymGroup.cc.

int CASM::update_eci_format ( fs::path  root,
const CommandArgs &  args 
)

Definition at line 291 of file status.cc.

int CASM::update_format ( fs::path  root,
const CommandArgs &  args 
)

Definition at line 339 of file status.cc.

bool CASM::valid_index ( Index  i)

Definition at line 5 of file CASM_global_definitions.cc.

const std::string & CASM::version ( )

Definition at line 14 of file autoversion.cc.

Index CASM::which_unique_combination ( const Array< Index > &  input,
const Array< Index >::X2 &  unique,
const Array< Index >::X2 &  ind_equiv 
)
Index CASM::which_unique_combination ( const Array< Index > &  input,
const Array< Index >::X2 &  unique 
)
Index CASM::which_unique_combination ( const Array< Index > &  input,
const Array< Array< Index > > &  unique,
const Array< Array< Index > > &  ind_equiv 
)

Definition at line 346 of file CASM_math.cc.

Index CASM::which_unique_combination ( const Array< Index > &  input,
const Array< Array< Index > > &  unique 
)

Definition at line 376 of file CASM_math.cc.

template<typename MonteType >
void CASM::write_conditions_json ( const MonteSettings &  settings,
const MonteType &  mc,
Index  cond_index,
Log &  _log 
)

Write conditions to conditions.cond_index directory.

Definition at line 290 of file MonteIO_impl.hh.

void CASM::write_lte_results ( const MonteSettings &  settings,
const GrandCanonical &  mc,
const double &  phi_LTE1,
const std::string &  configname,
Log &  _log 
)

Will create new file or append to existing results file the results of the latest run.

Definition at line 278 of file GrandCanonicalIO.cc.

template<bool IsConst>
void CASM::write_master_selection_stats ( Index  Ntot,
const ConfigSelection< IsConst > &  config_select,
Log &  log 
)

Definition at line 156 of file select.cc.

void CASM::write_observations ( const MonteSettings &  settings,
const MonteCarlo &  mc,
Index  cond_index,
Log &  _log 
)

Will create (and possibly overwrite) new file with all observations from run with conditions.cond_index.

Definition at line 213 of file MonteIO.cc.

void CASM::write_POSCAR_final ( const MonteCarlo &  mc,
Index  cond_index,
Log &  _log 
)

For the final state, write a POSCAR file.

The current naming convention is 'POSCAR.final'

Definition at line 399 of file MonteIO.cc.

void CASM::write_POSCAR_initial ( const MonteCarlo &  mc,
Index  cond_index,
Log &  _log 
)

For the initial state, write a POSCAR file.

The current naming convention is 'POSCAR.initial'

Definition at line 372 of file MonteIO.cc.

void CASM::write_POSCAR_trajectory ( const MonteCarlo &  mc,
Index  cond_index,
Log &  _log 
)

For every snapshot taken, write a POSCAR file.

The current naming convention is 'POSCAR.sample' POSCAR title comment is printed with "Sample: # Pass: # Step: #"

Definition at line 427 of file MonteIO.cc.

void CASM::write_prim_nlist ( const Array< UnitCellCoord > &  prim_nlist,
const fs::path &  nlistpath 
)

Definition at line 413 of file AppIO.cc.

template<typename MonteType >
void CASM::write_results ( const MonteSettings &  settings,
const MonteType &  mc,
Log &  _log 
)

Will create new file or append to existing file results of the latest run.

Will create new file or append to existing results file the results of the latest run.

Definition at line 238 of file MonteIO_impl.hh.

template<bool IsConst>
bool CASM::write_selection ( const DataFormatterDictionary< Configuration > &  dict,
const ConfigSelection< IsConst > &  config_select,
bool  force,
const fs::path &  out_path,
bool  write_json,
bool  only_selected,
Log &  err_log 
)

Definition at line 69 of file select.cc.

template<bool IsConst>
void CASM::write_selection_stats ( Index  Ntot,
const ConfigSelection< IsConst > &  config_select,
Log &  log,
bool  only_selected 
)

Definition at line 145 of file select.cc.

void CASM::write_trajectory ( const MonteSettings &  settings,
const MonteCarlo &  mc,
Index  cond_index,
Log &  _log 
)

Will create (and possibly overwrite) new file with all observations from run with conditions.cond_index.

  • Also writes "occupation_key" file giving occupant index -> species for each prim basis site

For csv:

site_index occ_index_0 occ_index_1 ...
0 Ni Al
1 Ni -
...

For JSON:

[["A", "B"],["A" "C"], ... ]

Definition at line 269 of file MonteIO.cc.

void CASM::ZrO_supercell_enum_test ( )

Definition at line 120 of file Niggli_test.cpp.

void CASM::ZrO_supercell_enum_test2 ( )

Definition at line 152 of file Niggli_test.cpp.

Variable Documentation

const double CASM::KB = 8.6173423E-05

Definition at line 34 of file CASM_global_definitions.hh.

const double CASM::PLANCK = 4.135667516E-15

Definition at line 37 of file CASM_global_definitions.hh.

const double CASM::TOL = 0.00001

Definition at line 31 of file CASM_global_definitions.hh.