|
ergo
|
Ergo specific implementation of molecule-grid interface. More...
#include <dft_common.h>
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 Member Functions inherited from GridGenMolInfo | |
| GridGenMolInfo (int a, int b, int s) | |
| virtual | ~GridGenMolInfo () |
Public Attributes | |
| ShellTree * | shellTree |
| Public Attributes inherited from GridGenMolInfo | |
| int | noOfAtoms |
| int | noOfBasisFuncs |
| int | noOfShells |
Private Attributes | |
| const BasisInfoStruct & | bis |
| const Molecule & | molecule |
Ergo specific implementation of molecule-grid interface.
| ErgoMolInfo::ErgoMolInfo | ( | const BasisInfoStruct & | bis_, |
| const Molecule & | mol ) |
Ther standard constructor.
References bis, GridGenMolInfo::GridGenMolInfo(), molecule, GridGenMolInfo::noOfBasisFuncs, GridGenMolInfo::noOfShells, setShellRadii(), and shellTree.
|
virtual |
References shellTree.
|
virtual |
|
virtual |
same as ergo_get_shlblocks, except it should scale NlogN.
rshell is not used - we store this information in the tree.
Implements GridGenMolInfo.
References GET_BLOCKS_FUDGE_FACTOR, getBlocks1(), GridGenMolInfo::noOfShells, and shellTree.
| 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.
References bis, ShellSpecStruct::centerCoords, and template_blas_sqrt().
Referenced by getBlocks().
|
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.
| 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.
References bis, ShellSpecStruct::centerCoords, Atom::coords, ShellSpecStruct::exponentList, Molecule::getAtom(), molecule, GridGenMolInfo::noOfAtoms, ShellSpecStruct::noOfContr, and ShellSpecStruct::shellType.
|
virtual |
Implements GridGenMolInfo.
References bis, ShellSpecStruct::coeffList, ShellSpecStruct::exponentList, ShellSpecStruct::noOfContr, SET_SHELL_RADII_ORBITAL_THR, template_blas_fabs(), template_blas_log(), and template_blas_sqrt().
Referenced by ErgoMolInfo().
|
private |
Referenced by ErgoMolInfo(), getBlocks1(), getExps(), and setShellRadii().
|
private |
Referenced by ErgoMolInfo(), getAtom(), and getExps().
| ShellTree* ErgoMolInfo::shellTree |
Referenced by ErgoMolInfo(), getBlocks(), and ~ErgoMolInfo().