ErgoMolInfo Class Reference

Ergo specific implementation of molecule-grid interface. More...

#include <dft_common.h>

Inheritance diagram for ErgoMolInfo:

GridGenMolInfo List of all members.

Public Member Functions

 ErgoMolInfo (const BasisInfoStruct &bis_, const Molecule &mol)
 Ther standard constructor.
virtual ~ErgoMolInfo ()
virtual void getAtom (int icent, int *cnt, real(*coor)[3], int *charge, int *mult) const
 Return atom data.
virtual void setShellRadii (real *shellRadii) const
virtual void getBlocks (const real *center, real cellsz, const real *rshell, int *nblcnt, int(*iblcks)[2]) const
 same as ergo_get_shlblocks, except it should scale NlogN.
void getBlocks1 (const real *center, real cellsz, const real *rshell, int *nblcnt, int(*iblcks)[2]) const
 get blocks of active SHELLS in cube of CELLSZ size centered at CENTER.
virtual void getExps (int *maxl, int **nucbas, real(**aa)[2]) const
 ergo_get_exps() generates a list of exponents for every center as in mol_info table: number of gaussians at given center (nucorb), and their smallest and largest exponent in aaa.

Public Attributes

ShellTree * shellTree

Private Attributes

const BasisInfoStruct & bis
const Molecule & molecule

Detailed Description

Ergo specific implementation of molecule-grid interface.


Constructor & Destructor Documentation

ErgoMolInfo::ErgoMolInfo ( const BasisInfoStruct &  bis_,
const Molecule &  mol 
)

Ther standard constructor.

ErgoMolInfo::~ErgoMolInfo (  )  [virtual]


Member Function Documentation

void ErgoMolInfo::getAtom ( int  icent,
int *  cnt,
real *  coor[3],
int *  charge,
int *  mult 
) const [virtual]

Return atom data.

Implements GridGenMolInfo.

void ErgoMolInfo::getBlocks ( const real *  center,
real  cellsz,
const real *  rshell,
int *  nblcnt,
int *  iblcks[2] 
) const [virtual]

same as ergo_get_shlblocks, except it should scale NlogN.

rshell is not used - we store this information in the tree.

Implements GridGenMolInfo.

void ErgoMolInfo::getBlocks1 ( const real *  center,
real  cellsz,
const real *  rshell,
int *  nblcnt,
int *  iblcks[2] 
) const

get blocks of active SHELLS in cube of CELLSZ size centered at CENTER.

RSHELL - precomputed shell extents. NBLCNT (output) - number of active blocks IBLCKS (output) - pairs of (startindex, stopindex)

This algorithm scales quadratically.

void ErgoMolInfo::getExps ( int *  maxl,
int **  bascnt,
real **  aa[2] 
) const [virtual]

ergo_get_exps() generates a list of exponents for every center as in mol_info table: number of gaussians at given center (nucorb), and their smallest and largest exponent in aaa.

Parameters:
maxl max L quantum number - the leading dimension.
bascnt [noOfAtoms][maxl] - no of funcs at center and given angular momentum.
aa [noOfAtoms][maxl][2] min/max exponent.

Implements GridGenMolInfo.

void ErgoMolInfo::setShellRadii ( real *  shellRadii  )  const [virtual]

Implements GridGenMolInfo.


Member Data Documentation

const BasisInfoStruct& ErgoMolInfo::bis [private]

const Molecule& ErgoMolInfo::molecule [private]

ShellTree* ErgoMolInfo::shellTree


The documentation for this class was generated from the following files:
Generated on Wed Nov 21 09:32:41 2012 for ergo by  doxygen 1.4.7