8 #ifndef IMPMPI_REPLICA_EXCHANGE_H
9 #define IMPMPI_REPLICA_EXCHANGE_H
11 #include <IMP/mpi/mpi_config.h>
17 #ifndef MPICH_SKIP_MPICXX
18 #define MPICH_SKIP_MPICXX
20 #ifndef OMPI_SKIP_MPICXX
21 #define OMPI_SKIP_MPICXX
28 IMPMPI_BEGIN_NAMESPACE
46 std::map<std::string, Floats> parameters_;
50 Ints create_indexes();
53 Ints create_exarray();
55 bool get_acceptance(
double myscore,
double fscore);
57 int get_rank(
int index);
62 void set_my_parameter(std::string key,
Floats values);
64 Floats get_my_parameter(std::string key);
66 int get_friend_index(
int istep);
68 Ints get_exchange_array();
70 Floats get_friend_parameter(std::string key,
int findex);
72 bool do_exchange(
double myscore0,
double myscore1,
int findex);
75 Floats create_temperatures(
double tmin,
double tmax,
int nrep);
A class to implement Hamiltonian Replica Exchange.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Common base class for heavy weight IMP objects.
int get_my_index() const
Get replica index.
int get_number_of_replicas() const
Get number of replicas.
Include all non-deprecated headers in IMP.mpi.
A shared base class to help in debugging and things.