8 #ifndef IMPMPI_REPLICA_EXCHANGE_H
9 #define IMPMPI_REPLICA_EXCHANGE_H
11 #include "mpi_config.h"
17 IMPMPI_BEGIN_NAMESPACE
35 std::map<std::string, Floats> parameters_;
39 Ints create_indexes();
42 Ints create_exarray();
44 bool get_acceptance(
double myscore,
double fscore);
46 int get_rank(
int index);
48 virtual void do_destroy() IMP_OVERRIDE { MPI_Finalize(); }
53 void set_my_parameter(std::string key,
Floats values);
55 Floats get_my_parameter(std::string key);
57 int get_friend_index(
int istep);
59 Ints get_exchange_array();
61 Floats get_friend_parameter(std::string key,
int findex);
63 bool do_exchange(
double myscore0,
double myscore1,
int findex);
66 Floats create_temperatures(
double tmin,
double tmax,
int nrep);
A class to implement Hamiltonian Replica Exchange.
int get_my_index() const
Get replica index.
int get_number_of_replicas() const
Get number of replicas.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Common base class for heavy weight IMP objects.
A container which has pairs which ensure a set is connected.
virtual void do_destroy()
A shared base class to help in debugging and things.