CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
Main CASM namespace.
Cluster expansion class.
Classes | |
class | APICommandBase |
class | APICommand |
class | BsetCommand |
'casm enum' implementation More... | |
struct | CommandArgs |
Data structure holding basic CASM command info. More... | |
class | InterfaceBase |
Base class for generic use of algorithms through the API. More... | |
struct | ClexDescription |
Specifies a particular cluster expansion. More... | |
class | CLIParse |
struct | QueryTraits |
class | DirectoryStructure |
Specification of CASM project directory structure. More... | |
struct | ConfigEnumData |
struct | ConfigEnumOptions |
Options for the enumerate_configurations function. More... | |
struct | EnumerateSupercellsOptions |
Options for the enumerate_supercells function. More... | |
class | EnumInterfaceBase |
class | InputParser |
class | ConfigEnumAllOccupationsInterface |
Interface for ConfigEnumAllOccupations. More... | |
class | ConfigEnumRandomLocalInterface |
Interface for ConfigEnumRandomLocal. More... | |
class | ConfigEnumRandomOccupationsInterface |
Interface for ConfigEnumRandomOccupations. More... | |
class | ConfigEnumSiteDoFsInterface |
Interface for ConfigEnumSiteDoFs. More... | |
class | ConfigEnumStrainInterface |
Interface for ConfigEnumStrain. More... | |
class | ScelEnumInterface |
Interface for ScelEnum. More... | |
class | SuperConfigEnumInterface |
Interface for SuperConfigEnum. More... | |
class | EnumCommand |
class | EnumeratorHandler |
class | runtime_error |
class | FileEnumerator |
Lists all files in a CASM project, for use with 'casm files' command. More... | |
class | ParsingDictionary |
Parsing dictionary for obtaining the correct MoleculeAttribute given a name. More... | |
class | HamiltonianModules |
class | ImportCommandImpl |
class | ImportCommand |
class | InfoInterfaceBase |
class | NeighborListInfoInterface |
Interface for neighbor list info. More... | |
class | PrimInfoInterface |
Interface for prim info. More... | |
class | SupercellInfoInterface |
Interface for supercell info. More... | |
class | InfoCommand |
class | QueryHandler |
class | ProjectSettings |
struct | jsonConstructor |
Helper struct for constructing objects that need additional data. More... | |
struct | jsonConstructor< ProjectSettings > |
struct | QueryData |
class | QueryCommandImpl |
class | QueryCommand |
class | RmCommandImpl |
class | RmCommand |
class | SelectCommandImpl |
class | SelectCommand |
class | SymCommand |
class | UpdateCommandImpl |
class | UpdateCommand |
class | SparseTensor |
class | Function |
class | InnerProduct |
class | FunctionOperation |
class | DoFSpecs |
struct | BasisFunctionSpecs |
Specify how to construct basis functions. More... | |
class | BasisSet |
class | OccupantDoF |
class | DiscreteDoF |
class | ContinuousDoF |
class | DoFIsEquivalent |
Class for checking equivalence of two DoFSet objects, with respect to symmetry transformations. More... | |
class | OccupantDoFIsEquivalent |
Class for checking equivalence of two OccupantDoF objects, with respect to symmetry transformations. More... | |
struct | DoFSetInfo |
class | DoFSet |
class | Array |
Basic std::vector like container (deprecated) More... | |
class | FunctionVisitor |
class | OccFuncLabeler |
class | OccFuncBasisIndexer |
class | OccFuncEvaluator |
Evaluates. More... | |
class | VariableLabeler |
class | SubExpressionLabeler |
class | OccupantFunction |
class | OccOccOperation |
class | PolynomialFunction |
class | BasicPolyPolyScalarProd |
class | PolyPolyOperation |
class | PolyVarOperation |
class | PolyOccOperation |
class | Variable |
class | BasicVarVarScalarProd |
class | VarVarOperation |
class | DataFormatter |
Extract data from objects of 'DataObject' class. More... | |
class | BaseDatumFormatter |
Abstract base class from which all other DatumFormatter<DataObject> classes inherit. More... | |
class | FormattedPrintable |
Abstract base class to enable generic formatting. More... | |
struct | DictionaryConverter |
class | DataFormatterDictionary |
Parsing dictionary for constructing a DataFormatter<DataObject> object. More... | |
class | DataFormatterOperator |
DataFormatters that operate on the results of other DataFormatters. More... | |
class | DatumFormatterAlias |
Implements a DatumFormatter that is an alias for a combination of others. More... | |
class | ConstantValueFormatter |
Prints a string value specified at construction. A header string can also be passed. More... | |
class | BaseValueFormatter |
Base class for creating scalar DatumFormatter. More... | |
class | GenericDatumFormatter |
A DatumFormatter that returns a value of specified type, via functions that may be specified at runtime. More... | |
class | Base1DDatumFormatter |
Abstract base class for creating 1D DatumFormatter. More... | |
class | Generic1DDatumFormatter |
A DatumFormatter that returns a 1D value of specified type, via functions that may be specified at runtime. More... | |
class | Base2DDatumFormatter |
A DatumFormatter that returns a value of specified 2d container. More... | |
class | Generic2DDatumFormatter |
A DatumFormatter that returns a 2D value of specified type, via functions that may be specified at runtime. More... | |
struct | DataFormatterFilter |
class | DataStream |
class | CountDataStream |
class | ValueDataStream |
class | VectorDataStream |
class | DatumFormatterAdapter |
class | MatrixXdDataStream |
class | LabeledMatrixXdDataStream |
struct | FormattedDataFileOptions |
class | FormattedDataFile |
struct | traits |
class | FileData |
Interface class to check and/or store path and last_write_time of file on disk. Used to determine if files have been updated or deleted. More... | |
class | FormatFlag |
struct | KwargsParser |
class | ParentInputParser |
class | jsonFile |
Slightly more compact construction of jsonParser from file. More... | |
class | jsonParserIterator |
class | jsonParser |
struct | jsonMake |
Helper struct for constructing objects that need additional data. More... | |
struct | jsonConstructor< std::optional< T > > |
Helper struct for constructing std::optional<T> objects. More... | |
struct | LogText |
struct | LogParagraph |
struct | LogVerbatim |
class | Log |
class | FixedLog |
A Log whose underlying ostream* cannot be reset. More... | |
class | OStringStreamLog |
class | ScopedLogging |
class | ScopedNullLogging |
class | ScopedStringStreamLogging |
class | SafeOfstream |
Write to a temporary file to ensure a good write, then rename. More... | |
class | BasicClexParamKey |
class | BasicClexParamPack |
Abstract base class for reading/writing clexulator parameters Parameters are assume be naturally representable as 1D or 2D arrays. More... | |
struct | ValAccess< double > |
struct | traits< BasicClexParamPack::EvalMode > |
class | Calculable |
struct | ChemicalReferenceState |
Stores the composition and energy in a single reference state. More... | |
class | ChemicalReference |
struct | ChemicalReferencePrinter |
BasicStructure to help print ChemicalReference. More... | |
struct | Clex |
Pair of Clexulator and ECIContainer. More... | |
class | ClexBasis |
struct | ClexBasisSpecs |
Provides parameters for constructing a cluster expansion basis (ClexBasis) More... | |
class | ClexBasisWriter |
struct | ValAccess |
class | ParamPackMixIn |
ParamPackMixIn is interface class to control ClexParamPack portion of Clexulator printing Used primarily by ClexBasisWriter. More... | |
class | ClexParamKey |
Key for indexing clexulator parameters Contains pointer to implementation of the Key. More... | |
class | ClexParamPack |
Abstract base class for reading/writing clexulator parameters Parameters are assumed to be stored as, or at least sliceable into, 2D or 1D arrays in order to standardize read/write interface via Eigen types Arrays are layed out along two dimensions to form (m x N) or (m x 1) matrices where 'N' is the number of sites in the neighborhood of a unit cell, and 'm' is the intrinsic dimension of a particular parameter. Macroscopic or homogeneous properties of the crystal, such as evaluated crystal basis functions or homogeneous strain, which are not associated with individual sites, are represented as a (m x 1) array. The length of the 'm' dimension of a parameter array is referred do as 'dim' and the length of the N' dimension is referred to as 'size'. More... | |
class | Clexulator |
Evaluates correlations. More... | |
struct | CompositionAxes |
class | CompositionConverter |
Convert between number of species per unit cell and parametric composition. More... | |
class | GenericConfigCompare |
Class for less than comparison of Configurations implemented via a ConfigTypeIsEqual class that also stores the less than result. More... | |
class | ConfigDoF |
class | ConfigDoFCompare |
Wrapper class for generic less than comparison of ConfigDoF. More... | |
class | ConfigDoFValues |
class | LocalDiscreteConfigDoFValues |
class | LocalContinuousConfigDoFValues |
class | GlobalContinuousConfigDoFValues |
class | ConfigEnumAllOccupations |
class | ConfigEnumByPermutation |
Enumerate all equivalent Configurations obtained by permuations in a Supercell. More... | |
struct | ConfigEnumRandomLocalParams |
Parameters controlling ConfigEnumRandomLocal. More... | |
class | ConfigEnumRandomLocal |
Enumerate random values for continuous degrees of freedom. More... | |
struct | ConfigEnumRandomOccupationsParams |
Parameters controlling ConfigEnumRandomOccupations. More... | |
class | ConfigEnumRandomOccupations |
Enumerate n random occupations in a particular Supercell. More... | |
struct | ConfigEnumSiteDoFsParams |
class | ConfigEnumSiteDoFs |
struct | ConfigEnumStrainParams |
class | ConfigEnumStrain |
class | Norm |
class | ConfigIsEquivalent |
Class for comparison of Configurations (with the same Supercell) More... | |
class | PrimStrucMapCalculator |
struct | ConfigMapperResult |
Data structure holding results of ConfigMapper algorithm. More... | |
class | ConfigMapper |
class | Configuration |
struct | ConfigInsertResult |
Holds results of Configuration::insert. More... | |
struct | RefToCanonicalPrim |
Operations that transform a canonical primitive configuration to any equivalent. More... | |
struct | traits< Configuration > |
class | DiffClexParamKey |
Abstract base class for all keys that interact with DiffClexParamPack DiffClexParamPack values are assumed to be 1D, 2D, or to be naturally accessed via 2D slices Standalone values are assumed to be 1D or 2D (for example, a 3xN displacement field) Derived values typically have more dimensions (for example, the derivative of the Mx1 correlation vector with respect to the displacement field has 3 indices, whild the second derivative wrt the displacement field has 5 indices). Derivatives are always asociated with the first independent standalone value in the key name. The key "diff/corr/disp_var" would be associated with "disp_var", which is a 3xN Matrix, and thus the resulting derived value (which is the first derifative of correlations with respect to displacements) will be sliced into 3xN slices. Each slice corresponds to a particular entry in the Mx1 correlation vector (i.e., slice 'j' is the gradient of correlation value j with respect to the entire set of displacement variables). The 'j' index that specifies the particular slice is called a 'secondary identifier', and it can be specified via ClexParamKey::set_identifiers(). More... | |
struct | DiffScalarContainer |
container struct for storing a standalone value as 2D arrays of both autodiff Scalars doubles More... | |
class | DiffClexParamPack |
Class for managing the set of all dependent and independent paramters used/generated by clexulator. More... | |
class | DiffClexParamValKey |
class | DiffClexParamGradKey |
class | DiffClexParamHessKey |
struct | traits< DiffClexParamPack::EvalMode > |
struct | ValAccess< typename DiffClexParamPack::DiffScalar > |
class | ECIContainer |
A sparse container of ECI values and their corresponding orbit indices. More... | |
class | FillSupercell |
class | FilteredConfigIterator |
class | CanonicalForm |
Implements canonical form finding when using SymCompare. More... | |
class | ConfigCanonicalForm |
Implements canonical form finding for Configuration and DiffTransConfiguration. More... | |
class | SupercellCanonicalForm |
class | HasPrimClex |
Implements PrimClex dependent functions. More... | |
class | HasSupercell |
Implements PrimClex dependent functions. More... | |
struct | jsonConstructor< HyperPlaneReference > |
struct | jsonConstructor< ChemicalReference > |
Read chemical reference from JSON. More... | |
struct | jsonMake< ConfigDoF > |
struct | jsonConstructor< ConfigDoF > |
struct | jsonConstructor< Configuration > |
struct | jsonMake< Configuration > |
struct | ProtoFuncsPrinter |
Print Orbit<SymCompareType> & ClexBasis, including prototypes and prototype basis functions. More... | |
class | ClexBasisFunctionPrinter |
struct | MappedProperties |
class | ScoreMappedProperties |
class | PrimNeighborList |
The PrimNeighborList gives the coordinates of UnitCell that are neighbors of the origin UnitCell. More... | |
class | SuperNeighborList |
class | NormPerUnitCell |
class | NormPerSpecies |
class | ClexBasisBuilder |
class | OrbitFunctionTraits |
virtual base class for printing orbit functions of type specified by implementation. More... | |
class | InvariantPolyBasisBuilder |
class | InvariantPolyOrbitFunctionTraits |
class | ParamComposition |
class | PrimClex |
PrimClex is the top-level data structure for a CASM project. More... | |
class | ConstantReference |
Maps all Configurations to the same value. More... | |
class | HyperPlaneReferenceBase |
Maps a Configuration to a scalar value via a hyperplane. More... | |
class | HyperPlaneReference |
Maps a Configuration to a scalar value via a hyperplane. More... | |
class | ScelEnumByProps |
class | ScelEnumEquivalents |
Enumerate equivalent Supercell. More... | |
class | ScelCanonicalGenerator |
Functor to find the canonical generating element for an orbit in a Supercell. More... | |
struct | ScelIsCanonical |
Functor to find to check if element is in canonical form. More... | |
class | ConfigIterator |
class | Supercell |
Represents a supercell of the primitive parent crystal structure. More... | |
struct | traits< Supercell > |
class | SuperConfigEnum |
Given a selection of Configurations, enumerate all tilings into some supercell. More... | |
class | ClusterInvariants |
Stores cluster invariants: number of sites and site distances. More... | |
class | WithinScelClusterInvariants |
Stores cluster invariants: number of sites and site distances (using robust_min_dist) More... | |
struct | OrbitGenerators |
Data structure that holds canonical generating elements and can then make sorted orbits. More... | |
struct | IntegralClusterOrbitGenerator |
class | OrbitBranchSpecs |
Store data used to generate an orbit branch of IntegralCluster. More... | |
class | ClusterSpecs |
class | PeriodicMaxLengthClusterSpecs |
class | LocalMaxLengthClusterSpecs |
Parameters most commonly used for local orbit generation. More... | |
class | GenericPeriodicClusterSpecs |
class | GenericLocalClusterSpecs |
class | ClusterSymCompare |
CRTP Base class for common cluster symmetry and comparison implementations. More... | |
class | AperiodicSymCompare< Element > |
Comparisons of clusters using aperiodic symmetry. More... | |
class | PrimPeriodicSymCompare< Element > |
Comparisons of clusters using prim periodic symmetry. More... | |
class | ScelPeriodicSymCompare< Element > |
Comparisons of clusters using supercell periodic symmetry, but without periodic images. More... | |
class | AperiodicSymCompare |
Template class to be specialized for comparisons with aperiodic symmetry. More... | |
class | PrimPeriodicSymCompare |
Template class to be specialized for comparisons with periodic symmetry of the primitive lattice. More... | |
class | ScelPeriodicSymCompare |
Template class to be specialized for comparisons with periodic symmetry of the supercell lattice. More... | |
class | GenericCluster |
A CRTP base class for a cluster of anything. More... | |
struct | traits< IntegralCluster > |
traits, required for GenericCluster More... | |
class | IntegralCluster |
struct | IntegralClusterSymCompareTraits |
struct | traits< AperiodicSymCompare< IntegralCluster > > |
struct | traits< PrimPeriodicSymCompare< IntegralCluster > > |
struct | traits< ScelPeriodicSymCompare< IntegralCluster > > |
struct | jsonConstructor< IntegralCluster > |
struct | OrbitPrinterOptions |
struct | jsonConstructor< OrbitPrinterOptions > |
struct | PrinterBase |
struct | Printer |
struct | Printer< IntegralCluster > |
struct | OrbitPrinter |
struct | OrbitPrinter< _Element, ORBIT_PRINT_MODE::PROTO > |
Print Orbit<SymCompareType>, including only prototypes. More... | |
struct | OrbitPrinter< _Element, ORBIT_PRINT_MODE::FULL > |
Print Orbit<SymCompareType>, including all equivalents. More... | |
class | SubClusterGenerator |
Generates subclusters of a cluster with an iterator-like interface. More... | |
struct | ClusterSiteIndicesCompare |
Sort std::set<Index> by size, then value (lexicographical compare) More... | |
class | ReturnArray |
class | ArraySizeLessThan |
class | CounterValueIterator |
class | BaseCounter |
A Counter allows looping over many incrementing variables in one loop. More... | |
struct | ContainerTraits |
Specialize container traits Expects: More... | |
struct | ContainerTraits< std::vector< _value_type, Allocator > > |
struct | ContainerTraits< Eigen::Matrix< _value_type, a, b, c, d, e > > |
Eigen::MatrixXd container traits. More... | |
class | Counter |
A Counter allows looping over many incrementing variables in one loop. More... | |
struct | traits< Counter< _Container, _value_type, _size_type, _Access, _Compare > > |
class | IsoCounter |
A IsoCounter allows looping over many incrementing variables in one loop. More... | |
struct | traits< IsoCounter< _Container, _value_type, _size_type, _Access, _Compare > > |
class | MultiCounter |
class | CounterValueIterator< MultiCounter< SubCounterType > > |
struct | multivector |
Shortcut for multidimensional vector (std::vector< std::vector< ...) More... | |
class | Permutation |
class | PolyTrie |
class | PTNode |
class | PTLeaf |
class | PTIterator |
class | GramSchmidt |
class | DynamicMatrix |
class | ReturnTensor |
class | Tensor |
class | TensorBasis |
class | AnisoValTraits |
Specifies traits of (possibly) anisotropic crystal properties. More... | |
struct | jsonConstructor< xtal::AtomPosition > |
struct | jsonConstructor< xtal::Molecule > |
struct | jsonConstructor< xtal::Site > |
struct | jsonConstructor< xtal::SiteDoFSet > |
struct | jsonConstructor< xtal::DoFSet > |
class | SimpleJSonSiteStructure |
Used to construct a BasicStructure from a 'properties.calc.json' object. More... | |
struct | jsonConstructor< xtal::ScelEnumProps > |
Make a ScelEnumProps object from JSON input. More... | |
class | LatticeEnumEquivalents |
Enumerate equivalent Lattics, given a SymGroup. More... | |
class | Structure |
Structure specifies the lattice and atomic basis of a crystal. More... | |
class | SymRepBuilderInterface |
Abstract base class that provides interface for converting cartesian isometry to specialized transformation matrix Given a symmetry operation as a 3x3 orthogonal matrix acting on Cartesian space, a 3x1 Cartesian translation, and a time-reversal flag (true indicates +t goes to -t and false indicates +t goes to +t), returns a particular NxN matrix transformation whose dimension and value depends on the underlying implementation. More... | |
class | TemplateSymRepBuilderBase |
class | NullSymRepBuilder |
Un-cloneable class for specifying absence of valid SymRepBuilder. More... | |
class | CartesianSymRepBuilder |
Builds symmetry representation as the Cartesian matrix of povided SymOp. More... | |
class | KroneckerSymRepBuilder |
Builds symmetry representation as the Kronecker product of two other representations. More... | |
class | IdentitySymRepBuilder |
Builds symmetry representation as the 'dim' x 'dim' identity matrix, regardless of symop. More... | |
class | AngularMomentumSymRepBuilder |
Builds symmetry representation that is the angular momentum symmetry representation of provided symop. More... | |
class | TimeReversalSymRepBuilder |
Builds symmetry representation that is 'dim'x'dim' +Identity (-Identity) matrix if time_reversal is false (true) More... | |
class | Rank2TensorSymRepBuilder |
Build 6x6 symmetry representation for a rank 2 Cartesian tensor represented in Kelvin notation. More... | |
class | TimeReversalSwapSymRepBuilder |
class | dOrbitalOccupationSymRepBuilder |
class | dOrbitalOccupationSpinPolarizedSymRepBuilder |
class | CopyApplyWithPrim_crtp |
struct | traits< CASM::xtal::UnitCellCoord > |
struct | traits< DB::jsonDB > |
class | ConfigEnumInput |
class | DoFSpace |
class | make_symmetry_adapted_dof_space_error |
struct | VectorSpaceMixingInfo |
A struct which gives out the mixing information of given column_vector_space and a subspace. More... | |
class | EnumeratorBase |
Abstract base class for enumerators. More... | |
class | ValEnumerator |
class | EnumIteratorBase |
class | ValEnumIterator |
class | InputEnumeratorBase |
Base class for implementing specialized input enumerators. More... | |
class | InputEnumIterator |
class | InputEnumIteratorBase |
class | InputEnumerator |
Generic input enumerator. More... | |
struct | jsonConstructor< ConfigEnumInput > |
Read ConfigEnumInput from JSON. More... | |
struct | jsonConstructor< DoFSpace > |
struct | jsonMake< DoFSpace > |
struct | AxesCounterParams |
Data structure used for continuous DoF enumeration IO. More... | |
class | RandomAccessEnumIterator |
The iterator type for RandomAccessEnumerator. More... | |
class | RandomAccessEnumeratorBase |
Base class for implementing specialized random access enumerators. More... | |
class | RandomAccessEnumerator |
Generic random access enumerator. More... | |
class | RandomAccessEnumIteratorBase |
RandomAccessEnumIterator implemenation. More... | |
class | UnaryCompare_f |
class | libcasm_runtime_error |
class | Hull |
Generate and inspect the convex hull generated from a selection of Configurations. More... | |
struct | FloatCompare |
class | FilterIterator |
class | HallOfFame |
A container for storing best scoring objects. More... | |
class | HierarchyID |
class | DerivedID |
class | PCA |
Principle component analysis. More... | |
struct | Validator |
Data structure to hold error and warning messages. More... | |
struct | jsonConstructor< Monte::OccCandidate > |
struct | jsonConstructor< Monte::OccSwap > |
class | StrainConverter |
class | EnumEquivalents |
Enumerate over all equivalents. More... | |
struct | traits< EnumEquivalents< ObjectType, SymOpIterator, SymOpType, SymOpCompare > > |
struct | jsonConstructor< SymInfoOptions > |
struct | SymInfoOptions |
Options for printing SymInfo. More... | |
class | Orbit |
An Orbit of Element. More... | |
struct | GetPrototype |
struct | GetInvariants |
class | SymCompare |
CRTP base class for implementing element and orbit comparison. More... | |
struct | OrbitGeneratorCompare |
Compare concept functor for canonical generating elements. More... | |
struct | CanonicalGenerator |
Functor to find the canonical generating element for an orbit. More... | |
struct | IsCanonical |
Functor to find to check if element is in canonical form. More... | |
class | PermuteIterator |
struct | jsonConstructor< PermuteIterator > |
class | SimpleOrbit |
class | MakeSubOrbitGenerators |
Output the orbit generators necessary to construct the sub-orbits corresponding to group -> subgroup symmetry breaking. More... | |
class | SupercellSymInfo |
A class that collects all symmetry information for for performing symmetry transformations on the site indices, site DoFs, and global DoFs of a Supercell or Configuration. 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 | MasterSymGroup |
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... | |
struct | SymRepIndexCompare |
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 | VectorSpaceSymReport |
Summary of data associated with the action of a symmetry group on a vector space. More... | |
class | VectorSymCompare |
class | VectorInvariants |
class | DirectionSymCompare |
struct | traits< DirectionSymCompare< _Element, _SymApply > > |
Traits class for DirectionSymCompare. More... | |
class | SubspaceSymCompare |
struct | traits< SubspaceSymCompare< _Element, _SymApply > > |
Traits class for SubspaceSymCompare. More... | |
struct | traits< VectorSymCompare< Base > > |
Traits class for VectorSymCompare. More... | |
class | EigenSymCompare |
CRTP Base class for Vector comparisons. More... | |
class | EigenSymRepApply |
class | Popen |
Remember how to use popen. More... | |
class | runtime_lib_compile_error |
class | runtime_lib_shared_error |
class | RuntimeLibrary |
Write, compile, load and use code at runtime. More... | |
class | ImportCommandImplBase |
Defaults used if DataObject type doesn't matter or not given. More... | |
class | QueryCommandImplBase |
Defaults used if DataObject type doesn't matter or not given. More... | |
class | RmCommandImplBase |
Defaults used if DataObject type doesn't matter or not given. More... | |
class | SelectCommandImplBase |
Defaults used if DataObject type doesn't matter or not given. More... | |
struct | PrintDetails |
class | UpdateCommandImplBase |
Defaults used if DataObject type doesn't matter or not given. More... | |
struct | WriteBasisSetDataImpl |
Write clust.json, basis.json, and clexulator source code, given orbits. More... | |
struct | PolyWriter |
Typedefs | |
typedef std::function< int(const CommandArgs &)> | Command |
typedef std::map< std::string, Command > | CommandMap |
template<typename OptionType > | |
using | InterfaceMap = notstd::unique_cloneable_map< std::string, InterfaceBase< OptionType > > |
Used to hold a list of all algorithms that may be accessed via the API. More... | |
typedef std::vector< notstd::cloneable_ptr< EnumInterfaceBase > > | EnumInterfaceVector |
typedef std::vector< notstd::cloneable_ptr< InfoInterfaceBase > > | InfoInterfaceVector |
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 | VectorXiAttribute = Base1DDatumFormatter< Eigen::VectorXi, DataObject > |
Template alias for BaseValueFormatter returning Eigen::VectorXi. More... | |
template<typename DataObject > | |
using | VectorXiAttributeDictionary = DataFormatterDictionary< DataObject, VectorXiAttribute< 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... | |
template<typename DataObject > | |
using | MatrixXdAttribute = Base2DDatumFormatter< Eigen::MatrixXd, DataObject > |
Template alias for BaseValueFormatter returning Eigen::MatrixXd. More... | |
template<typename DataObject > | |
using | MatrixXdAttributeDictionary = DataFormatterDictionary< DataObject, MatrixXdAttribute< DataObject > > |
Template to be specialized for constructing dictionaries for particular DataObject. More... | |
using | ConfigCompare = GenericConfigCompare< Configuration, ConfigIsEquivalent > |
typedef ConfigCanonicalForm< HasSupercell< Comparisons< Calculable< CRTPBase< Configuration > > > > > | ConfigurationBase |
typedef ScalarAttribute< Configuration > | Reference |
typedef std::function< bool(xtal::Site)> | SiteFilterFunction |
typedef std::function< bool(IntegralCluster)> | ClusterFilterFunction |
typedef std::function< std::vector< xtal::UnitCellCoord >Structure const &, SiteFilterFunction)> | CandidateSitesFunction |
template<typename Element , typename U = void> | |
using | LocalSymCompare = AperiodicSymCompare< Element, U > |
template<typename Element > | |
using | AperiodicOrbit = Orbit< AperiodicSymCompare< Element > > |
template<typename Element > | |
using | LocalOrbit = AperiodicOrbit< Element > |
template<typename Element > | |
using | ScelPeriodicOrbit = Orbit< ScelPeriodicSymCompare< Element > > |
template<typename Element > | |
using | PrimPeriodicOrbit = Orbit< PrimPeriodicSymCompare< Element > > |
typedef AperiodicOrbit< IntegralCluster > | AperiodicIntegralClusterOrbit |
typedef LocalOrbit< IntegralCluster > | LocalIntegralClusterOrbit |
typedef PrimPeriodicOrbit< IntegralCluster > | PrimPeriodicIntegralClusterOrbit |
typedef ScelPeriodicOrbit< IntegralCluster > | ScelPeriodicIntegralClusterOrbit |
typedef Printer< IntegralCluster > | SitesPrinter |
template<typename _Element > | |
using | PrototypePrinter = OrbitPrinter< _Element, ORBIT_PRINT_MODE::PROTO > |
typedef PrototypePrinter< IntegralCluster > | ProtoSitesPrinter |
template<typename _Element > | |
using | FullOrbitPrinter = OrbitPrinter< _Element, ORBIT_PRINT_MODE::FULL > |
typedef FullOrbitPrinter< IntegralCluster > | FullSitesPrinter |
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 std::string | DoFKey |
using | SymRepBuilderBase = TemplateSymRepBuilderBase< false > |
using | TimeReversalSymRepBuilderBase = TemplateSymRepBuilderBase< true > |
typedef unsigned int | uint |
typedef unsigned long int | ulint |
typedef long int | lint |
typedef INDEX_TYPE | Index |
For long integer indexing: More... | |
typedef Eigen::MatrixXd::Index | EigenIndex |
template<bool B, class T = void> | |
using | enable_if_t = typename std::enable_if< B, T >::type |
template<typename Base > | |
using | Comparisons = notstd::Comparisons< Base > |
template<typename MostDerived > | |
using | CRTPBase = notstd::CRTPBase< MostDerived > |
typedef Eigen::VectorXd | VectorXd |
typedef Eigen::MatrixXd | MatrixXd |
typedef Eigen::Matrix3d | Matrix3d |
typedef strain::METRIC | STRAIN_METRIC |
template<typename OrbitIterator > | |
using | PrototypeIterator = boost::transform_iterator< GetPrototype, OrbitIterator > |
template<typename OrbitIterator > | |
using | InvariantsIterator = boost::transform_iterator< GetInvariants, OrbitIterator > |
template<typename OrbitType > | |
using | OrbitGeneratorSet = std::set< typename OrbitType::Element, OrbitGeneratorCompare< OrbitType > > |
An std::set of Orbit. More... | |
typedef ArgHandler::ARG_TYPE | ARG_TYPE |
Enumerations | |
enum class | PARAM_PACK_TYPE { DEFAULT , DIFF } |
enum class | DatumFormatterClass { Property , Operator } |
enum class | JustificationType { Left , Right , Center , Full } |
enum | COMPOSITION_TYPE { PARAM_COMP = 0 , NUMBER_ATOMS = 1 } |
enum class | CLUSTER_PERIODICITY_TYPE : int { PRIM_PERIODIC = 0 , APERIODIC = 1 , LOCAL = 1 , WITHIN_SCEL = 2 , SCEL_PERIODIC = 3 } |
enum class | ORBIT_PRINT_MODE { PROTO , FULL } |
enum class | COORD_TYPE { FRAC , CART , INTEGRAL , COORD_DEFAULT } |
enum class | PERIODICITY_TYPE : int { PERIODIC = 0 , APERIODIC = 1 , LOCAL = 1 , PERIODICITY_DEFAULT = 2 } |
enum class | EQUIVALENCE_TYPE { PRIM , SCEL , CONFIG } |
enum class | CELL_TYPE { PRIM , SCEL } |
enum class | OnError { THROW , WARN , CONTINUE } |
enum class | symmetry_type { identity_op , mirror_op , glide_op , rotation_op , screw_op , inversion_op , rotoinversion_op , invalid_op } |
Functions | |
template<typename CommandType > | |
std::unique_ptr< CommandType > | make_api_command (CommandArgs const &args, typename CommandType::OptionType &opt) |
Parse command line options and make API command. Throws for parsing errors. More... | |
template<typename CommandType > | |
std::unique_ptr< CommandType > | make_api_command (std::string cli_str, PrimClex &primclex, typename CommandType::OptionType &opt) |
Parse command line options and make API command. Throws for parsing errors. More... | |
template<typename CommandType > | |
int | run_api_command (const CommandArgs &args) |
Standardizes how 'casm X' api commands are executed and implemented. More... | |
void | print_splash (std::ostream &out) |
CommandMap & | command_map () |
Return static CommandMap containing all CASM API commands. More... | |
int | casm_api (const CommandArgs &args) |
Executes CASM commands specified by args. More... | |
PrimClex & | make_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... | |
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 log() More... | |
int | version_command (const CommandArgs &args) |
template<typename OptionType > | |
std::unique_ptr< InterfaceMap< OptionType > > | make_interface_map () |
Use to construct an InterfaceMap. More... | |
ClexDescription | default_configuration_clex () |
bool | operator< (const ClexDescription &A, const ClexDescription &B) |
Compare using name strings: A.name < B.name. More... | |
jsonParser & | to_json (const ClexDescription &desc, jsonParser &json) |
void | from_json (ClexDescription &desc, const jsonParser &json) |
bool | clex_exists (const DirectoryStructure &dir, const ClexDescription &desc) |
bool | new_dir (const DirectoryStructure &dir, ClexDescription const &desc) |
void | parse_args (Completer::OptionHandlerBase &opt, std::string args) |
int | composition_command (const CommandArgs &args) |
template<typename MakeEnumeratorFunction , typename InputNameValuePairIterator , typename ConfigEnumDataType > | |
void | enumerate_configurations (PrimClex const &primclex, ConfigEnumOptions const &options, MakeEnumeratorFunction make_enumerator_f, InputNameValuePairIterator name_value_pairs_begin, InputNameValuePairIterator name_value_pairs_end, DataFormatter< ConfigEnumDataType > const &formatter) |
Enumerate configurations. More... | |
template<typename EnumeratorType > | |
void | enumerate_supercells (EnumerateSupercellsOptions const &options, EnumeratorType &enumerator, DB::Database< Supercell > &supercell_db) |
jsonParser & | to_json (const Completer::EnumOption &enum_opt, jsonParser &json) |
Convert casm enum CLI input to JSON. More... | |
ParentInputParser | make_enum_parent_parser (Log &log, jsonParser const &json_options, jsonParser const &cli_options_as_json) |
Combine –input / –settings JSON with CLI options. More... | |
std::string | dry_run_msg (bool dry_run) |
jsonParser | combine_configuration_enum_json_options (jsonParser const &json_options, jsonParser const &cli_options_as_json) |
void | parse (InputParser< ConfigEnumOptions > &parser, std::string method_name, PrimClex const &primclex, DataFormatterDictionary< Configuration > const &dict) |
jsonParser | combine_supercell_enum_json_options (jsonParser const &json_options, jsonParser const &cli_options_as_json) |
void | parse (InputParser< EnumerateSupercellsOptions > &parser, std::string method_name, PrimClex const &primclex, DataFormatterDictionary< Supercell > const &dict) |
template<typename PermuteIteratorIt > | |
void | print_dof_space (Log &log, DoFSpace const &dof_space, std::string const &identifier, ConfigEnumInput const &input_state, PermuteIteratorIt permute_begin, PermuteIteratorIt permute_end, bool sym_axes, bool calc_wedges) |
Print DoFSpace information. More... | |
template<typename NamedInitialStatesType > | |
void | print_initial_states (Log &log, NamedInitialStatesType const &named_initial_states) |
void | print_options (Log &log, ConfigEnumOptions const &options) |
std::string | standard_ConfigEnumInput_help () |
EnumInterfaceVector | make_standard_enumerator_interfaces () |
template<typename EnumInterfaceVectorInserter , typename RuntimeLibInserter > | |
std::pair< EnumInterfaceVectorInserter, RuntimeLibInserter > | load_enumerator_plugins (ProjectSettings const &set, EnumInterfaceVectorInserter enum_it, RuntimeLibInserter lib_it) |
Load enumerator plugins from a CASM project. More... | |
int | files_command (const CommandArgs &args) |
int | format_command (const CommandArgs &args) |
template<> | |
HamiltonianModules::SymRepBuilderDictionary | make_parsing_dictionary< SymRepBuilderInterface > () |
template<typename DoFDictInserter , typename RuntimeLibInserter > | |
std::pair< DoFDictInserter, RuntimeLibInserter > | load_dof_plugins (const ProjectSettings &set, DoFDictInserter dict_it, RuntimeLibInserter lib_it) |
Load DoF plugins from a CASM project. More... | |
template<typename SymRepBuilderDictInserter , typename RuntimeLibInserter > | |
std::pair< SymRepBuilderDictInserter, RuntimeLibInserter > | load_symrep_builder_plugins (const ProjectSettings &set, SymRepBuilderDictInserter dict_it, RuntimeLibInserter lib_it) |
Load SymRepBuilder plugins from a CASM project. More... | |
InfoInterfaceVector | make_standard_info_method_interfaces () |
A vector containing casm info method interfaces. More... | |
int | init_command (const CommandArgs &args) |
void | write_lat (Supercell const &supercell, DirectoryStructure const &dir) |
void | write_pos (Configuration const &configuration, DirectoryStructure const &dir) |
Write configuration "POS" file (VASP POSCAR) to standard location. More... | |
void | write_structure_json (Configuration const &configuration, DirectoryStructure const &dir) |
void | write_config_json (Configuration const &configuration, DirectoryStructure const &dir) |
template<typename OptionType > | |
jsonParser | make_json_input (const OptionType &opt) |
jsonParser & | combine_json_options (std::map< std::string, std::string > const &source_to_combined_keys, jsonParser const &json_source, jsonParser &json_combined) |
Copy from json_source to json_combined More... | |
std::shared_ptr< RuntimeLibrary > | log_make_shared_runtime_lib (std::string filename_base, std::string compile_options, std::string so_options, std::string compile_msg) |
Make shared_ptr<RuntimeLibrary>, logging progress and errors. More... | |
int | monte_command (const CommandArgs &args) |
void | build_project (ProjectSettings const &project_settings, Structure const &prim) |
ProjectSettings | make_default_project_settings (xtal::BasicStructure const &prim, std::string project_name) |
ProjectSettings | make_default_project_settings (xtal::BasicStructure const &prim, std::string project_name, fs::path root_dir) |
Eigen::Matrix3l | default_nlist_weight_matrix (xtal::BasicStructure const &prim, double tol) |
std::set< int > | default_nlist_sublat_indices (xtal::BasicStructure const &prim) |
bool | is_valid_project_name (std::string project_name) |
void | throw_if_project_name_is_not_valid (std::string project_name) |
Throw if project name is invalid. More... | |
bool | create_all_directories (ProjectSettings const &set) |
void | print_compiler_settings_summary (ProjectSettings const &set, Log &log) |
Print summary of compiler settings, as for 'casm settings -l'. More... | |
void | print_summary (ProjectSettings const &set, Log &log) |
Print summary of ProjectSettings, as for 'casm settings -l'. More... | |
jsonParser & | to_json (const ProjectSettings &set, jsonParser &json) |
Serialize ProjectSettings to JSON. More... | |
void | write_project_settings (ProjectSettings const &set, fs::path project_settings_path) |
ProjectSettings | read_project_settings (fs::path project_settings_path) |
void | commit (ProjectSettings const &set) |
ProjectSettings | open_project_settings (fs::path path_in_project) |
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... | |
int | ref_command (const CommandArgs &args) |
int | run_command (const CommandArgs &args) |
int | settings_command (const CommandArgs &args) |
int | status_command (const CommandArgs &args) |
int | super_command (const CommandArgs &args) |
std::string | dof_space_analysis_desc () |
Describe DoF space analysis input. More... | |
void | dof_space_analysis (PrimClex &primclex, jsonParser const &json_options, jsonParser const &cli_options_as_json) |
Perform DoF space analysis. More... | |
jsonParser & | to_json (const Completer::SymOption &sym_opt, jsonParser &json) |
Convert casm sym CLI input to JSON. More... | |
std::string | symmetrize_desc () |
Describe the symmetrize method. More... | |
void | symmetrize (PrimClex &primclex, jsonParser const &json_options, jsonParser const &cli_options_as_json) |
Adjust a structure's lattice and basis to increase factor group symmetry. More... | |
std::string | write_prim_symmetry_desc () |
Describe the default casm sym option. More... | |
void | write_prim_symmetry (PrimClex &primclex, jsonParser const &json_options, jsonParser const &cli_options_as_json) |
Write/print prim symmetry. More... | |
int | view_command (const CommandArgs &args) |
jsonParser & | to_json (const Function *func, jsonParser &json) |
template<typename DoFSpecsType > | |
DoFSpecsType const & | get (DoFKey const &key, BasisFunctionSpecs const &basis_function_specs) |
jsonParser & | to_json (const BasisSet &bset, jsonParser &json) |
void | from_json (BasisSet &bset, const jsonParser &json) |
BasisSet | operator* (const SymOp &LHS, const BasisSet &RHS) |
BasisSet | direct_sum (BasisSet::ArgList const &_subs) |
bool | compare_no_value (ContinuousDoF const &A, ContinuousDoF const &B) |
bool | operator== (DoFSet const &A, DoFSet const &B) |
bool | operator!= (DoFSet const &A, DoFSet const &B) |
void | parse (InputParser< BasisFunctionSpecs > &parser, Structure const &prim, ParsingDictionary< DoFType::Traits > const *dof_dict) |
jsonParser & | to_json (const BasisFunctionSpecs &basis_function_specs, jsonParser &json, Structure const &prim, ParsingDictionary< DoFType::Traits > const *dof_dict) |
void | parse (InputParser< DoF_impl::MagSpinDoFSpecs > &parser, const Structure &prim) |
void | to_json (const DoF_impl::MagSpinDoFSpecs &occ_specs, jsonParser &json) |
jsonParser & | to_json (const OccupantFunction &func, jsonParser &json) |
void | from_json (OccupantFunction &func, const jsonParser &json) |
void | parse (InputParser< DoF_impl::OccupationDoFSpecs > &parser, const Structure &prim) |
void | to_json (const DoF_impl::OccupationDoFSpecs &occupation_dof_specs, jsonParser &json) |
jsonParser & | to_json (const Variable &var, jsonParser &json) |
void | from_json (Variable &var, const jsonParser &json) |
template<typename T , typename... Args> | |
jsonParser & | to_json (const Array< T > &value, jsonParser &json, Args &&... args) |
template<typename T , typename... Args> | |
void | from_json (Array< T > &value, const jsonParser &json, Args &&... args) |
This requires that 'T::T()' exists, if not, you must do this by hand. More... | |
template<class T > | |
std::istream & | operator>> (std::istream &_in, std::vector< T > &vec) |
std::pair< std::vector< long >, std::vector< long > > | index_expression_to_bounds (const std::string &_expr) |
void | split_formatter_expression (const std::string &input_expr, std::vector< std::string > &tag_names, std::vector< std::string > &sub_exprs) |
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... | |
jsonParser & | to_json (const FormattedPrintable &_obj, jsonParser &json) |
std::ostream & | operator<< (std::ostream &_stream, const FormattedPrintable &_formatted) |
DataStream & | operator<< (DataStream &_stream, const FormattedPrintable &_formatted) |
template<typename T > | |
bool | always_true (const T &) |
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 > | |
VectorXiAttributeDictionary< DataObject > | make_vectorxi_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... | |
template<typename DataObject > | |
MatrixXdAttributeDictionary< DataObject > | make_matrixxd_dictionary () |
Template to be specialized for constructing dictionaries for particular DataObject. More... | |
template<typename DataObject > | |
DataFormatterDictionary< DataObject, BaseValueFormatter< jsonParser, DataObject > > | make_json_dictionary () |
Template to be specialized for constructing dictionaries for particular DataObject. More... | |
template<typename DataObject > | |
DataFormatterFilter< DataObject > | make_data_formatter_filter (std::string const &filter_expr, DataFormatterDictionary< DataObject > const &_dict) |
template<typename DataObject > | |
DataFormatterFilter< DataObject > | make_data_formatter_filter (std::vector< std::string > const &filter_expr, DataFormatterDictionary< DataObject > const &_dict) |
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_rms () |
Makes a DataFormatterOperator that returns the root-mean-square value of 0 or more elements. More... | |
template<typename DataObject > | |
DataFormatterOperator< double, double, DataObject > | format_operator_pnorm () |
Makes a DataFormatterOperator that returns the root-mean-square value of 0 or more elements. 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 > | |
GenericDatumFormatter< std::string, DataObject > | name () |
template<typename DataObject > | |
GenericDatumFormatter< std::string, DataObject > | alias () |
template<typename DataObject > | |
GenericDatumFormatter< std::string, DataObject > | alias_or_name () |
DataStream & | operator<< (DataStream &_stream, int i) |
DataStream & | operator<< (DataStream &_stream, float f) |
DataStream & | operator<< (DataStream &_stream, unsigned int i) |
DataStream & | operator<< (DataStream &_stream, unsigned long i) |
template<class T > | |
DataStream & | operator<< (DataStream &_stream, const std::vector< T > &vec) |
template<typename ExternalType , typename InternalType > | |
DatumFormatterAdapter< ExternalType, InternalType > | make_datum_formatter_adapter (BaseDatumFormatter< InternalType > const &_base_formatter) |
template<typename ENUM > | |
std::string | to_string (ENUM val) |
Return string representation of enum class. More... | |
template<typename ENUM > | |
std::string | multiline_enum_help () |
Print help message describing recognized strings for allowed enum values. More... | |
template<typename StringContainer > | |
std::string | standard_singleline_help (StringContainer options, std::string _default="") |
Print short help message describing recognized strings for allowed enum values. More... | |
template<typename ENUM > | |
std::string | standard_singleline_enum_help (std::string _default="", std::string other="") |
Print short help message describing recognized strings for allowed enum values. More... | |
template<typename ENUM > | |
std::string | singleline_enum_help () |
Print short help message describing recognized strings for allowed enum values. More... | |
template<typename ENUM > | |
void | invalid_enum_string (std::string val) |
Throw invalid_argument error for unrecognized strings. More... | |
template<typename ENUM > | |
std::set< ENUM > | matches (const std::string &val) |
Return all matching enum class members from string representation. 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) |
template<typename T > | |
std::string | multiline_help () |
Help message for reading a type T from input. More... | |
template<typename T > | |
std::string | singleline_help () |
Help message for reading a type T from input. More... | |
template<typename T > | |
std::string | help () |
Uses 'multiline_help<T>()' by default. More... | |
int | parse_verbosity (KwargsParser &parser, int default_verbosity=10) |
void | parse (InputParser< std::nullptr_t > &parser) |
Temporary – enables compilation of legacy code. More... | |
template<typename T > | |
void | parse (InputParser< T > &parser) |
void | print_warnings (KwargsParser const &parser, Log &log, std::string header="Warnings") |
Formatted print warning messages, including all subparsers. More... | |
void | print_errors (KwargsParser const &parser, Log &log, std::string header="Errors") |
Formatted print error messages, including all subparsers. More... | |
jsonParser | make_report (KwargsParser const &parser) |
Return parser.input with error and warning messages added in place. More... | |
template<typename ErrorType > | |
void | report_and_throw_if_invalid (KwargsParser const &parser, Log &log, ErrorType error) |
std::ostream & | operator<< (std::ostream &stream, const jsonParser &json) |
std::istream & | operator>> (std::istream &stream, jsonParser &json) |
jsonParser & | to_json (bool value, jsonParser &json) |
To JSON for basic types. More... | |
jsonParser & | to_json (int value, jsonParser &json) |
jsonParser & | to_json (unsigned int value, jsonParser &json) |
jsonParser & | to_json (long int value, jsonParser &json) |
jsonParser & | to_json (unsigned long int value, jsonParser &json) |
jsonParser & | to_json (double value, jsonParser &json) |
jsonParser & | to_json (const std::string &value, jsonParser &json) |
jsonParser & | to_json (const char *value, jsonParser &json) |
jsonParser & | to_json (const jsonParser &value, jsonParser &json) |
template<typename T > | |
T | from_json (const jsonParser &json) |
From JSON for basic types. More... | |
template<typename T > | |
std::unique_ptr< T > | make_from_json (const jsonParser &json) |
Make 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) |
Create a jsonParser by reading a file. More... | |
template<typename T > | |
jsonParser & | to_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 > | |
jsonParser & | to_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... | |
template<typename T , typename... Args> | |
void | make_from_json (std::unique_ptr< T > &ptr, const jsonParser &json, Args &&... args) |
Make from JSON for basic types. More... | |
fs::path | find_diff (const jsonParser &A, const jsonParser &B) |
Return the location at which jsonParser 'A' != 'B' as a fs::path. More... | |
fs::path | find_diff (const jsonParser &A, const jsonParser &B, double tol) |
template<typename T > | |
jsonParser | json_pair (const std::string &key, const T &value) |
Create pair/value json object without intermediate temporary. More... | |
template<typename T , typename... Args> | |
jsonParser & | to_json (std::optional< T > const &value, jsonParser &json) |
template<typename T , typename... Args> | |
void | from_json (std::optional< T > &value, jsonParser const &json, Args &&... args) |
template<typename T > | |
Log & | operator<< (Log &log, const T &msg_details) |
Log & | operator<< (Log &log, std::ostream &(*fptr)(std::ostream &)) |
Log & | default_log () |
Log & | default_err_log () |
Log & | log () |
Log & | err_log () |
Log & | cout_log () |
Log & | cerr_log () |
Log & | null_log () |
std::string | to_string (const std::string &s, std::string begin="\"", std::string end="\"") |
template<typename T1 , typename T2 > | |
std::string | to_string (const std::pair< T1, T2 > &value) |
template<typename Iterator > | |
std::string | container_to_string (Iterator begin_it, Iterator end_it, std::string begin="[", std::string end="]", std::string delim=", ") |
template<class T > | |
std::string | to_string (const std::vector< T > &container, std::string begin="[", std::string end="]", std::string delim=", ") |
template<class T , class Compare > | |
std::string | to_string (const std::set< T, Compare > &container, std::string begin="[", std::string end="]", std::string delim=", ") |
template<class Key , class T , class Compare > | |
std::string | to_string (const std::map< T, Key, Compare > &container, std::string begin="{", std::string end="}", std::string delim=", ") |
template<typename ConfigType > | |
bool | is_calculated (const ConfigType &config, std::string calctype="") |
Return true if all required properties have been been calculated for the configuration. More... | |
template<typename ConfigType > | |
void | reset_properties (ConfigType &config) |
template<typename ConfigType > | |
std::string | calc_status (const ConfigType &_config, std::string calctype="") |
Status of calculation. More... | |
template<typename ConfigType > | |
std::string | failure_type (const ConfigType &config, std::string calctype="") |
template<typename ConfigType > | |
bool | has_calc_status (const ConfigType &config, std::string calctype="") |
template<typename ConfigType > | |
bool | has_failure_type (const ConfigType &config, std::string calctype="") |
template<typename ConfigType > | |
std::string | calc_properties_path (const ConfigType &config, std::string calctype="") |
template<typename ConfigType > | |
std::string | pos_path (const ConfigType &config, std::string calctype="") |
template<typename ConfigType > | |
std::string | calc_status_path (const ConfigType &config, std::string calctype="") |
bool | is_calculated (const MappedProperties &calc_properties, const std::vector< std::string > &required_properties) |
Return true if all required properties are included in the JSON. More... | |
std::string | calc_properties_path (const PrimClex &primclex, const std::string &configname, std::string calctype="") |
std::string | pos_path (const PrimClex &primclex, const std::string &configname) |
std::string | calc_status_path (const PrimClex &primclex, const std::string &configname, std::string calctype="") |
Index | print_clust_basis (std::ostream &stream, BasisSet _clust_basis, IntegralCluster const &_prototype, Index func_ind=0, int space=18, char delim='\n') |
template<typename OrbitType > | |
void | print_proto_clust_funcs (ClexBasis const &_clex_basis, std::ostream &out, BasicStructure const &_prim, std::vector< OrbitType > const &_tree) |
template<typename OrbitType > | |
Index | _orbit_max_poly_order (OrbitType const &orbit, BasisFunctionSpecs const &basis_function_specs) |
allow basis_function_specs to specify max_poly_order by branch, orbit, etc. More... | |
template<typename OutputIterator > | |
OutputIterator | standard_composition_axes (ParamComposition::AllowedOccupants _allowed_occs, 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... | |
Eigen::MatrixXd | end_members (const ParamComposition::AllowedOccupants &_allowed_occs) |
Serialize CompositionConverter to JSON. More... | |
Eigen::MatrixXd | composition_space (const ParamComposition::AllowedOccupants &_allowed_occs, double tol=1e-14) |
Return the composition space of a ParamComposition::AllowedOccupants. More... | |
Eigen::MatrixXd | null_composition_space (const ParamComposition::AllowedOccupants &_allowed_occs, double tol=1e-14) |
Return the null composition space of a ParamComposition::AllowedOccupants. More... | |
void | swap (ConfigDoF &A, ConfigDoF &B) |
void | reset_properties (ConfigDoF &_dof) |
ConfigDoF | make_configdof (Structure const &prim, Index volume) |
Construct zero-valued ConfigDoF. More... | |
ConfigDoF | make_configdof (Structure const &prim, Index volume, double tol) |
Construct zero-valued ConfigDoF. More... | |
std::unique_ptr< ConfigDoF > | make_unique_configdof (Structure const &prim, Index volume) |
Construct zero-valued std::unique_ptr<ConfigDoF> More... | |
std::unique_ptr< ConfigDoF > | make_unique_configdof (Structure const &prim, Index volume, double tol) |
Construct zero-valued std::unique_ptr<ConfigDoF> More... | |
ConfigDoF | make_configdof (Supercell const &supercell) |
Construct zero-valued ConfigDoF. More... | |
ConfigDoF | make_configdof (Supercell const &supercell, double tol) |
Construct zero-valued ConfigDoF. More... | |
std::unique_ptr< ConfigDoF > | make_unique_configdof (Supercell const &supercell) |
Construct zero-valued std::unique_ptr<ConfigDoF> More... | |
std::unique_ptr< ConfigDoF > | make_unique_configdof (Supercell const &supercell, double tol) |
Construct zero-valued std::unique_ptr<ConfigDoF> More... | |
template<> | |
bool | is_guaranteed_for_database_insert (ConfigEnumAllOccupations const &enumerator) |
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<> | |
MatrixXdAttributeDictionary< Configuration > | make_matrixxd_dictionary< Configuration > () |
MappingNode | copy_apply (PermuteIterator const &_it, MappingNode const &_node, bool transform_cost_mat=true) |
Reorders the permutation and compounds the spatial isometry (rotation. More... | |
std::pair< ConfigDoF, std::set< std::string > > | to_configdof (SimpleStructure const &_child_struc, Supercell const &_scel) |
Initializes configdof of Supercell '_scel' corresponding to an idealized child structure (encoded by _child_struc) _child_struc is assumed to have been idealized via structure-mapping or to be the result of converting a configuration to a SimpleStructure. result.second gives list of properties that were utilized in the course of building the configdof. More... | |
Configuration | sub_configuration (std::shared_ptr< Supercell const > sub_scel_ptr, const Configuration &super_config, const UnitCell &origin=UnitCell(0, 0, 0)) |
Returns the sub-configuration that fills a particular Supercell. More... | |
Configuration | make_configuration (const PrimClex &primclex, std::string name) |
Make Configuration from name string. More... | |
Eigen::VectorXd | correlations (const Configuration &config, Clexulator const &clexulator) |
Returns correlations using 'clexulator'. More... | |
Eigen::VectorXd | corr_contribution (Index linear_unitcell_index, const Configuration &config, Clexulator const &clexulator) |
Returns correlation contribution from a single unit cell, not normalized. More... | |
Eigen::VectorXd | point_corr (Index linear_unitcell_index, Index neighbor_index, const Configuration &config, Clexulator const &clexulator) |
Returns point correlations from a single site, normalized by cluster orbit size. More... | |
Eigen::MatrixXd | gradcorrelations (const Configuration &config, Clexulator const &clexulator, DoFKey &key) |
Returns gradient correlations using 'clexulator', with respect to DoF 'dof_type'. 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 | energy (const Configuration &config) |
Returns the energy, normalized per unit cell. More... | |
double | energy_per_species (const Configuration &config) |
Returns the 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... | |
double | rms_force (const Configuration &_config) |
Root-mean-square forces of relaxed configurations, determined from DFT (eV/Angstr.) More... | |
double | atomic_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::MatrixXd | relaxed_forces (const Configuration &_config) |
relaxed forces of configuration, determined from DFT (eV/Angstr.), as a 3xN matrix More... | |
IntegralCluster | config_diff (const Configuration &_config1, const Configuration &_config2) |
Returns an Integral Cluster representing the perturbed sites between the configs. More... | |
Configuration | closest_setting (const Configuration &_config1, const Configuration &_config2) |
Configuration | config_clip (const Configuration &_config, const Configuration &_bg, IntegralCluster &_clust) |
Returns a Configuration with the sites in _clust clipped from _config and placed in _bg. 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 no symmetry transformation applied to _config will increase its lexicographic order More... | |
bool | is_diff_trans_endpoint (const Configuration &_config) |
returns true if _config is an endpoint of any existing diff_trans_config More... | |
std::string | diff_trans_endpoint_of (const Configuration &_config) |
returns which diff_trans _config is an endpoint of More... | |
bool | has_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_atomic_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) |
Eigen::VectorXd | correlations (const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator) |
Returns correlations using 'clexulator'. Supercell needs a correctly populated neighbor list. More... | |
Eigen::VectorXd | corr_contribution (Index linear_unitcell_index, const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator) |
Returns correlation contribution from a single unit cell, not normalized. More... | |
Eigen::VectorXd | point_corr (Index linear_unitcell_index, Index neighbor_index, const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator) |
Returns point correlations from a single site, normalized by cluster orbit size. More... | |
Eigen::MatrixXd | gradcorrelations (const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator, DoFKey &key) |
Returns gradient correlations using 'clexulator', with respect to DoF 'dof_type'. More... | |
Eigen::VectorXi | 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::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... | |
double | operator* (const ECIContainer &_eci, const Eigen::VectorXd &_corr) |
Evaluate property given an ECIContainer and correlations. More... | |
double | operator* (const ECIContainer &_eci, double const *_corr_begin) |
Evaluate property given an ECIContainer and pointer to beginning of range of correlation. More... | |
bool | is_valid_sub_configuration (xtal::Lattice const &sub_configuration_lattice, Supercell const &supercell) |
Configuration | fill_supercell (Configuration const &motif, std::shared_ptr< Supercell const > const &shared_supercell) |
Configuration | fill_supercell (Configuration const &motif, Supercell const &supercell) |
Configuration | fill_supercell (SymOp const &symop, Configuration const &motif, std::shared_ptr< Supercell const > const &shared_supercell) |
Configuration | fill_supercell (SymOp const &symop, Configuration const &motif, Supercell const &supercell) |
template<typename ConfigOutputIterator > | |
ConfigOutputIterator | make_all_super_configurations (Configuration const &configuration, std::shared_ptr< Supercell const > shared_supercell, ConfigOutputIterator result) |
Make all super configurations that fill a particular supercell. More... | |
template<typename IteratorType > | |
void | swap (FilteredConfigIterator< IteratorType > &a, FilteredConfigIterator< IteratorType > &b) |
Definitions. More... | |
template<typename IteratorType , typename DataObject > | |
FilteredConfigIterator< IteratorType > | filter_begin (const IteratorType &it, const IteratorType &it_end, const std::vector< std::string > &filter_expr, const DataFormatterDictionary< DataObject > &_dict) |
template<typename IteratorType > | |
FilteredConfigIterator< IteratorType > | filter_end (const IteratorType &it_end) |
ChemicalReference | read_chemical_reference (fs::path filename, BasicStructure const &prim, double tol) |
Read chemical reference states from JSON file. More... | |
void | write_chemical_reference (const ChemicalReference &chem_ref, fs::path filename) |
Write chemical reference states to JSON file. More... | |
CompositionAxes | read_composition_axes (fs::path _filename) |
void | write_composition_axes (fs::path _filename, CompositionAxes const &composition_axes) |
Write CompositionAxes to file. More... | |
void | parse (InputParser< ClexBasisSpecs > &parser, std::shared_ptr< Structure const > shared_prim, ParsingDictionary< DoFType::Traits > const *dof_dict) |
jsonParser & | to_json (ClexBasisSpecs const &basis_set_specs, jsonParser &json, Structure const &prim, ParsingDictionary< DoFType::Traits > const *dof_dict) |
void | from_json (CompositionAxes &composition_axes, const jsonParser &json) |
jsonParser & | to_json (CompositionAxes const &composition_axes, jsonParser &json) |
Write CompositionAxes to JSON. More... | |
jsonParser & | to_json (const CompositionConverter &f, jsonParser &json) |
Serialize CompositionConverter to JSON. More... | |
void | from_json (CompositionConverter &f, const jsonParser &json) |
Deserialize CompositionConverter from JSON. More... | |
jsonParser & | to_json (const ConfigDoF &configdof, jsonParser &json) |
void | from_json (ConfigDoF &configdof, const jsonParser &json) |
Read ConfigDoF from JSON. More... | |
jsonParser & | to_json (ConfigMapping::Settings const &_set, jsonParser &_json) |
jsonParser const & | from_json (ConfigMapping::Settings &_set, jsonParser const &_json) |
jsonParser & | to_json (Configuration const &configuration, jsonParser &json) |
Insert Configuration to JSON. More... | |
void | from_json (Configuration &configuration, jsonParser const &json) |
Read Configuration from JSON. More... | |
void | parse (InputParser< ECIContainer > &parser) |
Make ECIContainer from JSON (eci.json file) More... | |
void | print_tex_tabular_cluster_sites (Log &out, IntegralCluster const &cluster, xtal::BasicStructure const &prim, COORD_TYPE mode) |
Print prototype cluster sites as a tex tabular. More... | |
void | print_site_basis_funcs (std::shared_ptr< const Structure > prim_ptr, ClexBasis const &clex_basis, Log &out, Index indent_space=6, COORD_TYPE mode=FRAC) |
Print site basis functions, as for 'casm bset –functions'. More... | |
void | print_aligned_site_basis_funcs (std::shared_ptr< const Structure > prim_ptr, ClexBasis const &clex_basis, Log &out, Index indent_space=6, COORD_TYPE mode=FRAC) |
Print aligned site basis functions, as for 'casm bset –functions –align'. More... | |
void | write_site_basis_funcs (std::shared_ptr< const Structure > prim_ptr, ClexBasis const &clex_basis, jsonParser &json) |
void | print_basis_functions (Log &log, std::shared_ptr< Structure const > const &shared_prim, ClexBasisSpecs const &basis_set_specs, bool align, OrbitPrinterOptions opt=OrbitPrinterOptions()) |
Pretty-print basis functions – generate, then print. More... | |
void | print_basis_functions (Log &log, PrimClex const &primclex, std::string basis_set_name, bool align, OrbitPrinterOptions opt=OrbitPrinterOptions()) |
Pretty-print basis functions – read clusters from existing clust.json file. More... | |
void | print_poscar (Configuration const &configuration, std::ostream &sout) |
jsonParser & | to_json (const MappedProperties &prop, jsonParser &json) |
jsonParser const & | from_json (MappedProperties &prop, const jsonParser &json) |
jsonParser & | to_json (const ScoreMappedProperties &score, jsonParser &json) |
jsonParser const & | from_json (ScoreMappedProperties &score, const jsonParser &json) |
MappedProperties | copy_apply (PermuteIterator const &op, MappedProperties const &props) |
void | write_basis_set_data (std::shared_ptr< Structure const > shared_prim, ProjectSettings const &settings, std::string const &basis_set_name, ClexBasisSpecs const &basis_set_specs, PrimNeighborList &prim_neighbor_list) |
Clexulator | make_clexulator (ProjectSettings const &settings, std::string const &basis_set_name, PrimNeighborList &prim_neighbor_list) |
template<> | |
bool | is_guaranteed_for_database_insert (ScelEnumByProps const &enumerator) |
Always true for ScelEnumByProps. More... | |
xtal::SimpleStructure | make_simple_structure (Supercell const &_scel, ConfigDoF const &_dof, std::vector< DoFKey > const &_which_dofs={}) |
Construct from ConfigDoF _dof belonging to provided Supercell _scel. More... | |
xtal::SimpleStructure | make_simple_structure (Configuration const &_config, std::vector< DoFKey > const &_which_dofs={}, bool relaxed=false) |
Construct SimpleStructure from Configuration. More... | |
xtal::SimpleStructure | make_simple_structure (Supercell const &_scel, ConfigDoF const &_dof, MappedProperties const &_props, std::vector< DoFKey > const &_which_dofs={}, bool relaxed=false) |
Construct from ConfigDoF _dof belonging to provided Supercell _scel and using calculated properties. More... | |
std::vector< std::set< Index > > | atom_site_compatibility (xtal::SimpleStructure const &sstruc, Configuration const &_config) |
Determine which sites of a Configuration can host each atom of a SimpleStructure result[i] is set of site indices in. More... | |
std::vector< std::set< Index > > | mol_site_compatibility (xtal::SimpleStructure const &sstruc, Configuration const &_config) |
Determine which sites of a Configuration can host each molecule of a SimpleStructure result[i] is set of site indices in. More... | |
std::string | make_supercell_name (Structure const &prim, xtal::Superlattice const &superlattice) |
Make the supercell name from a Superlattice. More... | |
std::string | make_canonical_supercell_name (Structure const &prim, xtal::Superlattice const &superlattice) |
Make the canonical supercell name from a Superlattice. More... | |
xtal::Superlattice | make_superlattice_from_supercell_name (Structure const &prim, std::string supercell_name) |
Construct a Superlattice from the supercell name. More... | |
Supercell & | apply (const SymOp &op, Supercell &scel) |
Apply symmetry operation to Supercell. More... | |
Supercell | copy_apply (const SymOp &op, const Supercell &scel) |
Copy and apply symmetry operation to Supercell. More... | |
const Supercell & | make_supercell (const PrimClex &primclex, std::string name) |
std::shared_ptr< Supercell > | make_shared_supercell (const PrimClex &primclex, std::string name) |
Eigen::Matrix3l | transf_mat (const Lattice &prim_lat, const Lattice &super_lat) |
std::string | generate_name (const Eigen::Matrix3l &transf_mat) |
Make hermite normal form name [deprecated]. More... | |
std::string | scelname (const Structure &prim, const Lattice &superlat) |
Make supercell name name [deprecated]. More... | |
std::string | canonical_scelname (const Structure &prim, const Lattice &superlat) |
Make canonical supercell name name [deprecated]. More... | |
template<> | |
StringAttributeDictionary< Supercell > | make_string_dictionary< Supercell > () |
template<> | |
BooleanAttributeDictionary< Supercell > | make_boolean_dictionary< Supercell > () |
template<> | |
IntegerAttributeDictionary< Supercell > | make_integer_dictionary< Supercell > () |
template<> | |
ScalarAttributeDictionary< Supercell > | make_scalar_dictionary< Supercell > () |
template<> | |
VectorXiAttributeDictionary< Supercell > | make_vectorxi_dictionary< Supercell > () |
template<> | |
VectorXdAttributeDictionary< Supercell > | make_vectorxd_dictionary< Supercell > () |
bool | almost_equal (ClusterInvariants const &A, ClusterInvariants const &B, double tol) |
Check if ClusterInvariants are equal. More... | |
bool | compare (ClusterInvariants const &A, ClusterInvariants const &B, double tol) |
Compare ClusterInvariants. More... | |
bool | almost_equal (WithinScelClusterInvariants const &A, WithinScelClusterInvariants const &B, double tol) |
Check if WithinScelClusterInvariants are equal. More... | |
bool | compare (WithinScelClusterInvariants const &A, WithinScelClusterInvariants const &B, double tol) |
Compare WithinScelClusterInvariants. More... | |
template<typename OutputIterator > | |
OutputIterator | neighborhood (Structure const &unit, double max_radius, SiteFilterFunction site_filter, OutputIterator result, double xtal_tol) |
Output the neighborhood of UnitCellCoord within max_radius of any sites in unit cell. More... | |
template<typename OutputIterator > | |
OutputIterator | neighborhood (IntegralCluster const &phenomenal, double cutoff_radius, SiteFilterFunction site_filter, bool include_phenomenal_sites, OutputIterator result, double xtal_tol) |
Output the neighborhood of sites within cutoff_radius of any sites in the phenomenal. More... | |
template<typename OrbitType , typename OutputIterator > | |
OutputIterator | local_orbit_neighborhood (const OrbitType &orbit, OutputIterator result) |
Iterate over all sites in an orbit and insert a UnitCellCoord. More... | |
template<typename ClusterOrbitIterator , typename OutputIterator > | |
OutputIterator | local_neighborhood (ClusterOrbitIterator begin, ClusterOrbitIterator end, OutputIterator result) |
Iterate over all sites in all orbits and insert a UnitCellCoord. More... | |
template<typename OrbitType > | |
bool | has_local_neighborhood_overlap (std::vector< OrbitType > &local_orbits, const Eigen::Matrix3i &transf_mat) |
Check if periodic images of sites in an orbit are overlapping in supercells defined by the given superlattice transformation matrix. More... | |
template<typename OrbitType > | |
std::vector< Eigen::Matrix3i > | viable_supercells (std::vector< OrbitType > &local_orbits, const std::vector< Eigen::Matrix3i > &transf_mat) |
Return superlattice transf. matrices for which has_local_neighborhood_overlap is false. More... | |
template<typename OrbitType > | |
OrbitGenerators< OrbitType > & | insert_subcluster_generators (typename OrbitType::Element cluster, OrbitGenerators< OrbitType > &generators) |
Given a cluster, generate all subcluster generators. More... | |
template<typename OrbitIterator > | |
std::pair< OrbitIterator, OrbitIterator > | orbit_branch (OrbitIterator begin, OrbitIterator end, Index size) |
Returns the first range containing orbits of the requested orbit branch in the given range of Orbit. More... | |
template<typename OrbitType , typename OrbitOutputIterator > | |
OrbitOutputIterator | make_asymmetric_unit (const OrbitBranchSpecs< OrbitType > &specs, OrbitOutputIterator result, std::ostream &status) |
Generate the asymmetric unit, using OrbitBranchSpecs. More... | |
template<typename OrbitType , typename OrbitInputIterator , typename OrbitOutputIterator > | |
OrbitOutputIterator | make_next_orbitbranch (OrbitInputIterator begin, OrbitInputIterator end, const OrbitBranchSpecs< OrbitType > &specs, OrbitOutputIterator result, std::ostream &status) |
Use orbits of size n to generate orbits of size n+1. More... | |
template<typename OrbitBranchSpecsIterator , typename OrbitOutputIterator > | |
OrbitOutputIterator | make_orbits (OrbitBranchSpecsIterator begin, OrbitBranchSpecsIterator end, const std::vector< IntegralClusterOrbitGenerator > &custom_generators, OrbitOutputIterator result, std::ostream &status) |
Generate orbits of IntegralCluster using OrbitBranchSpecs. More... | |
template<typename OutputIterator > | |
OutputIterator | prim_periodic_orbit_neighborhood (const PrimPeriodicOrbit< IntegralCluster > &orbit, OutputIterator result) |
Iterate over all sites in an orbit and insert a UnitCellCoord. More... | |
template<typename ClusterOrbitIterator , typename OutputIterator > | |
OutputIterator | prim_periodic_neighborhood (ClusterOrbitIterator begin, ClusterOrbitIterator end, OutputIterator result) |
Iterate over all sites in all orbits and insert a UnitCellCoord. More... | |
template<typename OutputIterator , typename OrbitType > | |
OutputIterator | flower_neighborhood (OrbitType const &orbit, OutputIterator result) |
Iterate over all sites in an orbit and insert a UnitCellCoord. More... | |
template<typename ClusterOrbitIterator , typename OutputIterator > | |
OutputIterator | flower_neighborhood (ClusterOrbitIterator begin, ClusterOrbitIterator end, OutputIterator result) |
Iterate over all sites in all orbits and insert a UnitCellCoord. More... | |
template<typename OrbitType > | |
bool | has_local_neighborhood_overlap (std::vector< OrbitType > const &local_orbits, Eigen::Matrix3i const &transf_mat) |
Check if periodic images of sites in an orbit are overlapping in supercells defined by the given superlattice transformation matrix. More... | |
template<typename FunctorType > | |
void | for_all_orbits (ClusterSpecs const &cluster_specs, std::vector< IntegralCluster > const &generating_elements, FunctorType const &f) |
template<typename FunctorType > | |
void | for_all_orbits (ClusterSpecs const &cluster_specs, std::ostream &status, FunctorType const &f) |
bool | all_sites_filter (const xtal::Site &site) |
Generate clusters using all Site. More... | |
bool | alloy_sites_filter (const xtal::Site &site) |
Generate clusters using Site with site_occupant.size() > 1. More... | |
SiteFilterFunction | dof_sites_filter (const std::vector< DoFKey > &dofs={}) |
Generate clusters using Site with specified DoF. More... | |
ClusterFilterFunction | all_clusters_filter () |
Accept all clusters. More... | |
ClusterFilterFunction | max_length_cluster_filter (double max_length) |
Accept clusters with max pair distance less than max_length. More... | |
CandidateSitesFunction | empty_neighborhood () |
No sites (for null orbit, or global dof only) More... | |
CandidateSitesFunction | origin_neighborhood () |
Only sites in the origin unit cell {b, 0, 0, 0}. More... | |
CandidateSitesFunction | max_length_neighborhood (double max_length) |
CandidateSitesFunction | cutoff_radius_neighborhood (IntegralCluster const &phenomenal, double cutoff_radius, bool include_phenomenal_sites=false) |
Sites within cutoff_radius distance to any site in the phenomenal cluster. More... | |
jsonParser & | to_json (const IntegralClusterOrbitGenerator &orbit_generator, jsonParser &json) |
Write custom orbit specs to JSON. More... | |
void | parse (InputParser< std::vector< IntegralClusterOrbitGenerator >> &parser, Structure const &prim) |
Parse custom orbit specs from JSON. More... | |
void | parse (InputParser< PeriodicMaxLengthClusterSpecs > &parser, const std::shared_ptr< Structure const > &shared_prim, const SymGroup &super_group) |
Parse PeriodicMaxLengthClusterSpecs from JSON. More... | |
void | parse (InputParser< LocalMaxLengthClusterSpecs > &parser, const std::shared_ptr< Structure const > &shared_prim, const SymGroup &super_group) |
Parse LocalMaxLengthClusterSpecs from JSON. More... | |
void | parse (InputParser< ClusterSpecs > &parser, const std::shared_ptr< Structure const > &shared_prim) |
Parse PeriodicMaxLengthClusterSpecs or LocalMaxLengthClusterSpecs from JSON & validate. More... | |
void | parse (InputParser< ClusterSpecs > &parser, const std::shared_ptr< Structure const > &shared_prim, const SymGroup &super_group) |
Parse ClusterSpecs from JSON & validate. More... | |
jsonParser & | to_json (const PeriodicMaxLengthClusterSpecs &cspecs, jsonParser &json) |
Write PeriodicMaxLengthClusterSpecs to JSON. More... | |
jsonParser & | to_json (const LocalMaxLengthClusterSpecs &cspecs, jsonParser &json) |
Write LocalMaxLengthClusterSpecs to JSON. More... | |
jsonParser & | to_json (const ClusterSpecs &cspecs, jsonParser &json) |
Write PeriodicMaxLengthClusterSpecs or LocalMaxLengthClusterSpecs to JSON. More... | |
jsonParser & | to_json (IntegralCluster const &clust, jsonParser &json) |
Write IntegralCluster to JSON object. More... | |
void | from_json (IntegralCluster &clust, jsonParser const &json) |
Read from JSON. More... | |
void | parse (InputParser< IntegralCluster > &parser, Structure const &prim) |
Parse IntegralCluster from JSON. More... | |
jsonParser & | to_json (const OrbitPrinterOptions &opt, jsonParser &json) |
void | from_json (OrbitPrinterOptions &opt, const jsonParser &json) |
Read from JSON. More... | |
template<typename ClusterOrbitIterator , typename OrbitPrinter > | |
void | print_clust (ClusterOrbitIterator begin, ClusterOrbitIterator end, Log &out, OrbitPrinter printer) |
Print IntegralCluster orbits. More... | |
template<typename ClusterOrbitIterator > | |
void | print_clust (ClusterOrbitIterator begin, ClusterOrbitIterator end, Log &out, const OrbitPrinterOptions &opt=OrbitPrinterOptions()) |
Print IntegralCluster orbits. More... | |
template<typename ClusterOutputIterator , typename SymCompareType > | |
ClusterOutputIterator | read_clust (ClusterOutputIterator result, const jsonParser &json, const Structure &prim, const SymGroup &generating_grp, const SymCompareType &sym_compare) |
Read JSON containing Orbit<SymCompareType> prototypes. More... | |
template<typename ClusterOutputIterator > | |
ClusterOutputIterator | read_clust (ClusterOutputIterator result, const jsonParser &json, const Structure &prim) |
Read JSON containing IntegralCluster prototypes, as IntegralCluster. More... | |
template<typename ClusterOrbitIterator , typename Printer > | |
jsonParser & | write_clust (ClusterOrbitIterator begin, ClusterOrbitIterator end, jsonParser &json, Printer printer) |
Write Orbit<SymCompareType> to JSON. More... | |
template<typename ClusterOrbitIterator > | |
jsonParser & | write_clust (ClusterOrbitIterator begin, ClusterOrbitIterator end, jsonParser &json, const OrbitPrinterOptions &opt=OrbitPrinterOptions()) |
Write Orbit<SymCompareType> to JSON. More... | |
template<typename ClusterOrbitIterator , typename Printer > | |
jsonParser & | write_clust (ClusterOrbitIterator begin, ClusterOrbitIterator end, jsonParser &json, Printer printer, const jsonParser &bspecs) |
Write Orbit<SymCompareType> to JSON, including 'bspecs'. More... | |
template<typename OrbitPrinter , typename Element > | |
void | print_coordinates (OrbitPrinter &printer, const Element &element, Log &out) |
std::ostream & | operator<< (std::ostream &sout, ClusterInvariants const &invariants) |
Print ClusterInvariants. More... | |
std::ostream & | operator<< (std::ostream &sout, WithinScelClusterInvariants const &invariants) |
Print WithinScelClusterInvariants. More... | |
std::ostream & | operator<< (std::ostream &sout, const IntegralCluster &clust) |
Print IntegralCluster to stream, using default Printer<IntegralCluster> More... | |
std::set< Index > | make_cluster_site_indices (IntegralCluster const &cluster, SupercellSymInfo const &sym_info) |
Return site indices of cluster sites. More... | |
IntegralCluster | make_cluster (std::set< Index > const &cluster_site_indices, Structure const &prim, SupercellSymInfo const &sym_info) |
Return cluster from cluster site indices. More... | |
template<typename PermuteIteratorIt > | |
std::vector< Permutation > | make_inverse_permutations (PermuteIteratorIt begin, PermuteIteratorIt end) |
Make inverse permutations. More... | |
std::set< Index > | permute_cluster_site_indices (Permutation const &inverse_permute, std::set< Index > const &cluster_site_indices) |
Rather than permute values, here we want to permute cluster site indices. More... | |
template<typename InversePermutationIterator > | |
std::set< Index > | make_canonical_cluster_site_indices (InversePermutationIterator inverse_permutations_begin, InversePermutationIterator inverse_permutations_end, std::set< Index > const &cluster_site_indices) |
template<typename InversePermutationIterator , typename ElementIterator > | |
std::set< std::set< Index >, ClusterSiteIndicesCompare > | make_orbit_generators_under_periodic_boundary_conditions (SupercellSymInfo const &sym_info, InversePermutationIterator inverse_permutations_begin, InversePermutationIterator inverse_permutations_end, ElementIterator element_begin, ElementIterator element_end) |
Return "within_scel" orbit generators, as sets of cluster site indices. More... | |
std::string | dry_run_help () |
std::string | coordinate_mode_help () |
std::string | indent_space_help () |
std::string | orbit_print_mode_help () |
std::string | prec_help (std::string what, int default_prec) |
std::string | verbosity_help () |
template<typename T > | |
std::vector< T > | sequence (T first, T last) |
template<typename T > | |
std::vector< T > | sequence (T first, T inc, T last) |
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) |
jsonParser & | to_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 > | |
T | dot (const Tensor< T > &LHS, const Tensor< T > &RHS) |
template<class T > | |
T | norm (const Tensor< T > &ttens) |
template<> | |
ParsingDictionary< AnisoValTraits > | make_parsing_dictionary< AnisoValTraits > () |
bool | identical (AnisoValTraits const &A, AnisoValTraits const &B) |
jsonParser const & | from_json (xtal::SpeciesAttribute &_attr, jsonParser const &json) |
Read SpeciesAttribute from json. More... | |
jsonParser & | to_json (xtal::SpeciesAttribute const &_attr, jsonParser &json) |
From SpeciesAttribute to json. More... | |
jsonParser & | to_json (const xtal::AtomPosition &apos, jsonParser &json, Eigen::Ref< const Eigen::Matrix3d > const &cart2frac) |
Print AtomPosition to json after applying affine transformation cart2frac*cart()+trans. More... | |
void | from_json (xtal::AtomPosition &apos, const jsonParser &json, Eigen::Ref< const Eigen::Matrix3d > const &frac2cart, ParsingDictionary< AnisoValTraits > const &_aniso_val_dict) |
Read AtomPosition from json and then apply affine transformation cart2frac*cart() More... | |
jsonParser & | to_json (const xtal::Molecule &mol, jsonParser &json, Eigen::Ref< const Eigen::Matrix3d > const &c2f_mat) |
void | from_json (xtal::Molecule &mol, const jsonParser &json, Eigen::Ref< const Eigen::Matrix3d > const &f2c_mat, ParsingDictionary< AnisoValTraits > const &_aniso_val_dict) |
jsonParser & | to_json (const xtal::Site &value, jsonParser &json, COORD_TYPE coordtype) |
void | from_json (xtal::Site &value, const jsonParser &json, xtal::Lattice const &_home, COORD_TYPE coordtype, std::map< std::string, xtal::Molecule > const &mol_map, ParsingDictionary< AnisoValTraits > const &_aniso_val_dict) |
xtal::BasicStructure | read_prim (fs::path filename, double xtal_tol, ParsingDictionary< AnisoValTraits > const *_aniso_val_dict=nullptr) |
xtal::BasicStructure | read_prim (const jsonParser &json, double xtal_tol, ParsingDictionary< AnisoValTraits > const *_aniso_val_dict) |
Read prim.json. More... | |
void | write_prim (const xtal::BasicStructure &prim, fs::path filename, COORD_TYPE mode, bool include_va=false) |
Write prim.json to file. More... | |
void | write_prim (const xtal::BasicStructure &prim, jsonParser &json, COORD_TYPE mode, bool include_va=false) |
Write prim.json as JSON. More... | |
void | from_json (xtal::BasicStructure &prim, jsonParser const &json, double xtal_tol, ParsingDictionary< AnisoValTraits > const *_aniso_val_dict=nullptr) |
jsonParser & | to_json (const xtal::BasicStructure &prim, jsonParser &json, COORD_TYPE mode, bool include_va=false) |
template<> | |
DataFormatterDictionary< std::shared_ptr< const Structure > > | make_attribute_dictionary< std::shared_ptr< const Structure > > () |
jsonParser & | to_json (xtal::SiteDoFSet const &_dof, jsonParser &json) |
jsonParser & | to_json (xtal::DoFSet const &_dof, jsonParser &json) |
jsonParser & | to_json (const xtal::Lattice &lat, jsonParser &json) |
void | from_json (xtal::Lattice &lat, const jsonParser &json, double xtal_tol) |
jsonParser & | to_json (xtal::SimpleStructure const &simple_structure, jsonParser &json, std::set< std::string > const &excluded_species={"Va", "VA", "va"}, COORD_TYPE coordinate_mode=CART) |
Output SimpleStructure to JSON. More... | |
void | from_json (xtal::SimpleStructure &simple_structure, const jsonParser &json) |
Read SimpleStructure from JSON. More... | |
jsonParser & | to_json (const xtal::ScelEnumProps &props, jsonParser &json) |
void | from_json (xtal::ScelEnumProps &props, const jsonParser &json) |
Make a ScelEnumProps object from JSON input. More... | |
void | parse (InputParser< xtal::ScelEnumProps > &parser) |
Make a ScelEnumProps object from JSON input. More... | |
jsonParser & | to_json (const xtal::UnitCellCoord &ucc_val, jsonParser &fill_json) |
Print to json as [b, i, j, k]. More... | |
void | from_json (xtal::UnitCellCoord &fill_value, const jsonParser &read_json) |
Read from json [b, i, j, k]. More... | |
template<> | |
std::string | singleline_enum_help< DB::SELECTION_TYPE > () |
template<typename Inserter > | |
Inserter | select_cluster_sites (ConfigEnumInput const &reference_config_enum_input, std::vector< PrimPeriodicIntegralClusterOrbit > const &orbits, Inserter result) |
std::vector< PermuteIterator > | make_invariant_subgroup (ConfigEnumInput const &config_enum_input) |
template<typename PermuteIteratorIt > | |
std::vector< PermuteIterator > | make_invariant_subgroup (ConfigEnumInput const &config_enum_input, PermuteIteratorIt group_begin, PermuteIteratorIt group_end) |
bool | is_valid_dof_space (Configuration const &config, DoFSpace const &dof_space) |
void | throw_if_invalid_dof_space (Configuration const &config, DoFSpace const &dof_space) |
Throw if !is_valid_dof_space(config, dof_space) More... | |
Eigen::VectorXd | get_normal_coordinate (Configuration const &config, DoFSpace const &dof_space) |
Return config DoF value as a coordinate in the DoFSpace basis. More... | |
void | set_dof_value (Configuration &config, DoFSpace const &dof_space, Eigen::VectorXd const &normal_coordinate) |
Set config DoF value from a coordinate in the DoFSpace basis. More... | |
Index | get_dof_space_dimension (DoFKey dof_key, xtal::BasicStructure const &prim, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super=std::nullopt, std::optional< std::set< Index >> const &sites=std::nullopt) |
Return dimension of DoFSpace. More... | |
std::vector< std::string > | make_dof_space_axis_glossary (DoFKey dof_key, xtal::BasicStructure const &prim, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super=std::nullopt, std::optional< std::set< Index >> const &sites=std::nullopt) |
Make DoFSpace axis glossary. More... | |
void | make_dof_space_axis_info (DoFKey dof_key, xtal::BasicStructure const &prim, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super, std::optional< std::set< Index >> const &sites, std::vector< std::string > &axis_glossary, std::optional< std::vector< Index >> &axis_site_index, std::optional< std::vector< Index >> &axis_dof_component) |
Make DoFSpace axis glossary, axis site index, and axis dof component. More... | |
DoFSpace | make_dof_space (DoFKey dof_key, ConfigEnumInput const &input_state, std::optional< Eigen::MatrixXd > const &basis=std::nullopt) |
SymGroupRep const & | make_dof_space_symrep (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, MasterSymGroup &symrep_master_group, SymGroupRepID &id) |
Make a SymGroupRep for a DoFSpace. More... | |
VectorSpaceSymReport | vector_space_sym_report (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges=false) |
Make VectorSpaceSymReport. More... | |
SymRepTools_v2::VectorSpaceSymReport | vector_space_sym_report_v2 (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges=false) |
Make VectorSpaceSymReport. More... | |
DoFSpace | make_symmetry_adapted_dof_space (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges, std::optional< VectorSpaceSymReport > &symmetry_report) |
Make DoFSpace with symmetry adapated basis. More... | |
DoFSpace | make_symmetry_adapted_dof_space_v2 (DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges, std::optional< SymRepTools_v2::VectorSpaceSymReport > &symmetry_report) |
Make DoFSpace with symmetry adapated basis. More... | |
DoFSpace | exclude_homogeneous_mode_space (DoFSpace const &dof_space) |
Removes the homogeneous mode space from the DoFSpace basis. More... | |
Eigen::MatrixXd | make_homogeneous_mode_space (DoFSpace const &dof_space) |
Make the homogeneous mode space of a local DoFSpace. More... | |
template<typename EnumeratorType > | |
bool | is_guaranteed_for_database_insert (EnumeratorType const &enumerator) |
jsonParser & | to_json (ConfigEnumInput const &config_enum_input, jsonParser &json) |
Output ConfigEnumInput to JSON. More... | |
void | parse (InputParser< ConfigEnumInput > &parser, std::shared_ptr< Structure const > const &shared_prim) |
Read ConfigEnumInput from JSON. More... | |
void | from_json (std::vector< std::pair< std::string, ConfigEnumInput >> &config_enum_input, jsonParser const &json, std::shared_ptr< Structure const > shared_prim, PrimClex const *primclex, DB::Database< Supercell > &supercell_db, DB::Database< Configuration > &configuration_db) |
void | parse (InputParser< xtal::ScelEnumProps > &parser, DB::Database< Supercell > &supercell_db) |
std::string | parse_ConfigEnumInput_desc () |
A string describing the JSON format for parsing named ConfigEnumInput. More... | |
void | parse (InputParser< std::vector< std::pair< std::string, ConfigEnumInput >>> &parser, std::shared_ptr< Structure const > shared_prim, PrimClex const *primclex, DB::Database< Supercell > &supercell_db, DB::Database< Configuration > &configuration_db) |
void | from_json (DoFSpace &dofspace, jsonParser const &json, std::shared_ptr< Structure const > const &shared_prim) |
jsonParser & | to_json (DoFSpace const &dofspace, jsonParser &json, std::optional< std::string > const &identifier=std::nullopt, std::optional< ConfigEnumInput > const &input_state=std::nullopt, std::optional< VectorSpaceSymReport > const &sym_report=std::nullopt) |
jsonParser & | to_json (DoFSpace const &dofspace, jsonParser &json, std::optional< std::string > const &identifier, std::optional< ConfigEnumInput > const &input_state, std::optional< SymRepTools_v2::VectorSpaceSymReport > const &sym_report) |
void | parse (InputParser< AxesCounterParams > &parser, Index dof_space_dimension) |
bool | valid_index (Index i) |
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) |
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 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 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 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 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 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... | |
template<typename Container1 , typename Container2 > | |
bool | contains_all (const Container1 &container, const Container2 &values) |
Returns true if each elements of 'values' is contained in 'container'. More... | |
template<typename Container1 , typename Container2 , typename BinaryCompare > | |
bool | contains_all (const Container1 &container, const Container2 &values, BinaryCompare q) |
Returns true if each elements of 'values' is contained in 'container', using comparison functor 'q'. More... | |
template<typename Container > | |
Container::value_type | sum (const Container &container, typename Container::value_type init_val=0) |
template<typename T > | |
T * | end_ptr (std::vector< T > &container) |
Return pointer one past end of vector. Equivalent to convainer.data()+container.size() More... | |
template<typename T > | |
T const * | end_ptr (std::vector< T > const &container) |
Return const pointer one past end of vector. Equivalent to convainer.data()+container.size() More... | |
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 > | |
ReturnArray< Index > | partition_distinct_values (const Eigen::MatrixBase< Derived > &value, double tol=TOL) |
bool | float_lexicographical_compare (const Eigen::Ref< const Eigen::MatrixXd > &A, const Eigen::Ref< const Eigen::MatrixXd > &B, double tol) |
Floating point lexicographical comparison with tol. More... | |
template<typename Derived > | |
bool | colmajor_lex_compare (const Eigen::MatrixBase< Derived > &A, const Eigen::MatrixBase< Derived > &B, double tol) |
Floating point lexicographical comparison with tol. More... | |
template<typename Derived > | |
Derived::PlainObject | reduced_column_echelon (Eigen::MatrixBase< Derived > const &M, double _tol) |
Eigen::VectorXd | eigen_vector_from_string (const std::string &tstr, const int &size) |
double | hungarian_method (const Eigen::MatrixXd &cost_matrix, std::vector< Index > &optimal_assignments, const double _tol) |
template<typename Derived > | |
Derived::Scalar * | end_ptr (Eigen::PlainObjectBase< Derived > &container) |
Return pointer one past end of vector. Equivalent to convainer.data()+container.size() More... | |
template<typename Derived > | |
Derived::Scalar const * | end_ptr (Eigen::PlainObjectBase< Derived > const &container) |
Return const pointer one past end of vector. Equivalent to convainer.data()+container.size() More... | |
void | get_Hermitian (Eigen::MatrixXcd &original_mat, Eigen::MatrixXcd &hermitian_mat, Eigen::MatrixXcd &antihermitian_mat) |
bool | is_Hermitian (Eigen::MatrixXcd &mat) |
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_product (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(Local::round_l< typename Derived::Scalar >), const Derived > | round (const Eigen::MatrixBase< Derived > &val) |
Round Eigen::MatrixXd. More... | |
template<typename Derived > | |
Eigen::CwiseUnaryOp< decltype(Local::iround_l< typename Derived::Scalar >), const Derived > | iround (const Eigen::MatrixBase< Derived > &val) |
Round Eigen::MatrixXd to Eigen::MatrixXi. More... | |
template<typename Derived > | |
Eigen::CwiseUnaryOp< decltype(Local::lround_l< 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... | |
Eigen::Matrix3d | polar_decomposition (Eigen::Matrix3d const &mat) |
std::vector< Eigen::Matrix3i > | _unimodular_matrices (bool positive, bool negative, int range=1) |
const std::vector< Eigen::Matrix3i > & | positive_unimodular_matrices () |
const std::vector< Eigen::Matrix3i > & | negative_unimodular_matrices () |
template<int range = 1> | |
const std::vector< Eigen::Matrix3i > & | unimodular_matrices () |
int | round (double val) |
template<typename T > | |
T | min (const T &A, const T &B) |
template<typename T > | |
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 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... | |
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) |
template<typename IntType > | |
std::vector< IntType > | index_to_kcombination (IntType ind, 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... | |
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... | |
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) |
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) |
std::string | to_sequential_string (Index i, Index max_i, char prepend_char='0') |
int | mod (int a, int b) |
double | cuberoot (double number) |
template<typename IteratorType > | |
void | swap (FilterIterator< IteratorType > &a, FilterIterator< IteratorType > &b) |
Definitions. More... | |
template<typename IteratorType , typename DataObject > | |
FilterIterator< IteratorType > | filter_begin (IteratorType const &it, IteratorType const &it_end, std::function< bool(typename FilterIterator< IteratorType >::reference)> filter_function) |
template<typename IteratorType > | |
FilterIterator< IteratorType > | filter_end (IteratorType const &it_end) |
template<typename T > | |
ParsingDictionary< T > | make_parsing_dictionary () |
Eigen::MatrixXd | pad (const Eigen::MatrixXd &M, int n) |
Construct a matrix consisting of blocks M and Identity(n,n) More... | |
template<typename T > | |
std::string | type_name () |
template<typename Element , typename OpIterator , typename SymCompareType , typename OpOutputIterator > | |
OpOutputIterator | make_invariant_subgroup (Element const &element, OpIterator group_begin, OpIterator group_end, SymCompareType const &sym_compare, OpOutputIterator result) |
Construct the subgroup that leaves an element unchanged. More... | |
template<typename Element , typename SymCompareType , typename OutputIterator > | |
OutputIterator | make_invariant_subgroup (Element const &element, PermuteIterator permute_begin, PermuteIterator permute_end, SymCompareType const &sym_compare, OutputIterator result) |
Construct the subgroup (PermuteIterator) that leaves an element unchanged. More... | |
template<typename Element , typename SymCompareType > | |
SymGroup | make_invariant_subgroup (const Element &element, const SymGroup &generating_grp, const SymCompareType &sym_compare) |
Construct the subgroup that leaves an element unchanged. More... | |
template<typename OrbitType > | |
SymGroup | make_invariant_subgroup (const OrbitType &orbit, Index element_index=0) |
Construct the subgroup that leaves an element of the orbit unchanged. More... | |
template<> | |
DataFormatterDictionary< SupercellSymInfo > | make_attribute_dictionary< SupercellSymInfo > () |
void | write_symop (SymGroup const &grp, Index i, jsonParser &j) |
void | write_symgroup (SymGroup const &grp, jsonParser &json) |
void | write_basis_permutation_rep (SymGroup const &grp, jsonParser &group_rep_json, SymGroupRepID symgrouprep_id) |
Describes how integral site coordinates transform under application of symmetry. More... | |
void | write_occ_permutation_rep (SymGroup const &grp, jsonParser &json, std::vector< SymGroupRepID > occupant_symrep_IDs) |
void | write_matrix_rep (SymGroupRepHandle const &grp, jsonParser &json) |
jsonParser & | to_json (const SymInfoOptions &opt, jsonParser &json) |
void | from_json (SymInfoOptions &opt, const jsonParser &json) |
Read from JSON. More... | |
void | to_json (const SymInfo &info, jsonParser &json) |
Adds to existing JSON object. More... | |
jsonParser & | to_json (SymRepTools::IrrepInfo const &irrep, jsonParser &json) |
jsonParser & | to_json (SymRepTools::SubWedge const &wedge, jsonParser &json) |
jsonParser & | to_json (VectorSpaceSymReport const &obj, jsonParser &json) |
jsonParser & | to_json (SymRepTools_v2::IrrepInfo const &irrep, jsonParser &json) |
jsonParser & | to_json (SymRepTools_v2::SubWedge const &wedge, jsonParser &json) |
jsonParser & | to_json (SymRepTools_v2::VectorSpaceSymReport const &obj, jsonParser &json) |
void | print_sym_info (Log &log, const SymInfo &info, SymInfoOptions opt=SymInfoOptions()) |
Print SymInfo. More... | |
std::string | to_string (const SymInfo &info, SymInfoOptions opt=SymInfoOptions()) |
Print SymInfo to string. More... | |
std::string | to_brief_unicode (const SymInfo &info, SymInfoOptions opt=SymInfoOptions()) |
Print symmetry symbol to string. More... | |
std::string | description (const SymOp &op, const xtal::Lattice &lat, SymInfoOptions opt=SymInfoOptions()) |
Print SymInfo to string. More... | |
void | description (Log &log, const SymGroup &g, const xtal::Lattice &lat, SymInfoOptions opt=SymInfoOptions()) |
Print SymGroup with matrix / tau. More... | |
std::string | brief_description (const SymOp &op, const xtal::Lattice &lat, SymInfoOptions opt=SymInfoOptions()) |
Print SymInfo to brief string. More... | |
void | brief_description (Log &log, const SymGroup &g, const xtal::Lattice &lat, SymInfoOptions opt=SymInfoOptions()) |
Print SymGroup with brief string. More... | |
SymRepTools_v2::IrrepDecomposition | make_irrep_decomposition (SymGroupRep const &rep, SymGroup const &head_group, Eigen::MatrixXd const &_init_subspace, bool allow_complex) |
Make an IrrepDecompotion using CASM::SymGroupRep and CASM::SymGroup. More... | |
template<typename GeneratorIterator , typename SymCompareType , typename OrbitOutputIterator > | |
OrbitOutputIterator | make_orbits (GeneratorIterator gen_begin, GeneratorIterator gen_end, const SymGroup &generating_group, const SymCompareType &sym_compare, OrbitOutputIterator result) |
Iterator over Generators (potential prototypes) and insert resulting orbits into 'result' iterator. More... | |
template<typename OrbitIterator , typename Element > | |
OrbitIterator | find_orbit (OrbitIterator begin, OrbitIterator end, Element e) |
Find orbit containing an element in a range of Orbit. More... | |
template<typename OrbitIterator > | |
PrototypeIterator< OrbitIterator > | prototype_iterator (OrbitIterator orbit_it) |
Convert an Orbit iterator to a prototype iterator. More... | |
template<typename OrbitIterator > | |
InvariantsIterator< OrbitIterator > | invariants_iterator (OrbitIterator orbit_it) |
Convert an Orbit iterator to an invariants iterator. More... | |
template<typename SymCompareType > | |
std::vector< Orbit< SymCompareType > > | generate_orbits (std::vector< typename SymCompareType::Element > const &generating_elements, SymGroup const &generating_group, SymCompareType const &sym_compare) |
Construct orbits from a vector of generating elements. More... | |
template<typename GroupOpIterator , typename SubgroupOpIterator > | |
MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator > | make_suborbit_generators_f (GroupOpIterator group_begin, GroupOpIterator group_end, SubgroupOpIterator subgroup_begin, SubgroupOpIterator subgroup_end) |
template<typename GroupOpIterator , typename SubgroupOpIterator , typename ElementIterator , typename SymCompareType , typename ElementOutputIterator > | |
ElementOutputIterator | make_suborbit_generators (GroupOpIterator group_begin, GroupOpIterator group_end, SubgroupOpIterator subgroup_begin, SubgroupOpIterator subgroup_end, ElementIterator element_begin, ElementIterator element_end, SymCompareType const &sym_compare, ElementOutputIterator result) |
std::string | hermite_normal_form_name (const Eigen::Matrix3l &matrix) |
Eigen::Matrix3l | make_hermite_normal_form (std::string hermite_normal_form_name) |
std::string | make_supercell_name (SymGroup const &point_group, Lattice const &prim_lattice, Lattice const &supercell_lattice) |
Make the supercell name. More... | |
std::string | make_canonical_supercell_name (SymGroup const &point_group, Lattice const &prim_lattice, Lattice const &supercell_lattice) |
Make the canonical supercell name. More... | |
xtal::Superlattice | make_superlattice_from_supercell_name (SymGroup const &factor_group, Lattice const &prim_lattice, std::string supercell_name) |
Construct a Superlattice from the supercell name. More... | |
std::pair< MasterSymGroup, SymGroupRepID > | make_collective_dof_symrep (std::set< Index > const &site_indices, SupercellSymInfo const &_syminfo, DoFKey const &_key, std::vector< PermuteIterator > const &_group) |
Make the matrix representation for group '_group' describing the transformation of DoF '_key' among a subset of sites. More... | |
std::map< std::string, std::string > | point_group_info (SymGroup const &group) |
return dictionary of point group info: result["centricity"] : "Centric" or "Acentric" result["crystal_system"] : cubic, hexagonal, etc result["international_name"] : Hermann-Mauguin point group name result["name"] : Schoenflies name result["latex_name"] : Schoenflies name (in LaTeX markup) result["space_group_range"] : range of possible space group numbers If group is magnetic, then point group name has form "G1(G2)" where G1 is point group name of entire group (with time-reversal turned of) and G2 is the subgroup of operations that do not effect time reversal. If G1 is identical to G2 (every operation has a time-reversed partner), then the name is G1' does not work for icosahedral groups More... | |
SymGroup | molecular_point_group (std::map< int, std::vector< Eigen::Vector3d >> coord_map) |
MasterSymGroup | make_master_sym_group (SymGroup const &_group, Lattice const &_lattice) |
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) |
const SymOp::matrix_type & | get_matrix (const SymOp &op) |
const SymOp::vector_type & | get_translation (const SymOp &op) |
bool | get_time_reversal (const SymOp &op) |
void | print_matrix_tau_col (Log &log, const SymOp &op, Index prec) |
Print formatted SymOp matrix and tau. More... | |
VectorSpaceSymReport | vector_space_sym_report (SymGroupRep const &_rep, SymGroup const &head_group, Eigen::Ref< const Eigen::MatrixXd > const &_subspace, bool calc_wedges=false) |
Construct the VectorSpaceSymReport for. More... | |
multivector< Eigen::VectorXcd >::X< 2 > | special_irrep_directions (SymGroupRep const &_rep, SymGroup const &head_group, double vec_compare_tol) |
Assuming that _rep is an irrep of head_group, find high-symmetry directions throws if _rep is not an irrep. More... | |
multivector< Eigen::VectorXcd >::X< 2 > | special_irrep_directions (SymGroupRep const &_rep, SymGroup const &head_group, Eigen::Ref< const Eigen::MatrixXcd > const &_subspace, double vec_compare_tol, bool all_subgroups=false) |
Assuming that _rep is an irrep of head_group, find high-symmetry directions throws if _rep is not an irrep. More... | |
SymRepTools::Symmetrizer | irrep_symmetrizer (SymGroupRep const &_rep, const SymGroup &head_group, double vec_compare_tol) |
SymRepTools::Symmetrizer | irrep_symmetrizer (SymGroupRep const &_rep, const SymGroup &head_group, Eigen::Ref< const Eigen::MatrixXcd > const &_subspace, double vec_compare_tol) |
Index | num_blocks (SymGroupRep const &_rep, const SymGroup &head_group) |
counts number of nonzero blocks in matrix representation of head_group as specified by _rep Reveals number of invariant subspaces (with respect to head_group) that comprise the vector space supporting _rep More... | |
Eigen::MatrixXd | full_trans_mat (std::vector< SymRepTools::IrrepInfo > const &irreps) |
Assumes that irreps are real, and concatenates their individual trans_mats to form larger trans_mat. More... | |
multivector< Eigen::VectorXd >::X< 3 > | special_total_directions (SymGroupRep const &_rep, const SymGroup &head_group) |
finds high-symmetry directions within vector space supporting _rep, wrt symmetry of head_group More... | |
std::vector< std::vector< Eigen::MatrixXd > > | special_subspaces (SymGroupRep const &_rep, const SymGroup &head_group) |
finds high-symmetry subspaces within vector space supporting _rep, wrt symmetry of head_group High-symmetry subspaces are closed under the action of a nontrivial subgroup of head_group, without spanning the entire vector space supporting _rep More... | |
std::vector< SymGroupRepID > | irrep_IDs (SymGroupRep const &_rep, const SymGroup &head_group) |
Find irrep decomposition of _rep wrt group head_group and returns it as a list of SymGroupRepIDs corresponding to representtions of master_group. More... | |
bool | is_irrep (SymGroupRep const &_rep, const SymGroup &head_group) |
Returns true if _rep is irreducible wrt head_group (does not use character table information) More... | |
Eigen::MatrixXd | irrep_trans_mat (SymGroupRep const &_rep, const SymGroup &head_group) |
Finds the transformation matrix that block-diagonalizes this representation of head_group into irrep blocks It does not rely on the character table, but instead utilizes a brute-force method This routine additionally orients the resulting basis vectors along high-symmetry directions of the vector space on which they are defined. More... | |
std::pair< Eigen::MatrixXd, std::vector< Eigen::VectorXcd > > | irrep_trans_mat_and_characters (SymGroupRep const &_rep, const SymGroup &head_group, SymRepTools::SymmetrizerFunction symmetrizer_func) |
Finds the transformation matrix that block-diagonalizes this representation of head_group into irrep blocks It does not rely on the character table, but instead utilizes a brute-force method. More... | |
std::vector< SymRepTools::IrrepInfo > | irrep_decomposition (SymGroupRep const &_rep, SymGroup const &head_group, bool allow_complex) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method. More... | |
std::vector< SymRepTools::IrrepInfo > | irrep_decomposition (SymGroupRep const &_rep, SymGroup const &head_group, Eigen::Ref< const Eigen::MatrixXd > const &_subspace, bool allow_complex) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method. More... | |
std::vector< SymRepTools::IrrepInfo > | irrep_decomposition (SymGroupRep const &_rep, SymGroup const &head_group, SymRepTools::SymmetrizerFunction const &symmetrizer_func, bool allow_complex) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method. More... | |
std::vector< SymRepTools::IrrepInfo > | irrep_decomposition (SymGroupRep const &_rep, SymGroup const &head_group, SymRepTools::SymmetrizerFunction const &symmetrizer_func, Eigen::MatrixXd subspace, bool allow_complex) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method. More... | |
SymGroupRep | subset_permutation_rep (const SymGroupRep &permute_rep, const std::vector< std::set< Index >> &subsets) |
SymGroupRep | permuted_direct_sum_rep (const SymGroupRep &permute_rep, const std::vector< SymGroupRep const * > &sum_reps) |
SymGroupRep | kron_rep (const SymGroupRep &LHS, const SymGroupRep &RHS) |
template<typename GeneratorIterator , typename SymCompareType , typename OrbitOutputIterator > | |
OrbitOutputIterator | make_orbits (GeneratorIterator gen_begin, GeneratorIterator gen_end, const SymGroup &generating_group, const SymCompareType &sym_compare, OrbitOutputIterator result, std::ostream &status) |
Generate Orbit<IntegralVector> using OrbitBranchSpecs. More... | |
SymRepTools_v2::VectorSpaceSymReport | vector_space_sym_report_v2 (SymGroupRep const &rep, SymGroup const &head_group, Eigen::MatrixXd const &subspace, bool calc_wedges=false) |
Construct VectorSpaceSymReport, using CASM::SymGroupRep and CASM::SymGroup. More... | |
bool | almost_equal (VectorInvariants const &A_invariants, VectorInvariants const &B_invariants, double tol) |
Check if VectorInvariants are equal. More... | |
bool | compare (VectorInvariants const &A_invariants, VectorInvariants const &B_invariants, double tol) |
Compare ClusterInvariants. More... | |
bool | almost_equal (SymRepTools_v2::VectorInvariants const &A_invariants, SymRepTools_v2::VectorInvariants const &B_invariants, double tol) |
bool | compare (SymRepTools_v2::VectorInvariants const &A_invariants, SymRepTools_v2::VectorInvariants const &B_invariants, double tol) |
std::string | include_path (const fs::path &dir) |
std::string | link_path (const fs::path &dir) |
const std::string & | version () |
void | display (std::ostream &sout, const CompositionAxes &comp_axes) |
void | throw_if_no_root_dir (DirectoryStructure const &dir) |
void | parse (InputParser< ConfigEnumRandomLocalParams > &parser, MTRand &mtrand) |
void | parse (InputParser< ConfigEnumRandomOccupationsParams > &parser, MTRand &mtrand) |
void | parse (InputParser< ConfigEnumSiteDoFsParams > &parser, ConfigEnumInput const &initial_state, AxesCounterParams &axes_params, bool sym_axes_option, bool exclude_homogeneous_modes) |
Parse the ConfigEnumSiteDoFsParams JSON input. More... | |
void | require_all_input_have_the_same_number_of_selected_sites (InputParser< std::vector< std::pair< std::string, ConfigEnumInput >>> &parser) |
void | parse (InputParser< ConfigEnumStrainParams > &parser, ConfigEnumInput const &initial_state, AxesCounterParams &axes_params, bool sym_axes_option) |
void | require_valid_sub_configurations (ParentInputParser &parser, DB::Selection< Configuration > const &config_selection, Supercell const &supercell) |
template std::pair< enum_it_type, runtimelib_it_type > | load_enumerator_plugins (ProjectSettings const &set, enum_it_type enum_it, runtimelib_it_type lib_it) |
std::tuple< std::string, std::string, BasicStructure > | standardize_prim (BasicStructure const &prim, bool force) |
void | print_runtime_lib_options_help (std::ostream &sout) |
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 Monte::MonteSettings &monte_settings, const CommandArgs &args, const Completer::MonteOption &monte_opt) |
int | _run_Canonical (PrimClex &primclex, const Monte::MonteSettings &monte_settings, const CommandArgs &args, const Completer::MonteOption &monte_opt) |
int | perturb_command (const CommandArgs &args) |
template<typename DataObject > | |
void | _update_query_dict (DataFormatterDictionary< QueryData< DataObject >> &query_dict) |
template<> | |
void | _update_query_dict< Configuration > (DataFormatterDictionary< QueryData< Configuration >> &query_dict) |
template<typename DataObject > | |
void | _query_equivalents (DataFormatter< QueryData< DataObject >> &formatter, jsonParser &json, PrimClex const &primclex, DataObject const &object) |
template<> | |
void | _query_equivalents (DataFormatter< QueryData< Configuration >> &formatter, jsonParser &json, PrimClex const &primclex, Configuration const &object) |
template<typename DataObject > | |
void | _query_equivalents (DataFormatter< QueryData< DataObject >> &formatter, std::ostream &stream, PrimClex const &primclex, DataObject const &object) |
template<> | |
void | _query_equivalents (DataFormatter< QueryData< Configuration >> &formatter, std::ostream &stream, PrimClex const &primclex, Configuration const &object) |
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) |
void | write_prim_symmetry_impl (Structure const &prim, DirectoryStructure const &dir, COORD_TYPE coordtype, bool brief, Log &log, bool print_lattice_point_group, bool print_factor_group, bool print_crystal_point_group) |
template<> | |
DoFType::TraitsDictionary | make_parsing_dictionary< DoFType::Traits > () |
std::vector< std::string > | parse_label_template (std::string const &_template) |
std::string::const_iterator | end_of_literal (std::string::const_iterator it, std::string::const_iterator end_it) |
template<bool IsConst> | |
void | swap (jsonParserIterator< IsConst > &a, jsonParserIterator< IsConst > &b) |
template void | swap< true > (jsonParserIterator< true > &, jsonParserIterator< true > &) |
template void | swap< false > (jsonParserIterator< false > &, jsonParserIterator< false > &) |
std::vector< int > | rand_unique (int n, int c, MTRand &mtrand) |
Choose c random unique numbers in [0,n) More... | |
template<typename ConfigType > | |
std::string | pos_path (const ConfigType &config) |
Eigen::MatrixXd | _composition_space (const ParamComposition::AllowedOccupants &_allowed_occs, double tol) |
Non-orthogonal composition space. More... | |
template<> | |
VectorXiAttributeDictionary< Configuration > | make_vectorxi_dictionary< Configuration > () |
template<> | |
DataFormatterDictionary< Configuration, BaseValueFormatter< jsonParser, Configuration > > | make_json_dictionary< Configuration > () |
std::ostream & | operator<< (std::ostream &sout, const Configuration &c) |
template<> | |
ChemicalReferenceState | from_json (const jsonParser &json) |
Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'. More... | |
BasicStructure | read_prim (ProjectSettings const &project_settings) |
std::shared_ptr< Structure const > | read_shared_prim (ProjectSettings const &project_settings) |
Eigen::Matrix3l | transf_mat (const Lattice &prim_lat, const Lattice &super_lat, double tol) |
Make superlattice transformation matrix [deprecated]. More... | |
template<> | |
DataFormatterDictionary< Supercell, BaseValueFormatter< jsonParser, Supercell > > | make_json_dictionary< Supercell > () |
std::vector< std::string > | make_axis_glossary (DoFKey dof_key, xtal::BasicStructure const &prim, std::optional< Eigen::Matrix3l > const &transformation_matrix_to_super, std::optional< std::set< Index >> const &sites) |
The axis_glossary gives names to an un-symmetrized coordinate system. More... | |
void | parse (InputParser< DoFSpace > &parser, std::shared_ptr< Structure const > const &shared_prim) |
void | parse_axes_counter_range (InputParser< AxesCounterParams > &parser) |
void | parse_axes_from_object (InputParser< AxesCounterParams > &parser, Index dof_space_dimension) |
void | parse_axes_from_array (InputParser< AxesCounterParams > &parser, Index dof_space_dimension) |
void | parse_dof_space_axes (InputParser< AxesCounterParams > &parser, Index dof_space_dimension) |
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 | sym_line (const xtal::Coordinate &axis, const xtal::Coordinate &point, SymInfoOptions opt) |
Use axis and invariant point to return line in '0, y, 0'-type notation. More... | |
std::string | sym_plane (const xtal::Coordinate &v1, const xtal::Coordinate &v2, const xtal::Coordinate &point, SymInfoOptions opt) |
Use two perpendicular vectors in plane and invariant point to return plane in 'x, y, 0'-type notation. More... | |
std::string | sym_plane (const xtal::Coordinate &axis, const xtal::Coordinate &point, SymInfoOptions opt) |
Use axis and invariant point to return plane in 'x, y, 0'-type notation. More... | |
template SymGroup | make_sym_group (PermuteIterator begin, PermuteIterator end, const Lattice &supercell_lattice) |
template SymGroup | make_sym_group (std::vector< PermuteIterator >::const_iterator begin, std::vector< PermuteIterator >::const_iterator end, const Lattice &supercell_lattice) |
template SymGroup | make_sym_group (std::vector< PermuteIterator >::iterator begin, std::vector< PermuteIterator >::iterator end, const Lattice &supercell_lattice) |
template SymGroup | make_point_group (PermuteIterator begin, PermuteIterator end, const Lattice &supercell_lattice) |
template SymGroup | make_point_group (std::vector< PermuteIterator >::const_iterator begin, std::vector< PermuteIterator >::const_iterator end, const Lattice &supercell_lattice) |
template SymGroup | make_point_group (std::vector< PermuteIterator >::iterator begin, std::vector< PermuteIterator >::iterator end, const Lattice &supercell_lattice) |
void | swap (PermuteIterator &a, PermuteIterator &b) |
std::vector< Permutation > | make_translation_permutations (const Eigen::Matrix3l &transformation_matrix, int basis_sites_in_prim) |
SymGroupRepID | make_permutation_representation (const SymGroup &group, const xtal::UnitCellCoordIndexConverter &bijk_index_converter, const Lattice &prim_lattice, const SymGroupRepID &prim_symrep_ID) |
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 () |
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... | |
Index | recurs_cp_files (const fs::path &from_dir, const fs::path &to_dir, bool dry_run, Log &log) |
Copy files recursively, and returns a count of copied files. More... | |
void | throw_if_no_basis_set_specs (std::string basis_set_name, DirectoryStructure const &dir) |
void | throw_if_no_clexulator_src (std::string project_name, std::string basis_set_name, DirectoryStructure const &dir) |
template<typename K , typename V > | |
jsonParser & | to_json (const std::map< K, V > &map, jsonParser &json) |
Converts to a JSON object. More... | |
template<typename K , typename V > | |
void | from_json (std::map< K, V > &map, const jsonParser &json) |
template<typename T , typename... Args> | |
jsonParser & | to_json (const std::map< std::string, T > &map, jsonParser &json, Args &&... args) |
Converts to a JSON object. More... | |
template<typename T , typename... Args> | |
void | from_json (std::map< std::string, T > &map, const jsonParser &json, Args &&... args) |
template<typename T , typename... Args> | |
jsonParser & | to_json (const std::vector< T > &vec, jsonParser &json, Args &&... args) |
Converts to a JSON array. More... | |
template<typename T , typename... Args> | |
void | from_json (std::vector< T > &vec, const jsonParser &json, Args &&... args) |
template<typename T > | |
void | from_json (std::vector< T > &vec, const jsonParser &json, const T &initial) |
template<typename T , std::size_t N> | |
jsonParser & | to_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 > | |
jsonParser & | to_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 T , typename Compare > | |
jsonParser & | to_json (const std::unordered_set< T, Compare > &set, jsonParser &json) |
Converts to a JSON array. More... | |
template<typename T , typename Compare , typename... Args> | |
void | from_json (std::unordered_set< T, Compare > &set, const jsonParser &json, Args &&... args) |
template<typename Derived > | |
CASM::jsonParser & | to_json (const Eigen::MatrixBase< Derived > &value, CASM::jsonParser &json) |
Write Eigen Matrix/Vector to JSON. More... | |
template<typename Derived > | |
CASM::jsonParser & | to_json (const Eigen::MatrixBase< Derived > &value, CASM::jsonParser &json, CASM::jsonParser::as_array) |
Write Eigen Matrix/Vector to JSON. More... | |
template<typename Derived > | |
CASM::jsonParser & | to_json (const Eigen::MatrixBase< Derived > &value, CASM::jsonParser &json, CASM::jsonParser::as_flattest) |
Write Eigen Matrix/Vector to JSON. More... | |
template<typename Derived > | |
CASM::jsonParser & | to_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 > | |
CASM::jsonParser | to_json_array (const Eigen::MatrixBase< Derived > &value) |
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... | |
std::ostream & | operator<< (std::ostream &sout, const BasicClexParamPack::EvalMode &val) |
std::istream & | operator>> (std::istream &sin, BasicClexParamPack::EvalMode &val) |
ChemicalReference | auto_chemical_reference (const PrimClex &primclex, double lin_alg_tol) |
Automatically set ChemicalReference using calculated Configurations with 'extreme' compositions. More... | |
std::ostream & | operator<< (std::ostream &sout, const DiffClexParamPack::EvalMode &val) |
std::istream & | operator>> (std::istream &sin, DiffClexParamPack::EvalMode &val) |
jsonParser & | to_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... | |
jsonParser & | to_json (const HyperPlaneReference &ref, jsonParser &json) |
void | from_json (HyperPlaneReference &ref, const jsonParser &json, HyperPlaneReference::InputFunction f) |
jsonParser & | to_json (const ChemicalReference &ref, jsonParser &json) |
Write chemical reference. More... | |
std::pair< Eigen::VectorXd, std::vector< ChemicalReferenceState > > | one_chemical_reference_from_json (xtal::BasicStructure const &prim, jsonParser const &json) |
Read chemical reference from one of 3 alternative forms. More... | |
void | from_json (ChemicalReference &ref, jsonParser const &json, xtal::BasicStructure const &prim, double tol=1e-14) |
Read chemical reference from JSON. 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> | |
jsonParser & | to_json (const SimpleJSonSiteStructure< IsConst > &jstruc, jsonParser &json) |
SimpleJSonSiteStructure< true > | simple_json (const BasicStructure &struc, const std::string &prefix) |
SimpleJSonSiteStructure< false > | simple_json (BasicStructure &struc, const std::string &prefix) |
std::vector< std::vector< Index > > | make_index_converter (const Structure &struc, std::vector< xtal::Molecule > mol_list) |
std::vector< std::vector< Index > > | make_index_converter (const Structure &struc, std::vector< std::string > mol_name_list) |
std::vector< std::vector< Index > > | make_index_converter_inverse (const Structure &struc, std::vector< std::string > mol_name_list) |
std::map< DoFKey, CASM::DoFSetInfo > | global_dof_info (Structure const &_struc) |
std::map< DoFKey, std::vector< CASM::DoFSetInfo > > | local_dof_info (Structure const &_struc) |
SupercellSymInfo | make_supercell_sym_info (Structure const &prim, Lattice const &super_lattice) |
template<typename IterType > | |
IterType | begin_next_fg_op (IterType it, IterType end) |
template<typename PermuteIteratorContainer > | |
SymGroup | make_point_group (const PermuteIteratorContainer &container, const Lattice &supercell_lattice) |
Returns a SymGroup generated from a container of PermuteIterator. More... | |
template<typename PermuteIteratorIt > | |
SymGroup | make_point_group (PermuteIteratorIt begin, PermuteIteratorIt end, const Lattice &supercell_lattice) |
Returns a SymGroup generated from a range of PermuteIterator. More... | |
template<typename PermuteIteratorContainer > | |
SymGroup | make_sym_group (const PermuteIteratorContainer &container, const Lattice &supercell_lattice) |
Returns a SymGroup generated from a container of PermuteIterator. More... | |
template<typename PermuteIteratorIt > | |
SymGroup | make_sym_group (PermuteIteratorIt begin, PermuteIteratorIt end, const Lattice &supercell_lattice) |
Returns a SymGroup generated from a range of PermuteIterator. More... | |
template<typename PermuteIteratorContainer > | |
std::unique_ptr< SymGroup > | make_unique_sym_group (const PermuteIteratorContainer &container, const Lattice &supercell_lattice) |
Returns a std::unique_ptr<SymGroup> generated from a container of PermuteIterator. More... | |
template<typename PermuteIteratorIt > | |
std::unique_ptr< SymGroup > | make_unique_sym_group (PermuteIteratorIt begin, PermuteIteratorIt end, const Lattice &supercell_lattice) |
Returns a SymGroup generated from a range of PermuteIterator. More... | |
bool | site_indices_are_invariant (PermuteIterator const &permute_it, std::set< Index > const &site_indices) |
Return true if the permutation does not mix given sites and other sites. More... | |
jsonParser & | to_json (const PermuteIterator &clust, jsonParser &json) |
SymGroupRep | coord_transformed_copy (SymGroupRep const &_rep, const Eigen::MatrixXd &trans_mat) |
Make a copy of representation on vector space 'V' that is transformed into a representation on vector space 'W' 'trans_mat' is the unitary matrix that isomorphically maps 'V'->'W' (i.e., [w = trans_mat * v] and [v = trans_mat.transpose() * w] ) If the original representation to be transformed is just a temporary standalone SymGroupRep, be sure to delete it before falling out of scope. More... | |
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... | |
jsonParser & | to_json (SymGroupRepID const &_id, jsonParser &json) |
jsonParser const & | from_json (SymGroupRepID &_id, jsonParser const &json) |
std::ostream & | operator<< (std::ostream &out, SymGroupRepID const &_id) |
Variables | |
const double | TOL = 0.00001 |
const double | KB = 8.6173423E-05 |
const double | PLANCK = 4.135667516E-15 |
const COORD_TYPE | FRAC = COORD_TYPE::FRAC |
const COORD_TYPE | CART = COORD_TYPE::CART |
const COORD_TYPE | INTEGRAL = COORD_TYPE::INTEGRAL |
const COORD_TYPE | COORD_DEFAULT = COORD_TYPE::COORD_DEFAULT |
const PERIODICITY_TYPE | PERIODIC = PERIODICITY_TYPE::PERIODIC |
const PERIODICITY_TYPE | LOCAL = PERIODICITY_TYPE::LOCAL |
const PERIODICITY_TYPE | PERIODICITY_DEFAULT |
const CELL_TYPE | PRIM = CELL_TYPE::PRIM |
const CELL_TYPE | SCEL = CELL_TYPE::SCEL |
const std::string | subproject_opt = "sub" |
const std::string | write_prim_opt = "write-prim" |
const std::string | relaxed_opt = "relaxed" |
const std::string | molecule_opt = "as-molecules" |
const std::string | include_va_opt = "include-va" |
Definition at line 65 of file IntegralClusterSymCompareTraits.hh.
using CASM::AperiodicOrbit = typedef Orbit<AperiodicSymCompare<Element> > |
Definition at line 38 of file ClusterSymCompareDecl.hh.
typedef ArgHandler::ARG_TYPE CASM::ARG_TYPE |
Definition at line 10 of file complete_tests.cpp.
typedef std::function<std::vector<xtal::UnitCellCoord>Structure const &, SiteFilterFunction)> CASM::CandidateSitesFunction |
A CandidateSitesFunction generates a vector of UnitCellCoord from a Structure and SiteFilterFuntion
Definition at line 47 of file ClusterOrbits.hh.
typedef std::function<bool(IntegralCluster)> CASM::ClusterFilterFunction |
A ClusterFilterFunction returns true if an IntegralCluster should be included and false if it should be excluded
Definition at line 41 of file ClusterOrbits.hh.
using CASM::Comparisons = typedef notstd::Comparisons<Base> |
Definition at line 51 of file Comparisons.hh.
using CASM::ConfigCompare = typedef GenericConfigCompare<Configuration, ConfigIsEquivalent> |
Definition at line 35 of file Configuration.hh.
using CASM::CRTPBase = typedef notstd::CRTPBase<MostDerived> |
Definition at line 24 of file CRTPBase.hh.
typedef std::string CASM::DoFKey |
Definition at line 7 of file DoFDecl.hh.
typedef Eigen::MatrixXd::Index CASM::EigenIndex |
using CASM::enable_if_t = typedef typename std::enable_if<B, T>::type |
Definition at line 18 of file CASM_TMP.hh.
typedef std::vector<notstd::cloneable_ptr<EnumInterfaceBase> > CASM::EnumInterfaceVector |
Definition at line 13 of file standard_enumerator_interfaces.hh.
using CASM::FullOrbitPrinter = typedef OrbitPrinter<_Element, ORBIT_PRINT_MODE::FULL> |
Definition at line 155 of file OrbitPrinter.hh.
Definition at line 157 of file OrbitPrinter.hh.
typedef INDEX_TYPE CASM::Index |
For long integer indexing:
Definition at line 39 of file definitions.hh.
typedef std::vector<notstd::cloneable_ptr<InfoInterfaceBase> > CASM::InfoInterfaceVector |
Definition at line 13 of file standard_info_method_interfaces.hh.
using CASM::InvariantsIterator = typedef boost::transform_iterator<GetInvariants, OrbitIterator> |
typedef long int CASM::lint |
Definition at line 27 of file definitions.hh.
Definition at line 66 of file IntegralClusterSymCompareTraits.hh.
using CASM::LocalOrbit = typedef AperiodicOrbit<Element> |
Definition at line 41 of file ClusterSymCompareDecl.hh.
using CASM::LocalSymCompare = typedef AperiodicSymCompare<Element, U> |
Definition at line 25 of file ClusterSymCompareDecl.hh.
typedef Eigen::Matrix3d CASM::Matrix3d |
Definition at line 31 of file StrainConverter.hh.
typedef Eigen::MatrixXd CASM::MatrixXd |
Definition at line 30 of file StrainConverter.hh.
Definition at line 67 of file IntegralClusterSymCompareTraits.hh.
using CASM::PrimPeriodicOrbit = typedef Orbit<PrimPeriodicSymCompare<Element> > |
Definition at line 47 of file ClusterSymCompareDecl.hh.
Definition at line 133 of file OrbitPrinter.hh.
using CASM::PrototypeIterator = typedef boost::transform_iterator<GetPrototype, OrbitIterator> |
using CASM::PrototypePrinter = typedef OrbitPrinter<_Element, ORBIT_PRINT_MODE::PROTO> |
Definition at line 131 of file OrbitPrinter.hh.
typedef ScalarAttribute<Configuration> CASM::Reference |
Definition at line 18 of file Reference.hh.
Definition at line 68 of file IntegralClusterSymCompareTraits.hh.
using CASM::ScelPeriodicOrbit = typedef Orbit<ScelPeriodicSymCompare<Element> > |
Definition at line 44 of file ClusterSymCompareDecl.hh.
typedef std::function<bool(xtal::Site)> CASM::SiteFilterFunction |
A SiteFilterFunction returns true if a Site should be included and false if it should be excluded
Definition at line 37 of file ClusterOrbits.hh.
typedef Printer<IntegralCluster> CASM::SitesPrinter |
Definition at line 106 of file OrbitPrinter.hh.
typedef strain::METRIC CASM::STRAIN_METRIC |
Definition at line 35 of file StrainConverter.hh.
using CASM::SymRepBuilderBase = typedef TemplateSymRepBuilderBase<false> |
Definition at line 82 of file SymRepBuilder.hh.
using CASM::TimeReversalSymRepBuilderBase = typedef TemplateSymRepBuilderBase<true> |
Definition at line 84 of file SymRepBuilder.hh.
typedef unsigned int CASM::uint |
Definition at line 25 of file definitions.hh.
typedef unsigned long int CASM::ulint |
Definition at line 26 of file definitions.hh.
typedef Eigen::VectorXd CASM::VectorXd |
Definition at line 29 of file StrainConverter.hh.
|
strong |
|
strong |
Enumerator | |
---|---|
PRIM_PERIODIC | |
APERIODIC | |
LOCAL | |
WITHIN_SCEL | |
SCEL_PERIODIC |
Definition at line 8 of file ClusterSymCompareDecl.hh.
Enumerator | |
---|---|
PARAM_COMP | |
NUMBER_ATOMS |
Definition at line 12 of file ParamComposition.hh.
|
strong |
|
strong |
Enumerator | |
---|---|
Property | |
Operator |
Definition at line 321 of file DataFormatter.hh.
|
strong |
|
strong |
|
strong |
|
strong |
Enumerator | |
---|---|
PROTO | |
FULL |
Definition at line 18 of file OrbitPrinter.hh.
|
strong |
Specify the Clexulator underlying data structure type.
Choices:
Enumerator | |
---|---|
DEFAULT | |
DIFF |
Definition at line 22 of file BasisFunctionSpecs.hh.
|
strong |
Eigen::MatrixXd CASM::_composition_space | ( | const ParamComposition::AllowedOccupants & | _allowed_occs, |
double | tol | ||
) |
Non-orthogonal composition space.
Definition at line 578 of file CompositionConverter.cc.
int CASM::_driver | ( | PrimClex & | primclex, |
const CommandArgs & | args, | ||
const Completer::MonteOption & | monte_opt | ||
) |
int CASM::_final_POSCAR | ( | PrimClex & | primclex, |
const CommandArgs & | args, | ||
const Completer::MonteOption & | monte_opt | ||
) |
int CASM::_initial_POSCAR | ( | PrimClex & | primclex, |
const CommandArgs & | args, | ||
const Completer::MonteOption & | monte_opt | ||
) |
Index CASM::_orbit_max_poly_order | ( | OrbitType const & | orbit, |
BasisFunctionSpecs const & | basis_function_specs | ||
) |
allow basis_function_specs to specify max_poly_order by branch, orbit, etc.
Definition at line 21 of file ClexBasis_impl.hh.
void CASM::_query_equivalents | ( | DataFormatter< QueryData< Configuration >> & | formatter, |
jsonParser & | json, | ||
PrimClex const & | primclex, | ||
Configuration const & | object | ||
) |
void CASM::_query_equivalents | ( | DataFormatter< QueryData< Configuration >> & | formatter, |
std::ostream & | stream, | ||
PrimClex const & | primclex, | ||
Configuration const & | object | ||
) |
void CASM::_query_equivalents | ( | DataFormatter< QueryData< DataObject >> & | formatter, |
jsonParser & | json, | ||
PrimClex const & | primclex, | ||
DataObject const & | object | ||
) |
void CASM::_query_equivalents | ( | DataFormatter< QueryData< DataObject >> & | formatter, |
std::ostream & | stream, | ||
PrimClex const & | primclex, | ||
DataObject const & | object | ||
) |
int CASM::_run_Canonical | ( | PrimClex & | primclex, |
const Monte::MonteSettings & | monte_settings, | ||
const CommandArgs & | args, | ||
const Completer::MonteOption & | monte_opt | ||
) |
int CASM::_run_GrandCanonical | ( | PrimClex & | primclex, |
const Monte::MonteSettings & | monte_settings, | ||
const CommandArgs & | args, | ||
const Completer::MonteOption & | monte_opt | ||
) |
int CASM::_traj_POSCAR | ( | PrimClex & | primclex, |
const CommandArgs & | args, | ||
const Completer::MonteOption & | monte_opt | ||
) |
void CASM::_update_query_dict | ( | DataFormatterDictionary< QueryData< DataObject >> & | query_dict | ) |
void CASM::_update_query_dict< Configuration > | ( | DataFormatterDictionary< QueryData< Configuration >> & | query_dict | ) |
GenericDatumFormatter<std::string, DataObject> CASM::alias | ( | ) |
Definition at line 931 of file DataFormatterTools.hh.
GenericDatumFormatter<std::string, DataObject> CASM::alias_or_name | ( | ) |
Definition at line 944 of file DataFormatterTools.hh.
ClusterFilterFunction CASM::all_clusters_filter | ( | ) |
Accept all clusters.
Definition at line 493 of file ClusterSpecs.cc.
bool CASM::all_sites_filter | ( | const xtal::Site & | site | ) |
Generate clusters using all Site.
Definition at line 476 of file ClusterSpecs.cc.
bool CASM::alloy_sites_filter | ( | const xtal::Site & | site | ) |
Generate clusters using Site with site_occupant.size() > 1.
Definition at line 479 of file ClusterSpecs.cc.
bool CASM::almost_equal | ( | ClusterInvariants const & | A, |
ClusterInvariants const & | B, | ||
double | tol | ||
) |
Check if ClusterInvariants are equal.
Definition at line 36 of file ClusterInvariants.cc.
bool CASM::almost_equal | ( | const Array< T > & | A, |
const Array< T > & | B, | ||
double | tol = TOL |
||
) |
Definition at line 76 of file CASM_Array_math.hh.
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 127 of file CASM_math.hh.
bool CASM::almost_equal | ( | SymRepTools_v2::VectorInvariants const & | A_invariants, |
SymRepTools_v2::VectorInvariants const & | B_invariants, | ||
double | tol | ||
) |
Definition at line 19 of file VectorSymCompare_v2.cc.
bool CASM::almost_equal | ( | VectorInvariants const & | A_invariants, |
VectorInvariants const & | B_invariants, | ||
double | tol | ||
) |
Check if VectorInvariants are equal.
Definition at line 12 of file VectorSymCompare.cc.
bool CASM::almost_equal | ( | WithinScelClusterInvariants const & | A, |
WithinScelClusterInvariants const & | B, | ||
double | tol | ||
) |
Check if WithinScelClusterInvariants are equal.
Check if ClusterInvariants are equal.
Definition at line 113 of file ClusterInvariants.cc.
|
inline |
If std::complex<T>, use std::abs(val) < tol;.
Definition at line 111 of file CASM_math.hh.
|
inline |
If T is not integral, use std::abs(val) < tol;.
If T is integral, val == 0;.
Definition at line 104 of file CASM_math.hh.
bool CASM::always_true | ( | const T & | ) |
Definition at line 29 of file DataFormatterDecl.hh.
Object& CASM::apply | ( | const Transform & | f, |
Object & | obj, | ||
Args &&... | args | ||
) |
Apply a transformation, in place
Definition at line 83 of file definitions.hh.
void CASM::argtype_test | ( | ) |
Definition at line 187 of file complete_tests.cpp.
std::vector< std::set< Index > > CASM::atom_site_compatibility | ( | xtal::SimpleStructure const & | sstruc, |
Configuration const & | _config | ||
) |
Determine which sites of a Configuration can host each atom of a SimpleStructure result[i] is set of site indices in.
_config | that can host atom 'i' of |
sstruc |
Definition at line 111 of file SimpleStructureTools.cc.
ChemicalReference CASM::auto_chemical_reference | ( | const PrimClex & | primclex, |
double | lin_alg_tol | ||
) |
Automatically set ChemicalReference using calculated Configurations with 'extreme' compositions.
Definition at line 405 of file ChemicalReference.cc.
IterType CASM::begin_next_fg_op | ( | IterType | it, |
IterType | end | ||
) |
Iterator to next beginning of next factor group operation skipping all of the intervening operations that differ only by a translation
Definition at line 165 of file PermuteIterator.hh.
std::string CASM::brief_description | ( | const SymOp & | op, |
const xtal::Lattice & | lat, | ||
SymInfoOptions | opt = SymInfoOptions() |
||
) |
Print SymInfo to brief string.
Definition at line 489 of file SymInfo_stream_io.cc.
void CASM::brief_description | ( | Log & | log, |
const SymGroup & | g, | ||
const xtal::Lattice & | lat, | ||
SymInfoOptions | opt | ||
) |
Print SymGroup with brief string.
Print SymGroup with brief strings.
Uses indexing starting at 1 Format: <group index> (master group index): <symmetry operation> The master group index is only printed when some differ from the group index.
Definition at line 501 of file SymInfo_stream_io.cc.
void CASM::bset_uncalculated | ( | const CommandArgs & | args | ) |
void CASM::build_project | ( | ProjectSettings const & | project_settings, |
Structure const & | prim | ||
) |
Build a CASM project directory tree and populate with standard files
Notes:
project_settings.root_dir()
!project_settings.has_dir()
Definition at line 21 of file ProjectBuilder.cc.
std::string CASM::calc_properties_path | ( | const ConfigType & | config, |
std::string | calctype = "" |
||
) |
Definition at line 197 of file Calculable.cc.
std::string CASM::calc_properties_path | ( | const PrimClex & | primclex, |
const std::string & | configname, | ||
std::string | calctype = "" |
||
) |
Definition at line 228 of file Calculable.cc.
std::string CASM::calc_status | ( | const ConfigType & | _config, |
std::string | calctype = "" |
||
) |
Status of calculation.
Definition at line 153 of file Calculable.cc.
std::string CASM::calc_status_path | ( | const ConfigType & | config, |
std::string | calctype = "" |
||
) |
Definition at line 211 of file Calculable.cc.
std::string CASM::calc_status_path | ( | const PrimClex & | primclex, |
const std::string & | configname, | ||
std::string | calctype = "" |
||
) |
Definition at line 241 of file Calculable.cc.
bool CASM::clex_exists | ( | const DirectoryStructure & | dir, |
const ClexDescription & | desc | ||
) |
Definition at line 71 of file ClexDescription.cc.
bool CASM::colmajor_lex_compare | ( | const Eigen::MatrixBase< Derived > & | A, |
const Eigen::MatrixBase< Derived > & | B, | ||
double | tol | ||
) |
Floating point lexicographical comparison with tol.
Definition at line 54 of file CASM_Eigen_math.hh.
jsonParser CASM::combine_configuration_enum_json_options | ( | jsonParser const & | json_options, |
jsonParser const & | cli_options_as_json | ||
) |
A standard approach to combine CLI options with user JSON options into one JSON document
A standard approach to combine CLI options with user JSON options into one JSON document
Not all configuration enumerator interfaces need to incorporate the CLI output using this method, but it is the most common way to do so.
"min": <int, min supercell volume to do enumerations>, "max": <int, max supercell volume to do enumerations>, "scelnames": <array of string, list of supercell names, context dependent usage>, "confignames": <array of string, list of config names, context dependent usage>, "all": <bool, use all existing supercells for enumeration, ignore other inputs>, "filter": <array of string, filter query/select expression, save configs if evaluates true>, "verbosity": <string, to be read by Log::verbosity_level>, "dry_run": <bool, print/return method results but do not save results>
"min": <int, min supercell volume to do enumerations>, "max": <int, max supercell volume to do enumerations>, "scelnames": <array of string, list of supercell names, context dependent usage>, "confignames": <array of string, list of config names, context dependent usage>, "all": <bool, use all existing supercells for enumeration, ignore other inputs>, "filter": <array of string, filter query/select expression, save configs if evaluates true>, "verbosity": <string, to be read by Log::verbosity_level>, "dry_run": <bool, print/return method results but do not save results>
Definition at line 16 of file enumerate_configurations_json_io.cc.
jsonParser & CASM::combine_json_options | ( | std::map< std::string, std::string > const & | source_to_combined_keys, |
jsonParser const & | json_source, | ||
jsonParser & | json_combined | ||
) |
Copy from json_source
to json_combined
Definition at line 8 of file json_io.cc.
jsonParser CASM::combine_supercell_enum_json_options | ( | jsonParser const & | json_options, |
jsonParser const & | cli_options_as_json | ||
) |
A standard approach to combine CLI options with user JSON options into one JSON document
A standard approach to combine CLI options with user JSON options into one JSON document
Not all supercell enumerator interfaces need to incorporate the CLI output using this method, but it is the most common way to do so (only way currently).
Definition at line 16 of file enumerate_supercells_json_io.cc.
bool CASM::compare | ( | ClusterInvariants const & | A, |
ClusterInvariants const & | B, | ||
double | tol | ||
) |
Compare ClusterInvariants.
Definition at line 52 of file ClusterInvariants.cc.
bool CASM::compare | ( | const T & | A, |
const T & | B, | ||
double | tol | ||
) |
Floating point comparison with tol, return A < B.
Implements:
Definition at line 149 of file CASM_math.hh.
bool CASM::compare | ( | SymRepTools_v2::VectorInvariants const & | A_invariants, |
SymRepTools_v2::VectorInvariants const & | B_invariants, | ||
double | tol | ||
) |
Definition at line 26 of file VectorSymCompare_v2.cc.
bool CASM::compare | ( | VectorInvariants const & | A_invariants, |
VectorInvariants const & | B_invariants, | ||
double | tol | ||
) |
Compare ClusterInvariants.
Definition at line 18 of file VectorSymCompare.cc.
bool CASM::compare | ( | WithinScelClusterInvariants const & | A, |
WithinScelClusterInvariants const & | B, | ||
double | tol | ||
) |
Compare WithinScelClusterInvariants.
Definition at line 129 of file ClusterInvariants.cc.
|
inline |
int CASM::composition_command | ( | const CommandArgs & | args | ) |
Eigen::MatrixXd CASM::composition_space | ( | const ParamComposition::AllowedOccupants & | _allowed_occs, |
double | tol | ||
) |
Return the composition space of a ParamComposition::AllowedOccupants.
Return the composition space of a BasicStructure.
_allowed_occs | A BasicStructure to find the standard composition space for (does not check if it is actually primitive). |
tol | tolerance for checking rank (default 1e-14) |
Definition at line 615 of file CompositionConverter.cc.
void CASM::composition_unselected | ( | const CommandArgs & | args | ) |
void CASM::configs_uncalculated | ( | const CommandArgs & | args | ) |
void CASM::configs_ungenerated | ( | const CommandArgs & | args | ) |
std::string CASM::container_to_string | ( | Iterator | begin_it, |
Iterator | end_it, | ||
std::string | begin = "[" , |
||
std::string | end = "]" , |
||
std::string | delim = ", " |
||
) |
Definition at line 23 of file string_io.hh.
bool CASM::contains | ( | const Container & | container, |
const T & | value | ||
) |
Equivalent to container.end() != std::find(container.begin(), container.end(), value)
Definition at line 83 of file algorithm.hh.
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 91 of file algorithm.hh.
bool CASM::contains_all | ( | const Container1 & | container, |
const Container2 & | values | ||
) |
Returns true if each elements of 'values' is contained in 'container'.
Definition at line 112 of file algorithm.hh.
bool CASM::contains_all | ( | const Container1 & | container, |
const Container2 & | values, | ||
BinaryCompare | q | ||
) |
Returns true if each elements of 'values' is contained in 'container', using comparison functor 'q'.
Definition at line 122 of file algorithm.hh.
bool CASM::contains_if | ( | const Container & | container, |
UnaryPredicate | p | ||
) |
Equivalent to container.end() != std::find_if(container.begin(), container.end(), p)
Definition at line 98 of file algorithm.hh.
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 105 of file algorithm.hh.
SymGroupRep CASM::coord_transformed_copy | ( | SymGroupRep const & | _rep, |
const Eigen::MatrixXd & | trans_mat | ||
) |
Make a copy of representation on vector space 'V' that is transformed into a representation on vector space 'W' 'trans_mat' is the unitary matrix that isomorphically maps 'V'->'W' (i.e., [w = trans_mat * v] and [v = trans_mat.transpose() * w] ) If the original representation to be transformed is just a temporary standalone SymGroupRep, be sure to delete it before falling out of scope.
Definition at line 175 of file SymGroupRep.cc.
Object CASM::copy_apply | ( | const Transform & | f, |
Object | obj, | ||
Args &&... | args | ||
) |
Copy and apply a transformation
Definition at line 93 of file definitions.hh.
MappingNode CASM::copy_apply | ( | PermuteIterator const & | _it, |
MappingNode const & | _node, | ||
bool | transform_cost_mat = true |
||
) |
Reorders the permutation and compounds the spatial isometry (rotation.
Definition at line 174 of file ConfigMapping.cc.
MappedProperties CASM::copy_apply | ( | PermuteIterator const & | op, |
MappedProperties const & | props | ||
) |
Definition at line 8 of file MappedPropertiesTools.cc.
double CASM::cuberoot | ( | double | number | ) |
Definition at line 272 of file CASM_math.cc.
ReturnArray<T> CASM::cum_sum | ( | const Array< T > & | arr | ) |
Definition at line 87 of file CASM_Array_math.hh.
CandidateSitesFunction CASM::cutoff_radius_neighborhood | ( | IntegralCluster const & | phenomenal, |
double | cutoff_radius, | ||
bool | include_phenomenal_sites = false |
||
) |
Sites within cutoff_radius distance to any site in the phenomenal cluster.
Definition at line 519 of file ClusterSpecs.cc.
ClexDescription CASM::default_configuration_clex | ( | ) |
Create default configuration ClexDescription
Using:
Definition at line 26 of file ClexDescription.cc.
std::set< int > CASM::default_nlist_sublat_indices | ( | xtal::BasicStructure const & | prim | ) |
Make default list of sublattice indices that will be included in the neighbor list
Includes sublattices with either:
Definition at line 114 of file ProjectBuilder.cc.
Eigen::Matrix3l CASM::default_nlist_weight_matrix | ( | xtal::BasicStructure const & | prim, |
double | tol | ||
) |
Make default weight matrix for approximately spherical neighborhood in Cartesian coordinates
Equivalent to:
Definition at line 108 of file ProjectBuilder.cc.
std::string CASM::description | ( | const SymOp & | op, |
const xtal::Lattice & | lat, | ||
SymInfoOptions | opt = SymInfoOptions() |
||
) |
Print SymInfo to string.
Definition at line 454 of file SymInfo_stream_io.cc.
void CASM::description | ( | Log & | log, |
const SymGroup & | g, | ||
const xtal::Lattice & | lat, | ||
SymInfoOptions | opt | ||
) |
Print SymGroup with matrix / tau.
Print SymGroup info.
Uses indexing starting at 1
Definition at line 462 of file SymInfo_stream_io.cc.
BasisSet CASM::direct_sum | ( | BasisSet::ArgList const & | _subs | ) |
Definition at line 1324 of file BasisSet.cc.
void CASM::display | ( | std::ostream & | sout, |
const CompositionAxes & | comp_axes | ||
) |
Definition at line 20 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:
Definition at line 522 of file CompositionConverter.cc.
void CASM::display_comp_n | ( | std::ostream & | stream, |
const CompositionConverter & | f, | ||
int | indent | ||
) |
void CASM::display_composition_axes | ( | std::ostream & | stream, |
const std::map< std::string, CompositionConverter > & | map | ||
) |
Pretty-print map of name/CompositionConverter pairs.
stream | Output stream |
map | Map of name/CompositionConverter pairs |
name | Name for this set of composition axes |
Definition at line 472 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:
Definition at line 552 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 45 of file CASM_math.cc.
SiteFilterFunction CASM::dof_sites_filter | ( | std::vector< DoFKey > const & | dofs | ) |
Generate clusters using Site with specified DoF.
If dofs is empty, return true if Site has any continuous DoF or >1 allowed occupant DoF If dofs is not empty, return true if Site has any of the DoF types included. Use "occ" for / Site with >1 occupant allowed
Definition at line 488 of file ClusterSpecs.cc.
void CASM::dof_space_analysis | ( | PrimClex & | primclex, |
jsonParser const & | json_options, | ||
jsonParser const & | cli_options_as_json | ||
) |
Perform DoF space analysis.
Perform DoF space analysis
Usage:
dof_space_analysis_desc()
for JSON and CLI input options Definition at line 205 of file dof_space_analysis.cc.
std::string CASM::dof_space_analysis_desc | ( | ) |
Describe DoF space analysis input.
Describe DoF space analysis.
Definition at line 73 of file dof_space_analysis.cc.
|
inline |
Standardized string that can prepended to method output to make clear that method results are not going to be committed
Definition at line 76 of file EnumInterface.hh.
void CASM::eci_uncalculated | ( | const CommandArgs & | args | ) |
Eigen::VectorXd CASM::eigen_vector_from_string | ( | const std::string & | tstr, |
const int & | size | ||
) |
Definition at line 10 of file CASM_Eigen_math.cc.
CandidateSitesFunction CASM::empty_neighborhood | ( | ) |
No sites (for null orbit, or global dof only)
Definition at line 503 of file ClusterSpecs.cc.
Eigen::MatrixXd CASM::end_members | ( | const ParamComposition::AllowedOccupants & | _allowed_occs | ) |
Serialize CompositionConverter to JSON.
Generate a column matrix containing all the possible molecular end members.
Generate a column matrix containing all the possible molecular end members
_allowed_occs | A BasicStructure to find the end members of (does not check if it is actually primitive). |
Definition at line 570 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 47 of file DataFormatter.cc.
Derived::Scalar* CASM::end_ptr | ( | Eigen::PlainObjectBase< Derived > & | container | ) |
Return pointer one past end of vector. Equivalent to convainer.data()+container.size()
Definition at line 114 of file CASM_Eigen_math.hh.
Derived::Scalar const* CASM::end_ptr | ( | Eigen::PlainObjectBase< Derived > const & | container | ) |
Return const pointer one past end of vector. Equivalent to convainer.data()+container.size()
Definition at line 121 of file CASM_Eigen_math.hh.
T* CASM::end_ptr | ( | std::vector< T > & | container | ) |
Return pointer one past end of vector. Equivalent to convainer.data()+container.size()
Definition at line 142 of file algorithm.hh.
T const* CASM::end_ptr | ( | std::vector< T > const & | container | ) |
Return const pointer one past end of vector. Equivalent to convainer.data()+container.size()
Definition at line 149 of file algorithm.hh.
void CASM::engine_test | ( | ) |
Definition at line 166 of file complete_tests.cpp.
void CASM::enumerate_configurations | ( | PrimClex const & | primclex, |
ConfigEnumOptions const & | options, | ||
MakeEnumeratorFunction | make_enumerator_f, | ||
InputNameValuePairIterator | name_value_pairs_begin, | ||
InputNameValuePairIterator | name_value_pairs_end, | ||
DataFormatter< ConfigEnumDataType > const & | formatter | ||
) |
Enumerate configurations.
Enumerate configurations
This method enumerates configurations given a rage of starting values, typically a range of supercells or initial configurations, possibly with particular sites selected for enumeration, represented using ConfigEnumInput
.
A pseudo-code outline of the method is:
Note:
template<> bool is_guaranteed_for_database_insert(EnumeratorType const &);
primclex | PrimClex provides access to project database and other data |
options | See ConfigEnumOptions for method options |
make_enumerator_f | A function that constructs a Configuration enumerator of type EnumeratorType for each value in the range [name_value_pairs_begin, name_value_pairs_end) . Requires signature: EnumeratorType make_enumerator_f(Index initial_state_index, std::string initial_state_name, InitialStateType const &initial_state); |
name_value_pairs_begin,name_value_pairs_end | A range of pairs of name (for printing progress) to InitialStateType value (typically, but not necessarily InputType = ConfigEnumInput ). The value InputType is used as the argument to make_enumerator_f to construct a series of enumerators which are executed in turn. |
formatter | DataFormatter used to record enumerated configurations. See ConfigEnumOptions for output options. The ConfigEnumDataType should follow the example of ConfigEnumData which provides the minimum required interface. |
Note:
Use while transitioning Supercell to no longer need a PrimClex const *
Use while transitioning Supercell to no longer need a PrimClex const *
Definition at line 80 of file enumerate_configurations_impl.hh.
void CASM::enumerate_supercells | ( | EnumerateSupercellsOptions const & | options, |
EnumeratorType & | enumerator, | ||
DB::Database< Supercell > & | supercell_db | ||
) |
Enumerate supercells
Note:
template<> bool is_guaranteed_for_database_insert(EnumeratorType const &);
options | See EnumerateSupercellsOptions for method options |
enumerator | A supercell enumerator. |
supercell_db | Will commit any new Supercell if options.dry_run==false . |
Note:
Use while transitioning Supercell to no longer need a PrimClex const *
Use while transitioning Supercell to no longer need a PrimClex const *
Definition at line 30 of file enumerate_supercells_impl.hh.
Removes the homogeneous mode space from the DoFSpace basis.
Removes the homogeneous mode space from the local continuous DoFSpace basis.
dof_space | DoF space to remove the homogeneous mode space from. Must be a DoF space for a local continuous DoF and include all sites in the supercell (dof_space.includes_all_sites==true ), else will throw. |
Definition at line 673 of file DoFSpace.cc.
IntType CASM::extended_gcf | ( | IntType | i1, |
IntType | i2, | ||
IntType & | p1, | ||
IntType & | p2 | ||
) |
Calculate greatest common factor of two integers, and bezout coefficients.
i1,i2 | two integers for which to find greatest common factor | |
[out] | p1,p2 | bezout coefficients such that p1*i1 + p2*i2 = gcf(abs(i1),abs(i2)); |
Definition at line 277 of file CASM_math.hh.
std::string CASM::failure_type | ( | const ConfigType & | config, |
std::string | calctype = "" |
||
) |
Definition at line 167 of file Calculable.cc.
int CASM::files_command | ( | const CommandArgs & | args | ) |
Configuration CASM::fill_supercell | ( | Configuration const & | motif, |
std::shared_ptr< Supercell const > const & | shared_supercell | ||
) |
Create a super configuration by tiling the motif Configuration into the supercell.
Note:
Definition at line 33 of file FillSupercell.cc.
Configuration CASM::fill_supercell | ( | Configuration const & | motif, |
Supercell const & | supercell | ||
) |
Create a super configuration by tiling the motif Configuration into the supercell.
Note:
std::shared_ptr<Supercell const>
overload if possibleDefinition at line 48 of file FillSupercell.cc.
Configuration CASM::fill_supercell | ( | SymOp const & | symop, |
Configuration const & | motif, | ||
std::shared_ptr< Supercell const > const & | shared_supercell | ||
) |
Create a super configuration by tiling the apply(symop, motif) Configuration into the supercell
Note:
Definition at line 59 of file FillSupercell.cc.
Configuration CASM::fill_supercell | ( | SymOp const & | symop, |
Configuration const & | motif, | ||
Supercell const & | supercell | ||
) |
Create a super configuration by tiling the apply(symop, motif) Configuration into the supercell
Note:
std::shared_ptr<Supercell const>
overload if possibleDefinition at line 72 of file FillSupercell.cc.
FilteredConfigIterator<IteratorType> CASM::filter_begin | ( | const IteratorType & | it, |
const IteratorType & | it_end, | ||
const std::vector< std::string > & | filter_expr, | ||
const DataFormatterDictionary< DataObject > & | _dict | ||
) |
Definition at line 114 of file FilteredConfigIterator.hh.
FilterIterator<IteratorType> CASM::filter_begin | ( | IteratorType const & | it, |
IteratorType const & | it_end, | ||
std::function< bool(typename FilterIterator< IteratorType >::reference)> | filter_function | ||
) |
Definition at line 79 of file FilterIterator.hh.
FilteredConfigIterator<IteratorType> CASM::filter_end | ( | const IteratorType & | it_end | ) |
Definition at line 122 of file FilteredConfigIterator.hh.
FilterIterator<IteratorType> CASM::filter_end | ( | IteratorType const & | it_end | ) |
Definition at line 87 of file FilterIterator.hh.
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 16 of file algorithm.hh.
fs::path CASM::find_casmroot | ( | const fs::path & | cwd | ) |
return path to current or parent directory containing ".casm" directory if none found, return empty path
Definition at line 14 of file DirectoryStructure.cc.
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 46 of file algorithm.hh.
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 38 of file algorithm.hh.
Index CASM::find_index | ( | Iterator | begin, |
Iterator | end, | ||
const T & | value | ||
) |
Equivalent to std::distance(begin, std::find(begin, end, value))
Definition at line 24 of file algorithm.hh.
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 30 of file algorithm.hh.
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 60 of file algorithm.hh.
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 53 of file algorithm.hh.
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 75 of file algorithm.hh.
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 67 of file algorithm.hh.
OrbitIterator CASM::find_orbit | ( | OrbitIterator | begin, |
OrbitIterator | end, | ||
Element | e | ||
) |
Find orbit containing an element in a range of Orbit.
Find orbit containing an element in a range of Orbit<ClusterType>
begin,end | Range of Orbit |
e | Element to find |
typename std::iterator_traits<OrbitIterator>::value_type
to be the Orbit<SymCompareType> typee
to be prepared
via SymCompareType::prepare
SymCompareType::invariants_compare
SymCompareType::compare
(via Orbit::contains
) to check for element in orbit Definition at line 295 of file Orbit_impl.hh.
|
inline |
Floating point lexicographical comparison with tol.
Definition at line 45 of file CASM_Eigen_math.hh.
bool CASM::float_lexicographical_compare | ( | InputIt1 | first1, |
InputIt1 | last1, | ||
InputIt2 | first2, | ||
InputIt2 | last2, | ||
double | tol | ||
) |
Floating point lexicographical comparison with tol.
Definition at line 169 of file CASM_math.hh.
int CASM::float_sgn | ( | T | val, |
double | compare_tol = TOL |
||
) |
Definition at line 188 of file CASM_math.hh.
void CASM::for_all_orbits | ( | ClusterSpecs const & | cluster_specs, |
std::ostream & | status, | ||
FunctorType const & | f | ||
) |
Call functor for orbits generated by ClusterSpecs
Selects the correct make_X_orbits method and then calls f for all orbits, as with:
The FunctorType should have the template method:
Definition at line 38 of file ClusterSpecs_impl.hh.
void CASM::for_all_orbits | ( | ClusterSpecs const & | cluster_specs, |
std::vector< IntegralCluster > const & | generating_elements, | ||
FunctorType const & | f | ||
) |
Call functor for orbits generated by ClusterSpecs
Selects the correct make_X_orbits method and then calls f for all orbits, as with:
The FunctorType should have the template method:
Definition at line 13 of file ClusterSpecs_impl.hh.
int CASM::format_command | ( | const CommandArgs & | args | ) |
DataFormatterOperator<bool, bool, DataObject> CASM::format_operator_not | ( | ) |
Definition at line 417 of file DataFormatterTools.hh.
void CASM::from_json | ( | Array< T > & | value, |
const jsonParser & | json, | ||
Args &&... | args | ||
) |
This requires that 'T::T()' exists, if not, you must do this by hand.
re-throw exceptions
Definition at line 27 of file json_io.hh.
void CASM::from_json | ( | BasisSet & | bset, |
const jsonParser & | json | ||
) |
void CASM::from_json | ( | ChemicalReference & | ref, |
jsonParser const & | json, | ||
xtal::BasicStructure const & | prim, | ||
double | tol = 1e-14 |
||
) |
Read chemical reference from JSON.
Definition at line 287 of file ChemicalReference_json_io.cc.
void CASM::from_json | ( | ChemicalReferenceState & | ref_state, |
const jsonParser & | json | ||
) |
Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'.
Definition at line 49 of file ChemicalReference_json_io.cc.
void CASM::from_json | ( | ClexDescription & | desc, |
const jsonParser & | json | ||
) |
Definition at line 52 of file ClexDescription.cc.
void CASM::from_json | ( | CompositionAxes & | composition_axes, |
const jsonParser & | json | ||
) |
Definition at line 9 of file CompositionAxes_json_io.cc.
void CASM::from_json | ( | CompositionConverter & | f, |
const jsonParser & | json | ||
) |
Deserialize CompositionConverter from JSON.
Definition at line 24 of file CompositionConverter_json_io.cc.
void CASM::from_json | ( | ConfigDoF & | configdof, |
const jsonParser & | json | ||
) |
Read ConfigDoF from JSON.
Definition at line 145 of file ConfigDoF_json_io.cc.
jsonParser const & CASM::from_json | ( | ConfigMapping::Settings & | _set, |
jsonParser const & | _json | ||
) |
Definition at line 31 of file ConfigMapping_json_io.cc.
void CASM::from_json | ( | Configuration & | configuration, |
jsonParser const & | json | ||
) |
Read Configuration from JSON.
Read Configuration from JSON
Note:
to_json(Configuration const &configuration, jsonParser &json)
for expected format.std::shared_ptr<Supercell const>
) that is not owned by any Supercell database.DB::in_canonical_supercell
to make the canonical equivalent configuration with the canonical supercell from the Supercell database, without inserting the configuration in the Configuration database.DB::make_canonical_and_insert
to make the equivalent configuration with the canonical supercell from the Supercell database and insert the canonical equivalent configuration in the Configuration database. Definition at line 120 of file Configuration_json_io.cc.
ChemicalReferenceState CASM::from_json | ( | const jsonParser & | json | ) |
Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'.
Definition at line 21 of file ChemicalReference_json_io.cc.
void CASM::from_json | ( | const SimpleJSonSiteStructure< IsConst > & | jstruc, |
const jsonParser & | json | ||
) |
Definition at line 114 of file jsonStruc.hh.
void CASM::from_json | ( | DoFSpace & | dofspace, |
jsonParser const & | json, | ||
std::shared_ptr< Structure const > const & | shared_prim | ||
) |
Definition at line 51 of file DoFSpace.cc.
void CASM::from_json | ( | HyperPlaneReference & | ref, |
const jsonParser & | json, | ||
HyperPlaneReference::InputFunction | f | ||
) |
Definition at line 71 of file ChemicalReference_json_io.cc.
void CASM::from_json | ( | IntegralCluster & | clust, |
const jsonParser & | json | ||
) |
Read from JSON.
Read IntegralCluster from JSON.
Format:
Definition at line 61 of file IntegralCluster_json_io.cc.
jsonParser const & CASM::from_json | ( | MappedProperties & | prop, |
const jsonParser & | json | ||
) |
Definition at line 66 of file MappedProperties.cc.
void CASM::from_json | ( | OccupantFunction & | func, |
const jsonParser & | json | ||
) |
void CASM::from_json | ( | OrbitPrinterOptions & | opt, |
const jsonParser & | json | ||
) |
Read from JSON.
Definition at line 33 of file OrbitPrinter.cc.
void CASM::from_json | ( | Permutation & | value, |
const jsonParser & | json | ||
) |
jsonParser const & CASM::from_json | ( | ScoreMappedProperties & | score, |
const jsonParser & | json | ||
) |
Definition at line 175 of file MappedProperties.cc.
void CASM::from_json | ( | std::optional< T > & | value, |
jsonParser const & | json, | ||
Args &&... | args | ||
) |
Definition at line 21 of file optional.hh.
void CASM::from_json | ( | std::vector< std::pair< std::string, ConfigEnumInput >> & | config_enum_input, |
jsonParser const & | json, | ||
std::shared_ptr< Structure const > | shared_prim, | ||
PrimClex const * | primclex, | ||
DB::Database< Supercell > & | supercell_db, | ||
DB::Database< Configuration > & | configuration_db | ||
) |
Read std::map<std::string, ConfigEnumInput> from JSON input, allowing queries from databases
Read std::vector<ConfigEnumInput> from JSON input, allowing queries from databases
Note: See parse
for JSON documentation
Definition at line 58 of file ConfigEnumInput_json_io.cc.
jsonParser const & CASM::from_json | ( | SymGroupRepID & | _id, |
jsonParser const & | json | ||
) |
Definition at line 20 of file SymGroupRepID.cc.
void CASM::from_json | ( | SymInfoOptions & | opt, |
const jsonParser & | json | ||
) |
Read from JSON.
Definition at line 23 of file SymInfo_json_io.cc.
void CASM::from_json | ( | Variable & | var, |
const jsonParser & | json | ||
) |
void CASM::from_json | ( | xtal::AtomPosition & | apos, |
const jsonParser & | json, | ||
Eigen::Ref< const Eigen::Matrix3d > const & | frac2cart, | ||
ParsingDictionary< AnisoValTraits > const & | _aniso_val_dict | ||
) |
Read AtomPosition from json and then apply affine transformation cart2frac*cart()
Definition at line 44 of file BasicStructureIO.cc.
void CASM::from_json | ( | xtal::BasicStructure & | prim, |
jsonParser const & | json, | ||
double | xtal_tol, | ||
ParsingDictionary< AnisoValTraits > const * | _aniso_val_dict = nullptr |
||
) |
Definition at line 507 of file BasicStructureIO.cc.
void CASM::from_json | ( | xtal::Lattice & | lat, |
const jsonParser & | json, | ||
double | xtal_tol | ||
) |
void CASM::from_json | ( | xtal::Molecule & | mol, |
const jsonParser & | json, | ||
Eigen::Ref< const Eigen::Matrix3d > const & | f2c_mat, | ||
ParsingDictionary< AnisoValTraits > const & | _aniso_val_dict | ||
) |
Definition at line 108 of file BasicStructureIO.cc.
void CASM::from_json | ( | xtal::ScelEnumProps & | props, |
const jsonParser & | json | ||
) |
Make a ScelEnumProps object from JSON input.
Definition at line 43 of file SuperlatticeEnumeratorIO.cc.
void CASM::from_json | ( | xtal::SimpleStructure & | simple_structure, |
const jsonParser & | json | ||
) |
Read SimpleStructure from JSON.
Read SimpleStructure from JSON
simple_structure | xtal::SimpleStructure to read from JSON |
json | A JSON object, from which the xtal::SimpleStructure JSON is read. Expects JSON formatted either i) as documented for to_json for xtal::SimpleStructure or ii) if the "atoms_per_type" attribute exists, using the legacy properties.calc.json format as documented for from_json_legacy . |
Note:
properties.calc.json
Definition at line 387 of file SimpleStructureIO.cc.
void CASM::from_json | ( | xtal::Site & | value, |
const jsonParser & | json, | ||
xtal::Lattice const & | _home, | ||
COORD_TYPE | coordtype, | ||
std::map< std::string, xtal::Molecule > const & | mol_map, | ||
ParsingDictionary< AnisoValTraits > const & | _aniso_val_dict | ||
) |
Definition at line 184 of file BasicStructureIO.cc.
jsonParser const & CASM::from_json | ( | xtal::SpeciesAttribute & | _attr, |
jsonParser const & | json | ||
) |
Read SpeciesAttribute from json.
Definition at line 18 of file BasicStructureIO.cc.
void CASM::from_json | ( | xtal::UnitCellCoord & | fill_value, |
const jsonParser & | read_json | ||
) |
Read from json [b, i, j, k].
Read from json [b, i, j, k], assuming fill_value.unit() is already set.
Definition at line 19 of file UnitCellCoordIO.cc.
ChemicalReferenceState CASM::from_json< ChemicalReferenceState > | ( | const jsonParser & | json | ) |
Read ChemicalReferenceState from: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'.
Eigen::MatrixXd CASM::full_trans_mat | ( | std::vector< SymRepTools::IrrepInfo > const & | irreps | ) |
Assumes that irreps are real, and concatenates their individual trans_mats to form larger trans_mat.
Definition at line 447 of file SymRepTools.cc.
double CASM::gaussian | ( | double | a, |
double | x, | ||
double | b, | ||
double | c | ||
) |
Definition at line 120 of file CASM_math.cc.
double CASM::gaussian_moment | ( | int | expon, |
double | sigma | ||
) |
Definition at line 130 of file CASM_math.cc.
double CASM::gaussian_moment | ( | int | expon, |
double | sigma, | ||
double | x0 | ||
) |
Definition at line 149 of file CASM_math.cc.
int CASM::gcf | ( | int | i1, |
int | i2 | ||
) |
Find greatest common factor.
Definition at line 94 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<Orbit<SymCompareType> > CASM::generate_orbits | ( | std::vector< typename SymCompareType::Element > const & | generating_elements, |
SymGroup const & | generating_group, | ||
SymCompareType const & | sym_compare | ||
) |
Construct orbits from a vector of generating elements.
Definition at line 56 of file OrbitGeneration_impl.hh.
DoFSpecsType const & CASM::get | ( | DoFKey const & | key, |
BasisFunctionSpecs const & | basis_function_specs | ||
) |
Find DoFSpecs and static_cast to DoFSpecsType, or throw exception if not found
Definition at line 169 of file BasisFunctionSpecs.hh.
Index CASM::get_dof_space_dimension | ( | DoFKey | dof_key, |
xtal::BasicStructure const & | prim, | ||
std::optional< Eigen::Matrix3l > const & | transformation_matrix_to_super = std::nullopt , |
||
std::optional< std::set< Index >> const & | sites = std::nullopt |
||
) |
Return dimension of DoFSpace.
Definition at line 359 of file DoFSpace.cc.
Eigen::VectorXd CASM::get_normal_coordinate | ( | Configuration const & | config, |
DoFSpace const & | dof_space | ||
) |
ReturnArray< Array< int > > CASM::get_prime_factors | ( | int | target | ) |
Definition at line 72 of file CASM_Array_math.cc.
std::map< DoFKey, DoFSetInfo > CASM::global_dof_info | ( | Structure const & | _struc | ) |
Definition at line 384 of file Structure.cc.
bool CASM::has_calc_status | ( | const ConfigType & | config, |
std::string | calctype = "" |
||
) |
Definition at line 181 of file Calculable.cc.
bool CASM::has_failure_type | ( | const ConfigType & | config, |
std::string | calctype = "" |
||
) |
Definition at line 189 of file Calculable.cc.
bool CASM::has_local_neighborhood_overlap | ( | std::vector< OrbitType > & | local_orbits, |
const Eigen::Matrix3i & | transf_mat | ||
) |
Check if periodic images of sites in an orbit are overlapping in supercells defined by the given superlattice transformation matrix.
bool CASM::has_local_neighborhood_overlap | ( | std::vector< OrbitType > const & | local_orbits, |
Eigen::Matrix3i const & | transf_mat | ||
) |
Check if periodic images of sites in an orbit are overlapping in supercells defined by the given superlattice transformation matrix.
local_orbits | Vector of IntegralCluster orbits defining the local neighborhood |
transf_mat | A supercell transformation matrix |
Definition at line 195 of file ClusterOrbits_impl.hh.
std::string CASM::help | ( | ) |
Uses 'multiline_help<T>()' by default.
std::string CASM::hermite_normal_form_name | ( | const Eigen::Matrix3l & | matrix | ) |
Definition at line 217 of file SupercellSymInfo.cc.
double CASM::hungarian_method | ( | const Eigen::MatrixXd & | cost_matrix, |
std::vector< Index > & | optimal_assignments, | ||
const double | _tol | ||
) |
Definition at line 458 of file CASM_Eigen_math.cc.
|
inline |
Check for equivalence of AnisoValTraits
Compares: name(), standard_var_names(), options(), symrep_builder_name(), incompatible(), must_apply_before(), must_apply_after(), and is_default()
Definition at line 245 of file AnisoValTraits.hh.
std::string CASM::include_path | ( | const fs::path & | dir | ) |
Definition at line 401 of file RuntimeLibrary.cc.
std::pair< std::vector< long >, std::vector< long > > CASM::index_expression_to_bounds | ( | const std::string & | _expr | ) |
Definition at line 14 of file DataFormatter.cc.
std::vector<IntType> CASM::index_to_kcombination | ( | IntType | ind, |
IntType | k | ||
) |
Definition at line 228 of file CASM_math.hh.
int CASM::init_command | ( | const CommandArgs & | args | ) |
InvariantsIterator<OrbitIterator> CASM::invariants_iterator | ( | OrbitIterator | orbit_it | ) |
std::string CASM::irrational_to_tex_string | ( | double | val, |
int | lim, | ||
int | max_pow = 2 |
||
) |
Definition at line 199 of file CASM_math.cc.
std::vector< SymRepTools::IrrepInfo > CASM::irrep_decomposition | ( | SymGroupRep const & | _rep, |
SymGroup const & | head_group, | ||
bool | allow_complex | ||
) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method.
_rep | matrix representation of head_group, this defines group action on the underlying vector space |
head_group | group for which the irreps are to be found |
allow_complex | if true, irreps may be complex-valued, if false, complex irreps would be combined to form real representations |
Definition at line 761 of file SymRepTools.cc.
std::vector< SymRepTools::IrrepInfo > CASM::irrep_decomposition | ( | SymGroupRep const & | _rep, |
SymGroup const & | head_group, | ||
Eigen::Ref< const Eigen::MatrixXd > const & | _subspace, | ||
bool | allow_complex | ||
) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method.
_rep | matrix representation of head_group, this defines group action on the underlying vector space |
head_group | group for which the irreps are to be found |
allow_complex | if true, irreps may be complex-valued, if false, complex irreps would be combined to form real representations |
Definition at line 770 of file SymRepTools.cc.
std::vector< SymRepTools::IrrepInfo > CASM::irrep_decomposition | ( | SymGroupRep const & | _rep, |
SymGroup const & | head_group, | ||
SymRepTools::SymmetrizerFunction const & | symmetrizer_func, | ||
bool | allow_complex | ||
) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method.
_rep | matrix representation of head_group, this defines group action on the underlying vector space |
head_group | group for which the irreps are to be found |
allow_complex | if true, irreps may be complex-valued, if false, complex irreps would be combined to form real representations |
Definition at line 842 of file SymRepTools.cc.
std::vector< SymRepTools::IrrepInfo > CASM::irrep_decomposition | ( | SymGroupRep const & | _rep, |
SymGroup const & | head_group, | ||
SymRepTools::SymmetrizerFunction const & | symmetrizer_func, | ||
Eigen::MatrixXd | subspace, | ||
bool | allow_complex | ||
) |
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character table, but instead utilizes a brute-force method.
_rep | matrix representation of head_group, this defines group action on the underlying vector space |
head_group | group for which the irreps are to be found |
allow_complex | if true, irreps may be complex-valued, if false, complex irreps would be combined to form real representations |
Definition at line 787 of file SymRepTools.cc.
std::vector<SymGroupRepID> CASM::irrep_IDs | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group | ||
) |
Find irrep decomposition of _rep wrt group head_group and returns it as a list of SymGroupRepIDs corresponding to representtions of master_group.
SymRepTools::Symmetrizer CASM::irrep_symmetrizer | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group, | ||
double | vec_compare_tol | ||
) |
Find a new coordinate system oriented along high-symmetry directions in underlying vector space
_rep | matrix representation specifying group action on underlying vector space |
head_group | subgroup of operations in _rep to be used for symmetry analysis |
vec_compare_tol | tolerance for elementwise floating-point comparisons of vectors The ROWS of result.first are the new basis vectors in terms of the old such that new_symrep_matrix = result.first * old_symrep_matrix * result.first.transpose(); |
Definition at line 420 of file SymRepTools.cc.
SymRepTools::Symmetrizer CASM::irrep_symmetrizer | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group, | ||
Eigen::Ref< const Eigen::MatrixXcd > const & | _subspace, | ||
double | vec_compare_tol | ||
) |
Find a new coordinate system oriented along high-symmetry directions in vector space spanned by columns of
_subspace | |
_rep | matrix representation specifying group action on underlying vector space |
head_group | subgroup of operations in _rep to be used for symmetry analysis |
_subspace | matrix such that _subspace.rows()==_rep.dim() and whose columns specify a subspace of underlying vector space |
vec_compare_tol | tolerance for elementwise floating-point comparisons of vectors The ROWS of result.first are the new basis vectors in terms of the old such that new_symrep_matrix = result.first * old_symrep_matrix * result.first.transpose(); |
Definition at line 431 of file SymRepTools.cc.
Eigen::MatrixXd CASM::irrep_trans_mat | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group | ||
) |
Finds the transformation matrix that block-diagonalizes this representation of head_group into irrep blocks It does not rely on the character table, but instead utilizes a brute-force method This routine additionally orients the resulting basis vectors along high-symmetry directions of the vector space on which they are defined.
head_group | The group with respect to which irreps are determined, which may be a subset of all operations in this representation |
Definition at line 1128 of file SymRepTools.cc.
std::pair<Eigen::MatrixXd, std::vector<Eigen::VectorXcd> > CASM::irrep_trans_mat_and_characters | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group, | ||
SymRepTools::SymmetrizerFunction | symmetrizer_func | ||
) |
Finds the transformation matrix that block-diagonalizes this representation of head_group into irrep blocks It does not rely on the character table, but instead utilizes a brute-force method.
head_group | The group with respect to which irreps are determined, which may be a subset of all operations in this representation |
symmetrizer_func,a | function object that takes an unsymmetrized irrep subspace and returns its Symmetrizer object |
bool CASM::is_calculated | ( | const ConfigType & | config, |
std::string | calctype = "" |
||
) |
Return true if all required properties have been been calculated for the configuration.
Return true if all required properties have been been calculated for the configuration in the calctype specified (current calctype if none specified)
Definition at line 137 of file Calculable.cc.
bool CASM::is_calculated | ( | const MappedProperties & | calc_properties, |
const std::vector< std::string > & | required_properties | ||
) |
Return true if all required properties are included in the JSON.
Definition at line 219 of file Calculable.cc.
bool CASM::is_guaranteed_for_database_insert | ( | ScelEnumByProps const & | enumerator | ) |
Always true for ScelEnumByProps.
Definition at line 13 of file ScelEnum.cc.
bool CASM::is_irrep | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group | ||
) |
Returns true if _rep is irreducible wrt head_group (does not use character table information)
Definition at line 708 of file SymRepTools.cc.
bool CASM::is_valid_dof_space | ( | Configuration const & | config, |
DoFSpace const & | dof_space | ||
) |
Return true if dof_space
is valid for config
Checks that:
Definition at line 257 of file DoFSpace.cc.
bool CASM::is_valid_sub_configuration | ( | xtal::Lattice const & | sub_configuration_lattice, |
Supercell const & | supercell | ||
) |
Return true if a configuration (in any equivalent orientation) can be tiled into a supercell
Note:
apply(symop, sub_configuration_lattice)
can be used used to fill the Supercell. Otherwise it will return false.Return true if a configuration (in any equivalent orientation) can be tiled into a supercell
Note:
apply(symop, configuration)
can be used used to fill the Supercell. Otherwise it will return false. Definition at line 20 of file FillSupercell.cc.
SymGroupRep CASM::kron_rep | ( | const SymGroupRep & | LHS, |
const SymGroupRep & | RHS | ||
) |
Build a large matrix representation by forming kronecker products of a matrix from
LHS | with a matrix from |
RHS |
Definition at line 1256 of file SymRepTools.cc.
int CASM::lcm | ( | const Array< int > & | series | ) |
Find least common multiple.
Definition at line 62 of file CASM_Array_math.cc.
int CASM::lcm | ( | int | i1, |
int | i2 | ||
) |
Find least common multiple.
Definition at line 113 of file CASM_math.cc.
std::string CASM::link_path | ( | const fs::path & | dir | ) |
Definition at line 408 of file RuntimeLibrary.cc.
std::pair< DoFDictInserter, RuntimeLibInserter > CASM::load_dof_plugins | ( | const ProjectSettings & | set, |
DoFDictInserter | dict_it, | ||
RuntimeLibInserter | lib_it | ||
) |
Load DoF plugins from a CASM project.
Definition at line 14 of file HamiltonianModules_impl.hh.
template std::pair<enum_it_type, runtimelib_it_type> CASM::load_enumerator_plugins | ( | ProjectSettings const & | set, |
enum_it_type | enum_it, | ||
runtimelib_it_type | lib_it | ||
) |
std::pair< EnumInterfaceVectorInserter, RuntimeLibInserter > CASM::load_enumerator_plugins | ( | ProjectSettings const & | set, |
EnumInterfaceVectorInserter | enum_it, | ||
RuntimeLibInserter | lib_it | ||
) |
Load enumerator plugins from a CASM project.
set | CASM project settings to read enumerator plugins from |
enum_it | Inserter to EnumInterfaceVector where the plugins should be stored |
lib_it | Inserter to container of pair<std::string, std::shared_ptr<RuntimeLibrary> > holding the libraries with the enumerator plugins |
primclex.dir().enumerator_plugins()
for ENUMNAME.cc
files*.cc
files found are compiled and linked, and the base of the filename (ENUMNAME) is assumed to be the enumerator namemake_ENUMNAME_interface
is assumed to exist with signature: CASM::EnumInterfaceBase* make_ENUMNAME_interface()
, that returns a pointer which owns a CASM::EnumInterfaceBase
-derived objectDefinition at line 36 of file EnumeratorHandler_impl.hh.
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 105 of file QueryHandler_impl.hh.
std::pair< SymRepBuilderDictInserter, RuntimeLibInserter > CASM::load_symrep_builder_plugins | ( | const ProjectSettings & | set, |
SymRepBuilderDictInserter | dict_it, | ||
RuntimeLibInserter | lib_it | ||
) |
Load SymRepBuilder plugins from a CASM project.
Definition at line 66 of file HamiltonianModules_impl.hh.
std::map< DoFKey, std::vector< DoFSetInfo > > CASM::local_dof_info | ( | Structure const & | _struc | ) |
Definition at line 395 of file Structure.cc.
std::shared_ptr< RuntimeLibrary > CASM::log_make_shared_runtime_lib | ( | std::string | filename_base, |
std::string | compile_options, | ||
std::string | so_options, | ||
std::string | compile_msg | ||
) |
Make shared_ptr<RuntimeLibrary>, logging progress and errors.
Definition at line 19 of file LogRuntimeLibrary.cc.
ConfigOutputIterator CASM::make_all_super_configurations | ( | Configuration const & | configuration, |
std::shared_ptr< Supercell const > | shared_supercell, | ||
ConfigOutputIterator | result | ||
) |
Make all super configurations that fill a particular supercell.
Make all equivalent configurations with respect to the prim factor group that fill a supercell
Method:
Note:
is_valid_sub_configuration
. Definition at line 27 of file FillSupercell_impl.hh.
std::unique_ptr< CommandType > CASM::make_api_command | ( | CommandArgs const & | args, |
typename CommandType::OptionType & | opt | ||
) |
Parse command line options and make API command. Throws for parsing errors.
Definition at line 13 of file APICommand_impl.hh.
std::unique_ptr< CommandType > CASM::make_api_command | ( | std::string | cli_str, |
PrimClex & | primclex, | ||
typename CommandType::OptionType & | opt | ||
) |
Parse command line options and make API command. Throws for parsing errors.
Parse command line options and make API command. Throws for parsing errors.
cli_str | CLI args string, ex: 'casm X ...' |
primclex | Existing PrimClex |
Definition at line 27 of file APICommand_impl.hh.
|
related |
Generate the asymmetric unit, using OrbitBranchSpecs.
DataFormatterDictionary< DataObject > CASM::make_attribute_dictionary | ( | ) |
Dictionary of all AttributeFormatter (i.e. BaseValueFormatter<V, DataObject>)
Dictionary of all Attribute.
Dictionary of all Attribute types of DataObject.
Default includes String, Boolean, Integer, Scalar, and VectorXd attributes
Definition at line 1182 of file DataFormatterTools.hh.
DataFormatterDictionary< std::shared_ptr< const Structure > > CASM::make_attribute_dictionary< std::shared_ptr< const Structure > > | ( | ) |
Definition at line 1 of file SharedPrim_data_io.cc.
DataFormatterDictionary< SupercellSymInfo > CASM::make_attribute_dictionary< SupercellSymInfo > | ( | ) |
Definition at line 1 of file SupercellSymInfo_data_io.cc.
std::vector<std::string> CASM::make_axis_glossary | ( | DoFKey | dof_key, |
xtal::BasicStructure const & | prim, | ||
std::optional< Eigen::Matrix3l > const & | transformation_matrix_to_super, | ||
std::optional< std::set< Index >> const & | sites | ||
) |
The axis_glossary gives names to an un-symmetrized coordinate system.
Definition at line 388 of file DoFSpace.cc.
BooleanAttributeDictionary< Supercell > CASM::make_boolean_dictionary< Supercell > | ( | ) |
Definition at line 19 of file SupercellIO.cc.
std::set< Index > CASM::make_canonical_cluster_site_indices | ( | InversePermutationIterator | inverse_permutations_begin, |
InversePermutationIterator | inverse_permutations_end, | ||
std::set< Index > const & | cluster_site_indices | ||
) |
Apply inverse permutations and return the maximum equivalent cluster_site_indices
Definition at line 26 of file SupercellClusterOrbits_impl.hh.
std::string CASM::make_canonical_supercell_name | ( | SymGroup const & | point_group, |
Lattice const & | prim_lattice, | ||
Lattice const & | supercell_lattice | ||
) |
Make the canonical supercell name.
Make the canonical supercell name from SupercellSymInfo.
Definition at line 300 of file SupercellSymInfo.cc.
IntegralCluster CASM::make_cluster | ( | std::set< Index > const & | cluster_site_indices, |
Structure const & | prim, | ||
SupercellSymInfo const & | sym_info | ||
) |
Return cluster from cluster site indices.
Definition at line 28 of file SupercellClusterOrbits.cc.
std::set< Index > CASM::make_cluster_site_indices | ( | IntegralCluster const & | cluster, |
SupercellSymInfo const & | sym_info | ||
) |
Return site indices of cluster sites.
Definition at line 17 of file SupercellClusterOrbits.cc.
std::pair< MasterSymGroup, SymGroupRepID > CASM::make_collective_dof_symrep | ( | std::set< Index > const & | site_indices, |
SupercellSymInfo const & | _syminfo, | ||
DoFKey const & | _key, | ||
std::vector< PermuteIterator > const & | _group | ||
) |
Make the matrix representation for group '_group' describing the transformation of DoF '_key' among a subset of sites.
site_indices | Set of site indices that define subset of sites of interest |
_syminfo | SupercellSymInfo object that defines all symmetry properties of supercell |
_key | DoFKey specifying which local DoF is of interest |
_group | vector of PermuteIterators forming the group that is to be represented (this may be larger than a crystallographic factor group) |
Definition at line 372 of file SupercellSymInfo.cc.
Construct zero-valued ConfigDoF.
Definition at line 10 of file ConfigDoFTools.cc.
Construct zero-valued ConfigDoF.
Definition at line 17 of file ConfigDoFTools.cc.
Construct zero-valued ConfigDoF.
Definition at line 39 of file ConfigDoFTools.cc.
Construct zero-valued ConfigDoF.
Definition at line 44 of file ConfigDoFTools.cc.
DataFormatterFilter< DataObject > CASM::make_data_formatter_filter | ( | std::string const & | filter_expr, |
DataFormatterDictionary< DataObject > const & | _dict | ||
) |
Definition at line 24 of file DataFormatterFilter_impl.hh.
DataFormatterFilter< DataObject > CASM::make_data_formatter_filter | ( | std::vector< std::string > const & | filter_expr, |
DataFormatterDictionary< DataObject > const & | _dict | ||
) |
Definition at line 31 of file DataFormatterFilter_impl.hh.
DatumFormatterAdapter<ExternalType, InternalType> CASM::make_datum_formatter_adapter | ( | BaseDatumFormatter< InternalType > const & | _base_formatter | ) |
Definition at line 122 of file DatumFormatterAdapter.hh.
ProjectSettings CASM::make_default_project_settings | ( | xtal::BasicStructure const & | prim, |
std::string | project_name | ||
) |
Construct default project settings for a given prim structure, without setting a root dir
Notes:
default_nlist_weight_matrix
and default_nlist_sublat_indices
default_configuration_clex
Definition at line 88 of file ProjectBuilder.cc.
ProjectSettings CASM::make_default_project_settings | ( | xtal::BasicStructure const & | prim, |
std::string | project_name, | ||
fs::path | root_dir | ||
) |
Construct default project settings for a given prim structure, including a root dir
Notes:
default_nlist_weight_matrix
and default_nlist_sublat_indices
default_configuration_clex
Definition at line 100 of file ProjectBuilder.cc.
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 732 of file DataFormatter.hh.
DoFSpace CASM::make_dof_space | ( | DoFKey | dof_key, |
ConfigEnumInput const & | input_state, | ||
std::optional< Eigen::MatrixXd > const & | basis = std::nullopt |
||
) |
Make DoFSpace using dof_key
, transformation matrix and sites from input_state
, and basis
Definition at line 487 of file DoFSpace.cc.
std::vector<std::string> CASM::make_dof_space_axis_glossary | ( | DoFKey | dof_key, |
xtal::BasicStructure const & | prim, | ||
std::optional< Eigen::Matrix3l > const & | transformation_matrix_to_super = std::nullopt , |
||
std::optional< std::set< Index >> const & | sites = std::nullopt |
||
) |
Make DoFSpace axis glossary.
void CASM::make_dof_space_axis_info | ( | DoFKey | dof_key, |
xtal::BasicStructure const & | prim, | ||
std::optional< Eigen::Matrix3l > const & | transformation_matrix_to_super, | ||
std::optional< std::set< Index >> const & | sites, | ||
std::vector< std::string > & | axis_glossary, | ||
std::optional< std::vector< Index >> & | axis_site_index, | ||
std::optional< std::vector< Index >> & | axis_dof_component | ||
) |
Make DoFSpace axis glossary, axis site index, and axis dof component.
The axis_glossary gives names to an un-symmetrized coordinate system.
Definition at line 429 of file DoFSpace.cc.
SymGroupRep const & CASM::make_dof_space_symrep | ( | DoFSpace const & | dof_space, |
SupercellSymInfo const & | sym_info, | ||
std::vector< PermuteIterator > const & | group, | ||
MasterSymGroup & | symrep_master_group, | ||
SymGroupRepID & | id | ||
) |
Make a SymGroupRep for a DoFSpace.
Make a SymGroupRep for a DoFSpace
Usage:
Definition at line 513 of file DoFSpace.cc.
ParentInputParser CASM::make_enum_parent_parser | ( | Log & | log, |
jsonParser const & | json_options, | ||
jsonParser const & | cli_options_as_json | ||
) |
Combine –input / –settings JSON with CLI options.
Definition at line 78 of file EnumInterface.cc.
Eigen::Matrix3l CASM::make_hermite_normal_form | ( | std::string | hermite_normal_form_name | ) |
Definition at line 231 of file SupercellSymInfo.cc.
Eigen::MatrixXd CASM::make_homogeneous_mode_space | ( | DoFSpace const & | dof_space | ) |
Make the homogeneous mode space of a local DoFSpace.
Make the homogeneous mode space of a local DoFSpace
dof_space | DoF space to find the homogeneous mode space of. Should be a DoF space for a local continuous DoF and include all sites in the supercell. |
The prim DoF basis may not be either equal to the standard DoF basis, or the same on all sublattices. The homoegeneous mode space then is limited to the common part of dof_info.basis() for each site in the prim.
Ex: most typical, all displacements allowed on all sites: prim_dof_info[0].basis(): [[dx], [dy], [dz]], prim_dof_info[1].basis(): [[dx], [dy], [dz]] Common basis: Rigid translations in [[dx], [dy], [dz]]
Ex: 2d displacements: prim_dof_info[0].basis(): [[dx], [dy]], prim_dof_info[1].basis(): [[dx], [dy]] Common basis: Rigid translations are only allowed in [[dx], [dy]]
Ex: 2d displacements of differing orientation, 1d common basis: prim_dof_info[0].basis(): [[dx, dy], [dz]], prim_dof_info[1].basis(): [[-dx, dy], [dz]] Common basis: Rigid translations are only allowed in [[dz]]
Ex: some fixed sites: prim_dof_info[0].basis(): <not allowed>, prim_dof_info[1].basis(): [[dx], [dy], [dz]] Common basis: No rigid translations allowed
The common basis, in the standard DoF basis, is: common_standard_basis = nullspace( Prod_i P(i) - I ), where projector P(i), is: P(i) = prim_dof_info[i].basis() * prim_dof_info[i].inv_basis()
If the common_standard_basis is not empty, the homogeneous mode space is the column vector space constructed by transforming the common_standard_basis back into the basis for each site in the DoFSpace:
[[ sites_dof_info[0].inv_basis() * common_standard_basis ], [ sites_dof_info[1].inv_basis() * common_standard_basis ], ..., [ sites_dof_info[n_sites-1].inv_basis() * common_standard_basis ]]
Note that the lines above represent blocks equal to the dimension of the DoF basis on each site.
DoFSetInfo for each sublattice
DoFSetInfo for each site in the DoFSpace with 'dof_key'
DoFSetInfo for each sublattice
DoFSetInfo for each site in the DoFSpace with 'dof_key'
Definition at line 740 of file DoFSpace.cc.
std::vector< std::vector< Index > > CASM::make_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 341 of file Structure.cc.
std::vector<std::vector<Index> > CASM::make_index_converter | ( | const Structure & | struc, |
std::vector< xtal::Molecule > | mol_list | ||
) |
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 322 of file Structure.cc.
std::vector< std::vector< Index > > CASM::make_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].occupant_dof().size()
Definition at line 363 of file Structure.cc.
IntegerAttributeDictionary< Supercell > CASM::make_integer_dictionary< Supercell > | ( | ) |
Definition at line 19 of file SupercellIO.cc.
SymGroup CASM::make_invariant_subgroup | ( | const Element & | element, |
const SymGroup & | generating_grp, | ||
const SymCompareType & | sym_compare | ||
) |
Construct the subgroup that leaves an element unchanged.
Includes translations as determined from 'sym_compare'
Implementation is equivalent to:
Definition at line 92 of file InvariantSubgroup_impl.hh.
SymGroup CASM::make_invariant_subgroup | ( | const OrbitType & | orbit, |
Index | element_index | ||
) |
Construct the subgroup that leaves an element of the orbit unchanged.
Does not include translations as determined from 'sym_compare'
The equivalence map is: element(i) compares equivalent to prototype().copy_apply(equivalence_map[i][j]) for all j
The subgroup that leaves element 'i' of the orbit unchanged is, for all j: eq_map[i][0]*eq_map[0][j]*eq_map[i][0].inverse()
Definition at line 118 of file InvariantSubgroup_impl.hh.
OpOutputIterator CASM::make_invariant_subgroup | ( | Element const & | element, |
OpIterator | group_begin, | ||
OpIterator | group_end, | ||
SymCompareType const & | sym_compare, | ||
OpOutputIterator | result | ||
) |
Construct the subgroup that leaves an element unchanged.
Construct the subgroup that leaves an element unchanged
Includes translations as determined from 'sym_compare'
Implementation is equivalent to:
Definition at line 29 of file InvariantSubgroup_impl.hh.
OutputIterator CASM::make_invariant_subgroup | ( | Element const & | element, |
PermuteIterator | permute_begin, | ||
PermuteIterator | permute_end, | ||
SymCompareType const & | sym_compare, | ||
OutputIterator | result | ||
) |
Construct the subgroup (PermuteIterator) that leaves an element unchanged.
Construct the subgroup (PermuteIterator) that leaves an element unchanged
Implementation is equivalent to:
Definition at line 58 of file InvariantSubgroup_impl.hh.
std::vector< Permutation > CASM::make_inverse_permutations | ( | PermuteIteratorIt | begin, |
PermuteIteratorIt | end | ||
) |
Make inverse permutations.
Make inverse permutations
Inverse permutations allow fast permutation of cluster site indices. For the details see permute_cluster_site_indices
.
Definition at line 14 of file SupercellClusterOrbits_impl.hh.
SymRepTools_v2::IrrepDecomposition CASM::make_irrep_decomposition | ( | SymGroupRep const & | rep, |
SymGroup const & | head_group, | ||
Eigen::MatrixXd const & | _init_subspace, | ||
bool | allow_complex | ||
) |
Make an IrrepDecompotion using CASM::SymGroupRep and CASM::SymGroup.
Definition at line 150 of file IrrepDecomposition.cc.
DataFormatterDictionary<Configuration, BaseValueFormatter<jsonParser, Configuration> > CASM::make_json_dictionary< Configuration > | ( | ) |
Definition at line 43 of file ConfigIO.cc.
DataFormatterDictionary<Supercell, BaseValueFormatter<jsonParser, Supercell> > CASM::make_json_dictionary< Supercell > | ( | ) |
Definition at line 19 of file SupercellIO.cc.
jsonParser CASM::make_json_input | ( | const OptionType & | opt | ) |
Check for –settings, then –input and return JSON input. Else return empty JSON object.
Definition at line 11 of file json_io_impl.hh.
DataFormatterDictionary< DataObject > CASM::make_operator_dictionary | ( | ) |
Dictionary of all DatumFormatterOperator.
Definition at line 514 of file DataFormatterTools.hh.
std::set< std::set< Index >, ClusterSiteIndicesCompare > CASM::make_orbit_generators_under_periodic_boundary_conditions | ( | SupercellSymInfo const & | sym_info, |
InversePermutationIterator | inverse_permutations_begin, | ||
InversePermutationIterator | inverse_permutations_end, | ||
ElementIterator | element_begin, | ||
ElementIterator | element_end | ||
) |
Return "within_scel" orbit generators, as sets of cluster site indices.
Return orbit generators, as sets of cluster site indices, under periodic boundary conditions
Given a range of elements (IntegralCluster), convert to sets of cluster site indices, and apply permute group operations (using inverse permutations to permute site indices instead of site values) to identify unique cluster site indices under periodic boundary conditions
Note:
sym_info | SupercellSymInfo for the supercell in which cluster orbits are generated |
inverse_permutations_begin,inverse_permutations_end | The inverse permutations of the permute group that will be used to generate cluster orbits in the supercell (i.e the result of make_inverse_permutations for the range [sym_info.permute_begin(), sym_info.permute_end()) or a subgroup (i.e. Configuration::factor_group() ). |
element_begin,element_end | Iterators that provide orbit elements (IntegralCluster). |
Definition at line 72 of file SupercellClusterOrbits_impl.hh.
OrbitOutputIterator CASM::make_orbits | ( | GeneratorIterator | gen_begin, |
GeneratorIterator | gen_end, | ||
const SymGroup & | generating_group, | ||
const SymCompareType & | sym_compare, | ||
OrbitOutputIterator | result | ||
) |
OrbitOutputIterator CASM::make_orbits | ( | GeneratorIterator | gen_begin, |
GeneratorIterator | gen_end, | ||
const SymGroup & | generating_group, | ||
const SymCompareType & | sym_compare, | ||
OrbitOutputIterator | result, | ||
std::ostream & | status | ||
) |
Generate Orbit<IntegralVector> using OrbitBranchSpecs.
Definition at line 19 of file VectorOrbits.hh.
OrbitOutputIterator CASM::make_orbits | ( | OrbitBranchSpecsIterator | begin, |
OrbitBranchSpecsIterator | end, | ||
const std::vector< IntegralClusterOrbitGenerator > & | custom_generators, | ||
OrbitOutputIterator | result, | ||
std::ostream & | status | ||
) |
Generate orbits of IntegralCluster using OrbitBranchSpecs.
Generate Orbit<IntegralCluster> using OrbitBranchSpecs.
begin,end | A range of OrbitBranchSpecs, starting with the null branch |
custom_generators | A vector of custom orbit generating clusters |
result | An output iterator for Orbit |
status | Stream for status messages |
Definition at line 479 of file ClusterOrbits_impl.hh.
ParsingDictionary<T> CASM::make_parsing_dictionary | ( | ) |
ParsingDictionary< AnisoValTraits > CASM::make_parsing_dictionary< AnisoValTraits > | ( | ) |
Definition at line 1 of file AnisoValTraits.cc.
DoFType::TraitsDictionary CASM::make_parsing_dictionary< DoFType::Traits > | ( | ) |
Definition at line 26 of file DoFTraits.cc.
HamiltonianModules::SymRepBuilderDictionary CASM::make_parsing_dictionary< SymRepBuilderInterface > | ( | ) |
Definition at line 7 of file HamiltonianModules.cc.
SymGroupRepID CASM::make_permutation_representation | ( | const SymGroup & | group, |
const xtal::UnitCellCoordIndexConverter & | bijk_index_converter, | ||
const Lattice & | prim_lattice, | ||
const SymGroupRepID & | prim_symrep_ID | ||
) |
Definition at line 103 of file SupercellSymInfo.cc.
SymGroup CASM::make_point_group | ( | const PermuteIteratorContainer & | container, |
const Lattice & | supercell_lattice | ||
) |
Returns a SymGroup generated from a container of PermuteIterator.
container | A container of PermuteIterator |
Definition at line 179 of file PermuteIterator.hh.
template SymGroup CASM::make_point_group | ( | PermuteIterator | begin, |
PermuteIterator | end, | ||
const Lattice & | supercell_lattice | ||
) |
SymGroup CASM::make_point_group | ( | PermuteIteratorIt | begin, |
PermuteIteratorIt | end, | ||
const Lattice & | supercell_lattice | ||
) |
Returns a SymGroup generated from a range of PermuteIterator.
begin,end | A range of PermuteIterator |
Definition at line 236 of file PermuteIterator.cc.
template SymGroup CASM::make_point_group | ( | std::vector< PermuteIterator >::const_iterator | begin, |
std::vector< PermuteIterator >::const_iterator | end, | ||
const Lattice & | supercell_lattice | ||
) |
template SymGroup CASM::make_point_group | ( | std::vector< PermuteIterator >::iterator | begin, |
std::vector< PermuteIterator >::iterator | end, | ||
const Lattice & | supercell_lattice | ||
) |
jsonParser CASM::make_report | ( | KwargsParser const & | parser | ) |
Return parser.input with error and warning messages added in place.
Return parser.input with error and warning messages added in place, including all subparsers
Definition at line 214 of file InputParser.cc.
ScalarAttributeDictionary< Supercell > CASM::make_scalar_dictionary< Supercell > | ( | ) |
Definition at line 19 of file SupercellIO.cc.
xtal::SimpleStructure CASM::make_simple_structure | ( | Configuration const & | _config, |
std::vector< DoFKey > const & | _which_dofs = {} , |
||
bool | relaxed = false |
||
) |
Construct SimpleStructure from Configuration.
_config | Configuration used as source data |
_which_dofs | List of DoF type-names that specify which DoF values to utilize from _config when building the result. If empty, all DoFs are used. To exclude all DoFs from conversion, pass _which_dofs={"none"}. |
relaxed | Flag specifying to use relaxed coordinates and parameters (if true) or to only use the imposed DoFs (if false). |
Note:
(relaxed==true && is_calculated(_config)
:_config.calc_properties()
are applied._config.calc_properties().site.at("coordinate")
_config.calc_properties().global.at("latvec")
Definition at line 33 of file SimpleStructureTools.cc.
xtal::SimpleStructure CASM::make_simple_structure | ( | Supercell const & | _scel, |
ConfigDoF const & | _dof, | ||
MappedProperties const & | _props, | ||
std::vector< DoFKey > const & | _which_dofs = {} , |
||
bool | relaxed = false |
||
) |
Construct from ConfigDoF _dof belonging to provided Supercell _scel and using calculated properties.
_props | Record of calculated properties to use during conversion |
relaxed | flag specifying to use _props argument during conversion (if true) |
Note:
_config.calc_properties().site.at("coordinate")
_config.calc_properties().global.at("latvec")
If not, initialize it
If not, initialize it
Definition at line 45 of file SimpleStructureTools.cc.
xtal::SimpleStructure CASM::make_simple_structure | ( | Supercell const & | _scel, |
ConfigDoF const & | _dof, | ||
std::vector< DoFKey > const & | _which_dofs = {} |
||
) |
Construct from ConfigDoF _dof belonging to provided Supercell _scel.
_which_dofs | List of DoF type-names that specify which DoF values to utilize from _config when building the result if empty, all DoFs are used. To exclude all DoFs from conversion, pass _which_dofs={"none"} |
Definition at line 26 of file SimpleStructureTools.cc.
EnumInterfaceVector CASM::make_standard_enumerator_interfaces | ( | ) |
A map containing interfaces that allow casm enum
to run the enumeration methods in libcasm
Definition at line 19 of file standard_enumerator_interfaces.cc.
InfoInterfaceVector CASM::make_standard_info_method_interfaces | ( | ) |
A vector containing casm info
method interfaces.
Definition at line 14 of file standard_info_method_interfaces.cc.
StringAttributeDictionary< Supercell > CASM::make_string_dictionary< Supercell > | ( | ) |
Definition at line 19 of file SupercellIO.cc.
ElementOutputIterator CASM::make_suborbit_generators | ( | GroupOpIterator | group_begin, |
GroupOpIterator | group_end, | ||
SubgroupOpIterator | subgroup_begin, | ||
SubgroupOpIterator | subgroup_end, | ||
ElementIterator | element_begin, | ||
ElementIterator | element_end, | ||
SymCompareType const & | sym_compare, | ||
ElementOutputIterator | result | ||
) |
Definition at line 143 of file SubOrbits_impl.hh.
MakeSubOrbitGenerators<GroupOpIterator, SubgroupOpIterator> CASM::make_suborbit_generators_f | ( | GroupOpIterator | group_begin, |
GroupOpIterator | group_end, | ||
SubgroupOpIterator | subgroup_begin, | ||
SubgroupOpIterator | subgroup_end | ||
) |
Definition at line 50 of file SubOrbits.hh.
std::string CASM::make_supercell_name | ( | SymGroup const & | point_group, |
Lattice const & | prim_lattice, | ||
Lattice const & | supercell_lattice | ||
) |
Make the supercell name.
Make the supercell name from SupercellSymInfo
For supercells that are equivalent to the canonical supercell:
SCELV_A_B_C_D_E_F
, where 'V' is supercell volume (number of unit cells), and 'A-F' are the six non-zero elements of the hermite normal form of the canonical supercell transformation matrix (T00, T11, T22, T12, T02, T01)For supercells that are not equivalent to the canonical supercell:
$CANON_SCELNAME.$FG_INDEX
where CANON_SCELNAME is the supercell name for the canonical equivalent supercell and FG_INDEX is the lowest index prim factor group operation which can be applied to the canonical supercell lattice to construct a lattice equivalent to the input supercell lattice. Definition at line 278 of file SupercellSymInfo.cc.
SupercellSymInfo CASM::make_supercell_sym_info | ( | Structure const & | prim, |
Lattice const & | super_lattice | ||
) |
Definition at line 419 of file Structure.cc.
xtal::Superlattice CASM::make_superlattice_from_supercell_name | ( | SymGroup const & | factor_group, |
Lattice const & | prim_lattice, | ||
std::string | supercell_name | ||
) |
Construct a Superlattice from the supercell name.
Definition at line 311 of file SupercellSymInfo.cc.
SymGroup CASM::make_sym_group | ( | const PermuteIteratorContainer & | container, |
const Lattice & | supercell_lattice | ||
) |
Returns a SymGroup generated from a container of PermuteIterator.
container | A container of PermuteIterator |
Definition at line 196 of file PermuteIterator.hh.
template SymGroup CASM::make_sym_group | ( | PermuteIterator | begin, |
PermuteIterator | end, | ||
const Lattice & | supercell_lattice | ||
) |
SymGroup CASM::make_sym_group | ( | PermuteIteratorIt | begin, |
PermuteIteratorIt | end, | ||
const Lattice & | supercell_lattice | ||
) |
Returns a SymGroup generated from a range of PermuteIterator.
begin,end | A range of PermuteIterator |
Definition at line 262 of file PermuteIterator.cc.
template SymGroup CASM::make_sym_group | ( | std::vector< PermuteIterator >::const_iterator | begin, |
std::vector< PermuteIterator >::const_iterator | end, | ||
const Lattice & | supercell_lattice | ||
) |
template SymGroup CASM::make_sym_group | ( | std::vector< PermuteIterator >::iterator | begin, |
std::vector< PermuteIterator >::iterator | end, | ||
const Lattice & | supercell_lattice | ||
) |
DoFSpace CASM::make_symmetry_adapted_dof_space | ( | DoFSpace const & | dof_space, |
SupercellSymInfo const & | sym_info, | ||
std::vector< PermuteIterator > const & | group, | ||
bool | calc_wedges, | ||
std::optional< VectorSpaceSymReport > & | symmetry_report | ||
) |
Make DoFSpace with symmetry adapated basis.
Definition at line 604 of file DoFSpace.cc.
DoFSpace CASM::make_symmetry_adapted_dof_space_v2 | ( | DoFSpace const & | dof_space, |
SupercellSymInfo const & | sym_info, | ||
std::vector< PermuteIterator > const & | group, | ||
bool | calc_wedges, | ||
std::optional< SymRepTools_v2::VectorSpaceSymReport > & | symmetry_report | ||
) |
Make DoFSpace with symmetry adapated basis.
Definition at line 635 of file DoFSpace.cc.
std::vector<Permutation> CASM::make_translation_permutations | ( | const Eigen::Matrix3l & | transformation_matrix, |
int | basis_sites_in_prim | ||
) |
Definition at line 24 of file SupercellSymInfo.cc.
Construct zero-valued std::unique_ptr<ConfigDoF>
Definition at line 23 of file ConfigDoFTools.cc.
std::unique_ptr< ConfigDoF > CASM::make_unique_configdof | ( | Structure const & | prim, |
Index | volume, | ||
double | tol | ||
) |
Construct zero-valued std::unique_ptr<ConfigDoF>
Definition at line 31 of file ConfigDoFTools.cc.
Construct zero-valued std::unique_ptr<ConfigDoF>
Definition at line 49 of file ConfigDoFTools.cc.
std::unique_ptr< ConfigDoF > CASM::make_unique_configdof | ( | Supercell const & | supercell, |
double | tol | ||
) |
Construct zero-valued std::unique_ptr<ConfigDoF>
Definition at line 54 of file ConfigDoFTools.cc.
std::unique_ptr<SymGroup> CASM::make_unique_sym_group | ( | const PermuteIteratorContainer & | container, |
const Lattice & | supercell_lattice | ||
) |
Returns a std::unique_ptr<SymGroup> generated from a container of PermuteIterator.
container | A container of PermuteIterator |
Definition at line 213 of file PermuteIterator.hh.
std::unique_ptr< SymGroup > CASM::make_unique_sym_group | ( | PermuteIteratorIt | begin, |
PermuteIteratorIt | end, | ||
const Lattice & | supercell_lattice | ||
) |
Returns a SymGroup generated from a range of PermuteIterator.
Returns a std::unique_ptr<SymGroup> generated from a range of PermuteIterator.
begin,end | A range of PermuteIterator |
Definition at line 282 of file PermuteIterator.cc.
VectorXdAttributeDictionary< Supercell > CASM::make_vectorxd_dictionary< Supercell > | ( | ) |
Definition at line 19 of file SupercellIO.cc.
VectorXiAttributeDictionary<Configuration> CASM::make_vectorxi_dictionary< Configuration > | ( | ) |
Definition at line 43 of file ConfigIO.cc.
VectorXiAttributeDictionary< Supercell > CASM::make_vectorxi_dictionary< Supercell > | ( | ) |
Definition at line 19 of file SupercellIO.cc.
T CASM::max | ( | const T & | A, |
const T & | B | ||
) |
Definition at line 95 of file CASM_math.hh.
ClusterFilterFunction CASM::max_length_cluster_filter | ( | double | max_length | ) |
Accept clusters with max pair distance less than max_length.
Definition at line 498 of file ClusterSpecs.cc.
CandidateSitesFunction CASM::max_length_neighborhood | ( | double | max_length | ) |
Sites within max_length distance to any site in the origin unit cell {b, 0, 0, 0}
Definition at line 514 of file ClusterSpecs.cc.
T CASM::min | ( | const T & | A, |
const T & | B | ||
) |
Definition at line 88 of file CASM_math.hh.
int CASM::mod | ( | int | a, |
int | b | ||
) |
Definition at line 262 of file CASM_math.cc.
std::vector< std::set< Index > > CASM::mol_site_compatibility | ( | xtal::SimpleStructure const & | sstruc, |
Configuration const & | _config | ||
) |
Determine which sites of a Configuration can host each molecule of a SimpleStructure result[i] is set of site indices in.
_config | that can host molecule 'i' of |
sstruc |
Definition at line 96 of file SimpleStructureTools.cc.
int CASM::monte_command | ( | const CommandArgs & | args | ) |
void CASM::montecarlo | ( | const CommandArgs & | args | ) |
std::string CASM::multiline_help | ( | ) |
IntType CASM::multinomial_coeff | ( | const Array< IntType > & | exponents | ) |
Definition at line 53 of file CASM_Array_math.hh.
IntType CASM::multinomial_coeff | ( | const Array< IntType > & | exponents, |
const Array< Index > & | sublist | ||
) |
Definition at line 65 of file CASM_Array_math.hh.
GenericDatumFormatter<std::string, DataObject> CASM::name | ( | ) |
Definition at line 924 of file DataFormatterTools.hh.
IntType CASM::nchoosek | ( | IntType | n, |
IntType | k | ||
) |
Definition at line 207 of file CASM_math.hh.
void CASM::nearest_rational_number | ( | double | val, |
long & | numerator, | ||
long & | denominator, | ||
double | tol = TOL |
||
) |
Definition at line 165 of file CASM_math.cc.
bool CASM::new_dir | ( | const DirectoryStructure & | dir, |
ClexDescription const & | desc | ||
) |
Add directories for a particular cluster expansion
Create bset, calc_settings, ref, and eci directories for the cluster expansion desc
.
Definition at line 61 of file ClexDescription.cc.
Eigen::MatrixXd CASM::null_composition_space | ( | const ParamComposition::AllowedOccupants & | _allowed_occs, |
double | tol | ||
) |
Return the null composition space of a ParamComposition::AllowedOccupants.
Return the null composition space of a BasicStructure.
_allowed_occs | A BasicStructure to find the standard composition space for (does not check if it is actually primitive). |
tol | tolerance for checking rank (default 1e-14) |
Definition at line 633 of file CompositionConverter.cc.
Index CASM::num_blocks | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group | ||
) |
counts number of nonzero blocks in matrix representation of head_group as specified by _rep Reveals number of invariant subspaces (with respect to head_group) that comprise the vector space supporting _rep
Definition at line 402 of file SymRepTools.cc.
std::pair< Eigen::VectorXd, std::vector< ChemicalReferenceState > > CASM::one_chemical_reference_from_json | ( | BasicStructure const & | prim, |
jsonParser const & | json | ||
) |
Read chemical reference from one of 3 alternative forms.
This function returns a pair with only one element initialized. If alternative 1, then the vector is set. If alternative 2 or 3, then the Eigen::VectorXd is set.
Expected input form: 1)
2) Expects all species in prim, except vacancy:
3) Expects one element for each species in prim, including 0.0 for vacancy:
Definition at line 177 of file ChemicalReference_json_io.cc.
|
inline |
Compares false if group_index() and rep_index() are equal.
Definition at line 88 of file SymGroupRepID.hh.
double CASM::operator* | ( | const ECIContainer & | _eci, |
const Eigen::VectorXd & | _corr | ||
) |
Evaluate property given an ECIContainer and correlations.
Definition at line 10 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 21 of file ECIContainer.cc.
Definition at line 1408 of file BasisSet.cc.
bool CASM::operator< | ( | const ClexDescription & | A, |
const ClexDescription & | B | ||
) |
Compare using name strings: A.name < B.name.
Definition at line 37 of file ClexDescription.cc.
|
inline |
Less-than comparison for use in STL containers (std::set, std::map, etc)
Definition at line 93 of file SymGroupRepID.hh.
|
inline |
Definition at line 754 of file DataFormatter.hh.
|
inline |
Definition at line 316 of file DataStream.hh.
|
inline |
Definition at line 303 of file DataStream.hh.
|
inline |
Definition at line 299 of file DataStream.hh.
|
inline |
Definition at line 307 of file DataStream.hh.
|
inline |
Definition at line 311 of file DataStream.hh.
std::ostream & CASM::operator<< | ( | std::ostream & | out, |
const Permutation & | perm | ||
) |
Definition at line 11 of file PermutationIO.cc.
std::ostream & CASM::operator<< | ( | std::ostream & | _stream, |
const FormatFlag & | flag | ||
) |
Definition at line 9 of file FormatFlag.cc.
|
inline |
Definition at line 747 of file DataFormatter.hh.
|
inline |
Definition at line 102 of file SymGroupRepID.hh.
std::ostream & CASM::operator<< | ( | std::ostream & | sout, |
ClusterInvariants const & | invariants | ||
) |
Print ClusterInvariants.
Definition at line 10 of file ClusterInvariants_stream_io.cc.
std::ostream& CASM::operator<< | ( | std::ostream & | sout, |
const BasicClexParamPack::EvalMode & | val | ||
) |
Definition at line 201 of file BasicClexParamPack.hh.
std::ostream& CASM::operator<< | ( | std::ostream & | sout, |
const Configuration & | c | ||
) |
Definition at line 1094 of file Configuration.cc.
|
inline |
Definition at line 672 of file DiffClexParamPack.hh.
std::ostream & CASM::operator<< | ( | std::ostream & | sout, |
const IntegralCluster & | clust | ||
) |
Print IntegralCluster to stream, using default Printer<IntegralCluster>
Definition at line 10 of file IntegralCluster_stream_io.cc.
std::ostream & CASM::operator<< | ( | std::ostream & | sout, |
WithinScelClusterInvariants const & | invariants | ||
) |
Print WithinScelClusterInvariants.
Definition at line 29 of file ClusterInvariants_stream_io.cc.
std::ostream& CASM::operator<< | ( | std::ostream & | stream, |
const MultiCounter< CounterType > & | counter | ||
) |
Definition at line 183 of file MultiCounter.hh.
|
inline |
Compares true if group_index() and rep_index() are equal.
Definition at line 83 of file SymGroupRepID.hh.
std::istream& CASM::operator>> | ( | std::istream & | _in, |
std::vector< T > & | vec | ||
) |
Definition at line 10 of file stream_io.hh.
std::istream& CASM::operator>> | ( | std::istream & | sin, |
BasicClexParamPack::EvalMode & | val | ||
) |
Definition at line 207 of file BasicClexParamPack.hh.
|
inline |
Definition at line 678 of file DiffClexParamPack.hh.
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.
CandidateSitesFunction CASM::origin_neighborhood | ( | ) |
Only sites in the origin unit cell {b, 0, 0, 0}.
Definition at line 508 of file ClusterSpecs.cc.
|
inline |
void CASM::parse | ( | InputParser< AxesCounterParams > & | parser, |
Index | dof_space_dimension | ||
) |
Parse DoFSpace subspace from "axes" and normal coordinate grid counter from "min", "max", and "increment"
Definition at line 439 of file DoFSpace.cc.
void CASM::parse | ( | InputParser< BasisFunctionSpecs > & | parser, |
Structure const & | prim, | ||
ParsingDictionary< DoFType::Traits > const * | dof_dict | ||
) |
Parse BasisFunctionSpecs from JSON & validate
Allowed JSON attributes: dofs: array of string (optional, default= all prim dof keys) An array of string of dof type names that should be used to construct basis functions. The default value is all DoF types included in the prim. global_max_poly_order: int (optional, default=-1) See orbit_branch_max_poly_order
documentation. orbit_branch_max_poly_order: object (optional, default={}) By default, for a given cluster orbit, polynomials of order up to the cluster size are created. Higher order polynomials can be requested either on a per-orbit-branch or global basis. The most specific level specified is used. Orbit branches are specified using the string value of the cluster size as a key.
Example: "orbit_branch_max_poly_order": { "4": 7 // use maximum polynomial order == 7, for orbits of cluster size == 4 }, "global_max_poly_order": 3, // use max(3, cluster size), for all other orbits
param_pack_type: string (optional, default="default") Specifies the ParamPack type to use when writing the Clexulator. Options are "default" or "diff", which enables fadbad automatic differentiating. dof_specs: object (required for some dofs) Provides DoF-particular specifications for constructing basis functions. Not all DoF types require their own DoFSpecs. See documentation for a particular DoF type to determine if it is required.
For "occ": (required if occupation dof included) site_basis_functions: string or array (required) Must be one of:
An array specifying sublat compositions, for "composition" basis functions generated about an average composition speficified for each sublattice.
Example sublattice composition specification, for a prim structure with four sublattices and two allowed occupants ("A" and "B") on each sublattice:
[ { // composition on sublattices 0 and 1, as listed in prim "sublat_indices": [0, 1], "composition": {"A": 0.25, "B": 0.75} }, { // composition on sublattices 2 and 3, as listed in prim "sublat_indices": [2, 3], "composition": {"A": 0.75, "B": 0.25} } ]
For "<flavor>magspin": (optional if "<flavor>magspin" dof included) max_poly_order: int (optional, default=-1) Specifies the maximum polynomial order for site basis functions.
Definition at line 86 of file BasisFunctionSpecs_json_io.cc.
void CASM::parse | ( | InputParser< ClexBasisSpecs > & | parser, |
std::shared_ptr< Structure const > | shared_prim, | ||
ParsingDictionary< DoFType::Traits > const * | dof_dict | ||
) |
Parse ClexBasisSpecs from JSON & validate (bspecs.json input)
Expects:
Note:
Definition at line 15 of file ClexBasisSpecs_json_io.cc.
void CASM::parse | ( | InputParser< ClusterSpecs > & | parser, |
const std::shared_ptr< const Structure > & | shared_prim | ||
) |
Parse PeriodicMaxLengthClusterSpecs or LocalMaxLengthClusterSpecs from JSON & validate.
This overload is equivalent to: parse(parser, shared_prim, shared_prim->factor_group())
.
Definition at line 327 of file ClusterSpecs_json_io.cc.
void CASM::parse | ( | InputParser< ClusterSpecs > & | parser, |
const std::shared_ptr< const Structure > & | shared_prim, | ||
const SymGroup & | super_group | ||
) |
Parse ClusterSpecs from JSON & validate.
Parse any supported type of ClusterSpecs from JSON & validate with specified generating_group.
parser | (InputParser<ClusterSpecs>) Holds resulting value and error or warning messages |
shared_prim | (const std::shared_ptr<const Structure> &) Prim structure |
super_group | (const SymGroup &) Used to generate orbits. |
transformation_matrix_to_super | (Eigen::Matrix3l const *) Optional super lattice transformation matrix for contexts when "within_scel_max_length" is supported. |
This is used by PrimClex to read any user's bspecs.json file. Update this if you want to add more recognized cluster specs.
Notes on the naming conventions:
Notes on cluster generation methods:
max_length
is greater than the n-point cluster max_length
. (The max_length value does not matter for null and 1-point cluster orbits, so this applies to n >= 2).Expected JSON format:
method: string (required) Specify which cluster orbit generating method will be used. One of: - "periodic_max_length": Clusters differing by a lattice translation are considered equivalent. Cluster generation is truncated by specifying the maximum distance between sites in a cluster for 2-point, 3-point, etc. clusters. The point clusters comprising the asymmetric unit of the prim structure are always included. This is the appropriate method for cluster expansions of crystal properties. - "local_max_length": Clusters differing by a lattice translation are considered distinct. Cluster generation is truncated by specifying for 2-point, 3-point, etc. clusters the radius of sites from "phenomenal" cluster include, and the maximum distance between sites in a cluster. This is the appropriate method for cluster expansions of properties associated with the "phenomenal" cluster. params: object (required) Specifies parameters for the method selected by `method`. Options depend on the `method` chosen: For method=="periodic_max_length": orbit_branch_specs: object (required) Cluster generation is truncated by specifying the maximum distance between sites in a cluster for each orbit branch (i.e. 2-point, 3-point, etc. clusters). The null (0-point) clusters are always included. The 1-point clusters comprising the asymmetric unit of the prim structure are always included if 2-point clusters or greater are included or if "1" is present (with any value). Example 1: Generate up to 3-point clusters. - null cluster orbit is always included - 1-point cluster orbits are included because 2-point cluster orbits are included - max_length value for point branch 3 is >= max_length value for branch 2 "orbit_branch_specs": { "2": { "max_length": 10.0 }, "3": { "max_length": 8.0 } } Example 2: Generate null cluster orbit only - null cluster orbit is always included ("orbit_branch_specs" itself need not be included) "orbit_branch_specs": {} Example 3: Generate null and 1-point cluster orbits only - null cluster orbit is always included - only the presence of "1" needed to included 1-point cluster orbits, the max_length value is not necessary for 1-point clusters and ignored if present "orbit_branch_specs": { "1": {} } orbit_specs: array (optional) An array of clusters which are used to generate and include orbits of clusters whether or not they meet the `max_length` truncation criteria. See the cluster input format below. For method=="local_max_length": phenomenal: object (required) The "phenomenal" cluster about which local clusters are generated. See the cluster input format below. generating_group: array of int (required) An array of symop indices into the prim structure factor group specifying the invariant group of the "phenomenal" cluster which should be used to for generating local cluster orbits. In some contexts, the relevant symmetry is lower than that determined from the phenomenal cluster sites alone. orbit_branch_specs: object (required) All sites within `cutoff_radius` distance of any site in the phenomenal cluster are considered candidates for inclusion in clusters of a particular orbit branch. Cluster generation is truncated by specifying the maximum distance between sites in a cluster for each orbit branch. The `max_length` parameter is not necessary for 1-point clusters and ignored if present. Example: "orbit_branch_specs": { "1": { "cutoff_radius": 6.0 }, "2": { "max_length": 9.0, "cutoff_radius": 6.0 }, "3": { "max_length": 8.0, "cutoff_radius": 6.0 }, ... } orbit_specs: array (optional) An array of clusters which are used to generate and include orbits of clusters whether or not they meet the `cutoff_radius` or `max_length` truncation criteria. See the cluster input format below.
Cluster input format for "orbit_specs" and "phenomenal": object coordinate_mode: string (optional, default="Integral") Specifies the coordinate mode used to specify cluster sites. May be:
Example cluster, with "Direct" coordinates: { "coordinate_mode" : "Direct", "sites" : [ [ 0.000000000000, 0.000000000000, 0.000000000000 ], [ 1.000000000000, 0.000000000000, 0.000000000000 ], [ 2.000000000000, 0.000000000000, 0.000000000000 ], [ 3.000000000000, 0.000000000000, 0.000000000000 ]], "include_subclusters" : true }
Example cluster, with "Integral" coordinates: { "coordinate_mode" : "Integral", "sites" : [ [ 0, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 0, 0, 0 ]], "include_subclusters" : true }
Definition at line 513 of file ClusterSpecs_json_io.cc.
void CASM::parse | ( | InputParser< ConfigEnumInput > & | parser, |
std::shared_ptr< Structure const > const & | shared_prim | ||
) |
Read ConfigEnumInput from JSON.
Definition at line 42 of file ConfigEnumInput_json_io.cc.
void CASM::parse | ( | InputParser< ConfigEnumOptions > & | parser, |
std::string | method_name, | ||
PrimClex const & | primclex, | ||
DataFormatterDictionary< Configuration > const & | dict | ||
) |
Definition at line 72 of file enumerate_configurations_json_io.cc.
void CASM::parse | ( | InputParser< ConfigEnumRandomLocalParams > & | parser, |
MTRand & | mtrand | ||
) |
Definition at line 82 of file ConfigEnumRandomLocalInterface.cc.
void CASM::parse | ( | InputParser< ConfigEnumRandomOccupationsParams > & | parser, |
MTRand & | mtrand | ||
) |
Definition at line 60 of file ConfigEnumRandomOccupationsInterface.cc.
void CASM::parse | ( | InputParser< ConfigEnumSiteDoFsParams > & | parser, |
ConfigEnumInput const & | initial_state, | ||
AxesCounterParams & | axes_params, | ||
bool | sym_axes_option, | ||
bool | exclude_homogeneous_modes | ||
) |
Parse the ConfigEnumSiteDoFsParams JSON input.
Definition at line 304 of file ConfigEnumSiteDoFsInterface.cc.
void CASM::parse | ( | InputParser< ConfigEnumStrainParams > & | parser, |
ConfigEnumInput const & | initial_state, | ||
AxesCounterParams & | axes_params, | ||
bool | sym_axes_option | ||
) |
Parse the ConfigEnumStrainParams (except parse "axes" instead of wedges) from JSON input
parser | InputParser will contain ConfigEnumStrainParams if successful and error messages otherwise |
axes | Eigen::MatriXd speciying a custom user subspace / normal mode axes if provied, otherwise set to Identity matrix of size dof_space_dimension x dof_space_dimension. |
dof_space_dimension | DoF space dimension detected from initial enumeration states |
Definition at line 316 of file ConfigEnumStrainInterface.cc.
void CASM::parse | ( | InputParser< DoF_impl::MagSpinDoFSpecs > & | parser, |
const Structure & | prim | ||
) |
Specify max polynomial order for magspin site basis functions
Options:
Definition at line 85 of file MagSpinDoFTraits.cc.
void CASM::parse | ( | InputParser< DoF_impl::OccupationDoFSpecs > & | parser, |
const Structure & | prim | ||
) |
Reads site_basis_functions from bspecs JSON and validate
Definition at line 706 of file OccupationDoFTraits.cc.
void CASM::parse | ( | InputParser< DoFSpace > & | parser, |
std::shared_ptr< Structure const > const & | shared_prim | ||
) |
Definition at line 135 of file DoFSpace.cc.
void CASM::parse | ( | InputParser< ECIContainer > & | parser | ) |
Make ECIContainer from JSON (eci.json file)
Make ECIContainer from JSON (eci.json file)
Format:
Note:
Definition at line 31 of file ECIContainer_json_io.cc.
void CASM::parse | ( | InputParser< EnumerateSupercellsOptions > & | parser, |
std::string | method_name, | ||
PrimClex const & | primclex, | ||
DataFormatterDictionary< Supercell > const & | dict | ||
) |
Definition at line 41 of file enumerate_supercells_json_io.cc.
void CASM::parse | ( | InputParser< IntegralCluster > & | parser, |
Structure const & | prim | ||
) |
Parse IntegralCluster from JSON.
Format:
Definition at line 89 of file IntegralCluster_json_io.cc.
void CASM::parse | ( | InputParser< LocalMaxLengthClusterSpecs > & | parser, |
const std::shared_ptr< const Structure > & | shared_prim, | ||
const SymGroup & | super_group | ||
) |
Parse LocalMaxLengthClusterSpecs from JSON.
Parse LocalMaxLengthClusterSpecs from JSON
parser | InputParser stores resulting value, errors, and warnings |
shared_prim | Prim structure |
super_group | Super group for generating sub groups. When reading the generating_group from JSON, only members of this group will be retained. |
Expects:
Definition at line 280 of file ClusterSpecs_json_io.cc.
void CASM::parse | ( | InputParser< PeriodicMaxLengthClusterSpecs > & | parser, |
const std::shared_ptr< const Structure > & | shared_prim, | ||
const SymGroup & | super_group | ||
) |
Parse PeriodicMaxLengthClusterSpecs from JSON.
Parse PeriodicMaxLengthClusterSpecs from JSON
Expects:
Notes:
Definition at line 221 of file ClusterSpecs_json_io.cc.
void CASM::parse | ( | InputParser< std::nullptr_t > & | parser | ) |
Temporary – enables compilation of legacy code.
Definition at line 148 of file InputParser.cc.
void CASM::parse | ( | InputParser< std::vector< IntegralClusterOrbitGenerator >> & | parser, |
Structure const & | prim | ||
) |
Parse custom orbit specs from JSON.
Parse vector of IntegralClusterOrbitGenerator ("orbit_specs") from JSON
Format:
Definition at line 43 of file ClusterOrbits_json_io.cc.
void CASM::parse | ( | InputParser< std::vector< std::pair< std::string, ConfigEnumInput >>> & | parser, |
std::shared_ptr< Structure const > | shared_prim, | ||
PrimClex const * | primclex, | ||
DB::Database< Supercell > & | supercell_db, | ||
DB::Database< Configuration > & | configuration_db | ||
) |
Parse JSON to construct initial states for enumeration (as std::map<std::string, ConfigEnumInput>)
void CASM::parse | ( | InputParser< T > & | parser | ) |
Definition at line 286 of file InputParser_impl.hh.
void CASM::parse | ( | InputParser< xtal::ScelEnumProps > & | parser | ) |
Make a ScelEnumProps object from JSON input.
Definition at line 48 of file SuperlatticeEnumeratorIO.cc.
void CASM::parse | ( | InputParser< xtal::ScelEnumProps > & | parser, |
DB::Database< Supercell > & | supercell_db | ||
) |
Make a ScelEnumProps object from JSON input and support "unit_cell"==supercell name
Make a ScelEnumProps object from JSON input
Notes:
Definition at line 78 of file ConfigEnumInput_json_io.cc.
void CASM::parse_args | ( | Completer::OptionHandlerBase & | opt, |
std::string | args | ||
) |
Take CLI args string, 'casm X ...', and use boost::program_options to parse into Options
Definition at line 48 of file CLIParse.cc.
void CASM::parse_axes_counter_range | ( | InputParser< AxesCounterParams > & | parser | ) |
Parse "min", "max", and one of "increment" or "num"
parser | AxesCounterParams parser |
Examples of equivalent input for a grid in 2d space:
{ "min": 0., "max": 0.101, "increment": 0.01}
{ "min": 0., "max": 0.1, "num": 11}
{ "min": [0., 0.], "max": [0.101, 0.101], "increment": [0.1, 0.1]}
{ "min": [0., 0.], "max": [0.1, 0.1], "num": [11, 11]}
Notes:
scalar_input
based on input Definition at line 267 of file DoFSpace.cc.
void CASM::parse_axes_from_array | ( | InputParser< AxesCounterParams > & | parser, |
Index | dof_space_dimension | ||
) |
Read "axes" from a row-vector JSON matrix, store in parser.value->axes
as a column vector matrix
Definition at line 367 of file DoFSpace.cc.
void CASM::parse_axes_from_object | ( | InputParser< AxesCounterParams > & | parser, |
Index | dof_space_dimension | ||
) |
Parse DoF space axes from a JSON object
Expected format: (this parses "axes" only)
Full space case: { "axes": { "q1": [q10, q11, q12, ...], /// note: starts with "q1", not "q0" "q2": [q20, q21, q22, ...], "q3": [q30, q31, q32, ...], ... }, "min": [q1min, q2min, q3min, ...], /// optional, default is zeros vector "max": [q1max, q2max, q3max, ...], /// required "increment": [q1inc, q2inc, q3inc, ...], /// required }
Subspace case:
notes:
Definition at line 332 of file DoFSpace.cc.
std::string CASM::parse_ConfigEnumInput_desc | ( | ) |
A string describing the JSON format for parsing named ConfigEnumInput.
Definition at line 124 of file ConfigEnumInput_json_io.cc.
void CASM::parse_dof_space_axes | ( | InputParser< AxesCounterParams > & | parser, |
Index | dof_space_dimension | ||
) |
Parse DoF space "axes"
Accepts a JSON object of axes or a row vector matrix of axes. May be rank deficient.
parser | JSON to be parsed |
axes | Set to be column vector matrix of axes |
dof_space_dimension | Full DoF space dimension. If no "axes" in the JSON, the default axes are identity matrix of size dof_space_dimension. Errors are inserted into parser if axes vectors are not of length equal to dof_space_dimension. |
TODO: document "axes" here
Definition at line 416 of file DoFSpace.cc.
std::vector<std::string> CASM::parse_label_template | ( | std::string const & | _template | ) |
Definition at line 10 of file FunctionVisitor.cc.
int CASM::parse_verbosity | ( | KwargsParser & | parser, |
int | default_verbosity = 10 |
||
) |
Parse Log "verbosity" level from JSON
Expected that parser.self.find("verbosity") returns iterator to:
Definition at line 123 of file InputParser.cc.
ReturnArray<Index> CASM::partition_distinct_values | ( | const Eigen::MatrixBase< Derived > & | value, |
double | tol = TOL |
||
) |
Definition at line 100 of file CASM_Array_math.hh.
std::set< Index > CASM::permute_cluster_site_indices | ( | Permutation const & | inverse_permute, |
std::set< Index > const & | cluster_site_indices | ||
) |
Rather than permute values, here we want to permute cluster site indices.
Rather than permute values, here we want to permute cluster site indices
Since, when permuting values, value[i] = value[permute[i]], or, site_index_before = permute[site_index_after], to permute site indices use inverse_permute = permute.inverse, and then site_index_after = inverse_permute[site_index_before]
Definition at line 46 of file SupercellClusterOrbits.cc.
SymGroupRep CASM::permuted_direct_sum_rep | ( | const SymGroupRep & | permute_rep, |
const std::vector< SymGroupRep const * > & | sum_reps | ||
) |
Given a permutation of positions, and a list of matrix representations (one per position), build a large matrix representation that has blocks specified by the smaller matrices in
sum_reps | and whose positions within the large matrix correspond to the permutation from |
permute_rep |
Definition at line 1194 of file SymRepTools.cc.
int CASM::perturb_command | ( | const CommandArgs & | args | ) |
Definition at line 36 of file perturb.cc.
void CASM::po_test | ( | ) |
Definition at line 106 of file complete_tests.cpp.
std::string CASM::pos_path | ( | const ConfigType & | config | ) |
Definition at line 206 of file Calculable.cc.
std::string CASM::pos_path | ( | const ConfigType & | config, |
std::string | calctype = "" |
||
) |
std::string CASM::pos_path | ( | const PrimClex & | primclex, |
const std::string & | configname | ||
) |
Definition at line 237 of file Calculable.cc.
std::string CASM::prec_help | ( | std::string | what, |
int | default_prec | ||
) |
void CASM::print_aligned_site_basis_funcs | ( | std::shared_ptr< const Structure > | prim_ptr, |
ClexBasis const & | clex_basis, | ||
Log & | out, | ||
Index | indent_space = 6 , |
||
COORD_TYPE | mode = FRAC |
||
) |
Print aligned site basis functions, as for 'casm bset –functions –align'.
Print occ site basis functions, and continuous site and global bases.
Definition at line 390 of file ProtoFuncsPrinter.cc.
void CASM::print_basis_functions | ( | Log & | log, |
PrimClex const & | primclex, | ||
std::string | basis_set_name, | ||
bool | align, | ||
OrbitPrinterOptions | opt = OrbitPrinterOptions() |
||
) |
Pretty-print basis functions – read clusters from existing clust.json file.
Definition at line 35 of file ClexBasis_stream_io.cc.
void CASM::print_basis_functions | ( | Log & | log, |
std::shared_ptr< Structure const > const & | shared_prim, | ||
ClexBasisSpecs const & | basis_set_specs, | ||
bool | align, | ||
OrbitPrinterOptions | opt = OrbitPrinterOptions() |
||
) |
Pretty-print basis functions – generate, then print.
Definition at line 25 of file ClexBasis_stream_io.cc.
void CASM::print_clust | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
Log & | out, | ||
const OrbitPrinterOptions & | opt = OrbitPrinterOptions() |
||
) |
Print IntegralCluster orbits.
Definition at line 291 of file OrbitPrinter_impl.hh.
void CASM::print_clust | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
Log & | out, | ||
OrbitPrinter | printer | ||
) |
Print IntegralCluster orbits.
begin,end | Range of Orbit<SymCompareType> |
out | output stream |
mode | Coordinate output mode |
printer | A functor to control printing for the orbit |
Printer is expected to have:
Definition at line 222 of file OrbitPrinter_impl.hh.
Index CASM::print_clust_basis | ( | std::ostream & | stream, |
BasisSet | _clust_basis, | ||
IntegralCluster const & | _prototype, | ||
Index | func_ind = 0 , |
||
int | space = 18 , |
||
char | delim = '\n' |
||
) |
Print cluster with basis_index and nlist_index (from 0 to size()-1), followed by cluster basis functions Functions are labeled \Phi_{i}, starting from i =
begin_ind | Returns the number of functions that were printed |
Definition at line 44 of file ClexBasis.cc.
void CASM::print_coordinates | ( | OrbitPrinter & | printer, |
const Element & | element, | ||
Log & | out | ||
) |
Definition at line 15 of file OrbitPrinter_impl.hh.
void CASM::print_dof_space | ( | Log & | log, |
DoFSpace const & | dof_space, | ||
std::string const & | identifier, | ||
ConfigEnumInput const & | input_state, | ||
PermuteIteratorIt | permute_begin, | ||
PermuteIteratorIt | permute_end, | ||
bool | sym_axes, | ||
bool | calc_wedges | ||
) |
Print DoFSpace information.
Print DoFSpace information
log | Log to print to |
name | Enumeration state name |
dof_space | DoFSpace to print information for. |
sym_axes | If true, calculate and print symmetry-adapted axes. If false, print only the axis glossary |
calc_wedges | If this and sym_axes are true, calculate and print SubWedge |
Notes:
Definition at line 32 of file stream_io_impl.hh.
void CASM::print_errors | ( | KwargsParser const & | parser, |
Log & | log, | ||
std::string | header = "Errors" |
||
) |
Formatted print error messages, including all subparsers.
Definition at line 168 of file InputParser.cc.
void CASM::print_initial_states | ( | Log & | log, |
NamedInitialStatesType const & | named_initial_states | ||
) |
Definition at line 66 of file stream_io_impl.hh.
void CASM::print_monte_desc | ( | std::ostream & | sout, |
const po::options_description & | desc | ||
) |
void CASM::print_monte_help | ( | std::ostream & | sout, |
const po::options_description & | desc | ||
) |
void CASM::print_options | ( | Log & | log, |
ConfigEnumOptions const & | options | ||
) |
Definition at line 6 of file stream_io.cc.
void CASM::print_poscar | ( | Configuration const & | configuration, |
std::ostream & | sout | ||
) |
Print Configuration as a VASP POSCAR
Note: This makes use of VaspIO::PrintPOSCAR, which can be used directly for additional formatting options.
Definition at line 9 of file Configuration_stream_io.cc.
void CASM::print_proto_clust_funcs | ( | ClexBasis const & | _clex_basis, |
std::ostream & | out, | ||
BasicStructure const & | _prim, | ||
std::vector< OrbitType > const & | _tree | ||
) |
void CASM::print_runtime_lib_options_help | ( | std::ostream & | sout | ) |
Definition at line 8 of file LogRuntimeLibrary.cc.
void CASM::print_site_basis_funcs | ( | std::shared_ptr< const Structure > | prim_ptr, |
ClexBasis const & | clex_basis, | ||
Log & | out, | ||
Index | indent_space = 6 , |
||
COORD_TYPE | mode = FRAC |
||
) |
Print site basis functions, as for 'casm bset –functions'.
Definition at line 37 of file ProtoFuncsPrinter.cc.
void CASM::print_splash | ( | std::ostream & | out | ) |
Definition at line 37 of file casm_functions.cc.
void CASM::print_sym_info | ( | Log & | log, |
const SymInfo & | info, | ||
SymInfoOptions | opt | ||
) |
Print SymInfo.
Of the form:
Definition at line 32 of file SymInfo_stream_io.cc.
void CASM::print_tex_tabular_cluster_sites | ( | Log & | out, |
IntegralCluster const & | cluster, | ||
xtal::BasicStructure const & | prim, | ||
COORD_TYPE | mode | ||
) |
Print prototype cluster sites as a tex tabular.
Definition at line 126 of file ProtoFuncsPrinter.cc.
void CASM::print_warnings | ( | KwargsParser const & | parser, |
Log & | log, | ||
std::string | header = "Warnings" |
||
) |
Formatted print warning messages, including all subparsers.
Definition at line 150 of file InputParser.cc.
void CASM::property_test | ( | ) |
Definition at line 200 of file complete_tests.cpp.
PrototypeIterator<OrbitIterator> CASM::prototype_iterator | ( | OrbitIterator | orbit_it | ) |
double CASM::ran0 | ( | int & | idum | ) |
Definition at line 16 of file CASM_math.cc.
std::vector<int> CASM::rand_unique | ( | int | n, |
int | c, | ||
MTRand & | mtrand | ||
) |
ChemicalReference CASM::read_chemical_reference | ( | fs::path | filename, |
BasicStructure const & | prim, | ||
double | tol | ||
) |
Read chemical reference states from JSON file.
See documentation with jsonConstructor<ChemicalReference>
for expected format.
re-throw exceptions
re-throw exceptions
Definition at line 14 of file ChemicalReference_file_io.cc.
ClusterOutputIterator CASM::read_clust | ( | ClusterOutputIterator | result, |
const jsonParser & | json, | ||
const Structure & | prim | ||
) |
Read JSON containing IntegralCluster prototypes, as IntegralCluster.
Read JSON containing IntegralCluster prototypes, as Orbit<SymCompareType>
Definition at line 338 of file OrbitPrinter_impl.hh.
ClusterOutputIterator CASM::read_clust | ( | ClusterOutputIterator | result, |
const jsonParser & | json, | ||
const Structure & | prim, | ||
const SymGroup & | generating_grp, | ||
const SymCompareType & | sym_compare | ||
) |
Read JSON containing Orbit<SymCompareType> prototypes.
Definition at line 318 of file OrbitPrinter_impl.hh.
CompositionAxes CASM::read_composition_axes | ( | fs::path | _filename | ) |
Definition at line 10 of file CompositionAxes_file_io.cc.
xtal::BasicStructure CASM::read_prim | ( | jsonParser const & | json, |
double | xtal_tol, | ||
ParsingDictionary< AnisoValTraits > const * | _aniso_val_dict = nullptr |
||
) |
Read prim.json.
Definition at line 308 of file BasicStructureIO.cc.
xtal::BasicStructure CASM::read_prim | ( | fs::path | filename, |
double | xtal_tol, | ||
ParsingDictionary< AnisoValTraits > const * | _aniso_val_dict = nullptr |
||
) |
Definition at line 259 of file BasicStructureIO.cc.
BasicStructure CASM::read_prim | ( | ProjectSettings const & | project_settings | ) |
Definition at line 35 of file PrimClex.cc.
std::shared_ptr<Structure const> CASM::read_shared_prim | ( | ProjectSettings const & | project_settings | ) |
Definition at line 40 of file PrimClex.cc.
std::string CASM::recast | ( | ARG_TYPE | atype | ) |
Definition at line 12 of file complete_tests.cpp.
Index CASM::recurs_cp_files | ( | const fs::path & | from_dir, |
const fs::path & | to_dir, | ||
bool | dry_run, | ||
Log & | log | ||
) |
Copy files recursively, and returns a count of copied files.
Definition at line 94 of file DirectoryStructure.cc.
void CASM::recurs_rm_files | ( | fs::path | p, |
bool | dry_run, | ||
Log & | log | ||
) |
Remove files recursively.
Definition at line 42 of file DirectoryStructure.cc.
Derived::PlainObject CASM::reduced_column_echelon | ( | Eigen::MatrixBase< Derived > const & | M, |
double | _tol | ||
) |
Returns reduced_column_echelon form of M.
_tol | is used to identify zero values. |
Definition at line 78 of file CASM_Eigen_math.hh.
int CASM::ref_command | ( | const CommandArgs & | args | ) |
void CASM::references_unset | ( | const CommandArgs & | args | ) |
fs::path CASM::relative_casmroot | ( | const fs::path & | cwd | ) |
return relative path to current or parent directory containing ".casm" directory if none found, return empty path
Definition at line 29 of file DirectoryStructure.cc.
void CASM::report_and_throw_if_invalid | ( | KwargsParser const & | parser, |
Log & | log, | ||
ErrorType | error | ||
) |
Print errors and warnings, throwing as specified if any errors exist in parser (and subparsers)
Definition at line 266 of file InputParser_impl.hh.
void CASM::require_all_input_have_the_same_number_of_selected_sites | ( | InputParser< std::vector< std::pair< std::string, ConfigEnumInput >>> & | parser | ) |
Definition at line 355 of file ConfigEnumSiteDoFsInterface.cc.
void CASM::require_valid_sub_configurations | ( | ParentInputParser & | parser, |
DB::Selection< Configuration > const & | config_selection, | ||
Supercell const & | supercell | ||
) |
Definition at line 96 of file SuperConfigEnumInterface.cc.
|
inline |
Definition at line 215 of file ConfigDoF.hh.
void CASM::reset_properties | ( | ConfigType & | config | ) |
Definition at line 147 of file Calculable.cc.
int CASM::round | ( | double | val | ) |
Definition at line 10 of file CASM_math.cc.
int CASM::run_api_command | ( | const CommandArgs & | args | ) |
Standardizes how 'casm X' api commands are executed and implemented.
Definition at line 40 of file APICommand_impl.hh.
int CASM::run_command | ( | const CommandArgs & | args | ) |
Inserter CASM::select_cluster_sites | ( | ConfigEnumInput const & | reference_config_enum_input, |
std::vector< PrimPeriodicIntegralClusterOrbit > const & | orbits, | ||
Inserter | result | ||
) |
Create ConfigEnumInput with unique cluster sites selected, starting from "prim_periodic" orbits
Definition at line 15 of file ClusterSitesSelector_impl.hh.
std::vector<T> CASM::sequence | ( | T | first, |
T | inc, | ||
T | last | ||
) |
Definition at line 20 of file algorithm.hh.
std::vector<T> CASM::sequence | ( | T | first, |
T | last | ||
) |
Definition at line 9 of file algorithm.hh.
void CASM::set_dof_value | ( | Configuration & | config, |
DoFSpace const & | dof_space, | ||
Eigen::VectorXd const & | normal_coordinate | ||
) |
Set config
DoF value from a coordinate in the DoFSpace basis.
Definition at line 317 of file DoFSpace.cc.
int CASM::settings_command | ( | const CommandArgs & | args | ) |
Set command line options using boost program_options
Set command line options using boost program_options
Definition at line 283 of file settings.cc.
int CASM::sgn | ( | T | val | ) |
Definition at line 180 of file CASM_math.hh.
|
inline |
Definition at line 130 of file jsonStruc.hh.
|
inline |
Definition at line 125 of file jsonStruc.hh.
|
inline |
Definition at line 21 of file Selection.hh.
std::string CASM::singleline_help | ( | ) |
bool CASM::site_indices_are_invariant | ( | PermuteIterator const & | permute_it, |
std::set< Index > const & | site_indices | ||
) |
Return true if the permutation does not mix given sites and other sites.
Return true if the permutation does not given sites and other sites.
Definition at line 323 of file PermuteIterator.cc.
multivector< Eigen::VectorXcd >::X< 2 > CASM::special_irrep_directions | ( | SymGroupRep const & | _rep, |
SymGroup const & | head_group, | ||
double | vec_compare_tol | ||
) |
Assuming that _rep is an irrep of head_group, find high-symmetry directions throws if _rep is not an irrep.
vec_compare_tol | tolerance for elementwise floating-point comparisons of vectors |
Returns array of orbits of high-symmetry directions in the vector space on which this representation is defined. This routine is different from special_total_directions in that it does not rely on the character tables to generate the special directions. The routine also adopts the faster method to generating the irreducible transformation matrix
Definition at line 488 of file SymRepTools.cc.
multivector< Eigen::VectorXcd >::X< 2 > CASM::special_irrep_directions | ( | SymGroupRep const & | _rep, |
SymGroup const & | head_group, | ||
Eigen::Ref< const Eigen::MatrixXcd > const & | _subspace, | ||
double | vec_compare_tol, | ||
bool | all_subgroups = false |
||
) |
Assuming that _rep is an irrep of head_group, find high-symmetry directions throws if _rep is not an irrep.
_subspace | matrix such that _subspace.rows()==_rep.dim() and whose columns specify a subspace of underlying vector space |
vec_compare_tol | tolerance for elementwise floating-point comparisons of vectors |
all_subgroups | denotes whether all subgroups of head_group should be used for symmetry analysis (if true), or only cyclic subgroups (if false) |
Returns array of orbits of high-symmetry directions in the vector space on which this representation is defined. This routine is different from special_total_directions in that it does not rely on the character tables to generate the special directions. The routine also adopts the faster method to generating the irreducible transformation matrix
Definition at line 503 of file SymRepTools.cc.
std::vector< std::vector< Eigen::MatrixXd > > CASM::special_subspaces | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group | ||
) |
finds high-symmetry subspaces within vector space supporting _rep, wrt symmetry of head_group High-symmetry subspaces are closed under the action of a nontrivial subgroup of head_group, without spanning the entire vector space supporting _rep
Definition at line 610 of file SymRepTools.cc.
multivector< Eigen::VectorXd >::X< 3 > CASM::special_total_directions | ( | SymGroupRep const & | _rep, |
const SymGroup & | head_group | ||
) |
finds high-symmetry directions within vector space supporting _rep, wrt symmetry of head_group
Definition at line 467 of file SymRepTools.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 63 of file DataFormatter.cc.
OutputIterator CASM::standard_composition_axes | ( | ParamComposition::AllowedOccupants | _allowed_occs, |
OutputIterator | result | ||
) |
Generate CompositionConverter specifying standard composition axes for a prim Structure.
Generate CompositionConverter specifying standard composition axes for a _allowed_occs ParamComposition::AllowedOccupants.
Definition at line 242 of file CompositionConverter.hh.
std::string CASM::standard_ConfigEnumInput_help | ( | ) |
Definition at line 9 of file standard_ConfigEnumInput_help.cc.
std::tuple<std::string, std::string, BasicStructure> CASM::standardize_prim | ( | BasicStructure const & | prim, |
bool | force | ||
) |
int CASM::status_command | ( | const CommandArgs & | args | ) |
Set command line options using boost program_options
–help option
1) Check if a project exists
2) Composition axes
3) Configuration generation
4) Calculate configuration properties
5) Choose chemical reference
6) Generate basis functions:
7) Fit effective cluster interactions (ECI):
7) Monte Carlo
Set command line options using boost program_options
–help option
1) Check if a project exists
2) Composition axes
3) Configuration generation
4) Calculate configuration properties
5) Choose chemical reference
6) Generate basis functions:
7) Fit effective cluster interactions (ECI):
7) Monte Carlo
void CASM::status_unitialized | ( | const CommandArgs & | args | ) |
void CASM::subopt_test | ( | ) |
Definition at line 43 of file complete_tests.cpp.
SymGroupRep CASM::subset_permutation_rep | ( | const SymGroupRep & | permute_rep, |
const std::vector< std::set< Index >> & | subsets | ||
) |
Given a permutation representation that permutes indices, calculate a new permutation representation of lower or equal dimension that describes the permutation of ordered subsets of indices. The total number of indices contained in
subsets | must be <= permute_rep.dim() and each Index in |
subsets | must be unique an on the range [0,permute_rep.dim()) |
Definition at line 1141 of file SymRepTools.cc.
Container::value_type CASM::sum | ( | const Container & | container, |
typename Container::value_type | init_val = 0 |
||
) |
Definition at line 131 of file algorithm.hh.
int CASM::super_command | ( | const CommandArgs & | args | ) |
void CASM::supercells_ungenerated | ( | const CommandArgs & | args | ) |
Definition at line 260 of file ConfigDoF.cc.
void CASM::swap | ( | FilteredConfigIterator< IteratorType > & | a, |
FilteredConfigIterator< IteratorType > & | b | ||
) |
Definitions.
Definition at line 104 of file FilteredConfigIterator.hh.
void CASM::swap | ( | FilterIterator< IteratorType > & | a, |
FilterIterator< IteratorType > & | b | ||
) |
Definitions.
Definition at line 70 of file FilterIterator.hh.
void CASM::swap | ( | jsonParserIterator< IsConst > & | a, |
jsonParserIterator< IsConst > & | b | ||
) |
Definition at line 800 of file jsonParser.cc.
void CASM::swap | ( | PermuteIterator & | a, |
PermuteIterator & | b | ||
) |
Definition at line 315 of file PermuteIterator.cc.
template void CASM::swap< false > | ( | jsonParserIterator< false > & | , |
jsonParserIterator< false > & | |||
) |
template void CASM::swap< true > | ( | jsonParserIterator< true > & | , |
jsonParserIterator< true > & | |||
) |
std::string CASM::sym_line | ( | const xtal::Coordinate & | axis, |
const xtal::Coordinate & | point, | ||
SymInfoOptions | opt | ||
) |
Use axis and invariant point to return line in '0, y, 0'-type notation.
Definition at line 172 of file SymInfo_stream_io.cc.
std::string CASM::sym_plane | ( | const xtal::Coordinate & | axis, |
const xtal::Coordinate & | point, | ||
SymInfoOptions | opt | ||
) |
Use axis and invariant point to return plane in 'x, y, 0'-type notation.
Definition at line 325 of file SymInfo_stream_io.cc.
std::string CASM::sym_plane | ( | const xtal::Coordinate & | v1, |
const xtal::Coordinate & | v2, | ||
const xtal::Coordinate & | point, | ||
SymInfoOptions | opt | ||
) |
Use two perpendicular vectors in plane and invariant point to return plane in 'x, y, 0'-type notation.
Definition at line 225 of file SymInfo_stream_io.cc.
void CASM::symmetrize | ( | PrimClex & | primclex, |
jsonParser const & | json_options, | ||
jsonParser const & | cli_options_as_json | ||
) |
Adjust a structure's lattice and basis to increase factor group symmetry.
Definition at line 292 of file symmetrize.cc.
std::string CASM::symmetrize_desc | ( | ) |
Describe the symmetrize method.
Definition at line 245 of file symmetrize.cc.
void CASM::throw_if_invalid_dof_space | ( | Configuration const & | config, |
DoFSpace const & | dof_space | ||
) |
Throw if !is_valid_dof_space(config, dof_space)
Definition at line 272 of file DoFSpace.cc.
void CASM::throw_if_no_basis_set_specs | ( | std::string | basis_set_name, |
DirectoryStructure const & | dir | ||
) |
Definition at line 585 of file DirectoryStructure.cc.
void CASM::throw_if_no_clexulator_src | ( | std::string | project_name, |
std::string | basis_set_name, | ||
DirectoryStructure const & | dir | ||
) |
Definition at line 599 of file DirectoryStructure.cc.
void CASM::throw_if_no_root_dir | ( | DirectoryStructure const & | dir | ) |
Definition at line 579 of file DirectoryStructure.cc.
std::string CASM::to_brief_unicode | ( | const SymInfo & | info, |
SymInfoOptions | opt | ||
) |
Print symmetry symbol to string.
Of the form:
Uses prime symbol for time reversal symmetry.
Definition at line 364 of file SymInfo_stream_io.cc.
std::pair< ConfigDoF, std::set< std::string > > CASM::to_configdof | ( | SimpleStructure const & | _child_struc, |
Supercell const & | _scel | ||
) |
Initializes configdof of Supercell '_scel' corresponding to an idealized child structure (encoded by _child_struc) _child_struc is assumed to have been idealized via structure-mapping or to be the result of converting a configuration to a SimpleStructure. result.second gives list of properties that were utilized in the course of building the configdof.
Definition at line 260 of file ConfigMapping.cc.
jsonParser & CASM::to_json | ( | ClexBasisSpecs const & | basis_set_specs, |
jsonParser & | json, | ||
Structure const & | prim, | ||
ParsingDictionary< DoFType::Traits > const * | dof_dict | ||
) |
Write ClexBasisSpecs to JSON (bspecs.json output)
Example:
Definition at line 30 of file ClexBasisSpecs_json_io.cc.
jsonParser & CASM::to_json | ( | CompositionAxes const & | composition_axes, |
jsonParser & | json | ||
) |
Write CompositionAxes to JSON.
Definition at line 38 of file CompositionAxes_json_io.cc.
jsonParser & CASM::to_json | ( | ConfigEnumInput const & | config_enum_input, |
jsonParser & | json | ||
) |
Output ConfigEnumInput to JSON.
Definition at line 20 of file ConfigEnumInput_json_io.cc.
jsonParser & CASM::to_json | ( | ConfigMapping::Settings const & | _set, |
jsonParser & | _json | ||
) |
Definition at line 11 of file ConfigMapping_json_io.cc.
jsonParser & CASM::to_json | ( | Configuration const & | configuration, |
jsonParser & | json | ||
) |
Insert Configuration to JSON.
Insert Configuration to JSON
Format:
Note:
to_json(ConfigDoF const &configdof, jsonParser &json)
for details. Definition at line 85 of file Configuration_json_io.cc.
jsonParser& CASM::to_json | ( | const Array< T > & | value, |
jsonParser & | json, | ||
Args &&... | args | ||
) |
Definition at line 19 of file json_io.hh.
jsonParser & CASM::to_json | ( | const BasisFunctionSpecs & | basis_function_specs, |
jsonParser & | json, | ||
Structure const & | prim, | ||
ParsingDictionary< DoFType::Traits > const * | dof_dict | ||
) |
Definition at line 136 of file BasisFunctionSpecs_json_io.cc.
jsonParser & CASM::to_json | ( | const BasisSet & | bset, |
jsonParser & | json | ||
) |
Definition at line 1395 of file BasisSet.cc.
jsonParser & CASM::to_json | ( | const ChemicalReference & | ref, |
jsonParser & | json | ||
) |
Write chemical reference.
Write ChemicalReference.
Example form:
Each individual reference is a vector,
giving the hyperplane of the reference (each element is the reference value for pure Configurations of a given Molecule).
Definition at line 104 of file ChemicalReference_json_io.cc.
jsonParser & CASM::to_json | ( | const ChemicalReferenceState & | ref_state, |
jsonParser & | json | ||
) |
Write ChemicalReferenceState to: '{"A" : X, "B" : X, ..., "energy_per_species" : X }'.
Definition at line 12 of file ChemicalReference_json_io.cc.
jsonParser & CASM::to_json | ( | const ClexDescription & | desc, |
jsonParser & | json | ||
) |
Definition at line 41 of file ClexDescription.cc.
jsonParser & CASM::to_json | ( | const ClusterSpecs & | cspecs, |
jsonParser & | json | ||
) |
Write PeriodicMaxLengthClusterSpecs or LocalMaxLengthClusterSpecs to JSON.
Definition at line 591 of file ClusterSpecs_json_io.cc.
jsonParser & CASM::to_json | ( | const Completer::EnumOption & | enum_opt, |
jsonParser & | json | ||
) |
Convert casm enum
CLI input to JSON.
Convert casm enum
CLI input to JSON
All are optionally present, if present on command line
Definition at line 30 of file EnumInterface.cc.
jsonParser & CASM::to_json | ( | const Completer::SymOption & | sym_opt, |
jsonParser & | json | ||
) |
Convert casm sym
CLI input to JSON.
Convert casm sym
CLI input to JSON
All are optionally present, if present on command line
Definition at line 32 of file json_io.cc.
jsonParser & CASM::to_json | ( | const CompositionConverter & | f, |
jsonParser & | json | ||
) |
Serialize CompositionConverter to JSON.
Definition at line 9 of file CompositionConverter_json_io.cc.
jsonParser & CASM::to_json | ( | const ConfigDoF & | configdof, |
jsonParser & | json | ||
) |
Insert ConfigDoF to JSON
Format:
Reminder about standard DoF basis vs prim DoF basis:
Note:
"occ": The integer value for each site corresponding to which Molecule in the Site::occupant_dof vector is occupying that site.
Example: supercell volume=3, prim basis size=2,
"occ": [ occ[1], // "occ" value on site sublattice 0, unit cell 0 occ[2], // "occ" value on site sublattice 0, unit cell 1 occ[3], // "occ" value on site sublattice 0, unit cell 2 occ[4], // "occ" value on site sublattice 1, unit cell 0 occ[5], // "occ" value on site sublattice 1, unit cell 1 occ[6] // "occ" value on site sublattice 1, unit cell 2 ]
"local_dofs": The local DoF values are represented as a matrix, with each row representing a site DoF value and each colum representing a component of the DoF value: number of cols = DoF dimension (i.e. 3 for "disp") number of rows = (Supercell volume as multiple of the prim) * (prim basis size).
Example: "disp" values, supercell volume=3, prim basis size=2
"local_dofs": { "disp": { "values": [ [dx[1], dy[1], dz[1]], // "disp" values on site: sublattice 0, unit cell 0 [dx[2], dy[2], dz[2]], // "disp" values on site: sublattice 0, unit cell 1 [dx[3], dy[3], dz[3]], // "disp" values on site: sublattice 0, unit cell 2 [dx[4], dy[4], dz[4]], // "disp" values on site: sublattice 1, unit cell 0 [dx[5], dy[5], dz[5]], // "disp" values on site: sublattice 1, unit cell 1 [dx[6], dy[6], dz[6]], // "disp" values on site: sublattice 1, unit cell 2 ] } }
"global_dofs": The global DoF values are represented as a vector of size equal to the dimension of the DoF (i.e. 6 for "GLstrain").
Example: "GLstrain" values (any supercell volume and prim basis size)
"global_dofs": { "GLstrain": { "values": [Exx, Eyy, Ezz, sqrt(2)Exz, sqrt(2)Eyz, sqrt(2)Exy] } }
Definition at line 123 of file ConfigDoF_json_io.cc.
void CASM::to_json | ( | const DoF_impl::MagSpinDoFSpecs & | occ_specs, |
jsonParser & | json | ||
) |
Specify max polynomial order for magspin site basis functions
Options:
Definition at line 97 of file MagSpinDoFTraits.cc.
void CASM::to_json | ( | const DoF_impl::OccupationDoFSpecs & | occupation_dof_specs, |
jsonParser & | json | ||
) |
Definition at line 715 of file OccupationDoFTraits.cc.
|
inline |
Definition at line 742 of file DataFormatter.hh.
jsonParser & CASM::to_json | ( | const Function * | func, |
jsonParser & | json | ||
) |
Definition at line 423 of file BasisFunction.cc.
jsonParser & CASM::to_json | ( | const HyperPlaneReference & | ref, |
jsonParser & | json | ||
) |
Definition at line 55 of file ChemicalReference_json_io.cc.
jsonParser & CASM::to_json | ( | const IntegralClusterOrbitGenerator & | orbit_generator, |
jsonParser & | json | ||
) |
Write custom orbit specs to JSON.
Definition at line 18 of file ClusterOrbits_json_io.cc.
jsonParser & CASM::to_json | ( | const LocalMaxLengthClusterSpecs & | cspecs, |
jsonParser & | json | ||
) |
Write LocalMaxLengthClusterSpecs to JSON.
Definition at line 570 of file ClusterSpecs_json_io.cc.
jsonParser & CASM::to_json | ( | const MappedProperties & | prop, |
jsonParser & | json | ||
) |
Definition at line 51 of file MappedProperties.cc.
jsonParser & CASM::to_json | ( | const OccupantFunction & | func, |
jsonParser & | json | ||
) |
Definition at line 321 of file OccupantFunction.cc.
jsonParser & CASM::to_json | ( | const OrbitPrinterOptions & | opt, |
jsonParser & | json | ||
) |
Definition at line 18 of file OrbitPrinter.cc.
jsonParser & CASM::to_json | ( | const PeriodicMaxLengthClusterSpecs & | cspecs, |
jsonParser & | json | ||
) |
Write PeriodicMaxLengthClusterSpecs to JSON.
Definition at line 554 of file ClusterSpecs_json_io.cc.
jsonParser & CASM::to_json | ( | const Permutation & | value, |
jsonParser & | json | ||
) |
Definition at line 18 of file PermutationIO.cc.
jsonParser & CASM::to_json | ( | const PermuteIterator & | clust, |
jsonParser & | json | ||
) |
Definition at line 335 of file PermuteIterator.cc.
jsonParser & CASM::to_json | ( | const ScoreMappedProperties & | score, |
jsonParser & | json | ||
) |
Definition at line 153 of file MappedProperties.cc.
jsonParser& CASM::to_json | ( | const SimpleJSonSiteStructure< IsConst > & | jstruc, |
jsonParser & | json | ||
) |
Definition at line 120 of file jsonStruc.hh.
void CASM::to_json | ( | const SymInfo & | info, |
jsonParser & | json | ||
) |
Adds to existing JSON object.
type of symmetry, given by one of the allowed values of symmetry_type
type of symmetry, given by one of the allowed values of symmetry_type
Definition at line 38 of file SymInfo_json_io.cc.
jsonParser & CASM::to_json | ( | const SymInfoOptions & | opt, |
jsonParser & | json | ||
) |
Definition at line 13 of file SymInfo_json_io.cc.
jsonParser & CASM::to_json | ( | const Variable & | var, |
jsonParser & | json | ||
) |
Definition at line 448 of file Variable.cc.
jsonParser & CASM::to_json | ( | const xtal::AtomPosition & | apos, |
jsonParser & | json, | ||
Eigen::Ref< const Eigen::Matrix3d > const & | cart2frac | ||
) |
Print AtomPosition to json after applying affine transformation cart2frac*cart()+trans.
Definition at line 33 of file BasicStructureIO.cc.
jsonParser & CASM::to_json | ( | const xtal::BasicStructure & | prim, |
jsonParser & | json, | ||
COORD_TYPE | mode, | ||
bool | include_va = false |
||
) |
Definition at line 513 of file BasicStructureIO.cc.
jsonParser & CASM::to_json | ( | const xtal::Lattice & | lat, |
jsonParser & | json | ||
) |
Definition at line 9 of file LatticeIO.cc.
jsonParser & CASM::to_json | ( | const xtal::Molecule & | mol, |
jsonParser & | json, | ||
Eigen::Ref< const Eigen::Matrix3d > const & | c2f_mat | ||
) |
Definition at line 92 of file BasicStructureIO.cc.
jsonParser & CASM::to_json | ( | const xtal::ScelEnumProps & | props, |
jsonParser & | json | ||
) |
Definition at line 9 of file SuperlatticeEnumeratorIO.cc.
jsonParser & CASM::to_json | ( | const xtal::Site & | value, |
jsonParser & | json, | ||
COORD_TYPE | coordtype | ||
) |
Definition at line 156 of file BasicStructureIO.cc.
jsonParser & CASM::to_json | ( | const xtal::UnitCellCoord & | ucc_val, |
jsonParser & | fill_json | ||
) |
Print to json as [b, i, j, k].
Definition at line 7 of file UnitCellCoordIO.cc.
jsonParser & CASM::to_json | ( | DoFSpace const & | dofspace, |
jsonParser & | json, | ||
std::optional< std::string > const & | identifier, | ||
std::optional< ConfigEnumInput > const & | input_state, | ||
std::optional< SymRepTools_v2::VectorSpaceSymReport > const & | sym_report | ||
) |
Definition at line 84 of file DoFSpace.cc.
jsonParser & CASM::to_json | ( | DoFSpace const & | dofspace, |
jsonParser & | json, | ||
std::optional< std::string > const & | identifier = std::nullopt , |
||
std::optional< ConfigEnumInput > const & | input_state = std::nullopt , |
||
std::optional< VectorSpaceSymReport > const & | sym_report = std::nullopt |
||
) |
Definition at line 56 of file DoFSpace.cc.
jsonParser & CASM::to_json | ( | const IntegralCluster & | clust, |
jsonParser & | json | ||
) |
Write IntegralCluster to JSON object.
Format:
Definition at line 31 of file IntegralCluster_json_io.cc.
jsonParser& CASM::to_json | ( | std::optional< T > const & | value, |
jsonParser & | json | ||
) |
Definition at line 11 of file optional.hh.
jsonParser & CASM::to_json | ( | SymGroupRepID const & | _id, |
jsonParser & | json | ||
) |
Definition at line 14 of file SymGroupRepID.cc.
jsonParser & CASM::to_json | ( | SymRepTools::IrrepInfo const & | irrep, |
jsonParser & | json | ||
) |
Definition at line 10 of file SymRepTools.cc.
jsonParser & CASM::to_json | ( | SymRepTools::SubWedge const & | wedge, |
jsonParser & | json | ||
) |
Definition at line 46 of file SymRepTools.cc.
jsonParser & CASM::to_json | ( | SymRepTools_v2::IrrepInfo const & | irrep, |
jsonParser & | json | ||
) |
Definition at line 158 of file SymRepTools.cc.
jsonParser & CASM::to_json | ( | SymRepTools_v2::SubWedge const & | wedge, |
jsonParser & | json | ||
) |
Definition at line 194 of file SymRepTools.cc.
jsonParser & CASM::to_json | ( | SymRepTools_v2::VectorSpaceSymReport const & | obj, |
jsonParser & | json | ||
) |
Definition at line 206 of file SymRepTools.cc.
jsonParser & CASM::to_json | ( | VectorSpaceSymReport const & | obj, |
jsonParser & | json | ||
) |
Definition at line 58 of file SymRepTools.cc.
jsonParser & CASM::to_json | ( | xtal::DoFSet const & | _dof, |
jsonParser & | json | ||
) |
Definition at line 8 of file DoFSetIO.cc.
jsonParser & CASM::to_json | ( | xtal::SimpleStructure const & | simple_structure, |
jsonParser & | json, | ||
std::set< std::string > const & | excluded_species, | ||
COORD_TYPE | coordinate_mode | ||
) |
Output SimpleStructure to JSON.
Output SimpleStructure to JSON
simple_structure | xtal::SimpleStructure to output to JSON |
json | A JSON object, into which the xtal::SimpleStructure JSON will output. This function will overwrite existing attributes with the same name, but will not erase any other existing attributes. |
excluded_species | Names of any molecular or atomic species that should not be included in the output |
coordinate_mode | COORD_TYPE (FRAC or CART) for output coordinates |
Note:
properties.calc.json
Expected output:
Definition at line 325 of file SimpleStructureIO.cc.
jsonParser & CASM::to_json | ( | xtal::SiteDoFSet const & | _dof, |
jsonParser & | json | ||
) |
Definition at line 15 of file DoFSetIO.cc.
jsonParser & CASM::to_json | ( | xtal::SpeciesAttribute const & | _attr, |
jsonParser & | json | ||
) |
From SpeciesAttribute to json.
Definition at line 26 of file BasicStructureIO.cc.
Definition at line 248 of file CASM_math.cc.
std::string CASM::to_string | ( | const std::map< T, Key, Compare > & | container, |
std::string | begin = "{" , |
||
std::string | end = "}" , |
||
std::string | delim = ", " |
||
) |
Definition at line 56 of file string_io.hh.
std::string CASM::to_string | ( | const std::pair< T1, T2 > & | value | ) |
Definition at line 17 of file string_io.hh.
std::string CASM::to_string | ( | const std::set< T, Compare > & | container, |
std::string | begin = "[" , |
||
std::string | end = "]" , |
||
std::string | delim = ", " |
||
) |
Definition at line 48 of file string_io.hh.
std::string CASM::to_string | ( | const std::string & | s, |
std::string | begin = "\"" , |
||
std::string | end = "\"" |
||
) |
Definition at line 11 of file string_io.hh.
std::string CASM::to_string | ( | const std::vector< T > & | container, |
std::string | begin = "[" , |
||
std::string | end = "]" , |
||
std::string | delim = ", " |
||
) |
Definition at line 41 of file string_io.hh.
std::string CASM::to_string | ( | const SymInfo & | info, |
SymInfoOptions | opt | ||
) |
Print SymInfo to string.
Print SymInfo.
Of the form:
Definition at line 108 of file SymInfo_stream_io.cc.
Eigen::Matrix3l CASM::transf_mat | ( | const Lattice & | prim_lat, |
const Lattice & | super_lat, | ||
double | tol | ||
) |
Make superlattice transformation matrix [deprecated].
Definition at line 462 of file Supercell.cc.
std::string CASM::type_name | ( | ) |
Get type name as string, via type_name<T>()
Definition at line 19 of file TypeInfo.hh.
bool CASM::valid_index | ( | Index | i | ) |
Definition at line 5 of file definitions.cc.
VectorSpaceSymReport CASM::vector_space_sym_report | ( | DoFSpace const & | dof_space, |
SupercellSymInfo const & | sym_info, | ||
std::vector< PermuteIterator > const & | group, | ||
bool | calc_wedges | ||
) |
Make VectorSpaceSymReport.
Make VectorSpaceSymReport
dof_space | DoFSpace to make VectorSpaceSymReport for |
sym_info | Supercell symmetry info |
group | Group used for vector space symmetry report |
calc_wedges | If true, calculate the irreducible wedges for the vector space. This may take a long time. |
Definition at line 560 of file DoFSpace.cc.
VectorSpaceSymReport CASM::vector_space_sym_report | ( | SymGroupRep const & | _rep, |
SymGroup const & | head_group, | ||
Eigen::Ref< const Eigen::MatrixXd > const & | _subspace, | ||
bool | calc_wedges = false |
||
) |
Construct the VectorSpaceSymReport for.
_rep | matrix representation of head_group, this defines group action on the underlying vector space |
head_group | group for which the sym report is to be generated |
_subspace | matrix such that _subspace.rows()==_rep.dim() and whose columns specify a subspace of underlying vector space |
calc_wedges | if true, 'irreducible_wedge' of returned object is initialized, if false, 'irreducible_wedge' is empty |
Definition at line 725 of file SymRepTools.cc.
SymRepTools_v2::VectorSpaceSymReport CASM::vector_space_sym_report_v2 | ( | DoFSpace const & | dof_space, |
SupercellSymInfo const & | sym_info, | ||
std::vector< PermuteIterator > const & | group, | ||
bool | calc_wedges | ||
) |
Make VectorSpaceSymReport.
Make VectorSpaceSymReport
dof_space | DoFSpace to make VectorSpaceSymReport for |
sym_info | Supercell symmetry info |
group | Group used for vector space symmetry report |
calc_wedges | If true, calculate the irreducible wedges for the vector space. This may take a long time. |
Definition at line 585 of file DoFSpace.cc.
SymRepTools_v2::VectorSpaceSymReport CASM::vector_space_sym_report_v2 | ( | SymGroupRep const & | rep, |
SymGroup const & | head_group, | ||
Eigen::MatrixXd const & | subspace, | ||
bool | calc_wedges | ||
) |
Construct VectorSpaceSymReport, using CASM::SymGroupRep and CASM::SymGroup.
Construct the VectorSpaceSymReport
_rep | Matrix representation of head_group, this defines group action on the underlying vector space |
head_group | group for which the sym report is to be generated |
_subspace | matrix such that _subspace.rows()==_rep.dim() and whose columns specify a subspace of underlying vector space |
calc_wedges | if true, 'irreducible_wedge' of returned object is initialized, if false, 'irreducible_wedge' is empty |
Definition at line 45 of file VectorSpaceSymReport.cc.
const std::string & CASM::version | ( | ) |
Definition at line 14 of file autoversion.cc.
std::vector< Eigen::Matrix3i > CASM::viable_supercells | ( | std::vector< OrbitType > & | local_orbits, |
const std::vector< Eigen::Matrix3i > & | transf_mat_options | ||
) |
Return superlattice transf. matrices for which has_local_neighborhood_overlap is false.
local_orbits | Vector of IntegralCluster orbits defining the local neighborhood |
transf_mat_options | A vector of supercell transformation matrices |
Definition at line 224 of file ClusterOrbits_impl.hh.
int CASM::view_command | ( | const CommandArgs & | args | ) |
Index CASM::which_unique_combination | ( | const Array< Index > & | input, |
const Array< Array< Index > > & | unique | ||
) |
Definition at line 38 of file CASM_Array_math.cc.
Index CASM::which_unique_combination | ( | const Array< Index > & | input, |
const Array< Array< Index > > & | unique, | ||
const Array< Array< Index > > & | ind_equiv | ||
) |
Definition at line 9 of file CASM_Array_math.cc.
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< Index >::X2 & | unique, | ||
const Array< Index >::X2 & | ind_equiv | ||
) |
void CASM::write_basis_permutation_rep | ( | SymGroup const & | grp, |
jsonParser & | group_rep_json, | ||
SymGroupRepID | symgrouprep_id | ||
) |
Describes how integral site coordinates transform under application of symmetry.
Writes an array, with one element for each group element, containing:
The ith factor group operation transforms a basis site:
(b, r_frac) -> (b', r_frac')
according to:
b' = sublattice_permute[b] r_frac' = matrix * r_frac + sublattice_shift[b]`
where b
is the basis index and r_frac
is the integer unit cell coordinate of a site.
Definition at line 118 of file SymGroup_json_io.cc.
void CASM::write_chemical_reference | ( | const ChemicalReference & | chem_ref, |
fs::path | filename | ||
) |
Write chemical reference states to JSON file.
See documentation with to_json(ChemicalReference const&, jsonParser &)
for JSON format.
Definition at line 37 of file ChemicalReference_file_io.cc.
jsonParser & CASM::write_clust | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
jsonParser & | json, | ||
const OrbitPrinterOptions & | opt = OrbitPrinterOptions() |
||
) |
Write Orbit<SymCompareType> to JSON.
Write Orbit<SymCompareType> to JSON, including 'bspecs'.
Definition at line 381 of file OrbitPrinter_impl.hh.
jsonParser & CASM::write_clust | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
jsonParser & | json, | ||
Printer | printer | ||
) |
Write Orbit<SymCompareType> to JSON.
Format:
Definition at line 367 of file OrbitPrinter_impl.hh.
jsonParser & CASM::write_clust | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
jsonParser & | json, | ||
Printer | printer, | ||
const jsonParser & | bspecs | ||
) |
Write Orbit<SymCompareType> to JSON, including 'bspecs'.
Format:
Definition at line 420 of file OrbitPrinter_impl.hh.
void CASM::write_composition_axes | ( | fs::path | _filename, |
CompositionAxes const & | composition_axes | ||
) |
Write CompositionAxes to file.
Definition at line 23 of file CompositionAxes_file_io.cc.
void CASM::write_config_json | ( | Configuration const & | configuration, |
DirectoryStructure const & | dir | ||
) |
Write configuration "config.json" file (DoF values in standard basis) to standard location
Definition at line 49 of file clex_io.cc.
void CASM::write_lat | ( | Supercell const & | supercell, |
DirectoryStructure const & | dir | ||
) |
Write supercell "LAT" file (supercell lattice vectors as column vectors) to standard location
Definition at line 22 of file clex_io.cc.
void CASM::write_matrix_rep | ( | SymGroupRepHandle const & | grp, |
jsonParser & | json | ||
) |
Definition at line 160 of file SymGroup_json_io.cc.
void CASM::write_occ_permutation_rep | ( | SymGroup const & | grp, |
jsonParser & | json, | ||
std::vector< SymGroupRepID > | occupant_symrep_IDs | ||
) |
Writes a 3d array, where occ_permutation_rep[b][i] is the permutation array for occupant values on sublattice 'b', due to group operation grp[i], according to: occ(l) = occ_permutation_rep[b][i][occ(l)]. Occupation values are transformed on each site in this way before begin permuted among sites.
Definition at line 145 of file SymGroup_json_io.cc.
void CASM::write_pos | ( | Configuration const & | configuration, |
DirectoryStructure const & | dir | ||
) |
Write configuration "POS" file (VASP POSCAR) to standard location.
Definition at line 29 of file clex_io.cc.
void CASM::write_prim | ( | const xtal::BasicStructure & | prim, |
fs::path | filename, | ||
COORD_TYPE | mode, | ||
bool | include_va = false |
||
) |
Write prim.json to file.
Definition at line 429 of file BasicStructureIO.cc.
void CASM::write_prim | ( | const xtal::BasicStructure & | prim, |
jsonParser & | json, | ||
COORD_TYPE | mode, | ||
bool | include_va = false |
||
) |
Write prim.json as JSON.
Definition at line 442 of file BasicStructureIO.cc.
void CASM::write_prim_symmetry | ( | PrimClex & | primclex, |
jsonParser const & | json_options, | ||
jsonParser const & | cli_options_as_json | ||
) |
Write/print prim symmetry.
Definition at line 147 of file write_prim_symmetry.cc.
std::string CASM::write_prim_symmetry_desc | ( | ) |
Describe the default casm sym
option.
Definition at line 104 of file write_prim_symmetry.cc.
void CASM::write_prim_symmetry_impl | ( | Structure const & | prim, |
DirectoryStructure const & | dir, | ||
COORD_TYPE | coordtype, | ||
bool | brief, | ||
Log & | log, | ||
bool | print_lattice_point_group, | ||
bool | print_factor_group, | ||
bool | print_crystal_point_group | ||
) |
Write/print prim symmetry
Notes:
casm sym
action writes the following symmetry files:log
:print_lattice_point_group
print_factor_group
print_crystal_point_group
coordtype
Definition at line 40 of file write_prim_symmetry.cc.
void CASM::write_site_basis_funcs | ( | std::shared_ptr< const Structure > | prim_ptr, |
ClexBasis const & | clex_basis, | ||
jsonParser & | json | ||
) |
Definition at line 465 of file ProtoFuncsPrinter.cc.
void CASM::write_structure_json | ( | Configuration const & | configuration, |
DirectoryStructure const & | dir | ||
) |
Write configuration "structure.json" file (structure that results from appling DoF) to standard location
Definition at line 38 of file clex_io.cc.
void CASM::write_symgroup | ( | SymGroup const & | grp, |
jsonParser & | json | ||
) |
Definition at line 47 of file SymGroup_json_io.cc.
void CASM::write_symop | ( | SymGroup const & | grp, |
Index | i, | ||
jsonParser & | j | ||
) |
Definition at line 18 of file SymGroup_json_io.cc.
const COORD_TYPE CASM::CART = COORD_TYPE::CART |
const COORD_TYPE CASM::COORD_DEFAULT = COORD_TYPE::COORD_DEFAULT |
const COORD_TYPE CASM::FRAC = COORD_TYPE::FRAC |
const COORD_TYPE CASM::INTEGRAL = COORD_TYPE::INTEGRAL |
const double CASM::KB = 8.6173423E-05 |
Definition at line 33 of file definitions.hh.
const PERIODICITY_TYPE CASM::LOCAL = PERIODICITY_TYPE::LOCAL |
const PERIODICITY_TYPE CASM::PERIODIC = PERIODICITY_TYPE::PERIODIC |
const PERIODICITY_TYPE CASM::PERIODICITY_DEFAULT |
const double CASM::PLANCK = 4.135667516E-15 |
Definition at line 36 of file definitions.hh.
const double CASM::TOL = 0.00001 |
Definition at line 30 of file definitions.hh.