|
MADNESS 0.10.1
|
Solves the two-particle system exactly. More...
#include <madness/misc/info.h>#include <madness/mra/mra.h>#include <madness/mra/operator.h>#include <madness/mra/funcplot.h>#include <madness/mra/lbdeux.h>#include <iostream>#include <madness/chem/SCF.h>#include <madness/chem/nemo.h>#include <madness/chem/correlationfactor.h>#include <madness/chem/electronic_correlation_factor.h>#include "madness/mra/commandlineparser.h"
Macros | |
| #define | WITH_G12 |
Typedefs | |
| typedef std::shared_ptr< NuclearCorrelationFactor > | ncf_ptr |
Functions | |
| real_function_6d | apply_U_ecf (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf) |
| 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) |
| 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 | |
| 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 | |
| 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> | |
| void | load (World &world, real_function_6d &f, std::string filename) |
| int | main (int argc, char **argv) |
| real_function_6d | reconstruct_psi (World &world, const real_function_6d &psi, const CorrelationFactor2 &ecf, const ncf_ptr &ncf) |
| reconstruct the full wave function | |
| void | save (World &world, const 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 | |
Variables | |
| static double | bsh_eps = 1.e-8 |
| static double | lo = 1.e-8 |
Solves the two-particle system exactly.
| #define WITH_G12 |
| typedef std::shared_ptr<NuclearCorrelationFactor> ncf_ptr |
| real_function_6d apply_U_ecf | ( | World & | world, |
| const real_function_6d & | psi, | ||
| const CorrelationFactor2 & | ecf | ||
| ) |
References madness::nonlinear_vector_solver(), and psi().
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 | ||
| ) |
| real_function_6d apply_U_ncf | ( | World & | world, |
| const real_function_6d & | psi, | ||
| const ncf_ptr & | ncf | ||
| ) |
References axis, bsh_eps, madness::copy(), madness::Function< T, NDIM >::fill_tree(), lo, madness::nonlinear_vector_solver(), madness::print(), psi(), madness::r2(), madness::World::rank(), madness::Function< T, NDIM >::reduce_rank(), madness::Function< T, NDIM >::truncate(), and madness::truncate().
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 bsh_eps, madness::copy(), madness::TwoElectronFactory< T, NDIM >::dcut(), madness::Function< T, NDIM >::fill_tree(), madness::inner(), lo, madness::nonlinear_vector_solver(), norm(), madness::print(), psi(), R2, madness::World::rank(), reconstruct_psi(), madness::truncate(), and vnuc().
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::nonlinear_vector_solver(), norm(), madness::print(), psi(), 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 bsh_eps, madness::copy(), madness::Function< T, NDIM >::fill_tree(), madness::inner(), lo, madness::nonlinear_vector_solver(), madness::print(), psi(), and madness::World::rank().
Referenced by compute_energy_with_U().
| void load | ( | World & | world, |
| real_function_6d & | f, | ||
| std::string | filename | ||
| ) |
References madness::f, and madness::filename.
Referenced by main().
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
References apply_U_ecf(), apply_U_mix(), apply_U_ncf(), madness::arg(), bsh_eps, SafeMPI::COMM_WORLD, compute_energy(), compute_energy_with_U(), madness::copy(), energy, madness::WorldGopInterface::fence(), madness::filename, madness::finalize(), madness::Nemo::get_calc(), madness::FunctionDefaults< NDIM >::get_thresh(), madness::info::git_source_description(), madness::World::gop, madness::hartree_product(), madness::initialize(), madness::inner(), lo, load(), madness::NemoBase::ncf, madness::nonlinear_vector_solver(), norm(), madness::Function< T, NDIM >::norm2(), param, madness::print(), madness::Function< T, NDIM >::print_size(), psi(), madness::World::rank(), save(), madness::FunctionDefaults< NDIM >::set_cubic_cell(), madness::FunctionDefaults< NDIM >::set_k(), madness::commandlineparser::set_keyval(), madness::FunctionDefaults< NDIM >::set_tensor_type(), madness::FunctionDefaults< NDIM >::set_thresh(), madness::World::size(), madness::startup(), test_U_el(), madness::Function< T, NDIM >::truncate(), madness::TT_2D, madness::Nemo::value(), vnuc(), 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 bsh_eps, madness::copy(), madness::Function< T, NDIM >::fill_tree(), madness::inner(), lo, madness::nonlinear_vector_solver(), madness::print(), psi(), and madness::World::rank().
Referenced by compute_energy().
| void save | ( | World & | world, |
| const real_function_6d & | f, | ||
| std::string | filename | ||
| ) |
References madness::f, and madness::filename.
Referenced by 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(), bsh_eps, madness::copy(), madness::TwoElectronFactory< T, NDIM >::dcut(), madness::Function< T, NDIM >::fill_tree(), madness::g, madness::inner(), lo, madness::nonlinear_vector_solver(), madness::print(), psi(), madness::World::rank(), and u().
Referenced by main().
|
static |
Referenced by apply_U_mix(), apply_U_ncf(), apply_V(), compute_energy(), madness::MP2::compute_gQf(), compute_R2f2_psi(), madness::MP2::guess_mp1_3(), madness::CC2::iterate_pair(), madness::CC2::iterate_singles(), main(), madness::MP2::multiply_with_0th_order_Hamiltonian(), reconstruct_psi(), madness::MP2::solve_coupled_equations(), madness::MP2::solve_residual_equations(), and test_U_el().
|
static |
Referenced by apply_U_mix(), apply_U_ncf(), apply_V(), compute_energy(), compute_R2f2_psi(), main(), reconstruct_psi(), and test_U_el().