MADNESS  version 0.9
Public Member Functions | List of all members
madness::SpectralPropagator Class Reference

Spectral propagtor in time. Refer to documentation of file spectralprop.h for math detail. More...

#include <spectralprop.h>

Public Member Functions

 SpectralPropagator (int NPT)
 Construct propagator using NPT points. More...
 
 ~SpectralPropagator ()
 
template<typename uT , typename expLT , typename NT >
uT step (double t, double Delta, const uT &u0, const expLT &expL, const NT &N, const double eps=1e-12, bool doprint=false, bool recurinit=true)
 Step forward in time from $ t $ to $ t+\Delta $. More...
 

Detailed Description

Spectral propagtor in time. Refer to documentation of file spectralprop.h for math detail.

Constructor & Destructor Documentation

madness::SpectralPropagator::SpectralPropagator ( int  NPT)
inline

Construct propagator using NPT points.

References madness::gauss_legendre().

madness::SpectralPropagator::~SpectralPropagator ( )
inline

Member Function Documentation

template<typename uT , typename expLT , typename NT >
uT madness::SpectralPropagator::step ( double  t,
double  Delta,
const uT &  u0,
const expLT &  expL,
const NT &  N,
const double  eps = 1e-12,
bool  doprint = false,
bool  recurinit = true 
)
inline

Step forward in time from $ t $ to $ t+\Delta $.

The template types should be automatically inferred from the invocation. uT is the C++ type for the solution.

Parameters
[in]tThe current time
[in]DeltaThe time step
[in]u0The solution at the current time
[in]expLA function or functor to compute $ \exp{\tau \hat{L}} u $ for $ \tau \in (0,\Delta) $
[in]NA function to compute the non-linear part
[in]epsThreshold for convergence of iteration on norm of change in solution at last quadrature point.
[in]doprintIf true will print some info on convergence
[in]recurinitIf true initial guess is recursion from lower order quadrature instead of default explicit rule
Returns
The solution at time $ t+\Delta $

The user provided operators are invoked as

uT expL(double tau, const uT& u)

where $ \tau \in (0,\Delta) $ and

uT N(double T, const uT& u)

where $ T \in (t,t+\Delta) $ and $ u $ is a trial solution at time $ T $.

References k, N, and madness::print().


The documentation for this class was generated from the following file: