1 #ifndef MCMD_LINEAR_PERTURBATION_H 2 #define MCMD_LINEAR_PERTURBATION_H 11 #include "Perturbation.h" 28 template <
class SystemType>
64 SystemType&
system()
const;
69 SystemType* systemPtr_;
78 template <
class SystemType>
85 template <
class SystemType>
92 template <
class SystemType>
97 for (
int i = 0; i < nParameters; ++i) {
106 template <
class SystemType>
108 {
return *systemPtr_; }
112 #endif // ifndef LINEAR_PERTURBATION_H virtual ~LinearPerturbation()
Destructor.
LinearPerturbation(SystemType &system, int size, int rank)
Constructor.
A Perturbation that is a linear function of a parameter.
virtual double derivative(int i) const =0
Get derivative of the Boltzmann weight W(X,p) with respect to the perturbation parameter p[i] of inde...
double parameter(int i, int id)
Get parameter i of system id.
int getNParameters() const
Gets the number of parameters per system.
SystemType & system() const
Get the associated System by reference.
Model of parameter dependence in a free energy perturbation theory.
virtual double difference(DArray< double > iPartnerParameter) const
Returns the difference W(partner) - W(current).
Single-processor Monte Carlo (MC) and molecular dynamics (MD).