ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
mathzone_add1.h
Go to the documentation of this file.
1#ifndef MATHZONE_ADD1_H
2#define MATHZONE_ADD1_H
3
4#include <cassert>
5#include <cmath>
6
7namespace ModuleBase
8{
9
10/************************************************************************
11LiaoChen add @ 2010/03/09 to add efficient functions in LCAO calculation
12************************************************************************/
13// Only used in source_basis/module_ao
15{
16 public:
19
20 static double dualfac(const int& l);
21 static double factorial(const int& l);
33 static void SplineD2(const double* rad,
34 const double* rad_f,
35 const int& mesh,
36 const double& yp1,
37 const double& ypn,
38 double* y2);
39
53 static void Cubic_Spline_Interpolation(const double* const rad,
54 const double* const rad_f,
55 const double* const y2,
56 const int& mesh,
57 const double* const r,
58 const int& rsize,
59 double* const y,
60 double* const dy);
61
72 static double Uni_RadialF(const double* rad_f, const int& msh, const double& dr, const double& R);
73
74 static void Uni_Deriv_Phi(const double* radf, const int& mesh, const double& dr, const int& nd, double* phind);
75
76 private:
77 const static int sph_lmax = 20;
78 static double** c_ln_c;
79 static double** c_ln_s;
80};
81
82} // namespace ModuleBase
83
84#endif
Definition mathzone_add1.h:15
static double ** c_ln_c
Definition mathzone_add1.h:78
static void Cubic_Spline_Interpolation(const double *const rad, const double *const rad_f, const double *const y2, const int &mesh, const double *const r, const int &rsize, double *const y, double *const dy)
cubic spline interpolation
Definition mathzone_add1.cpp:130
static void Uni_Deriv_Phi(const double *radf, const int &mesh, const double &dr, const int &nd, double *phind)
Definition mathzone_add1.cpp:265
static double factorial(const int &l)
Definition mathzone_add1.cpp:41
static double ** c_ln_s
Definition mathzone_add1.h:79
static double Uni_RadialF(const double *rad_f, const int &msh, const double &dr, const double &R)
"spline like interpolation" of a uniform funcation of r
Definition mathzone_add1.cpp:183
~Mathzone_Add1()
Definition mathzone_add1.cpp:37
static void SplineD2(const double *rad, const double *rad_f, const int &mesh, const double &yp1, const double &ypn, double *y2)
calculate second derivatives for cubic spline interpolation
Definition mathzone_add1.cpp:55
Mathzone_Add1()
Definition mathzone_add1.cpp:34
static const int sph_lmax
Definition mathzone_add1.h:77
static double dualfac(const int &l)
Definition mathzone_add1.cpp:47
Definition array_pool.h:6