MADNESS 0.10.1
testspectralprop.cc File Reference
#include <madness/mra/mra.h>
#include <iostream>
#include <vector>
#include "spectralprop.h"
#include <madness/mra/qmprop.h>
#include <madness/mra/operator.h>
#include <madness/constants.h>
Include dependency graph for testspectralprop.cc:

Classes

class  Fred
 Wrapper around vector demonstrating interface necessary. More...
class  PsiExact
class  Vnuclear

Namespaces

namespace  madness
 Namespace for all elements and tools of MADNESS.

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)
complex_function_1d applyexpLt (double dt, const complex_function_1d &u)
complex_function_1d applyN (double t, const complex_function_1d &u)
double atom_position (double current_time)
double madness::distance (const Fred &a, const Fred &b)
double madness::distance (madness::Function< std::complex< double >, 1ul > &a, madness::Function< std::complex< double >, 1ul > &b)
double exact (double t, double u0)
Fred expL (double dt, const Fred &f)
double expL_double (double dt, double u)
template<typename T>
std::pair< bool, T > find_fuzzy (double t, const std::vector< std::pair< double, T > > &cache)
complex_operatorT * G (World &world, double dt)
int main (int argc, char **argv)
complex_operatorT * MAKE_PROPAGATOR (World &world, double t)
Fred N (double t, const Fred &f)
double N_double (double t, const double u)
std::ostream & operator<< (std::ostream &s, const Fred &f)
void print_info (World &world, double current_time, const complex_function_1d &psi, int step)
void test0 (World &world)
void test0GaussLobatto (World &world)
void test1 (World &world)
void test2 (World &world)
real_function_1d vnuc (World &world, double t)

Variables

static double c = 1.86*ctarget
static double ctarget = 20.0
static const double energy_exact = -6.188788775728796797594788
static const double eshift = 0.0
static std::vector< std::pair< double, complex_operatorT * > > G_cache
static const long k = 12
static const double L = 100.0
static double tcrit = 2*constants::pi/(c*c)
static const double thresh = 1e-8
static const double velocity = 3.0
std::vector< std::pair< double, real_function_1d > > vnuc_cache
static const double x0 = -L + 10.0

Typedef Documentation

◆ complex_operatorT

◆ pcomplex_operatorT

typedef std::shared_ptr<complex_operatorT> pcomplex_operatorT

Function Documentation

◆ APPLY()

◆ applyexpLt()

complex_function_1d applyexpLt ( double dt,
const complex_function_1d & u )

◆ applyN()

complex_function_1d applyN ( double t,
const complex_function_1d & u )
  • conj(u)*u

References madness::Function< T, NDIM >::truncate(), u(), and vnuc().

Referenced by test2().

◆ atom_position()

double atom_position ( double current_time)

References current_time, velocity, and x0.

Referenced by PsiExact::PsiExact(), and Vnuclear::Vnuclear().

◆ exact()

double exact ( double t,
double u0 )

◆ expL()

◆ expL_double()

double expL_double ( double dt,
double u )

References u().

Referenced by test0(), and test0GaussLobatto().

◆ find_fuzzy()

template<typename T>
std::pair< bool, T > find_fuzzy ( double t,
const std::vector< std::pair< double, T > > & cache )

References madness::cache, and e().

Referenced by G(), and vnuc().

◆ G()

complex_operatorT * G ( World & world,
double dt )

◆ main()

◆ MAKE_PROPAGATOR()

complex_operatorT * MAKE_PROPAGATOR ( World & world,
double t )

◆ N()

Fred N ( double t,
const Fred & f )

References f, and Fred::set().

◆ N_double()

double N_double ( double t,
const double u )

References u().

Referenced by test0(), and test0GaussLobatto().

◆ operator<<()

std::ostream & operator<< ( std::ostream & s,
const Fred & f )

References f.

◆ print_info()

void print_info ( World & world,
double current_time,
const complex_function_1d & psi,
int step )

◆ test0()

void test0 ( World & world)

◆ test0GaussLobatto()

void test0GaussLobatto ( World & world)

◆ test1()

◆ test2()

◆ vnuc()

Variable Documentation

◆ c

double c = 1.86*ctarget
static

◆ ctarget

double ctarget = 20.0
static

◆ energy_exact

const double energy_exact = -6.188788775728796797594788
static

Referenced by PsiExact::operator()().

◆ eshift

const double eshift = 0.0
static

◆ G_cache

std::vector< std::pair<double, complex_operatorT*> > G_cache
static

Referenced by G().

◆ k

const long k = 12
static

◆ L

const double L = 100.0
static

◆ tcrit

double tcrit = 2*constants::pi/(c*c)
static

◆ thresh

const double thresh = 1e-8
static

◆ velocity

const double velocity = 3.0
static

Referenced by PsiExact::operator()().

◆ vnuc_cache

std::vector< std::pair<double, real_function_1d> > vnuc_cache

Referenced by test2(), and vnuc().

◆ x0

const double x0 = -L + 10.0
static