ergo
fermi_contact.cc File Reference

implements "Fermi contact" integrals. More...

#include <memory>
#include "memorymanag.h"
#include "basisinfo.h"
#include "aos.h"
#include "density_description_file_2.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.
int main (int argc, char *argv[])

Variables

static const double GE = 2.0023193044

Detailed Description

implements "Fermi contact" integrals.

The formulas are give in the hyperfine project.


Function Documentation

template<class Accumulator >
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.

Parameters:
bisbasis set specification.
spinDensityspin density defined as D_alpha-D_beta.
Rthe cartesian coordinates to which we compute interaction to.
resultwill contain the interaction if the function succeeds.
Returns:
0 on success, -1 on failure.

References BasisInfoStruct::noOfBasisFuncs, BasisInfoStruct::noOfShells, dft_get_orbs(), Vector3D::v, and accumulate().

Referenced by main().


Variable Documentation

const double GE = 2.0023193044 [static]

Referenced by main().