eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
BaseStructures.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
#include <memory>
14
#include <string>
15
16
#include <magic_enum/magic_enum_all.hpp>
17
18
#include <format>
19
20
#include "quill/Backend.h"
21
#include "quill/Frontend.h"
22
#include "quill/LogMacros.h"
23
#include "quill/Logger.h"
24
#include "quill/sinks/ConsoleSink.h"
25
#include "quill/sinks/FileSink.h"
26
27
// This file contains forward declarations and enum classes
28
// NOTE(rg):
29
// We use magic_enum for converting <-> strings so the names have to match what
30
// the user will input, though we are case-insensitive
31
32
/* Don't guard with compiler directives anymore because that will break ABI for
33
* any of these */
34
namespace
eonc
{
35
36
enum class
PotType
{
37
// Only add to the end of this!!!
38
UNKNOWN
= 0,
39
EMT
,
40
EXT_POT
,
41
LJ
,
42
LJCLUSTER
,
43
MORSE_PT
,
44
CUH2
,
45
TIP4P
,
46
TIP4P_PT
,
47
TIP4P_H
,
48
SPCE
,
49
EAM_AL
,
50
EDIP
,
51
FEHE
,
52
LENOSKY_SI
,
53
SW_SI
,
54
TERSOFF_SI
,
55
VASP
,
56
LAMMPS
,
57
MPI
,
58
// Add newer entries here
59
AMS
,
60
AMS_IO
,
61
GPR
,
62
CatLearn
,
63
XTB
,
64
ASE_ORCA
,
65
ASE_POT
,
66
ASE_NWCHEM
,
67
METATOMIC
,
68
ZBL
,
69
SocketNWChem
,
70
RGPOT
71
};
72
73
enum class
JobType
{
74
// Only add to the end of this!!!
75
Unknown
= 0,
76
Process_Search
,
77
Saddle_Search
,
78
Minimization
,
79
Point
,
80
Parallel_Replica
,
81
Safe_Hyperdynamics
,
82
TAD
,
83
Replica_Exchange
,
84
Basin_Hopping
,
85
Hessian
,
86
Finite_Difference
,
87
Nudged_Elastic_Band
,
88
Dynamics
,
89
Prefactor
,
90
Global_Optimization
,
91
Structure_Comparison
,
92
Monte_Carlo
,
93
Test
,
94
GP_Surrogate
,
95
OH_TST
96
};
97
98
enum class
OptType
{
99
// Only add to the end of this!!!
100
Unknown
= -1,
// an error case
101
None
= 0,
102
QM
,
103
CG
,
104
LBFGS
,
105
FIRE
,
106
SD
107
};
108
109
enum class
NEBInit
{
LINEAR
,
IDPP
,
IDPP_COLLECTIVE
,
SIDPP
,
SIDPP_ZBL
,
FILE
};
110
111
enum class
RunStatus
{
GOOD
= 0,
FAIL_MAX_ITERATIONS
,
FAIL_POTENTIAL_FAILED
};
112
113
// Dimer rotation / softest-mode estimation backend (Leng et al. JCP 2013 LOR,
114
// classical constrained rotation, or FD min-mode Lanczos/Davidson).
115
// Names match INI tokens (magic_enum, case-insensitive).
116
enum class
DimerRotationBackend
{
117
Classical
= 0,
118
Lanczos
,
119
Davidson
,
120
LOR
,
121
};
122
123
}
// namespace eonc
124
125
// Backward-compat aliases during migration
126
using
eonc::DimerRotationBackend
;
127
using
eonc::JobType
;
128
using
eonc::NEBInit
;
129
using
eonc::OptType
;
130
using
eonc::PotType
;
131
using
eonc::RunStatus
;
AMS_IO
Definition
AMS_IO.h:19
AMS
Definition
AMS.h:33
EMT
The Effective Medium Theory (EMT) potential.
Definition
EMT.h:24
VASP
Definition
VASP.h:16
eonc::Davidson
Davidson method for the lowest Hessian curvature mode (min-mode).
Definition
Davidson.h:31
eonc::Dynamics
Definition
Dynamics.h:54
eonc::FIRE
Definition
FIRE.h:19
eonc::Hessian
Definition
Hessian.h:21
eonc::LBFGS
Definition
LBFGS.h:27
eonc::Lanczos
Definition
Lanczos.h:26
eonc::Prefactor
Definition
Prefactor.h:21
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
eonc::OptType
OptType
Definition
BaseStructures.h:98
eonc::OptType::SD
@ SD
Definition
BaseStructures.h:106
eonc::OptType::CG
@ CG
Definition
BaseStructures.h:103
eonc::OptType::None
@ None
Definition
BaseStructures.h:101
eonc::OptType::QM
@ QM
Definition
BaseStructures.h:102
eonc::PotType
PotType
Definition
BaseStructures.h:36
eonc::PotType::LJCLUSTER
@ LJCLUSTER
Definition
BaseStructures.h:42
eonc::PotType::ASE_POT
@ ASE_POT
Definition
BaseStructures.h:65
eonc::PotType::TIP4P_H
@ TIP4P_H
Definition
BaseStructures.h:47
eonc::PotType::XTB
@ XTB
Definition
BaseStructures.h:63
eonc::PotType::TERSOFF_SI
@ TERSOFF_SI
Definition
BaseStructures.h:54
eonc::PotType::METATOMIC
@ METATOMIC
Definition
BaseStructures.h:67
eonc::PotType::EDIP
@ EDIP
Definition
BaseStructures.h:50
eonc::PotType::LJ
@ LJ
Definition
BaseStructures.h:41
eonc::PotType::MPI
@ MPI
Definition
BaseStructures.h:57
eonc::PotType::TIP4P
@ TIP4P
Definition
BaseStructures.h:45
eonc::PotType::RGPOT
@ RGPOT
Definition
BaseStructures.h:70
eonc::PotType::ZBL
@ ZBL
Definition
BaseStructures.h:68
eonc::PotType::UNKNOWN
@ UNKNOWN
Definition
BaseStructures.h:38
eonc::PotType::ASE_ORCA
@ ASE_ORCA
Definition
BaseStructures.h:64
eonc::PotType::CatLearn
@ CatLearn
Definition
BaseStructures.h:62
eonc::PotType::LENOSKY_SI
@ LENOSKY_SI
Definition
BaseStructures.h:52
eonc::PotType::SW_SI
@ SW_SI
Definition
BaseStructures.h:53
eonc::PotType::EAM_AL
@ EAM_AL
Definition
BaseStructures.h:49
eonc::PotType::ASE_NWCHEM
@ ASE_NWCHEM
Definition
BaseStructures.h:66
eonc::PotType::SPCE
@ SPCE
Definition
BaseStructures.h:48
eonc::PotType::CUH2
@ CUH2
Definition
BaseStructures.h:44
eonc::PotType::EXT_POT
@ EXT_POT
Definition
BaseStructures.h:40
eonc::PotType::LAMMPS
@ LAMMPS
Definition
BaseStructures.h:56
eonc::PotType::GPR
@ GPR
Definition
BaseStructures.h:61
eonc::PotType::SocketNWChem
@ SocketNWChem
Definition
BaseStructures.h:69
eonc::PotType::FEHE
@ FEHE
Definition
BaseStructures.h:51
eonc::PotType::MORSE_PT
@ MORSE_PT
Definition
BaseStructures.h:43
eonc::PotType::TIP4P_PT
@ TIP4P_PT
Definition
BaseStructures.h:46
eonc::NEBInit
NEBInit
Definition
BaseStructures.h:109
eonc::NEBInit::SIDPP
@ SIDPP
Definition
BaseStructures.h:109
eonc::NEBInit::SIDPP_ZBL
@ SIDPP_ZBL
Definition
BaseStructures.h:109
eonc::NEBInit::IDPP
@ IDPP
Definition
BaseStructures.h:109
eonc::NEBInit::FILE
@ FILE
Definition
BaseStructures.h:109
eonc::NEBInit::LINEAR
@ LINEAR
Definition
BaseStructures.h:109
eonc::NEBInit::IDPP_COLLECTIVE
@ IDPP_COLLECTIVE
Definition
BaseStructures.h:109
eonc::DimerRotationBackend
DimerRotationBackend
Definition
BaseStructures.h:116
eonc::DimerRotationBackend::Classical
@ Classical
Definition
BaseStructures.h:117
eonc::DimerRotationBackend::LOR
@ LOR
Definition
BaseStructures.h:120
eonc::RunStatus
RunStatus
Definition
BaseStructures.h:111
eonc::RunStatus::GOOD
@ GOOD
Definition
BaseStructures.h:111
eonc::RunStatus::FAIL_MAX_ITERATIONS
@ FAIL_MAX_ITERATIONS
Definition
BaseStructures.h:111
eonc::RunStatus::FAIL_POTENTIAL_FAILED
@ FAIL_POTENTIAL_FAILED
Definition
BaseStructures.h:111
eonc::JobType
JobType
Definition
BaseStructures.h:73
eonc::JobType::Structure_Comparison
@ Structure_Comparison
Definition
BaseStructures.h:91
eonc::JobType::Test
@ Test
Definition
BaseStructures.h:93
eonc::JobType::Point
@ Point
Definition
BaseStructures.h:79
eonc::JobType::Safe_Hyperdynamics
@ Safe_Hyperdynamics
Definition
BaseStructures.h:81
eonc::JobType::TAD
@ TAD
Definition
BaseStructures.h:82
eonc::JobType::Replica_Exchange
@ Replica_Exchange
Definition
BaseStructures.h:83
eonc::JobType::Nudged_Elastic_Band
@ Nudged_Elastic_Band
Definition
BaseStructures.h:87
eonc::JobType::Unknown
@ Unknown
Definition
BaseStructures.h:75
eonc::JobType::Finite_Difference
@ Finite_Difference
Definition
BaseStructures.h:86
eonc::JobType::Monte_Carlo
@ Monte_Carlo
Definition
BaseStructures.h:92
eonc::JobType::Process_Search
@ Process_Search
Definition
BaseStructures.h:76
eonc::JobType::Global_Optimization
@ Global_Optimization
Definition
BaseStructures.h:90
eonc::JobType::Minimization
@ Minimization
Definition
BaseStructures.h:78
eonc::JobType::GP_Surrogate
@ GP_Surrogate
Definition
BaseStructures.h:94
eonc::JobType::Saddle_Search
@ Saddle_Search
Definition
BaseStructures.h:77
eonc::JobType::OH_TST
@ OH_TST
Definition
BaseStructures.h:95
eonc::JobType::Parallel_Replica
@ Parallel_Replica
Definition
BaseStructures.h:80
eonc::JobType::Basin_Hopping
@ Basin_Hopping
Definition
BaseStructures.h:84
include
eon
BaseStructures.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf