sc::PW86XFunctional(3)
β¨ sc::PW86XFunctional β bestie edition β¨
okay so this is a page from the MPQC manual set (that's the manual name, consider it folded in π), and it's all about sc::PW86XFunctional. buckle up, it's actually short and sweet.
πΈ NAME πΈ
sc::PW86XFunctional β it implements the Perdew-Wang 1986 (PW86) Exchange functional. that's it. that's the whole job. iconic honestly.
π¦ SYNOPSIS π¦
first thing you gotta do, obviously, is pull in the header:
#include <functional.h>
and heads up β it inherits sc::DenFunctional π so it's coming in with everything that base class brings. we love a nepo baby that actually delivers.
π Public Member Functions π
PW86XFunctional (const Ref< KeyVal > &)β constructor that builds one of these from aRef< KeyVal >. classic config-object energy.PW86XFunctional (StateIn &)β constructor that rebuilds it from aStateIn. this is the "restore me from saved state" vibe.void save_data_state (StateOut &)β saves the base classes (withsave_data_state) and the members, in the exact same order that theStateInCTOR initializes them. yes the order matters, don't be chaotic about it πint need_density_gradient ()β returns aninttelling you whether it needs the density gradient. that's literally all it says, no cap.void point (const PointInputData &, PointOutputData &)β the actual per-point evaluation, taking aconst PointInputData &in and aPointOutputData &out.
π Protected Member Functions π
void init_constants ()β sets up the constants. protected, so it's giving "internal business, mind yours" π
π Protected Attributes π
four doubles, all protected, all with that trailing underscore swag:
double a_double b_double c_double m_
that's the whole roster. no defaults listed, so i'm not gonna invent any β that would be a lie and lying is not the vibe π
β Additional Inherited Members β
there are more members inherited from the base class, and the page just says that and moves on. so likeβ¦ they exist. go look at the base class for the tea π«Ά
π Detailed Description π
okay bestie, the actual explanation:
Implements the Perdew-Wang 1986 (PW86) Exchange functional.
and here's the citation, copy it exactly for your bibliography or your professor will notice:
J. P. Perdew and Y. Wang, Phys. Rev. B, 33(12), pp 8800-8802, 1986.
π₯ Member Function Documentation π₯
π§ void sc::PW86XFunctional::save_data_state (StateOut &) [virtual]
so this one saves the base classes (using save_data_state) and the members β and again, in the same order the StateIn CTOR initializes them. the manpage is very normal about emphasizing this.
and here's the rule that applies to you if you're subclassing: this must be implemented by the derived class if the class has data. no data, no obligation. data? implement it. periodt.
it's marked as reimplemented from sc::DenFunctional, so the parent already had a version and this one is doing its own thing on top. main character energy π
π Author π
"Generated automatically by Doxygen for MPQC from the source code." so nobody hand-wrote this bad boy, a robot did. respect the machine π€β¨
and that's the whole page!! slay π ngl this one was a quick read and i'm kind of obsessed. this was Version 2.3.1, dated Sun Oct 4 2020 β go off, 2020. bye bestie, see you in the next manpage ππ¦πΈ
π¦ 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