IMP logo

IMP::atom::BrownianDynamics Class Reference


Detailed Description

Simple Brownian dynamics optimizer.

The particles to be optimized must have optimizable x,y,z attributes and a non-optimizable "Stokes radius"; this optimizer assumes the score to be energy in kcal/mol, the xyz coordinates to be in angstroms and the diffusion coefficent be in cm^2/s

Particles without optimized x,y,z and nonoptimized D are skipped.

Currently, rigid bodies are not supported. The necessary information can be found at the wikipedia.

BrownianDynamics uses a SimulationParameters particle to store the parameters of the simulation. Such a particle must be passed on creation. The BrownianDynamics object will at least see updates to the SimulationParamters particle which occur before the call to BrownianDynamics::optimize() or BrownianDynamics::simulate(), changing the the parameters during optimization has undefined results.

The optimizer can either automatically determine which particles to use from the model or be passed a SingletonContainer for the particles. If such a container is passed, particles added to it during optimization state updates are handled properly.

See also:
Diffusion
Inheritance diagram for IMP::atom::BrownianDynamics:

Inheritance graph
[legend]

Public Member Functions

 BrownianDynamics (SimulationParameters si, SingletonContainer *sc=NULL)
 Create the optimizer.
virtual std::string get_type_name () const
virtual ::IMP::VersionInfo get_version_info () const
virtual Float optimize (unsigned int max_steps)
void set_minimum_feature_size (double df)
 Define the feature size of the system.
double simulate (float time_in_fs)
 Simulate until the given time in fs.

Friends

template<class T >
void IMP::internal::unref (T *)

Constructor & Destructor Documentation

IMP::atom::BrownianDynamics::BrownianDynamics ( SimulationParameters  si,
SingletonContainer sc = NULL 
)

Create the optimizer.

If sc is not null, that container will be used to find particles to move, otherwise the model will be searched.


Member Function Documentation

void IMP::atom::BrownianDynamics::set_minimum_feature_size ( double  df  ) 

Define the feature size of the system.

The time step will be scaled so that particles do not move further than this in a single step. This ensures that objects cannot pass through one another or miss important features of the force field.


The documentation for this class was generated from the following files:

Generated on Mon Mar 8 23:08:48 2010 for IMP by doxygen 1.5.8