sc::PW86XFunctional(3)

πŸ“¦
version 2.3.1 Β· 5 versions
, in ubuntu jammy

✨ 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 a Ref< KeyVal >. classic config-object energy.
  • PW86XFunctional (StateIn &) β€” constructor that rebuilds it from a StateIn. this is the "restore me from saved state" vibe.
  • void save_data_state (StateOut &) β€” saves the base classes (with save_data_state) and the members, in the exact same order that the StateIn CTOR initializes them. yes the order matters, don't be chaotic about it 😭
  • int need_density_gradient () β€” returns an int telling 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 a const PointInputData & in and a PointOutputData & 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