Loading...
Searching...
No Matches
xtb_c_abi.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <stddef.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#ifdef _WIN32
19#ifdef RGPOT_XTB_ENGINE_BUILD
20#define RGPOT_XTB_API __declspec(dllexport)
21#else
22#define RGPOT_XTB_API __declspec(dllimport)
23#endif
24#else
25#define RGPOT_XTB_API __attribute__((visibility("default")))
26#endif
27
28typedef struct RgpotXtbPot RgpotXtbPot;
29
31enum {
36};
37
46
47#define RGPOT_XTB_ABI_VERSION 1
48
50
52 char *errbuf, size_t errlen);
53
55
61 const double *positions, const int *atomicNrs,
62 double *forces, double *energy,
63 double *variance, const double *box);
64
66
67#ifdef __cplusplus
68}
69#endif
double accuracy
Definition xtb_c_abi.h:40
int method
RGPOT_XTB_METHOD_*.
Definition xtb_c_abi.h:39
double charge
Definition xtb_c_abi.h:43
double electronic_temperature
Kelvin.
Definition xtb_c_abi.h:41
RGPOT_XTB_API int rgpot_xtb_abi_version(void)
@ RGPOT_XTB_METHOD_GFNFF
Definition xtb_c_abi.h:32
@ RGPOT_XTB_METHOD_GFN1
Definition xtb_c_abi.h:34
@ RGPOT_XTB_METHOD_GFN2
Definition xtb_c_abi.h:35
@ RGPOT_XTB_METHOD_GFN0
Definition xtb_c_abi.h:33
RGPOT_XTB_API RgpotXtbPot * rgpot_xtb_create(const RgpotXtbConfig *cfg, char *errbuf, size_t errlen)
#define RGPOT_XTB_API
Definition xtb_c_abi.h:25
struct RgpotXtbPot RgpotXtbPot
Definition xtb_c_abi.h:28
RGPOT_XTB_API int rgpot_xtb_available(void)
RGPOT_XTB_API void rgpot_xtb_destroy(RgpotXtbPot *pot)
RGPOT_XTB_API int rgpot_xtb_force(RgpotXtbPot *pot, long nAtoms, const double *positions, const int *atomicNrs, double *forces, double *energy, double *variance, const double *box)
Energy + forces.