sc::TwoBodyTwoCenterDerivInt(3)

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

πŸ’– sc::TwoBodyTwoCenterDerivInt πŸ’–

okay so bestie, listen β€” this little icon is from the MPQC manual, and it's giving abstract base class energy. It's the blueprint for classes that compute two centers integrals involving two electrons. No cap, that's the whole vibe.


✨ SYNOPSIS ✨

Like, first you gotta include the header, obviously:

#include <tbint.h>

And it Inherits sc::RefCount. Slay.

🫢 Public Member Functions

  • int nbasis() const β€” hands you the number of basis functions on center one. literally that.
  • int nbasis1() const β€” same thing, number of basis functions on center one. twin behavior fr fr.
  • int nbasis2() const β€” this one's different: number of basis functions on center two. πŸ’…
  • int nshell() const β€” number of shells on center one. iconic.
  • int nshell1() const β€” number of shells on center one again. she said "consistency."
  • int nshell2() const β€” number of shells on center two. periodt.
  • Ref<GaussianBasisSet> basis() β€” returns the basis set on center one. yes bestie, the whole thing.
  • Ref<GaussianBasisSet> basis1() β€” basis set on center one. again. twins.
  • Ref<GaussianBasisSet> basis2() β€” basis set on center two. main character center energy.
  • const double * buffer() const β€” okay so the computed shell integrals go into the buffer this returns. don't lose it. πŸŽ€
  • virtual void compute_shell(int, int, DerivCenters &)=0 β€” give it the shell indices and it fills the integral buffer. pure virtual, so it's a "you do it" situation.
  • virtual int log2_shell_bound(int=-1, int=-1)=0 β€” returns log base 2 of the max magnitude of any integral in a shell block. the defaults are -1 because mystery shells are valid. πŸ¦‹

🌸 Protected Member Functions

  • TwoBodyTwoCenterDerivInt(Integral *integral, const Ref<GaussianBasisSet> &b1, const Ref<GaussianBasisSet> &b2) β€” constructor. you don't get to call it from outside, it's protected. humble.

πŸ’œ Protected Attributes

  • Integral * integral_ β€” the integral pointer. she's private-ish.
  • Ref<GaussianBasisSet> bs1_ β€” basis set one. stored.
  • Ref<GaussianBasisSet> bs2_ β€” basis set two. also stored.
  • double * buffer_ β€” the buffer. put the integrals here bestie. πŸ’€

🧚 Detailed Description 🧚

This is an abstract base type for classes that compute two centers integrals involving two electrons. Like, it's the vibe, not the whole implementation. go off.


πŸ‘‘ Member Function Documentation πŸ‘‘

virtual int sc::TwoBodyTwoCenterDerivInt::log2_shell_bound(int = -1, int = -1) [pure virtual]

Returns log base 2 of the maximum magnitude of any integral in a shell block. ✨

And here's the key detail, no cap: an index of -1 for any argument means any shell. like, "idk pick one," basically. πŸ™ˆ


πŸ’€ reminder: compute_shell and log2_shell_bound are pure virtual β€” you cannot instantiate this directly, bestie. it's a base class, not a ready-to-wear look. πŸ’…

πŸ“ Author πŸ“

Generated automatically by Doxygen for MPQC from the source code. not me writing it by hand, that's a bot doing its thing. πŸ€–βœ¨


okay that's the whole page, and before you go: this is from MPQC version 2.3.1, dated Sun Oct 4 2020, and the manpage section is sc::TwoBodyTwoCenterDerivInt(3). mwah πŸ’‹ go compute some two-center two-electron integrals, you absolute icon. πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from