SC_GAUSSLEGENDREANGULARINTEGRATOR(3)

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

πŸ’… sc::GaussLegendreAngularIntegrator πŸ’…

okay bestie, so this is a page from the MPQC manual β€” literally the sc::GaussLegendreAngularIntegrator(3) page, and it's giving "niche computational chemistry realness" πŸ§ͺ✨. Buckle up, because we're about to make an angular integrator make sense, and honestly? It's lowkey iconic.


✨ NAME ✨

sc::GaussLegendreAngularIntegrator β€” an implementation of an angular integrator using the Gauss-Legendre weights and grid points. That's the whole vibe. Periodt. πŸŽ€


🌸 SYNOPSIS 🌸

First things first, you gotta include the header, bestie:

#include <integrator.h>

And plot twist β€” this class Inherits sc::AngularIntegrator. Like, it's part of the family. Family tree matters, iykyk. 🫢


πŸ’– DESCRIPTION πŸ’–

So basically, sc::GaussLegendreAngularIntegrator is an implementation of an angular integrator using the Gauss-Legendre weights and grid points. That's it, that's the tea. β˜• It's doing angular integration things with Gauss-Legendre math, and it's the whole point of the class. Slay.


πŸ‘‘ CONSTRUCTOR & DESTRUCTOR DOCUMENTATION πŸ‘‘

πŸ¦‹ sc::GaussLegendreAngularIntegrator::GaussLegendreAngularIntegrator (const Ref< KeyVal > &)

This bad boy contracts a GaussLegendreAngularIntegrator from KeyVal input. Subtext, though: this class is for testing, okay? The LebedevLaikovIntegrator is preferred for normal use. So like, don't make it your main character unless you're testing. πŸ™ˆ

The following parameters are read:

  • ntheta
  • nphi
  • Ktheta

Those three. That's the list. Don't forget 'em. ✨


πŸ”₯ MEMBER FUNCTION DOCUMENTATION πŸ”₯

void sc::GaussLegendreAngularIntegrator::save_data_state (StateOut &) β€” [virtual]

This one saves the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. Order matters, bestie β€” do not mess with it. 😀

Here's the hard rule: this must be implemented by the derived class if the class has data. No data, no problem; data? You're implementing this, periodt.

Reimplemented from sc::AngularIntegrator. πŸ’…


🌈 PROTECTED MEMBER FUNCTIONS 🌈

okay so these are the protected ones β€” the inner circle. Here's the full roster, no skips, no cuts:

  • int get_ntheta (void) const
  • void set_ntheta (int i)
  • int get_nphi (void) const
  • void set_nphi (int i)
  • int get_Ktheta (void) const
  • void set_Ktheta (int i)
  • int get_ntheta_r (void) const
  • void set_ntheta_r (int i)
  • int get_nphi_r (void) const
  • void set_nphi_r (int i)
  • int get_Ktheta_r (void) const
  • void set_Ktheta_r (int i)
  • int nw (void) const
  • double sin_theta (SCVector3 &point) const
  • void gauleg (double x1, double x2, int n)

Getters and setters galore, plus nw, sin_theta, and gauleg. It's giving "internal machinery that runs the whole operation." πŸ’€


πŸ“ PROTECTED ATTRIBUTES πŸ“

The protected attributes, aka the data girlies:

  • int ntheta_
  • int nphi_
  • int Ktheta_
  • int ntheta_r_
  • int nphi_r_
  • int Ktheta_r_
  • double * theta_quad_weights_
  • double * theta_quad_points_

That's the complete list. Memorize it or at least screenshot it. πŸ“Έ


⭐ ADDITIONAL INHERITED MEMBERS ⭐

There are additional inherited members too β€” this class didn't come to play alone, it's part of a whole ecosystem. 🌍


πŸ’œ DETAILED DESCRIPTION πŸ’œ

An implementation of an angular integrator using the Gauss-Legendre weights and grid points. Yes, we said it in the NAME section and we're saying it again because it's literally the whole description. Repetition is a valid aesthetic. πŸ’…


🧚 AUTHOR 🧚

Generated automatically by Doxygen for MPQC from the source code. Not a human author, a whole robot over here doing the most. πŸ€–βœ¨


πŸŽ€ SIGN-OFF πŸŽ€

This page was brought to you by Version 2.3.1 and dated Sun Oct 4 β€” and that's the whole footer, folded up all cute at the end like a little bow. πŸŽ€ Bye bestie, go integrate those angles! πŸŒŸπŸ«ΆπŸ’–

πŸ“¦ where this page comes from