Simpatico  v1.10
BoundaryAverage.h
1 #ifndef MCMD_BOUNDARY_AVERAGE_H
2 #define MCMD_BOUNDARY_AVERAGE_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/analyzers/SystemAnalyzer.h> // base class template
12 #include <mcMd/simulation/System.h> // base class template parameter
13 #include <util/accumulators/Average.h> // member template
14 #include <util/misc/FileMaster.h>
15 
16 namespace McMd
17 {
18 
19  using namespace Util;
20 
26  class BoundaryAverage : public SystemAnalyzer<System>
27  {
28 
29  public:
30 
36  BoundaryAverage(System &system);
37 
43  virtual void readParameters(std::istream& in);
44 
50  virtual void loadParameters(Serializable::IArchive& ar);
51 
57  virtual void save(Serializable::OArchive& ar);
58 
65  template <class Archive>
66  void serialize(Archive& ar, const unsigned int version);
67 
71  virtual void setup();
72 
79  virtual void sample(long iStep);
80 
84  virtual void output();
85 
86  private:
87 
89  std::ofstream outputFile_;
90 
92  DArray<Average> accumulators_;
93 
95  int nSamplePerBlock_;
96 
98  bool isInitialized_;
99 
100  };
101 
102  /*
103  * Serialize to/from an archive.
104  */
105  template <class Archive>
106  void BoundaryAverage::serialize(Archive& ar, const unsigned int version)
107  {
108  Analyzer::serialize(ar, version);
109  ar & nSamplePerBlock_;
110  ar & accumulators_;
111  }
112 
113 }
114 #endif
A set of interacting Molecules enclosed by a Boundary.
Definition: System.h:115
void serialize(Archive &ar, PairSelector &selector, const unsigned int version)
Serialize a PairSelector.
Definition: PairSelector.h:167
Saving / output archive for binary ostream.
void serialize(Archive &ar, const unsigned int version)
Serialize to/from an archive.
Utility classes for scientific computation.
Definition: accumulators.mod:1
Average of boundary lengths and volume of simulation cell.
Template for Analyzer associated with one System.
Dynamically allocatable contiguous array template.
Definition: DArray.h:31
Saving archive for binary istream.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
void serialize(Archive &ar, const unsigned int version)
Serialize to/from an archive.