MADNESS  version 0.9
Typedefs | Functions
examples/tdse.cc File Reference

Evolves the hydrogen atom in imaginary and also real time. More...

#include <madness/mra/lbdeux.h>
#include <madness/mra/mra.h>
#include <madness/mra/qmprop.h>
#include <madness/mra/operator.h>
#include <madness/constants.h>
Include dependency graph for examples/tdse.cc:

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
 

Functions

double zdipole (const coordT &r)
 z-dipole More...
 
double laser (double t)
 Strength of the laser field at time t ... 1 full cycle. More...
 
template<typename T >
double energy (World &world, const Function< T, 3 > &psi, const functionT &potn)
 Given psi and V evaluate the energy. More...
 
template<typename T , int NDIM>
double lbcost (const Key< NDIM > &key, const FunctionNode< T, NDIM > &node)
 
template<typename T , std::size_t NDIM>
void load_balance (World &world, const madness::Function< T, NDIM > &psi)
 
void converge (World &world, functionT &potn, functionT &psi, double &eps)
 Evolve the wave function in imaginary time to converge to ground state. More...
 
void propagate (World &world, functionT &potn, functionT &psi0, double &eps)
 Evolve the wave function in real time. More...
 
int main (int argc, char **argv)
 

Detailed Description

Evolves the hydrogen atom in imaginary and also real time.

Typedef Documentation

typedef Vector<double,3> coordT
typedef FunctionFactory<double,3> factoryT
typedef Function<double,3> functionT
typedef SeparatedConvolution<double,3> operatorT

Function Documentation

void converge ( World world,
functionT potn,
functionT psi,
double &  eps 
)
template<typename T >
double energy ( World world,
const Function< T, 3 > &  psi,
const functionT potn 
)

Given psi and V evaluate the energy.

References madness::inner(), madness::print(), madness::World::rank(), and std::tr1::T().

Referenced by converge(), main(), and propagate().

double laser ( double  t)

Strength of the laser field at time t ... 1 full cycle.

References madness::constants::pi, and mpfr::sin().

Referenced by propagate().

template<typename T , int NDIM>
double lbcost ( const Key< NDIM > &  key,
const FunctionNode< T, NDIM > &  node 
)
template<typename T , std::size_t NDIM>
void load_balance ( World world,
const madness::Function< T, NDIM > &  psi 
)
int main ( int  argc,
char **  argv 
)
void propagate ( World world,
functionT potn,
functionT psi0,
double &  eps 
)
double zdipole ( const coordT r)

z-dipole

Referenced by propagate().