Simpatico  v1.10
MdPairPotential.h
1 #ifndef MCMD_MD_PAIR_POTENTIAL_H
2 #define MCMD_MD_PAIR_POTENTIAL_H
3 
4 /*
5 * Simpatico - Simulation Package for Polymeric and Molecular Liquids
6 *
7 * Copyright 2010 - 2017, The Regents of the University of Minnesota
8 * Distributed under the terms of the GNU General Public License.
9 */
10 
11 #include <mcMd/potentials/pair/PairPotential.h> // base class
12 #include <mcMd/simulation/SystemInterface.h> // base class
13 #include <mcMd/neighbor/PairList.h> // member
14 
15 #include <util/param/ParamComposite.h> // base class
16 #include <util/global.h>
17 
18 namespace Util
19 {
20  class Vector;
21  class Tensor;
22 }
23 
24 namespace McMd
25 {
26 
27  using namespace Util;
28 
29  class System;
30 
37  protected SystemInterface
38  {
39 
40  public:
41 
45  MdPairPotential(System& system);
46 
50  virtual ~MdPairPotential();
51 
60  virtual void addForces() = 0;
61 
63 
64 
73  void buildPairList();
74 
82  bool isPairListCurrent();
83 
87  void clearPairListStatistics();
88 
92  const PairList& pairList() const;
93 
95 
96  protected:
97 
100 
101  };
102 
103  // Inline functions
104 
105  /*
106  * Return PairList by reference.
107  */
108  inline const PairList& MdPairPotential::pairList() const
109  { return pairList_; }
110 
111 }
112 #endif
An interface to a System.
A Verlet neighbor list.
A set of interacting Molecules enclosed by a Boundary.
Definition: System.h:115
File containing preprocessor macros for error handling.
Utility classes for scientific computation.
Definition: accumulators.mod:1
PairList pairList_
Verlet neighbor pair list for nonbonded interactions.
An PairPotential for MD simulation.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
Interface for a Pair Potential.
An object that can read multiple parameters from file.