|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
#include <factory.hpp>
Static Public Member Functions | |
| static std::unique_ptr< XCFunctional > | create (const std::string &name, int number_of_spin_components=1) |
Factory for XC functionals. Supports: "PZ", "LDA", "PBE", "PBEsol", "BLYP", "revPBE", "RPBE", "libxc:X:C" (ids or LibXC names), or QE's "XC-iii-jjj-kkk-lll" form.
Definition at line 29 of file factory.hpp.
|
inlinestatic |
Create an XC functional by name. number_of_spin_components: 1=unpolarized, 2=spin-polarized
Match on a case-folded copy throughout. A parsed input arrives lower-cased, but a configuration built in code can spell the name any way. Before the input was normalized, the YAML parser upper-cased model.functional, so libxc:117:130 reached here as LIBXC:117:130 and never matched the lower-case prefix test below, and each alias had to be spelled out twice to cover the two cases anyone happened to try.
Hammer-Hansen-Norskov exchange with PBE correlation – the pair libxc:117:130 spells out by number. Hammer, Hansen and Norskov, Phys. Rev. B 59, 7413 (1999).
Definition at line 35 of file factory.hpp.
Referenced by q3::KohnShamSCFIterator::initialize().