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_COUPLING_NOMOMENTUMINSERTION_H_
6 : #define _MOLECULARDYNAMICS_COUPLING_NOMOMENTUMINSERTION_H_
7 :
8 : #include "coupling/MomentumInsertion.h"
9 : namespace coupling {
10 : template <class LinkedCell, unsigned int dim> class NoMomentumInsertion;
11 : }
12 :
13 : /** @brief dummy class. Empty momentum insertion mechanism. Doesn't change
14 : * anything.
15 : * @author Philipp Neumann
16 : * @tparam LinkedCell the LinkedCell class is given by the implementation of
17 : * linked cells in the molecular dynamics simulation
18 : * @tparam dim refers to the spacial dimension of the simulation, can be 1, 2,
19 : * or 3
20 : */
21 : template <class LinkedCell, unsigned int dim> class coupling::NoMomentumInsertion : public coupling::MomentumInsertion<LinkedCell, dim> {
22 : public:
23 : /** @brief a simple constructor
24 : * @param mdSolverInterface interface to the md solver */
25 4 : NoMomentumInsertion(coupling::interface::MDSolverInterface<LinkedCell, dim>* const mdSolverInterface)
26 4 : : MomentumInsertion<LinkedCell, dim>(mdSolverInterface) {}
27 : /** @brief a simple destructor */
28 0 : virtual ~NoMomentumInsertion() {}
29 :
30 : /** @brief returns the number of MD steps between subsequent momentum
31 : * insertions
32 : * @todo We could set this to be zero? Since it does anything
33 : * @returns the time step interval for momentum insertion */
34 0 : unsigned int getTimeIntervalPerMomentumInsertion() const override { return 1; }
35 :
36 : /** @brief a dummy function, which doesn't do anything
37 : * @param cell the coupling cell to not change */
38 0 : void insertMomentum(coupling::datastructures::CouplingCellWithLinkedCells<LinkedCell, dim>& cell, I02 idx) const override {}
39 :
40 0 : void setInnerImposition(bool enable) override {}
41 : };
42 :
43 : #endif // _MOLECULARDYNAMICS_COUPLING_NOMOMENTUMINSERTION_H_
|