source: src/Jobs/VMGDebugGridJob.hpp@ c1948c

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_StructOpt_integration_tests Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion GeometryObjects Gui_displays_atomic_force_velocity IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks RotateToPrincipalAxisSystem_UndoRedo StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps Ubuntu_1604_changes stable
Last change on this file since c1948c 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.