Go-model native contacts potential¶
-
namespace mdk
-
class NativeContacts : public mdk::NonlocalForce
- #include <NativeContacts.hpp>
Go model potential. It is somewhat special as it interferes with the Verlet list and with the quasi-adiabatic potential. It should go first in the list of nonlocal forces added to the simulation object.
Public Functions
-
virtual void bind(Simulation &simulation) override
Bind the force to the simulation, and also to the Verlet list.
- Parameters
simulation – Simulation to bind to.
-
virtual void asyncPart(Dynamics &dynamics) override
Asynchronous part of the force computation.
- Parameters
dynamics – Dynamics object to add potential energy and forces to.
-
virtual void vlUpdateHook() override
Action to perform when the Verlet list is updated. We want to (a) retrieve the pairs that are in native contact into a list (
curPairs
), (b) remove those pairs from the global Verlet list.
Private Functions
Private Members
-
Pairs newVL
A “copy” of the global Verlet list to be swapped with it when we update it; we want to do the swap so as to avoid excessive allocation of memory when the program runs.
-
double depth = 1.0 * eps
Depth of the Lennard-Jones potential, with which the natively connected residues interact.
-
struct Contact
- #include <NativeContacts.hpp>
A struct with contact data.
Public Members
-
int i1
First residue.
-
int i2
Second residue.
-
double r_min
Lennard-Jones potential minimal distance.
-
int i1
-
virtual void bind(Simulation &simulation) override
-
class NativeContacts : public mdk::NonlocalForce