eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
RGPotEngine.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <memory>
4
#include <string>
5
6
struct
RGPotEngineOptions
{
7
std::string
backend
;
8
std::string
basis
{
"sto-3g"
};
9
std::string
theory
{
"scf"
};
10
std::string
scf_type
{
"rhf"
};
11
std::string
functional
{
"BLYP"
};
12
double
cutoff_ry
{70.0};
13
int
charge
{0};
14
int
multiplicity
{1};
15
std::string
engine_path
;
16
std::string
engine_library
;
17
std::string
engine_root
;
18
std::string
title
;
19
int
memory_mb
{0};
20
std::string
scratch_dir
;
21
std::string
input_block
;
// optional NWChem inputBlocks text
22
// Metatomic (backend=metatomic): dlopen libmetatomic_engine.so
23
std::string
model_path
;
24
std::string
device
{
"cpu"
};
25
std::string
length_unit
{
"angstrom"
};
26
std::string
extensions_directory
;
27
bool
check_consistency
{
false
};
28
double
uncertainty_threshold
{-1.0};
29
bool
torch_determinism_strict
{
false
};
30
// XTB (backend=xtb): dlopen libxtb_engine.so — not native -Dwith_xtb link
31
std::string
xtb_paramset
{
"GFN2xTB"
};
// GFNFF / GFN0xTB / GFN1xTB / GFN2xTB
32
double
xtb_accuracy
{1.0};
33
double
xtb_electronic_temperature
{300.0};
34
int
xtb_max_iterations
{250};
35
double
xtb_charge
{0.0};
36
int
xtb_uhf
{0};
37
};
38
40
class
RGPotEngine
{
41
public
:
42
explicit
RGPotEngine
(
const
RGPotEngineOptions
&opt);
43
~RGPotEngine
();
44
RGPotEngine
(
const
RGPotEngine
&) =
delete
;
45
RGPotEngine
&
operator=
(
const
RGPotEngine
&) =
delete
;
46
47
[[nodiscard]]
const
std::string &
backend
() const noexcept {
return
backend_
; }
48
[[nodiscard]]
bool
available
()
const
;
49
void
force
(
long
N,
const
double
*R,
const
int
*atomicNrs,
double
*F,
50
double
*U,
const
double
*box)
const
;
51
52
private
:
53
struct
Impl;
54
std::unique_ptr<Impl>
impl_
;
55
std::string
backend_
;
56
};
RGPotEngine::available
bool available() const
Definition
RGPotEngine.cpp:201
RGPotEngine::RGPotEngine
RGPotEngine(const RGPotEngineOptions &opt)
Definition
RGPotEngine.cpp:80
RGPotEngine::RGPotEngine
RGPotEngine(const RGPotEngine &)=delete
RGPotEngine::operator=
RGPotEngine & operator=(const RGPotEngine &)=delete
RGPotEngine::backend
const std::string & backend() const noexcept
Definition
RGPotEngine.h:47
RGPotEngine::~RGPotEngine
~RGPotEngine()
RGPotEngine::impl_
std::unique_ptr< Impl > impl_
Definition
RGPotEngine.h:54
RGPotEngine::backend_
std::string backend_
Definition
RGPotEngine.h:55
RGPotEngine::force
void force(long N, const double *R, const int *atomicNrs, double *F, double *U, const double *box) const
Definition
RGPotEngine.cpp:215
RGPotEngineOptions
Definition
RGPotEngine.h:6
RGPotEngineOptions::xtb_uhf
int xtb_uhf
Definition
RGPotEngine.h:36
RGPotEngineOptions::scf_type
std::string scf_type
Definition
RGPotEngine.h:10
RGPotEngineOptions::check_consistency
bool check_consistency
Definition
RGPotEngine.h:27
RGPotEngineOptions::title
std::string title
Definition
RGPotEngine.h:18
RGPotEngineOptions::multiplicity
int multiplicity
Definition
RGPotEngine.h:14
RGPotEngineOptions::xtb_paramset
std::string xtb_paramset
Definition
RGPotEngine.h:31
RGPotEngineOptions::basis
std::string basis
Definition
RGPotEngine.h:8
RGPotEngineOptions::scratch_dir
std::string scratch_dir
Definition
RGPotEngine.h:20
RGPotEngineOptions::engine_path
std::string engine_path
Definition
RGPotEngine.h:15
RGPotEngineOptions::cutoff_ry
double cutoff_ry
Definition
RGPotEngine.h:12
RGPotEngineOptions::xtb_max_iterations
int xtb_max_iterations
Definition
RGPotEngine.h:34
RGPotEngineOptions::memory_mb
int memory_mb
Definition
RGPotEngine.h:19
RGPotEngineOptions::backend
std::string backend
Definition
RGPotEngine.h:7
RGPotEngineOptions::extensions_directory
std::string extensions_directory
Definition
RGPotEngine.h:26
RGPotEngineOptions::engine_library
std::string engine_library
Definition
RGPotEngine.h:16
RGPotEngineOptions::xtb_electronic_temperature
double xtb_electronic_temperature
Definition
RGPotEngine.h:33
RGPotEngineOptions::charge
int charge
Definition
RGPotEngine.h:13
RGPotEngineOptions::functional
std::string functional
Definition
RGPotEngine.h:11
RGPotEngineOptions::length_unit
std::string length_unit
Definition
RGPotEngine.h:25
RGPotEngineOptions::torch_determinism_strict
bool torch_determinism_strict
Definition
RGPotEngine.h:29
RGPotEngineOptions::device
std::string device
Definition
RGPotEngine.h:24
RGPotEngineOptions::model_path
std::string model_path
Definition
RGPotEngine.h:23
RGPotEngineOptions::xtb_accuracy
double xtb_accuracy
Definition
RGPotEngine.h:32
RGPotEngineOptions::engine_root
std::string engine_root
Definition
RGPotEngine.h:17
RGPotEngineOptions::uncertainty_threshold
double uncertainty_threshold
Definition
RGPotEngine.h:28
RGPotEngineOptions::theory
std::string theory
Definition
RGPotEngine.h:9
RGPotEngineOptions::input_block
std::string input_block
Definition
RGPotEngine.h:21
RGPotEngineOptions::xtb_charge
double xtb_charge
Definition
RGPotEngine.h:35
include
eon
potentials
Rgpot
RGPotEngine.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf