Simpatico  v1.10
mcMd/potentials/pair/PairPotential.h
1 #ifndef MCMD_PAIR_POTENTIAL_H
2 #define MCMD_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/misc/EnergyCalculator.h>
12 #include <mcMd/potentials/misc/StressCalculator.h>
13 
14 // #include <util/space/Tensor.h>
15 // #include <util/misc/Setable.h>
16 
17 #include <util/global.h>
18 #include <string>
19 
20 namespace Util
21 {
22  class Vector;
23 }
24 
25 namespace McMd
26 {
27 
28  using namespace Util;
29 
36  {
37 
38  public:
39 
43  virtual ~PairPotential()
44  {}
45 
46  // Prevent hiding of inherited function
47  using EnergyCalculator::energy;
48 
50 
51 
55  virtual
56  double energy(double rsq, int iAtomType, int jAtomType) const = 0;
57 
61  virtual
62  double forceOverR(double rsq, int iAtomType, int jAtomType) const = 0;
63 
72  virtual void set(std::string name, int i, int j, double value) = 0;
73 
81  virtual double get(std::string name, int i, int j) const = 0;
82 
86  virtual double maxPairCutoff() const = 0;
87 
91  virtual std::string interactionClassName() const = 0;
92 
94 
95  };
96 
97 }
98 #endif
virtual ~PairPotential()
Destructor (does nothing)
File containing preprocessor macros for error handling.
Interface for a class that calculates a total energy.
Utility classes for scientific computation.
Definition: accumulators.mod:1
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
Interface for a Pair Potential.
Interface for a stress calculator.