ergo
hermite_conversion_symb.h
Go to the documentation of this file.
1 /* Ergo, version 3.8, a program for linear scaling electronic structure
2  * calculations.
3  * Copyright (C) 2019 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek,
4  * and Anastasia Kruchinina.
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  *
19  * Primary academic reference:
20  * Ergo: An open-source program for linear-scaling electronic structure
21  * calculations,
22  * Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, and Anastasia
23  * Kruchinina,
24  * SoftwareX 7, 107 (2018),
25  * <http://dx.doi.org/10.1016/j.softx.2018.03.005>
26  *
27  * For further information about Ergo, see <http://www.ergoscf.org>.
28  */
29 
39 #ifndef HERMITE_CONVERSION_SYMB_HEADER
40 #define HERMITE_CONVERSION_SYMB_HEADER
41 
42 #include "integral_info.h"
43 #include "realtype.h"
44 
45 typedef struct
46 {
47  int ia; // power of a
50 
52  int nmax,
53  int inverseFlag,
54  symb_matrix_element* result);
55 
56 
57 #endif
poly_3d_struct_symb
Definition: hermite_conversion_symb.cc:70
get_hermite_conversion_matrix_symb
int get_hermite_conversion_matrix_symb(const monomial_info_struct *monomial_info, int nmax, int inverseFlag, symb_matrix_element *result)
Definition: hermite_conversion_symb.cc:217
poly_3d_struct_symb::termList
poly_3d_term_struct_symb termList[MAX_NO_OF_3D_TERMS]
Definition: hermite_conversion_symb.cc:72
symb_matrix_element
Definition: hermite_conversion_symb.h:46
symb_matrix_element::ia
int ia
Definition: hermite_conversion_symb.h:47
realtype.h
Definition of the main floating-point datatype used; the ergo_real type.
poly_1d_struct_symb::termList
poly_1d_term_struct_symb termList[MAX_NO_OF_1D_TERMS]
Definition: hermite_conversion_symb.cc:57
poly_3d_term_struct_symb::monomialInts
int monomialInts[3]
Definition: hermite_conversion_symb.cc:62
get_1d_hermite_poly_inv_symb
static int get_1d_hermite_poly_inv_symb(poly_1d_struct_symb *result, int n)
Definition: hermite_conversion_symb.cc:123
ergo_real
double ergo_real
Definition: realtype.h:69
poly_3d_struct_symb::noOfTerms
int noOfTerms
Definition: hermite_conversion_symb.cc:71
poly_3d_term_struct_symb::ia
int ia
Definition: hermite_conversion_symb.cc:63
symb_matrix_element::coeff
ergo_real coeff
Definition: hermite_conversion_symb.h:48
MAX_NO_OF_3D_TERMS
#define MAX_NO_OF_3D_TERMS
Definition: hermite_conversion_symb.cc:67
monomial_info_struct::no_of_monomials_list
int no_of_monomials_list[MONOMIAL_N_MAX+1]
Definition: monomial_info.h:61
MAX_NO_OF_1D_TERMS
#define MAX_NO_OF_1D_TERMS
Definition: hermite_conversion_symb.cc:52
create_3d_poly_from_1d_poly_symb
static int create_3d_poly_from_1d_poly_symb(poly_3d_struct_symb *poly_3d, poly_1d_struct_symb *poly_1d, int coordIndex)
Definition: hermite_conversion_symb.cc:170
get_hermite_conversion_matrix_symb
int get_hermite_conversion_matrix_symb(const monomial_info_struct *monomial_info, int nmax, int inverseFlag, symb_matrix_element *result)
Definition: hermite_conversion_symb.cc:217
monomial_info_struct::monomial_index_list
int monomial_index_list[MONOMIAL_N_MAX+1][MONOMIAL_N_MAX+1][MONOMIAL_N_MAX+1]
Definition: monomial_info.h:62
monomial_struct::iz
int iz
Definition: monomial_info.h:54
hermite_conversion_symb.h
Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians,...
get_1d_hermite_poly_symb
static int get_1d_hermite_poly_symb(poly_1d_struct_symb *result, int n)
Definition: hermite_conversion_symb.cc:77
integral_info.h
Defines IntegralInfo object, providing the coefficients needed for integral evaluation.
monomial_struct::iy
int iy
Definition: monomial_info.h:53
compute_product_of_3d_polys_symb
static int compute_product_of_3d_polys_symb(poly_3d_struct_symb *result, poly_3d_struct_symb *poly_1, poly_3d_struct_symb *poly_2)
Definition: hermite_conversion_symb.cc:187
poly_1d_struct_symb
Definition: hermite_conversion_symb.cc:55
poly_1d_term_struct_symb::coeff
ergo_real coeff
Definition: hermite_conversion_symb.cc:49
poly_3d_term_struct_symb
Definition: hermite_conversion_symb.cc:61
poly_3d_term_struct_symb::coeff
ergo_real coeff
Definition: hermite_conversion_symb.cc:64
monomial_info_struct
Definition: monomial_info.h:58
poly_1d_term_struct_symb::ix
int ix
Definition: hermite_conversion_symb.cc:47
monomial_info_struct::monomial_list
monomial_struct * monomial_list
Definition: monomial_info.h:60
monomial_struct::ix
int ix
Definition: monomial_info.h:52
poly_1d_term_struct_symb
Definition: hermite_conversion_symb.cc:46
poly_1d_struct_symb::noOfTerms
int noOfTerms
Definition: hermite_conversion_symb.cc:56
poly_1d_term_struct_symb::ia
int ia
Definition: hermite_conversion_symb.cc:48