MPQC  3.0.0-alpha
qc_fnc.h
1 //
2 // qc_fnc.h
3 //
4 // Copyright (C) 2012 Edward Valeev
5 //
6 // Author: Edward Valeev <evaleev@vt.edu>
7 // Maintainer: EV
8 //
9 // This file is part of the SC Toolkit.
10 //
11 // The SC Toolkit is free software; you can redistribute it and/or modify
12 // it under the terms of the GNU Library General Public License as published by
13 // the Free Software Foundation; either version 2, or (at your option)
14 // any later version.
15 //
16 // The SC Toolkit is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU Library General Public License for more details.
20 //
21 // You should have received a copy of the GNU Library General Public License
22 // along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23 // the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24 //
25 // The U.S. Government is granted a limited license as per AL 91-7.
26 //
27 
28 #ifdef __GNUG__
29 #pragma interface
30 #endif
31 
32 // wraps most interesting MPQC classes for use via simple function/subroutine calls
33 // since this is meant to be used from low-level languages (C, F*) no namespaces, and C-linkage
34 
35 #ifndef _mpqc_src_lib_extern_qc_qcfnc_h
36 #define _mpqc_src_lib_extern_qc_qcfnc_h
37 
38 #if __cplusplus
39 extern "C" {
40 #endif
41 
49 void init_molecule_(int natoms, const double* Z, const double* xyz, int use_symmetry);
56 void init_molecule_xyz_(const char* fname, int use_symmetry, int fname_nchar);
57 
63 void init_basis_set_(const char* basis_name, int basis_name_nchar);
64 
70 void init_basis_set_g94_(const char* fname, int fname_nchar);
71 
75 int basis_set_nbasis_();
76 
80 int basis_set_nshell_();
81 
85 int basis_set_max_nfunction_in_shell_();
86 
90 int* basis_set_shell_to_nfunction_();
91 
96 void basis_set_shell_to_nfunction_subrt_(int* s2nf);
97 
101 int* basis_set_shell_to_function_();
102 
107 void basis_set_shell_to_function_subrt_(int* s2f);
108 
112 int* basis_set_shell_to_center_();
113 
118 void basis_set_shell_to_center_subrt_(int* s2c);
119 
123 void init_integrals_();
127 void done_integrals_();
128 
132 void init_overlap_integrals_();
137 const double* overlap_integrals_buffer_();
142 void set_overlap_integrals_buffer_(double* buf);
148 void compute_overlap_shell_(int bra, int ket);
152 void done_overlap_integrals_();
153 
157 void init_hcore_integrals_();
162 const double* hcore_integrals_buffer_();
167 void set_hcore_integrals_buffer_(double* buf);
173 void compute_hcore_shell_(int bra, int ket);
177 void done_hcore_integrals_();
178 
182 void init_twoecoulomb_integrals_();
187 const double* twoecoulomb_integrals_buffer_();
192 void set_twoecoulomb_integrals_buffer_(double* buf);
200 void compute_twoecoulomb_shell_(int bra1, int ket1, int bra2, int ket2);
204 void done_twoecoulomb_integrals_();
205 
206 #if __cplusplus
207 }; // end of extern "C"
208 #endif
209 
210 #endif // end of header guard
211 
212 
213 // Local Variables:
214 // mode: c++
215 // c-file-style: "CLJ-CONDENSED"
216 // End:

Generated at Sun Jan 26 2020 23:24:00 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.