Loading...
Searching...
No Matches
ProcessSearchJob.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
15#include "Job.h"
16#include "Matter.h"
17#include "MinModeSaddleSearch.h"
18#include "Parameters.h"
19
20namespace eonc {
21
40
44
45class ProcessSearchJob : public Job {
46public:
48
51 ProcessSearchJob(std::unique_ptr<Parameters> parameters)
52 : Job(std::move(parameters)),
53 fCallsSaddle{0},
54 fCallsMin{0},
56
57 ~ProcessSearchJob() = default;
59 std::vector<std::string> run(void) override;
60
61private:
64 int doProcessSearch(void);
66 void printEndState(int status);
68 void saveData(int status);
69
71 std::vector<std::string> returnFiles;
72
74
78 std::unique_ptr<SaddleSearchMethod> saddleSearch;
80 std::shared_ptr<Matter> initial;
82 std::shared_ptr<Matter> saddle;
84 std::shared_ptr<Matter> displacement;
86 std::shared_ptr<Matter> min1;
88 std::shared_ptr<Matter> min2;
89
92 double barriersValues[2]{0.0, 0.0};
95 double prefactorsValues[2]{0.0, 0.0};
96
98 size_t fCallsSaddle{0};
100 size_t fCallsMin{0};
103};
104
105} // namespace eonc
106
The job class is used to serve as an abstract class for all jobs, as well as to call a job at runtime...
Job(std::unique_ptr< Parameters > parameters)
Definition Job.h:58
Declaration of the Process Search job.
std::shared_ptr< Matter > displacement
Configuration used during the saddle point search.
size_t fCallsPrefactors
Force calls to find the prefactors.
eonc::log::Scoped log
size_t fCallsMin
Force calls to minimize.
std::shared_ptr< Matter > min1
First minimum from the saddle.
ProcessSearchJob(std::unique_ptr< Parameters > parameters)
Process Search job Constructor.
std::vector< std::string > run(void) override
Kicks off the Process Search.
std::vector< std::string > returnFiles
Container for the results of the run.
~ProcessSearchJob()=default
Process Search job De-constructor.
std::shared_ptr< Matter > min2
Second minimum from the saddle.
std::shared_ptr< Matter > saddle
Configuration used during the saddle point search.
int doProcessSearch(void)
Runs the correct saddle search; also checks if the run was successful.
std::shared_ptr< Matter > initial
Initial configuration.
std::unique_ptr< SaddleSearchMethod > saddleSearch
Pulled from parameters.
size_t fCallsSaddle
Force calls to find the saddle.
void saveData(int status)
Writes the results from the run to file.
void printEndState(int status)
Logs the run status and makes sure the run was successful.
RAII resource manager for the ARTn C library with global synchronization.
RAII helper for class-scoped logging.
Definition EonLogger.h:171