ERKALE
ERKALE - DFT from Hel
 All Classes Functions Variables Friends Pages
emd_sto.h
1 /*
2  * This source code is part of
3  *
4  * E R K A L E
5  * -
6  * HF/DFT from Hel
7  *
8  * Written by Susi Lehtola, 2010-2012
9  * Copyright (c) 2010-2012, Susi Lehtola
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  */
16 
17 
18 #ifndef ERKALE_EMDSTO
19 #define ERKALE_EMDSTO
20 
21 #include "emd.h"
22 #include "../basis.h"
23 
24 #include <complex>
25 #include <vector>
26 
28 class RadialSlater: public RadialFourier {
30  int n;
32 
34  double zeta;
35 
36  public:
38  RadialSlater(int n, int l, double zeta);
40  ~RadialSlater();
41 
43  void print() const;
44 
46  int getn() const;
48  double getzeta() const;
49 
51  std::complex<double> get(double p) const;
52 };
53 
57  std::vector< std::vector<RadialSlater> > radf;
58 
60  void update_pointers();
61  public:
63  SlaterEMDEvaluator(const std::vector< std::vector<RadialSlater> > & radf, const std::vector< std::vector<size_t> > & idfuncsv, const std::vector< std::vector<ylmcoeff_t> > & clm, const std::vector<size_t> & locv, const std::vector<coords_t> & coord, const arma::cx_mat & Pv);
66 
73 };
74 
75 #endif
void update_pointers()
Update the pointer lists.
Definition: emd_sto.cpp:78
std::vector< std::vector< RadialSlater > > radf
The radial functions.
Definition: emd_sto.h:57
RadialSlater(int n, int l, double zeta)
Constructor.
Definition: emd_sto.cpp:21
double getzeta() const
Get zeta.
Definition: emd_sto.cpp:37
SlaterEMDEvaluator & operator=(const SlaterEMDEvaluator &rhs)
Definition: emd_sto.cpp:67
SlaterEMDEvaluator(const std::vector< std::vector< RadialSlater > > &radf, const std::vector< std::vector< size_t > > &idfuncsv, const std::vector< std::vector< ylmcoeff_t > > &clm, const std::vector< size_t > &locv, const std::vector< coords_t > &coord, const arma::cx_mat &Pv)
Constructor.
Definition: emd_sto.cpp:54
~SlaterEMDEvaluator()
Destructor.
Definition: emd_sto.cpp:63
Class for (basis set independent) normalized radial wfs.
Definition: emd.h:41
Slater-type radial function.
Definition: emd_sto.h:28
int getn() const
Get n value.
Definition: emd_sto.cpp:33
void print() const
Print expansion.
Definition: emd_sto.cpp:29
int l
l value
Definition: emd.h:44
double zeta
l value is already in RadialFourier
Definition: emd_sto.h:34
Radial EMD evaluator.
Definition: emd.h:122
EMD in Slater basis set.
Definition: emd_sto.h:55
int n
n value
Definition: emd_sto.h:30
~RadialSlater()
Destructor.
Definition: emd_sto.cpp:26