source: src/Fragmentation/Summation/Containers/VMGData.cpp@ 3b6956

Last change on this file since 3b6956 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.6 KB
RevLine 
[2bc560]1/*
2 * Project: MoleCuilder
3 * Description: creates and alters molecular systems
4 * Copyright (C) 2012 University of Bonn. All rights reserved.
[5aaa43]5 * Copyright (C) 2013 Frederik Heber. All rights reserved.
[2bc560]6 *
7 *
8 * This file is part of MoleCuilder.
9 *
10 * MoleCuilder is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * MoleCuilder is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with MoleCuilder. If not, see <http://www.gnu.org/licenses/>.
22 */
23
24/*
25 * VMGData.cpp
26 *
27 * Created on: Aug 6, 2012
28 * Author: heber
29 */
30
31
32// include config.h
33#ifdef HAVE_CONFIG_H
34#include <config.h>
35#endif
36
37#include "CodePatterns/MemDebug.hpp"
38
39#include "VMGData.hpp"
40
41#include <iostream>
42
43VMGData::VMGData(const SamplingGridProperties &_props) :
44 sampled_potential(_props),
[e2925fd]45 nuclei_long(0.),
[94db13]46 electron_long(0.),
47 hasForces(false)
[2bc560]48{}
49
50VMGData::VMGData()
51{}
52
53std::ostream & operator<<(std::ostream &ost, const VMGData &data)
54{
[e2925fd]55 ost << "Nuclei long-Range energy: " << data.nuclei_long << std::endl;
56 ost << "Electron long-Range energy: " << data.electron_long << std::endl;
[94db13]57 ost << "Nuclei long-Range forces: " << data.forces << std::endl;
[2bc560]58 return ost;
59}
Note: See TracBrowser for help on using the repository browser.