tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
calculator.h
Go to the documentation of this file.
1/* This file is part of tblite.
2 * SPDX-Identifier: LGPL-3.0-or-later
3 *
4 * tblite is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * tblite is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with tblite. If not, see <https://www.gnu.org/licenses/>.
16**/
17
28
29#pragma once
30
31#include "tblite/macros.h"
32#include "tblite/context.h"
33#include "tblite/structure.h"
34#include "tblite/result.h"
35#include "tblite/param.h"
36
46
48typedef enum {
52
58
60typedef struct _tblite_calculator* tblite_calculator;
61
63typedef struct {
67
77 tblite_xtb_config* config);
78
88 tblite_xtb_config* config);
89
99 tblite_xtb_config* config);
100
111 tblite_param param,
112 tblite_xtb_config* config);
113
119
128 double acc);
129
138 int max_iter);
139
148 double damping);
149
158 int memory);
159
168 tblite_mixer mixer);
169
180 double initial_etemp,
181 int hold,
182 int cycles);
183
192 tblite_guess guess);
193
202 double etemp);
203
212 int save_integrals);
213
222 int* nsh);
223
232 int* sh2at);
233
242 int* am);
243
252 int* nao);
253
262 int* ao2sh);
263
274 tblite_result res);
275
286 char* charptr);
287
298 tblite_param param);
299
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_push_back_post_processing_localization(tblite_context ctx, tblite_calculator calc, tblite_structure mol, tblite_localization_method method)
tblite_guess
Possible initial guess of the wavefunction.
Definition calculator.h:38
@ TBLITE_GUESS_SAD
Use superposition of atomic densities as guess.
Definition calculator.h:40
@ TBLITE_GUESS_EEQBC
Use partial charges with bond-charge corrections from electronegativity equilibration as guess.
Definition calculator.h:44
@ TBLITE_GUESS_EEQ
Use partial charges obtained by electronegativity equilibration as guess.
Definition calculator.h:42
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_get_calculator_angular_momenta(tblite_context ctx, tblite_calculator calc, int *am)
tblite_mixer
Available self-consistent-field mixers.
Definition calculator.h:48
@ TBLITE_MIXER_BROYDEN
Use modified Broyden mixing.
Definition calculator.h:50
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_guess(tblite_context ctx, tblite_calculator calc, tblite_guess guess)
tblite_localization_method
Available orbital localization methods.
Definition calculator.h:54
@ TBLITE_LOCALIZATION_FOSTERBOYS
Foster-Boys localization.
Definition calculator.h:56
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_push_back_post_processing_str(tblite_context ctx, tblite_calculator calc, tblite_structure mol, char *charptr)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_mixer_damping(tblite_context ctx, tblite_calculator calc, double damping)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_push_back_post_processing_param(tblite_context ctx, tblite_calculator calc, tblite_structure mol, tblite_param param)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_mixer_memory(tblite_context ctx, tblite_calculator calc, int memory)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_max_iter(tblite_context ctx, tblite_calculator calc, int max_iter)
TBLITE_API_ENTRY tblite_calculator TBLITE_API_CALL tblite_new_gfn2_calculator(tblite_context ctx, tblite_structure mol, tblite_xtb_config *config)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_accuracy(tblite_context ctx, tblite_calculator calc, double acc)
TBLITE_API_ENTRY tblite_calculator TBLITE_API_CALL tblite_new_xtb_calculator(tblite_context ctx, tblite_structure mol, tblite_param param, tblite_xtb_config *config)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_get_calculator_orbital_map(tblite_context ctx, tblite_calculator calc, int *ao2sh)
TBLITE_API_ENTRY tblite_calculator TBLITE_API_CALL tblite_new_gfn1_calculator(tblite_context ctx, tblite_structure mol, tblite_xtb_config *config)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_get_singlepoint(tblite_context ctx, tblite_structure mol, tblite_calculator calc, tblite_result res)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_mixer(tblite_context ctx, tblite_calculator calc, tblite_mixer mixer)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_save_integrals(tblite_context ctx, tblite_calculator calc, int save_integrals)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_get_calculator_shell_count(tblite_context ctx, tblite_calculator calc, int *nsh)
struct _tblite_calculator * tblite_calculator
Single point calculator.
Definition calculator.h:60
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_delete_calculator(tblite_calculator *calc)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_get_calculator_orbital_count(tblite_context ctx, tblite_calculator calc, int *nao)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_temperature_annealing(tblite_context ctx, tblite_calculator calc, double initial_etemp, int hold, int cycles)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_set_calculator_temperature(tblite_context ctx, tblite_calculator calc, double etemp)
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_get_calculator_shell_map(tblite_context ctx, tblite_calculator calc, int *sh2at)
TBLITE_API_ENTRY tblite_calculator TBLITE_API_CALL tblite_new_ipea1_calculator(tblite_context ctx, tblite_structure mol, tblite_xtb_config *config)
Provides a persistent configuration object to modify the behaviour of a calculation....
General macro definitions for the tblite C API bindings.
#define TBLITE_API_ENTRY
Definition macros.h:49
#define TBLITE_API_CALL
Definition macros.h:57
Proxy module for the calculation context related data types.
Definition context.f90:59
Defininition of the parametrization data format.
Definition param.f90:25
Provides a representation of a parametrization of an xTB Hamiltonian which can be used to instantiate...
Provides a storage container tblite_result for all persistent quantities produced in a calculation by...
struct _tblite_result * tblite_result
Container to for storing and handling calculation results.
Definition result.h:37
Configuration for calculator setup.
Definition calculator.h:63
double smooth_cutoff
Smooth cutoff for the Fermi function in the GFN-xTB method (in Hartree).
Definition calculator.h:65
The structure data tblite_structure is used to represent the system of interest in the library.
struct _tblite_structure * tblite_structure
Definition structure.h:47