source: src/Jobs/VMGDebugGridJob.hpp@ ff4fff9

CombiningParticlePotentialParsing
Last change on this file since ff4fff9 was f6c19d, checked in by Frederik Heber <heber@…>, 11 years ago

InterfaceVMGDebugJob now also uses optionally open boundary (FAS instead of CS).

  • VMGDebugGridJob has parameter OpenBoundaryConditions.
  • VMGDebugGridFragmentController uses parameter when instantiating VMGDebugGridJobs.
  • Property mode set to 100644
File size: 2.0 KB
Line 
1/*
2 * VMGDebugGridJob.hpp
3 *
4 * Created on: Aug 31, 2012
5 * Author: heber
6 */
7
8#ifndef VMGDEBUGGRIDJOB_HPP_
9#define VMGDEBUGGRIDJOB_HPP_
10
11
12// include config.h
13#ifdef HAVE_CONFIG_H
14#include <config.h>
15#endif
16
17#include "boost/serialization/export.hpp"
18#include "boost/serialization/vector.hpp"
19
20#include "JobMarket/Jobs/FragmentJob.hpp"
21#include "Fragmentation/Summation/SetValues/SamplingGrid.hpp"
22
23#include <vector>
24
25/** This class encapsulates a Debug Grid Job.
26 *
27 * VMGDebugGridJob just stores the sampled grid into a VMG job and lets VMG
28 * print the grid in a VTK compatible format to make use of its grid_viewer
29 * for debugging purposes.
30 *
31 */
32class VMGDebugGridJob : public FragmentJob
33{
34public:
35 /** Constructor for class VMGDebugGridJob.
36 *
37 * @param _JobId id of the job
38 * @param _density_grid sampled electron charge density from short-range solutions
39 * @param OpenBoundaryConditions states whether we have open (true) or periodic
40 * (false) boundary conditions
41 */
42 VMGDebugGridJob(const JobId_t _JobId,
43 const SamplingGrid &density_grid,
44 const bool _OpenBoundaryConditions = false);
45 virtual ~VMGDebugGridJob();
46
47 FragmentResult::ptr Work();
48
49private:
50 void InitVMG();
51
52private:
53 //!> sampled density required as input
54 const SamplingGrid density_grid;
55 //!> states whether we have open (true) or periodic (false) boundary conditions
56 const bool OpenBoundaryConditions;
57
58private:
59 /** private default cstor for serialization only
60 */
61 VMGDebugGridJob();
62
63 friend class boost::serialization::access;
64 // serialization
65 template <typename Archive>
66 void serialize(Archive& ar, const unsigned int version)
67 {
68 ar & boost::serialization::base_object<FragmentJob>(*this);
69 ar & const_cast< SamplingGrid &>(density_grid);
70 }
71};
72
73// we need to give this class a unique key for serialization
74// its is only serialized through its base class FragmentJob
75BOOST_CLASS_EXPORT_KEY(VMGDebugGridJob)
76
77#endif /* VMGDEBUGGRIDJOB_HPP_ */
Note: See TracBrowser for help on using the repository browser.