Simpatico  v1.10
ddMd/configIos/DdMdConfigIo.h
1 #ifndef DDMD_DDMD_CONFIG_IO_H
2 #define DDMD_DDMD_CONFIG_IO_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 <ddMd/configIos/ConfigIo.h>
12 
13 namespace DdMd
14 {
15 
16  class Simulation;
17 
18  using namespace Util;
19 
28  class DdMdConfigIo : public ConfigIo
29  {
30 
31  public:
32 
38  DdMdConfigIo(bool hasMolecules = false);
39 
46  DdMdConfigIo(Simulation& simulation, bool hasMolecules = false);
47 
63  virtual void readConfig(std::ifstream& file, MaskPolicy maskPolicy);
64 
75  virtual void writeConfig(std::ofstream& file);
76 
77  private:
78 
82  bool hasMolecules_;
83 
87  template <int N>
88  void readGroups(std::ifstream& file,
89  const char* sectionLabel, const char* nGroupLabel,
90  GroupDistributor<N>& distributor);
91 
95  template <int N>
96  int writeGroups(std::ofstream& file,
97  const char* sectionLabel, const char* nGroupLabel,
98  GroupStorage<N>& storage, GroupCollector<N>& collector);
99 
100  };
101 
102 }
103 #endif
Parallel domain decomposition (DD) MD simulation.
Main object for a domain-decomposition MD simulation.
Native / default format for configuration files.
Class for collecting Groups from processors to master processor.
Utility classes for scientific computation.
Definition: accumulators.mod:1
MaskPolicy
Enumeration of policies for suppressing ("masking") some pair interactions.
A container for all the Group<N> objects on this processor.
Abstract reader/writer for configuration files.
Class template for distributing Group<N> objects among processors.