#include <AMS.h>
Public Member Functions | |
| AMS (const Parameters &p) | |
| ~AMS () | |
| void | initialize () |
| void | cleanMemory (void) |
| void | force (long N, const double *R, const int *atomicNrs, double *F, double *U, double *variance, const double *box) |
| Public Member Functions inherited from eonc::Potential | |
| Potential (PotType a_ptype) | |
| Potential (PotType a_ptype, const Parameters &) | |
| Potential (const Parameters &a_params) | |
| virtual | ~Potential () |
| std::tuple< double, AtomMatrix > | get_ef (const AtomMatrix &pos, const VectorXi &atmnrs, const Matrix3d &box) |
| PotType | getType () const |
| virtual bool | isSurrogate () const noexcept |
| Whether this is a surrogate (GP) potential. | |
| virtual bool | requiresIsolatedMoleculeLayout () const noexcept |
| True for molecular QM / non-PBC backends (NWChem socket, ASE ORCA/NWChem, …). | |
| virtual bool | isThreadSafe () const noexcept |
| Whether this potential's force() can be called from multiple threads on the SAME instance. | |
| virtual bool | isSharedInstanceThreadSafe () const noexcept |
| Conservative gate for sharing one Potential instance across threads. | |
| virtual bool | needsPerImageInstance () const noexcept |
| Whether NEB should create separate Potential instances per image for true parallel force evaluation. | |
| virtual bool | supportsBatchEvaluation () const noexcept |
| Whether this potential supports batched evaluation of N systems in a single call. | |
| virtual void | forceBatch (long nSystems, long nAtoms, const double *const *positions, const int *const *atomicNrs, double *const *forces, double *energies, double *variances, const double *const *boxes) |
| Evaluate forces for N systems in a single call. | |
Private Member Functions | |
| void | passToSystem (long N, const double *R, const int *atomicNrs, const double *box) |
| < Creates a script to run AMS | |
| void | smallSys (long N, const double *R, const int *atomicNrs, const double *box) |
| Flush, close and make the run script executable. | |
| void | finishRunScript (std::ofstream &out) |
| Copy 3N gradient components into the caller's force array. | |
| void | copyForces (long N, const std::vector< double > &frc, double *F) |
| void | switchjob () |
| void | write_restart () |
| std::string | generate_run (const Parameters &p) |
| void | runAMS () |
| void | updateCoord (long N, const double *R) |
| void | extract_rkf (long N, std::string key) |
| double | extract_scalar_rkf (std::string key) |
| std::vector< double > | extract_cartesian_rkf (std::string key) |
| bool | validate_order () |
| std::string | readFile (std::filesystem::path path) |
| void | recieveFromSystem (long N, double *F, double *U) |
Private Attributes | |
| std::string | engine |
| std::string | forcefield |
| std::string | model |
| std::string | xc |
| std::string | resources |
| std::string | basis |
| std::string | engine_setup |
| std::string | engine_lower |
| boost::process::native_environment | nativenv |
| int | amsevals {0} |
| bool | first_run |
| bool | can_restart |
| std::string | cjob |
| std::string | pjob |
| std::ofstream | restartFrom |
| const double | forceConversion |
| const double | energyConversion = 27.2114 |
| const double | lengthConversion = 1.88973 |
Additional Inherited Members | |
| Public Attributes inherited from eonc::Potential | |
| std::atomic< size_t > | forceCallCounter |
| Protected Attributes inherited from eonc::Potential | |
| PotType | ptype |
| AMS::AMS | ( | const Parameters & | p | ) |
Definition at line 24 of file AMS.cpp.
| AMS::~AMS | ( | ) |
Definition at line 77 of file AMS.cpp.
|
private |
Definition at line 376 of file AMS.cpp.
|
private |
Definition at line 211 of file AMS.cpp.
|
private |
|
private |
Definition at line 152 of file AMS.cpp.
|
private |
|
virtual |
Implements eonc::Potential.
Definition at line 389 of file AMS.cpp.
|
private |
Definition at line 511 of file AMS.cpp.
|
private |
< Creates a script to run AMS
Definition at line 430 of file AMS.cpp.
|
private |
|
private |
|
private |
Definition at line 122 of file AMS.cpp.
|
private |
Flush, close and make the run script executable.
Definition at line 474 of file AMS.cpp.
|
private |
|
private |
Definition at line 282 of file AMS.cpp.
|
private |
|
private |
Definition at line 355 of file AMS.cpp.
|
private |