SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
AdiabaticSolver.hpp
Go to the documentation of this file.
1 
11 #ifndef QUANTUMDYNAMICS_SOLVERS_ADIABATICSOLVER_HPP
12 #define QUANTUMDYNAMICS_SOLVERS_ADIABATICSOLVER_HPP
13 
14 #include <armadillo>
15 
16 #include "../../QuantumState/QuantumState.hpp"
17 #include "../../Eigensolver/Eigensolver.hpp"
18 #include "../QuantumDynamics.hpp"
19 #include "QuantumDynamicSolver.hpp"
20 
21 namespace solid
22 {
23 
37 template <template <typename> class T1, typename T2, typename T3>
38 class AdiabaticSolver : public IQuantumDynamicSolver<T1, T2, T3>
39 {
40 public:
41 
45  inline static constexpr auto label = "adia";
46 
52  std::string getLabel() override
53  {
54  return label;
55  }
56 
64  void Propagate(double time, double dtime, QuantumDynamics<T1, T2, T3> &qDynamics)
65  {
66  qDynamics.quantumSystem.Fill();
67  // TODO remove tmp variable and add conversion in QuantumState
69  qDynamics.quantumState = tmp;
70  }
71 };
72 
73 } // namespace solid
74 
75 #endif
std::string getLabel() override
Get the Label object (IQuantumDynamicSolver override)
Definition: AdiabaticSolver.hpp:52
Quantum Dynamics class.
Definition: QuantumDynamics.hpp:40
Adiabatic Solver header.
Definition: AdiabaticSolver.hpp:38
QuantumSystem< T1, T2 > quantumSystem
Definition: QuantumDynamics.hpp:103
template class representing Quantum State of the system
Definition: QuantumState.hpp:29
QuantumDynamicSolver interface header.
static constexpr auto label
label, default = "adia"
Definition: AdiabaticSolver.hpp:45
static QuantumState< T2 > FindGroundState(QuantumSystem< T1, T2 > &qSystem)
Finding ground state (QuantumState) and its corresponding eigen energy.
Quantum Dynamic Solver interface.
Definition: QuantumDynamicSolver.hpp:35
void Propagate(double time, double dtime, QuantumDynamics< T1, T2, T3 > &qDynamics)
Propagate the state (IQuantumDynamicSolver override)
Definition: AdiabaticSolver.hpp:64
QuantumState< T3 > quantumState
Definition: QuantumDynamics.hpp:102