8 virtual const std::string
getName();
12 Kernel_GWP(std::shared_ptr<Kernel> kmodel, std::shared_ptr<Kernel> krepr, std::shared_ptr<Kernel> kforce)
this file provide Kernel class
initialization kernels for electonic DOFs
this class implements calculation/utils for electronic DOFs:
Status & impl_0(Status &stat)
std::shared_ptr< Kernel > _krepr
static int calc_Hbasis_adia(kids_complex *Hbasis, kids_real *E, kids_real *dE, kids_real *x, kids_real *p, kids_real *m, kids_real *alpha, kids_complex *c, int P, int N, int F)
std::shared_ptr< Kernel > _kforce
virtual int getType() const
Get the type of the kernel.
kids_real * MatR_PP
temporary
static int calc_dtSele(kids_complex *dtlnSele, kids_complex *Sele, kids_complex *c, kids_complex *H, kids_real *vpes, int P, int F)
static int calc_Sele(kids_complex *S, kids_complex *c1, kids_complex *c2, kids_real xi, kids_real gamma, int P, int F)
Status & impl_1(Status &stat)
virtual const std::string getName()
Get the name of the kernel.
kids_complex * fun_diag_P
Status & executeKernel_impl(Status &stat)
Virtual function to execute the kernel implementation.
static int calc_invS(kids_complex *invS, kids_complex *S, int P)
static int calc_Ekin(kids_real *Ekin, kids_real *p, kids_real *m, int P, int N)
static int calc_dtlnSnuc(kids_complex *dtlnSnuc, kids_real *x, kids_real *p, kids_real *m, kids_real *f, kids_real *alpha, kids_real *Ekin, int P, int N)
static double calc_density(kids_complex *rhored, kids_complex *Acoeff, kids_complex *Snuc, kids_complex *c, kids_real xi, kids_real gamma, int Pu, int P, int F)
static int calc_Hbasis(kids_complex *Hbasis, kids_real *vpes, kids_real *grad, kids_real *V, kids_real *dV, kids_real *x, kids_real *p, kids_real *m, kids_real *alpha, kids_complex *Sele, kids_complex *c, int P, int N, int F)
std::shared_ptr< Kernel > _kmodel
Kernel_GWP(std::shared_ptr< Kernel > kmodel, std::shared_ptr< Kernel > krepr, std::shared_ptr< Kernel > kforce)
kids_complex * fun_diag_F
void setInputDataSet_impl(std::shared_ptr< DataSet > &DS)
Virtual function to set input data set for the kernel implementation.
Status & initializeKernel_impl(Status &stat)
Virtual function to initialize the kernel implementation.
static int calc_Snuc(kids_complex *S, kids_real *x1, kids_real *p1, kids_real *m1, kids_real *g1, kids_real *x2, kids_real *p2, kids_real *m2, kids_real *g2, kids_real *alpha, int P, int N)
the expression is exp(-0.25*a*(x1-x2)^2 -0.25*(p1-p2)/a + 0.5i*(p1+p2)(x1-x2) - i(g1-g2))
void setInputParam_impl(std::shared_ptr< Param > &PM)
Virtual function to set input parameters for the kernel implementation.
this class provides the container and implementation of algorithms
Kernel & appendChild(std::shared_ptr< Kernel > ker)
Append a kernel as the last child of the current tree node.
< http://warp.povusers.org/FunctionParser/fparser.html
double kids_real
Alias for real number type.
std::complex< double > kids_complex
Alias for complex number type.