KIDS  ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
Loading...
Searching...
No Matches
Kernel_Elec_NAD.h
Go to the documentation of this file.
1
26#ifndef Kernel_Elec_NAD_H
27#define Kernel_Elec_NAD_H
28
29#include "kids/Kernel.h"
30#include "kids/Kernel_Elec.h"
31#include "kids/Policy.h"
32
33namespace PROJECT_NS {
34
35DEFINE_POLICY(NADPolicy,
36 EHR, // Ehrenfest Dynamics
37 BOSH, // BO dynamics & hopping according to W(\rho)
38 CVSH, // CV dynamics & hopping acoording to W(\rho)
39 BOSD, // BO dynamics & smoothing acoording to W(\rho)
40 CVSD); // CV dynamics & smoothing acoording to W(\rho)
41
45class Kernel_Elec_NAD final : public Kernel {
46 public:
47 virtual const std::string getName();
48
49 virtual int getType() const;
50
51 Kernel_Elec_NAD(double scale = 1.0e0) : Kernel(), scale{scale} {
52 appendChild(std::shared_ptr<Kernel_Elec>(new Kernel_Elec())); //
53 }
54
55 private:
56 NADPolicy::_type cmsh_type;
57
59 bool use_focus = false;
60 bool use_cv = true; // adapt cv in rho_nuc
61 bool use_wmm = false; // in this case, gamma1 will be used as delta in wMM
62 bool use_fall = false;
63 bool use_gdtwa = false;
64 bool use_sum = false;
65
66 bool cread_from_ds = false;
68
69 bool reflect = true; // treatment in hopping
72
74
75 double scale;
76 double dt;
84 kids_real * vpes, *V, *E, *dE, *T;
90
92
93 //
94 bool use_sqc;
98
101
102 virtual void setInputParam_impl(std::shared_ptr<Param>& PM);
103
104 virtual void setInputDataSet_impl(std::shared_ptr<DataSet>& DS);
105
106 virtual Status& initializeKernel_impl(Status& stat);
107
108 virtual Status& executeKernel_impl(Status& stat);
109};
110
111}; // namespace PROJECT_NS
112
113#endif // Kernel_Elec_NAD_H
this file provide Kernel class
initialization kernels for electonic DOFs
#define DEFINE_POLICY(Policy,...)
Definition Policy.h:83
initialization kernel for electonic DOFs in NAD
virtual const std::string getName()
Get the name of the kernel.
virtual Status & executeKernel_impl(Status &stat)
Virtual function to execute the kernel implementation.
virtual int getType() const
Get the type of the kernel.
Kernel_Elec_NAD(double scale=1.0e0)
virtual void setInputDataSet_impl(std::shared_ptr< DataSet > &DS)
Virtual function to set input data set for the kernel implementation.
virtual Status & initializeKernel_impl(Status &stat)
Virtual function to initialize the kernel implementation.
virtual void setInputParam_impl(std::shared_ptr< Param > &PM)
Virtual function to set input parameters for the kernel implementation.
this class implements calculation/utils for electronic DOFs:
Definition Kernel_Elec.h:11
this class provides the container and implementation of algorithms
Definition Kernel.h:60
Kernel & appendChild(std::shared_ptr< Kernel > ker)
Append a kernel as the last child of the current tree node.
Definition Kernel.cpp:78
< 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
int kids_bint
Alias for integer type.
Definition Types.h:58