MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
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
39extern "C" {
40#endif
41
49void init_molecule_(int natoms, const double* Z, const double* xyz, int use_symmetry);
56void init_molecule_xyz_(const char* fname, int use_symmetry, int fname_nchar);
57
63void init_basis_set_(const char* basis_name, int basis_name_nchar);
64
70void init_basis_set_g94_(const char* fname, int fname_nchar);
71
75int basis_set_nbasis_();
76
80int basis_set_nshell_();
81
85int basis_set_max_nfunction_in_shell_();
86
90int* basis_set_shell_to_nfunction_();
91
96void basis_set_shell_to_nfunction_subrt_(int* s2nf);
97
101int* basis_set_shell_to_function_();
102
107void basis_set_shell_to_function_subrt_(int* s2f);
108
112int* basis_set_shell_to_center_();
113
118void basis_set_shell_to_center_subrt_(int* s2c);
119
123void init_integrals_();
127void done_integrals_();
128
132void init_overlap_integrals_();
137const double* overlap_integrals_buffer_();
142void set_overlap_integrals_buffer_(double* buf);
148void compute_overlap_shell_(int bra, int ket);
152void done_overlap_integrals_();
153
157void init_hcore_integrals_();
162const double* hcore_integrals_buffer_();
167void set_hcore_integrals_buffer_(double* buf);
173void compute_hcore_shell_(int bra, int ket);
177void done_hcore_integrals_();
178
182void init_twoecoulomb_integrals_();
187const double* twoecoulomb_integrals_buffer_();
192void set_twoecoulomb_integrals_buffer_(double* buf);
200void compute_twoecoulomb_shell_(int bra1, int ket1, int bra2, int ket2);
204void 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 Wed Sep 25 2024 02:45:30 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.