PROFASI
Version 1.5
|
Third-neighbour excluded volume contribution. More...
#include <LocExVol.hh>
Public Member Functions | |
void | rangeEstimate (double &x1, double &x2) |
Estimate a range in which values of this observable are expected. | |
double | evaluate () |
double | deltaE (Update *) |
do a new delta calculation optimized for the given kind of update | |
void | Accept (Update *) |
Accept a proposed update. | |
![]() | |
void | Connect (Population *pl) |
Connect the energy term with one population. | |
virtual void | set_pars (std::string pars) |
Set some adjustible parameters. | |
void | refresh () |
Overrides the virtual member from the Observable class. | |
double | value () |
return result from last calculation | |
double | deltaE () |
return result from the last energy change calculation | |
double | delta (Update *) |
Quick estimate of the change in an Observable due to an update. | |
virtual double | deltaEwithlimit (Update *updt, double maxde) |
Calculate energy change for an update, but with a stop condition. | |
virtual void | Revert (Update *) |
Reject a proposed update. | |
int | init_obs () |
All observables must implement one initialize routine. | |
![]() | |
void | set (std::string cmd) |
Give the object an instruction to process during initialization. | |
double | operator() () |
Retrieve the value of the observable. | |
double | Value () |
Retrieve the value of the observable. | |
void | disable_stats () |
Stop collecting statistical data like averages and histograms. | |
void | enable_stats () |
Start collecting statistical data like averages and histograms. | |
![]() | |
Named () | |
Create an object with name "unnamed". | |
Named (const char *st) | |
Create an object with name st given as a C string. | |
Named (std::string st) | |
Create an object with a name given as a string. | |
std::string | Name () const |
Retrive the name of an object. | |
void | Name (std::string gnm) |
Assign a new name to an object. | |
Contribution to excluded volume from "all" atom pairs separated by three covalent bonds. "All" excludes pairs with fixed distance, like in phenyl rings. All such pairs are listed during initialization, and calculation proceeds by a straight forward summation over such pairs. During an update of a single angle, at most 9 such pairs are affected. What pairs would be affected by different kinds of updates is also pre-calculated and stored. Very little needs to be done to get deltaE after an update.
In an equilibrated system this term contributes the lion's share of excluded volume energy. Because the atom pairs involved in this term can not fly apart. This term has the biggest influence on the Ramachandran angle distributions and also the side chain chi angle distributions.
By definition this term always involves atoms from the same peptide. So, it does not need to use the periodic distance measure. By design, the size of the periodic box is sufficiently large so that the different parts of a chain can not reach out and interact with their copies in a different periodic box. And atoms of one chain are always kept together, so that separation between them can not exceed the box length.
|
virtual |
PROFASI uses many local contribution matrices and backup variables to quickly evaluate the change caused to any energy term by a given update. Those backup variables and the contribution matrices need to be kept in sync with the current system configuration. So, each energy class has an accept and a reject method, which are called when an update is accepted or rejected. What is done inside these functions depends on the energy term and optimization trick used therein.
Reimplemented from prf::Energy.
|
virtual |
do a new ab initio calculation
Reimplemented from prf::Energy.
|
virtual |
The default is between 0 and 1. So, for observables with values always between 0 and 1, you need not over-write this virtual function. Sometimes the observable will have a different fixed range, determined by its definition. Sometimes the range can not be determined perfectly. In such a case, let this function just return something reasonable.
Reimplemented from prf::Energy.