Simpatico  v1.10
RingOctaRebridgeMove.h
1 #ifndef MCMD_RING_OCTA_REBRIDGE_MOVE_H
2 #define MCMD_RING_OCTA_REBRIDGE_MOVE_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/mcMoves/base/GroupRebridgeBase.h> // base class
12 #include <mcMd/neighbor/CellList.h> // member variable
13 
14 namespace McMd
15 {
16 
17  using namespace Util;
18 
19  class McSystem;
20  class Molecule;
21 
33  {
34 
35  public:
36 
41 
45  virtual void readParameters(std::istream& in);
46 
52  virtual void loadParameters(Serializable::IArchive& ar);
53 
59  virtual void save(Serializable::OArchive& ar);
60 
64  virtual bool move();
65 
66  protected:
67 
70 
72  double upperBridge_;
73 
75  double lowerBridge_;
76 
79 
88  bool scanBridge(Molecule* molPtr, int mId, int &molId2, int &nId);
89 
96  int modId(int id, int n);
97 
98  };
99 
100  // Private inline methods.
101 
102  inline int RingOctaRebridgeMove::modId(int id, int n)
103  {
104  if (id >= n) id = id%n;
105  if (id < 0) id = n - (-id)%n;
106  return id;
107  }
108 
109 }
110 #endif
int speciesId_
Integer index for molecular species.
A System for use in a Markov chain Monte Carlo simulation.
Definition: McSystem.h:52
double lowerBridge_
Lower bounds for trial length of a bridge.
double upperBridge_
Upper bounds for trial length of a bridge.
Saving / output archive for binary ostream.
Utility classes for scientific computation.
Definition: accumulators.mod:1
int modId(int id, int n)
Shift Atom index along a Ring.
CellList::NeighborArray neighbors_
Neighbor list around test atom.
Molecule rebridging move for a Ring species.
Saving archive for binary istream.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
A physical molecule (a set of covalently bonded Atoms).
Base class for rebridging a group of atoms forming a tetrahedron.