eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
GlobalOptimizationJob.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 "
EonLogger.h
"
14
#include "
Job.h
"
15
#include "
Matter.h
"
16
#include "
Parameters.h
"
17
18
#include <fstream>
19
#include <memory>
20
21
namespace
eonc
{
22
23
class
GlobalOptimizationJob
:
public
Job
{
24
public
:
25
GlobalOptimizationJob
(std::unique_ptr<Parameters> parameters)
26
:
Job
(std::move(parameters)),
27
nlmin
{0},
28
ediff
{1.E-1},
29
ekin
{5.E-2},
30
beta1
{
params
.global_optimization_options.beta},
31
beta2
{
params
.global_optimization_options.beta},
32
beta3
{1. /
params
.global_optimization_options.beta},
33
alpha1
{1. /
params
.global_optimization_options.alpha},
34
alpha2
{
params
.global_optimization_options.alpha},
35
mdmin
{
params
.global_optimization_options.
mdmin
},
36
fcallsMove
{0},
37
firstStep
{true},
38
fcallsRelax
{0},
39
monfile
{
"monitoring.dat"
},
40
earrfile
{
"earr.dat"
} {}
41
~GlobalOptimizationJob
(
void
) =
default
;
42
void
hoppingStep
(
long
,
Matter
&,
Matter
&);
43
void
decisionStep
(
Matter
&,
Matter
&);
44
void
report
(
Matter
&);
45
void
acceptRejectNPEW
(
Matter
&,
Matter
&);
46
void
acceptRejectBoltzmann
(
Matter
&,
Matter
&);
47
void
analyze
(
Matter
&,
Matter
&);
48
void
examineEscape
(
Matter
&,
Matter
&);
49
void
applyMoveFeedbackMD
(
void
);
50
void
applyDecisionFeedback
(
void
);
51
void
mdescape
(
Matter
&);
52
void
randomMove
(
Matter
&);
53
void
insert
(
Matter
&);
54
size_t
hunt
(
double
);
55
void
velopt
(
Matter
&);
56
std::vector<std::string>
run
(
void
);
57
double
beta1
;
58
double
beta2
;
59
double
beta3
;
60
double
alpha1
;
61
double
alpha2
;
62
long
mdmin
;
63
64
private
:
65
size_t
nlmin
;
66
long
fcallsMove
;
67
long
fcallsRelax
;
68
double
ediff
;
69
double
ekin
;
70
bool
firstStep
;
71
std::vector<double>
earr
;
72
std::string
escapeResult
;
73
// std::string moveFeedbackMethod;
74
// std::string decisionMethod;
75
std::string
decisionResult
;
76
std::string
hoppingResult
;
77
std::ofstream
monfile
;
78
std::ofstream
earrfile
;
79
eonc::log::Scoped
log
;
80
};
81
82
}
// namespace eonc
83
84
using
eonc::GlobalOptimizationJob
;
EonLogger.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...
Matter.h
Parameters.h
eonc::GlobalOptimizationJob
Definition
GlobalOptimizationJob.h:23
eonc::GlobalOptimizationJob::log
eonc::log::Scoped log
Definition
GlobalOptimizationJob.h:79
eonc::GlobalOptimizationJob::report
void report(Matter &)
Definition
GlobalOptimizationJob.cpp:172
eonc::GlobalOptimizationJob::insert
void insert(Matter &)
Definition
GlobalOptimizationJob.cpp:418
eonc::GlobalOptimizationJob::beta2
double beta2
Definition
GlobalOptimizationJob.h:58
eonc::GlobalOptimizationJob::escapeResult
std::string escapeResult
Definition
GlobalOptimizationJob.h:72
eonc::GlobalOptimizationJob::earr
std::vector< double > earr
Definition
GlobalOptimizationJob.h:71
eonc::GlobalOptimizationJob::analyze
void analyze(Matter &, Matter &)
Definition
GlobalOptimizationJob.cpp:88
eonc::GlobalOptimizationJob::hoppingResult
std::string hoppingResult
Definition
GlobalOptimizationJob.h:76
eonc::GlobalOptimizationJob::run
std::vector< std::string > run(void)
Virtual run; used solely for dynamic dispatch.
Definition
GlobalOptimizationJob.cpp:28
eonc::GlobalOptimizationJob::GlobalOptimizationJob
GlobalOptimizationJob(std::unique_ptr< Parameters > parameters)
Definition
GlobalOptimizationJob.h:25
eonc::GlobalOptimizationJob::velopt
void velopt(Matter &)
Definition
GlobalOptimizationJob.cpp:370
eonc::GlobalOptimizationJob::ediff
double ediff
Definition
GlobalOptimizationJob.h:68
eonc::GlobalOptimizationJob::decisionStep
void decisionStep(Matter &, Matter &)
Definition
GlobalOptimizationJob.cpp:204
eonc::GlobalOptimizationJob::examineEscape
void examineEscape(Matter &, Matter &)
Definition
GlobalOptimizationJob.cpp:125
eonc::GlobalOptimizationJob::hoppingStep
void hoppingStep(long, Matter &, Matter &)
Definition
GlobalOptimizationJob.cpp:262
eonc::GlobalOptimizationJob::alpha1
double alpha1
Definition
GlobalOptimizationJob.h:60
eonc::GlobalOptimizationJob::beta1
double beta1
Definition
GlobalOptimizationJob.h:57
eonc::GlobalOptimizationJob::monfile
std::ofstream monfile
Definition
GlobalOptimizationJob.h:77
eonc::GlobalOptimizationJob::decisionResult
std::string decisionResult
Definition
GlobalOptimizationJob.h:75
eonc::GlobalOptimizationJob::fcallsRelax
long fcallsRelax
Definition
GlobalOptimizationJob.h:67
eonc::GlobalOptimizationJob::applyDecisionFeedback
void applyDecisionFeedback(void)
Definition
GlobalOptimizationJob.cpp:164
eonc::GlobalOptimizationJob::randomMove
void randomMove(Matter &)
Definition
GlobalOptimizationJob.cpp:284
eonc::GlobalOptimizationJob::earrfile
std::ofstream earrfile
Definition
GlobalOptimizationJob.h:78
eonc::GlobalOptimizationJob::acceptRejectNPEW
void acceptRejectNPEW(Matter &, Matter &)
Definition
GlobalOptimizationJob.cpp:230
eonc::GlobalOptimizationJob::ekin
double ekin
Definition
GlobalOptimizationJob.h:69
eonc::GlobalOptimizationJob::alpha2
double alpha2
Definition
GlobalOptimizationJob.h:61
eonc::GlobalOptimizationJob::firstStep
bool firstStep
Definition
GlobalOptimizationJob.h:70
eonc::GlobalOptimizationJob::acceptRejectBoltzmann
void acceptRejectBoltzmann(Matter &, Matter &)
Definition
GlobalOptimizationJob.cpp:240
eonc::GlobalOptimizationJob::hunt
size_t hunt(double)
Definition
GlobalOptimizationJob.cpp:438
eonc::GlobalOptimizationJob::mdescape
void mdescape(Matter &)
Definition
GlobalOptimizationJob.cpp:314
eonc::GlobalOptimizationJob::~GlobalOptimizationJob
~GlobalOptimizationJob(void)=default
eonc::GlobalOptimizationJob::fcallsMove
long fcallsMove
Definition
GlobalOptimizationJob.h:66
eonc::GlobalOptimizationJob::nlmin
size_t nlmin
Definition
GlobalOptimizationJob.h:65
eonc::GlobalOptimizationJob::mdmin
long mdmin
Definition
GlobalOptimizationJob.h:62
eonc::GlobalOptimizationJob::beta3
double beta3
Definition
GlobalOptimizationJob.h:59
eonc::GlobalOptimizationJob::applyMoveFeedbackMD
void applyMoveFeedbackMD(void)
Definition
GlobalOptimizationJob.cpp:143
eonc::Job::Job
Job(std::unique_ptr< Parameters > parameters)
Definition
Job.h:58
eonc::Job::params
Parameters params
Definition
Job.h:54
eonc::Matter
Definition
Matter.h:92
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
eonc::log::Scoped
RAII helper for class-scoped logging.
Definition
EonLogger.h:171
include
eon
GlobalOptimizationJob.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf