Simpatico  v1.10
HomoRing.h
1 #ifndef SIMP_HOMO_RING_H
2 #define SIMP_HOMO_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 "Ring.h"
14 
15 namespace Simp
16 {
17 
18  using namespace Util;
19 
29  class HomoRing : public Ring
30  {
31 
32  public:
33 
35  HomoRing();
36 
38  virtual ~HomoRing()
39  {}
40 
46  virtual void save(Serializable::OArchive &ar);
47 
48  protected:
49 
53  int type_;
54 
60  virtual void readSpeciesParam(std::istream &in);
61 
67  virtual void loadSpeciesParam(Serializable::IArchive &ar);
68 
75  virtual int calculateAtomTypeId(int index) const;
76 
83  virtual int calculateBondTypeId(int index) const;
84 
85  #ifdef SIMP_ANGLE
86 
95  virtual int calculateAngleTypeId(int index) const;
96  #endif
97 
98  #ifdef SIMP_DIHEDRAL
99 
108  virtual int calculateDihedralTypeId(int index) const;
109  #endif
110 
111  };
112 
113 }
114 #endif
Classes used by all simpatico molecular simulations.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
Definition: HomoRing.cpp:60
A Species of ring polymers (abstract).
Definition: Ring.h:33
Saving / output archive for binary ostream.
virtual int calculateBondTypeId(int index) const
Return same bond type for any bond in any loop.
Definition: HomoRing.cpp:77
virtual int calculateDihedralTypeId(int index) const
Return same dihedral type for any homogeneous ring.
Definition: HomoRing.cpp:92
Utility classes for scientific computation.
Definition: accumulators.mod:1
virtual ~HomoRing()
Destructor.
Definition: HomoRing.h:38
virtual int calculateAngleTypeId(int index) const
Return same angle type for any homogeneous ring.
Definition: HomoRing.cpp:84
int type_
Particle type id for every particle of every molecule of this species.
Definition: HomoRing.h:53
virtual void readSpeciesParam(std::istream &in)
Read nAtom_ and the loop type.
Definition: HomoRing.cpp:26
Saving archive for binary istream.
HomoRing()
Default constructor.
Definition: HomoRing.cpp:18
virtual void loadSpeciesParam(Serializable::IArchive &ar)
Load species structure from an Archive.
Definition: HomoRing.cpp:43
A species of homogeneous ring molecules.
Definition: HomoRing.h:29
virtual int calculateAtomTypeId(int index) const
Return the same type for any particle in any loop.
Definition: HomoRing.cpp:71