KIDS  ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
Loading...
Searching...
No Matches
Model_NAD1D.h
Go to the documentation of this file.
1#ifndef MODEL_NAD1D_H
2#define MODEL_NAD1D_H
3
4#include "kids/Kernel.h"
5#include "kids/Policy.h"
6
7namespace PROJECT_NS {
8
9DEFINE_POLICY(NAD1DPolicy,
10 PURE, // Pure Electronic Dynamic
11 SAC, // Tully's Single Avoid Crossing Model
12 SAC2, // Tully's Single Avoid Crossing Model (with slight revision)
13 SAC3, // asymmertical Tully's Single Avoid Crossing Model
14 DAC, // Tully's Doubly Avoid Crossing Model
15 ECR, // Tully's Extend Coupling Region Model
16 DBG, // (double)
17 DAG, // (double)
18 DRN, // (double) ECR
19 NA_I, // Na + I collision model
20 MORSE3A, // 3-state MORSE3A model
21 MORSE3B, // 3-state MORSE3B model
22 MORSE3C, // 3-state MORSE3C model
23 MORSE15, // 15-state MORSE modelc
24 MORSE15C, // 15-state MORSE modelc
25 MORSE15E, // 15-state MORSE modelc
26 CL1D, // 1-mode Caldeira-Leggett model
27 JC1D, // 1-mode Jaynes-Cummings model
28 IVP1, // iverted potential model 1
29 IVP2, // iverted potential model 2
30 IVP3, // iverted potential model 3
31 IVP4); // iverted potential model 4
32
33class Model_NAD1D final : public Kernel {
34 public:
35 virtual const std::string getName();
36
37 virtual int getType() const;
38
39 private:
40 NAD1DPolicy::_type nad1d_type;
41
43
48
49 // integrator
52
53 // model
58
59 virtual void setInputParam_impl(std::shared_ptr<Param>& PM);
60
61 virtual void setInputDataSet_impl(std::shared_ptr<DataSet>& DS);
62
63 virtual Status& initializeKernel_impl(Status& stat);
64
65 virtual Status& executeKernel_impl(Status& stat);
66};
67
68
69}; // namespace PROJECT_NS
70
71#endif // MODEL_NAD1D_H
this file provide Kernel class
#define DEFINE_POLICY(Policy,...)
Definition Policy.h:83
this class provides the container and implementation of algorithms
Definition Kernel.h:60
virtual void setInputParam_impl(std::shared_ptr< Param > &PM)
Virtual function to set input parameters for the kernel implementation.
virtual const std::string getName()
Get the name of the kernel.
virtual Status & initializeKernel_impl(Status &stat)
Virtual function to initialize the kernel implementation.
virtual int getType() const
Get the type of the kernel.
virtual Status & executeKernel_impl(Status &stat)
Virtual function to execute the kernel implementation.
kids_complex * p_sign
Definition Model_NAD1D.h:51
NAD1DPolicy::_type nad1d_type
Definition Model_NAD1D.h:40
virtual void setInputDataSet_impl(std::shared_ptr< DataSet > &DS)
Virtual function to set input data set for the kernel implementation.
< http://warp.povusers.org/FunctionParser/fparser.html
Definition Context.h:39
double kids_real
Alias for real number type.
Definition Types.h:59
std::complex< double > kids_complex
Alias for complex number type.
Definition Types.h:60