|
MADNESS
version 0.9
|
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>
Typedefs | |
| typedef Vector< double, 3 > | coordT |
| typedef std::shared_ptr < FunctionFunctorInterface < double, 3 > > | functorT |
| typedef Function< double, 3 > | functionT |
| typedef FunctionFactory < double, 3 > | factoryT |
| typedef SeparatedConvolution < double, 3 > | operatorT |
| typedef std::shared_ptr < FunctionFunctorInterface < double_complex, 3 > > | complex_functorT |
| typedef Function < double_complex, 3 > | complex_functionT |
| typedef FunctionFactory < double_complex, 3 > | complex_factoryT |
| typedef SeparatedConvolution < double_complex, 3 > | complex_operatorT |
Functions | |
| double | zdipole (const coordT &r) |
| z-dipole More... | |
| double | laser (double t) |
| Strength of the laser field at time t ... 1 full cycle. More... | |
| template<typename T > | |
| double | energy (World &world, const Function< T, 3 > &psi, const functionT &potn) |
| Given psi and V evaluate the energy. More... | |
| 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) |
| void | converge (World &world, functionT &potn, functionT &psi, double &eps) |
| Evolve the wave function in imaginary time to converge to ground state. More... | |
| void | propagate (World &world, functionT &potn, functionT &psi0, double &eps) |
| Evolve the wave function in real time. More... | |
| int | main (int argc, char **argv) |
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 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(), madness::load_balance(), madness::norm(), op(), madness::constants::pi, madness::print(), psi(), madness::World::rank(), sqrt(), madness::Function< T, NDIM >::truncate(), 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 madness::inner(), madness::print(), madness::World::rank(), and std::tr1::T().
Referenced by converge(), main(), and propagate().
| double laser | ( | double | t | ) |
Strength of the laser field at time t ... 1 full cycle.
References madness::constants::pi, and mpfr::sin().
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, madness::Function< T, NDIM >::norm2(), 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 madness::Function< T, NDIM >::add_scalar(), c, energy(), expV(), G, madness::inner(), k, laser(), madness::load_balance(), madness::norm(), madness::Function< T, NDIM >::norm2(), madness::constants::pi, madness::print(), psi(), madness::World::rank(), madness::Function< T, NDIM >::reconstruct(), madness::Function< T, NDIM >::scale(), madness::Function< T, NDIM >::truncate(), madness::Function< T, NDIM >::unaryop(), and zdipole().
Referenced by main().
| double zdipole | ( | const coordT & | r | ) |
z-dipole
Referenced by propagate().
1.8.8