Loading...
Searching...
No Matches
eonc::DynamicsJob Class Reference

#include <DynamicsJob.h>

Inheritance diagram for eonc::DynamicsJob:

Public Member Functions

 DynamicsJob (std::unique_ptr< Parameters > parameters)
 ~DynamicsJob (void)=default
std::vector< std::string > run (void)
 Virtual run; used solely for dynamic dispatch.
Public Member Functions inherited from eonc::Job
 Job (std::unique_ptr< Parameters > parameters)
 Job (std::shared_ptr< Potential > potPassed, const Parameters &parameters)
virtual ~Job ()=default
JobType getType ()

Public Attributes

std::vector< std::string > returnFiles

Additional Inherited Members

Protected Attributes inherited from eonc::Job
JobType jtype
Parameters params
std::shared_ptr< Potentialpot

Detailed Description

Definition at line 19 of file DynamicsJob.h.

Constructor & Destructor Documentation

◆ DynamicsJob()

eonc::DynamicsJob::DynamicsJob ( std::unique_ptr< Parameters > parameters)
inline

Definition at line 22 of file DynamicsJob.h.

23 : Job(std::move(parameters)) {}
Job(std::unique_ptr< Parameters > parameters)
Definition Job.h:58

◆ ~DynamicsJob()

eonc::DynamicsJob::~DynamicsJob ( void )
default

Member Function Documentation

◆ run()

std::vector< std::string > DynamicsJob::run ( void )
virtual

Virtual run; used solely for dynamic dispatch.

Implements eonc::Job.

Definition at line 22 of file DynamicsJob.cpp.

22 {
23 auto R = std::make_shared<Matter>(pot, params);
24 auto F = std::make_shared<Matter>(pot, params);
25 if (!eonc::io::io_ok(R->con2matter("pos.con"))) {
26 EONC_LOG_CRITICAL("Failed to load pos.con");
27 throw std::runtime_error("failed to load pos.con");
28 }
29 *F = *R;
30
31 auto d = std::make_unique<Dynamics>(R.get(), params);
32 d->run();
33
34 *F = *R;
35 std::string productFilename("final.con");
36 if (!eonc::io::io_ok(F->matter2con(productFilename))) {
37 EONC_LOG_ERROR("Failed to write {}", productFilename);
38 }
39
40 std::vector<std::string> returnFiles;
41 returnFiles.push_back(productFilename);
42 return returnFiles;
43}
#define EONC_LOG_ERROR(...)
Definition EonLogger.h:262
#define EONC_LOG_CRITICAL(...)
Definition EonLogger.h:268
std::vector< std::string > returnFiles
Definition DynamicsJob.h:26
std::shared_ptr< Potential > pot
Definition Job.h:55
Parameters params
Definition Job.h:54
constexpr bool io_ok(IoStatus s) noexcept
Definition ConFileIO.h:38

Member Data Documentation

◆ returnFiles

std::vector<std::string> eonc::DynamicsJob::returnFiles

Definition at line 26 of file DynamicsJob.h.


The documentation for this class was generated from the following files: