eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
metatomic_c_abi.h
Go to the documentation of this file.
1
8
#pragma once
9
10
#include <stddef.h>
11
12
#ifdef __cplusplus
13
extern
"C"
{
14
#endif
15
16
#ifdef _WIN32
17
#ifdef RGPOT_MTA_ENGINE_BUILD
18
#define RGPOT_MTA_API __declspec(dllexport)
19
#else
20
#define RGPOT_MTA_API __declspec(dllimport)
21
#endif
22
#else
23
#define RGPOT_MTA_API __attribute__((visibility("default")))
24
#endif
25
26
typedef
struct
RgpotMtaPot
RgpotMtaPot
;
27
29
typedef
struct
RgpotMtaConfig
{
30
const
char
*
model_path
;
31
const
char
*
device
;
32
const
char
*
length_unit
;
33
const
char
*
extensions_directory
;
34
int
check_consistency
;
35
double
uncertainty_threshold
;
36
const
char
*
dtype_override
;
37
int
random_rotation
;
38
long
n_symmetry_rotations
;
39
int
so3_probe_scatter
;
40
int
torch_determinism_strict
;
41
}
RgpotMtaConfig
;
42
43
#define RGPOT_MTA_ABI_VERSION 1
44
45
RGPOT_MTA_API
int
rgpot_mta_abi_version
(
void
);
46
47
RGPOT_MTA_API
RgpotMtaPot
*
rgpot_mta_create
(
const
RgpotMtaConfig
*cfg,
48
char
*errbuf,
size_t
errlen);
49
50
RGPOT_MTA_API
void
rgpot_mta_destroy
(
RgpotMtaPot
*pot);
51
56
RGPOT_MTA_API
int
rgpot_mta_force
(
RgpotMtaPot
*pot,
long
nAtoms,
57
const
double
*positions,
const
int
*atomicNrs,
58
double
*forces,
double
*energy,
59
double
*variance,
const
double
*box);
60
61
RGPOT_MTA_API
int
rgpot_mta_available
(
void
);
62
63
#ifdef __cplusplus
64
}
65
#endif
rgpot_mta_abi_version
RGPOT_MTA_API int rgpot_mta_abi_version(void)
Definition
MetatomicEngineAbi.cpp:29
RGPOT_MTA_API
#define RGPOT_MTA_API
Definition
metatomic_c_abi.h:23
rgpot_mta_destroy
RGPOT_MTA_API void rgpot_mta_destroy(RgpotMtaPot *pot)
Definition
MetatomicEngineAbi.cpp:62
rgpot_mta_create
RGPOT_MTA_API RgpotMtaPot * rgpot_mta_create(const RgpotMtaConfig *cfg, char *errbuf, size_t errlen)
Definition
MetatomicEngineAbi.cpp:32
rgpot_mta_force
RGPOT_MTA_API int rgpot_mta_force(RgpotMtaPot *pot, long nAtoms, const double *positions, const int *atomicNrs, double *forces, double *energy, double *variance, const double *box)
Energy + forces.
Definition
MetatomicEngineAbi.cpp:64
rgpot_mta_available
RGPOT_MTA_API int rgpot_mta_available(void)
Definition
MetatomicEngineAbi.cpp:30
RgpotMtaConfig
Flat config (subset of MetatomicConfig).
Definition
metatomic_c_abi.h:29
RgpotMtaConfig::random_rotation
int random_rotation
Definition
metatomic_c_abi.h:37
RgpotMtaConfig::n_symmetry_rotations
long n_symmetry_rotations
Definition
metatomic_c_abi.h:38
RgpotMtaConfig::extensions_directory
const char * extensions_directory
Definition
metatomic_c_abi.h:33
RgpotMtaConfig::uncertainty_threshold
double uncertainty_threshold
Definition
metatomic_c_abi.h:35
RgpotMtaConfig::device
const char * device
Definition
metatomic_c_abi.h:31
RgpotMtaConfig::dtype_override
const char * dtype_override
Definition
metatomic_c_abi.h:36
RgpotMtaConfig::model_path
const char * model_path
Definition
metatomic_c_abi.h:30
RgpotMtaConfig::so3_probe_scatter
int so3_probe_scatter
Definition
metatomic_c_abi.h:39
RgpotMtaConfig::check_consistency
int check_consistency
Definition
metatomic_c_abi.h:34
RgpotMtaConfig::length_unit
const char * length_unit
Definition
metatomic_c_abi.h:32
RgpotMtaConfig::torch_determinism_strict
int torch_determinism_strict
0=Fast, 1=Strict
Definition
metatomic_c_abi.h:40
RgpotMtaPot
Definition
MetatomicEngineAbi.cpp:17
include
eon
potentials
Rgpot
metatomic_c_abi.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf