MADNESS  version 0.9
Typedefs | Functions
oep.cc File Reference

optimized effective potentials for DFT More...

#include <chem/mp2.h>
#include <madness/mra/operator.h>
#include <madness/mra/mra.h>
#include <madness/mra/lbdeux.h>
Include dependency graph for oep.cc:

Typedefs

typedef Tensor< double > tensorT
 

Functions

template<size_t NDIM>
void draw_line (World &world, Function< double, NDIM > &pair, const std::string restart_name)
 
template<size_t NDIM>
void save_function (World &world, Function< double, NDIM > &pair, const std::string name)
 
template<size_t NDIM>
void load_function (World &world, Function< double, NDIM > &pair, const std::string name)
 
template<size_t NDIM>
void draw_plane (World &world, Function< double, NDIM > &function, const std::string restart_name)
 
void plot (const real_function_3d &f, const std::string filename, const long k)
 
void plot_radial_density (const real_function_3d &rho, const std::string filename, const tensorT &grid)
 
void plot_radial_function (const real_function_3d &rho, const std::string filename, const tensorT &grid)
 
void compute_energy (World &world, const real_function_3d &psi, const real_function_3d &pot, double &ke, double &pe)
 
double iterate (World &world, const real_function_3d &VV, real_function_3d &psi, double &eps)
 apply the Green's function on V*psi, update psi and the energy More...
 
void orthogonalize (std::vector< real_function_3d > &orbitals, const int ii)
 orthogonalize orbital i against all other orbitals More...
 
void solve (World &world, const real_function_3d &potential, const double thresh, tensorT &eps, std::vector< real_function_3d > &orbitals)
 solve the residual equations More...
 
void update_potential (World &world, real_function_3d &potential, const real_function_3d &density, const real_function_3d &refdens, const HartreeFock &hf)
 given the density and the trial potential, update the potential to yield the density More...
 
int main (int argc, char **argv)
 

Detailed Description

optimized effective potentials for DFT

The source is here.

Typedef Documentation

typedef Tensor<double> tensorT

Function Documentation

void compute_energy ( World world,
const real_function_3d psi,
const real_function_3d pot,
double &  ke,
double &  pe 
)
template<size_t NDIM>
void draw_line ( World world,
Function< double, NDIM > &  pair,
const std::string  restart_name 
)
template<size_t NDIM>
void draw_plane ( World world,
Function< double, NDIM > &  function,
const std::string  restart_name 
)
double iterate ( World world,
const real_function_3d VV,
real_function_3d psi,
double &  eps 
)
template<size_t NDIM>
void load_function ( World world,
Function< double, NDIM > &  pair,
const std::string  name 
)
int main ( int  argc,
char **  argv 
)
void orthogonalize ( std::vector< real_function_3d > &  orbitals,
const int  ii 
)

orthogonalize orbital i against all other orbitals

References madness::inner(), and madness::Function< T, NDIM >::norm2().

Referenced by solve().

void plot ( const real_function_3d f,
const std::string  filename,
const long  k 
)

References madness::f, and madness::vec().

void plot_radial_density ( const real_function_3d rho,
const std::string  filename,
const tensorT grid 
)

References madness::vec().

Referenced by main().

void plot_radial_function ( const real_function_3d rho,
const std::string  filename,
const tensorT grid 
)

References madness::vec().

Referenced by main().

template<size_t NDIM>
void save_function ( World world,
Function< double, NDIM > &  pair,
const std::string  name 
)
void solve ( World world,
const real_function_3d potential,
const double  thresh,
tensorT eps,
std::vector< real_function_3d > &  orbitals 
)

solve the residual equations

Parameters
[in]potentialthe effective potential
[in]threshthe threshold for the error in the orbitals
[in,out]epsguesses for the orbital energies
[in,out]orbitalsthe first n roots of the equation

References madness::error(), iterate(), orthogonalize(), madness::print(), madness::World::rank(), and save_function().

Referenced by main().

void update_potential ( World world,
real_function_3d potential,
const real_function_3d density,
const real_function_3d refdens,
const HartreeFock hf 
)

given the density and the trial potential, update the potential to yield the density

Parameters
[in]worldthe world
in/out]potential the potential to be updated
[in]densitythe density
[in]refdensthe reference density, or target densiy

References madness::truncate().

Referenced by main().