eOn client
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/MinimizationJob.h
"
19
#include "
eon/MonteCarloJob.h
"
20
#include "
eon/NudgedElasticBandJob.h
"
21
#include "
eon/OHTSTJob.h
"
22
#include "
eon/ParallelReplicaJob.h
"
23
#include "
eon/Parameters.h
"
24
#include "
eon/PointJob.h
"
25
#include "
eon/PrefactorJob.h
"
26
#include "
eon/ProcessSearchJob.h
"
27
#include "
eon/ReplicaExchangeJob.h
"
28
#include "
eon/SaddleSearchJob.h
"
29
#include "
eon/SafeHyperJob.h
"
30
#include "
eon/StructureComparisonJob.h
"
31
#include "
eon/TADJob.h
"
32
#include "
eon/TestJob.h
"
33
34
#ifdef WITH_GP_SURROGATE
35
#include "
eon/GPSurrogateJob.h
"
36
#endif
37
38
namespace
eonc::helpers
{
39
std::unique_ptr<Job>
makeJob
(std::unique_ptr<Parameters> params) {
40
switch
(params->main_options.job) {
41
using
enum
JobType
;
42
case
Process_Search
: {
43
return
(std::make_unique<ProcessSearchJob>(std::move(params)));
44
break
;
45
}
46
case
Saddle_Search
: {
47
return
(std::make_unique<SaddleSearchJob>(std::move(params)));
48
break
;
49
}
50
case
Minimization
: {
51
return
(std::make_unique<MinimizationJob>(std::move(params)));
52
break
;
53
}
54
case
Point
: {
55
return
(std::make_unique<PointJob>(std::move(params)));
56
break
;
57
}
58
case
Parallel_Replica
: {
59
return
(std::make_unique<ParallelReplicaJob>(std::move(params)));
60
break
;
61
}
62
case
Safe_Hyperdynamics
: {
63
return
(std::make_unique<SafeHyperJob>(std::move(params)));
64
break
;
65
}
66
case
TAD
: {
67
return
(std::make_unique<TADJob>(std::move(params)));
68
break
;
69
}
70
case
Replica_Exchange
: {
71
return
(std::make_unique<ReplicaExchangeJob>(std::move(params)));
72
break
;
73
}
74
case
Basin_Hopping
: {
75
return
(std::make_unique<BasinHoppingJob>(std::move(params)));
76
break
;
77
}
78
case
Hessian
: {
79
return
(std::make_unique<HessianJob>(std::move(params)));
80
break
;
81
}
82
case
Finite_Difference
: {
83
return
(std::make_unique<FiniteDifferenceJob>(std::move(params)));
84
break
;
85
}
86
case
Nudged_Elastic_Band
: {
87
return
(std::make_unique<NudgedElasticBandJob>(std::move(params)));
88
break
;
89
}
90
case
Dynamics
: {
91
return
(std::make_unique<DynamicsJob>(std::move(params)));
92
break
;
93
}
94
case
Prefactor
: {
95
return
(std::make_unique<PrefactorJob>(std::move(params)));
96
break
;
97
}
98
case
Global_Optimization
: {
99
return
(std::make_unique<GlobalOptimizationJob>(std::move(params)));
100
break
;
101
}
102
case
Structure_Comparison
: {
103
return
(std::make_unique<StructureComparisonJob>(std::move(params)));
104
break
;
105
}
106
case
Monte_Carlo
: {
107
return
(std::make_unique<MonteCarloJob>(std::move(params)));
108
break
;
109
}
110
#ifdef WITH_GP_SURROGATE
111
case
GP_Surrogate
: {
112
return
(std::make_unique<GPSurrogateJob>(std::move(params)));
113
break
;
114
}
115
#endif
116
case
OH_TST
: {
117
return
(std::make_unique<OHTSTJob>(std::move(params)));
118
}
119
default
:
120
throw
std::runtime_error(
"No known job could be constructed"
);
121
break
;
122
}
123
}
124
125
}
// namespace eonc::helpers
BasinHoppingJob.h
DynamicsJob.h
FiniteDifferenceJob.h
GPSurrogateJob.h
GlobalOptimizationJob.h
HessianJob.h
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::Dynamics
Definition
Dynamics.h:54
eonc::Hessian
Definition
Hessian.h:21
eonc::Prefactor
Definition
Prefactor.h:21
eonc::helpers
Definition
EnvHelpers.cc:5
eonc::helpers::makeJob
std::unique_ptr< Job > makeJob(std::unique_ptr< Parameters > params)
Definition
Job.cpp:39
eonc::JobType
JobType
Definition
BaseStructures.h:73
eonc::JobType::Structure_Comparison
@ Structure_Comparison
Definition
BaseStructures.h:91
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::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
client
Job.cpp
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf