MADNESS 0.10.1
tdse4.cc File Reference

Evolves the hydrogen molecular ion in 4D ... 3 electron + 1 nuclear degree of freedom. More...

Include dependency graph for tdse4.cc:

Classes

struct  InputParameters
struct  lbcost< T, NDIM >
struct  unaryexp< T, NDIM >
struct  unaryexp< double_complex, NDIM >

Typedefs

typedef FunctionFactory< double_complex, 4 > complex_factoryT
typedef Function< double_complex, 4 > complex_functionT
typedef std::shared_ptr< FunctionFunctorInterface< double_complex, 4 > > complex_functorT
typedef Convolution1D< double_complex > complex_operatorT
typedef Vector< double, 4 > coordT
typedef FunctionFactory< double, 4 > factoryT
typedef Function< double, 4 > functionT
typedef std::shared_ptr< FunctionFunctorInterface< double, 4 > > functorT
typedef SeparatedConvolution< double, 4 > operatorT
typedef std::shared_ptr< WorldDCPmapInterface< Key< 4 > > > pmapT

Functions

complex_functionT APPLY (const complex_operatorT *Ge, const complex_operatorT *Gn, const complex_functionT &psi)
double bond_length (const coordT &r)
void converge (World &world, functionT &potn, functionT &pote, functionT &pot, functionT &psi, double &eps)
double delsqfred (const coordT &r)
void doit (World &world)
template<typename T>
double energy (World &world, const Function< T, 4 > &psi, const functionT &pote, const functionT &potn, const functionT &potf)
double fred (const coordT &r)
static double guess (const coordT &r)
template<typename T>
void initial_loadbal (World &world, functionT &pote, functionT &potn, functionT &pot, Function< T, 4 > &psi)
double laser (double t)
void loadbal (World &world, functionT &pote, functionT &potn, functionT &pot, functionT &vt, complex_functionT &psi, complex_functionT &psi0, functionT &x, functionT &y, functionT &z, functionT &R)
int main (int argc, char **argv)
complex_functionT make_exp (double t, const functionT &v)
double myreal (const double_complex &t)
double myreal (double t)
std::ostream & operator<< (std::ostream &s, const InputParameters &p)
void print_stats (World &world, int step, double t, const functionT &pote, const functionT &potn, const functionT &potf, const functionT &x, const functionT &y, const functionT &z, const functionT &R, const complex_functionT &psi0, const complex_functionT &psi)
void print_stats_header (World &world)
void propagate (World &world, functionT &pote, functionT &potn, functionT &pot, int step0)
double real (double a)
static double smoothed_potential (double r)
void testbsh (World &world)
complex_functionT trotter (World &world, const complex_functionT &expV, const complex_operatorT *Ge, const complex_operatorT *Gn, const complex_functionT &psi0)
static double Ve (const coordT &r)
static double Vn (const coordT &r)
bool wave_function_exists (World &world, int step)
const char * wave_function_filename (int step)
const char * wave_function_large_plot_filename (int step)
complex_functionT wave_function_load (World &world, int step)
const char * wave_function_small_plot_filename (int step)
void wave_function_store (World &world, int step, const complex_functionT &psi)
double xdipole (const coordT &r)
double ydipole (const coordT &r)
double zdipole (const coordT &r)

Variables

InputParameters param
static const double R0 = 2.04
static const double reduced_mass = 0.5*constants::proton_electron_mass_ratio
static const double s0 = sqrtmu*R0
static const double sqrtmu = sqrt(reduced_mass)
static const double Z =1.0
static double zero_field_time

Detailed Description

Evolves the hydrogen molecular ion in 4D ... 3 electron + 1 nuclear degree of freedom.

Typedef Documentation

◆ complex_factoryT

◆ complex_functionT

◆ complex_functorT

typedef std::shared_ptr< FunctionFunctorInterface<double_complex,4> > complex_functorT

◆ complex_operatorT

◆ coordT

typedef Vector<double,4> coordT

◆ factoryT

typedef FunctionFactory<double,4> factoryT

◆ functionT

typedef Function<double,4> functionT

◆ functorT

typedef std::shared_ptr< FunctionFunctorInterface<double,4> > functorT

◆ operatorT

typedef SeparatedConvolution<double,4> operatorT

◆ pmapT

typedef std::shared_ptr< WorldDCPmapInterface< Key<4> > > pmapT

Function Documentation

◆ APPLY()

◆ bond_length()

double bond_length ( const coordT & r)

References R0, and sqrtmu.

Referenced by propagate().

◆ converge()

◆ delsqfred()

double delsqfred ( const coordT & r)

References a.

Referenced by testbsh().

◆ doit()

◆ energy()

◆ fred()

◆ guess()

double guess ( const coordT & r)
static

References a, alpha, beta, R, R0, R2, sqrtmu, and Z.

Referenced by doit().

◆ initial_loadbal()

◆ laser()

double laser ( double t)

References param, and madness::constants::pi.

Referenced by print_stats(), and propagate().

◆ loadbal()

◆ main()

◆ make_exp()

complex_functionT make_exp ( double t,
const functionT & v )

References expV(), and v.

Referenced by propagate().

◆ myreal() [1/2]

double myreal ( const double_complex & t)

References madness::real().

◆ myreal() [2/2]

double myreal ( double t)

Referenced by energy().

◆ operator<<()

std::ostream & operator<< ( std::ostream & s,
const InputParameters & p )

References p().

◆ print_stats()

void print_stats ( World & world,
int step,
double t,
const functionT & pote,
const functionT & potn,
const functionT & potf,
const functionT & x,
const functionT & y,
const functionT & z,
const functionT & R,
const complex_functionT & psi0,
const complex_functionT & psi )

◆ print_stats_header()

void print_stats_header ( World & world)

References madness::World::rank().

Referenced by propagate().

◆ propagate()

◆ real()

double real ( double a)

◆ smoothed_potential()

double smoothed_potential ( double r)
static

References e(), and madness::r2().

Referenced by Ve(), and Vn().

◆ testbsh()

◆ trotter()

◆ Ve()

double Ve ( const coordT & r)
static

References param, R, R0, smoothed_potential(), sqrtmu, and Z.

Referenced by doit(), and main().

◆ Vn()

double Vn ( const coordT & r)
static

References cut, R, R0, smoothed_potential(), and sqrtmu.

Referenced by doit().

◆ wave_function_exists()

bool wave_function_exists ( World & world,
int step )

References wave_function_filename().

Referenced by doit().

◆ wave_function_filename()

const char * wave_function_filename ( int step)

◆ wave_function_large_plot_filename()

const char * wave_function_large_plot_filename ( int step)

References param.

◆ wave_function_load()

complex_functionT wave_function_load ( World & world,
int step )

References psi(), and wave_function_filename().

Referenced by propagate().

◆ wave_function_small_plot_filename()

const char * wave_function_small_plot_filename ( int step)

References param.

◆ wave_function_store()

void wave_function_store ( World & world,
int step,
const complex_functionT & psi )

References param, psi(), and wave_function_filename().

Referenced by doit(), and propagate().

◆ xdipole()

double xdipole ( const coordT & r)

◆ ydipole()

double ydipole ( const coordT & r)

◆ zdipole()

double zdipole ( const coordT & r)

Variable Documentation

◆ param

◆ R0

const double R0 = 2.04
static

◆ reduced_mass

const double reduced_mass = 0.5*constants::proton_electron_mass_ratio
static

Referenced by InputParameters::read().

◆ s0

const double s0 = sqrtmu*R0
static

Referenced by doit(), madness::GenTensor< T >::gaxpy(), madness::inner_result(), main(), madness::Convolution1D< double_complex >::mod_nonstandard(), madness::Convolution1D< double_complex >::nonstandard(), madness::FunctionImpl< T, NDIM >::recursive_apply_op< opT, LDIM >::operator()(), madness::FunctionImpl< T, NDIM >::recursive_apply_op_vec< opT, LDIM >::operator()(), madness::hartree_leaf_op< T, NDIM >::operator()(), madness::hartree_leaf_op_vec< T, NDIM >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::Tensor< double >::operator()(), madness::GenTensor< T >::operator+(), madness::GenTensor< T >::operator+=(), madness::GenTensor< T >::operator-=(), madness::ortho5(), madness::FunctionImpl< T, LDIM >::partial_inner_contract(), madness::FunctionImpl< T, NDIM >::project_refine_op(), propagate(), run_full_closed_shell(), run_full_open_shell(), run_static_closed_shell(), run_static_open_shell(), test(), and test_sliced_assignment().

◆ sqrtmu

const double sqrtmu = sqrt(reduced_mass)
static

◆ Z

const double Z =1.0
static

◆ zero_field_time

double zero_field_time
static