Candidate_v1.7.0
        stable
      
      
        
          | Last change
 on this file since e70818 was             94db13, checked in by Frederik Heber <heber@…>, 10 years ago | 
        
          | 
Again changes to obtain correct longrange forces, also forces are optional.
 renamed particle_forces -> forces to make it consistent with MPQCData_Fused.
MPQCData_Fused and VMGData_Fused are structs and no longer namespace as the
latter cannot serve as template arguments.
split off forces in VMGData into VMGDataForceMap_t and VMGDataForceVector_t.
changed ConvertMPQCDataToForceMap() into template function
ConvertDataToForceMap(), working also on VMGDataForceMap_t.
this required changes in FragmentationShortRangeResults.
FragmentationLongRangeResults now also converts the longrange forces
correctly.
AnalyseFragmentResults now prints also a ..VMGForces.dat file.
VMGData's forces are now optional to some degree and analysis chain can deal
with it.
introducing forces we must still maintain working code when results without
forces are calculated (e.g. as in the regression tests). Hence, a boolean
im VMGData and FragmentationLongRangeResults states whether forces have been
found or not and whether these should be summed up or not subsequently.
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            1.3 KB | 
      
      
| Line |  | 
|---|
| 1 | /* | 
|---|
| 2 | * MPQCDataFused.hpp | 
|---|
| 3 | * | 
|---|
| 4 | *  Created on: 28.07.2012 | 
|---|
| 5 | *      Author: heber | 
|---|
| 6 | */ | 
|---|
| 7 |  | 
|---|
| 8 | #ifndef MPQCDATAFUSED_HPP_ | 
|---|
| 9 | #define MPQCDATAFUSED_HPP_ | 
|---|
| 10 |  | 
|---|
| 11 | // include config.h | 
|---|
| 12 | #ifdef HAVE_CONFIG_H | 
|---|
| 13 | #include <config.h> | 
|---|
| 14 | #endif | 
|---|
| 15 |  | 
|---|
| 16 | /** This namespace contains a key for each data member in MPQCData. | 
|---|
| 17 | * | 
|---|
| 18 | * We need these keys as enumeration of the data members to allow | 
|---|
| 19 | * generic algorithms to work on it. | 
|---|
| 20 | * | 
|---|
| 21 | * \note forward declarations are not enough as we need the true (but empty) | 
|---|
| 22 | * instance when going throughb the list with boost::mpl::for_each. | 
|---|
| 23 | */ | 
|---|
| 24 | struct MPQCDataFused { | 
|---|
| 25 | // keys for energy_t | 
|---|
| 26 | struct energy_total {}; | 
|---|
| 27 | struct energy_nuclear_repulsion {}; | 
|---|
| 28 | struct energy_electron_coulomb {}; | 
|---|
| 29 | struct energy_electron_exchange {}; | 
|---|
| 30 | struct energy_correlation {}; | 
|---|
| 31 | struct energy_overlap {}; | 
|---|
| 32 | struct energy_kinetic {}; | 
|---|
| 33 | struct energy_hcore {}; | 
|---|
| 34 | struct energy_eigenvalues {}; | 
|---|
| 35 | struct energy_eigenhistogram {}; | 
|---|
| 36 |  | 
|---|
| 37 | // keys for forces | 
|---|
| 38 | struct forces {}; | 
|---|
| 39 |  | 
|---|
| 40 | // keys for sampled_grid | 
|---|
| 41 | struct sampled_grid {}; | 
|---|
| 42 |  | 
|---|
| 43 | // keys for fragment | 
|---|
| 44 | struct fragment {}; | 
|---|
| 45 |  | 
|---|
| 46 | // keys for times_t | 
|---|
| 47 | struct times_total_walltime {}; | 
|---|
| 48 | struct times_total_cputime {}; | 
|---|
| 49 | struct times_total_flops {}; | 
|---|
| 50 | struct times_gather_walltime {}; | 
|---|
| 51 | struct times_gather_cputime {}; | 
|---|
| 52 | struct times_gather_flops {}; | 
|---|
| 53 | }; | 
|---|
| 54 |  | 
|---|
| 55 |  | 
|---|
| 56 | #endif /* MPQCDATAFUSED_HPP_ */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.