MADNESS  version 0.9
Classes | Typedefs | Functions | Variables
tdse1.cc File Reference

Evolves the 1D 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 dependency graph for tdse1.cc:

Classes

struct  InputParameters
 
class  LevelPmap
 

Typedefs

typedef Vector< double, NDIMcoordT
 
typedef std::shared_ptr
< FunctionFunctorInterface
< double, NDIM > > 
functorT
 
typedef Function< double, NDIMfunctionT
 
typedef FunctionFactory
< double, NDIM
factoryT
 
typedef SeparatedConvolution
< double, NDIM
operatorT
 
typedef std::shared_ptr
< FunctionFunctorInterface
< double_complex, NDIM > > 
complex_functorT
 
typedef Function
< double_complex, NDIM
complex_functionT
 
typedef FunctionFactory
< double_complex, NDIM
complex_factoryT
 
typedef SeparatedConvolution
< double_complex, NDIM
complex_operatorT
 
typedef std::shared_ptr
< WorldDCPmapInterface< Key
< NDIM > > > 
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)
 
double energy (World &world, const complex_functionT &psi, const functionT &potn)
 
void converge (World &world, functionT &potn, complex_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 propagate (World &world, int step0)
 
void doit (World &world)
 
int main (int argc, char **argv)
 

Variables

const int NDIM = 1
 
const bool debug = false
 
InputParameters param
 

Detailed Description

Evolves the 1D hydrogen atom in imaginary and also real time.

Typedef Documentation

typedef Vector<double,NDIM> coordT
typedef FunctionFactory<double,NDIM> factoryT
typedef Function<double,NDIM> functionT

Function Documentation

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 
)
void converge ( World world,
functionT potn,
complex_functionT psi,
double &  eps 
)
void doit ( World world)
void doplot ( World world,
int  step,
const complex_functionT psi,
double  Lplot,
long  numpt,
const char *  fname 
)
double energy ( World world,
const complex_functionT psi,
const functionT potn 
)
double laser ( double  t)
void line_plot ( World world,
int  step,
complex_functionT psi 
)
int main ( int  argc,
char **  argv 
)
complex_functionT make_exp ( double  t,
const functionT v 
)
double myreal ( double  t)

Referenced by converge(), and energy().

double myreal ( const double_complex t)

References madness::real().

ostream& operator<< ( ostream &  s,
const InputParameters p 
)
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 
)
complex_functionT trotter ( World world,
const complex_functionT expV,
const complex_operatorT G,
const complex_functionT psi0 
)
bool wave_function_exists ( World world,
int  step 
)

References wave_function_filename().

Referenced by doit().

const char* wave_function_filename ( int  step)
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().

Variable Documentation

const bool debug = false
const int NDIM = 1

Referenced by madness::FunctionImpl< T, NDIM >::add_scalar_inplace(), madness::SeparatedConvolution< T, NDIM >::apply(), madness::SeparatedConvolution< T, NDIM >::apply2(), madness::Displacements< NDIM >::bmax_default(), madness::BoundaryConditions< 6 >::BoundaryConditions(), madness::Key< OPDIM >::break_apart(), madness::FunctionImpl< T, NDIM >::broaden(), madness::GFit< T, NDIM >::BSHFit(), madness::FunctionImpl< T, NDIM >::child_patch(), madness::FunctionImpl< Q, NDIM >::coeffs2values(), madness::FunctionImpl< T, NDIM >::coeffs_for_jun(), madness::FunctionImpl< T, NDIM >::compress_spawn(), madness::Derivative< T, NDIM >::Derivative(), madness::Key< OPDIM >::distsq(), madness::FunctionImpl< Q, NDIM >::do_apply(), madness::FunctionImpl< Q, NDIM >::do_apply_directed_screening(), madness::FunctionImpl< Q, NDIM >::do_apply_kernel3(), madness::FunctionImpl< Q, NDIM >::do_binary_op(), madness::DerivativeBase< T, NDIM >::do_diff1(), madness::FunctionImpl< Q, NDIM >::do_mul(), madness::FunctionImpl< T, NDIM >::do_print_grid(), madness::FunctionImpl< T, NDIM >::do_print_tree_graphviz(), madness::FunctionImpl< T, NDIM >::downsample(), energy(), madness::FunctionImpl< Q, NDIM >::err_box(), madness::Function< double, 6 >::eval(), madness::FunctionImpl< T, NDIM >::eval(), madness::Function< double, 6 >::eval_cube(), madness::FunctionImpl< T, NDIM >::eval_cube(), madness::Function< double, 6 >::eval_local_only(), madness::FunctionImpl< T, NDIM >::eval_local_only(), madness::FunctionImpl< T, NDIM >::eval_plot_cube(), madness::Function< double, 6 >::evaldepthpt(), madness::FunctionImpl< T, NDIM >::evaldepthpt(), madness::Function< double, 6 >::evalR(), madness::FunctionImpl< T, NDIM >::evalR(), Expikr::Expikr(), madness::fcube(), madness::FunctionImpl< Q, NDIM >::fcube_for_mul(), madness::FGFactory< T, NDIM >::FGFactory(), madness::VectorSpace< T, NDIM >::gaxpy(), madness::gradient_operator(), madness::FunctionImpl< T, NDIM >::hartree_op< LDIM, leaf_opT >::hartree_op(), madness::VectorSpace< T, NDIM >::inner(), madness::FunctionImpl< Q, NDIM >::inner_ext_recursive(), madness::Key< OPDIM >::is_farther_out_than(), madness::Key< OPDIM >::is_neighbor_of(), madness::BoundaryConditions< 6 >::is_periodic(), madness::Key< OPDIM >::Key(), kinetic_energy_matrix(), kinetic_energy_matrix2(), kinetic_energy_matrix_slow(), madness::Function< double, 6 >::load(), main(), madness::Function< double, 6 >::mapdim(), madness::EigSolver< T, NDIM >::matrix_element(), madness::Key< OPDIM >::merge_with(), madness::FunctionImpl< Q, NDIM >::mul(), madness::multiply(), madness::FunctionImpl< T, NDIM >::neighbor(), madness::VectorSpace< T, NDIM >::norm(), madness::FunctionImpl< T, NDIM >::norm_tree_spawn(), madness::FunctionImpl< Q, NDIM >::NS_fcube_for_mul(), madness::FunctionImpl< Q, NDIM >::NScoeffs2values(), ParserHandler< T, NDIM >::operator()(), madness::ComplexExp< NDIM >::operator()(), BoundWF::operator()(), Expikr::operator()(), Gaussian::operator()(), madness::Function< double, 6 >::operator()(), madness::hartree_leaf_op< T, NDIM >::operator()(), madness::FunctionImpl< T, NDIM >::do_check_symmetry_local::operator()(), madness::FunctionImpl< T, NDIM >::do_mapdim::operator()(), madness::FunctionImpl< T, NDIM >::do_unary_op_value_inplace< opT >::operator()(), madness::FunctionImpl< T, NDIM >::Vphi_op_NS< opT, LDIM >::operator()(), madness::operator+(), madness::KeyChildIterator< NDIM >::operator++(), madness::Function< double, 6 >::operator+=(), madness::operator-(), madness::Function< double, 6 >::operator-=(), madness::BoundaryConditions< 6 >::operator=(), madness::Key< OPDIM >::parent(), madness::FunctionImpl< T, NDIM >::parent_to_child(), ParserHandler< T, NDIM >::ParserHandler(), madness::PeriodicBSHOp(), madness::PeriodicBSHOpPtr(), madness::PeriodicCoulombOp(), madness::PeriodicCoulombOpPtr(), madness::FunctionImpl< T, NDIM >::plot_cube_kernel(), madness::plot_line(), madness::plotdx(), plotvtk(), madness::plotvtk_begin(), madness::plotvtk_data(), madness::plotvtk_end(), madness::FunctionImpl< T, NDIM >::print_stats(), madness::FunctionImpl< T, NDIM >::project(), madness::Function< double, 6 >::project_out(), madness::FunctionImpl< Q, NDIM >::read_grid(), madness::FunctionImpl< Q, NDIM >::read_grid2(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::recursive_apply_op(), madness::SeparatedConvolution< T, NDIM >::SeparatedConvolution(), InputParameters::serialize(), madness::FunctionDefaults< NDIM >::set_defaults(), madness::SCF::set_protocol(), simpt2key(), madness::FunctionImpl< T, NDIM >::simpt2key(), madness::FunctionImpl< T, NDIM >::size(), madness::Function< double, 6 >::store(), madness::symmetrize(), madness::Key< OPDIM >::thisKeyContains(), madness::FunctionImpl< T, NDIM >::trace_local(), madness::FunctionImpl< T, NDIM >::truncate_op(), madness::FunctionImpl< T, NDIM >::truncate_reconstructed_spawn(), madness::FunctionImpl< T, NDIM >::truncate_spawn(), madness::FunctionImpl< T, NDIM >::truncate_tol(), madness::FunctionImpl< T, NDIM >::upsample(), madness::FunctionImpl< Q, NDIM >::values2coeffs(), and madness::FunctionImpl< Q, NDIM >::values2NScoeffs().