Loading...
Searching...
No Matches
SaddleSearchJob.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 "HelperFunctions.h"
16#include "Job.h"
17#include "Matter.h"
18#include "MinModeSaddleSearch.h"
19#include "Parameters.h"
20#include "SaddleSearchMethod.h"
21
22namespace eonc {
23
40
44
45class SaddleSearchJob : public Job {
46public:
48
51 SaddleSearchJob(std::unique_ptr<Parameters> parameters)
52 : Job(std::move(parameters)),
53 fCallsSaddle{0} {}
54
55 ~SaddleSearchJob(void) = default;
57 std::vector<std::string> run(void);
58
59private:
61 int doSaddleSearch();
63 void printEndState(int status);
65 void saveData(int status);
66
68 std::vector<std::string> returnFiles;
69
71 std::unique_ptr<SaddleSearchMethod> saddleSearch;
73 std::shared_ptr<Matter> initial;
75 std::shared_ptr<Matter> saddle;
77 std::shared_ptr<Matter> displacement;
78
81
83};
84
85} // namespace eonc
86
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 Saddle Search job.
void saveData(int status)
Writes the results from the run to file.
std::unique_ptr< SaddleSearchMethod > saddleSearch
Initializes a ref SaddleSearchMethod (base class for polymorphism).
std::vector< std::string > returnFiles
Container for the results of the run.
std::vector< std::string > run(void)
Kicks off the Saddle Search.
std::shared_ptr< Matter > saddle
Configuration used during the saddle point search.
eonc::log::Scoped log
int fCallsSaddle
Force calls to find the saddle.
SaddleSearchJob(std::unique_ptr< Parameters > parameters)
Saddle Search job constructor.
~SaddleSearchJob(void)=default
Saddle Search Job Deconstructor.
std::shared_ptr< Matter > displacement
Configuration used during the saddle point search.
void printEndState(int status)
Logs the run status and makes sure the run was successful.
int doSaddleSearch()
Runs the correct saddle search; also checks if the run was successful.
std::shared_ptr< Matter > initial
Initial configuration.
RAII resource manager for the ARTn C library with global synchronization.
RAII helper for class-scoped logging.
Definition EonLogger.h:171