Collective Variables Module - Developer Documentation
Loading...
Searching...
No Matches
colvarbias_restraint.h
1// -*- c++ -*-
2
3// This file is part of the Collective Variables module (Colvars).
4// The original version of Colvars and its updates are located at:
5// https://github.com/Colvars/colvars
6// Please update all Colvars source files before making any changes.
7// If you wish to distribute your changes, please submit them to the
8// Colvars repository at GitHub.
9
10#ifndef COLVARBIAS_RESTRAINT_H
11#define COLVARBIAS_RESTRAINT_H
12
13#include "colvarbias.h"
14
15#ifdef _MSC_VER
16#pragma warning(push)
17#pragma warning(disable : 4250) // Silence diamond inheritance warning
18#endif
19
24 : public virtual colvarbias,
25 public virtual colvarbias_ti
26{
27
28public:
29
31 virtual int update();
32
34 virtual int change_configuration(std::string const & /* conf */) { return COLVARS_NOT_IMPLEMENTED; }
35
37 virtual cvm::real energy_difference(std::string const & /* conf */) { return 0.0; }
38
39 virtual std::string const get_state_params() const;
40 virtual int set_state_params(std::string const &conf);
41 virtual std::ostream & write_traj_label(std::ostream &os);
42 virtual std::ostream & write_traj(std::ostream &os);
43
45 colvarbias_restraint(char const *key);
46
47 virtual int init(std::string const &conf);
48 virtual ~colvarbias_restraint();
49
50
51protected:
52
54 virtual cvm::real restraint_potential(size_t i) const = 0;
55
57 virtual colvarvalue const restraint_force(size_t i) const = 0;
58
60 virtual cvm::real d_restraint_potential_dk(size_t i) const = 0;
61};
62
63
66 : public virtual colvarbias_restraint
67{
68public:
69
70 colvarbias_restraint_centers(char const *key);
71 virtual int init(std::string const &conf);
72 virtual int change_configuration(std::string const &conf);
73
74protected:
75
77 std::vector<colvarvalue> colvar_centers;
78};
79
80
83 : public virtual colvarbias_restraint
84{
85public:
86
87 colvarbias_restraint_k(char const *key);
88 virtual int init(std::string const &conf);
89 virtual int change_configuration(std::string const &conf);
90
91protected:
92
95
98};
99
100
103 : public virtual colvarbias_restraint,
104 public virtual colvarparse,
105 public virtual colvardeps {
106public:
107
108 colvarbias_restraint_moving(char const *key)
109 : colvarbias(key),
110 colvarbias_ti(key),
112 // Note: despite the diamond inheritance, most of this function gets only executed once
113 virtual int init(std::string const &conf) override;
114 virtual int update() override;
115 virtual int change_configuration(std::string const & /* conf */) override { return COLVARS_NOT_IMPLEMENTED; }
116
117 virtual std::string const get_state_params() const override;
118 virtual int set_state_params(std::string const &conf) override;
119
120protected:
121
123 bool b_chg_centers = false;
124
126 bool b_chg_force_k = false;
127
129 bool b_chg_walls = false;
130
132 virtual void update_k(cvm::real /* lambda */) {}
134 virtual void update_centers(cvm::real /* lambda */) {}
136 virtual void update_walls(cvm::real /* lambda */) {}
138 virtual cvm::real dU_dlambda_k() const { return 0.0; }
140 virtual cvm::real dU_dlambda_centers() const { return 0.0; }
142 virtual cvm::real dU_dlambda_walls() const { return 0.0; }
143
146
152
155 int stage = 0;
156
159
162 inline void update_stage() {
164 if (stage > target_nstages) {
166 }
167 }
168
171
173 std::vector<cvm::real> lambda_schedule;
174
178
181
184
187};
188
189
192 : public virtual colvarbias_restraint_centers,
193 public virtual colvarbias_restraint_moving
194{
195public:
196
198 virtual int init(std::string const &conf) override;
199 virtual int change_configuration(std::string const & /* conf */) override { return COLVARS_NOT_IMPLEMENTED; }
200
201 virtual std::string const get_state_params() const override;
202 virtual int set_state_params(std::string const &conf) override;
203 virtual std::ostream & write_traj_label(std::ostream &os) override;
204 virtual std::ostream & write_traj(std::ostream &os) override;
205
206protected:
207
209 std::vector<colvarvalue> target_centers;
210
212 std::vector<colvarvalue> initial_centers;
213
215 std::vector<colvarvalue> centers_incr;
216
218 void update_centers(cvm::real lambda) override;
219
221 cvm::real dU_dlambda_centers() const override;
222
225
227 int update_acc_work();
228};
229
230
233 : public virtual colvarbias_restraint_k,
234 public virtual colvarbias_restraint_moving
235{
236public:
237
238 colvarbias_restraint_k_moving(char const *key);
239 virtual int init(std::string const &conf) override;
240 virtual int change_configuration(std::string const & /* conf */) override { return COLVARS_NOT_IMPLEMENTED; }
241
242 virtual std::string const get_state_params() const override;
243 virtual int set_state_params(std::string const &conf) override;
244 virtual std::ostream & write_traj_label(std::ostream &os) override;
245 virtual std::ostream & write_traj(std::ostream &os) override;
246
247protected:
248
251
255
258
261
263 void update_k(cvm::real lambda) override;
264
266 cvm::real dU_dlambda_k() const override;
267
269 int update_acc_work();
270};
271
272
278{
279public:
280 colvarbias_restraint_harmonic(char const *key);
281 virtual int init(std::string const &conf);
282 virtual int update();
283 virtual std::string const get_state_params() const;
284 virtual int set_state_params(std::string const &conf);
285 virtual std::ostream & write_traj_label(std::ostream &os);
286 virtual std::ostream & write_traj(std::ostream &os);
287 virtual int change_configuration(std::string const &conf);
288 virtual cvm::real energy_difference(std::string const &conf);
289
290protected:
291
292 virtual cvm::real restraint_potential(size_t i) const;
293 virtual colvarvalue const restraint_force(size_t i) const;
294 virtual cvm::real d_restraint_potential_dk(size_t i) const;
295};
296
297
302{
303public:
304
306 virtual int init(std::string const &conf) override;
307 virtual int update() override;
308 virtual int update_acc_work();
309 virtual std::string const get_state_params() const override;
310 virtual int set_state_params(std::string const &conf) override;
311 virtual int change_configuration(std::string const &conf) override;
312 virtual std::ostream & write_traj_label(std::ostream &os) override;
313 virtual std::ostream & write_traj(std::ostream &os) override;
314
315protected:
316
318 std::vector<colvarvalue> lower_walls;
319
321 std::vector<colvarvalue> upper_walls;
322
325
328
330 std::vector<colvarvalue> target_lower_walls;
331
333 std::vector<colvarvalue> initial_lower_walls;
334
336 std::vector<colvarvalue> lower_walls_incr;
337
339 std::vector<colvarvalue> target_upper_walls;
340
342 std::vector<colvarvalue> initial_upper_walls;
343
345 std::vector<colvarvalue> upper_walls_incr;
346
350 cvm::real colvar_distance(size_t i) const;
351
353 void update_walls(cvm::real lambda) override;
354
356 cvm::real dU_dlambda_walls() const override;
357
358 virtual cvm::real restraint_potential(size_t i) const override;
359 virtual colvarvalue const restraint_force(size_t i) const override;
360 virtual cvm::real d_restraint_potential_dk(size_t i) const override;
361};
362
363
369{
370
371public:
372 colvarbias_restraint_linear(char const *key);
373 virtual int init(std::string const &conf);
374 virtual int update();
375 virtual int change_configuration(std::string const &conf);
376 virtual cvm::real energy_difference(std::string const &conf);
377
378 virtual std::string const get_state_params() const;
379 virtual int set_state_params(std::string const &conf);
380 virtual std::ostream & write_traj_label(std::ostream &os);
381 virtual std::ostream & write_traj(std::ostream &os);
382
383protected:
384
385 virtual cvm::real restraint_potential(size_t i) const;
386 virtual colvarvalue const restraint_force(size_t i) const;
387 virtual cvm::real d_restraint_potential_dk(size_t i) const;
388};
389
390
392// TODO this could be reimplemented more cleanly as a derived class of both restraint and histogram
394
395public:
396
397 colvarbias_restraint_histogram(char const *key);
398 int init(std::string const &conf);
400
401 virtual int update();
402
403 virtual int write_output_files();
404 virtual std::ostream & write_traj_label(std::ostream &os);
405 virtual std::ostream & write_traj(std::ostream &os);
406
407protected:
408
411
414
417
420
423
426
429
432
435};
436
437#ifdef _MSC_VER
438#pragma warning(pop)
439#endif
440
441#endif
Options to change the restraint centers over time.
Definition: colvarbias_restraint.h:194
std::vector< colvarvalue > target_centers
New restraint centers.
Definition: colvarbias_restraint.h:209
std::vector< colvarvalue > initial_centers
Initial value of the restraint centers.
Definition: colvarbias_restraint.h:212
virtual std::string const get_state_params() const override
Write the values of specific mutable properties to a string.
Definition: colvarbias_restraint.cpp:441
virtual int change_configuration(std::string const &) override
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.h:199
int update_acc_work()
Update the accumulated work.
Definition: colvarbias_restraint.cpp:423
virtual std::ostream & write_traj(std::ostream &os) override
Output quantities such as the bias energy to the trajectory file.
Definition: colvarbias_restraint.cpp:504
cvm::real dU_dlambda_centers() const override
Compute the derivative of the free energy wrt lambda due to changing centers.
Definition: colvarbias_restraint.cpp:413
std::vector< colvarvalue > centers_incr
Increment of the restraint centers at each step.
Definition: colvarbias_restraint.h:215
virtual int init(std::string const &conf) override
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:335
bool b_output_centers
Whether to write the current restraint centers to the trajectory file.
Definition: colvarbias_restraint.h:224
virtual std::ostream & write_traj_label(std::ostream &os) override
Write a label to the trajectory file (comment line)
Definition: colvarbias_restraint.cpp:485
void update_centers(cvm::real lambda) override
Update the centers by interpolating between initial and target.
Definition: colvarbias_restraint.cpp:384
virtual int set_state_params(std::string const &conf) override
Read the values of specific mutable properties from a string.
Definition: colvarbias_restraint.cpp:467
Definition and parsing of the restraint centers.
Definition: colvarbias_restraint.h:67
virtual int init(std::string const &conf)
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:105
virtual int change_configuration(std::string const &conf)
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.cpp:145
std::vector< colvarvalue > colvar_centers
Restraint centers.
Definition: colvarbias_restraint.h:77
Wall restraint (implementation of colvarbias_restraint)
Definition: colvarbias_restraint.h:302
cvm::real upper_wall_k
If both walls are defined, use this k for the upper.
Definition: colvarbias_restraint.h:327
virtual std::ostream & write_traj(std::ostream &os) override
Output quantities such as the bias energy to the trajectory file.
Definition: colvarbias_restraint.cpp:1289
cvm::real lower_wall_k
If both walls are defined, use this k for the lower.
Definition: colvarbias_restraint.h:324
std::vector< colvarvalue > target_lower_walls
Location of the target lower wall, for moving the wall.
Definition: colvarbias_restraint.h:330
virtual int update() override
Retrieve colvar values and calculate their biasing forces.
Definition: colvarbias_restraint.cpp:1157
std::vector< colvarvalue > initial_lower_walls
Initial value of the lower walls.
Definition: colvarbias_restraint.h:333
virtual int set_state_params(std::string const &conf) override
Read the values of specific mutable properties from a string.
Definition: colvarbias_restraint.cpp:1266
virtual int change_configuration(std::string const &conf) override
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.cpp:1275
virtual std::string const get_state_params() const override
Write the values of specific mutable properties to a string.
Definition: colvarbias_restraint.cpp:1258
virtual int init(std::string const &conf) override
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:852
std::vector< colvarvalue > target_upper_walls
Location of the target upper wall, for moving the wall.
Definition: colvarbias_restraint.h:339
std::vector< colvarvalue > lower_walls
Location of the lower walls.
Definition: colvarbias_restraint.h:318
virtual colvarvalue const restraint_force(size_t i) const override
Force function for the i-th colvar.
Definition: colvarbias_restraint.cpp:1241
void update_walls(cvm::real lambda) override
Update the walls by interpolating between initial and target.
Definition: colvarbias_restraint.cpp:1084
std::vector< colvarvalue > upper_walls_incr
Increment of the upper walls at each step.
Definition: colvarbias_restraint.h:345
std::vector< colvarvalue > lower_walls_incr
Increment of the lower walls at each step.
Definition: colvarbias_restraint.h:336
virtual cvm::real restraint_potential(size_t i) const override
Potential function for the i-th colvar.
Definition: colvarbias_restraint.cpp:1232
cvm::real colvar_distance(size_t i) const
Signed distance to relevant wall (lower if below, upper if above) In PBC, only sees the closer of the...
Definition: colvarbias_restraint.cpp:1196
std::vector< colvarvalue > initial_upper_walls
Initial value of upper lower walls.
Definition: colvarbias_restraint.h:342
virtual std::ostream & write_traj_label(std::ostream &os) override
Write a label to the trajectory file (comment line)
Definition: colvarbias_restraint.cpp:1281
virtual cvm::real d_restraint_potential_dk(size_t i) const override
Derivative of the potential function with respect to the force constant.
Definition: colvarbias_restraint.cpp:1249
std::vector< colvarvalue > upper_walls
Location of the upper walls.
Definition: colvarbias_restraint.h:321
cvm::real dU_dlambda_walls() const override
Compute the derivative of the free energy wrt lambda due to changing walls.
Definition: colvarbias_restraint.cpp:1143
Harmonic bias restraint (implementation of colvarbias_restraint)
Definition: colvarbias_restraint.h:278
virtual cvm::real restraint_potential(size_t i) const
Potential function for the i-th colvar.
Definition: colvarbias_restraint.cpp:748
virtual cvm::real energy_difference(std::string const &conf)
Calculate change in energy from using alternate configuration.
Definition: colvarbias_restraint.cpp:815
virtual int set_state_params(std::string const &conf)
Read the values of specific mutable properties from a string.
Definition: colvarbias_restraint.cpp:778
virtual cvm::real d_restraint_potential_dk(size_t i) const
Derivative of the potential function with respect to the force constant.
Definition: colvarbias_restraint.cpp:762
virtual int change_configuration(std::string const &conf)
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.cpp:807
virtual int init(std::string const &conf)
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:706
virtual std::ostream & write_traj_label(std::ostream &os)
Write a label to the trajectory file (comment line)
Definition: colvarbias_restraint.cpp:789
virtual std::string const get_state_params() const
Write the values of specific mutable properties to a string.
Definition: colvarbias_restraint.cpp:769
virtual colvarvalue const restraint_force(size_t i) const
Force function for the i-th colvar.
Definition: colvarbias_restraint.cpp:755
virtual int update()
Retrieve colvar values and calculate their biasing forces.
Definition: colvarbias_restraint.cpp:727
virtual std::ostream & write_traj(std::ostream &os)
Output quantities such as the bias energy to the trajectory file.
Definition: colvarbias_restraint.cpp:798
Restrain the 1D histogram of a set of variables (or of a multidimensional one)
Definition: colvarbias_restraint.h:393
int init(std::string const &conf)
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:1454
cvm::real width
Resolution of the grid.
Definition: colvarbias_restraint.h:425
virtual std::ostream & write_traj_label(std::ostream &os)
Write a label to the trajectory file (comment line)
Definition: colvarbias_restraint.cpp:1690
virtual std::ostream & write_traj(std::ostream &os)
Output quantities such as the bias energy to the trajectory file.
Definition: colvarbias_restraint.cpp:1701
cvm::vector1d< cvm::real > p_diff
Difference between probability density and reference.
Definition: colvarbias_restraint.h:416
cvm::vector1d< cvm::real > ref_p
Reference probability density.
Definition: colvarbias_restraint.h:413
cvm::real force_k
Restraint force constant.
Definition: colvarbias_restraint.h:431
cvm::real lower_boundary
Lower boundary of the grid.
Definition: colvarbias_restraint.h:419
virtual int update()
Definition: colvarbias_restraint.cpp:1569
bool b_write_histogram
Write the histogram to a file.
Definition: colvarbias_restraint.h:434
virtual int write_output_files()
Write any output files that this bias may have (e.g. PMF files)
Definition: colvarbias_restraint.cpp:1659
cvm::vector1d< cvm::real > p
Probability density.
Definition: colvarbias_restraint.h:410
cvm::real gaussian_width
Width of the Gaussians.
Definition: colvarbias_restraint.h:428
cvm::real upper_boundary
Upper boundary of the grid.
Definition: colvarbias_restraint.h:422
Options to change the restraint force constant over time.
Definition: colvarbias_restraint.h:235
cvm::real lambda_exp
Exponent for varying the force constant.
Definition: colvarbias_restraint.h:257
cvm::real dU_dlambda_k() const override
Compute the derivative of the free energy wrt lambda due to changing k.
Definition: colvarbias_restraint.cpp:605
virtual int init(std::string const &conf) override
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:541
virtual int change_configuration(std::string const &) override
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.h:240
cvm::real force_k_incr
Increment of the force constant at each step.
Definition: colvarbias_restraint.h:260
virtual std::ostream & write_traj_label(std::ostream &os) override
Write a label to the trajectory file (comment line)
Definition: colvarbias_restraint.cpp:671
virtual int set_state_params(std::string const &conf) override
Read the values of specific mutable properties from a string.
Definition: colvarbias_restraint.cpp:653
virtual std::ostream & write_traj(std::ostream &os) override
Output quantities such as the bias energy to the trajectory file.
Definition: colvarbias_restraint.cpp:681
int update_acc_work()
Update the accumulated work.
Definition: colvarbias_restraint.cpp:615
cvm::real starting_force_k
Restraint force constant at lambda = 0 (generally starting value, but is final value in the decouplin...
Definition: colvarbias_restraint.h:254
cvm::real target_force_k
Restraint force constant (target value at lambda = 1)
Definition: colvarbias_restraint.h:250
void update_k(cvm::real lambda) override
Update the force constant by interpolating between initial and target.
Definition: colvarbias_restraint.cpp:592
virtual std::string const get_state_params() const override
Write the values of specific mutable properties to a string.
Definition: colvarbias_restraint.cpp:634
Definition and parsing of the force constant.
Definition: colvarbias_restraint.h:84
cvm::real force_k
Restraint force constant.
Definition: colvarbias_restraint.h:94
virtual int init(std::string const &conf)
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:166
bool check_positive_k
Whether the force constant should be positive.
Definition: colvarbias_restraint.h:97
virtual int change_configuration(std::string const &conf)
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.cpp:177
Linear bias restraint (implementation of colvarbias_restraint)
Definition: colvarbias_restraint.h:369
virtual int update()
Retrieve colvar values and calculate their biasing forces.
Definition: colvarbias_restraint.cpp:1338
virtual std::ostream & write_traj(std::ostream &os)
Output quantities such as the bias energy to the trajectory file.
Definition: colvarbias_restraint.cpp:1434
virtual cvm::real restraint_potential(size_t i) const
Potential function for the i-th colvar.
Definition: colvarbias_restraint.cpp:1383
virtual std::string const get_state_params() const
Write the values of specific mutable properties to a string.
Definition: colvarbias_restraint.cpp:1405
virtual int set_state_params(std::string const &conf)
Read the values of specific mutable properties from a string.
Definition: colvarbias_restraint.cpp:1414
virtual std::ostream & write_traj_label(std::ostream &os)
Write a label to the trajectory file (comment line)
Definition: colvarbias_restraint.cpp:1425
virtual colvarvalue const restraint_force(size_t i) const
Force function for the i-th colvar.
Definition: colvarbias_restraint.cpp:1390
virtual int change_configuration(std::string const &conf)
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.cpp:1359
virtual int init(std::string const &conf)
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:1312
virtual cvm::real d_restraint_potential_dk(size_t i) const
Derivative of the potential function with respect to the force constant.
Definition: colvarbias_restraint.cpp:1398
virtual cvm::real energy_difference(std::string const &conf)
Calculate change in energy from using alternate configuration.
Definition: colvarbias_restraint.cpp:1366
Options to change the restraint configuration over time (shared between centers and k moving)
Definition: colvarbias_restraint.h:105
int stage
Number of current stage of the perturbation Starts at 0, goes up to target_nstages during the perturb...
Definition: colvarbias_restraint.h:155
virtual int init(std::string const &conf) override
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:184
virtual int set_state_params(std::string const &conf) override
Read the values of specific mutable properties from a string.
Definition: colvarbias_restraint.cpp:305
virtual void update_k(cvm::real)
Update the force constant by interpolating between initial and target.
Definition: colvarbias_restraint.h:132
virtual void update_walls(cvm::real)
Update the walls by interpolating between initial and target.
Definition: colvarbias_restraint.h:136
bool b_chg_centers
Moving target?
Definition: colvarbias_restraint.h:123
std::vector< cvm::real > lambda_schedule
Lambda-schedule for custom varying force constant.
Definition: colvarbias_restraint.h:173
virtual int change_configuration(std::string const &) override
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.h:115
virtual int update() override
Retrieve colvar values and calculate their biasing forces.
Definition: colvarbias_restraint.cpp:232
bool b_decoupling
Perform decoupling of the restraint? If yes, lambda goes from 1 to 0.
Definition: colvarbias_restraint.h:145
cvm::real acc_work
Accumulated work (computed when outputAccumulatedWork == true)
Definition: colvarbias_restraint.h:186
virtual cvm::real dU_dlambda_centers() const
Compute the derivative of the free energy wrt lambda due to changing centers.
Definition: colvarbias_restraint.h:140
cvm::step_number target_nsteps
Number of steps required to reach the target force constant or restraint centers.
Definition: colvarbias_restraint.h:177
virtual std::string const get_state_params() const override
Write the values of specific mutable properties to a string.
Definition: colvarbias_restraint.cpp:291
cvm::step_number first_step
Timestep at which the restraint starts moving.
Definition: colvarbias_restraint.h:183
virtual cvm::real dU_dlambda_walls() const
Compute the derivative of the free energy wrt lambda due to changing walls.
Definition: colvarbias_restraint.h:142
cvm::real dA_dlambda
Accumulating restraint FE derivative wrt lambda.
Definition: colvarbias_restraint.h:158
bool b_chg_force_k
Changing force constant?
Definition: colvarbias_restraint.h:126
void update_stage()
Update the stage number based on the current step Note: this is idempotent so multiple calls are safe...
Definition: colvarbias_restraint.h:162
bool b_chg_walls
Changing wall locations?
Definition: colvarbias_restraint.h:129
cvm::step_number target_equil_steps
Equilibration steps for restraint FE calculation through TI.
Definition: colvarbias_restraint.h:180
virtual void update_centers(cvm::real)
Update the centers by interpolating between initial and target.
Definition: colvarbias_restraint.h:134
cvm::real current_lambda() const
Get lambda value for the current stage.
Definition: colvarbias_restraint.cpp:273
virtual cvm::real dU_dlambda_k() const
Compute the derivative of the free energy wrt lambda due to changing k.
Definition: colvarbias_restraint.h:138
int target_nstages
Number of stages over which to perform the change If zero, perform a continuous change First step is ...
Definition: colvarbias_restraint.h:151
Most general definition of a colvar restraint: see derived classes for specific types (implementation...
Definition: colvarbias_restraint.h:26
virtual cvm::real d_restraint_potential_dk(size_t i) const =0
Derivative of the potential function with respect to the force constant.
virtual int set_state_params(std::string const &conf)
Read the values of specific mutable properties from a string.
Definition: colvarbias_restraint.cpp:80
virtual colvarvalue const restraint_force(size_t i) const =0
Force function for the i-th colvar.
virtual cvm::real energy_difference(std::string const &)
Calculate change in energy from using alternate configuration.
Definition: colvarbias_restraint.h:37
virtual int update()
Retrieve colvar values and calculate their biasing forces.
Definition: colvarbias_restraint.cpp:45
virtual std::string const get_state_params() const
Write the values of specific mutable properties to a string.
Definition: colvarbias_restraint.cpp:74
virtual int init(std::string const &conf)
Parse config string and (re)initialize.
Definition: colvarbias_restraint.cpp:26
virtual cvm::real restraint_potential(size_t i) const =0
Potential function for the i-th colvar.
virtual std::ostream & write_traj_label(std::ostream &os)
Write a label to the trajectory file (comment line)
Definition: colvarbias_restraint.cpp:86
virtual std::ostream & write_traj(std::ostream &os)
Output quantities such as the bias energy to the trajectory file.
Definition: colvarbias_restraint.cpp:92
virtual int change_configuration(std::string const &)
Load new configuration - force constant and/or centers only.
Definition: colvarbias_restraint.h:34
Base class for unconstrained thermodynamic-integration FE estimator.
Definition: colvarbias.h:336
Collective variable bias, base class.
Definition: colvarbias.h:23
colvarbias()
Default constructor.
Definition: colvarbias.cpp:280
Parent class for a member object of a bias, cv or cvc etc. containing features and their dependencies...
Definition: colvardeps.h:34
Arbitrary size array (one dimensions) suitable for linear algebra operations (i.e....
Definition: colvartypes.h:34
double real
Defining an abstract real number allows to switch precision.
Definition: colvarmodule.h:139
static step_number step_absolute()
Definition: colvarmodule.h:311
long long step_number
Use a 64-bit integer to store the step number.
Definition: colvarmodule.h:136
Base class containing parsing functions; all objects which need to parse input inherit from this.
Definition: colvarparse.h:27
Value of a collective variable: this is a metatype which can be set at runtime. By default it is set ...
Definition: colvarvalue.h:43