source: src/Fragmentation/Summation/Containers/MPQCDataMap.hpp@ 8eafd6

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing 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_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes 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 PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 8eafd6 was 5c867e, checked in by Frederik Heber <heber@…>, 12 years ago

Added new SetValue Eigenvalues to just add up the set of eigenvalues.

  • Property mode set to 100644
File size: 4.4 KB
Line 
1/*
2 * MPQCDataMap.hpp
3 *
4 * Created on: 28.07.2012
5 * Author: heber
6 */
7
8#ifndef MPQCDATAMAP_HPP_
9#define MPQCDATAMAP_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include <boost/fusion/container/map.hpp>
17#include <boost/mpl/list.hpp>
18
19#include "Fragmentation/Summation/Containers/MPQCDataFused.hpp"
20
21class Eigenvalues;
22class Fragment;
23class Histogram;
24class IndexedVectors;
25class SamplingGrid;
26
27/// \note: We had to split up the map because boost::fusion only allows for
28/// up to 9 template types.
29
30/** This boost::fusion map defines key-value or rather key-type pairs with
31 * which we associate all energy_t data members in MPQCData and their type.
32 *
33 * This lets us resolves any ambiguitites of types in MPQCData, e.g.
34 * to know vector<double> is forces or energy_eigenvalues.
35 *
36 */
37typedef boost::fusion::map<
38 boost::fusion::pair<MPQCDataFused::energy_total, double>
39 , boost::fusion::pair<MPQCDataFused::energy_nuclear_repulsion, double>
40 , boost::fusion::pair<MPQCDataFused::energy_electron_coulomb, double>
41 , boost::fusion::pair<MPQCDataFused::energy_electron_exchange, double>
42 , boost::fusion::pair<MPQCDataFused::energy_correlation, double>
43 , boost::fusion::pair<MPQCDataFused::energy_overlap, double>
44 , boost::fusion::pair<MPQCDataFused::energy_kinetic, double>
45 , boost::fusion::pair<MPQCDataFused::energy_hcore, double>
46 , boost::fusion::pair<MPQCDataFused::energy_eigenvalues, Eigenvalues >
47 , boost::fusion::pair<MPQCDataFused::energy_eigenhistogram, Histogram >
48> MPQCDataEnergyMap_t;
49
50typedef boost::mpl::list<
51 MPQCDataFused::energy_total,
52 MPQCDataFused::energy_nuclear_repulsion,
53 MPQCDataFused::energy_electron_coulomb,
54 MPQCDataFused::energy_electron_exchange,
55 MPQCDataFused::energy_correlation,
56 MPQCDataFused::energy_overlap,
57 MPQCDataFused::energy_kinetic,
58 MPQCDataFused::energy_hcore,
59 MPQCDataFused::energy_eigenvalues,
60 MPQCDataFused::energy_eigenhistogram
61> MPQCDataEnergyVector_t;
62
63/** This boost::fusion map defines key-value or rather key-type pairs with
64 * which we associate all forces data members in MPQCData and their type.
65 *
66 * This lets us resolves any ambiguitites of types in MPQCData, e.g.
67 * to know vector<double> is forces or energy_eigenvalues.
68 *
69 */
70typedef boost::fusion::map<
71 boost::fusion::pair<MPQCDataFused::forces, IndexedVectors >
72> MPQCDataForceMap_t;
73
74typedef boost::mpl::list<
75 MPQCDataFused::forces
76> MPQCDataForceVector_t;
77
78/** This boost::fusion map defines key-value or rather key-type pairs with
79 * which we associate all sampled_grid data members in MPQCData and their type.
80 *
81 * This lets us resolves any ambiguitites of types in MPQCData, e.g.
82 * to know vector<double> is forces or energy_eigenvalues.
83 *
84 */
85typedef boost::fusion::map<
86 boost::fusion::pair<MPQCDataFused::sampled_grid, SamplingGrid >
87> MPQCDataGridMap_t;
88
89typedef boost::mpl::list<
90 MPQCDataFused::sampled_grid
91> MPQCDataGridVector_t;
92
93/** This boost::fusion map defines key-value or rather key-type pairs with
94 * which we associate all sampled_grid data members in MPQCData and their type.
95 *
96 * This lets us resolves any ambiguitites of types in MPQCData, e.g.
97 * to know vector<double> is forces or energy_eigenvalues.
98 *
99 */
100typedef boost::fusion::map<
101 boost::fusion::pair<MPQCDataFused::fragment, Fragment >
102> MPQCDataFragmentMap_t;
103
104typedef boost::mpl::list<
105 MPQCDataFused::fragment
106> MPQCDataFragmentVector_t;
107
108/** This boost::fusion map defines key-value or rather key-type pairs with
109 * which we associate all times_t data members in MPQCData and their type.
110 *
111 * This lets us resolves any ambiguitites of types in MPQCData, e.g.
112 * to know vector<double> is forces or energy_eigenvalues.
113 *
114 */
115typedef boost::fusion::map<
116 boost::fusion::pair<MPQCDataFused::times_total_walltime, double >
117 , boost::fusion::pair<MPQCDataFused::times_total_cputime, double >
118 , boost::fusion::pair<MPQCDataFused::times_total_flops, double >
119 , boost::fusion::pair<MPQCDataFused::times_gather_walltime, double >
120 , boost::fusion::pair<MPQCDataFused::times_gather_cputime, double >
121 , boost::fusion::pair<MPQCDataFused::times_gather_flops, double >
122> MPQCDataTimeMap_t;
123
124typedef boost::mpl::list<
125 MPQCDataFused::times_total_walltime,
126 MPQCDataFused::times_total_cputime,
127 MPQCDataFused::times_total_flops,
128 MPQCDataFused::times_gather_walltime,
129 MPQCDataFused::times_gather_cputime,
130 MPQCDataFused::times_gather_flops
131> MPQCDataTimeVector_t;
132
133#endif /* MPQCDATAMAP_HPP_ */
Note: See TracBrowser for help on using the repository browser.