sc::mPW91XFunctional(3)
π sc::mPW91XFunctional β a page from the MPQC manual (section 3), bestie
okay so first things first: this is sc::mPW91XFunctional, and the manual it lives in is MPQC, section 3. Got it? Good. Let's get into it β¨
πΈ NAME πΈ
sc::mPW91XFunctional β this class implements a modified 1991 Perdew-Wang exchange functional. that's it, that's the whole vibe. it's giving "I do one thing and I do it well" π
β¨ SYNOPSIS β¨
#include <functional.h>
and the nepo-baby situation: it inherits from sc::DenFunctional. so everything DenFunctional can do? it's in the bloodline, periodt. π
π Public Types π
enum Func { B88, PW91, mPW91 }β the three flavors of this functional, okurrr. pick your fighter.
π¦ Public Member Functions π¦
mPW91XFunctional ()β constructs an mPW exchange functional. no arguments, no drama, just vibes.mPW91XFunctional (Func variant)β constructs an mPW form exchange functional using the given functional variant. you hand it a variant and it does its thing.mPW91XFunctional (const Ref< KeyVal > &)β constructs an mPW form exchange functional, but this time it's reading from a KeyVal. very "I get my info from my sources" of it.mPW91XFunctional (StateIn &)β the StateIn constructor. no description given, it's mysterious, it's main character energy πvoid save_data_state (StateOut &)β saves the base classes (withsave_data_state) and the members in the same order that the StateIn CTOR initializes them. the order matters, do not play with it, fr fr.int need_density_gradient ()β it tells you whether it needs a density gradient.void point (const PointInputData &, PointOutputData &)β this is where the actual point math happens, taking point input data and filling in point output data.void init_constants (Func)β sets up the constants for a givenFunc.
π Protected Member Functions π
void spin_contrib (const PointInputData::SpinData &, double &mpw, double &dmpw_dr, double &dmpw_dg)β the spin contribution helper. takes spin data and writes intompw,dmpw_dr, anddmpw_dg. protected, so it's for the class's inner circle only π«Ά
π Protected Attributes π
double bdouble betadouble cdouble ddouble a_xdouble x_d_coef
all six are doubles, all six are protected, and all six are literally just sitting there being constants. iconic honestly.
β Additional Inherited Members β
yeah, there's more, but it's inherited, so it's not this class's story to tell. iykyk.
π₯ Detailed Description π₯
Implements a modified 1991 Perdew-Wang exchange functional. π«
and here's the receipt, the citation, the "credit where credit is due": C. Adamo and V. Barone, J. Chem. Phys., 108(2), pp. 664-674, 1998. no cap, that's the paper. π
π§ Constructor & Destructor Documentation π§
sc::mPW91XFunctional::mPW91XFunctional (Func variant)
Constructs an mPW form exchange functional using the given functional variant. and the variant, bestie, can be B88, PW91, or mPW91. those are your three options, don't come at me with a fourth π
sc::mPW91XFunctional::mPW91XFunctional (const Ref< KeyVal > &)
Constructs an mPW form exchange functional β and this one's a yapper, it reads keywords. it recognizes the following:
constantsβ this can beB88to give the Becke88 exchange functional;PW91, to give results similar to the PW91 exchange functional; ormPW91, to give the new functional developed by Adamo and Barone. three choices, same trio, slay.bβ a keyword it recognizes. (no description in the original, so no tea to spill π)betaβ also a recognized keyword. that's the whole note.cβ recognized keyword, that's it.dβ recognized keyword, we move.x_d_coefβ the coefficient of $x^d$, where $x$ is the reduced gradient. that's the one with actual lore π
π Member Function Documentation π
void sc::mPW91XFunctional::save_data_state (StateOut &) [virtual]
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. This must be implemented by the derived class if the class has data. so like⦠if you have data, you must do this. it's not optional, it's not a suggestion, it's the rule periodt.
Reimplemented from sc::DenFunctional.
π Author π
Generated automatically by Doxygen for MPQC from the source code. so nobody actually wrote this by hand, it was birthed by the machine, and honestly? respect. π€β¨
and that's the page, bestie!! π this was Version 2.3.1, dated Sun Oct 4 2020 β a whole little time capsule, and you just read it. go forth and compute π¦πΈπ
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms