SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | List of all members
solid::IQuantumDynamicSolver< T1, T2, T3 > Class Template Referenceabstract

Quantum Dynamic Solver interface. More...

#include <QuantumDynamicSolver.hpp>

Inheritance diagram for solid::IQuantumDynamicSolver< T1, T2, T3 >:
Inheritance graph
[legend]

Public Member Functions

virtual std::string getLabel ()=0
 Get the Label object for QuantumDynamicSolver (virtual) More...
 
virtual void Propagate (double time, double dtime, QuantumDynamics< T1, T2, T3 > &qDynamics)=0
 Propagate the state \(|\psi\rangle\). More...
 
virtual ~IQuantumDynamicSolver ()
 

Detailed Description

template<template< typename > class T1, typename T2, typename T3>
class solid::IQuantumDynamicSolver< T1, T2, T3 >

Quantum Dynamic Solver interface.

It contains two purly virtual methods:

Template Parameters
T1matrix type: arma::Mat and arma:SpMat are supported
T2data type of QuantumSystem: double, std::complex<double> are supported
T3data type of QuantumState: double, std::complex<double> are supported

Constructor & Destructor Documentation

template<template< typename > class T1, typename T2 , typename T3 >
virtual solid::IQuantumDynamicSolver< T1, T2, T3 >::~IQuantumDynamicSolver ( )
inlinevirtual

Member Function Documentation

template<template< typename > class T1, typename T2 , typename T3 >
virtual std::string solid::IQuantumDynamicSolver< T1, T2, T3 >::getLabel ( )
pure virtual

Get the Label object for QuantumDynamicSolver (virtual)

Returns
std::string Solver label

Implemented in solid::AdiabaticSolver< T1, T2, T3 >, and solid::RK4< T1, T2, T3 >.

template<template< typename > class T1, typename T2 , typename T3 >
virtual void solid::IQuantumDynamicSolver< T1, T2, T3 >::Propagate ( double  time,
double  dtime,
QuantumDynamics< T1, T2, T3 > &  qDynamics 
)
pure virtual

Propagate the state \(|\psi\rangle\).

Parameters
timecurrent time
dtimetime step
qDynamicsQuantumDynamics<T1,T2,T3> object

Implemented in solid::AdiabaticSolver< T1, T2, T3 >, and solid::RK4< T1, T2, T3 >.


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