Line data Source code
1 : // Copyright (C) 2015 Technische Universitaet Muenchen
2 : // This file is part of the Mamico project. For conditions of distribution
3 : // and use, please see the copyright notice in Mamico's main folder, or at
4 : // www5.in.tum.de/mamico
5 : #ifndef _MOLECULARDYNAMICS_CELLMAPPINGS_RESETPOTENTIALENERGYMAPPING_H_
6 : #define _MOLECULARDYNAMICS_CELLMAPPINGS_RESETPOTENTIALENERGYMAPPING_H_
7 :
8 : #include "simplemd/LinkedCell.h"
9 : #include <Kokkos_Core.hpp>
10 :
11 : namespace simplemd {
12 : namespace cellmappings {
13 : class ResetPotentialEnergyMapping;
14 : }
15 : } // namespace simplemd
16 :
17 : /** resets the potential energy for all molecules within a certain linked cell.
18 : * @author Philipp Neumann
19 : */
20 : class simplemd::cellmappings::ResetPotentialEnergyMapping {
21 : public:
22 0 : ResetPotentialEnergyMapping() : _zero(0.0) {}
23 0 : ~ResetPotentialEnergyMapping() {}
24 :
25 : void beginCellIteration() {}
26 : void endCellIteration() {}
27 0 : KOKKOS_FUNCTION void handleCell(LinkedCell& cell) const {
28 0 : for (auto it = cell.begin(); it != cell.end(); it++) {
29 0 : it->setPotentialEnergy(_zero);
30 : }
31 0 : }
32 :
33 : static const bool IsParallel = true;
34 :
35 : private:
36 : const double _zero;
37 : };
38 :
39 : #endif // _MOLECULARDYNAMICS_CELLMAPPINGS_RESETPOTENTIALENERGYMAPPING_H_
|