Simpatico  v1.10
Ring.h
1 #ifndef SIMP_RING_H
2 #define SIMP_RING_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 * Author: Jian Qin
11 */
12 
13 #include "Species.h"
14 
15 namespace Simp
16 {
17 
18  using namespace Util;
19 
33  class Ring : public Species
34  {
35 
36  public:
37 
38  // Methods
39 
43  Ring();
44 
48  virtual ~Ring();
49 
50  protected:
51 
58  virtual int calculateAtomTypeId(int index) const = 0;
59 
68  virtual int calculateBondTypeId(int index) const = 0;
69 
70  #ifdef SIMP_ANGLE
71 
80  virtual int calculateAngleTypeId(int index) const = 0;
81  #endif
82 
83  #ifdef SIMP_DIHEDRAL
84 
93  virtual int calculateDihedralTypeId(int index) const = 0;
94  #endif
95 
104  void buildRing();
105 
106  };
107 
108 }
109 #endif
Ring()
Constructor.
Definition: Ring.cpp:18
void buildRing()
Build the chemical structure for a ring molecule.
Definition: Ring.cpp:31
Classes used by all simpatico molecular simulations.
A Species of ring polymers (abstract).
Definition: Ring.h:33
Utility classes for scientific computation.
Definition: accumulators.mod:1
virtual int calculateAtomTypeId(int index) const =0
Return the atom type id for a specific atom.
virtual int calculateAngleTypeId(int index) const =0
Return the angle type id for a specific angle.
virtual int calculateDihedralTypeId(int index) const =0
Return the dihedral type id for a specific dihedral.
virtual int calculateBondTypeId(int index) const =0
Return the bond type id for a specific bond.
virtual ~Ring()
Destructor.
Definition: Ring.cpp:25
A Species represents a set of chemically similar molecules.