KIDS  ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
Loading...
Searching...
No Matches
Kernel_Representation.h
Go to the documentation of this file.
1#ifndef Kernel_Representation_H
2#define Kernel_Representation_H
3
4#include "kids/Kernel.h"
5#include "kids/Policy.h"
6
7namespace PROJECT_NS {
8
9DEFINE_POLICY(RepresentationPolicy,
10 Diabatic, // diabatic representation
11 Adiabatic, // adiabtic representation
12 Force, // @developing in future
13 Density // @developing in future
14);
15
16DEFINE_POLICY(SpacePolicy,
17 H, // Hilbert space
18 L // Liouvillian space
19);
20
25class Kernel_Representation final : public Kernel {
26 public:
27 static RepresentationPolicy::_type representation_type;
28 static RepresentationPolicy::_type inp_repr_type;
29 static RepresentationPolicy::_type ele_repr_type;
30 static RepresentationPolicy::_type nuc_repr_type;
31 static RepresentationPolicy::_type tcf_repr_type;
32 static bool onthefly;
33
34 virtual const std::string getName();
35
36 virtual int getType() const;
37
38 static int transform(kids_complex* A, kids_real* T, int fdim, //
39 RepresentationPolicy::_type from, RepresentationPolicy::_type to, SpacePolicy::_type Stype);
40
41 private:
45
46 double * V, *dV, *ddV;
47 double * E, *T, *Told, *dE, *ddE;
48 double* L;
49 std::complex<double>*R, *dL, *ddL;
50 std::complex<double>*H, *dH, *ddH;
51
52 double* E_copy;
53
54 double * x, *p, *m;
55 int* occ_nuc;
57 double * ve, *vedE, *TtTold;
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}; // namespace PROJECT_NS
69
70#endif // Kernel_Representation_H
this file provide Kernel class
#define DEFINE_POLICY(Policy,...)
Definition Policy.h:83
Kernel_Representationfor solving basis transformation for electronic problems.
virtual void setInputDataSet_impl(std::shared_ptr< DataSet > &DS)
Virtual function to set input data set for the kernel implementation.
static RepresentationPolicy::_type ele_repr_type
representation for electronic dynamics
static RepresentationPolicy::_type nuc_repr_type
representation for nuclear dynamics
virtual Status & executeKernel_impl(Status &stat)
Virtual function to execute the kernel implementation.
virtual const std::string getName()
Get the name of the kernel.
virtual int getType() const
Get the type of the kernel.
static RepresentationPolicy::_type representation_type
root representation
virtual void setInputParam_impl(std::shared_ptr< Param > &PM)
Virtual function to set input parameters for the kernel implementation.
static int transform(kids_complex *A, kids_real *T, int fdim, RepresentationPolicy::_type from, RepresentationPolicy::_type to, SpacePolicy::_type Stype)
virtual Status & initializeKernel_impl(Status &stat)
Virtual function to initialize the kernel implementation.
static bool onthefly
flag indicated the ab inition calculation
static RepresentationPolicy::_type tcf_repr_type
representation for intrinsic calculation of TCF
static RepresentationPolicy::_type inp_repr_type
representatioin for input (quantities)
this class provides the container and implementation of algorithms
Definition Kernel.h:60
< 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