Scine::Sparrow  5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::Sparrow::dftb::ParameterSet Struct Reference
Collaboration diagram for Scine::Sparrow::dftb::ParameterSet:
Collaboration graph

Public Types

using Key = std::pair< int, int >
 
using DiatomicParameters = std::unordered_map< Key, SkfData, boost::hash< Key >>
 

Public Member Functions

ParameterSetpatch (ParameterSet patchSet)
 Overrides stored parameters with those from another parameter set.
 

Static Public Member Functions

static ParameterSet collect (const std::string &directory, const std::vector< int > &elements={})
 Collects parameters from a directory. More...
 

Public Attributes

DiatomicParameters pairData
 
boost::optional< SkfSpinConstantsspin
 
boost::optional
< SkfHubbardDerivatives
hubbard
 

Member Function Documentation

ParameterSet Scine::Sparrow::dftb::ParameterSet::collect ( const std::string &  directory,
const std::vector< int > &  elements = {} 
)
static

Collects parameters from a directory.

Parameters
directoryDirectory to scour for parameters
elementsUnique atomic numbers of elements for which to collect parameters

Non-recursively traverses directory. If elements is empty, reads all files with extension .skf. If elements is non-empty, reads only .skf files of the required elements, trying names with and without a dash separating element names.

The "hubbard.dat" and "spin.dat" files are sought unconditionally.

Exceptions
std::runtime_errorIf an skf file cannot be parsed, a required element pair's skf file cannot be found, or during directory traversal if an skf file is encountered whose name canot be parsed into element names.

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