MADNESS 0.10.1
|
Evolves the hydrogen atom in imaginary and also real time. More...
#include <madness/mra/lbdeux.h>
#include <madness/mra/mra.h>
#include <madness/mra/qmprop.h>
#include <madness/mra/operator.h>
#include <madness/constants.h>
Classes | |
struct | unaryexp< T, NDIM > |
Typedefs | |
typedef FunctionFactory< double_complex, 3 > | complex_factoryT |
typedef Function< double_complex, 3 > | complex_functionT |
typedef std::shared_ptr< FunctionFunctorInterface< double_complex, 3 > > | complex_functorT |
typedef SeparatedConvolution< double_complex, 3 > | complex_operatorT |
typedef Vector< double, 3 > | coordT |
typedef FunctionFactory< double, 3 > | factoryT |
typedef Function< double, 3 > | functionT |
typedef std::shared_ptr< FunctionFunctorInterface< double, 3 > > | functorT |
typedef SeparatedConvolution< double, 3 > | operatorT |
Functions | |
void | converge (World &world, functionT &potn, functionT &psi, double &eps) |
Evolve the wave function in imaginary time to converge to ground state. | |
template<typename T > | |
double | energy (World &world, const Function< T, 3 > &psi, const functionT &potn) |
Given psi and V evaluate the energy. | |
static double | guess (const coordT &r) |
Initial guess wave function. | |
double | laser (double t) |
Strength of the laser field at time t ... 1 full cycle. | |
template<typename T , int NDIM> | |
double | lbcost (const Key< NDIM > &key, const FunctionNode< T, NDIM > &node) |
template<typename T , std::size_t NDIM> | |
void | load_balance (World &world, const madness::Function< T, NDIM > &psi) |
int | main (int argc, char **argv) |
void | propagate (World &world, functionT &potn, functionT &psi0, double &eps) |
Evolve the wave function in real time. | |
static double | smoothed_potential (double r) |
Regularized 1/r potential. | |
static double | V (const coordT &r) |
Smoothed 1/r nuclear potential. | |
double | zdipole (const coordT &r) |
z-dipole | |
Variables | |
static const double | cut = 0.2 |
static const double | F = 1.0 |
static const long | k = 8 |
static const double | L = 23.0 |
static const double | omega = 1.0 |
static const double | thresh = 1e-6 |
Evolves the hydrogen atom in imaginary and also real time.
typedef FunctionFactory<double_complex,3> complex_factoryT |
typedef Function<double_complex,3> complex_functionT |
typedef std::shared_ptr< FunctionFunctorInterface<double_complex,3> > complex_functorT |
typedef SeparatedConvolution<double_complex,3> complex_operatorT |
typedef FunctionFactory<double,3> factoryT |
typedef std::shared_ptr< FunctionFunctorInterface<double,3> > functorT |
typedef SeparatedConvolution<double,3> operatorT |
Evolve the wave function in imaginary time to converge to ground state.
References energy, expV(), load_balance(), norm(), op(), madness::constants::pi, potn(), pow(), madness::print(), psi(), madness::World::rank(), madness::Function< T, NDIM >::unaryop(), and V().
Referenced by main().
double energy | ( | World & | world, |
const Function< T, 3 > & | psi, | ||
const functionT & | potn | ||
) |
Given psi and V evaluate the energy.
References std::abs(), axis, madness::inner(), potn(), madness::print(), psi(), madness::World::rank(), and T().
|
static |
double laser | ( | double | t | ) |
Strength of the laser field at time t ... 1 full cycle.
References omega, and madness::constants::pi.
Referenced by propagate().
double lbcost | ( | const Key< NDIM > & | key, |
const FunctionNode< T, NDIM > & | node | ||
) |
void load_balance | ( | World & | world, |
const madness::Function< T, NDIM > & | psi | ||
) |
int main | ( | int | argc, |
char ** | argv | ||
) |
References SafeMPI::COMM_WORLD, converge(), energy, madness::WorldGopInterface::fence(), madness::finalize(), madness::World::gop, guess(), madness::initialize(), k, L, potn(), madness::print(), propagate(), psi(), madness::World::rank(), madness::Function< T, NDIM >::scale(), madness::FunctionDefaults< NDIM >::set_cubic_cell(), madness::FunctionDefaults< NDIM >::set_initial_level(), madness::FunctionDefaults< NDIM >::set_k(), madness::FunctionDefaults< NDIM >::set_refine(), madness::FunctionDefaults< NDIM >::set_thresh(), madness::startup(), thresh, madness::Function< T, NDIM >::truncate(), and V().
Evolve the wave function in real time.
References c, ctarget, cut, energy, expV(), madness::inner(), k, laser(), load_balance(), norm(), madness::constants::pi, potn(), madness::print(), psi(), psi0(), madness::World::rank(), madness::Function< T, NDIM >::reconstruct(), tcrit, tstep, madness::Function< T, NDIM >::unaryop(), and zdipole().
Referenced by main().
|
static |
Regularized 1/r potential.
Invoke as u
(r/c)/c where c
is the radius of the smoothed volume.
References e(), PI, and madness::r2().
Referenced by V().
|
static |
Smoothed 1/r nuclear potential.
References cut, and smoothed_potential().
Referenced by converge(), and main().
double zdipole | ( | const coordT & | r | ) |
z-dipole
Referenced by propagate().
|
static |
Referenced by guess(), propagate(), V(), and Vn().
|
static |
|
static |
Referenced by main(), and propagate().
|
static |
Referenced by main().
|
static |
Referenced by madness::TDHF::apply_G(), madness::Zcis::iterate(), madness::CC2::iterate_pair(), madness::PNO::iterate_pairs_internal(), madness::CC2::iterate_singles(), madness::TDHF::iterate_vectors(), iterate_xy(), iterate_xy(), laser(), main(), main(), make_fit(), madness::CC2::solve(), madness::CC2::solve_cc2(), madness::PNO::solve_cispd(), madness::PNO::t_solve(), madness::TDHF::test(), madness::PNO::update_pno(), and madness::LowRankFunctionFactory< T, NDIM, LDIM >::Yformer().