C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
EvolvedGSL.h
Go to the documentation of this file.
1 // Copyright András Vukics 2006–2014. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
3 // -*- C++ -*-
4 #ifndef CPPQEDCORE_UTILS_EVOLVEDGSL_H_INCLUDED
5 #define CPPQEDCORE_UTILS_EVOLVEDGSL_H_INCLUDED
6 
7 #include "Exception.h"
8 
9 #include "Evolved.h"
10 
11 
12 namespace evolved {
13 
14 
17 
18 
20 template<typename A>
21 class MakerGSL : public Maker<A>
22 {
23 public:
31  MakerGSL(SteppingFunction sf=SF_RKCK, double nextDtTryCorrectionFactor=100.) : sf_(sf), nextDtTryCorrectionFactor_(nextDtTryCorrectionFactor) {}
32 
33 private:
34  class _;
35 
36  typedef typename Maker<A>::Ptr Ptr;
37  typedef typename Maker<A>::Derivs Derivs;
38 
39  const Ptr make(A&, Derivs, double dtInit, double epsRel, double epsAbs, const A& scaleAbs) const;
40 
41  const SteppingFunction sf_;
42  const double nextDtTryCorrectionFactor_;
43 
44 };
45 
46 
47 namespace details {
48 
49 class Impl;
50 
51 typedef boost::shared_ptr<Impl> ImplPtr;
52 
53 extern const int onSuccess;
54 
55 } // details
56 
57 } // evolved
58 
59 
60 #endif // CPPQEDCORE_UTILS_EVOLVEDGSL_H_INCLUDED
The class that is (meant to be, at least) the base of all exceptions in the framework.
Definition: Exception.h:18
boost::shared_ptr< const Base > Ptr
Convenience typedef.
Definition: BinarySystem.h:17
Factory class for Evolved types.
Definition: Evolved.h:231
Implements Maker and incorporates MakerGSL::_, the actual GSL-based implementation of the Evolved int...
Definition: EvolvedGSL.h:21
SteppingFunction
Enumeration for different stepping-function types, for i/o operations.
Definition: Evolved.h:29
Thrown if the array supplied to MakerGSL has non contiguous storage.
Definition: EvolvedGSL.h:16
Defines class of the same name.
const Ptr make(const IA &ia)
Templatized maker function relying on cpputils::sharedPointerize to delegate to make() ...
Definition: BinarySystem.h:31
MakerGSL(SteppingFunction sf=SF_RKCK, double nextDtTryCorrectionFactor=100.)
Definition: EvolvedGSL.h:31
Defines tentative base classes for the exception classes of the framework.
Comprises utilities related to ODE adaptive evolution.
Definition: Evolved.h:22