sc::MolecularHessian(3)
π 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> &)β theMolecularHessianKeyValconstructor, which is used to generate aMolecularHessianderivative object from the input, no cap.MolecularHessian(StateIn &)β the other constructor, taking aStateIn. slay.void save_data_state(StateOut &)β saves the base classes (withsave_data_state) and the members in the same order that theStateInCTOR initializes them.RefSCDimension d3natom()β returns aRefSCDimension. that's it, that's the whole job. β¨Ref<SCMatrixKit> matrixkit() constβ returns the matrix kit,constand 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)β someMolecularHessianspecializations require a molecular energy object, so here's the hook for that.virtual MolecularEnergy * energy() constβ this returns aMolecularEnergyobject, 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=0andkit=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β typeMolecule, defaultnone, description: TheMoleculeobject. 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 β theSun Oct 4 2020is the date on the page and2.3.1is 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
- 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