ergo
|
Tests naive implementation of linear response calculation. 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"
Classes | |
struct | four_idx_AO_struct |
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) |
void | get_HML_dens_matrix (int noOfBasisFuncs, int noOfOccupiedOrbitals, const mat::SizesAndBlocks &sizeBlockInfo, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, symmMatrix &S, symmMatrix &F, symmMatrix &Dnew) |
void | do_HF_HML (int noOfBasisFuncs, int noOfOccupiedOrbitals, const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, const symmMatrix &S, const symmMatrix &T, const symmMatrix &V, double nuclearRepulsionEnergy, int noOfIterations, symmMatrix &finalFockMatrix) |
static void | get_matrices_A_and_B (int nBasisFuncs, int noOfOccupiedOrbitals, ergo_real *A, ergo_real *B, const ergo_real *eigv, const four_idx_AO_struct *g_MO) |
static void | get_all_generalized_eigenvalues (int n, const ergo_real *A_in, const ergo_real *B_in, ergo_real *eigvalList) |
int | main (int argc, char *argv[]) |
Variables | |
const int | MAX_AOS = 30 |
Tests naive implementation of linear response calculation.
void do_HF_HML | ( | int | noOfBasisFuncs, |
int | noOfOccupiedOrbitals, | ||
const mat::SizesAndBlocks & | sizeBlockInfo, | ||
const IntegralInfo & | integralInfo, | ||
const BasisInfoStruct & | bis, | ||
const std::vector< int > & | permutationHML, | ||
const std::vector< int > & | inversePermutationHML, | ||
const symmMatrix & | S, | ||
const symmMatrix & | T, | ||
const symmMatrix & | V, | ||
double | nuclearRepulsionEnergy, | ||
int | noOfIterations, | ||
symmMatrix & | finalFockMatrix | ||
) |
References get_HML_dens_matrix(), and get_HML_G_matrix().
Referenced by main().
|
static |
References A, B, and mat::ggev().
Referenced by main().
void get_HML_dens_matrix | ( | int | noOfBasisFuncs, |
int | noOfOccupiedOrbitals, | ||
const mat::SizesAndBlocks & | sizeBlockInfo, | ||
const std::vector< int > & | permutationHML, | ||
const std::vector< int > & | inversePermutationHML, | ||
symmMatrix & | S, | ||
symmMatrix & | F, | ||
symmMatrix & | Dnew | ||
) |
References GetDensFromFock::clean_eigs_intervals(), GetDensFromFock::do_restricted_calculations(), mat::frobNorm, GetDensFromFock::get_dens_from_fock(), GetDensFromFock::get_puri_stats(), mat::right, GetDensFromFock::set_diagonalization_params(), GetDensFromFock::set_gap_expected_lower_bound(), GetDensFromFock::set_general_params(), GetDensFromFock::set_invCholFactor(), GetDensFromFock::set_no_occupied_orbs(), GetDensFromFock::set_purification_limits(), GetDensFromFock::set_purification_maxmul(), GetDensFromFock::set_stopCriterionNormPurification(), GetDensFromFock::set_truncationNormPurification(), GetDensFromFock::set_use_diag_on_error(), GetDensFromFock::set_use_diagonalization(), GetDensFromFock::unset_output_homo_and_lumo_eigenvectors(), GetDensFromFock::unset_purification_create_m_files(), GetDensFromFock::unset_purification_ignore_failure(), GetDensFromFock::unset_purification_use_rand_perturbation_for_alleigsint(), GetDensFromFock::unset_store_all_eigenvalues_to_file(), GetDensFromFock::unset_use_acceleration(), GetDensFromFock::unset_use_diag_on_error_guess(), GetDensFromFock::unset_use_new_stopping_criterion(), and GetDensFromFock::unset_use_purification().
Referenced by do_HF_HML().
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().
Referenced by do_HF_HML().
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().
|
static |
References A, B, and four_idx_AO_struct::x.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
References A, Molecule::addAtom(), BasisInfoStruct::addBasisfuncsForMolecule(), B, compute_overlap_matrix_sparse(), compute_T_sparse_linear(), compute_V_sparse(), do_2e_integral(), do_HF_HML(), ERGO_DATA_PREFIX, ERGO_SPREFIX, get_all_generalized_eigenvalues(), get_F_orbs(), get_matrices_A_and_B(), Molecule::getAtom(), mat::Params::getMatrixParallelLevel(), Molecule::getNoOfAtoms(), mat::Params::getNProcs(), Molecule::getNuclearRepulsionEnergyQuadratic(), Molecule::getNumberOfElectrons(), BasisInfoStruct::noOfBasisFuncs, preparePermutationsHML(), read_basisset_file(), report_timing(), Molecule::setFromMoleculeFile(), mat::Params::setMatrixParallelLevel(), Molecule::setNetCharge(), mat::Params::setNProcs(), template_blas_fabs(), and four_idx_AO_struct::x.
|
static |
References getMatrixPermutation(), BasisInfoStruct::noOfBasisFuncs, and prepareMatrixSizesAndBlocks().
Referenced by main().
|
static |
References Util::TimeMeter::get_start_time_wall_seconds(), and Util::TimeMeter::get_wall_seconds().
Referenced by main().
const int MAX_AOS = 30 |