eOn 3.2.0
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
Job.cpp
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
#include "
eon/Job.h
"
13
#include "
eon/BasinHoppingJob.h
"
14
#include "
eon/DynamicsJob.h
"
15
#include "
eon/FiniteDifferenceJob.h
"
16
#include "
eon/GlobalOptimizationJob.h
"
17
#include "
eon/HessianJob.h
"
18
#include "
eon/InstantonJob.h
"
19
#include "
eon/JobRegistry.h
"
20
#include "
eon/MinimizationJob.h
"
21
#include "
eon/MonteCarloJob.h
"
22
#include "
eon/NudgedElasticBandJob.h
"
23
#include "
eon/OHTSTJob.h
"
24
#include "
eon/ParallelReplicaJob.h
"
25
#include "
eon/Parameters.h
"
26
#include "
eon/PointJob.h
"
27
#include "
eon/PrefactorJob.h
"
28
#include "
eon/ProcessSearchJob.h
"
29
#include "
eon/ReplicaExchangeJob.h
"
30
#include "
eon/SaddleSearchJob.h
"
31
#include "
eon/SafeHyperJob.h
"
32
#include "
eon/StructureComparisonJob.h
"
33
#include "
eon/TADJob.h
"
34
#include "
eon/TestJob.h
"
35
36
#include <memory>
37
38
namespace
eonc
{
39
// Referenced from makeJob so MSVC does not drop this TU from a static
40
// eonclib (anonymous-namespace registrars would never run).
41
void
forceJobRegistration
() {}
42
}
// namespace eonc
43
44
#ifdef WITH_GP_SURROGATE
45
#include "
eon/GPSurrogateJob.h
"
46
#endif
47
48
namespace
{
49
50
#define EON_REG_JOB(TYPE, CLS) \
51
const bool eon_reg_##CLS = [] { \
52
eonc::registerJob( \
53
eonc::JobType::TYPE, \
54
[](std::unique_ptr<eonc::Parameters> p, eonc::Runtime &rt) { \
55
return std::make_unique<eonc::CLS>(std::move(p), rt); \
56
}); \
57
return true; \
58
}()
59
60
EON_REG_JOB
(Process_Search, ProcessSearchJob);
61
EON_REG_JOB
(Saddle_Search, SaddleSearchJob);
62
EON_REG_JOB
(Minimization, MinimizationJob);
63
EON_REG_JOB
(Point, PointJob);
64
EON_REG_JOB
(Parallel_Replica, ParallelReplicaJob);
65
EON_REG_JOB
(Safe_Hyperdynamics, SafeHyperJob);
66
EON_REG_JOB
(TAD, TADJob);
67
EON_REG_JOB
(Replica_Exchange, ReplicaExchangeJob);
68
EON_REG_JOB
(Basin_Hopping, BasinHoppingJob);
69
EON_REG_JOB
(Hessian, HessianJob);
70
EON_REG_JOB
(Finite_Difference, FiniteDifferenceJob);
71
EON_REG_JOB
(Nudged_Elastic_Band, NudgedElasticBandJob);
72
EON_REG_JOB
(Dynamics, DynamicsJob);
73
EON_REG_JOB
(Prefactor, PrefactorJob);
74
EON_REG_JOB
(Global_Optimization, GlobalOptimizationJob);
75
EON_REG_JOB
(Structure_Comparison, StructureComparisonJob);
76
EON_REG_JOB
(Monte_Carlo, MonteCarloJob);
77
#ifdef WITH_GP_SURROGATE
78
EON_REG_JOB
(GP_Surrogate, GPSurrogateJob);
79
#endif
80
EON_REG_JOB
(OH_TST, OHTSTJob);
81
EON_REG_JOB
(Instanton, InstantonJob);
82
EON_REG_JOB
(Test, TestJob);
83
84
#undef EON_REG_JOB
85
86
}
// namespace
BasinHoppingJob.h
DynamicsJob.h
FiniteDifferenceJob.h
GPSurrogateJob.h
GlobalOptimizationJob.h
HessianJob.h
InstantonJob.h
JobRegistry.h
EON_REG_JOB
#define EON_REG_JOB(TYPE, CLS)
Definition
Job.cpp:50
Job.h
The job class is used to serve as an abstract class for all jobs, as well as to call a job at runtime...
MinimizationJob.h
MonteCarloJob.h
NudgedElasticBandJob.h
OHTSTJob.h
Optimized hyperplanar transition state theory (OH-TST).
ParallelReplicaJob.h
Parameters.h
PointJob.h
PrefactorJob.h
ProcessSearchJob.h
Finds possible escape mecahnisms from a state.
ReplicaExchangeJob.h
SaddleSearchJob.h
Finds transition states by finding saddle points on the potential energy surface.
SafeHyperJob.h
StructureComparisonJob.h
TADJob.h
TestJob.h
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:23
eonc::forceJobRegistration
void forceJobRegistration()
Definition
Job.cpp:41
client
Job.cpp
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf