Adds a linear biasing potential on one or more variables satisfing maximum entropy principle. .
Add a linear biasing potential on one or more variables f_{i}\left(\boldsymbol{x}\right) satisfying the maximum entropy principle as proposed in Ref. \cite cesari2016maxent .
\warning
\warning
Notice that syntax is still under revision and might change
Notice that syntax is still under revision and might change
...
@@ -57,11 +57,11 @@ The resulting biasing potential is given by:
...
@@ -57,11 +57,11 @@ The resulting biasing potential is given by:
The value of \f$ \xi(\lambda,t)\f$ is written in output variable _error.
The value of \f$ \xi(\lambda,t)\f$ is written in output as a component named: argument name followed by the string _error.
Setting \f$ \sigma =0\f$ is equivalent to enforce a pure Maximum Entropy restraint without any noise modelling.
Setting \f$ \sigma =0\f$ is equivalent to enforce a pure Maximum Entropy restraint without any noise modelling.
This method can be also used to enforce inequality restraint as shown in following examples.
This method can be also used to enforce inequality restraint as shown in following examples.
...
@@ -83,8 +83,8 @@ This method can be also used to enforce inequality restraint as shown in followi
...
@@ -83,8 +83,8 @@ This method can be also used to enforce inequality restraint as shown in followi
The following input tells plumed to restrain the distance between atoms 7 and 15
The following input tells plumed to restrain the distance between atoms 7 and 15
and the distance between atoms 2 and 19, at different equilibrium
and the distance between atoms 2 and 19, at different equilibrium
values, and to print the energy of the restraint.
values, and to print the energy of the restraint.
Lagrangian multiplier will be printed on a file called restraint.LAGMULT with a stride setted by the variable PACE to 200ps.
Lagrangian multiplier will be printed on a file called restraint.LAGMULT with a stride set by the variable PACE to 200ps.
Morover plumed will compute the average of each lagrangian multiplier from TSTART until TEND when it will stop updating lambda and will it's average.
Moreover plumed will compute the average of each lagrangian multiplier in the window [TSTART,TEND] and use that to continue the simulations with fixed Lagrangian multipliers.
\plumedfile
\plumedfile
DISTANCE ATOMS=7,15 LABEL=d1
DISTANCE ATOMS=7,15 LABEL=d1
DISTANCE ATOMS=2,19 LABEL=d2
DISTANCE ATOMS=2,19 LABEL=d2
...
@@ -99,8 +99,9 @@ TSTART=100
...
@@ -99,8 +99,9 @@ TSTART=100
TEND=500
TEND=500
LABEL=restraint
LABEL=restraint
PRINT ARG=restraint.bias
PRINT ARG=restraint.bias
... MAXENT
\endplumedfile
\endplumedfile
Lagrangian multipliers will be printed on a file called
Lagrangian multipliers will be printed on a file called restraint.bias
The following input tells plumed to restrain the distance between atoms 7 and 15
The following input tells plumed to restrain the distance between atoms 7 and 15
to be greater than 0.2 and to print the energy of the restraint
to be greater than 0.2 and to print the energy of the restraint
keys.add("optional","TSTART","time in ps from where to start averaging the Lagrangian multiplier. By default no average is computed, hence lambda is updated every PACE steps");
keys.add("optional","TSTART","time in ps from where to start averaging the Lagrangian multiplier. By default no average is computed, hence lambda is updated every PACE steps");
keys.add("optional","TEND","time in ps where to stop to compute the average of Lagrangian multiplier. From this time until the end of the simulation Lagrangian multipliers are kept fix to the average computed between TSTART and TEND;");
keys.add("optional","TEND","time in ps where to stop to compute the average of Lagrangian multiplier. From this time until the end of the simulation Lagrangian multipliers are kept fix to the average computed between TSTART and TEND;");
keys.add("optional","ALFA","default=1.0; To be used with LAPLACE KEYWORD, allows to choose a prior function proportional to a Gaussian times an exponential function. ALFA=1 correspond to the LAPLACE prior.");
keys.add("optional","ALPHA","default=1.0; To be used with LAPLACE KEYWORD, allows to choose a prior function proportional to a Gaussian times an exponential function. ALPHA=1 correspond to the LAPLACE prior.");
keys.add("compulsory","AT","the position of the restraint");
keys.add("compulsory","AT","the position of the restraint");
keys.add("optional","SIGMA","The typical erros expected on observable");
keys.add("optional","SIGMA","The typical erros expected on observable");
keys.add("optional","FILE","File where to write lagrangian multipliers. The default name is the name of the label followed by the string .LAGMULT ");
keys.add("optional","FILE","Lagrangian multipliers output file. The default name is: label name followed by the string .LAGMULT ");
keys.add("optional","LEARN_REPLICA","In a multiple replica environment specify which is the reference replica");
keys.add("optional","LEARN_REPLICA","In a multiple replica environment specify which is the reference replica. By default replica 0 will be used.");
keys.add("optional","APPLY_WEIGHTS","Vector of weights containing 1 in correspondece of each replica that will receive the lagrangian multiplier from the current one");
keys.add("optional","APPLY_WEIGHTS","Vector of weights containing 1 in correspondece of each replica that will receive the lagrangian multiplier from the current one.");
keys.add("optional","PACE","the frequency for Lagrangian multiplier update");
keys.add("optional","PACE","the frequency for Lagrangian multipliers update");
keys.add("optional","PRINT_STRIDE","the frequency for Lagrangian multipliers printing. If no STRIDE is passed they are written every time they are updated (PACE).");
keys.add("optional","PRINT_STRIDE","stride of Lagrangian multipliers output file. If no STRIDE is passed they are written every time they are updated (PACE).");
keys.add("optional","FMT","specify format for Lagrangian multipliers files (useful for decrease the number of digits in regtests)");
keys.add("optional","FMT","specify format for Lagrangian multipliers files (usefulf to decrease the number of digits in regtests)");
keys.addFlag("REWEIGHT",false,"to be used with plumed driver in order to reweight a trajectory a posteriori");
keys.addFlag("REWEIGHT",false,"to be used with plumed driver in order to reweight a trajectory a posteriori");
keys.addFlag("NO_BROADCAST",false,"If active will avoid Lagrangian multipliers to be comunicated to other replicas.");
keys.addFlag("NO_BROADCAST",false,"If active will avoid Lagrangian multipliers to be comunicated to other replicas.");
keys.add("optional","TEMP","the system temperature. This is required if you are reweighting.");
keys.add("optional","TEMP","the system temperature. This is required if you are reweighting.");