ERKALE
ERKALE - DFT from Hel
 All Classes Functions Variables Friends Pages
lebedev.h
1 /*
2  * This source code is part of
3  *
4  * E R K A L E
5  * -
6  * DFT from Hel
7  *
8  * Written by Susi Lehtola, 2010-2011
9  * Copyright (c) 2010-2011, 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 
19 #ifndef ERKALE_LEBEDEV
20 #define ERKALE_LEBEDEV
21 
22 #include <vector>
23 
25 const int lebedev_orders[] ={3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 35, 41, 47, 53, 59, 65, 71, 77, 83, 89, 95, 101, 107, 113, 119, 125, 131};
27 const int lebedev_degrees[]={6, 14, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230, 266, 302, 350, 434, 590, 770, 974, 1202, 1454, 1730, 2030, 2354, 2702, 3074, 3470, 3890, 4334, 4802, 5294, 5810};
28 
30 typedef struct {
32  double x;
34  double y;
36  double z;
38  double w;
40 
42 std::vector<lebedev_point_t> lebedev_sphere(int order);
44 int next_lebedev(int order);
46 int closest_lebedev(int order);
47 
49 std::vector<lebedev_point_t> getLebedevSphere(int npoints);
51 void getLebedevReccurencePoints(int type, int & start, double a, double b, double v, std::vector<lebedev_point_t> & leb);
52 
53 #endif
double y
y coordinate of point
Definition: lebedev.h:34
double w
Angular weight of point.
Definition: lebedev.h:38
double z
z coordinate of point
Definition: lebedev.h:36
Coordinates and weight for a point in Lebedev quadrature.
Definition: lebedev.h:30
double x
x coordinate of point
Definition: lebedev.h:32