Simpatico  v1.10
Linear.h
1 #ifndef SIMP_LINEAR_H
2 #define SIMP_LINEAR_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 "Species.h"
12 
13 namespace Simp
14 {
15 
16  using namespace Util;
17 
18  class System;
19  class CellList;
20  class BondPotential;
21  class Molecule;
22 
36  class Linear : public Species
37  {
38 
39  public:
40 
44  Linear();
45 
49  virtual ~Linear();
50 
51  protected:
52 
53  #ifdef SIMP_ANGLE
54 
58  #endif
59 
60  #ifdef SIMP_DIHEDRAL
61 
65  #endif
66 
78  virtual int calculateAtomTypeId(int index) const = 0;
79 
88  virtual int calculateBondTypeId(int index) const = 0;
89 
90  #ifdef SIMP_ANGLE
91 
99  virtual int calculateAngleTypeId(int index) const = 0;
100  #endif
101 
102  #ifdef SIMP_DIHEDRAL
103 
111  virtual int calculateDihedralTypeId(int index) const = 0;
112  #endif
113 
122  void buildLinear();
123 
124  };
125 
126 }
127 #endif
virtual int calculateDihedralTypeId(int index) const =0
Return the dihedral type id for a specific dihedral.
virtual int calculateAngleTypeId(int index) const =0
Return the angle type id for a specific angle.
Classes used by all simpatico molecular simulations.
Linear()
Constructor.
Definition: Linear.cpp:20
virtual int calculateBondTypeId(int index) const =0
Return the bond type id for a specific bond.
int hasAngles_
Does this chain have angle potentials (0 = false, 1 = true).
Definition: Linear.h:57
Utility classes for scientific computation.
Definition: accumulators.mod:1
int hasDihedrals_
Does this chain have dihedral potentials (0 = false, 1 = true).
Definition: Linear.h:64
void buildLinear()
Build the chemical structure for a linear molecule.
Definition: Linear.cpp:39
virtual int calculateAtomTypeId(int index) const =0
Return the atom type id for a specific atom.
A Species represents a set of chemically similar molecules.
virtual ~Linear()
Destructor.
Definition: Linear.cpp:33
A Species of linear polymers (abstract).
Definition: Linear.h:36