| MADNESS
    version 0.9
    | 
Evolves the hydrogen molecular ion in 4D ... 3 electron + 1 nuclear degree of freedom. More...
#include <madness/mra/mra.h>#include <madness/mra/funcimpl.h>#include <madness/mra/qmprop.h>#include <madness/mra/operator.h>#include <madness/constants.h>#include <madness/tensor/vmath.h>#include <madness/mra/lbdeux.h>
| Classes | |
| struct | InputParameters | 
| Typedefs | |
| typedef Vector< double, 4 > | coordT | 
| typedef std::shared_ptr < FunctionFunctorInterface < double, 4 > > | functorT | 
| typedef Function< double, 4 > | functionT | 
| typedef FunctionFactory < double, 4 > | factoryT | 
| typedef SeparatedConvolution < double, 4 > | operatorT | 
| typedef std::shared_ptr < FunctionFunctorInterface < double_complex, 4 > > | complex_functorT | 
| typedef Function < double_complex, 4 > | complex_functionT | 
| typedef FunctionFactory < double_complex, 4 > | complex_factoryT | 
| typedef Convolution1D < double_complex > | complex_operatorT | 
| typedef std::shared_ptr < WorldDCPmapInterface< Key< 4 > > > | pmapT | 
| Functions | |
| double | real (double a) | 
| std::ostream & | operator<< (std::ostream &s, const InputParameters &p) | 
| double | xdipole (const coordT &r) | 
| double | ydipole (const coordT &r) | 
| double | zdipole (const coordT &r) | 
| double | bond_length (const coordT &r) | 
| double | laser (double t) | 
| double | myreal (double t) | 
| double | myreal (const double_complex &t) | 
| template<typename T > | |
| double | energy (World &world, const Function< T, 4 > &psi, const functionT &pote, const functionT &potn, const functionT &potf) | 
| double | fred (const coordT &r) | 
| double | delsqfred (const coordT &r) | 
| void | testbsh (World &world) | 
| void | converge (World &world, functionT &potn, functionT &pote, functionT &pot, functionT &psi, double &eps) | 
| complex_functionT | APPLY (const complex_operatorT *Ge, const complex_operatorT *Gn, const complex_functionT &psi) | 
| complex_functionT | trotter (World &world, const complex_functionT &expV, const complex_operatorT *Ge, const complex_operatorT *Gn, const complex_functionT &psi0) | 
| complex_functionT | make_exp (double t, const functionT &v) | 
| void | print_stats_header (World &world) | 
| void | print_stats (World &world, int step, double t, const functionT &pote, const functionT &potn, const functionT &potf, const functionT &x, const functionT &y, const functionT &z, const functionT &R, const complex_functionT &psi0, const complex_functionT &psi) | 
| const char * | wave_function_filename (int step) | 
| const char * | wave_function_small_plot_filename (int step) | 
| const char * | wave_function_large_plot_filename (int step) | 
| complex_functionT | wave_function_load (World &world, int step) | 
| void | wave_function_store (World &world, int step, const complex_functionT &psi) | 
| bool | wave_function_exists (World &world, int step) | 
| void | loadbal (World &world, functionT &pote, functionT &potn, functionT &pot, functionT &vt, complex_functionT &psi, complex_functionT &psi0, functionT &x, functionT &y, functionT &z, functionT &R) | 
| template<typename T > | |
| void | initial_loadbal (World &world, functionT &pote, functionT &potn, functionT &pot, Function< T, 4 > &psi) | 
| void | propagate (World &world, functionT &pote, functionT &potn, functionT &pot, int step0) | 
| void | doit (World &world) | 
| int | main (int argc, char **argv) | 
| Variables | |
| InputParameters | param | 
Evolves the hydrogen molecular ion in 4D ... 3 electron + 1 nuclear degree of freedom.
| typedef FunctionFactory<double_complex,4> complex_factoryT | 
| typedef Function<double_complex,4> complex_functionT | 
| typedef Convolution1D<double_complex> complex_operatorT | 
| typedef FunctionFactory<double,4> factoryT | 
| typedef std::shared_ptr< FunctionFunctorInterface<double,4> > functorT | 
| typedef SeparatedConvolution<double,4> operatorT | 
| typedef std::shared_ptr< WorldDCPmapInterface< Key<4> > > pmapT | 
| complex_functionT APPLY | ( | const complex_operatorT * | Ge, | 
| const complex_operatorT * | Gn, | ||
| const complex_functionT & | psi | ||
| ) | 
| double bond_length | ( | const coordT & | r | ) | 
Referenced by propagate().
| void converge | ( | World & | world, | 
| functionT & | potn, | ||
| functionT & | pote, | ||
| functionT & | pot, | ||
| functionT & | psi, | ||
| double & | eps | ||
| ) | 
References madness::apply(), InputParameters::cut, energy(), madness::inner(), max, madness::norm(), madness::Function< T, NDIM >::norm2(), op(), madness::print(), psi(), madness::World::rank(), madness::Function< T, NDIM >::scale(), sqrt(), InputParameters::thresh, and madness::wall_time().
Referenced by doit().
| double delsqfred | ( | const coordT & | r | ) | 
References mpfr::exp().
Referenced by testbsh().
| void doit | ( | World & | world | ) | 
References madness::WorldGopInterface::broadcast(), madness::WorldGopInterface::broadcast_serializable(), converge(), energy(), madness::error(), madness::WorldGopInterface::fence(), madness::World::gop, guess(), initial_loadbal(), InputParameters::k, InputParameters::L, madness::Function< T, NDIM >::norm2(), madness::print(), propagate(), psi(), madness::World::rank(), InputParameters::read(), InputParameters::safety, madness::Function< T, NDIM >::scale(), madness::FunctionDefaults< NDIM >::set_apply_randomize(), madness::FunctionDefaults< NDIM >::set_autorefine(), madness::FunctionDefaults< NDIM >::set_cell(), madness::FunctionDefaults< NDIM >::set_initial_level(), madness::FunctionDefaults< NDIM >::set_k(), madness::FunctionDefaults< NDIM >::set_pmap(), madness::FunctionDefaults< NDIM >::set_thresh(), madness::FunctionDefaults< NDIM >::set_truncate_mode(), madness::FunctionDefaults< NDIM >::set_truncate_on_project(), InputParameters::thresh, madness::Function< T, NDIM >::truncate(), madness::wall_time(), wave_function_exists(), and wave_function_store().
Referenced by main().
| double energy | ( | World & | world, | 
| const Function< T, 4 > & | psi, | ||
| const functionT & | pote, | ||
| const functionT & | potn, | ||
| const functionT & | potf | ||
| ) | 
References madness::Function< T, NDIM >::clear(), madness::Function< T, NDIM >::compress(), madness::WorldGopInterface::fence(), madness::World::gop, madness::inner(), myreal(), madness::World::rank(), madness::real(), and madness::Function< T, NDIM >::reconstruct().
Referenced by converge(), doit(), and print_stats().
| double fred | ( | const coordT & | r | ) | 
| void initial_loadbal | ( | World & | world, | 
| functionT & | pote, | ||
| functionT & | potn, | ||
| functionT & | pot, | ||
| Function< T, 4 > & | psi | ||
| ) | 
References madness::LoadBalanceDeux< NDIM >::add_tree(), madness::WorldGopInterface::fence(), madness::World::gop, madness::LoadBalanceDeux< NDIM >::load_balance(), madness::print(), madness::World::rank(), madness::FunctionDefaults< NDIM >::redistribute(), and madness::World::size().
Referenced by doit(), and propagate().
| double laser | ( | double | t | ) | 
References InputParameters::F, InputParameters::ncycle, InputParameters::omega, madness::constants::pi, and mpfr::sin().
Referenced by print_stats(), and propagate().
| void loadbal | ( | World & | world, | 
| functionT & | pote, | ||
| functionT & | potn, | ||
| functionT & | pot, | ||
| functionT & | vt, | ||
| complex_functionT & | psi, | ||
| complex_functionT & | psi0, | ||
| functionT & | x, | ||
| functionT & | y, | ||
| functionT & | z, | ||
| functionT & | R | ||
| ) | 
References madness::LoadBalanceDeux< NDIM >::add_tree(), madness::WorldGopInterface::fence(), madness::World::gop, madness::LoadBalanceDeux< NDIM >::load_balance(), madness::print(), madness::World::rank(), madness::FunctionDefaults< NDIM >::redistribute(), and madness::World::size().
Referenced by propagate().
| int main | ( | int | argc, | 
| char ** | argv | ||
| ) | 
| complex_functionT make_exp | ( | double | t, | 
| const functionT & | v | ||
| ) | 
| double myreal | ( | double | t | ) | 
Referenced by energy().
| double myreal | ( | const double_complex & | t | ) | 
References madness::real(), and real().
| std::ostream& operator<< | ( | std::ostream & | s, | 
| const InputParameters & | p | ||
| ) | 
References InputParameters::cut, InputParameters::F, InputParameters::iState, InputParameters::k, InputParameters::L, InputParameters::Llarge, InputParameters::Lsmall, InputParameters::ncycle, InputParameters::ndump, InputParameters::nio, InputParameters::nloadbal, InputParameters::nplot, InputParameters::nprint, InputParameters::omega, InputParameters::prefix, InputParameters::R, InputParameters::thresh, InputParameters::tScale, and InputParameters::Z.
| void print_stats | ( | World & | world, | 
| int | step, | ||
| double | t, | ||
| const functionT & | pote, | ||
| const functionT & | potn, | ||
| const functionT & | potf, | ||
| const functionT & | x, | ||
| const functionT & | y, | ||
| const functionT & | z, | ||
| const functionT & | R, | ||
| const complex_functionT & | psi0, | ||
| const complex_functionT & | psi | ||
| ) | 
| void print_stats_header | ( | World & | world | ) | 
References madness::World::rank().
Referenced by propagate().
References bond_length(), madness::WorldGopInterface::broadcast(), c, InputParameters::cut, expV(), madness::WorldGopInterface::fence(), madness::World::gop, initial_loadbal(), InputParameters::k, InputParameters::L, laser(), loadbal(), make_exp(), madness::Function< T, NDIM >::max_depth(), InputParameters::ndump, InputParameters::nloadbal, InputParameters::nprint, madness::constants::pi, madness::print(), madness::print_stats(), print_stats_header(), psi(), madness::qm_1d_free_particle_propagator(), madness::World::rank(), madness::Function< T, NDIM >::size(), InputParameters::target_time, trotter(), madness::Function< T, NDIM >::truncate(), InputParameters::tScale, madness::wall_time(), wave_function_load(), wave_function_store(), xdipole(), ydipole(), and zdipole().
Referenced by doit().
| double real | ( | double | a | ) | 
References a().
| void testbsh | ( | World & | world | ) | 
| complex_functionT trotter | ( | World & | world, | 
| const complex_functionT & | expV, | ||
| const complex_operatorT * | Ge, | ||
| const complex_operatorT * | Gn, | ||
| const complex_functionT & | psi0 | ||
| ) | 
References madness::LoadBalanceDeux< NDIM >::add_tree(), madness::APPLY(), madness::copy(), madness::FunctionDefaults< NDIM >::get_pmap(), madness::LoadBalanceDeux< NDIM >::load_balance(), madness::print(), madness::World::rank(), madness::FunctionDefaults< NDIM >::set_pmap(), madness::Function< T, NDIM >::size(), InputParameters::thresh, and madness::Function< T, NDIM >::truncate().
Referenced by propagate().
| bool wave_function_exists | ( | World & | world, | 
| int | step | ||
| ) | 
References madness::archive::BaseParallelArchive< BinaryFstreamInputArchive >::exists(), and wave_function_filename().
Referenced by doit().
| const char* wave_function_filename | ( | int | step | ) | 
References InputParameters::prefix, and prefix.
Referenced by wave_function_exists(), wave_function_load(), and wave_function_store().
| const char* wave_function_large_plot_filename | ( | int | step | ) | 
References InputParameters::prefix.
| complex_functionT wave_function_load | ( | World & | world, | 
| int | step | ||
| ) | 
References psi(), and wave_function_filename().
Referenced by propagate().
| const char* wave_function_small_plot_filename | ( | int | step | ) | 
References InputParameters::prefix.
| void wave_function_store | ( | World & | world, | 
| int | step, | ||
| const complex_functionT & | psi | ||
| ) | 
References InputParameters::nio, psi(), and wave_function_filename().
Referenced by doit(), and propagate().
| double xdipole | ( | const coordT & | r | ) | 
Referenced by propagate().
| double ydipole | ( | const coordT & | r | ) | 
Referenced by propagate().
| double zdipole | ( | const coordT & | r | ) | 
Referenced by propagate().
| InputParameters param | 
 1.8.8
 1.8.8