source/densfromf/densfromf_full.cc File Reference

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, ergo_real *const lumoVec, ergo_real *const homoVec)

Detailed Description

Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization.

Author:
: Elias Rudberg responsible

Function Documentation

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 
) [static]
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]
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,
ergo_real *const   lumoVec,
ergo_real *const   homoVec 
)
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().

static ergo_real x_times_ln_x ( ergo_real  x  )  [static]

Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1