33 <<
"WARNING: native XTBPot (-Dwith_xtb) is deprecated for packaging; "
34 "prefer potential=RGPOT with [RgpotPot] backend=xtb "
35 "(dlopen libxtb_engine.so; set RGPOT_XTB_ENGINE).\n";
44 throw std::runtime_error(
"Failed to create xtb environment");
49 throw std::runtime_error(
"Failed to create xtb calculator");
54 throw std::runtime_error(
"Failed to create xtb results");
66 throw std::runtime_error(
"Parameter set for XTB must be one of GFNFF, "
67 "GFN0xTB, GFN1xTB or GFN2xTB.\n");
85 QUILL_LOG_INFO(
eonc::log::get(),
"[XTB] called potential {} times",
96 void force(
long N,
const double *R,
const int *atomicNrs,
double *F,
97 double *U,
double *variance,
const double *box)
override;
101 [[nodiscard]]
bool isThreadSafe() const noexcept
override {
return false; }
XTBPot(const Parameters &p)
double xtb_electronic_temperature
bool isThreadSafe() const noexcept override
XTB Fortran library uses per-instance state (env/calc).
void force(long N, const double *R, const int *atomicNrs, double *F, double *U, double *variance, const double *box) override
bool needsPerImageInstance() const noexcept override
XTB restart.f90 uses global Fortran file units that collide when multiple environments exist in one p...
XTBPot(const XTBPot &)=delete
XTBPot & operator=(const XTBPot &)=delete
struct eonc::Parameters::xtb_options_t xtb_options
Potential(PotType a_ptype)
quill::Logger * get() noexcept
Get or create the default "combi" logger.
Physical constants, unit conversion.
XTB_API_ENTRY xtb_TCalculator XTB_API_CALL xtb_newCalculator(void) XTB_API_SUFFIX__VERSION_2_0_0
Create new calculator object.
struct _xtb_TCalculator * xtb_TCalculator
Single point calculator class.
struct _xtb_TEnvironment * xtb_TEnvironment
Calculation environment class.
XTB_API_ENTRY void XTB_API_CALL xtb_delMolecule(xtb_TMolecule *) XTB_API_SUFFIX__VERSION_2_0_0
Delete molecular structure data.
XTB_API_ENTRY void XTB_API_CALL xtb_delResults(xtb_TResults *) XTB_API_SUFFIX__VERSION_2_0_0
Delete singlepoint results object.
struct _xtb_TMolecule * xtb_TMolecule
Molecular structure data class.
XTB_API_ENTRY xtb_TEnvironment XTB_API_CALL xtb_newEnvironment(void) XTB_API_SUFFIX__VERSION_2_0_0
Create new xtb calculation environment object.
#define XTB_VERBOSITY_MUTED
XTB_API_ENTRY void XTB_API_CALL xtb_setVerbosity(xtb_TEnvironment, int) XTB_API_SUFFIX__VERSION_2_0_0
Set verbosity of calculation output.
XTB_API_ENTRY void XTB_API_CALL xtb_releaseOutput(xtb_TEnvironment) XTB_API_SUFFIX__VERSION_2_0_0
Release output unit from this environment.
XTB_API_ENTRY void XTB_API_CALL xtb_delEnvironment(xtb_TEnvironment *) XTB_API_SUFFIX__VERSION_2_0_0
Delete a xtb calculation environment object.
XTB_API_ENTRY xtb_TResults XTB_API_CALL xtb_newResults(void) XTB_API_SUFFIX__VERSION_2_0_0
Create new singlepoint results object.
struct _xtb_TResults * xtb_TResults
Single point results class.
XTB_API_ENTRY void XTB_API_CALL xtb_delCalculator(xtb_TCalculator *) XTB_API_SUFFIX__VERSION_2_0_0
Delete calculator object.