File SettingPopulator.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
namespace UniversalSettings
class SettingPopulator
#include <SettingPopulator.h>

This class populates the common settings of many calculators.

These settings include molecular charge, spin multiplicity, restricted/unrestricted formalism, and Scf options. It populates a Utils::UniversalSettings::DescriptorCollection with default values.

Public Types

using SettingsCollection = Utils::UniversalSettings::DescriptorCollection

Public Static Functions

static void populateLcaoSettings(SettingsCollection &settings)

Populate Settings in the by-reference argument with default settings common to all LCAO methods.

static void populateScfSettings(SettingsCollection &settings)

Populate Settings in the by-reference argument with default settings common to all SCF methods.

static void populateSemiEmpiricalSettings(SettingsCollection &settings, std::string defaultParameterFile = "parameter.xml")

Populate Settings in the by-reference argument with default settings common to all SemiEmpirical methods.

Here the parameter files settings are set. In order for this to work SPARROWInitializer::initialize() must already be called.

Parameters
  • defaultParameterFile: describes the default name of the parameter for a semi-empirical method. For NDDO methods it is usually parameter.xml, for DFTB it is different.

static Utils::scf_mixer_t stringToScfMixer(const std::string &scfMixerName)

This function converts a mixer name into a mixer type.

Return

a Util::scf_mixer_t, the type of a scf mixer.

Parameters
  • scfMixerName: Name of the mixer type.

static std::string scfMixerToString(Utils::scf_mixer_t mixerType)

This function converts a mixer type into a mixer name.

Return

a std::string containing the name of the scf mixer.

Parameters
  • scfMixerType: Type of the scf mixer.

Private Static Functions

static void addMolecularCharge(SettingsCollection &settings)
static void addSpinMultiplicity(SettingsCollection &settings)
static void addUnrestrictedCalculation(SettingsCollection &settings)
static void addTemperatureOption(SettingsCollection &settings)
static void addDavidsonOption(SettingsCollection &settings)
static void addSelfConsistanceCriterion(SettingsCollection &settings)
static void addMaxIterations(SettingsCollection &settings)
static void addScfMixer(SettingsCollection &settings)