mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-04 21:54:27 +08:00
* stub for YAeHMOP integration * switch to using catch for the test * first steps towards calling from rdkit * switch to using some smart pointers * runs, but has unpredictable seg faults. Needs valgrinding * cleanup * allow hacky linux builds too * start using unique_ptrs for memory management * don't find princ axes by default Support probably isn't compiled in. * save computed properties * additional cleanup * start working on a smarter way to get the code * start making the cmake externalproject support work * seems to work * does not work yet * this actually seems to build and work on linux * theoretically more robust * handle the parameter file * first wrapper * try to get mac builds working too * initial pass at including reduced charge and overlap population matrices * update docs * backup commit * switch to using cmake to handle the C++ spec * switch to using a results object for the eHT calculations * support fermi and total E
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
//
|
|
// Copyright (C) 2018 by Greg Landrum
|
|
//
|
|
#ifndef EHTTOOLS_H_20181226
|
|
#define EHTTOOLS_H_20181226
|
|
/*! \file
|
|
|
|
\brief Contains an interface to the YaEHMOP extended Hueckel program.
|
|
|
|
\b Note: This interface is experimental and may change from version to
|
|
version.
|
|
|
|
*/
|
|
|
|
#include <string>
|
|
#include <memory>
|
|
|
|
namespace RDKit {
|
|
class ROMol;
|
|
namespace EHTTools {
|
|
|
|
struct EHTResults {
|
|
unsigned int numAtoms;
|
|
unsigned int numOrbitals;
|
|
std::unique_ptr<double[]> overlapPopulationMatrix;
|
|
std::unique_ptr<double[]> reducedOverlapPopulationMatrix;
|
|
std::unique_ptr<double[]> chargeMatrix;
|
|
std::unique_ptr<double[]> reducedChargeMatrix;
|
|
std::unique_ptr<double[]> atomicCharges;
|
|
double fermiEnergy;
|
|
double totalEnergy;
|
|
EHTResults() = default;
|
|
EHTResults(const EHTResults &) = delete;
|
|
EHTResults &operator=(const EHTResults &) = delete;
|
|
};
|
|
|
|
//! Runs an extended Hueckel calculation for a molecule
|
|
//! The results are returned in the EHTResults structure
|
|
bool runMol(const ROMol &mol, EHTResults &results, int confId = -1);
|
|
|
|
} // namespace EHTTools
|
|
} // namespace RDKit
|
|
#endif
|