All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
GREX.h
Go to the documentation of this file.
1 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2  Copyright (c) 2013 The plumed team
3  (see the PEOPLE file at the root of the distribution for a list of names)
4 
5  See http://www.plumed-code.org for more information.
6 
7  This file is part of plumed, version 2.0.
8 
9  plumed is free software: you can redistribute it and/or modify
10  it under the terms of the GNU Lesser General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  plumed is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public License
20  along with plumed. If not, see <http://www.gnu.org/licenses/>.
21 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
22 #ifndef __PLUMED_core_GREX_h
23 #define __PLUMED_core_GREX_h
24 
25 #include "WithCmd.h"
26 #include <string>
27 #include <vector>
28 
29 namespace PLMD{
30 
31 class PlumedMain;
32 class Atoms;
33 class Communicator;
34 
35 class GREX:
36  public WithCmd
37 {
43  int partner;
46  double localUNow;
47  double localUSwap;
48  std::vector<double> allDeltaBias;
49  std::string buffer;
50  int myreplica;
51 public:
52  GREX(PlumedMain&);
53  ~GREX();
54  void cmd(const std::string&key,void*val=NULL);
55  void calculate();
56  void savePositions();
57 };
58 
59 }
60 
61 #endif
Communicator & intracomm
Definition: GREX.h:39
void calculate()
Definition: GREX.cpp:162
Atoms & atoms
Definition: GREX.h:42
Communicator & intercomm
Definition: GREX.h:40
double foreignDeltaBias
Definition: GREX.h:45
Class containing wrappers to MPI.
Definition: Communicator.h:44
void savePositions()
Definition: GREX.cpp:152
Class containing atom related quantities from the MD code.
Definition: Atoms.h:45
double localDeltaBias
Definition: GREX.h:44
std::vector< double > allDeltaBias
Definition: GREX.h:48
std::string buffer
Definition: GREX.h:49
Base for classes with cmd() method.
Definition: WithCmd.h:34
GREX(PlumedMain &)
Definition: GREX.cpp:32
bool initialized
Definition: GREX.h:38
Main plumed object.
Definition: PlumedMain.h:71
int partner
Definition: GREX.h:43
void cmd(const std::string &key, void *val=NULL)
This has to be implemented in daughter classes.
Definition: GREX.cpp:57
~GREX()
Definition: GREX.cpp:48
double localUNow
Definition: GREX.h:46
int myreplica
Definition: GREX.h:50
double localUSwap
Definition: GREX.h:47
PlumedMain & plumedMain
Definition: GREX.h:41