eOn 3.2.0
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
ASE_NWCHEM.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
** Copyright (c) 2010--present, eOn Development Team
7
** All rights reserved.
8
**
9
** Repo:
10
** https://github.com/TheochemUI/eOn
11
*/
12
#pragma once
13
#define PYBIND11_DETAILED_ERROR_MESSAGES
14
15
#include "
eon/Potential.h
"
16
17
#include <filesystem>
18
19
#include <pybind11/eigen.h>
20
#include <pybind11/embed.h>
21
#include <pybind11/pybind11.h>
22
23
namespace
py = pybind11;
24
25
class
ASENwchemPot
:
public
eonc::Potential
{
26
27
private
:
28
py::object
calc
;
29
py::object
ase
;
30
std::filesystem::path
workDir
;
31
size_t
counter
{0};
32
33
public
:
34
ASENwchemPot
(
const
eonc::Parameters
&a_params);
35
virtual
~ASENwchemPot
();
36
37
// Functions
38
void
force
(
long
nAtoms,
const
double
*R,
const
int
*atomicNrs,
double
*F,
39
double
*U,
double
*variance,
const
double
*box)
override
;
40
[[nodiscard]]
bool
isThreadSafe
() const noexcept
override
{
return
false
; }
42
[[nodiscard]]
bool
needsPerImageInstance
() const noexcept
override
{
43
return
true
;
44
}
45
46
[[nodiscard]]
bool
requiresIsolatedMoleculeLayout
() const noexcept
override
{
47
return
true
;
48
}
49
};
Potential.h
ASENwchemPot::force
void force(long nAtoms, const double *R, const int *atomicNrs, double *F, double *U, double *variance, const double *box) override
Definition
ASE_NWCHEM.cpp:139
ASENwchemPot::~ASENwchemPot
virtual ~ASENwchemPot()
Definition
ASE_NWCHEM.cpp:130
ASENwchemPot::requiresIsolatedMoleculeLayout
bool requiresIsolatedMoleculeLayout() const noexcept override
ASE-NWChem molecular SCF does not support PBC (#188).
Definition
ASE_NWCHEM.h:46
ASENwchemPot::ASENwchemPot
ASENwchemPot(const eonc::Parameters &a_params)
Definition
ASE_NWCHEM.cpp:47
ASENwchemPot::workDir
std::filesystem::path workDir
Definition
ASE_NWCHEM.h:30
ASENwchemPot::calc
py::object calc
Definition
ASE_NWCHEM.h:28
ASENwchemPot::isThreadSafe
bool isThreadSafe() const noexcept override
Whether this potential's force() can be called from multiple threads on the SAME instance.
Definition
ASE_NWCHEM.h:40
ASENwchemPot::needsPerImageInstance
bool needsPerImageInstance() const noexcept override
NWChem runs as external subprocess; separate instances are independent.
Definition
ASE_NWCHEM.h:42
ASENwchemPot::ase
py::object ase
Definition
ASE_NWCHEM.h:29
ASENwchemPot::counter
size_t counter
Definition
ASE_NWCHEM.h:31
eonc::Parameters
Definition
Parameters.h:35
eonc::Potential
Definition
Potential.h:42
include
eon
potentials
ASE_NWCHEM
ASE_NWCHEM.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf