IMP
2.0.0
The Integrative Modeling Platform
|
Implement a constraint on the Model. More...
#include <IMP/kernel/Constraint.h>
Public Member Functions | |
Constraint (Model *m, std::string name="Constraint %1%") | |
virtual void | do_after_evaluate (DerivativeAccumulator *da) |
virtual void | do_before_evaluate () |
virtual void | do_update_attributes ()=0 |
virtual void | do_update_derivatives (DerivativeAccumulator *da)=0 |
Public Member Functions inherited from IMP::kernel::ScoreState | |
ScoreState (Model *m, std::string name="ScoreState %1%") | |
void | after_evaluate (DerivativeAccumulator *accpt) |
Do post evaluation work if needed. | |
void | before_evaluate () |
Force update of the structure. | |
ContainersTemp | get_input_containers () const |
ParticlesTemp | get_input_particles () const |
ContainersTemp | get_output_containers () const |
ParticlesTemp | get_output_particles () const |
Public Member Functions inherited from IMP::kernel::ModelObject | |
ModelObject (Model *m, std::string name) | |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
Public Member Functions inherited from IMP::base::Object | |
virtual void | clear_caches () |
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. More... | |
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) |
Related Functions | |
(Note that these are not member functions.) | |
typedef IMP::base::Vector < IMP::base::WeakPointer < Constraint > > | ConstraintsTemp |
Related Functions inherited from IMP::kernel::ScoreState | |
typedef IMP::base::Vector < IMP::base::WeakPointer < ScoreState > > | ScoreStatesTemp |
Related Functions inherited from IMP::kernel::ModelObject | |
typedef IMP::base::Vector < IMP::base::WeakPointer < ModelObject > > | ModelObjectsTemp |
Related Functions inherited from IMP::base::Object | |
typedef IMP::base::Vector < IMP::base::WeakPointer < Object > > | ObjectsTemp |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::kernel::ScoreState | |
virtual void | do_update_dependencies () |
The solution model can be restricted two ways, either by penalizing "bad" conformations (a restraint) or by forcing some set of attributes to a function of other attributes (a constraint). For example, rigid bodies consisting of a number of particles could be implemented either way.
In IMP, constraints are implemented as a type of ScoreState. Before evaluation, the constraint updates the attributes of some of the particles to ensure that the constraint is satisfied. Since this update creates implicit relationships between the particles, after the derivatives are computed, the constraint can move them around to make sure the derivatives of the optimizer parameters are correct.
In general, constraints are associated with Decorator objects and created invisibly when needed.
Definition at line 50 of file kernel/Constraint.h.
|
related |
Pass a set of objects.
Definition at line 70 of file kernel/Constraint.h.