|
ergo
|
Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization. More...
#include "densfromf_full.h"#include "output.h"#include <memory.h>#include <cstdio>#include <cmath>#include <cstdlib>#include <vector>#include <fstream>#include <sstream>#include <iomanip>#include "memorymanag.h"#include "machine_epsilon.h"#include "utilities.h"#include "matrix_algebra.h"#include "units.h"#include "mat_gblas.h"#include "matInclude.h"Functions | |
| int | get_F_orbs (int n, const ergo_real *F, const ergo_real *ovl, ergo_real *cmo, ergo_real *eigv) |
| get_f_orbs: use diagonalization to find the molecular orbitals corresponding to given Fock matrix f. | |
| static void | get_dens_from_cmo_zeroT (int n, const ergo_real *cmo, const ergo_real *eigv, int noOfOccupiedOrbs, ergo_real *dens, ergo_real &resultHomoLumoGap) |
| static ergo_real | x_times_ln_x (ergo_real x) |
| static void | get_dens_from_cmo_FermiDiracDistr (int n, const ergo_real *cmo, const ergo_real *eigv, int noOfOccupiedOrbs, ergo_real *dens, ergo_real electronicTemperature, ergo_real &resultEntropyTerm) |
| int | get_dens_from_fock_full (int n, int noOfOccupiedOrbs, ergo_real *result_P, const ergo_real *F, const ergo_real *ovl, ergo_real factor, ergo_real electronicTemperature, ergo_real &resultEntropyTerm, ergo_real &resultHomoLumoGap, int store_all_eigenvalues_to_file, int number_of_occ_eigenvectors, int number_of_unocc_eigenvectors, std::vector< std::vector< ergo_real > > &eigVecOCC, std::vector< std::vector< ergo_real > > &eigVecUNOCC, std::vector< ergo_real > &eigValOCC, std::vector< ergo_real > &eigValUNOCC) |
Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization.
|
static |
References do_output(), mat::getMachineEpsilon(), LOG_AREA_DENSFROMF, LOG_CAT_INFO, Util::TimeMeter::print(), template_blas_exp(), template_blas_fabs(), and x_times_ln_x().
Referenced by get_dens_from_fock_full().
|
static |
References do_output(), LOG_AREA_DENSFROMF, LOG_CAT_INFO, multiply_matrices_general_T_1(), Util::TimeMeter::print(), and UNIT_one_eV.
Referenced by get_dens_from_fock_full().
| int get_dens_from_fock_full | ( | int | n, |
| int | noOfOccupiedOrbs, | ||
| ergo_real * | result_P, | ||
| const ergo_real * | F, | ||
| const ergo_real * | ovl, | ||
| ergo_real | factor, | ||
| ergo_real | electronicTemperature, | ||
| ergo_real & | resultEntropyTerm, | ||
| ergo_real & | resultHomoLumoGap, | ||
| int | store_all_eigenvalues_to_file, | ||
| int | number_of_occ_eigenvectors, | ||
| int | number_of_unocc_eigenvectors, | ||
| std::vector< std::vector< ergo_real > > & | eigVecOCC, | ||
| std::vector< std::vector< ergo_real > > & | eigVecUNOCC, | ||
| std::vector< ergo_real > & | eigValOCC, | ||
| std::vector< ergo_real > & | eigValUNOCC ) |
| int get_F_orbs | ( | int | n, |
| const ergo_real * | F, | ||
| const ergo_real * | ovl, | ||
| ergo_real * | cmo, | ||
| ergo_real * | eigv ) |
get_f_orbs: use diagonalization to find the molecular orbitals corresponding to given Fock matrix f.
References do_output(), ergo_free(), ergo_malloc(), LOG_AREA_DENSFROMF, LOG_CAT_ERROR, LOG_CAT_INFO, Util::TimeMeter::print(), and mat::sygv().
Referenced by do_CI(), get_dens_from_fock_full(), and main().
References mat::getMachineEpsilon(), template_blas_log(), and template_blas_sqrt().
Referenced by get_dens_from_cmo_FermiDiracDistr().