MADNESS  version 0.9
Macros | Typedefs | Functions | Variables
tdse1d.cc File Reference

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>
Include dependency graph for tdse1d.cc:

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 >
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_operatorTGs
 
std::vector< pcomplex_operatorTGss
 
std::vector< pcomplex_operatorTGtrs
 
const int maxiter = 20
 
double fix_iter_tol = thresh*10.0
 

Detailed Description

Example propagation of TDSE (translating atom) using various propagators.

Macro Definition Documentation

#define MAKE_PROPAGATOR (   world,
 
)    qm_1d_free_particle_propagator(k, c, t, 2.0*L)

Referenced by main(), sympgrad4(), sympgrad6(), and trotter().

#define NO_GENTENSOR

Typedef Documentation

Function Documentation

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 
)
double icoeff ( const int  np,
const int  j,
const double  t 
)

References np.

Referenced by myp().

int main ( int  argc,
char **  argv 
)
template<typename T >
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)
complex_function_1d q_c ( World world,
const int  np,
const complex_function_1d  psi0,
const double  tstep 
)
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 
)
double V ( const coord_1d r)

References atom_position(), mpfr::exp(), and mpfr::fabs().

Referenced by expV(), print_info(), and q_c().

Variable Documentation

Tensor<double> B
double fix_iter_tol = thresh*10.0

Referenced by q_c().

std::vector<pcomplex_operatorT> Gs

Referenced by main(), and q_c().

std::vector<pcomplex_operatorT> Gss

Referenced by main(), and q_c().

std::vector<pcomplex_operatorT> Gtrs

Referenced by main(), and q_c().

const int maxiter = 20

Referenced by q_c().

int np
Tensor<double> tc