8 #ifndef SPARROW_LINEARRESPONSESETTINGS_H
9 #define SPARROW_LINEARRESPONSESETTINGS_H
16 static constexpr
const char* convergence =
"convergence";
33 "Sets the initial space dimension to use in the Davidson diagonalizer.");
38 "Sets the maximal iteration number for the iterative diagonalizer.");
43 "Determines the spin block to calculate in the TD-DFTB Configuration State Functions implementation.");
44 spinBlock.
addOption(Utils::SettingsNames::SpinBlocks::singlet);
45 spinBlock.
addOption(Utils::SettingsNames::SpinBlocks::triplet);
46 spinBlock.
addOption(Utils::SettingsNames::SpinBlocks::singletAndTriplet);
50 "Sets maximum amount of memory that is allowed for the calculation.");
54 "The convergence threshold for the Davidson solver.");
56 convergenceCriterionDavidson.
setMinimum(std::numeric_limits<double>::min());
59 "Eigenvalue Problem Ax=lBx when B is almost singular.");
62 gepAlgorithm.
addOption(
"simultaneous_diag");
65 _fields.push_back(Utils::SettingsNames::numberOfEigenstates, std::move(numberOfEigenstates));
66 _fields.push_back(Utils::SettingsNames::initialSubspaceDimension, std::move(initialSubspaceDimension));
67 _fields.push_back(Utils::SettingsNames::spinBlock, std::move(spinBlock));
68 _fields.push_back(Utils::SettingsNames::maxMemory, std::move(maxMemory));
69 _fields.push_back(Utils::SettingsNames::maxDavidsonIterations, std::move(maxDavidsonIterations));
70 _fields.push_back(convergence, std::move(convergenceCriterionDavidson));
71 _fields.push_back(
"gep_algo", std::move(gepAlgorithm));
79 #endif // SPARROW_LINEARRESPONSESETTINGS_H
void setDefaultValue(double def)
void setMinimum(double min)
Generic settings for linear response methods, i.e. CIS and TD-DFTB.
Definition: LinearResponseSettings.h:25
void setDefaultOption(const std::string &def)
void addOption(std::string option)
void setDefaultValue(int def)