eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
MetatomicDynPot.h
Go to the documentation of this file.
1
/*
2
** This file is part of eOn.
3
**
4
** SPDX-License-Identifier: BSD-3-Clause
5
**
6
** Thin host-side Potential: all torch/metatomic work happens in
7
** libmetatomic_pot.so via C ABI (dlopen).
8
*/
9
#pragma once
10
11
#include "
eon/Potential.h
"
12
#include "
metatomic_c_abi.h
"
13
14
namespace
eonc
{
15
16
class
MetatomicDynPot
:
public
Potential
{
17
public
:
18
explicit
MetatomicDynPot
(
const
Parameters
¶ms);
19
~MetatomicDynPot
()
override
;
20
21
void
force
(
long
nAtoms,
const
double
*positions,
const
int
*atomicNrs,
22
double
*forces,
double
*energy,
double
*variance,
23
const
double
*box)
override
;
24
25
[[nodiscard]]
bool
isThreadSafe
() const noexcept
override
{
return
false
; }
26
[[nodiscard]]
bool
needsPerImageInstance
() const noexcept
override
{
27
return
false
;
28
}
29
30
private
:
31
EonMtaPot
*
m_handle
{
nullptr
};
32
};
33
34
}
// namespace eonc
metatomic_c_abi.h
Potential.h
eonc::MetatomicDynPot::force
void force(long nAtoms, const double *positions, const int *atomicNrs, double *forces, double *energy, double *variance, const double *box) override
Definition
MetatomicDynPot.cpp:59
eonc::MetatomicDynPot::~MetatomicDynPot
~MetatomicDynPot() override
Definition
MetatomicDynPot.cpp:52
eonc::MetatomicDynPot::MetatomicDynPot
MetatomicDynPot(const Parameters ¶ms)
Definition
MetatomicDynPot.cpp:39
eonc::MetatomicDynPot::needsPerImageInstance
bool needsPerImageInstance() const noexcept override
Whether NEB should create separate Potential instances per image for true parallel force evaluation.
Definition
MetatomicDynPot.h:26
eonc::MetatomicDynPot::isThreadSafe
bool isThreadSafe() const noexcept override
Whether this potential's force() can be called from multiple threads on the SAME instance.
Definition
MetatomicDynPot.h:25
eonc::MetatomicDynPot::m_handle
EonMtaPot * m_handle
Definition
MetatomicDynPot.h:31
eonc::Parameters
Definition
Parameters.h:28
eonc::Potential::Potential
Potential(PotType a_ptype)
Definition
Potential.h:35
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
EonMtaPot
Definition
MetatomicCAbi.cpp:19
include
eon
potentials
Metatomic
MetatomicDynPot.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf