sc::MolecularHessian(3)

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

πŸ’– sc::MolecularHessian β€” an MPQC manual page, bestie edition πŸ’–

okay so real talk, this is a page from the MPQC manual set, and it's all about sc::MolecularHessian. buckle up, it's giving "abstract base class with main character energy" 🧚✨


🌸 NAME 🌸

sc::MolecularHessian β€” listen. MolecularHessian is an abstract class that computes a molecule's second derivatives of the energy with respect to changes in the nuclear coordinates. that's the whole vibe. that's what she does. πŸ’…


✨ SYNOPSIS ✨

#include <hess.h>

she inherits from sc::SavableState. 🫢

and she gets inherited by sc::DiagMolecularHessian, sc::FinDispMolecularHessian, sc::GuessMolecularHessian, and sc::ReadMolecularHessian. a whole little family tree, iconic. 🌈

πŸŽ€ Public Member Functions

  • MolecularHessian(const Ref<KeyVal> &) β€” the MolecularHessian KeyVal constructor, which is used to generate a MolecularHessian derivative object from the input, no cap.
  • MolecularHessian(StateIn &) β€” the other constructor, taking a StateIn. slay.
  • void save_data_state(StateOut &) β€” saves the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
  • RefSCDimension d3natom() β€” returns a RefSCDimension. that's it, that's the whole job. ✨
  • Ref<SCMatrixKit> matrixkit() const β€” returns the matrix kit, const and everything.
  • virtual RefSymmSCMatrix cartesian_hessian()=0 β€” returns the cartesian hessian. note the =0, she is pure virtual, so like... you can't instantiate her, bestie. she's a concept. 😭
  • virtual void set_energy(const Ref<MolecularEnergy> &energy) β€” some MolecularHessian specializations require a molecular energy object, so here's the hook for that.
  • virtual MolecularEnergy * energy() const β€” this returns a MolecularEnergy object, if it's used by this specialization.

⭐ Static Public Member Functions

  • static RefSCMatrix cartesian_to_symmetry(const Ref<Molecule> &m, Ref<PointGroup> pg=0, Ref<SCMatrixKit> kit=0) β€” finds the transformation matrix from cartesian to symmetry coordinates. look at those defaults, pg=0 and kit=0, gorgeous. πŸ’œ
  • static void write_cartesian_hessian(const char *filename, const Ref<Molecule> &m, const RefSymmSCMatrix &hess) β€” writes the hessian in a simple text format.
  • static void read_cartesian_hessian(const char *filename, const Ref<Molecule> &m, const RefSymmSCMatrix &hess) β€” reads the hessian from a simple text format. yes bestie, they're a matched set, we love symmetry. πŸ¦‹

🧚 Protected Attributes

  • Ref<Molecule> mol_
  • RefSCDimension d3natom_
  • Ref<SCMatrixKit> matrixkit_

πŸ’« Additional Inherited Members

(the usual inherited goodies, nothing extra to report β€” she's a SavableState girlie)


πŸ”₯ Detailed Description πŸ”₯

so, again, because it bears repeating: MolecularHessian is an abstract class that computes a molecule's second derivatives of the energy with respect to changes in the nuclear coordinates. literally the entire personality. periodt. πŸ‘‘


πŸ“ Constructor & Destructor Documentation πŸ“

sc::MolecularHessian::MolecularHessian(const Ref<KeyVal> &)

the MolecularHessian KeyVal constructor is used to generate a MolecularHessian derivative object from the input. it reads the keywords below. πŸ‘‡

  • molecule β€” type Molecule, default none, description: The Molecule object. that's the one keyword. she's lowkey minimal and I respect it. ✨

πŸ’€ Member Function Documentation πŸ’€

virtual MolecularEnergy* sc::MolecularHessian::energy() const [virtual]

this returns a MolecularEnergy object, if used by this specialization. otherwise null is returned. πŸ™ˆ

Reimplemented in sc::FinDispMolecularHessian.

void sc::MolecularHessian::save_data_state(StateOut &) [virtual]

saves the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. and heads up bestie: this must be implemented by the derived class if the class has data. no skipping. 😀

Reimplemented from sc::SavableState.

Reimplemented in sc::DiagMolecularHessian, sc::GuessMolecularHessian, and sc::ReadMolecularHessian.

virtual void sc::MolecularHessian::set_energy(const Ref<MolecularEnergy> & energy) [virtual]

some MolecularHessian specializations require a molecular energy object. the default implementations of this ignore the argument. she's literally just vibing and not listening, and honestly? same. πŸ’…

Reimplemented in sc::FinDispMolecularHessian.


πŸ‘‘ Author πŸ‘‘

generated automatically by Doxygen for MPQC from the source code. she wasn't hand-written, she was born this way. πŸŽ€


friendly reminder that this is Version 2.3.1, dated Sun Oct 4 2020 β€” the Sun Oct 4 2020 is the date on the page and 2.3.1 is the version, fr fr. 🀍

okay that's the whole page, you ate it up, go read the derived classes next bestie πŸ«ΆπŸ’–βœ¨

πŸ“¦ where this page comes from