MADNESS
version 0.9
|
Solves the two-particle system exactly. More...
#include <madness/mra/mra.h>
#include <madness/mra/operator.h>
#include <madness/mra/funcplot.h>
#include <madness/mra/lbdeux.h>
#include <iostream>
#include <chem/SCF.h>
#include <chem/nemo.h>
#include <chem/correlationfactor.h>
Macros | |
#define | WITH_G12 |
Typedefs | |
typedef std::shared_ptr < NuclearCorrelationFactor > | ncf_ptr |
Functions | |
real_function_6d | apply_U_mix (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf, const ncf_ptr &ncf) |
real_function_6d | apply_U_ncf (World &world, const real_function_6d &psi, const ncf_ptr &ncf) |
real_function_6d | apply_V (World &world, const real_function_6d &psi, const SCF &calc) |
real_function_6d | apply_U_ecf (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf) |
real_function_6d | reconstruct_psi (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf, const ncf_ptr &ncf) |
reconstruct the full wave function More... | |
real_function_6d | compute_R2f2_psi (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf, const ncf_ptr &ncf) |
compute R_12^2f_12^2|psi> More... | |
double | compute_energy_with_U (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf, const ncf_ptr &ncf, const real_function_6d &twoVpsi) |
compute the energy using the regularization More... | |
double | compute_energy (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf, const ncf_ptr &ncf, const real_function_3d &vnuc) |
compute the energy using the reconstructed wave function More... | |
void | save (World &world, const real_function_6d &f, std::string filename) |
void | load (World &world, real_function_6d &f, std::string filename) |
void | test_U_el (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf) |
the electronic U potential is U -1/r12 = f^-1 [T, f] = f^-1 T f - T More... | |
int | main (int argc, char **argv) |
Solves the two-particle system exactly.
#define WITH_G12 |
Referenced by compute_energy().
typedef std::shared_ptr<NuclearCorrelationFactor> ncf_ptr |
real_function_6d apply_U_ecf | ( | World & | world, |
const real_function_6d & | psi, | ||
const CorrelationFactor2 & | ecf | ||
) |
Referenced by main(), and test_U_el().
real_function_6d apply_U_mix | ( | World & | world, |
const real_function_6d & | psi, | ||
const CorrelationFactor2 & | ecf, | ||
const ncf_ptr & | ncf | ||
) |
References madness::copy(), madness::Function< T, NDIM >::fill_tree(), madness::CompositeFactory< T, NDIM, MDIM >::ket(), madness::SeparatedConvolution< Q, NDIM >::modified(), madness::print(), madness::scale(), sqrt(), madness::Function< T, NDIM >::truncate(), and madness::CompositeFactory< T, NDIM, MDIM >::V_for_particle2().
Referenced by main().
real_function_6d apply_U_ncf | ( | World & | world, |
const real_function_6d & | psi, | ||
const ncf_ptr & | ncf | ||
) |
References madness::copy(), madness::Function< T, NDIM >::fill_tree(), madness::SeparatedConvolution< Q, NDIM >::modified(), madness::print(), madness::Function< T, NDIM >::reduce_rank(), sqrt(), madness::truncate(), madness::Function< T, NDIM >::truncate(), madness::CompositeFactory< T, NDIM, MDIM >::V_for_particle1(), and madness::CompositeFactory< T, NDIM, MDIM >::V_for_particle2().
Referenced by main().
real_function_6d apply_V | ( | World & | world, |
const real_function_6d & | psi, | ||
const SCF & | calc | ||
) |
double compute_energy | ( | World & | world, |
const real_function_6d & | psi, | ||
const CorrelationFactor2 & | ecf, | ||
const ncf_ptr & | ncf, | ||
const real_function_3d & | vnuc | ||
) |
compute the energy using the reconstructed wave function
References madness::copy(), madness::TwoElectronFactory::dcut(), madness::Function< T, NDIM >::fill_tree(), madness::inner(), madness::SeparatedConvolution< Q, NDIM >::modified(), madness::norm(), madness::CompositeFactory< T, NDIM, MDIM >::particle1(), madness::CompositeFactory< T, NDIM, MDIM >::particle2(), madness::print(), psi(), R2, reconstruct_psi(), sqrt(), madness::truncate(), and WITH_G12.
Referenced by main().
double compute_energy_with_U | ( | World & | world, |
const real_function_6d & | psi, | ||
const CorrelationFactor2 & | ecf, | ||
const ncf_ptr & | ncf, | ||
const real_function_6d & | twoVpsi | ||
) |
compute the energy using the regularization
References compute_R2f2_psi(), energy(), madness::inner(), madness::norm(), madness::print(), and madness::World::rank().
Referenced by main().
real_function_6d compute_R2f2_psi | ( | World & | world, |
const real_function_6d & | psi, | ||
const CorrelationFactor2 & | ecf, | ||
const ncf_ptr & | ncf | ||
) |
compute R_12^2f_12^2|psi>
References madness::copy(), madness::Function< T, NDIM >::fill_tree(), madness::inner(), madness::CompositeFactory< T, NDIM, MDIM >::ket(), madness::SeparatedConvolution< Q, NDIM >::modified(), madness::print(), and sqrt().
Referenced by compute_energy_with_U().
void load | ( | World & | world, |
real_function_6d & | f, | ||
std::string | filename | ||
) |
References madness::f.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
References madness::SCF::amo, apply_U_ecf(), apply_U_mix(), apply_U_ncf(), madness::arg(), madness::Function< T, NDIM >::clear(), SafeMPI::COMM_WORLD, compute_energy(), compute_energy_with_U(), madness::copy(), madness::SeparatedConvolution< Q, NDIM >::destructive(), energy(), madness::archive::BaseParallelArchive< BinaryFstreamInputArchive >::exists(), madness::WorldGopInterface::fence(), madness::finalize(), madness::Nemo::get_calc(), madness::FunctionDefaults< NDIM >::get_thresh(), madness::World::gop, madness::hartree_product(), madness::initialize(), madness::inner(), madness::CalculationParameters::L, load(), madness::norm(), madness::Function< T, NDIM >::norm2(), madness::Nemo::nuclear_correlation, madness::SCF::param, madness::SCF::potentialmanager, madness::print(), madness::Function< T, NDIM >::print_size(), psi(), madness::World::rank(), save(), madness::Function< T, NDIM >::scale(), madness::FunctionDefaults< NDIM >::set_cubic_cell(), madness::FunctionDefaults< NDIM >::set_k(), madness::SCF::set_protocol(), madness::FunctionDefaults< NDIM >::set_tensor_type(), madness::FunctionDefaults< NDIM >::set_thresh(), madness::Function< T, NDIM >::set_thresh(), madness::World::size(), sqrt(), madness::startup(), test_U_el(), madness::Function< T, NDIM >::truncate(), madness::TT_2D, madness::Nemo::value(), and madness::wall_time().
real_function_6d reconstruct_psi | ( | World & | world, |
const real_function_6d & | psi, | ||
const CorrelationFactor2 & | ecf, | ||
const ncf_ptr & | ncf | ||
) |
reconstruct the full wave function
Psi from the regularized wave function and the correlation factors
References madness::copy(), madness::Function< T, NDIM >::fill_tree(), madness::inner(), madness::CompositeFactory< T, NDIM, MDIM >::ket(), madness::SeparatedConvolution< Q, NDIM >::modified(), madness::print(), and sqrt().
Referenced by compute_energy().
void save | ( | World & | world, |
const real_function_6d & | f, | ||
std::string | filename | ||
) |
References madness::f.
Referenced by madness::SCF::initial_guess(), and main().
void test_U_el | ( | World & | world, |
const real_function_6d & | psi, | ||
const CorrelationFactor2 & | ecf | ||
) |
the electronic U potential is U -1/r12 = f^-1 [T, f] = f^-1 T f - T
References apply_U_ecf(), madness::copy(), madness::TwoElectronFactory::dcut(), madness::Function< T, NDIM >::fill_tree(), madness::g, madness::inner(), madness::CompositeFactory< T, NDIM, MDIM >::ket(), madness::SeparatedConvolution< Q, NDIM >::modified(), madness::print(), madness::World::rank(), and sqrt().
Referenced by main().