Simpatico  v1.10
Homopolymer.h
1 #ifndef SIMP_HOMOPOLYMER_H
2 #define SIMP_HOMOPOLYMER_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 "Linear.h"
12 
13 namespace Simp
14 {
15 
16  using namespace Util;
17 
34  class Homopolymer : public Linear
35  {
36 
37  public:
38 
39  /*
40  * Default constructor.
41  */
42  Homopolymer();
43 
44  /*
45  * Destructor.
46  */
47  virtual ~Homopolymer()
48  {}
49 
55  virtual void save(Serializable::OArchive &ar);
56 
57  protected:
58 
62  int atomType_;
63 
67  int bondType_;
68 
69  #ifdef SIMP_ANGLE
70 
74  #endif
75 
76  #ifdef SIMP_DIHEDRAL
77 
81  #endif
82 
88  virtual void readSpeciesParam(std::istream &in);
89 
95  virtual void loadSpeciesParam(Serializable::IArchive &ar);
96 
103  virtual int calculateAtomTypeId(int index) const;
104 
111  virtual int calculateBondTypeId(int index) const;
112 
113  #ifdef SIMP_ANGLE
114 
120  virtual int calculateAngleTypeId(int index) const;
121  #endif
122 
123  #ifdef SIMP_DIHEDRAL
124 
130  virtual int calculateDihedralTypeId(int index) const;
131  #endif
132 
133  };
134 
135 }
136 #endif
virtual void loadSpeciesParam(Serializable::IArchive &ar)
Load species structure from an Archive.
Definition: Homopolymer.cpp:74
virtual int calculateBondTypeId(int index) const
Return same bond type for any bond in any chain.
Classes used by all simpatico molecular simulations.
Saving / output archive for binary ostream.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
virtual int calculateDihedralTypeId(int index) const
Return same dihedral type for any dihedral in any chain.
virtual void readSpeciesParam(std::istream &in)
Read nAtom_ and the chain type.
Definition: Homopolymer.cpp:33
Utility classes for scientific computation.
Definition: accumulators.mod:1
virtual int calculateAtomTypeId(int index) const
Return the same type for any particle in any chain.
int angleType_
Angle type id for every angle of this species.
Definition: Homopolymer.h:73
A Homopolymer species of chain molecules.
Definition: Homopolymer.h:34
Saving archive for binary istream.
int bondType_
Bond type id for every bond of this species.
Definition: Homopolymer.h:67
int atomType_
Particle type id for every particle of every molecule of this species.
Definition: Homopolymer.h:62
virtual int calculateAngleTypeId(int index) const
Return same angle type for any angle in any chain.
A Species of linear polymers (abstract).
Definition: Linear.h:36
int dihedralType_
Dihedral type id for every dihedral of this species.
Definition: Homopolymer.h:80