ergo
|
#include <memory>
#include "memorymanag.h"
#include "basisinfo.h"
#include "aos.h"
#include "density_description_file.h"
#include "Matrix.h"
#include "MatrixSymmetric.h"
Classes | |
struct | FCAccumulator |
Functions | |
template<class Accumulator > | |
ergo_real | accumulate (int n, const ergo_real *spinMat, const Accumulator &ac) |
int | computeFermiContact (const BasisInfoStruct &bis, const ergo_real *spinDensity, const Vector3D &R, ergo_real &result) |
computeFermiContact computes the Fermi contact interaction for given molecule and specified spin density. More... | |
int | main (int argc, char *argv[]) |
Variables | |
static const double | GE = 2.0023193044 |
implements "Fermi contact" integrals. The formulas are give in the hyperfine project.
ergo_real accumulate | ( | int | n, |
const ergo_real * | spinMat, | ||
const Accumulator & | ac | ||
) |
Referenced by computeFermiContact().
int computeFermiContact | ( | const BasisInfoStruct & | bis, |
const ergo_real * | spinDensity, | ||
const Vector3D & | R, | ||
ergo_real & | result | ||
) |
computeFermiContact computes the Fermi contact interaction for given molecule and specified spin density.
bis | basis set specification. |
spinDensity | spin density defined as D_alpha-D_beta. |
R | the cartesian coordinates to which we compute interaction to. |
result | will contain the interaction if the function succeeds. |
References accumulate(), dft_get_orbs(), BasisInfoStruct::noOfBasisFuncs, BasisInfoStruct::noOfShells, and Vector3D::v.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
References ShellSpecStruct::centerCoords, Atom::charge, computeFermiContact(), Atom::coords, ddf_load_density(), Vector3D::dist(), ergo_free(), GE, Molecule::getAtom(), Molecule::getNoOfAtoms(), BasisInfoStruct::noOfBasisFuncs, BasisInfoStruct::noOfShells, Molecule::setFromMoleculeFile(), and BasisInfoStruct::shellList.
|
static |
Referenced by main().