Lennard-Jones score between a pair of particles.
The two particles in the pair must be LennardJones particles. The form of the potential is
where
is the depth of the well between the two particles,
the sum of the particles' radii,
the interparticle distance, and
and
the weights on the repulsive and attractive parts of the potential respectively; both weights are 1.0 by default.
The well depth is the geometric mean of the individual particles' well depths (as extracted by LennardJones::get_well_depth).
Note that because this score uses radii and well depths set in the particles themselves, the strength of the interaction cannot be changed for a particular pair of atoms (as is done in the CHARMM forcefield with the rarely-used NBFIX directive, for example). If the well depth or radius of a single particle is modifed, that will affect its interaction with all particles.
Examples: charmm forcefield verbose, charmm forcefield
Inheritance diagram for IMP::atom::LennardJonesPairScore:Public Member Functions | |
| LennardJonesPairScore (SmoothingFunction *f) | |
| double | get_attractive_weight () const |
| double | get_repulsive_weight () const |
| void | set_attractive_weight (double attractive_weight) |
| void | set_repulsive_weight (double repulsive_weight) |
Public Member Functions inherited from IMP::PairScore | |
| PairScore (std::string name="PairScore %1%") | |
| Restraints | create_current_decomposition (const ParticlePair &vt) const |
| virtual double | evaluate (const ParticlePair &vt, DerivativeAccumulator *da) const =0 |
| Compute the score and the derivative if needed. | |
| virtual double | evaluate (const ParticlePairsTemp &o, DerivativeAccumulator *da) const |
| virtual double | evaluate_if_good_index (Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da, double max) const |
| Compute the score and the derivative if needed. | |
| virtual double | evaluate_if_good_indexes (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da, double max) const |
| virtual double | evaluate_index (Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da) const |
| Compute the score and the derivative if needed. | |
| virtual double | evaluate_indexes (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da) const |
| virtual ContainersTemp | get_input_containers (Particle *p) const =0 |
| virtual ParticlesTemp | get_input_particles (Particle *p) const =0 |
Public Member Functions inherited from IMP::base::Object | |
| std::size_t | __hash__ () const |
| virtual std::string | get_type_name () const =0 |
| Return a string identifying the type of the object. | |
| virtual IMP::base::VersionInfo | get_version_info () const =0 |
| Get information about the module and version of the object. | |
| void | set_check_level (CheckLevel l) |
| void | set_log_level (LogLevel l) |
| Set the logging level used in this object. | |
| void | set_was_used (bool tf) const |
| void | show (std::ostream &out=std::cout) const |
| const std::string & | get_name () const |
| void | set_name (std::string name) |
Static Public Member Functions | |
| static LennardJonesPairScore * | get_from (IMP::base::Object *o) |
Additional Inherited Members | |
Public Types inherited from IMP::PairScore | |
| typedef ParticlePair | Argument |
| typedef ParticleIndexPair | IndexArgument |