|
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(), get_HML_G_matrix(), and mat::MatrixSymmetric< real, matri >::trace_ab().
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 |