|
MADNESS
version 0.9
|
Evolves the hydrogen atom in imaginary and also real time. More...
#include <madness/mra/mra.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 |
| class | LevelPmap |
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 |
| typedef std::shared_ptr < WorldDCPmapInterface< Key< 3 > > > | pmapT |
Functions | |
| ostream & | operator<< (ostream &s, const InputParameters &p) |
| double | xdipole (const coordT &r) |
| double | ydipole (const coordT &r) |
| double | zdipole (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, 3 > &psi, const functionT &potn) |
| void | converge (World &world, functionT &potn, functionT &psi, double &eps) |
| complex_functionT | chin_chen (const complex_functionT &expV_0, const complex_functionT &expV_tilde, const complex_functionT &expV_1, const complex_operatorT &G, const complex_functionT &psi0) |
| complex_functionT | trotter (World &world, const complex_functionT &expV, const complex_operatorT &G, 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 &v, const functionT &x, const functionT &y, const functionT &z, const functionT &dV_dz, 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 | doplot (World &world, int step, const complex_functionT &psi, double Lplot, long numpt, const char *fname) |
| void | line_plot (World &world, int step, complex_functionT &psi) |
| void | loadbal (World &world, functionT &potn, functionT &vt, functionT &dpotn_dx, functionT &dpotn_dy, functionT &dpotn_dz, functionT &dpotn_dx_sq, functionT &dpotn_dy_sq, complex_functionT &psi, complex_functionT &psi0, functionT &x, functionT &y, functionT &z) |
| void | propagate (World &world, int step0) |
| void | doit (World &world) |
| int | main (int argc, char **argv) |
Variables | |
| InputParameters | param |
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 |
| typedef std::shared_ptr< WorldDCPmapInterface< Key<3> > > pmapT |
| complex_functionT chin_chen | ( | const complex_functionT & | expV_0, |
| const complex_functionT & | expV_tilde, | ||
| const complex_functionT & | expV_1, | ||
| const complex_operatorT & | G, | ||
| const complex_functionT & | psi0 | ||
| ) |
References madness::apply(), InputParameters::thresh, madness::Function< T, NDIM >::truncate(), and madness::wall_time().
Referenced by propagate().
References madness::apply(), InputParameters::cut, madness::inner(), InputParameters::k, 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().
| void doit | ( | World & | world | ) |
References madness::LoadBalanceDeux< NDIM >::add_tree(), madness::WorldGopInterface::broadcast(), madness::WorldGopInterface::broadcast_serializable(), converge(), madness::copy(), energy(), madness::error(), madness::WorldGopInterface::fence(), madness::World::gop, guess(), InputParameters::k, InputParameters::L, madness::LoadBalanceDeux< NDIM >::load_balance(), 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_cubic_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(), InputParameters::thresh, madness::Function< T, NDIM >::truncate(), V(), madness::wall_time(), wave_function_exists(), and wave_function_store().
Referenced by main().
| void doplot | ( | World & | world, |
| int | step, | ||
| const complex_functionT & | psi, | ||
| double | Lplot, | ||
| long | numpt, | ||
| const char * | fname | ||
| ) |
References madness::print(), madness::World::rank(), and madness::wall_time().
Referenced by 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 line_plot | ( | World & | world, |
| int | step, | ||
| complex_functionT & | psi | ||
| ) |
References madness::Function< T, NDIM >::eval(), madness::f, madness::WorldGopInterface::fence(), madness::World::gop, InputParameters::Llarge, madness::World::rank(), madness::Function< T, NDIM >::reconstruct(), madness::World::size(), madness::WorldGopInterface::sum(), and wave_function_filename().
Referenced by propagate().
| void loadbal | ( | World & | world, |
| functionT & | potn, | ||
| functionT & | vt, | ||
| functionT & | dpotn_dx, | ||
| functionT & | dpotn_dy, | ||
| functionT & | dpotn_dz, | ||
| functionT & | dpotn_dx_sq, | ||
| functionT & | dpotn_dy_sq, | ||
| complex_functionT & | psi, | ||
| complex_functionT & | psi0, | ||
| functionT & | x, | ||
| functionT & | y, | ||
| functionT & | z | ||
| ) |
References madness::LoadBalanceDeux< NDIM >::add_tree(), madness::copy(), madness::WorldGopInterface::fence(), madness::World::gop, madness::LoadBalanceDeux< NDIM >::load_balance(), madness::print(), madness::World::rank(), madness::FunctionDefaults< NDIM >::set_pmap(), 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().
| ostream& operator<< | ( | ostream & | s, |
| const InputParameters & | p | ||
| ) |
References InputParameters::cut, InputParameters::F, 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 & | v, | ||
| const functionT & | x, | ||
| const functionT & | y, | ||
| const functionT & | z, | ||
| const functionT & | dV_dz, | ||
| const complex_functionT & | psi0, | ||
| const complex_functionT & | psi | ||
| ) |
| void print_stats_header | ( | World & | world | ) |
References madness::World::rank().
Referenced by propagate().
| void propagate | ( | World & | world, |
| int | step0 | ||
| ) |
References madness::Function< T, NDIM >::add_scalar(), madness::WorldGopInterface::broadcast(), c, chin_chen(), madness::Function< T, NDIM >::clear(), madness::Function< T, NDIM >::compress(), madness::copy(), InputParameters::cut, doplot(), expV(), madness::Function< T, NDIM >::fence(), G, madness::Function< T, NDIM >::gaxpy(), madness::World::gop, InputParameters::k, InputParameters::L, laser(), line_plot(), InputParameters::Llarge, loadbal(), InputParameters::Lsmall, make_exp(), madness::Function< T, NDIM >::max_depth(), InputParameters::ndump, InputParameters::nloadbal, InputParameters::nplot, InputParameters::nprint, madness::constants::pi, madness::print(), madness::print_stats(), print_stats_header(), psi(), madness::Function< T, NDIM >::size(), InputParameters::target_time, trotter(), madness::Function< T, NDIM >::truncate(), InputParameters::tScale, V(), madness::wall_time(), wave_function_large_plot_filename(), wave_function_load(), wave_function_small_plot_filename(), wave_function_store(), xdipole(), ydipole(), and zdipole().
Referenced by doit().
| complex_functionT trotter | ( | World & | world, |
| const complex_functionT & | expV, | ||
| const complex_operatorT & | G, | ||
| const complex_functionT & | psi0 | ||
| ) |
References madness::apply(), madness::print(), madness::World::rank(), 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 wave_function_filename().
Referenced by doit().
| const char* wave_function_filename | ( | int | step | ) |
References InputParameters::prefix.
Referenced by line_plot(), wave_function_exists(), wave_function_load(), and wave_function_store().
| const char* wave_function_large_plot_filename | ( | int | step | ) |
References InputParameters::prefix.
Referenced by propagate().
| 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.
Referenced by propagate().
| 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