eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
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
15
extern
"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
28
typedef
struct
RgpotXtbPot
RgpotXtbPot
;
29
31
enum
{
32
RGPOT_XTB_METHOD_GFNFF
= 0,
33
RGPOT_XTB_METHOD_GFN0
= 1,
34
RGPOT_XTB_METHOD_GFN1
= 2,
35
RGPOT_XTB_METHOD_GFN2
= 3
36
};
37
38
typedef
struct
RgpotXtbConfig
{
39
int
method
;
40
double
accuracy
;
41
double
electronic_temperature
;
42
int
max_iterations
;
43
double
charge
;
44
int
uhf
;
45
}
RgpotXtbConfig
;
46
47
#define RGPOT_XTB_ABI_VERSION 1
48
49
RGPOT_XTB_API
int
rgpot_xtb_abi_version
(
void
);
50
51
RGPOT_XTB_API
RgpotXtbPot
*
rgpot_xtb_create
(
const
RgpotXtbConfig
*cfg,
52
char
*errbuf,
size_t
errlen);
53
54
RGPOT_XTB_API
void
rgpot_xtb_destroy
(
RgpotXtbPot
*pot);
55
60
RGPOT_XTB_API
int
rgpot_xtb_force
(
RgpotXtbPot
*pot,
long
nAtoms,
61
const
double
*positions,
const
int
*atomicNrs,
62
double
*forces,
double
*energy,
63
double
*variance,
const
double
*box);
64
65
RGPOT_XTB_API
int
rgpot_xtb_available
(
void
);
66
67
#ifdef __cplusplus
68
}
69
#endif
RgpotXtbConfig
Definition
xtb_c_abi.h:38
RgpotXtbConfig::max_iterations
int max_iterations
Definition
xtb_c_abi.h:42
RgpotXtbConfig::accuracy
double accuracy
Definition
xtb_c_abi.h:40
RgpotXtbConfig::method
int method
RGPOT_XTB_METHOD_*.
Definition
xtb_c_abi.h:39
RgpotXtbConfig::charge
double charge
Definition
xtb_c_abi.h:43
RgpotXtbConfig::electronic_temperature
double electronic_temperature
Kelvin.
Definition
xtb_c_abi.h:41
RgpotXtbConfig::uhf
int uhf
Definition
xtb_c_abi.h:44
rgpot_xtb_abi_version
RGPOT_XTB_API int rgpot_xtb_abi_version(void)
RGPOT_XTB_METHOD_GFNFF
@ RGPOT_XTB_METHOD_GFNFF
Definition
xtb_c_abi.h:32
RGPOT_XTB_METHOD_GFN1
@ RGPOT_XTB_METHOD_GFN1
Definition
xtb_c_abi.h:34
RGPOT_XTB_METHOD_GFN2
@ RGPOT_XTB_METHOD_GFN2
Definition
xtb_c_abi.h:35
RGPOT_XTB_METHOD_GFN0
@ RGPOT_XTB_METHOD_GFN0
Definition
xtb_c_abi.h:33
rgpot_xtb_create
RGPOT_XTB_API RgpotXtbPot * rgpot_xtb_create(const RgpotXtbConfig *cfg, char *errbuf, size_t errlen)
RGPOT_XTB_API
#define RGPOT_XTB_API
Definition
xtb_c_abi.h:25
RgpotXtbPot
struct RgpotXtbPot RgpotXtbPot
Definition
xtb_c_abi.h:28
rgpot_xtb_available
RGPOT_XTB_API int rgpot_xtb_available(void)
rgpot_xtb_destroy
RGPOT_XTB_API void rgpot_xtb_destroy(RgpotXtbPot *pot)
rgpot_xtb_force
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.
include
eon
potentials
Rgpot
xtb_c_abi.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf