Loading...
Searching...
No Matches
NudgedElasticBandJob.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 "NudgedElasticBand.h"
18#include "Parameters.h"
19
20namespace eonc {
21
22class NudgedElasticBandJob : public Job {
23
24public:
25 NudgedElasticBandJob(std::unique_ptr<Parameters> parameters)
26 : Job(std::move(parameters)),
27 fCallsNEB{0} {}
28 ~NudgedElasticBandJob(void) = default;
29 std::vector<std::string> run(void);
30
31private:
32 // functions
35
36 // variables
37 std::vector<std::string> returnFiles;
38 size_t fCallsNEB;
40};
41
42} // namespace eonc
43
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
std::vector< std::string > run(void)
Virtual run; used solely for dynamic dispatch.
void saveData(NudgedElasticBand::NEBStatus status, NudgedElasticBand *neb)
~NudgedElasticBandJob(void)=default
void printEndState(NudgedElasticBand::NEBStatus status)
std::vector< std::string > returnFiles
NudgedElasticBandJob(std::unique_ptr< Parameters > parameters)
RAII resource manager for the ARTn C library with global synchronization.
RAII helper for class-scoped logging.
Definition EonLogger.h:171