Simpatico  v1.10
ChainMaker.h
1 #ifndef TOOLS_CHAIN_MAKER_H
2 #define TOOLS_CHAIN_MAKER_H
3 
4 #include <simp/interaction/bond/HarmonicBond.h>
5 #include <simp/boundary/Boundary.h>
6 #include <util/param/ParamComposite.h>
7 #include <util/random/Random.h>
8 #include <util/containers/DArray.h>
9 
10 #include <iostream>
11 
12 namespace Tools
13 {
14 
15  using namespace Util;
16  using namespace Simp;
17 
21  class ChainMaker : public ParamComposite
22  {
23 
24  public:
25 
26  /*
27  * Constructor
28  */
29  ChainMaker();
30 
31  /*
32  * Destructor.
33  */
34  ~ChainMaker();
35 
36  /*
37  * Read parameters from input file.
38  */
39  void readParam(std::istream& in);
40 
41  /*
42  * Write configuration.
43  */
44  void writeChains(std::ostream& out);
45 
46  /*
47  * Write configuration in default McMd format.
48  */
49  void writeChainsMcMd(std::ostream& out);
50 
51  /*
52  * Write configuration in default DdMd format.
53  */
54  void writeChainsDdMd(std::ostream& out);
55 
56  /*
57  * Write configuration in default DdMd molecular format.
58  */
59  void writeChainsDdMdMole(std::ostream& out);
60 
61  private:
62 
63  Boundary boundary_;
64  Random random_;
65  HarmonicBond bondPotential_;
66  int nAtomPerMolecule_;
67  int nMolecule_;
68  std::string outputStyle_;
69 
70  };
71 
72 }
73 #endif
An orthorhombic periodic unit cell.
Generates a simulation box full of randomly generated linear polymers.
Definition: ChainMaker.h:21
Classes used by all simpatico molecular simulations.
Utility classes for scientific computation.
Definition: accumulators.mod:1
Single-processor classes for pre- and post-processing MD trajectories.
A harmonic covalent bond potential.
Definition: HarmonicBond.h:35
Random number generator.
Definition: Random.h:46
An object that can read multiple parameters from file.