MADNESS  0.10.1
Classes | Namespaces | Typedefs | Functions | Variables
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

 madness
 File holds all helper structures necessary for the CC_Operator and CC2 class.
 

Typedefs

typedef Convolution1D< double_complexcomplex_operatorT
 
typedef std::shared_ptr< complex_operatorTpcomplex_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, Tfind_fuzzy (double t, const std::vector< std::pair< double, T > > &cache)
 
complex_operatorTG (World &world, double dt)
 
int main (int argc, char **argv)
 
complex_operatorTMAKE_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()

complex_function_1d APPLY ( complex_operatorT q1d,
const complex_function_1d psi 
)

◆ 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 print_info().

◆ exact()

double exact ( double  t,
double  u0 
)

Referenced by test0(), test0GaussLobatto(), and test1().

◆ expL()

Fred expL ( double  dt,
const Fred f 
)

◆ 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, e(), and T().

Referenced by G(), and vnuc().

◆ G()

complex_operatorT* G ( World world,
double  dt 
)

References find_fuzzy(), G_cache, MAKE_PROPAGATOR(), and p().

Referenced by applyexpLt().

◆ main()

int main ( int  argc,
char **  argv 
)

◆ MAKE_PROPAGATOR()

complex_operatorT* MAKE_PROPAGATOR ( World world,
double  t 
)

References c, k, L, and madness::qm_1d_free_particle_propagator().

Referenced by G().

◆ N()

Fred N ( double  t,
const Fred f 
)

References madness::f, and Fred::set().

Referenced by test1().

◆ 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 madness::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()

void test1 ( World world)

◆ test2()

void test2 ( World world)

◆ vnuc()

real_function_1d vnuc ( World world,
double  t 
)

Variable Documentation

◆ c

double c = 1.86*ctarget
static

Referenced by Fred::Fred(), and MAKE_PROPAGATOR().

◆ ctarget

double ctarget = 20.0
static

◆ energy_exact

const double energy_exact = -6.188788775728796797594788
static

Referenced by PsiExact::operator()(), and test2().

◆ 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

Referenced by MAKE_PROPAGATOR(), and test2().

◆ L

const double L = 100.0
static

Referenced by MAKE_PROPAGATOR(), and test2().

◆ tcrit

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

Referenced by test2().

◆ thresh

const double thresh = 1e-8
static

Referenced by test2().

◆ velocity

const double velocity = 3.0
static

◆ 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

Referenced by atom_position(), and test2().