MADNESS
version 0.9
|
Example propagation of TDSE (translating atom) using various propagators. More...
#include <madness/mra/mra.h>
#include <madness/mra/qmprop.h>
#include <madness/mra/operator.h>
#include <madness/constants.h>
#include <string>
Macros | |
#define | NO_GENTENSOR |
#define | MAKE_PROPAGATOR(world, t) qm_1d_free_particle_propagator(k, c, t, 2.0*L) |
Typedefs | |
typedef Convolution1D < double_complex > | complex_operatorT |
typedef std::shared_ptr < complex_operatorT > | pcomplex_operatorT |
Functions | |
complex_function_1d | APPLY (complex_operatorT *q1d, const complex_function_1d &psi) |
double | atom_position () |
double_complex | psi_exact (const coord_1d &r) |
double | V (const coord_1d &r) |
double | dVsq (const coord_1d &r) |
complex_function_1d | expV (World &world, double vcoeff, double dcoeff) |
complex_function_1d | sympgrad4 (World &world, const complex_function_1d &psi0, const double tstep, const double xi, const double chi) |
complex_function_1d | sympgrad6 (World &world, const complex_function_1d &psi0, const double tstep) |
complex_function_1d | trotter (World &world, const complex_function_1d &psi0, const double tstep, complex_operatorT *G0=0) |
void | print_info (World &world, const complex_function_1d &psi, int step) |
double | icoeff (const int np, const int j, const double t) |
template<typename T > | |
T | myp (const std::vector< T > &ps, const double t) |
complex_function_1d | q_c (World &world, const int np, const complex_function_1d psi0, const double tstep) |
int | main (int argc, char **argv) |
Variables | |
int | np |
Tensor< double > | B |
Tensor< double > | tc |
pcomplex_operatorT | G |
std::vector< pcomplex_operatorT > | Gs |
std::vector< pcomplex_operatorT > | Gss |
std::vector< pcomplex_operatorT > | Gtrs |
const int | maxiter = 20 |
double | fix_iter_tol = thresh*10.0 |
Example propagation of TDSE (translating atom) using various propagators.
Referenced by main(), sympgrad4(), sympgrad6(), and trotter().
#define NO_GENTENSOR |
typedef Convolution1D<double_complex> complex_operatorT |
complex_function_1d APPLY | ( | complex_operatorT * | q1d, |
const complex_function_1d & | psi | ||
) |
double atom_position | ( | ) |
Referenced by dVsq(), print_info(), psi_exact(), and V().
double dVsq | ( | const coord_1d & | r | ) |
References atom_position(), mpfr::exp(), and mpfr::fabs().
Referenced by expV().
complex_function_1d expV | ( | World & | world, |
double | vcoeff, | ||
double | dcoeff | ||
) |
References madness::Function< T, NDIM >::compress(), dVsq(), madness::Function< T, NDIM >::gaxpy(), madness::Function< T, NDIM >::scale(), madness::Function< T, NDIM >::truncate(), madness::Function< T, NDIM >::unaryop(), and V().
Referenced by converge(), make_exp(), propagate(), sympgrad4(), sympgrad6(), and trotter().
int main | ( | int | argc, |
char ** | argv | ||
) |
References madness::WorldGopInterface::broadcast(), SafeMPI::COMM_WORLD, madness::finalize(), madness::World::gop, Gs, Gss, Gtrs, madness::initialize(), k, L, MAKE_PROPAGATOR, np, madness::plot_line(), madness::print(), print_info(), psi(), psi_exact(), q_c(), madness::World::rank(), 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_thresh(), madness::FunctionDefaults< NDIM >::set_truncate_mode(), madness::startup(), sympgrad4(), sympgrad6(), thresh, trotter(), and madness::Function< T, NDIM >::truncate().
T myp | ( | const std::vector< T > & | ps, |
const double | t | ||
) |
References icoeff(), np, and std::tr1::T().
Referenced by q_c().
void print_info | ( | World & | world, |
const complex_function_1d & | psi, | ||
int | step | ||
) |
double_complex psi_exact | ( | const coord_1d & | r | ) |
References madness::arg(), atom_position(), mpfr::exp(), mpfr::fabs(), and psi().
Referenced by main(), and print_info().
complex_function_1d q_c | ( | World & | world, |
const int | np, | ||
const complex_function_1d | psi0, | ||
const double | tstep | ||
) |
References madness::APPLY(), madness::compress(), madness::Function< T, NDIM >::compress(), fix_iter_tol, madness::gaxpy(), madness::Function< T, NDIM >::gaxpy(), madness::tr1::shptr::shared_ptr< T >::get(), Gs, Gss, Gtrs, I(), k, maxiter, myp(), madness::norm2(), np, madness::World::rank(), madness::scale(), madness::sub(), thresh, trotter(), madness::Function< T, NDIM >::truncate(), and V().
Referenced by main().
complex_function_1d sympgrad4 | ( | World & | world, |
const complex_function_1d & | psi0, | ||
const double | tstep, | ||
const double | xi, | ||
const double | chi | ||
) |
References madness::APPLY(), expV(), MAKE_PROPAGATOR, psi(), and madness::Function< T, NDIM >::truncate().
Referenced by main().
complex_function_1d sympgrad6 | ( | World & | world, |
const complex_function_1d & | psi0, | ||
const double | tstep | ||
) |
References madness::APPLY(), expV(), MAKE_PROPAGATOR, psi(), and madness::Function< T, NDIM >::truncate().
Referenced by main().
complex_function_1d trotter | ( | World & | world, |
const complex_function_1d & | psi0, | ||
const double | tstep, | ||
complex_operatorT * | G0 = 0 |
||
) |
References madness::APPLY(), expV(), MAKE_PROPAGATOR, psi(), and madness::Function< T, NDIM >::truncate().
double V | ( | const coord_1d & | r | ) |
References atom_position(), mpfr::exp(), and mpfr::fabs().
Referenced by expV(), print_info(), and q_c().
Tensor<double> B |
Referenced by DirichletCondIntOp< NDIM >::action(), main(), propagate(), and madness::SCF::propagate().
std::vector<pcomplex_operatorT> Gs |
std::vector<pcomplex_operatorT> Gss |
std::vector<pcomplex_operatorT> Gtrs |
const int maxiter = 20 |
Referenced by q_c().
int np |
Referenced by SafeMPI::Intracomm::binary_tree_info(), icoeff(), main(), myp(), and q_c().
Tensor<double> tc |