ergo
|
Tests the simple case of many well-separated H atoms with just one basis function for each atom. More...
#include <stdio.h>
#include <unistd.h>
#include <memory>
#include <limits>
#include "basisinfo.h"
#include "matrix_utilities.h"
#include "integrals_general.h"
#include "integrals_2el_explicit.h"
#include "integral_matrix_wrappers.h"
#include "utilities.h"
#include "densfromf_full.h"
#include "GetDensFromFock.h"
Functions | |
static void | preparePermutationsHML (const BasisInfoStruct &basisInfo, mat::SizesAndBlocks &sizeBlockInfo, std::vector< int > &permutation, std::vector< int > &inversePermutation, int blockSizeHML) |
static void | report_timing (const Util::TimeMeter &tm, const char *s) |
void | get_HML_J (const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const symmMatrix &D, symmMatrix &J) |
void | get_HML_K (const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, symmMatrix &D, symmMatrix &K) |
void | get_HML_G_matrix (const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, symmMatrix &D, symmMatrix &G) |
static void | get_diag_dens_mat (symmMatrix &D, int n, int offset_0_or_1, const mat::SizesAndBlocks &sizeBlockInfo, const std::vector< int > &permutationHML) |
static void | report_max_abs_element_of_matrix (const symmMatrix &A, const char *name, const std::vector< int > &inversePermutationHML) |
static void | do_add_atom (Molecule &m, ergo_real spacing, int ix, int iy, int iz) |
static ergo_real | get_energy (int nx, int ny, int nz, int &nAtoms, ergo_real boxSizeForJ, bool specialCase) |
static int | do_energy_comparison (int nx, int ny, int nz, ergo_real boxSizeForJ, bool specialCase) |
int | main (int argc, char *argv[]) |
Tests the simple case of many well-separated H atoms with just one basis function for each atom.
References Molecule::addAtom().
Referenced by get_energy().
|
static |
References get_energy(), and template_blas_fabs().
Referenced by main().
|
static |
Referenced by get_energy().
|
static |
References Molecule::addAtom(), BasisInfoStruct::addBasisfuncsForMolecule(), compute_J_by_boxes_sparse(), compute_K_by_boxes_sparse(), compute_overlap_matrix_sparse(), compute_T_sparse_linear(), compute_V_sparse(), do_add_atom(), ERGO_DATA_PREFIX, ERGO_SPREFIX, JK::Params::exchange_box_size, JK::Params::fmm_box_size, get_diag_dens_mat(), Molecule::getNoOfAtoms(), Molecule::getNumberOfElectrons(), BasisInfoStruct::noOfBasisFuncs, preparePermutationsHML(), read_basisset_file(), report_max_abs_element_of_matrix(), report_timing(), Molecule::setNetCharge(), JK::Params::threshold_J, and JK::Params::threshold_K.
Referenced by do_energy_comparison().
void get_HML_G_matrix | ( | const mat::SizesAndBlocks & | sizeBlockInfo, |
const IntegralInfo & | integralInfo, | ||
const BasisInfoStruct & | bis, | ||
const std::vector< int > & | permutationHML, | ||
const std::vector< int > & | inversePermutationHML, | ||
symmMatrix & | D, | ||
symmMatrix & | G | ||
) |
References get_HML_J(), and get_HML_K().
void get_HML_J | ( | const mat::SizesAndBlocks & | sizeBlockInfo, |
const IntegralInfo & | integralInfo, | ||
const BasisInfoStruct & | bis, | ||
const std::vector< int > & | permutationHML, | ||
const symmMatrix & | D, | ||
symmMatrix & | J | ||
) |
References compute_J_by_boxes_sparse().
Referenced by get_HML_G_matrix().
void get_HML_K | ( | const mat::SizesAndBlocks & | sizeBlockInfo, |
const IntegralInfo & | integralInfo, | ||
const BasisInfoStruct & | bis, | ||
const std::vector< int > & | permutationHML, | ||
const std::vector< int > & | inversePermutationHML, | ||
symmMatrix & | D, | ||
symmMatrix & | K | ||
) |
References compute_K_by_boxes_sparse().
Referenced by get_HML_G_matrix().
int main | ( | int | argc, |
char * | argv[] | ||
) |
|
static |
References getMatrixPermutation(), BasisInfoStruct::noOfBasisFuncs, and prepareMatrixSizesAndBlocks().
Referenced by get_energy().
|
static |
References A, and template_blas_fabs().
Referenced by get_energy().
|
static |
References Util::TimeMeter::get_start_time_wall_seconds(), and Util::TimeMeter::get_wall_seconds().
Referenced by get_energy(), and main().