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. More... | |
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(), LOG_AREA_DENSFROMF, LOG_CAT_INFO, Util::TimeMeter::print(), template_blas_exp(), template_blas_fabs(), mat::trace(), 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 template_blas_log(), and template_blas_sqrt().
Referenced by get_dens_from_cmo_FermiDiracDistr().